Jump to content
  • 0

Auto Heal, Buffs, Magnify & Repair NPC


AtotheUtotheGtotheUST

Question


  • Group:  Members
  • Topic Count:  10
  • Topics Per Day:  0.00
  • Content Count:  20
  • Reputation:   0
  • Joined:  03/12/12
  • Last Seen:  

Does anyone know how to make this kind of script on eAthena server?

Auto Heal, Agi Bless, Auto Repair, Auto Magnify and auto remove abnormal status in 1 NPC?

Link to comment
Share on other sites

5 answers to this question

Recommended Posts


  • Group:  Members
  • Topic Count:  86
  • Topics Per Day:  0.02
  • Content Count:  591
  • Reputation:   146
  • Joined:  06/19/12
  • Last Seen:  


prontera,153,193,4 script Buffer 874,{

set .@deny, 1; // 10 seconds cooldown

if ( @healer_deny + .@deny >= gettimetick(2) ) end;

set @healer_deny, gettimetick(2);

set .@time, 300000; // the buff last 5 minutes

sc_end sc_stone;

sc_end sc_freeze;

sc_end sc_sleep;

sc_end sc_curse;

sc_end sc_silence;

sc_end sc_confusion;

sc_end sc_blind;

sc_end sc_bleeding;

sc_end sc_decreaseagi;

sc_end sc_poison;

sc_end sc_hallucination;

sc_end sc_stripweapon;

sc_end sc_striparmor;

sc_end sc_striphelm;

sc_end sc_stripshield;

sc_end sc_changeundead;

sc_end sc_orcish;

sc_end sc_berserk;

sc_end sc_ske;

sc_end sc_swoo;

sc_end sc_ska;

specialeffect2 100;

specialeffect2 885;

sc_start SC_INCREASEAGI,1200000,10;

sc_start SC_BLESSING,1200000,10;

set .@ori, countitem(558);

if ( .@ori >= 5 ) {

getitem 573, .@ori / 5;

delitem 558, .@ori / 5 * 5;

message strcharinfo(0), "Refined "+ ( .@ori / 5 * 5 ) +" Oridecon Stones, got "+ ( .@ori / 5 ) +" Oridecons.";

}

set .@elu, countitem(561);

if ( .@elu >= 5 ) {

getitem 560, .@elu / 5;

delitem 561, .@elu / 5 * 5;

message strcharinfo(0), "Refined "+ ( .@elu / 5 * 5 ) +" Elunium Stones, got "+ ( .@elu / 5 ) +" Eluniums.";

}

while ( getbrokenid(1) && zeny >= 5000 ) {

set .@rcount, .@rcount +1 ;

set zeny, zeny - 5000;

repair 1;

}

if ( .@rcount )

message strcharinfo(0), "Repaired "+ .@rcount +" Items.";

getinventorylist;

for( set .@i,0; .@i < @inventorylist_count; set .@i, .@i + 1 ) {

if ( @inventorylist_identify[.@i] == 1 )

continue;

else if ( getskilllv(40) == 1 && sp >= 10 )

heal 0,0; // lol... this is supposed to reduce their SP by 10, whatever

else if ( countitem(611) )

delitem 611,1;

else if ( getskilllv(224) && zeny >= ( 100 - ( 5 + 4 * getskilllv(224) ) )* 2/5 )

set zeny, zeny - ( 100 - ( 5 + 4 * getskilllv(224) ) )* 2/5;

else if ( getskilllv(37) && zeny >= ( 100 - ( 5 + 2 * getskilllv(37) ) )* 2/5 )

set zeny, zeny - ( 100 - ( 5 + 2 * getskilllv(37) ) )* 2/5;

else if ( zeny >= 40 )

set zeny, zeny - 40;

else

break;

delitem2 @inventorylist_id[.@i],1,0,0,0,0,0,0,0;

getitem @inventorylist_id[.@i],1;

set .@icount, .@icount +1 ;

}

if ( .@icount )

message strcharinfo(0), "Identified "+ .@icount +" Items.";

if ( isequippedcnt(4128) >= 1 ) // if your server needs 2 GTB to immune, set to 2 instead of 1

dispbottom "[Healer] Please unequip your Golden Thief Bug card to get full buff.";

percentheal 100,100;

skilleffect 28, maxhp;

skilleffect 9, maxsp;

end;

}

