I already wrote about this topic in the UHF Memory thread. But as it would be probably easier to keep track of the work and development of this topic, I decided to make a new thread about it.
What I have found out so far is the following (copied from my post in UHF thread):
That's what I've found so far:
Method to calculate the "control-click-coordinates" for an item that has been dropped.
1. Get the coordinates of the item (at offset 1a0 and 1a4, see above), let's call them $itemx and itemy
2. Get the coordinates of your char (x=
005696DC, y=005696E0), $charx and $chary
3. Get the ctrl-click coords of your char (the window-related coords you would have to click on to click your char.), let's say they are called $ctrlclickx (at 0x0056B114) and $ctrlclicky (at 0x0056B118)
4. Now, subtract the item's coords from the char's coords
5. Subtract the offsets from the ctrl-click-coords of your char.
Send a mousclick to the calculated coordinates.
While searching for the new addresses after the last patch, I found the following by chance:
Base: 0x005697E0 (not working for patch 5031)
Offsets: Same as for items on ground (0,10,19c)
At this address the item that just has been picked up is stored. Maybe this can be usefull to check the picked up stuff and drop useless crap.
If you have any questions, or if I should make anything clearer, feel free to send me a PM or drop a line in this thread.
What I have found out so far is the following (copied from my post in UHF thread):
That's what I've found so far:
The base address has been updated for the latest patch (5031).Quote:
At the moment (addresses are dynamic), items that are on the ground are stored in memory as follows:
Credits go to warriorchamp!
base address: 0x005697EC
offset 1: 0x0 (if you increase this by 4, you get the 2nd, 3rd and so on item)
offset 2: 0x10 (constant)
offset 3: 0x19C
Concerning offset 3:
at 19c - item ID
at 198 - timer, counting up, stops when item disappears or is picked up
at 1a0 - coordinate y ("absolute system", 5 digits)
at 1a4 - coordinate x
at 1a8 - = 1 if cursor is above item AND item can be picked, otherwise 0
at 214 - 4 bytes that change to zero when item is picked up, haven't found out what they mean yet. Maybe they have got something to with the item being free for everyone to pick up or not.
Method to calculate the "control-click-coordinates" for an item that has been dropped.
1. Get the coordinates of the item (at offset 1a0 and 1a4, see above), let's call them $itemx and itemy
2. Get the coordinates of your char (x=
005696DC, y=005696E0), $charx and $chary
3. Get the ctrl-click coords of your char (the window-related coords you would have to click on to click your char.), let's say they are called $ctrlclickx (at 0x0056B114) and $ctrlclicky (at 0x0056B118)
4. Now, subtract the item's coords from the char's coords
5. Subtract the offsets from the ctrl-click-coords of your char.
Send a mousclick to the calculated coordinates.
While searching for the new addresses after the last patch, I found the following by chance:
Base: 0x005697E0 (not working for patch 5031)
Offsets: Same as for items on ground (0,10,19c)
At this address the item that just has been picked up is stored. Maybe this can be usefull to check the picked up stuff and drop useless crap.
If you have any questions, or if I should make anything clearer, feel free to send me a PM or drop a line in this thread.