How do I find the flags for movement state? Does that function in the CObject_C class show that? I know it used to be a simple pointer in 2.4.3. I'm gonna be quite embarrassed if it's just a simple offset in the player base...
How do I find the flags for movement state? Does that function in the CObject_C class show that? I know it used to be a simple pointer in 2.4.3. I'm gonna be quite embarrassed if it's just a simple offset in the player base...
You should probably start being quite embarrassed then.
I'll do it for you.
/facepalm
I love how cypher responds to questions by answering them with a smart remark including the answer at the same time. Quite entertaining.
The devil has a bullet with his name on it.
What does your CMovement_C class look like? I've always just seen people use playerbase+offset to get the movement state.
Is this class still correct?
Code:class CMovementInfo { public: char unknown0[16]; //0x0000 idVec3 vecPos; //0x0010 float fHeading; //0x001C char unknown32[24]; //0x0020 WOWGUID wTransportGuid; //0x0038 DWORD dwMoveFlags; //0x0040 DWORD dwMoveFlags2; //0x0044 This is a weird one, only one byte seems to be used. char unknown72[20]; //0x0048 DWORD dwTimeMoved; //0x005C char unknown96[12]; //0x0060 float fSinAngle; //0x006C float fCosAngle; //0x0070 char unknown116[8]; //0x0074 DWORD dwFallTime; //0x007C float fFallStartHeight; //0x0080 char unknown132[8]; //0x0084 float fWalkSpeed; //0x008C float fRunSpeed; //0x0090 float fSwimBackSpeed; //0x0094 float fSwimSpeed; //0x0098 float fWalkBackSpeed; //0x009C float fFlySpeed; //0x00A0 float fFlyBackSpeed; //0x00A4 float fTurnSpeed; //0x00A8 float fJumpVelocity; //0x00AC };//Size=0x00B0(176)
Last edited by lanman92; 11-25-2008 at 12:22 AM.
I dumped the whole playerbase around X, Y, Z searching for 0x128(default playerstate). I didn't get any results at all. I dumped the pointer from the CMovementState_C class and dumped all values after that, still not seeing anything significant. I'm not sure what else I could do.
0x128 is movement state + 3 (last byte) assuming you were reading every 4 bytes you probably missed it.
the default is like 0x80000000 which is easy enough to find if you use a debugger on any known movement-related value. also i think it may reset to all 0's given some event.
Thank you so muchDid the values for any of the states change? I'm pretty sure they didn't, but I don't have WoW to check at the moment.
not that i know of but some of the playerState ones did so its possible and there might be new ones aswell.
also after a quick check i noticed 128 is a decimal value not a hex one.
Sweet, thanks again. Now I can get back to writing that bot... Heh.
Ok, I made a loop that finds my playerbase and starts posting the "movement state", but it doesn't seem to change when I change states. Should I be going for the playerstate?
I got an idea!
Make the games, dont break the games
Dude, what are you even talking about? I would prefer a serious answer. Someone come flame this *******... I wish someone would just ban you already.
Nicely done!
EDIT: Also, why does WoW point to the address space 12 bytes before X, Y, Z(which I just now realized was pointed to earlier in the playerbase...)?