Edited by EL Dragon
Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  10
  • Topics Per Day:  0.00
  • Content Count:  20
  • Reputation:   0
  • Joined:  03/12/12
  • Last Seen:  

prontera,153,193,4	script	Buffer	 874,{

	set .@deny, 1; // 10 seconds cooldown
	if ( @healer_deny + .@deny >= gettimetick(2) ) end;
	set @healer_deny, gettimetick(2);

	set .@time, 300000; // the buff last 5 minutes

	sc_end sc_stone;
	sc_end sc_freeze;
	sc_end sc_sleep;
	sc_end sc_curse;
	sc_end sc_silence;
	sc_end sc_confusion;
	sc_end sc_blind;
	sc_end sc_bleeding;
	sc_end sc_decreaseagi;
	sc_end sc_poison;
	sc_end sc_hallucination;
	sc_end sc_stripweapon;
	sc_end sc_striparmor;
	sc_end sc_striphelm;
	sc_end sc_stripshield;
	sc_end sc_changeundead;
	sc_end sc_orcish;
	sc_end sc_berserk;
	sc_end sc_ske;
	sc_end sc_swoo;
	sc_end sc_ska;
	
	
    specialeffect2 100;
    specialeffect2 885;
    sc_start SC_INCREASEAGI,1200000,10;
    sc_start SC_BLESSING,1200000,10;
	

	

	set .@ori, countitem(558);
	if ( .@ori >= 5 ) {
		getitem 573, .@ori / 5;
		delitem 558, .@ori / 5 * 5;
		message strcharinfo(0), "Refined "+ ( .@ori / 5 * 5 ) +" Oridecon Stones, got "+ ( .@ori / 5 ) +"   Oridecons.";
	}
	set .@elu, countitem(561);
	if ( .@elu >= 5 ) {
		getitem 560, .@elu / 5;
		delitem 561, .@elu / 5 * 5;
		message strcharinfo(0), "Refined "+ ( .@elu / 5 * 5 ) +" Elunium Stones, got "+ ( .@elu / 5 ) +"   Eluniums.";
	}

	while ( getbrokenid(1) && zeny >= 5000 ) {
		set .@rcount, .@rcount +1 ;
		set zeny, zeny - 5000;
		repair 1;
	}
	if ( .@rcount )
		message strcharinfo(0), "Repaired "+ .@rcount +" Items.";

	getinventorylist;
	for( set .@i,0; .@i < @inventorylist_count; set .@i, .@i + 1 ) {
		if ( @inventorylist_identify[.@i] == 1 )
			continue;
		else if ( getskilllv(40) == 1 && sp >= 10 )
			heal 0,0; // lol... this is supposed to reduce their SP by 10, whatever
		else if ( countitem(611) )
			delitem 611,1;
		else if ( getskilllv(224) && zeny >= ( 100 - ( 5 + 4 * getskilllv(224) ) )* 2/5 )
			set zeny, zeny - ( 100 - ( 5 + 4 * getskilllv(224) ) )* 2/5;
		else if ( getskilllv(37) && zeny >= ( 100 - ( 5 + 2 * getskilllv(37) ) )* 2/5 )
			set zeny, zeny - ( 100 - ( 5 + 2 * getskilllv(37) ) )* 2/5;
		else if ( zeny >= 40 )
			set zeny, zeny - 40;
		else
			break;
		delitem2 @inventorylist_id[.@i],1,0,0,0,0,0,0,0;
		getitem @inventorylist_id[.@i],1;
		set .@icount, .@icount +1 ;
	}
	if ( .@icount )
		message strcharinfo(0), "Identified "+ .@icount +" Items.";

	if ( isequippedcnt(4128) >= 1 ) // if your server needs 2 GTB to immune, set to 2 instead of 1
		dispbottom "[Healer] Please unequip your Golden Thief Bug card to get full buff.";

	percentheal 100,100;
	skilleffect 28, maxhp;
	skilleffect 9, maxsp;
	
	end;
}



Thanks for this El Dragon.

 

I fixed my script with OnTouch but only 1 problem, if you click the NPC it won't work.

 

Same with your script I guess?

Edited by Asianwow
Link to comment
Share on other sites


  • Group:  Developer
  • Topic Count:  10
  • Topics Per Day:  0.00
  • Content Count:  2407
  • Reputation:   613
  • Joined:  07/05/12
  • Last Seen:  

