I have already got CTM working, however, is there a way to "full stop" the current CTM from moving without using any keystroke simulation? A specific function that supports this kind of abort would be fine. Thx for any help
I have already got CTM working, however, is there a way to "full stop" the current CTM from moving without using any keystroke simulation? A specific function that supports this kind of abort would be fine. Thx for any help
Not quiet sure, but you could try to send a new ctm with the current coordinates of the character that would "move" the character to the current position and verride the old ctm coordinates -> full stop
Or just look which functions get called on key pressing. Had been some lua stuff, iirc.
Write 0xD into the CTM_PUSH
Or just tap the back key :P
Won't work, the player keeps running forwards.
@OP:
If you're in-process, call CGPlayer_C__ClickToMoveStop:
Address: Wow.exe + 0x001BE050
Parameters: (uint) Local Player Pointer
Calling Convention: __thiscall
If not, I found a simple "hack" that will stop ClickToMove, write 0x00 to Wow.exe + 0x001C815F. You'll have to write 0x10 to it before the next CTM movement. It's dirty, but it'll get the job done.
I remeber i had same problem that the char turned around when trying to stop, heres how i solved it
Ctm Injection
or LUACode:public void Loop() { if (Unit.Range > 4.05f && ObjectManager.Me.TargetGUID != 0) { while (BotActive && Unit.Range > 4.05f && ObjectManager.Me.TargetGUID != 0) { ClickToMoveManager.CtmTo(Unit.X, Unit.Y, Unit.Z); System.Threading.Thread.Sleep(100); } ClickToMoveManager.CtmStop(); // prevent walking to ctm location } } public static void CtmStop() { Injection.ClickToMove(ObjectManager.Me.X,ObjectManager.Me.Y,ObectManager.Me.Z, 4, 0, 14); }
Code:public static void LuaStop() { Injection.InjectionManager.Lua_GetReturnValue("MoveBackwardStart();"); Injection.InjectionManager.Lua_GetReturnValue("MoveBackwardStop();"); }