[HELP] NPC Buffer L2J 

Status
Not open for further replies.
Joined
Dec 15, 2004
Messages
46
Reaction score
0
Im trying to work on a npc buffer for a Normal server, no custom rev's, and Im having trouble getting it to do multiple buffs, I plan to edit the buffs in the xml files after to be instant and use no mp, but first want to get the code working, and my problem is it only does one buff out of the entire list (The first) or the first and the last, i tried "Then" statements and those didnt work so im wondering if anyone knows how to make it go to the next one and not just skip it.

Code:
		#TEST A
		if event == "63":		
			st.getPlayer().useMagic(SkillTable.getInstance().getInfo(1009,3),False,False)
			st.getPlayer().useMagic(SkillTable.getInstance().getInfo(1009,1),False,False)
			st.getPlayer().useMagic(SkillTable.getInstance().getInfo(1062,2),False,False)
			st.getPlayer().useMagic(SkillTable.getInstance().getInfo(1062,2),False,False)
			st.getPlayer().useMagic(SkillTable.getInstance().getInfo(1303,2),False,False)
			st.getPlayer().useMagic(SkillTable.getInstance().getInfo(1303,2),False,False)
			st.takeItems(57,1)
			return "7180-dance.htm"
			st.setState(COMPLETED)

		#TEST A
		if event == "64":		
			st.getPlayer().useMagic(SkillTable.getInstance().getInfo(1009,3),False,False)
			then
			st.getPlayer().useMagic(SkillTable.getInstance().getInfo(1009,1),False,False)
			then
			st.getPlayer().useMagic(SkillTable.getInstance().getInfo(1062,2),False,False)
			then
			st.getPlayer().useMagic(SkillTable.getInstance().getInfo(1062,2),False,False)
			then
			st.getPlayer().useMagic(SkillTable.getInstance().getInfo(1303,2),False,False)
			then
			st.getPlayer().useMagic(SkillTable.getInstance().getInfo(1303,2),False,False)
			st.takeItems(57,1)
			return "7180-dance.htm"
			st.setState(COMPLETED)
 
Im trying to work on a npc buffer for a Normal server, no custom rev's, and Im having trouble getting it to do multiple buffs, I plan to edit the buffs in the xml files after to be instant and use no mp, but first want to get the code working, and my problem is it only does one buff out of the entire list (The first) or the first and the last, i tried "Then" statements and those didnt work so im wondering if anyone knows how to make it go to the next one and not just skip it.

Code:
		#TEST A
		if event == "63":		
			st.getPlayer().useMagic(SkillTable.getInstance().getInfo(1009,3),False,False)
			st.getPlayer().useMagic(SkillTable.getInstance().getInfo(1009,1),False,False)
			st.getPlayer().useMagic(SkillTable.getInstance().getInfo(1062,2),False,False)
			st.getPlayer().useMagic(SkillTable.getInstance().getInfo(1062,2),False,False)
			st.getPlayer().useMagic(SkillTable.getInstance().getInfo(1303,2),False,False)
			st.getPlayer().useMagic(SkillTable.getInstance().getInfo(1303,2),False,False)
			st.takeItems(57,1)
			return "7180-dance.htm"
			st.setState(COMPLETED)

		#TEST A
		if event == "64":		
			st.getPlayer().useMagic(SkillTable.getInstance().getInfo(1009,3),False,False)
			then
			st.getPlayer().useMagic(SkillTable.getInstance().getInfo(1009,1),False,False)
			then
			st.getPlayer().useMagic(SkillTable.getInstance().getInfo(1062,2),False,False)
			then
			st.getPlayer().useMagic(SkillTable.getInstance().getInfo(1062,2),False,False)
			then
			st.getPlayer().useMagic(SkillTable.getInstance().getInfo(1303,2),False,False)
			then
			st.getPlayer().useMagic(SkillTable.getInstance().getInfo(1303,2),False,False)
			st.takeItems(57,1)
			return "7180-dance.htm"
			st.setState(COMPLETED)

This are your full .py file?
 
Upvote 0
off
i actually wondering if it able to create a buffer without using .py files or somethink...only HTML ..

like..
<a action="bypass -h %objectId%_givesupportmagic 1111">Bless the body</a>

where "givesupportmagic" will be the command that tells the npc tou give buff to the player and "1111" will be tha buff id...

is it possible?
 
Upvote 0
DOn't think so psyspooky, and no thats not the full file just those select ones that dont work.
Anyways I hijacked the Newbie guide and edited him to allow u to get buffed from level 1-80 and it instantly buffs you every buff in the game.

Only problem now, is how to turn all buffs to 10hours, and not do it one by one...
 
Upvote 0
well.. for instant you just need to modifiy here:
like this:
...
<set name="reuseDelay" val="0"/>
<set name="skillTime" val="21"/>
<set name="skillType" val="BUFF"/>
<set name="operateType" val="OP_ACTIVE"/>
<set name="castRange" val="-1"/>
...
 
Upvote 0
you're welcome...

For PROGFX
this is a part of my buffer... it gives .. all... mages buffs.. and it works.. i dont know why for you doesn't... maybe... yes... because they are not instant :D... so make them instant and check again... and... wait a little until it buffs you.. ;)
if event == "56":
st.getPlayer().useMagic(SkillTable.getInstance().getInfo(9901,1),False,False)
st.getPlayer().useMagic(SkillTable.getInstance().getInfo(9902,1),False,False)
st.getPlayer().useMagic(SkillTable.getInstance().getInfo(9904,1),False,False)
st.getPlayer().useMagic(SkillTable.getInstance().getInfo(9905,1),False,False)
st.getPlayer().useMagic(SkillTable.getInstance().getInfo(9906,1),False,False)
st.getPlayer().useMagic(SkillTable.getInstance().getInfo(9907,1),False,False)
st.getPlayer().useMagic(SkillTable.getInstance().getInfo(9909,1),False,False)
st.getPlayer().useMagic(SkillTable.getInstance().getInfo(9911,1),False,False)
st.getPlayer().useMagic(SkillTable.getInstance().getInfo(9915,1),False,False)
st.getPlayer().useMagic(SkillTable.getInstance().getInfo(9916,1),False,False)
st.getPlayer().useMagic(SkillTable.getInstance().getInfo(9917,1),False,False)
st.getPlayer().useMagic(SkillTable.getInstance().getInfo(9920,1),False,False)
st.getPlayer().useMagic(SkillTable.getInstance().getInfo(9921,1),False,False)
st.getPlayer().useMagic(SkillTable.getInstance().getInfo(9923,1),False,False)

return "30321.htm"
st.setState(COMPLETED)
 
Upvote 0
Status
Not open for further replies.
Back