Issue Information
-
#007850
-
0 - None Assigned
-
Fixed
Issue Confirmations
-
Yes (2)No (0)
The Healer npc in npc/custom/healer.txt is buggy.
When buff is enabled, it makes characters unable to move after getting buffs.
When buff is enabled, it makes characters unable to move after getting buffs.
i think yes. but didn't tested
- script Healer -1,{ set .@price,0; // Zeny required for heal set .@Buffs,0; // Also buff players? (1: yes / 0: no) set .@Delay,0; // Heal delay, in seconds if (@HD > gettimetick(2)) end; if (.@price) { message strcharinfo(0),"Healing costs "+.@price+" Zeny."; if (Zeny < .@price) end; if(select("^0055FFHeal^000000:^777777Cancel^000000") == 2) end; //I think this stucks the character because of "select". set Zeny, Zeny-.@price; } specialeffect2 EF_HEAL2; percentheal 100,100; if (.@Buffs) { specialeffect2 EF_INCAGILITY; sc_start SC_INC_AGI,240000,10; specialeffect2 EF_BLESSING; sc_start SC_BLESSING,240000,10; } if (.@Delay) set @HD, gettimetick(2)+.@Delay; end; }
if(select("^0055FFHeal^000000:^777777Cancel^000000") == 2) end; //I think this stucks the character because of "select".
i think yes. but didn't tested
- script Healer -1,{ set .@price,0; // Zeny required for heal set .@Buffs,0; // Also buff players? (1: yes / 0: no) set .@Delay,0; // Heal delay, in seconds if (@HD > gettimetick(2)) end; if (.@price) { message strcharinfo(0),"Healing costs "+.@price+" Zeny."; if (Zeny < .@price) end; if(select("^0055FFHeal^000000:^777777Cancel^000000") == 2) end; //I think this stucks the character because of "select". set Zeny, Zeny-.@price; } specialeffect2 EF_HEAL2; percentheal 100,100; if (.@Buffs) { specialeffect2 EF_INCAGILITY; sc_start SC_INC_AGI,240000,10; specialeffect2 EF_BLESSING; sc_start SC_BLESSING,240000,10; } if (.@Delay) set @HD, gettimetick(2)+.@Delay; end; }if(select("^0055FFHeal^000000:^777777Cancel^000000") == 2) end; //I think this stucks the character because of "select".
It should be close; and not end;
- script Healer -1,{ set .@Price,0; // Zeny required for heal set .@Buffs,0; // Also buff players? (1: yes / 0: no) set .@Delay,0; // Heal delay, in seconds if (@HD > gettimetick(2)) end; if (.@Price) { message strcharinfo(0),"Healing costs "+.@Price+" Zeny."; if (Zeny < .@Price) end; if(select("^0055FFHeal^000000:^777777Cancel^000000") == 2) close; set Zeny, Zeny-.@Price; } specialeffect2 EF_HEAL2; percentheal 100,100; if (.@Buffs) { specialeffect2 EF_INCAGILITY; sc_start SC_INC_AGI,240000,10; specialeffect2 EF_BLESSING; sc_start SC_BLESSING,240000,10; } if (.@Delay) set @HD, gettimetick(2)+.@Delay; close; }
You should replace those end with close otherwise it will stuck those characters who use it. The reason behind the end tag is that rAthena made a slight engine update that if you use dialog related commands you should use close otherwise you should use end.
Fixed in 6f26bde38a967620b1d275136a72c5c181fbe6ae
c952fe0da69ebd5371004d6737a4e2e54859b9b0
Thanks to Patskie, Mumbles and all.
c952fe0da69ebd5371004d6737a4e2e54859b9b0
Thanks to Patskie, Mumbles and all.