• 0
Sign in to follow this  
Naruto

Taekwon FSK mechanics + movement on grid

Question

So ive been trying to deal with the movement on the grid but had issues with direcitonal, and lagging when you get hit

 

Ive tried many things but the problem kept persisting until someone asked me why the lag doesnt happen on flying side kick....

giphy.gif

		case MR_LUNGE:
				if (unit->movepos(src, bl->x, bl->y, 1, 1)) {
					skill->brandishspear(src, bl, skill_id, skill_lv, tick, flag);
					clif->slide(src, bl->x, bl->y);
				}
			break;

for my skill.c im using brandishspear function in an attack that lunges me towards the target

before i would get caught during my cast time and i could move 3-4 times before the game elastic banned me

 

				if (unit->movepos(src, bl->x, bl->y, 1, 1)) {

 

if we wrote it like this

		case MR_LUNGE:
					unit->movepos(src, bl->x, bl->y, 1, 1);
					skill->brandishspear(src, bl, skill_id, skill_lv, tick, flag);
			break;

 

it looks like the zombies walk to the location i pointed at, but then i get shot there after a second or two...

giphy.gif

 

but then i set it to this : 

		case MR_LUNGE:
					unit->movepos(src, bl->x, bl->y, 0, 0);
					skill->brandishspear(src, bl, skill_id, skill_lv, tick, flag);
			break;

giphy.gif

 

So it seems to me that unit_movepos is just another modifier we can use

 

the final 2 moifiers are

int easy, bool checkpath

these are either 1 or 0... and i have no idea how they work without going through all the skills that use them however it seems to do the same things in game with my current code so just pick something your trying to match or flip em around if they dont work for whatever reason 

 

So in order to move visually we actually have to use these functions OR CLICK THE MOUSE ANYWHERE AND YOU WILL ZAP TO THAT CELL WITH THE WRITTEN ABOVE: 

clif->snap

clif->slide

skill->blown

 

 

All are usuable in different ways... I just wanted to clearify how to remove the lag

 

 

 

 

Actually a few notes from my clif.c jjust trying to go over and find this immediately 

static void clif_blown(struct block_list *bl)
{
//Aegis packets says fixpos, but it's unsure whether slide works better or not.
	nullpo_retv(bl);
	clif->fixpos(bl);
	clif->slide(bl, bl->x, bl->y);
}

Oh it turns out 

clif->fixpos is also a way to move you around the map

Edited by Naruto

Share this post


Link to post
Share on other sites

0 answers to this question

Recommended Posts

There have been no answers to this question yet

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.

Loading...
Sign in to follow this