Question: ItemType.dat....

06/22/2006 14:47 WaRpEd#1
Has anyone fully deciphered the itemtype.dat....

I mean like I can tell theres items for 3 different qualities of normal, then ref, uni, elite, sup... I was wondering though how the client stores the +1 or the "Fixed" factor of it... well maybe the fixed items have their own item # but what about the +1....

It has to be stored somewhere... ie memory??

Can anyone help me determine where the value is stored?
Choco im sure you know since your cotobo yells at me when ever I pick up a +1 item LOL

memory address or packet info would be appreciated
06/22/2006 15:23 unknownone#2
Fixed items are part of the ItemType.dat structure, as are uni, elite, ref etc, so thats easy to do.

The way these work, is a number added to their ItemTypeID. 0:Fixed, 3-5:Normal 6:Ref, 7:Uni, 8:Elite, 9:Super.
So you just do ItemTypeID modulus 10 for the quality. It works for anything that is equipment, but obviously, not quest items and otehr shit.
(check out my itemtype.dat editor source to see the full info for the file)

+1 info, bless, enchant, sockets are completely independant of ItemType.dat. They are specific to individual items and not the ItemType.
We receive all the information for each item in a 0x3f0 packet, and it is stored in memory, I think, dynamically assigned. You'd need to defeat DMA to get item locations, which could be challegning, or another way would be to search an area of memory with the ItemID, which should find the whole info on that item.

Anyway, the 0x3f0 packet
Code:
typedef struct packet0x3f0 { 
 * *WORD size; 
 * *WORD PType; //0x3f0 
 * *DWORD Identifier; //PlayerID or ItemID, decided by Mode
 * *DWORD ItemTypeId; 
 * *WORD MaxDura; 
 * *WORD RemainingDura; 
 * *WORD Mode; 
 * *BYTE EquipSlot; //0 for inventory
 * *BYTE Socket1; 
 * *BYTE Socket2; 
 * *WORD RebornEffect; 
 * *BYTE Compositon; 
 * *BYTE Bless; 
 * *BYTE Enchant; 
 * *BYTE Padding[6]; 
} ItemInfoPacket;

/*
Modes
0x01: Item is on your person (when receiving)
0x02: Item appears in trade window
0x03: Item is on your person (When upgrading/changing etc)
0x04: Item is on another person (View euipment)
*/
06/22/2006 16:25 WaRpEd#3
thx alot for the help, thats almost exactly what I wanted