Move the toon menu

User Tag List

Results 1 to 11 of 11
  1. #1
    wamilou's Avatar Private
    Reputation
    1
    Join Date
    Jul 2014
    Posts
    6
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    Move the toon

    Hello everyone,

    I started to learn how to make a bot for WoW and with your forum, I made something that works. But now, I'm stuck about sending CTM (Click To Move) on the client.
    I don't really know what I'm doing wrong : maybe the offset I use or maybe I miss something important that I need to put into my code !

    Code:
    public void MoveTo(Position p)
    {
    IntPtr ptr = new IntPtr();
    byte[] x = BitConverter.GetBytes(p.X);
    byte[] y = BitConverter.GetBytes(p.Y);
    byte[] z = BitConverter.GetBytes(p.Z);
    byte[] walk = BitConverter.GetBytes((uint)4);
    
    MemoryAPI.WriteProcessMemory(handle, new IntPtr(wowAddressBase + 0x00D65D38 + 0x80), x, (uint)4, out ptr);
    MemoryAPI.WriteProcessMemory(handle, new IntPtr(wowAddressBase + 0x00D65D38 + 0x84), y, (uint)4, out ptr);
    MemoryAPI.WriteProcessMemory(handle, new IntPtr(wowAddressBase + 0x00D65D38 + 0x88), z, (uint)4, out ptr);
    
    MemoryAPI.WriteProcessMemory(handle, new IntPtr(wowAddressBase + 0x00D65D38 + 0x10), walk, (uint)4, out ptr);
    }
    This is my code for moving the toon with "mouse click simulation". "handle" is a IntPtr of the Wow Client. The "handle" works perfectly in another function to see if the client is connected and get the name of the connected toon. "Position" is a self-made class that contains X, Y and Z pos. And "wowAddressBase" is an integer that store the memory start position of the Wow Client : that works perfectly too like "handle".

    And also I used this thread for offset and this thread for understanding how it works

    So there is my problem and I will thank you for your future helpful answer

    PS : If there is anything you want to know, you can ask

    Move the toon
  2. #2
    namreeb's Avatar Legendary

    Reputation
    658
    Join Date
    Sep 2008
    Posts
    1,023
    Thanks G/R
    7/215
    Trade Feedback
    0 (0%)
    Mentioned
    8 Post(s)
    Tagged
    0 Thread(s)
    I would suggest that you attach OllyDBG to WoW, use CTM in game, and view the addresses those offsets point to to see if indeed you have them correct. If memory serves, you will also need to write the ctm type to memory.

  3. #3
    wamilou's Avatar Private
    Reputation
    1
    Join Date
    Jul 2014
    Posts
    6
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    I already see about OllyDBG, but I don't really know how to use it exactly after attach it to Wow.exe process :/ What do I need to use ? Memory map ? How to see changed values ?

  4. #4
    Corthezz's Avatar Elite User Authenticator enabled
    Reputation
    386
    Join Date
    Nov 2011
    Posts
    325
    Thanks G/R
    183/98
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    You are only setting the CTM coordinates to new values however there is no ctm action toggled.
    Check my blog: https://zzuks.blogspot.com

  5. #5
    wamilou's Avatar Private
    Reputation
    1
    Join Date
    Jul 2014
    Posts
    6
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Originally Posted by Corthezz View Post
    You are only setting the CTM coordinates to new values however there is no ctm action toggled.
    What do you means ? I missed something to do ?

  6. #6
    namreeb's Avatar Legendary

    Reputation
    658
    Join Date
    Sep 2008
    Posts
    1,023
    Thanks G/R
    7/215
    Trade Feedback
    0 (0%)
    Mentioned
    8 Post(s)
    Tagged
    0 Thread(s)
    Originally Posted by wamilou View Post
    What do you means ? I missed something to do ?
    Originally Posted by namreeb View Post
    If memory serves, you will also need to write the ctm type to memory.
    There is another parameter, for the ctm type. I suggest you use Ollydbg yourself to find the different type values. If you don't know how to attach Ollydbg and read memory with it, you're not going to get very far in your efforts. You should learn that before proceeding further. The different types are for terrain clicks vs looting vs object interacting, etc..

  7. #7
    wamilou's Avatar Private
    Reputation
    1
    Join Date
    Jul 2014
    Posts
    6
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    The another parameter is "IsClickToMoving" or the timestamp ?

    Move the toon-otzvflw-png

    I tested to put 2 on it like the game when I click to move my character. But it isn't moving. There is an order of writing values in memory ?
    I don't have any idea how to modify the timestamp if I need to :/

  8. #8
    namreeb's Avatar Legendary

    Reputation
    658
    Join Date
    Sep 2008
    Posts
    1,023
    Thanks G/R
    7/215
    Trade Feedback
    0 (0%)
    Mentioned
    8 Post(s)
    Tagged
    0 Thread(s)
    I am just guessing, but ActionType looks like the field I was referring to.

  9. #9
    wamilou's Avatar Private
    Reputation
    1
    Join Date
    Jul 2014
    Posts
    6
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    I already do that in my code :
    Code:
    public void MoveTo(Position p)
    {
    IntPtr ptr = new IntPtr();
    byte[] x = BitConverter.GetBytes(p.X);
    byte[] y = BitConverter.GetBytes(p.Y);
    byte[] z = BitConverter.GetBytes(p.Z);
    byte[] walk = BitConverter.GetBytes((int)WowAPI.ClickToMoveType.Move); <-- WowAPI.ClickToMoveType.Move Equals to 0x04
    
    MemoryAPI.WriteProcessMemory(handle, new IntPtr(wowAddressBase + 0xD0F39C + 0x80), x, (uint)4, out ptr);
    MemoryAPI.WriteProcessMemory(handle, new IntPtr(wowAddressBase + 0xD0F39C + 0x84), y, (uint)4, out ptr);
    MemoryAPI.WriteProcessMemory(handle, new IntPtr(wowAddressBase + 0xD0F39C + 0x88), z, (uint)4, out ptr);           
    
    MemoryAPI.WriteProcessMemory(handle, new IntPtr(wowAddressBase + 0xD0F39C + 0x10), walk, (uint)4, out ptr); <-- This line modify ActionType
    }
    I tried to run the program as administrator : nothing

  10. #10
    namreeb's Avatar Legendary

    Reputation
    658
    Join Date
    Sep 2008
    Posts
    1,023
    Thanks G/R
    7/215
    Trade Feedback
    0 (0%)
    Mentioned
    8 Post(s)
    Tagged
    0 Thread(s)
    Okay. Well try the 'IsClickToMoving' then. I will repeat my suggestion of using CTM in the game and watching how these values change. You then compare how the game sets the values to how you set the values and look for a change.

  11. #11
    wamilou's Avatar Private
    Reputation
    1
    Join Date
    Jul 2014
    Posts
    6
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    That's what I do :P
    I looked with Cheat Engine the values of each entry and I made the same but doesn't work :<
    I will keep looking and try to find a solution :P

    EDIT : I tested to make a npc select function but not working.
    I think my program fail to write values to memory because cheat engine doesn't show my written values or maybe values are invalid.
    I used this function to convert value into byte array :
    Code:
    byte[] BitConverter.GetBytes( value );
    And to implement memory write function :
    Code:
    [DllImport("kernel32.dll")]
    public static extern Int32 WriteProcessMemory(IntPtr hProcess, IntPtr lpBaseAddress, [In, Out] byte[] buffer, UInt32 size, out IntPtr lpNumberOfBytesWritten);
    I'm stuck there, because I don't know if the WriteProcessMemory is correct, the ReadProcessMemory works. Maybe the conversion is incomplete or wrong :/

    EDIT 2 : Found the problem, you can buy me a rope
    I forgot to give the OPERATION and WRITE permissions on the process.
    Last edited by wamilou; 07-06-2014 at 03:11 AM. Reason: Found solution

Similar Threads

  1. Move the interface bar?
    By Greymalkin in forum PE Support forum
    Replies: 3
    Last Post: 12-04-2015, 07:50 PM
  2. [Selling] My guild is now selling 0-2200 RBG carries. You play the toon!
    By rylean009 in forum World of Warcraft Buy Sell Trade
    Replies: 9
    Last Post: 11-27-2012, 05:56 AM
  3. [Buying] Account with Mimiron's Head on one of the toons
    By Lastwords in forum World of Warcraft Buy Sell Trade
    Replies: 0
    Last Post: 08-18-2012, 02:23 AM
  4. Moving the mouse to WoW coordinates
    By shomoiog in forum WoW Memory Editing
    Replies: 17
    Last Post: 02-15-2009, 07:27 PM
  5. Need advice on moving a toon from a traded account
    By Graverobberz in forum World of Warcraft General
    Replies: 3
    Last Post: 09-06-2008, 11:36 PM
All times are GMT -5. The time now is 08:32 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