Jump to content

  •  

Bug Tracker Migration

June 3rd
Good news everyone! The staff has decided that it is time to slowly kill off this Bug Tracker. We will begin the process of slowly migrating from this Bug Tracker over to our Github Issues which can be found here: https://github.com/HerculesWS/Hercules/issues

Over the next couple of days, I will be closing off any opportunity to create new reports. However, I still will keep the opportunity to reply to existing Bug Reports. Doing this will allow us to slowly fix any bug reports we have listed here so that we can easily migrate over to our Issue Tracker.

Update - June 7th 2015: Creating new bug posts has been disabled. Please use our https://github.com/HerculesWS/Hercules/issues tracker to post bugs. Users are still able to reply to existing bug posts.

- Administration

Issue Information

  • #007850

  • 0 - None Assigned

  • Fixed

Issue Confirmations

  • Yes (2)No (0)
Photo

Healer makes character frozen

Posted by PcNy on 23 November 2013 - 01:46 PM

The Healer npc in npc/custom/healer.txt is buggy.
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.

changed status to: Fixed