Jump to content
  • 0

Pet Ai Attack


AccessDenied

Question

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.

 

2h8dedl.png

Edited by AccessDenied
Link to comment
Share on other sites

Recommended Posts

  • 0

 

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)
Link to comment
Share on other sites

  • 0

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)
Link to comment
Share on other sites

  • 0

What pet are you testing? With strider its working fine. Also, which is your 738 line?

Edited by SweeTs
Link to comment
Share on other sites

  • 0

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..
Link to comment
Share on other sites

  • 0

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 by SweeTs
Link to comment
Share on other sites

  • 0

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

Link to comment
Share on other sites

  • 0

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

Link to comment
Share on other sites

Guest
This topic is now closed to further replies.


×
×
  • 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