the movemnet struct is @ Playerbase+D8
Code:
MovementFields struct
MovUnk1 dword ? ; 00
MovUnk2 dword ? ; 04
MovUnk3 dword ? ; 08
MovUnk4 dword ? ; 0C
PlayerCoordX dword ? ; 10
PlayerCoordY dword ? ; 14
PlayerCoordZ dword ? ; 18
MovUnk5 dword ? ; 1C
PlayerRotation dword ? ; 20
PlayerHorizont dword ? ; 24
.....
MovementFields ends
So:
SetPlayerFacingXY [[pBase + 0xD8]+0x20]
SetPlayerFacingHorizont [[pBase + 0xD8]+0x40]
How do you guys go about it? Is there a hold key function
Ripped from old code:
Code:
HoldKey proc proc Key:DWORD, mySleepTime:DWORD
invoke keybd_event, Key, 0, 0, 0 ; key down
invoke WaitForSingleObject, xHandle, mySleepTime ; wait the moment
invoke keybd_event, Key, 0, KEYEVENTF_KEYUP, 0 ; key up
ret
HoldKey endp
HoldKey proc proc Key:DWORD, mySleepTime:DWORD
invoke SendMessage,hWndWoW, WM_KEYDOWN,Key,0
invoke WaitForSingleObject, xHandle, mySleepTime ; wait the moment
invoke SendMessage,hWndWoW, WM_KEYUP,Key,0
ret
HoldKey endp
both should work depense how you gonna use it
I write my facing and then tap the turn key for 1ms in both directions. I'm sure there's a better way, but this works pretty well. Also.
i used to stop moving for 10ms,set rotation,waiting 10ms and go on.