Item ID: Difference between revisions
Add note about stackable items |
Add 3rd and 4th clients (and clarify what the client IDs are). |
||
Line 1: | Line 1: | ||
Item IDs are treated somewhat strangely by PSO... Here's a few notes regarding them that I've figured out from what I've learned thus far... | Item IDs are treated somewhat strangely by PSO... Here's a few notes regarding them that I've figured out from what I've learned thus far... | ||
The first client in a lobby's Item IDs are (when a game starts) 0x002100xx, where xx is the position in the inventory. This is regardless of what the character data says when the game starts. The second client in a lobby's Item IDs are formed similarly, but are 0x004100xx. | The first client (whose client ID is 1) in a lobby's Item IDs are (when a game starts) 0x002100xx, where xx is the position in the inventory. This is regardless of what the character data says when the game starts. The second client (whose client ID is 2) in a lobby's Item IDs are formed similarly, but are 0x004100xx. The third person in the lobby (client ID 3) has Item IDs of the form 0x006100xx. The last person in a lobby (with client ID 0) is formed as 0x000100xx. | ||
When an item is picked up in-game, the item ID does not change from what the item on the ground said it was. It will change when the user leaves the lobby (to match what is stated above), but will not actually change in the character's data until the user logs off. When a user picks up an item that is stackable (Monomate, for instance), if they already have a stack of them, the new item gets added to the current stack (and thus inherits the current stack's ID). | When an item is picked up in-game, the item ID does not change from what the item on the ground said it was. It will change when the user leaves the lobby (to match what is stated above), but will not actually change in the character's data until the user logs off. When a user picks up an item that is stackable (Monomate, for instance), if they already have a stack of them, the new item gets added to the current stack (and thus inherits the current stack's ID). | ||
Meseta has an Item ID when its on the ground, but does not appear in the user's inventory (it is stored elsewhere in the character data). Removing meseta from a user is done by using a delete item message ([[Packet 0x60#Subcommand 0x29|Packet 0x60, Subcommand 0x29]]) with the Item ID set to 0xFFFFFFFF. | Meseta has an Item ID when its on the ground, but does not appear in the user's inventory (it is stored elsewhere in the character data). Removing meseta from a user is done by using a delete item message ([[Packet 0x60#Subcommand 0x29|Packet 0x60, Subcommand 0x29]]) with the Item ID set to 0xFFFFFFFF. |
Revision as of 02:43, 1 December 2010
Item IDs are treated somewhat strangely by PSO... Here's a few notes regarding them that I've figured out from what I've learned thus far...
The first client (whose client ID is 1) in a lobby's Item IDs are (when a game starts) 0x002100xx, where xx is the position in the inventory. This is regardless of what the character data says when the game starts. The second client (whose client ID is 2) in a lobby's Item IDs are formed similarly, but are 0x004100xx. The third person in the lobby (client ID 3) has Item IDs of the form 0x006100xx. The last person in a lobby (with client ID 0) is formed as 0x000100xx.
When an item is picked up in-game, the item ID does not change from what the item on the ground said it was. It will change when the user leaves the lobby (to match what is stated above), but will not actually change in the character's data until the user logs off. When a user picks up an item that is stackable (Monomate, for instance), if they already have a stack of them, the new item gets added to the current stack (and thus inherits the current stack's ID).
Meseta has an Item ID when its on the ground, but does not appear in the user's inventory (it is stored elsewhere in the character data). Removing meseta from a user is done by using a delete item message (Packet 0x60, Subcommand 0x29) with the Item ID set to 0xFFFFFFFF.