fusspawn said:
Anyone still working at this?
I took a crack at it last night:
Current SWGEMU client values as of 30/1/2014:
PlayerX: SWGEmu.exe + 01913DEC
PlayerY: SWGEmu.exe + 01913DF0
PlayerZ: SWGEmu.exe + 01913DF4
Currently trying to find Player Rotation?
and the Ham Data. Im probally the only person still looking at this now I guess. :/
Necroing this so that people will have it if they are looking for this in the future. Most of the other stuff listed, player xyz, zoom, chasecam flag, still work.
I'll be putting the stable pointers down in the same way Cheat Engine displays them. Brackets [] and the arrow -> denote a pointer. If the address isn't in brackets, it's a final address and doesn't point to another.
------------------
Stable pointers to:
* Player HAM (health is the first val)
["SWGEmu.exe"+015471CC] -> [103F9B80 + 410] -> 0E0964F0
* Target HAM
["SWGEmu.exe"+0153461C] -> [225CDB20+124] -> [225CDC60+4] -> [225CDDC0] -> 225CDC60+480 = 225CE0E0
* Target Name
["SWGEmu.exe"+0152CFC0] -> [22600490+8] -> [0C9DF460+7E0] -> 1DB3B840
Note these are just one of a huge list of stable pointers to these values. I wasn't able to narrow it down. If anyone wants it I'll also upload a pack with the pointer scans, which are easy to update if they break.
---------------
Tutorial on finding Player HAM value:
1) Find out your character's Health and Strength value, then convert these into hex (individually). My character, due to some small wounds, had 796 Health and 12 Strength when I was doing it. 796 is 31C in hex, and 12 is C.
2) We're going to search for "Array of Byte". The format for searching for it is tricky to get right sometimes, so here's an example using the above values 796 and 12: 1C 03 00 00 0C 00 00 00. Replace 1C 03 and 0C with the appropriate values for your character in hex.
3) If you get more than one value, browse memory for each. You should only get at max 2-3 values for this. Only 1 or 2 of them will be valid, while the other has invalid huge ints surrounding it, and importantly doesn't have the Action and Mind values and their substats immediately following the Health values. Add only the ones that also have the Action and Mind values near the Health values.
4) If you need to get a stable pointer to this value, do a pointer scan for that address, then close the game (but not CE), reopen and attach the game, re-find the HAM address for the player, then do a Rescan in the pointer scan window for the new address. Whatever's left over should be stable pointers. Alternatively, do the same thing with the pointer files I've provided (do Open on the file menu in the pointer scan window).
Tutorial on finding Target HAM value:
This one is a bit easier as all you really need to do, aside from finding the stable pointer, is to target something, like a creature in the wild, search the Health value, then target something else with a vastly different value (switching between a lair and a lowbie enemy is good), and search the new value. Most of the original values will be filtered out.
Then do pointer scanning and rescanning as needed (pointer scan files for this also available).
---------
Pointer scan files will be linked a bit later on today.
-----------
009FFD8E is the address where it pushes the string for "No such command, mood or chat type:" and then your input text. If you inject a jmp to your own code here, you can implement new /commands.