Tabbed Inventory DB

08/23/2016 04:38 Lodelight#1
Does any one have this and are they will to share the db changes for it? I know a few servers have it, i just need the db edits is all.

Thanks!
08/23/2016 10:28 Sedrika#2
Did you tried to do it by yourself so we may help you out ?
08/23/2016 14:46 Drabur#3
Quote:
Originally Posted by Lodelight View Post
Does any one have this and are they will to share the db changes for it? I know a few servers have it, i just need the db edits is all.

Thanks!
i can sell it
08/23/2016 17:47 Lodelight#4
Quote:
Originally Posted by Drabur View Post
i can sell it
I'm not buying sql changes lol.

Quote:
Originally Posted by Avalion View Post
From the system I have of tabbed inventory, it is a bit messy but it is something probably like so.


CDbManager::SendPlayerList
-> Sends S2 to character str
-> It is requesting m_Inventory, m_Inventory2, m_Inventory3, m_Inventory4
-> Requests 4 x the other inventory arrays.

Because it is requesting that data, we will need to add the values into the table "INVENTORY_TBL" and update the table to withhold the new varchar sizes.
[Only registered and activated users can see links. Click Here To Register...]


CDbManager::Join
-> Moving on to further information, this function passes "S8" to the character str.
-> We Notice that this function also calls GetInventory which also expects having access to other table information that we have yet to come across. In S8, we will noticed it is "INVENTORY_EXT_TBL".
-> Because we are still pulling the new inventory, we need to add the values and then compensate the db for the new varchar lengths.

[Only registered and activated users can see links. Click Here To Register...]
-> The values in the db could be more proper, but for this explanation I am multiplying the value by 4. Varchar in mssql cannot have a number if they are above 8000, thus varchar(max) had to be used.


If we load an inventory, we must save a players inventory, so
CDbManager::SavePlayer
-> Calls U1
-> Adds 3 params to the save, and binds parameter.

Now, the one that I have access too, looks like it stores the main column as 4 columns rather one and then multiplicates the rest by 4. Other than that, it also looks like it reads it all into one value after reading -- then having to separate on save.
Thanks will look into this :)
08/23/2016 17:57 Drabur#5
Quote:
Originally Posted by Avalion View Post
From the system I have of tabbed inventory, it is a bit messy but it is something probably like so.


CDbManager::SendPlayerList
-> Sends S2 to character str
-> It is requesting m_Inventory, m_Inventory2, m_Inventory3, m_Inventory4
-> Requests 4 x the other inventory arrays.

Because it is requesting that data, we will need to add the values into the table "INVENTORY_TBL" and update the table to withhold the new varchar sizes.
[Only registered and activated users can see links. Click Here To Register...]


CDbManager::Join
-> Moving on to further information, this function passes "S8" to the character str.
-> We Notice that this function also calls GetInventory which also expects having access to other table information that we have yet to come across. In S8, we will noticed it is "INVENTORY_EXT_TBL".
-> Because we are still pulling the new inventory, we need to add the values and then compensate the db for the new varchar lengths.

[Only registered and activated users can see links. Click Here To Register...]
-> The values in the db could be more proper, but for this explanation I am multiplying the value by 4. Varchar in mssql cannot have a number if they are above 8000, thus varchar(max) had to be used.


If we load an inventory, we must save a players inventory, so
CDbManager::SavePlayer
-> Calls U1
-> Adds 3 params to the save, and binds parameter.

Now, the one that I have access too, looks like it stores the main column as 4 columns rather one and then multiplicates the rest by 4. Other than that, it also looks like it reads it all into one value after reading -- then having to separate on save.
thats not all