lol.. do you even understand what they wrote there or did you just copy everthing? Your ctm signature is just wrong. It looks like you've tried copying the memory structure and trying to invoke it like a function
Code:
Memory Click To Move Block by By Malu05 - 2007
Offset Type Description Additional Details
0x0 = float ? ?
0x4 = float TURN_SCALE Value determining the scale of the turn (only when turning more than 180 degrees?),
0x8 = float ? ?
0xC = float INTERACTION_DISTANCE Value determining how far from the targeted position the player should stop.
0x1C = INT ACTION_TYPE The action trigger. See details about Action Type Below.
0x20 = 8int InteractGUID
0x74 = float X move to
0x78 = float Y move to
0x7C = float Z move to
THIS is a struct, not a function signature... and just look at the numbers on the left... they arent just for fun. They are the offsets into the struct because all values in between are mostly unknown or not important.
The ctm call is (at least in 5.4.7+) a thiscall and I doubt it has changed much since CTM got implemented into the game.
I'm using the following definition
Code:
[UnmanagedFunctionPointer(CallingConvention.ThisCall)]
public delegate bool CGPlayer_C__ClickToMoveDelegate(IntPtr thisPlr, ClickToMoveType type, ulong* GUID, WoWPosition* clickPos, float precision);
which should translate to something like this (I'm not a C++ coder so this might be wrong!)
Code:
typedef bool(__thiscall *clickToMove)(CGPlayer_C* playerPtr, int type, long long* GUID, WOWPOS* position, float precision);
I dont know about the offset though, you might want to take a look into my CTM Tutorial. http://www.ownedcore.com/forums/worl...icktomove.html ([HowTo] Find ClickToMove)