Jump to content
  • 0

Guards attackable


Question

Posted

Hi:)

I have less than 10 posts so I have to post my question here.

 

I would like to make Guards attackable as a small kind of "bot protection". Bot choses targets randomly but cant target a PK Guard (ctrl needed). I would like to set a guard to be targeted without a ctrl.

 

I found this:

L2GuardInstance.java

if (containsTarget(player))

{

if (_log.isDebugEnabled())

_log.debug(player.getObjectId() + ": Attacked guard " + getObjectId());

 

// Set the L2PcInstance Intention to AI_INTENTION_ATTACK

player.getAI().setIntention(CtrlIntention.AI_INTENTION_ATTACK, this);    <-----this should be modified

 

Please help me and give any info how do do this.

 

Thank you.

Regards.

8 answers to this question

Recommended Posts

  • 0
Posted

Well dude.. im not a pro but i dont think that this should be changed, cuz i think this sends packet that guard is auto-attackable... and as i understanded u wanna have a guard auto-attackable.

>> if (containsTarget(player))  this is checking if player is in aggroList (if he got karma or he had attacked guard), so...

 

Delete everything else and keep just the ATTACK_INTENTION or put something else instead  "if (containsTarget(player))" this.

  • 0
Posted

well the control intention just the attack state the basic thing is applied to all kind of npc instance at the same place so i guess you need to lookup the l2npc.java maybe(idk what chronicle you use maybe its not there) or the attackableai.java

  • 0
Posted

Dunno.. i just tried to delete aggroList check and Interact check, and put just an AI_INTENTION_ATTACK and it kinda worked...

 

well thats really depends on the ai engine so you cant say its work generally :)

  • 0
Posted

what chronicle you use maybe its not there)

 

Gracia Final

 

Dunno.. i just tried to delete aggroList check and Interact check, and put just an AI_INTENTION_ATTACK and it kinda worked...

 

So code should be like this?

 

public void onAction(L2PcInstance player)
{
	if (!canTarget(player))
		return;

	// Check if the L2PcInstance already target the L2GuardInstance
	if (getObjectId() != player.getTargetId())
	{
		if (_log.isDebugEnabled())
			_log.debug(player.getObjectId() + ": Targetted guard " + getObjectId());

		// Set the target of the L2PcInstance player
		player.setTarget(this);
	}
	else
	{
                player.getAI().setIntention(CtrlIntention.AI_INTENTION_ATTACK, this);
	}
       }

 

Once again thank you guys for your time to help me ;)

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

    • the problem isnt the tech, its what you build on top of it. running a live server on a closed binary you didnt compile is risky by default. you cant audit it, you cant patch it, and when something breaks you dont have the source to know why.   the usual “but everyone uses the ncsoft client” is exactly the point. that binary isnt safe because its third party, its safe DESPITE being third party, for one reason only: 20 years of thousands of ppl tearing it apart byte by byte. whole protocol is documented, no surprises left. if it had anything weird in it we would have found it a decade ago.   this client is the opposite. its a fresh binary that a couple ppl looked at for a few days. and who made it matters. ncsoft is a dead corp that couldnt care less about your private server. this one is from a project thats alive, from someone who most likely doesnt want his client running someone elses server. im not saying it has anything in it. im saying you cant audit it and the author is not a neutral party. add that this same thread shows it gets reversed in days, so it gives you zero protection and full dependency.   for a weekend project who cares. for something with real players i wouldnt build my server on that.
    • Can I suggest some things. I'm not experienced with 3D graphics but I have the belief that they are easily implemented with high impact: Screen-Space Ambient Occlusion : Can this be added for mesh/objects (not npc/players cause it might be too tough on performance). Volumetric Fog / Gods Rays : Going through trees or local structures / meshes such as ruins, this will look amazing.   Depth of Field : I'm not sure if this is going to look good, but when you target a player, make the game focus on that layer of distance ? 
    • You want to buy a product to ensure high-quality development without any "quick-and-dirty hacks," only to get banned from a server you've been on for years—and why? Just because. Because someone thinks they're important enough to believe others want to "spy" on them. Anyway, I'll keep using Akumu's clients.   The client and other products might be great. Customer service? ZERO.   People who speak in the third person—that's something crazy people do.   Life goes on. XD
    • That is fine; they can remain with NCSOFT. That doesn't change anything about Fermata's legality. If NCSOFT wants to sue me, they can. I have lawyers. End of legal talk.
    • NCSOFT's terms also say that the intellectual-property rights in its software and content remain with NCSOFT/licensors and that users receive only the rights specifically granted by the terms. So no say that they can use on his own installation still iligal.... Make your own assets or you are cooked end
  • 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..