Click to Move Problem menu

User Tag List

Results 1 to 6 of 6
  1. #1
    Rival-Fr's Avatar Banned
    Reputation
    15
    Join Date
    Apr 2009
    Posts
    119
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    Click to Move Problem

    Hi all

    My function Click to Move at a pos xyz dont work


    Code:
    CTM_X = &H111812C
    CTM_Y = &H1118130
    CTM_Z = &H1118134
    CTM_DISTANCE = &H11180AC
    CTM_PUSH = &H11180BC

    Code:
        Public Shared Sub Move(ByVal X As Single, ByVal Y As Single, ByVal Z As Single)
            Config.Memoire.WriteFloat(Adresse.CTM_DISTANCE, 0.5)
            Config.Memoire.WriteFloat(Adresse.CTM_X, X)
            Config.Memoire.WriteFloat(Adresse.CTM_Y, Y)
            Config.Memoire.WriteFloat(Adresse.CTM_Z, Z)
            Config.Memoire.WriteInt32(Adresse.CTM_PUSH, 4)
        End Sub
    I dont find problem.

    If one can help me please

    Click to Move Problem
  2. #2
    vulcanaoc's Avatar Member
    Reputation
    31
    Join Date
    Jul 2008
    Posts
    125
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    You're using VB.NET

    'nuff said


    But seriously, I think you might be leaving out some required writes. Also, try clicking to move once before you perform these memory writes and see if it works. Also make sure Click to move is turned on in your options.

    Originally Posted by vulcanaoc View Post
    Check it out: thread title: [3.1.1] Movement with simple memory writes

    "Har Har Har" people can do it properly by calling the actual function. Or they can follow the... following if they don't feel like using code injection:

    Required Memlocs:
    -------------------------------
    All text in quotes is a type of what you all call "patterns". The substring before the first "," is a Regex pattern to match before a number of bytes. The substring after the first "," is a pattern to match after a number of bytes. If there is a second ",", the integer after it represents how many bytes in between the two patterns there are. Otherwise, four bytes are assumed.
    I also included the results that these patterns would yield in 3.1.3.
    Code:
    InterfaceOptionsMouse_Pointer = "75-25-A1,39-50-XX-74" //3.1.3: 0x11D40C0
    InterfaceOptionsMouse_ClickToMove_Offset = "75-XX-A1-XX-XX-XX-XX-39-50,74-XX-D9-EE,1" //3.1.3: 0x30
    ClickToMoveUnk1 = "D9-5D-XX-57-D9-05,D8-4D-XX-DD-05" //3.1.3: 0x11180A4
    ClickToMoveTightness = "75-64-83-F8-04-D9-05,D9-55-XX-75-XX-8B-8E" //3.1.3: 0x11180AC
    ClickToMoveX = "8B-06-A3,89-0D-XX-XX-XX-XX-8B-4E" //3.1.3: 0x111812C
    ClickToMoveGUID = "8B-06-A3-XX-XX-XX-XX-89-0D,8B-4E-XX-89-0D" //3.1.3: 0x11D3F68
    ClickToMoveGoType = "8B-4D-XX-89-0D,E8-XX-XX-XX-XX-8B-13" //3.1.3: 0x11180BC
    Required Code: (or similar)
    -------------------------------
    Code:
    public void DoClickToMove(Location location, ClickToMoveType ctmType)
    {
    //retrieve required memory locations
    
    //required to enable ctm
    int ctmOptionAddr = wow.memlocs.GetMemloc("InterfaceOptionsMouse_Pointer");
    int ctmOptionOffset = wow.memlocs.GetMemloc("InterfaceOptionsMouse_ClickToMove_Offset");
    ctmOptionAddr = wow.memory.ReadInt(ctmOptionAddr) + ctmOptionOffset;
    
    //required to perform ctm
    int ctmXAddr = wow.memlocs.GetMemloc("ClickToMoveX");
    int ctmTypeAddr = wow.memlocs.GetMemloc("ClickToMoveGoType");
    int ctmGUIDAddr = wow.memlocs.GetMemloc("ClickToMoveGUID");
    int ctmUnk1Addr = wow.memlocs.GetMemloc("ClickToMoveUnk1");
    int ctmTightnessAddr = wow.memlocs.GetMemloc("ClickToMoveTightness");
    
    //write enable ctm
    wow.memory.WriteInt(ctmOptionAddr, 1);
    
    //write location info
    wow.memory.WriteFloat(ctmXAddr, location.X);
    wow.memory.WriteFloat(ctmXAddr + 0x4, location.Y);
    wow.memory.WriteFloat(ctmXAddr + 0x8, location.Z);
    
    //write guid info
    wow.memory.WriteLong(ctmGUIDAddr, wow.memory.ReadLong(wow.memlocs.GetMemloc("CurrentTargetGUID")));
    
    //write other required info
    wow.memory.WriteFloat(ctmUnk1Addr, 14.0f); //this seems to work...
    wow.memory.WriteFloat(ctmUnk1Addr + 0x4, 0.25f); // normal scale turn radius
    wow.memory.WriteFloat(ctmTightnessAddr, 0.5f); // set to stop if distance from xyz is 0.5 or less
    
    //write ctm "go" type/bit
    wow.memory.WriteInt(ctmTypeAddr, (int)ctmType);
    }

  3. #3
    Rival-Fr's Avatar Banned
    Reputation
    15
    Join Date
    Apr 2009
    Posts
    119
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    My problem is solved, I had confused X with Y in my creator of Wp ^^

    Sorry, my code work

  4. #4
    bouh2's Avatar Active Member
    Reputation
    28
    Join Date
    Mar 2008
    Posts
    83
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Code of BH-Tool

    Code:
            #region Adress & Offsets
            private static uint AdressCTM = 0x11180A0;
            enum OffCTM : uint
            {
                Unknown1 = 0x0,
                TurnScale = 0x4,
                Unknown2 = 0x8,
                InteractDistance = 0xC,
                ActionType = 0x1C,
                InteractGuid = 0x20,
                MoveX = 0x8C,
                MoveY = 0x90,
                MoveZ = 0x94
            }
            enum ActionType : uint
            {
                FaceTarget = 0x1,
                Stop = 0x3,
                WalkTo = 0x4,
                InteractNpc = 0x5,
                Loot = 0x6,
                InteractObject = 0x7,
                Unknown1 = 0x8,
                Unknown2 = 0x9,
                AttackPos = 0xA,
                AttackGuid = 0xB,
                WalkAndRotate = 0xC
            } 
            #endregion
    
            #region Base move
            public static void MoveTo(Vector3D Pos)
            {
                if (Process.isLoaded)
                {
                    Process.WowProcess.WriteFloat(AdressCTM + (uint)OffCTM.MoveX, Pos.X);
                    Process.WowProcess.WriteFloat(AdressCTM + (uint)OffCTM.MoveY, Pos.Y);
                    Process.WowProcess.WriteFloat(AdressCTM + (uint)OffCTM.MoveZ, Pos.Z);
    
                    Process.WowProcess.WriteInt(AdressCTM + (uint)OffCTM.ActionType, (int)ActionType.WalkTo);
                }
                else throw new Exception("Not loaded");
            }
    
            public static void MoveToAndInteract(WowObject Object)
            {
                if (Process.isLoaded)
                {
                    Vector3D Pos = Object.GetVector();
    
                    Process.WowProcess.WriteUInt64(AdressCTM + (uint)OffCTM.InteractGuid, Object.Guid);
                    Process.WowProcess.WriteFloat(AdressCTM + (uint)OffCTM.MoveX, Pos.X);
                    Process.WowProcess.WriteFloat(AdressCTM + (uint)OffCTM.MoveY, Pos.Y);
                    Process.WowProcess.WriteFloat(AdressCTM + (uint)OffCTM.MoveZ, Pos.Z);
    
                    Process.WowProcess.WriteInt(AdressCTM + (uint)OffCTM.ActionType,
                        Object.Type == 3 ? ( Object.IsDead ? (int)ActionType.Loot : (int)ActionType.InteractNpc )
                        : (int)ActionType.InteractObject);
                }
                else throw new Exception("Not loaded");
            } 
            #endregion

  5. #5
    bigtimt's Avatar Active Member
    Reputation
    41
    Join Date
    Mar 2008
    Posts
    100
    Thanks G/R
    2/4
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Just for the record, you don't have to have click to move on and you don't have to initiate it by using click to move manually.

  6. #6
    vulcanaoc's Avatar Member
    Reputation
    31
    Join Date
    Jul 2008
    Posts
    125
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Originally Posted by bigtimt View Post
    Just for the record, you don't have to have click to move on and you don't have to initiate it by using click to move manually.
    Just tested the first part of this claim (seeing as I already know the second to be true). It's true- at least if you do the writes properly. I guess I tested this whole thing incorrectly.

Similar Threads

  1. Interact problems with Click to move
    By natt_ in forum WoW Memory Editing
    Replies: 3
    Last Post: 09-28-2014, 02:12 PM
  2. [Bot] Click to move problem (1.12.1)
    By Corthezz in forum WoW Memory Editing
    Replies: 4
    Last Post: 02-09-2013, 12:35 AM
  3. Click to move problem
    By pepe2c in forum WoW Bots Questions & Requests
    Replies: 0
    Last Post: 02-04-2013, 06:27 PM
  4. Click to move problem
    By melavi in forum WoW Memory Editing
    Replies: 7
    Last Post: 05-25-2011, 02:47 PM
  5. Click to move?
    By ashleyww in forum WoW Memory Editing
    Replies: 32
    Last Post: 07-18-2009, 08:48 PM
All times are GMT -5. The time now is 08:03 PM. Powered by vBulletin® Version 4.2.3
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved. User Alert System provided by Advanced User Tagging (Pro) - vBulletin Mods & Addons Copyright © 2024 DragonByte Technologies Ltd.
Digital Point modules: Sphinx-based search