Thursday, April 17, 2014

Changes to the chat code format

There have been a few changes to the item chat codes. I'll try to document these and also update the wiki later on.

Larger than UInt16

The first thing to note is that the item codes have now passed beyond 65535. This shouldn't be that much of a problem but it will probably break a lot of scripts. Don't just replace the second to last zero in your code (that's a terminator, it's not part of your item id) but make the code one digit longer.
For example the Balthazar Backpack Box - [&AgFoAAEAAA==] :
Wrong:
02 01 68 00 01 00
Right:
02 01 68 00 01 00 00

Wardrobe codes

The single click wardrobe preview codes (skins) use a separate header (0x0B) and only contain the index number for the skin. For example the Apprentice Coat Skin - [&CwQAAAA=]

0B 04 00 00 00
ValueDescription
0BHeader for wardrobe preview
04 00 00 00Skin #4

Multiple upgrades and skins

The way skins and upgrades are applied roughly works the same with only two major differences. First of all they've added several new data identifiers:
IdentifierDescription
0x00Default item
0x401 upgrade component
0x602 upgrade components
0x80Skinned
0xC0Skinned + 1 upgrade component
0xE0Skinned + 2 upgrade components
The largest change is the way skinning works. Items no longer use other item codes but wardrobe skin codes to apply a skin (0x0B). A couple of examples using:
NameIDHex
Zojja's Claymore46762AA B6
Dreamthislte Greatsword Skin37097D 0E
Superior sigil of bloodlust24575FF 5F
Superior sigil of force2461527 60

0x00 - Default item
02 01 AA B6 00 00
0x40 - 1 upgrade component
02 01 AA B6 00 40 FF 5F 00 00
0x60 - 2 upgrade components
02 01 AA B6 00 60 FF 5F 00 00 27 60 00 00
0x80 - Skinned
02 01 AA B6 00 80 7D 0E 00 00
0xC0 - Skinned + 1 upgrade component
02 01 AA B6 00 C0 7D 0E 00 00 FF 5F 00 00
0xE0 - Skinned + 2 upgrade components
02 01 AA B6 00 E0 7D 0E 00 00 FF 5F 00 00 27 60 00 00

No comments:

Post a Comment