Jump to content

Question

Posted (edited)

I would like to know which method I use for a player not to catch the target of a monster that is being attacked, if I use isInCombat the player does not hit the target when he is in combat

 

use l2jfrozen 1132

Edited by DzStunk

10 answers to this question

Recommended Posts

  • 0
Posted
2 minutes ago, DzStunk said:

I created a debug on the list and had no success

If someone has already attacked the monster, he should be on it's aggrolist. If he's not (well right click -> delete project) but you can also check if there is an attackedBy list.

  • 0
Posted
34 minutes ago, Zake said:

If someone has already attacked the monster, he should be on it's aggrolist. If he's not (well right click -> delete project) but you can also check if there is an attackedBy list.

 

Is there an example of how to do it somewhere?

  • 0
Posted (edited)
24 minutes ago, DzStunk said:

 

Is there an example of how to do it somewhere?

based on Zake's reply, assume that the target is an instance of MonsterInstance so you can simply make a check like
 

if (!target.getAggroList().isEmpty())
   continue;

 

Edited by Amn3sia
  • 0
Posted
6 minutes ago, Amn3sia said:

based on Zake's reply, assume that the target is an instance of MonsterInstance so you can simply make a check like
 

if (!target.getAggroList().isEmpty())
   continue;

 

 

this verification will not work because the player himself will be on the list and will not attack.

  • 0
Posted (edited)

From what I understand you're referring to this 'auto-target' thing that exists in l2, when you don't have a target and a monster attacks you, you automatically target this monster. Unfortunately for you, this is client-side I'm pretty sure and it sends Action packet, which is the same packet the client sends when the player actually requests to target something, so there's no way to work around that server-side.

 

You could try to predict if the player made this target call or it was automatic, but it can't be 100% accurate and it might feel buggy.

 

Maybe I misunderstood what you meant though about the auto-target.

Edited by An4rchy
  • 0
Posted (edited)
On 3/6/2023 at 11:26 PM, DzStunk said:

 

this verification will not work because the player himself will be on the list and will not attack.

if (!target.getAggroList().isEmpty() && !target.getAggroList().containsKey(player))
     continue;

 

Edited by Amn3sia
  • 0
Posted
As said Anarchy, it's client-sided and can't be controlled (from what I know about it and from what I understood of your request).

In a custom use, getAggroList()#containsKey would be your solution if you want the check to be CURRENT, and attackedBy to be both PAST and CURRENT (even with complete loss of aggro).

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now


  • Posts

    • Very nice attempt and good luck with your sales.   Don't let the voices in this topic discourage you. Most of those people are just flexing. So if Celestine decides to write a bootkit or hook system calls or whatever and false-feed your anti-cheat fake info just because it sits in user mode just to go play in a private server with 100 people, I'll tell you one thing:   Who the fuck cares ... 😛   The average player won't / can't make these things, the big players like adrenaline won't bother (yet) (they don't have signed drivers do they ? They also run in user mode I believe). And even if they somehow manage to do so, there's a minority of players who would trust putting this thing on their pc. I wouldn't let anyone tamper with my kernel mode even if he had a signed certificate from Microsoft.    Also, in a scene where collusion has been brought out between bot makers and cheat guards, having many options is a blessing regardless of their strength. It makes colusion, conflict of interest and cartel more difficult, it drains from cheating software creators more resources to focus on more cheat guards, and it gives server owners plurality.    This arms race is a numbers game, you stop 90% of the cheaters you add value to all of us.    A couple of senior devs flexing their powers in a forum are not a concern.   If i'd ever make a server, I would definitelly buy from you, not because you have the best anti-cheat, but because you are not well known yet to be the focus of counter measures.     
    • TILL OPENING LEFT LESS THAN - 2 DAYS ! GRAND OPENING FROM - 10/07/2026, FRIDAY, 20:00 +3 GMT !
    • Add me on discord, lets talk   Discord: splicho
    • Add more information about your project, client, rates etc, this can help you find a developer more easily on your needs!
    • Hey guys! I am working on a new l2 private server and lookin for any developers who may be interested in helping me get it up n running. It would require a ton of work at the beginning, but once I am able to handle things on my own, I can do a lot of the work too. I just need someone who is tech savy to help me get things setup, make serious edits, and help me get this project going.   So far I have the project running on Java through eclipse. I have the server up locally, and pushing to GitHub. I just need help with managing edits to quests, skills, and other random functions to get me rolling.   Please reach out if you are interested!   Some current content I am working on: - Class skill edits - NPC skills, stats, and placements - Quest icons for turn in, completion, pick up etc - Quest logic (i.e. kill x mobs, turn in y amount, trigger a mini solo or mini group boss fights) I can handle the quest texts and story - Ability to more quickly upload changes to inventory, crafting, NPC stats/drops, etc... and gear setup. I would like to quickly add new recipes to shops or mob drops so players can start crafting it themselves
  • Topics

×
×
  • Create New...

Important Information

This community uses essential cookies to function properly. Non-essential cookies and third-party services are used only with your consent. Read our Privacy Policy and We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue..