Writing bot for Vanilla WoW. I need your help. menu

User Tag List

Page 1 of 2 12 LastLast
Results 1 to 15 of 18
  1. #1
    djanius's Avatar Member
    Reputation
    9
    Join Date
    Nov 2009
    Posts
    12
    Thanks G/R
    4/2
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    Writing bot for Vanilla WoW. I need your help.

    Hi guys!
    For the purpose of self-development, i decided to write a small bot for Vanilla WoW (1.12.1). But there were two difficulties:
    1 - Can not get the coordinates selected target.
    2 - Implement the autoloot.

    I get all the data from CheatEngine, but i can not get coordinates current target using it. With an autoloot i do not know what to do. I ask for your help. Direct me in the right direction. Maybe someone has code samples. I will be grateful for any useful information.

    P/S
    Sorry for my english =)

    Writing bot for Vanilla WoW. I need your help.
  2. #2
    djanius's Avatar Member
    Reputation
    9
    Join Date
    Nov 2009
    Posts
    12
    Thanks G/R
    4/2
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    With coordinates of target have already figured out himself. I can not beat autoloot for this targets. Help me, bro ..!

  3. #3
    Kovrizha's Avatar Active Member
    Reputation
    18
    Join Date
    Oct 2013
    Posts
    160
    Thanks G/R
    19/10
    Trade Feedback
    44 (100%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

  4. Thanks djanius, tutrakan (2 members gave Thanks to Kovrizha for this useful post)
  5. #4
    djanius's Avatar Member
    Reputation
    9
    Join Date
    Nov 2009
    Posts
    12
    Thanks G/R
    4/2
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Kovrizha, many thanks, buddy! I have not read it yet, but it looks like it's what need me. I'll read and try!

  6. #5
    squiggy's Avatar Active Member
    Reputation
    66
    Join Date
    Aug 2007
    Posts
    45
    Thanks G/R
    40/23
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    I might have misunderstood what you mean by autoloot but cant you just send a shift down click before you loot? Ive never had a problem with that approach.

  7. #6
    ev0's Avatar ★ Elder ★ murlocs.com

    CoreCoins Purchaser Authenticator enabled
    Reputation
    1850
    Join Date
    Jul 2012
    Posts
    2,737
    Thanks G/R
    313/377
    Trade Feedback
    16 (100%)
    Mentioned
    7 Post(s)
    Tagged
    7 Thread(s)
    Originally Posted by squiggy View Post
    I might have misunderstood what you mean by autoloot but cant you just send a shift down click before you loot? Ive never had a problem with that approach.
    Vanilla (1.12.1) does not have autoloot functionality, even with shift.
    Need a guild in the US? Visit murlocs.com

  8. #7
    djanius's Avatar Member
    Reputation
    9
    Join Date
    Nov 2009
    Posts
    12
    Thanks G/R
    4/2
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Originally Posted by squiggy View Post
    I might have misunderstood what you mean by autoloot but cant you just send a shift down click before you loot? Ive never had a problem with that approach.
    squiggy, yes, you are right, i did not say right thing. Indeed, me need to right click on target body. Could you tell me how to implement this, plz?

  9. #8
    squiggy's Avatar Active Member
    Reputation
    66
    Join Date
    Aug 2007
    Posts
    45
    Thanks G/R
    40/23
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Originally Posted by SniffingPickles View Post
    Vanilla (1.12.1) does not have autoloot functionality, even with shift.
    Oh.. are you sure? i tried it on kronos and it worked there anyway. maybe it was implemented during the end of vanilla.

    Originally Posted by djanius View Post
    squiggy, yes, you are right, i did not say right thing. Indeed, me need to right click on target body. Could you tell me how to implement this, plz?
    one way is to move to the mouse cursor in a scanning pattern over the window. you can read the mouseover guid from memory and compare it with the guid of the mob youre trying to loot. once youve found it, send a rightclick.

    You can control the mouse using the SendInput function in the windows api, i think Zenlulz memory lib actually has an implementation for keyboard and mouse control ready to go if youre working with c#, GitHub - ZenLulz/MemorySharp: A C# based memory editing library targeting Windows applications, offering various functions to extract and inject data and codes into remote processes to allow interoperability.
    Last edited by squiggy; 03-18-2017 at 10:23 AM.

  10. Thanks djanius (1 members gave Thanks to squiggy for this useful post)
  11. #9
    djanius's Avatar Member
    Reputation
    9
    Join Date
    Nov 2009
    Posts
    12
    Thanks G/R
    4/2
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    squiggy, thank you very much for your help. Went to try))

  12. #10
    Saridormi's Avatar Contributor
    Reputation
    306
    Join Date
    Mar 2007
    Posts
    556
    Thanks G/R
    19/16
    Trade Feedback
    1 (100%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Originally Posted by SniffingPickles View Post
    Vanilla (1.12.1) does not have autoloot functionality, even with shift.
    This is completely false, it definitely DOES have auto-loot functionality (enabled by holding down shift)

    @OP: Not sure where the function is exactly but autoloot is its own function, calling it will loot all the items in the currently open loot window.

    EDIT:

    Code:
    #define F_CGLootInfo__HasLoot 0x4c2a70
    #define F_Internal_CallAutoLoot 0x4c1fa0
    
    
    bool CGLootInfo__HasLoot()
    {
        typedef bool(__stdcall *WoWFunc__CGLootInfo__HasLoot)();
    
        if (!WoWFunctions::IsInGame())
            return false;
    
        return WoWFunc__CGLootInfo__HasLoot(F_CGLootInfo__HasLoot)();
    }
    
    
    void CallAutoLoot()
    {
        typedef void(__stdcall *WoWFunc__CallAutoLoot)();
    
        if (!WoWFunctions::IsInGame())
            return;
    
        WoWFunc__CallAutoLoot(F_Internal_CallAutoLoot)();
    }
    Last edited by Saridormi; 03-18-2017 at 10:07 AM. Reason: formatting


  13. #11
    ev0's Avatar ★ Elder ★ murlocs.com

    CoreCoins Purchaser Authenticator enabled
    Reputation
    1850
    Join Date
    Jul 2012
    Posts
    2,737
    Thanks G/R
    313/377
    Trade Feedback
    16 (100%)
    Mentioned
    7 Post(s)
    Tagged
    7 Thread(s)
    Originally Posted by Saridormi View Post
    This is completely false, it definitely DOES have auto-loot functionality (enabled by holding down shift)

    Strange, doesn't work for me after just trying it. I wonder if there's a cvar i'm missing in config. I've been playing on vanilla wow for 6 months haha and it's never worked for me.
    Need a guild in the US? Visit murlocs.com

  14. #12
    pinny's Avatar Active Member
    Reputation
    29
    Join Date
    Jan 2010
    Posts
    211
    Thanks G/R
    7/2
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    @OP What language are you writing your bot in and do you know how to inject asm/detour to your codecave so you can call in game functions?

    If you want to autoloot the best route is to call the autoloot function via asm if you aren't doing dll injection.

    So

    call 0x4C1FA0
    This is assuming you've interacted with the object to loot


    Note: I think you can just interact/loot in one with something like

    "push 1",
    "mov ECX, " + (uint)baseAddr <-- where baseAddr is the base address of the object/unit to interact with
    "call 0x005F8660", <--call right click object function
    "retn"
    Last edited by pinny; 03-18-2017 at 08:08 PM.

  15. #13
    djanius's Avatar Member
    Reputation
    9
    Join Date
    Nov 2009
    Posts
    12
    Thanks G/R
    4/2
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Originally Posted by pinny View Post
    @OP What language are you writing your bot in and do you know how to inject asm/detour to your codecave so you can call in game functions?

    If you want to autoloot the best route is to call the autoloot function via asm if you aren't doing dll injection.

    So

    call 0x4C1FA0
    This is assuming you've interacted with the object to loot


    Note: I think you can just interact/loot in one with something like

    "push 1",
    "mov ECX, " + (uint)baseAddr <-- where baseAddr is the base address of the object/unit to interact with
    "call 0x005F8660", <--call right click object function
    "retn"
    I am writing bot on Delphi. How to insert asm into code of program i know. Before i applied to forum, i tried autoloot via asm, but i constantly get an error "Access violation at address 005F8664 in module 'Project1.exe'. Read of address AC37A437.".

    Did just as you suggested. Can it still be inject to game?

    Code:
    Asm
    **Push AutoLoot;
    **Mov ECX, BaseAddress;
    **Call OnRightClickUnit;
    **Retn;
    End;

  16. #14
    tutrakan's Avatar Contributor
    Reputation
    134
    Join Date
    Feb 2013
    Posts
    175
    Thanks G/R
    124/52
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Originally Posted by djanius View Post
    I am writing bot on Delphi. How to insert asm into code of program i know. Before i applied to forum, i tried autoloot via asm, but i constantly get an error "Access violation at address 005F8664 in module 'Project1.exe'. Read of address AC37A437.".

    Did just as you suggested. Can it still be inject to game?

    Code:
    Asm
    **Push AutoLoot;
    **Mov ECX, BaseAddress;
    **Call OnRightClickUnit;
    **Retn;
    End;
    Code:
    005F8664 8B F1                   mov     esi, ecx
    Your ECX seems to contain 0xAC37A437 - obviously.
    Did you read how to use asm in Delphi? Using Assembler in Delphi
    You can use debugger too (breakpoints before the call and at 0x005F8660).
    And BTW, there was a post about auto-looting already from one week ago: [WoW] 1.12.1.5875 Info Dump Thread.
    Last edited by tutrakan; 03-20-2017 at 02:32 AM.

  17. #15
    Icesythe7's Avatar Contributor
    Reputation
    231
    Join Date
    Feb 2017
    Posts
    168
    Thanks G/R
    10/111
    Trade Feedback
    0 (0%)
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)
    Code:
    int InteractObj(void *obj, int a1 = 0)
    {
    	typedef int(__thiscall *fnInteractObj)(void *obj, int a1);
    	fnInteractObj InteractTheObj = (fnInteractObj)wowAddr->RightClickObj;
    	InteractTheObj(obj, a1);
    	return 0;
    }
    InteractObj(theObj, 1) <== 1 means shift is pressed 0 by default address at 0x5F8660

    This is exact same as shift clicking that way you don't have to call interact > check for loot window open > call autoloot as this function does all of that internally
    Last edited by Icesythe7; 03-19-2017 at 06:01 PM.

Page 1 of 2 12 LastLast

Similar Threads

  1. Anarchy-WoW l Needs your help
    By AnarchyWoW in forum WoW EMU Questions & Requests
    Replies: 1
    Last Post: 01-26-2013, 04:35 AM
  2. LF Leveling Bot for Vanilla WoW
    By mongern in forum WoW Bots Questions & Requests
    Replies: 0
    Last Post: 09-13-2011, 04:01 PM
  3. WTT: Steam Acct(Team Fortress 2) for Vanilla WoW key!
    By abaraikenshi in forum Members Only Accounts And CD Keys Buy Sell
    Replies: 0
    Last Post: 06-23-2009, 06:26 PM
  4. WTT Scammed Steam ACC for Vanilla WOW-CD-key (US)
    By Jon Lajoie in forum Members Only Accounts And CD Keys Buy Sell
    Replies: 2
    Last Post: 04-15-2009, 02:41 PM
  5. [request] I'm korean, I need your help for mount model change!!!!
    By blueposterz in forum WoW ME Questions and Requests
    Replies: 1
    Last Post: 12-05-2008, 05:43 AM
All times are GMT -5. The time now is 02:52 AM. 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