Jump to content

Recommended Posts

Posted (edited)

I decided to share some knowledge regarding AI system on L2J, since someone asked me.

 

Hello Tryskell , I would like to learn about AIs? Are they important in L2J? Can you give me some info about them(about what exactly they are) because I see them a lot And i can't understand a lot. And then if you could tell me some .java files to read (from eclipse , l2 acis) to understand them better how they work? (with the proper row if possible)
thank you a lot, i wait for your answer !

 

 

Hello, you got different types of AIs and aspects, they all are melted together to form something called "AI".

 

You have to understand AI works differently on L2OFF compared to L2J. On L2OFF, each NPC got its particular script, while on L2J all is mutualized, then few scripts bypass basic behavior.

 

AI TYPES

 

To begin with, you got AI types. L2 got few : DEFAULT, MAGE, HEALER, ARCHER. Default launch skills under a 10 or 15% chance, and melee attack. Mage only launch skills, 2 types (far or near skills) depending about player position. They attack when oom. Healer only heal and flee under attack. Archers attack and got a % to flee when a player is near them.

 

GENERIC AI BEHAVIOR

 

On L2J, as stated higher, the behavior of any mob is mutualized under a unique AI script system. This system is localized into gameserver.ai. Then few scripts, located under data/scripts (notably the ai folder) bypass the regular behavior to handle special cases.

 

Generic AI system is kinda simple : an AI Object is linked to a L2Character, via the getAI() method (which creates this object if missing). The base of all AI is named AbstractAI, the behavior is shared amongst all AI types, or eventually overidden if it doesn't fit. Different AIs are linked to different types of instance : for example, L2PcInstance would be linked to a L2PlayerAI (which inherits behavior from L2PlayableAI, L2CharacterAI and AbstractAI).

 

The generic system works under an Intention system (Desire on L2OFF), you can find all (documented) cases on CtrlIntention.java. L2 is supposed to store the current and future intentions. Another layer used by the AI system in order to send the correct intention is CtrlEvent.java ; it lists all possible scenarii. AbstractAI got a follow task, L2AttackableAI got a general task (which allows the mob to interact every second with his environnement depending about the intention and event), while L2SummonAI got a avoid task (used when you hit a summon, he flees).

 

SCRIPTED AI BEHAVIOR

 

Another layer of AI system is called by scripts. Scripts handle specific scenarii, which would requiere to create a specific AI for a specific npcId. This system is heavily supported by quest system, notably Quest.java. QuestEventType lists all possible events. Basically said, listeners are written on specific point of code (aggro, cast a spell, move, etc). Once a listener is triggered, the content of script is used, which allow to bypass generic AI behavior. An important script is named L2AttackableAIScript.java. Those scripts are stored under data/scripts folder.

Edited by Tryskell
  • Upvote 2
Posted

Because it is important, i'll find time to sit in the evening to i learn what you say, reading. It is very important ...

Thank you for this share mate!

I want to know more about java, and it helps to i know a part of what i want..

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

    • I will have a special offer until April 19. If you are interested, don’t hesitate to send me a message.
    • ⚔️ LINEAGE II KHADIA ⚔️ Interlude PTS (L2OFF) • Mid Rate PvP • Custom Endgame Experience 🔥 NOT JUST ANOTHER SERVER — A REAL BATTLEFIELD 🔥 Welcome to L2Khadia, where classic Interlude meets competitive PvP and custom progression. No fake numbers, no empty promises — only action, economy, war and long-term gameplay. ━━━━━━━━━━━━━━━━━━━━━━ 📊 SERVER RATES EXP: x100 SP: x150 Adena: x300 Spoil: x15 ━━━━━━━━━━━━━━━━━━━━━━ ⚔️ WHY KHADIA? ✔ Original Interlude Mechanics & Formulas ✔ Mid Rate PvP Balance ✔ Real Clan Wars / Sieges / Olympiad ✔ Stable & Fair Economy ✔ Active Staff Team ✔ Long-Term Project Vision ━━━━━━━━━━━━━━━━━━━━━━ 🗡️ KHADIA CUSTOM CONTENT 🔥 Khadia Weapons – Unique power & visuals 🛡 Khadia Armor – Raid Boss drops & crafting 🧥 Khadia Cloaks – Endgame progression items 💎 Designed for competitive PvP ━━━━━━━━━━━━━━━━━━━━━━ 🎁 REWARD SYSTEMS 🏆 PvP / PK Reward System 📦 Daily PvP Reward Package 👑 Raid Package from Boss Extract Rewards 🗳 Vote Reward System 📈 Rankings: PvP / PK / Clans / Castles ━━━━━━━━━━━━━━━━━━━━━━ 💎 VIP FEATURES ✔ VIP Buff Coin ✔ Nick / Title Colors ✔ Special VIP Chat ( ^ Key ) ✔ Exclusive VIP Benefits ━━━━━━━━━━━━━━━━━━━━━━ 🎮 QUALITY OF LIFE ✔ Auto Loot for Farm ✔ Auto Loot Disabled for Raid Boss ✔ Offline Shop System ✔ Remote Buff Coin ✔ RaidBoss Status NPC ✔ PvP / PK Ranking NPC ━━━━━━━━━━━━━━━━━━━━━━ 🌍 FARM ZONES • Elven Fortress [80] – Medium • Cave of Trials [80+] – Party Hard • Monastery of Silence [80] – Medium • PvP Zones Around Raid Bosses ━━━━━━━━━━━━━━━━━━━━━━ 🏰 CLAN & SIEGE SYSTEM ✔ Full Interlude Clan System ✔ Max Clan Level 8 + Clan Skills ✔ Max 3 Clans per Alliance ✔ No Kick / Leave Penalty ✔ Weekly Castle Sieges ━━━━━━━━━━━━━━━━━━━━━━ 🚀 JOIN NOW – START YOUR LEGEND 🚀 🌐 Website: www.l2khadia.com 💬 Discord: https://discord.gg/DnZrgWn77n ━━━━━━━━━━━━━━━━━━━━━━ No Pay To Win • Fair Gameplay • Real PvP • Custom Endgame Content       We Wish you the best game ! 
    • First of all, he doesn’t even know English. He needs to learn it first.
    • Which copies are you talking about? Hahaha, stop crying, everyone knows you're a copy-paste, you can't even program "hello world".
  • 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..