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