AccessDenied Posted December 2, 2015 Posted December 2, 2015 (edited) Hello recently i played star wars old republic and i got inspired an idea of the pet / summon that it auto-attack the target that you attack. Tried to do a code in L2Character (btw use F & High5) like final L2Summon pet = this.getPet(); doAttack(L2Character target) { if (!(pet == null)) { pet.getAi().getIntention(CTRL.INTENTION.DOAttack. target) } something like this but it give error any way on how to control attack of our summon / pet to attack the enemy even if is L2MonsterInstance or L2PcInstance object? Thanks a lot Ps. i'm not starter in java so speak freely, any answer i would appreciate it i just stuck. Edited December 2, 2015 by AccessDenied
0 AccessDenied Posted December 2, 2015 Author Posted December 2, 2015 I'm taking your sister, period. @Override public void doAttack(L2Character target) { final L2Summon pet = getPet(); if (pet != null) pet.getAI().setIntention(CtrlIntention.ATTACK, target); super.doAttack(target); clearRecentFakeDeath(); } Yeap this is what i wrote in the first place and it give error java.lang.NullPointerException at com.l2jserver.gameserver.model.actor.L2Character.doAttack(L2Character .java:738) at com.l2jserver.gameserver.model.actor.L2Character$AIAccessor.doAttack( L2Character.java:3747) at com.l2jserver.gameserver.ai.L2SummonAI.thinkAttack(L2SummonAI.java:93 ) at com.l2jserver.gameserver.ai.L2SummonAI.onEvtThink(L2SummonAI.java:144 ) at com.l2jserver.gameserver.ai.L2CharacterAI.onEvtArrived(L2CharacterAI. java:706) at com.l2jserver.gameserver.ai.AbstractAI.notifyEvent(AbstractAI.java:45 9) at com.l2jserver.gameserver.ai.AbstractAI.notifyEvent(AbstractAI.java:34 6) at com.l2jserver.gameserver.GameTimeController$MovingObjectArrived.run(G ameTimeController.java:209) at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) at java.lang.Thread.run(Unknown Source)
0 AccessDenied Posted December 2, 2015 Author Posted December 2, 2015 hasAi() check too, even if there is no reason you don't have AI anymore. And as I said, you miss all checks so don't expect it works fine for particular cases. I know i miss many checks but i just want to test first.. i really dont get why this error java.lang.NullPointerException at com.l2jserver.gameserver.model.actor.L2Character.doAttack(L2Character .java:738) at com.l2jserver.gameserver.model.actor.L2Character$AIAccessor.doAttack( L2Character.java:3747) at com.l2jserver.gameserver.ai.L2SummonAI.thinkAttack(L2SummonAI.java:93 ) at com.l2jserver.gameserver.ai.L2SummonAI.onEvtThink(L2SummonAI.java:144 ) at com.l2jserver.gameserver.ai.L2CharacterAI.onEvtArrived(L2CharacterAI. java:706) at com.l2jserver.gameserver.ai.AbstractAI.notifyEvent(AbstractAI.java:45 9) at com.l2jserver.gameserver.ai.AbstractAI.notifyEvent(AbstractAI.java:34 6) at com.l2jserver.gameserver.GameTimeController$MovingObjectArrived.run(G ameTimeController.java:209) at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) at java.lang.Thread.run(Unknown Source)
0 AccessDenied Posted December 2, 2015 Author Posted December 2, 2015 btw it should be L2Summon or L2PetInstance pet ?
0 SweeTs Posted December 2, 2015 Posted December 2, 2015 (edited) What pet are you testing? With strider its working fine. Also, which is your 738 line? Edited December 2, 2015 by SweeTs
0 AccessDenied Posted December 2, 2015 Author Posted December 2, 2015 What pet are you testing? With strider its working fine. Also, which is your 738 line? Im testing with wolf (the little one) Wolf collar also my 738 line in L2Character is if (EventEngine.areTogether(getObjectId(), getTarget().getObjectId())) sendPacket(ActionFailed.STATIC_PACKET); which is a check for an event engine but i dont get why since event engine is off or they dont participate..
0 SweeTs Posted December 2, 2015 Posted December 2, 2015 (edited) This line creates the NPE, so it's not from this pet addon :D Also, for me, on aCis Int, it's working fine, with any pet. Edited December 2, 2015 by SweeTs
0 AccessDenied Posted December 2, 2015 Author Posted December 2, 2015 This line creates the NPE, so it's not from this pet addon :D Also, for me, on aCis Int, it's working fine, with any pet. Ok ill make it comment and try now sec
0 AccessDenied Posted December 2, 2015 Author Posted December 2, 2015 :OOOOOO it worked <3 SweetS you earned my sister... i love youuuuu <3 idk why it created problem :/ this boolean check also if the engine is running .. but since it works thanks Also thanks to Tryskel.
0 SweeTs Posted December 2, 2015 Posted December 2, 2015 I will send you a pm with details where to send her :D Can be locked, I guess.
Question
AccessDenied
Hello recently i played star wars old republic and i got inspired an idea of the pet / summon
that it auto-attack the target that you attack.
Tried to do a code in L2Character (btw use F & High5)
like
final L2Summon pet = this.getPet();
doAttack(L2Character target)
{
if (!(pet == null))
{
pet.getAi().getIntention(CTRL.INTENTION.DOAttack. target)
}
something like this but it give error
any way on how to control attack of our summon / pet to attack the enemy even if is L2MonsterInstance or L2PcInstance object?
Thanks a lot
Ps. i'm not starter in java so speak freely, any answer i would appreciate it i just stuck.
24 answers to this question
Recommended Posts