Jump to content
  • 0

[Help] With xml Npc Buffer Dance Songs Chants without party


Question

Posted

Hello.

I have a little problem with buffer. I have l2j project files based on overshare.su <-- all based on xml so that is reason i can't use standard here .py files , server engine "don't understand .py code. I manualy change one of buffer from here and put all code to hml file for ex :

<td><img src="L2UI_CH3.shortcut_next_down" width=16 height=16></td>
<td><button action="" width=32 height=32 back="icon.skill1040" fore="icon.skill1040"></td>
<td><button value="Shield"action="bypass -h npc_%objectId%_Buff 1040" width=70 height=32back="L2UI_CT1.Windows_DF_Drawer_Bg_Darker" fore="L2UI_CT1.Windows_DF_Drawer_Bg_Darker"></td>
<td><button value="Might"action="bypass -h npc_%objectId%_Buff 1068" width=70 height=32 back="L2UI_CT1.Windows_DF_Drawer_Bg_Darker" fore="L2UI_CT1.Windows_DF_Drawer_Bg_Darker"></td>
<td><button action="" width=32 height=32 back="icon.skill1068" fore="icon.skill1068"></td>
<td><img src="L2UI_CH3.shortcut_prev_down" width=16 height=16></td>

 

Npc is visible , and i can talk with them but when i click on "Might" button ( other the same) nothing happened. I trying understand code what is usable in that core ...

I trying with deferents type npc varible ,for ex : merchant, npc, <- that is somwhere in code ( dont know where) still nothing.

Maybe someone can tell me where i should search to find fix of my problem.

Thx anyway.

Sorry for my english.

Regards Olivier.

7 answers to this question

Recommended Posts

  • 0
Posted

I fixed my problem (my own idea :) ), but now i have other problem. My Npc Buffer give normaly and correctly buffs from PP,EE,SE but when i want get chants, dances, songs,( type of buffs where need party with caster) don't get it. For example i give here 1 line from html and one form java script :

 

For example part of java code for song of earth

 

public class Buffer extends Functions
{
.
.
.
.
public void get264()
{
	Player player = getSelf();
	NpcInstance npc = getNpc();
	if(player.getKarma() > 0)
		return;
	npc.doCast(SkillTable.getInstance().getInfo(264,1), player, true);
}
.
.
}

 

And html :

 <td><button value="Shield" action="bypass -h scripts_services.Buffer:get64" width=70 height=32 back="L2UI_CT1.Windows_DF_Drawer_Bg_Darker" fore="L2UI_CT1.Windows_DF_Drawer_Bg_Darker"></td> 

 

What i should put to fix giving dances chants etc..  ???

Im not so good on java code so i trying do smth by myself but not allways i can fix all problems.

  • 0
Posted

All o these codes working but not with dance songs chants :

player.doCast(SkillTable.getInstance().getInfo(264,1), player, true);

npc.broadcastPacket(new MagicSkillUse(npc, player, 264, 1, 0, 0));

npc.callSkill(SkillTable.getInstance().getInfo(264, 1), player, true);

 

Sorry for beeping that thread on this way, but i need it so much and now i don't have idea how to fix it :((

  • 0
Posted

Don't say you made one method per skill id... And if you invoke a not existing skill you will have a nice NPE.

 

And you can't use doCast. You have to apply effects directly on the target. Currently when the NPC is doing a dance/whatever party buff, it tries to buff its own party (which sounds logical).

  • 0
Posted

all id skills which i use are declarated and there are in .xml files

doCast working good with se/ee/pp buffs, but not with songs/dances/chants (need party). I tried a lot of (existing) methods any one want work. I think why... that why in skill declarated have target_type= party. i can't change it in all these skills to target_type= target/party ... I think now only one way is change that varible localy in script file but i don't know how to get it ( what metod ) from xml file , give them new varible and then change it. My thinking is correctly  ?

  • 0
Posted

As I said, you have to apply effects on the player. Your last reply is my previous reply with more details.

 


 

By 'Don't say you made one method per skill id...', I mean that :

	public void get264()
{
	Player player = getSelf();
	NpcInstance npc = getNpc();
	if(player.getKarma() > 0)
		return;
	npc.doCast(SkillTable.getInstance().getInfo(264,1), player, true);
}

I hope you didn't make one method per different id... It's totally pointless.

 

Just check another buffer to see how they work ? That's often the simpliest way. Why trying to reinvent the wheel, when ppl already made it hundreds of time before you.

  • 0
Posted

If i correctly understand You i shouldn't use :

public void get264()
{....
.
..}
public void get265()
{...
.
..}

 

I checked other buffers and i found multiple solutions but only one work with my for ex :

 

public void getBuffer264()
{
	Player player = getSelf();
	NpcInstance npc = getNpc();
	doBuffer264(npc, player, false);
}

public static void doBuffer264(NpcInstance npc, Player player, boolean servitor)
{
	List<Creature> target = new ArrayList<Creature>();
		target.add(player);
			npc.broadcastPacket(new MagicSkillUse(npc, player, 264, 1, 0, 0));
			npc.callSkill(SkillTable.getInstance().getInfo(264, 1), target, true);
}		

 

But going to that way my Buffer.java script will get ~2k lines of code ....

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

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...

AdBlock Extension Detected!

Our website is made possible by displaying online advertisements to our members.

Please disable AdBlock browser extension first, to be able to use our community.

I've Disabled AdBlock