emo182 Posted September 9, 2012 Posted September 9, 2012 i have 2 items with same effect - a weapon, ex:knife,sword,etc { bonus bSpeedRate,50;} - a headgear, ex:ifrit mask,poring hat,etc { bonus bSpeedRate,50;} i tried both, but the effect is different. can someone explain that please ? and how to check movement speed variable ? (or variable name) sorry for my bad english >.< Quote
nanakiwurtz Posted September 9, 2012 Posted September 9, 2012 Very easy, edit your atcommand.c, search for: sprintf(atcmd_output, "Please, enter a speed value (usage: @speed <%d-%d>).", MIN_WALK_SPEED, MAX_WALK_SPEED); Change into: sprintf(atcmd_output, "Current speed: %d.", sd->base_status.speed); Recompile your server, use '@speed', problem solved... (Don't forget to press the button if it works ) 1 Quote
emo182 Posted September 11, 2012 Author Posted September 11, 2012 (edited) Very easy, edit your atcommand.c, search for: sprintf(atcmd_output, "Please, enter a speed value (usage: @speed <%d-%d>).", MIN_WALK_SPEED, MAX_WALK_SPEED); Change into: sprintf(atcmd_output, "Current speed: %d.", sd->base_status.speed); Recompile your server, use '@speed', problem solved... (Don't forget to press the button if it works ) thanks... i will try it later... edit: @nanakiwurtz it's not working. if i change speed with command @speed (@speed 100) , value of sd->base_status.speed is changed to 100 but if it's change from { bonus bspeedrate effect }, value of sd->base_status.speed is not changed. do u have another solution ? Edited September 11, 2012 by emo182 Quote
Emistry Posted September 11, 2012 Posted September 11, 2012 @speed is used to alter your speed...not check your speed.... nanakiwurtz do it in a wrong place..... perhap ycan try this... add a new command... ACMD_FUNC(checkspeed) { nullpo_retr(-1, sd); sprintf(atcmd_output, "Current Movement Speed : %d", sd->base_status.speed); clif_displaymessage(fd, atcmd_output); return 0; } and this at below part.. ACMD_DEF(checkspeed) Quote
nanakiwurtz Posted September 11, 2012 Posted September 11, 2012 Oh I thought you only need the base value of char speed, if that's the case, then we need to calculate base speed & bonus speed (from item/cards). if (!message || !*message || sscanf(message, "%d", &speed) < 1) { sprintf(atcmd_output, "Current speed: %d.", (sd->base_status.speed)+(sd->bonus.speed_rate)); clif_displaymessage(fd, atcmd_output); return -1; } Recompile your server and voila! Your actual speed (+item effect is now working) Remember, smaller means faster walking. @speed is used to alter your speed...not check your speed.... nanakiwurtz do it in a wrong place..... @Emistry: I use '@speed' with a blank value, so it will return -1, it means I didn't change the speed, I only read the value from 'base_status.speed' Quote
emo182 Posted September 12, 2012 Author Posted September 12, 2012 yeah, it's work with bonus bspeedrate effect now. but it's not show total value of current speed. i was try with speed potion, windwalk skill, cart boost and increase agility skill. speed value not affected by them. Quote
nanakiwurtz Posted September 19, 2012 Posted September 19, 2012 I think I found an explanation for this, it's the official behavior, thanks malufett Quote
Question
emo182
i have 2 items with same effect
- a weapon, ex:knife,sword,etc { bonus bSpeedRate,50;}
- a headgear, ex:ifrit mask,poring hat,etc { bonus bSpeedRate,50;}
i tried both, but the effect is different.
can someone explain that please ?
and how to check movement speed variable ? (or variable name)
sorry for my bad english >.<
6 answers to this question
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.