Jump to content
  • 0

Casting Skill knockback when walking


Bringer

Question


  • Group:  Members
  • Topic Count:  162
  • Topics Per Day:  0.04
  • Content Count:  742
  • Reputation:   47
  • Joined:  03/12/14
  • Last Seen:  

I dont know if its a problem or not but i detected a knockback when the character walks and inmmediatly you cast or use a skill, the character backs to the last cell

 

Ive trried several client versions, same happens in every client (2013,2014.2015)

 

here is a video of the problem

 

https://youtu.be/9jDozZF5f1Q

 

HOW to Remove this Knockback Problem?

 

@Stolao

@Playtester

Link to comment
Share on other sites

3 answers to this question

Recommended Posts

  • 1

  • Group:  Developer
  • Topic Count:  34
  • Topics Per Day:  0.01
  • Content Count:  804
  • Reputation:   230
  • Joined:  01/30/13
  • Last Seen:  

It's not a knockback, the server just send you the correct coordinates so there is no position lag.

If you rather want position lag you have to stop the client from sending fixpos packets when using a skill. This can be done by calling "unit_stop_walking" without the "1" bitset.

For example here (unit.c):

	if(!ud->state.running) // Need TK_RUN or WUGDASH handler to be done before that, see bugreport:6026
		unit_stop_walking(src, 1); // Even though this is not how official works but this will do the trick. bugreport:6829

And here:

	}

	unit_stop_walking(src,1);

	// SC_MAGICPOWER needs to switch states at start of cast
	skill_toggle_magicpower(src, skill_id);

Change the "1" to "0". Might already have the effect you are looking for.

  • Like 1
Link to comment
Share on other sites

  • 0

  • Group:  Members
  • Topic Count:  162
  • Topics Per Day:  0.04
  • Content Count:  742
  • Reputation:   47
  • Joined:  03/12/14
  • Last Seen:  

37 minutes ago, Playtester said:

It's not a knockback, the server just send you the correct coordinates so there is no position lag.

If you rather want position lag you have to stop the client from sending fixpos packets when using a skill. This can be done by calling "unit_stop_walking" without the "1" bitset.

For example here (unit.c):


	if(!ud->state.running) // Need TK_RUN or WUGDASH handler to be done before that, see bugreport:6026
		unit_stop_walking(src, 1); // Even though this is not how official works but this will do the trick. bugreport:6829

And here:


	}

	unit_stop_walking(src,1);

	// SC_MAGICPOWER needs to switch states at start of cast
	skill_toggle_magicpower(src, skill_id);

Change the "1" to "0". Might already have the effect you are looking for.

On Unit.c what # line to remove the  unit_stop_walking Asura Strike and Final strike?

Edited by Bringer
Link to comment
Share on other sites

  • 0

  • Group:  Developer
  • Topic Count:  34
  • Topics Per Day:  0.01
  • Content Count:  804
  • Reputation:   230
  • Joined:  01/30/13
  • Last Seen:  

Um, not sure what you want but you can check for skill_id in both functions if you want specific handling for a skill.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...