Page 1 of 1

Houseing permissions

Posted: Thu Oct 05, 2017 8:41 am
by Ememjr
it appears that housing permissions are not in game yet, i am taking suggestions on how to impletement,
there are at least 3 packets where the permissions are used that i know of
1. zoneinfo --- needs permission of the player zoning in
2. house info --- same as above
3. house access tab ---- list of players that have permission

the permissions that exist are

4. Owner
3. Trustee
2. Friend
1. Visitor
0. None

Re: Houseing permissions

Posted: Sat Oct 14, 2017 2:42 pm
by Ememjr
i am making progress on this
I am going to have a table that has all the permissions for all houses (possible GH as well, not sure since GH are stored in their own table) so possible GH will haveits own table

id
house/GH_id
player_id
access_level

Jab, do you have any ideas on when i should load this table ( it could get large) and will be used in 2 major places
1. the player will need the list of all the houses that he has access to. not just his own, but those he has been granted access, this one just adds to the visit house etc when its packet is created
a. i was thinking of loading this when the charater logs in, when you go up to a house it will use this one to show you permission on an individual house,

2. when you are in a house and click the door access and goto access tab i was thinking of loading this when the house zone loads so that anyone accessing that zone if its already loaded will not have to pull from db again

i want to do so we dont have to have so much in memory

Re: Houseing permissions

Posted: Sat Oct 14, 2017 3:03 pm
by Jabantiz
If you load it onto the player when they log in it will only need to be a map<house/guild hall ID, access_level> and it would only be for those logged in. If you load a global list it would need to be map<house ID, map<Player ID, Access_level> > and it would load for every character even if they haven't logged on in a while.

So if the goal is least amount of memory loading on the player upon logging in is the best option.