Instance create using CharID

Rosiel

New member
Messages
8
Points
0
It would be very nice to see the instance system to be able to create instances for individual characters.

I will hopefully have some time next month to implement this, nevertheless I wanted to post the idea here to see how it is received.

 
Last edited by a moderator:
Could be useful for quest lines which require a special map which may only be accessed by that particular person. Or some timed 1on1 arena for 2 players. (would need 2 char_ids to be transmitted).

I would surely use it.

 
Last edited by a moderator:
Yes it's indeed a good idea. Individual instancing is much better than reserving maps for individual use as it's done right now. because it's resource and memory cost-efficient.

 
Good Idea. Also, if possible I want to suggest a way where you can get the unique instance ID attached for every player inside the instance map generated by the server. This way, we can create a custom script command like getinstanceid,<char id>; and joininstance,<instance id>; and depending on the instance setup, this can be PvP, Co-op, or Individual instance. (We can also do a battleground instanced map! We just have to improve Gravity's Instancing ideas.)

 
Last edited by a moderator:
Good Idea. Also, if possible I want to suggest a way where you can get the unique instance ID attached for every player inside the instance map generated by the server. This way, we can create a custom script command like getinstanceid,<char id>; and joininstance,<instance id>; and depending on the instance setup, this can be PvP, Co-op, or Individual instance. (We can also do a battleground instanced map! We just have to improve Gravity's Instancing ideas.)
One could add an Id to the map_session_data structure.

I took a short look at the instancing code, as far as I can see one would need a second instance_create which would accept a charid, instance_create_sd or something like that.

instance_destroy would need to be modified so it does update the sd variable and not the party variable if that is set. One would also have to make sure that a party can not start an instance at the same time as when one of it's members is in an instance and vice versa.

I also do not like how the instancing module is just using a global array with MAX_INSTANCE, this could be solved much better using a linked list and allocation on demand, but it works so I am not touching that.

I am not very familiar with Hercules code, it would be very helpful if one of the developers could comment this post and tell me if what I have in mind is a good idea or not.

 
Back
Top