Hello,I am looking for a way to retrieve values dexterity / intelligence / strength / vitality of objects.
I can without difficulty retrieve information via:ObjectManager / ObjManStorage / AttribGroupsContainer / AttribGroup / AttribFormula.
I get those strange values :
type on item decimal hexa
Code:
vita 75 1117126656 0x42960000
forc 138 1124728832 0x430A0000
dext 69 1116340224 0x428A0000
...
I notice the mask 0x42000000
For attribute values greater than 128 I find the value easily:
when the 9th bit is 1, the lower bits gives a value that simply add to 128 and gives us the value of the attribute of the object. 9th bit make me think a bit of overflow; there data i used :
( i split the 8th first bit because they are all 0)
Code:
type on item hexa binary
vita 136 0x4308 0100 0011 0000 1000
intel 137 0x4309 0100 0011 0000 1001
force 138 0x430A 0100 0011 0000 1010
intel 141 0x430D 0100 0011 0000 1101
intel 158 0x431E 0100 0011 0001 1110
intel 174 0x432E 0100 0011 0010 1110
vita 181 0x4335 0100 0011 0011 0101
intel 219 0x435B 0100 0011 0101 1011
But for dexterity/ intel / dext / vita less than 128 I get some really strange things and I can not understand how, here are the values I used for my tests:
( i split the 8th first bit because they are all 0)
Code:
type on item hexa binary
dext 44 0x4230 0100 0010 0011 0000
dext 69 0x428A 0100 0010 1000 1010
force 71 0x428E 0100 0010 1000 1110
vita 75 0x4296 0100 0010 1001 0110
intel 80 0x42A0 0100 0010 1010 0000
dext 84 0x42A8 0100 0010 1010 1000
dext 97 0x42C2 0100 0010 1100 0010
vita 112 0x42E0 0100 0010 1110 0000
anyone have a clue ?
PS : the only advantage for the moment is that I just sort my objects with stats above or below 128 ^ ^