http://imagebin.ca/img/tLxEXIY.html
This shows the way you would get the name of the second object
this is correct:
http://imagebin.ca/img/tLxEXIY
ehm type is text? when i change this to text i get something like |-G|
---
ok now i need to decide wether VS c++ or VB6 i prefere vb6 because i just started with c++ but vb6 got problemes with floats...i need to check for reading floats from memory.
hm ok i changed it to text (13) now it is cycling thru some names.
Like with most storage techniques data is never erased as that is a pointless process in most cases. The data is simply overwritten with new data. The objects inside the array are constantly being moved around. I assume this is done so that the list is always small to reduce the search time to find an object. If an object is no longer in use it is possible that it gets overwritten with other data. Also if the object is not a mob/npc then structure of the object is going to be different (the order and places variables are stored) that is why sometimes the text appears as random characters.
hrhr here we go:
---
Is there a way how i can determinate how many objects there are?
Because if i read the first object it will change after a while ... so if i would like to create some radar function then i have to know how many objects there are so that i can make a loop to loop thru every object. althoug the first object is changing all the time...hmm
this is so interesting :> I wish i would have more time atm ^^
heyho...
how do i find a offest for my target name o_O????
scanning for the target name would give me like 40-150 adresses but only one changes when i change my target but scanning for the pointer i get only something like
mov [edi+ecx*4-04],eax but i don't know atm how to handle this.
edi+ecx*4-04 would seem to mean that it is looking up the objects name in the object list. edi would be the start of the pointer array that points the the game objects (I refer to the list of pointers as the game objects list) and ecx would be the object number inside of the list (the index in the array). The way I look up my targets name is the same way the game is doing it. I read the current target serial and then look through the array of game objects checking to see if they have the same serial number. if they do then i read the name of that object.
ajajaj aoc updated but good that it only changed a bitjust add fd0 and here we go ^^
would someone explain to me how i can obtain in an easy way the rest of a struct?
defthack provided me some usefull information for object x/y/name...if found z and serial but how can i obtain stuff like level, health, face direction and so on?
what i tried:
i see the address for some object and the values like x/y/z. i know that a object is level 80 so i do a scan for 2 byte 80. now i look for some addresses that are near my address for x/y/z but i still can't find the right one :/
some advice ?
I had trouble finding the objects level as well it doesnt seem to be stored as an int in the object data block, but the same method you used to try to find level should work for health. For the facing direction it should be located after where X/Y/Z are stored. I usually have a friend help out and just use the view memory region command in CheatEngine and whatch the memory change as they turn. (This can also be done with npcs who follow a path so you can watch the changes as they turn and stand still.)
hi defthack,
ok i see maybe i will be able to find the facing direction. BUT i still can't find the level. I tried it this way:
looked at the table for object 1 and see: 375a3cb4 is my Y
so now i seach 2 byte 80 and search thru the list something that is 80 and near 375a3cb4
but this doesn't seems to work :/
rotation the same.
i managed to find health/mana/endu but i need to test it.
That is the method I used to try to find the level and its not there. Either its not stored as a 4 byte integer, or its not stored as just 80 (possibly total exp and a calculation is done to get level?), or it is stored in another place.
Health/Mana/Endurance should be stored there as the value *100 and rounded (either floor or ceiling I don't remember) just do a search for beteeen value __ and __ Where the values are health/mana/endu-1*100 and health/mana/endu+1*100 to find it.
I've found that already as they are the same offsets as MY_healt/mana/endu.
Just give me a sign when you want to play with me or do some nasty stuff :>
my offer that i wrote to you per pm is still actual (maybe some EU server would it make easier for me)...
for the level i think i need to create a new char at level 1, level up and search each level till i get something usefull. I gonna try your suggestion too.
---
damit......
16 days till i finish my studies -_- then i can finaly read more about directX in VB and create some overlay or something else.
I don't think creating a level 1 and searching for 1 then leveling to 2 and searching for 2 will do much as the value isint stored as 80 at level 80. If you were to store the data for your character at level 1 then again at level 2 you could find out what changes are made and might be able to find it that way. (Multiple snapshots at level 1 and level 2 to filter out what changes without your level changing)
I don't plan on playing Age of Conan again anytime soon. I have gone back to WoW. I'm working on writing addons to go with simple macros to automate repetitive auction house tasks.
School starts back up for me in 15 days.
For my simple interfaces I used the standard gui functions (user32.dll)
Windowing
or the GUI (gdi32.dll) library for more advanced overlays
Windows GDI Start Page (Windows)