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?
DISCORD :
utchiha_market
telegram :
https://t.me/utchiha_market
SELLIX STORE :
https://utchihamkt.mysellix.io/
Join our server for more products :
https://discord.gg/hood-services
https://campsite.bio/utchihaamkt
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