Issue information

Issue ID
#7850
Status
Fixed
Severity
None
Started
PcNy
Nov 23, 2013 13:46
Last Post
kyeme
Nov 30, 2013 11:04
Confirmation
Yes (2)
No (0)

PcNy - Nov 23, 2013 13:46

The Healer npc in npc/custom/healer.txt is buggy.
When buff is enabled, it makes characters unable to move after getting buffs.

LuLu - Nov 23, 2013 14:12

i think yes. but didn't tested[code=auto:0] - 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; } [/code][code=auto:0] if(select("^0055FFHeal^000000:^777777Cancel^000000") == 2) end; //I think this stucks the character because of "select". [/code]

Dastgir Pojee - Nov 23, 2013 16:57

[quote name="LuLu" timestamp="1385215931"]
i think yes. but didn't tested[code=auto:0] - 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; } [/code][code=auto:0] if(select("^0055FFHeal^000000:^777777Cancel^000000") == 2) end; //I think this stucks the character because of "select". [/code][/quote]

It should be close; and not end;

Patskie - Nov 30, 2013 5:37

[code=auto:0] - 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; } [/code]

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.

kyeme - Nov 30, 2013 11:04

Fixed in [url="https://github.com/HerculesWS/Hercules/commit/6f26bde38a967620b1d275136a72c5c181fbe6ae"]6f26bde38a967620b1d275136a72c5c181fbe6ae[/url]
[url="https://github.com/HerculesWS/Hercules/commit/c952fe0da69ebd5371004d6737a4e2e54859b9b0"]c952fe0da69ebd5371004d6737a4e2e54859b9b0[/url]
Thanks to Patskie, Mumbles and all.

This post has been edited by kyeme on Nov 30, 2013 14:18