What about reading the rules?

 

Duplicate topics are not allowed. Post your topic once, in the correct section. If you accidentally post in the wrong section, use the Report button to report your own post.

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  10
  • Topics Per Day:  0.00
  • Content Count:  20
  • Reputation:   0
  • Joined:  03/12/12
  • Last Seen:  

 

What about reading the rules?

 

Duplicate topics are not allowed. Post your topic once, in the correct section. If you accidentally post in the wrong section, use the Report button to report your own post.

 

I did read the rules.  /ok

And the topic is kinda different but okay I reported it.  /ok

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  86
  • Topics Per Day:  0.02
  • Content Count:  591
  • Reputation:   146
  • Joined:  06/19/12
  • Last Seen:  


prontera,153,193,4 script .#Buffer -1,4,4,{

end;

OnTouch:

set .@deny, 1; // 10 seconds cooldown

if ( @healer_deny + .@deny >= gettimetick(2) ) end;

set @healer_deny, gettimetick(2);

set .@time, 300000; // the buff last 5 minutes

sc_end sc_stone;

sc_end sc_freeze;

sc_end sc_sleep;

sc_end sc_curse;

sc_end sc_silence;

sc_end sc_confusion;

sc_end sc_blind;

sc_end sc_bleeding;

sc_end sc_decreaseagi;

sc_end sc_poison;

sc_end sc_hallucination;

sc_end sc_stripweapon;

sc_end sc_striparmor;

sc_end sc_striphelm;

sc_end sc_stripshield;

sc_end sc_changeundead;

sc_end sc_orcish;

sc_end sc_berserk;

sc_end sc_ske;

sc_end sc_swoo;

sc_end sc_ska;

specialeffect2 100;

specialeffect2 885;

sc_start SC_INCREASEAGI,1200000,10;

sc_start SC_BLESSING,1200000,10;

set .@ori, countitem(558);

if ( .@ori >= 5 ) {

getitem 573, .@ori / 5;

delitem 558, .@ori / 5 * 5;

message strcharinfo(0), "Refined "+ ( .@ori / 5 * 5 ) +" Oridecon Stones, got "+ ( .@ori / 5 ) +" Oridecons.";

}

set .@elu, countitem(561);

if ( .@elu >= 5 ) {

getitem 560, .@elu / 5;

delitem 561, .@elu / 5 * 5;

message strcharinfo(0), "Refined "+ ( .@elu / 5 * 5 ) +" Elunium Stones, got "+ ( .@elu / 5 ) +" Eluniums.";

}

while ( getbrokenid(1) && zeny >= 5000 ) {

set .@rcount, .@rcount +1 ;

set zeny, zeny - 5000;

repair 1;

}

if ( .@rcount )

message strcharinfo(0), "Repaired "+ .@rcount +" Items.";

getinventorylist;

for( set .@i,0; .@i < @inventorylist_count; set .@i, .@i + 1 ) {

if ( @inventorylist_identify[.@i] == 1 )

continue;

else if ( getskilllv(40) == 1 && sp >= 10 )

heal 0,0; // lol... this is supposed to reduce their SP by 10, whatever

else if ( countitem(611) )

delitem 611,1;

else if ( getskilllv(224) && zeny >= ( 100 - ( 5 + 4 * getskilllv(224) ) )* 2/5 )

set zeny, zeny - ( 100 - ( 5 + 4 * getskilllv(224) ) )* 2/5;

else if ( getskilllv(37) && zeny >= ( 100 - ( 5 + 2 * getskilllv(37) ) )* 2/5 )

set zeny, zeny - ( 100 - ( 5 + 2 * getskilllv(37) ) )* 2/5;

else if ( zeny >= 40 )

set zeny, zeny - 40;

else

break;

delitem2 @inventorylist_id[.@i],1,0,0,0,0,0,0,0;

getitem @inventorylist_id[.@i],1;

set .@icount, .@icount +1 ;

}

if ( .@icount )

message strcharinfo(0), "Identified "+ .@icount +" Items.";

if ( isequippedcnt(4128) >= 1 ) // if your server needs 2 GTB to immune, set to 2 instead of 1

dispbottom "[Healer] Please unequip your Golden Thief Bug card to get full buff.";

percentheal 100,100;

skilleffect 28, maxhp;

skilleffect 9, maxsp;

end;

}

  • Upvote 1
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...