- 0
[HELP] Implementing NPC Relations
-
Posts
-
Website: https://l2aurum.com/ Discord: https://discord.gg/ngaD9DJRjE Dear Players, We are excited to announce that the x300 Summer Season Beta server will open on 19‑06‑2026 at 20:00 GMT+2. As previously mentioned, there will be no wipe and no account deletion. All accounts, characters, items, and progress from Season 1 will remain completely safe. To ensure a fair and competitive start for new players, all Season 1 accounts will be temporarily locked. The official Summer Season launch will take place on 26‑06‑2026 at 20:00 GMT+2. A few weeks after the official launch, Season 1 accounts will be unlocked so previous players can access their characters and continue their journey. This approach allows new players to enjoy a fresh start while preserving the progress and achievements of our long-term community. Thank you for your continued support, and we look forward to welcoming everyone to the new Summer Season. L2Aurum Team Explore L2 Aurum Features Discover the Enhancements that set us apart! Information Server Version: Interlude - PvP Server Client Interface: Unique Interface Rates Additional Features and changes When you create a new character, you will start in Giran Harbor at Level 1, equipped with full No-Grade items. Auto Farm is available for free for 2 hour daily without VIP. VIP players receive 4 hours of Auto Farm per day. The Auto Farm time resets with the server restart at 5:30 AM. Status Noblesse: Last hit Barakiel. Player Spawn Protection: 7 seconds. Geodata + Pathnodes: Enabled. All commands are available in the Community Board. Maximum 3 Bishops Per Party: Enabled. Boss Protect - Anti-Zerg: Enabled. Shift + click on monsters to see the droplist. Offline shop. Mana Potion Restores 1000 MP with a cooldown of 8 seconds. Inventory Slots: 250. Weapon Information Lv1 Black Chaotic Weapons. Lv2 Aurum Weapons. Armor Information Lv1 Blue Apella Armor. Lv2 Aurum Apella Armor. Misc additions Accessories +50 and +150 pdef|mdef. Tattoos: Resolve | Soul | Avadon. Agathions: Cosmetic only (no stats). Buffs / Dances / Songs / Prophecies Duration: 2 hours. Total Buff Slots: 32 + 4 (Divine Inspiration). Vote Buff: You must vote on 3 of 6 vote sites to get the vote buff blessing. Castle Reward Every clan that captures a castle receives the castle owner clan blessing buff. To receive it, the clan leader must be online. Events Raid Bosses Epic Bosses Final Bosses For full server information please visit website PvP: Server Features Website: https://l2aurum.com/ Discord: https://discord.gg/ngaD9DJRjE
-
-
Topics

Question
dpbBryan
Hello everybody, nice to see all the useless help posts and some fimilar names.
Something that I've been working on is creating your own 'Instance' of the world independent of what other players do. To create a bit more of a dynamic role playing situation for players I've been wanting to implement relationships between NPC's. I'm currently using standard interlude L2j from the nightlies folder (r1434) incase you're wondering, though I'm wondering more about the concept of it rather than the practice.
The idea to paint an example of what I mean:
There is Tom and there is Joe. Tom is a trader. Tom receives his supplies from Joe and resells them. Joe is a traveling NPC which travels from location A to B. Joe dies, either by the hands of the player or a hostile NPC. Because Tom no longer has a supplier he cannot sell supplies anymore to the player.
Obviously it won't be so specific every time and it was just to illustrate what I mean but I want to implement something generic enough that I can define an entry point interface ( like checkRelation or something ) and from there script it myself in specific classes. However I'm running into trouble with a good implementation with the current system of npc's and spawning.
1) My original idea was to have the NPC's have a Map with the NPC id as the key and the value being some kind of relation interface (classes implement this with a doCheck as stated above, or something when the player interacts with the NPC). However NPC's can have multiple spawns, which means this is unreliable (or it can be managed if I'm the one managing the custom npcs)
2) The second idea is to use the spawn id's of npcs, however this wouldn't be known at compile time. To manage this I'd have to completely overwrite the current spawn system to make something to keep track of it then, which would then have to spawn things inside of a relation 'group'.
Anybody maybe have some kind of idea about how to go about this?
6 answers to this question
Recommended Posts