Skip to content

Doattack Question

Featured Replies

public void doAttack(final L2Character target)

{

 

}

 

 

i want in L2PcInstance  to make a code when doAttack happens

the problem is that im not sure how to get  target attacker.

 

Example if Player 1 attack Player 2      how to get Player 2 attacker? (which is player 1)

 

target.getActingPlayer() ?

Example if Player 1 attack Player 2      how to get Player 2 attacker? (which is player 1)

Say what? Player 2 attacker? Explain it again heh :D

 

I don't get the question.

 

You mean, how the player 2 can get the target of player 1 who is the attacker?

 

If that's the case, then.. Well, by default when someone attacks you, you get his target, but anyway. Something like this.

        final L2PcInstance targetPlayer = (L2PcInstance) getActingPlayer().getTarget();
        if (targetPlayer != null)
            targetPlayer.setTarget(getActingPlayer());

Edited by SweeTs

The instance itself, "this". You don't need this keyword until you make instanceof checks.

 

So, getActingPlayer() or simply if you're on L2PcInstance, the method you want to use will refer directly to that instance.

 

Example : get attacker karma => getKarma(), and target.getKarma() for the target.

 

Also, getActingPlayer() will return the L2PcInstance attached (case of summon it will return the summoner) or null if not found. So assure to != null. This method can be used on L2Object level.

Edited by Tryskell

  • Author

I wanted make

make something like

 

target.getPet().doAttack(this); <--- this refer to actor who attacked target but  doAttack doesnt accept AI 

You have to use intention system, AI related. doAttack mustn't be used directly.

Edited by Tryskell

  • Author

You have to use intention system, AI related. doAttack mustn't be used directly.

and how could i write this? like the target's pet attack the attacker?

Something like

        if (target.getPet() != null)
            target.getPet().getAI().setIntention(CtrlIntention.ATTACK, _actor);

Edited by SweeTs

  • Author

 

Something like

        if (target.getPet() != null)
            target.getPet().getAI().setIntention(CtrlIntention.ATTACK, _actor);

Thanks it doesnt give error when i attack

but the wolf (pet) doesnt attack the attacker ...

you sure that _actor refer to the attacker object?

Cause maybe actor refer to the owner so wolf cant attack owner..

you sure that _actor refer to the attacker object?

Depends where you put that code.

L2j ct2.5 (freya)

maybe you puted it at EnterWorld.java :X

he asking on which java added this method?

  • Author

maybe you puted it at EnterWorld.java :X

he asking on which java added this method?

Seriously i said already is on L2PcInstance    doAttack 

Create an account or sign in to comment

Account

Navigation

Search

Search

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.