loot with CTM problem menu

User Tag List

Results 1 to 13 of 13
  1. #1
    phthegreat's Avatar Corporal
    Reputation
    3
    Join Date
    Mar 2010
    Posts
    21
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    loot with CTM problem

    Hi!
    After reading these threads:
    http://www.mmowned.com/forums/world-...t-looting.html
    Click To Move - WoW.Dev Wiki
    I try to do autolooting. But when I write the memory, my toon just run torwards the corpse ,pass it but never stop to bend down
    Here is my question:Can CTM or any other way make the loot window pop up?
    Thanks a lot

    loot with CTM problem
  2. #2
    WannaBeProgrammer's Avatar Member
    Reputation
    2
    Join Date
    Feb 2009
    Posts
    156
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Call it to move to the mobs corpse and after that call it to loot.

  3. #3
    Apoc's Avatar Angry Penguin
    Reputation
    1388
    Join Date
    Jan 2008
    Posts
    2,750
    Thanks G/R
    0/13
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Or simply turn CTM on, and call obj.Interact(); (assuming you're in process)

    If not, you'll need to do what WannaBeProgrammer said.

  4. #4
    phthegreat's Avatar Corporal
    Reputation
    3
    Join Date
    Mar 2010
    Posts
    21
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Originally Posted by WannaBeProgrammer View Post
    Call it to move to the mobs corpse and after that call it to loot.
    Is my Pseudo-code right?
    Code:
                    //First Move to the mobs corpse
                    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);
                    //Then Write the memory again to loot
                    Process.WowProcess.WriteUInt64(AdressCTM + (uint)OffCTM.InteractGuid, Object.Guid);
                    Process.WowProcess.WriteInt(AdressCTM + (uint)OffCTM.ActionType, (int)ActionType.Loot )

  5. #5
    suicidity's Avatar Contributor
    Reputation
    207
    Join Date
    Oct 2006
    Posts
    1,439
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    You have to wait until you actually walk to it first.


  6. #6
    phthegreat's Avatar Corporal
    Reputation
    3
    Join Date
    Mar 2010
    Posts
    21
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Originally Posted by suicidity View Post
    You have to wait until you actually walk to it first.
    Wait for what? First Write the X,Y,Z coordinate , sleep for a few second and then write CTM ActionType?

    I have tried this : make my toon stand in front of the mobs corpse, and write GUID and ActionType(loot) in the CTM struct with OllyDbg. Guess what happens, my toon keeps running and passes the mobs corpse.

  7. #7
    Seifer's Avatar Site Donator
    Reputation
    129
    Join Date
    Apr 2007
    Posts
    270
    Thanks G/R
    1/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    You can call the Interaction function from the object's VMT to interact with it, remotely:
    Code:
    var VirtualMethodTable = ObjectManager.Memory.ReadUInt((ObjectManager.Memory.ReadUInt(BaseAddress)) + ((int)Offsets.VFTableIndex.Interact * 4));
                var curMgr = ObjectManager.CurrentManager;
    
                instance.AddLine("fs mov eax, [0x2C]");
                instance.AddLine("mov eax, [eax]");
                instance.AddLine("add eax, 0x10");
                instance.AddLine("mov dword [eax], " + curMgr);
                instance.AddLine("mov ecx, " + BaseAddress);
                instance.AddLine("call " + VirtualMethodTable); // Call the VMT function.
                instance.AddLine("retn"); // Always return, so we don't crash.
    This assumes you have EndScene hooked, and you are out-of-process.

    And I think that you could do something like the following for CTM, although I'd say moving to its corpse and call the VMT Interact is what I'd prefer:
    Code:
                CGPlayer_C__ClickToMove(Offsets.ClickToMoveType.Loot, ObjectManager.Me.Target,
                                        ObjectManager.Me.TargetObject.Location, 0.3f);
    
    private static void CGPlayer_C__ClickToMove(Offsets.ClickToMoveType clickToMoveType, ulong guid, Point clickPos, float precision)
    Don't pin me down on the arguments and stuff, they're off.

  8. #8
    tymezz's Avatar Member
    Reputation
    9
    Join Date
    Nov 2007
    Posts
    44
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Originally Posted by Seifer View Post
    This assumes you have EndScene hooked, and you are out-of-process.

    EndScene hooked, injecting into the process, but out of process? :P

    Anyway, for the OP, you obviously have to make sure you're in looting range before you try to loot, unless you have CTM enabled, like Apoc said just call Interact.

    So calling "Sleep" for a few seconds would be a crappy hack. All you have to do is simply check your distance before trying to loot, otherwise if too far away, move to the object.

    Also, you're doing something wrong if your toon runs past the mobs corpse when trying to loot. You're writing the correct coordinates aren't you?

  9. #9
    MaiN's Avatar Elite User
    Reputation
    335
    Join Date
    Sep 2006
    Posts
    1,047
    Thanks G/R
    0/10
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Originally Posted by Seifer View Post
    You can call the Interaction function from the object's VMT to interact with it, remotely:
    Code:
    var VirtualMethodTable = ObjectManager.Memory.ReadUInt((ObjectManager.Memory.ReadUInt(BaseAddress)) + ((int)Offsets.VFTableIndex.Interact * 4));
                var curMgr = ObjectManager.CurrentManager;
    
                instance.AddLine("fs mov eax, [0x2C]");
                instance.AddLine("mov eax, [eax]");
                instance.AddLine("add eax, 0x10");
                instance.AddLine("mov dword [eax], " + curMgr);
                instance.AddLine("mov ecx, " + BaseAddress);
                instance.AddLine("call " + VirtualMethodTable); // Call the VMT function.
                instance.AddLine("retn"); // Always return, so we don't crash.
    This assumes you have EndScene hooked, and you are out-of-process.

    And I think that you could do something like the following for CTM, although I'd say moving to its corpse and call the VMT Interact is what I'd prefer:
    Code:
                CGPlayer_C__ClickToMove(Offsets.ClickToMoveType.Loot, ObjectManager.Me.Target,
                                        ObjectManager.Me.TargetObject.Location, 0.3f);
    
    private static void CGPlayer_C__ClickToMove(Offsets.ClickToMoveType clickToMoveType, ulong guid, Point clickPos, float precision)
    Don't pin me down on the arguments and stuff, they're off.
    Why the hell are you fixing the TLS when you are in endscene?
    [16:15:41] Cypher: caus the CPU is a dick
    [16:16:07] kynox: CPU is mad
    [16:16:15] Cypher: CPU is all like
    [16:16:16] Cypher: whatever, i do what i want

  10. #10
    Seifer's Avatar Site Donator
    Reputation
    129
    Join Date
    Apr 2007
    Posts
    270
    Thanks G/R
    1/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Originally Posted by tymezz View Post
    EndScene hooked, injecting into the process, but out of process? :P
    My definition of in-process is being in Wow's process, which I'm not.

    Originally Posted by MaiN View Post
    Why the hell are you fixing the TLS when you are in endscene?
    Aye, Nesox pointed this out too but I haven't got around to changing it until now, was looking for a IJW approach when I wrote it.

  11. #11
    Robske's Avatar Contributor
    Reputation
    305
    Join Date
    May 2007
    Posts
    1,062
    Thanks G/R
    3/4
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Originally Posted by Seifer View Post
    My definition of in-process is being in Wow's process, which I'm not.

    And which process runs the asm you inject? ...
    "Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live." - Martin Golding
    "I cried a little earlier when I had to poop" - Sku

  12. #12
    suicidity's Avatar Contributor
    Reputation
    207
    Join Date
    Oct 2006
    Posts
    1,439
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    What Seifer is saying, is he is calling it from a process outside of WoW. He is still in some way injected and in-process to do the dirty work, but it's called outside of WoW's process.

    (I think that's what he's trying to say..)


  13. #13
    phthegreat's Avatar Corporal
    Reputation
    3
    Join Date
    Mar 2010
    Posts
    21
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Thank you guys!
    I forgot to enable CTM,sorry
    Both obj.Interat() and CTM loot work properly

Similar Threads

  1. [Bot] Strange "bugs" with CTM (gotoXY and looting)
    By reliasn in forum WoW Memory Editing
    Replies: 5
    Last Post: 08-27-2012, 06:17 PM
  2. Problem with CTM
    By Fabio571 in forum WoW Memory Editing
    Replies: 10
    Last Post: 01-13-2011, 01:44 PM
  3. [HELP!!!!] Need help with small problem.!!!!
    By Jayson22 in forum World of Warcraft Emulator Servers
    Replies: 8
    Last Post: 05-18-2008, 05:55 AM
  4. Help with IP problem
    By Jakshi in forum World of Warcraft Emulator Servers
    Replies: 3
    Last Post: 01-31-2008, 08:32 PM
All times are GMT -5. The time now is 06:21 PM. Powered by vBulletin® Version 4.2.3
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved. User Alert System provided by Advanced User Tagging (Pro) - vBulletin Mods & Addons Copyright © 2025 DragonByte Technologies Ltd.
Google Authenticator verification provided by Two-Factor Authentication (Free) - vBulletin Mods & Addons Copyright © 2025 DragonByte Technologies Ltd.
Digital Point modules: Sphinx-based search