Close
Showing results 1 to 6 of 6
  1. #1

    Default been trying to get this to work for 2 days please help

    ok, so i multi boxed a long time ago and had no problem setting up the scripts back then, 3 days ago i decided to give it another go. the first day everything ran smooth, then day 2 hit and it started not broadcasting random keys to my slave accounts (running 5 WoW accounts). then today i tryed to get it to work by minimizing what is in the script, but things got worse its not broadcasting anything. ive read about testing in notepad, but alas i have no clue what that means, nor how to do it. all i need it to broadcast is 1 through = the f key and space
    this is what i have now if someone could give me a hand with this id be super thankful

    Code:
    #IfWinActive, World of Warcraft
    
    
    ~F::
    KeyWait, F, D
    {
    ControlSend,, F, ahk_id %wowid1%
    ControlSend,, F, ahk_id %wowid2%
    ControlSend,, F, ahk_id %wowid3%
    ControlSend,, F, ahk_id %wowid4%
    ControlSend,, F, ahk_id %wowid5%
    }
    Return
    
    
    ~1::
    KeyWait, 1, D
    {
    ControlSend,, 1, ahk_id %wowid1%
    ControlSend,, 1, ahk_id %wowid2%
    ControlSend,, 1, ahk_id %wowid3%
    ControlSend,, 1, ahk_id %wowid4%
    ControlSend,, 1, ahk_id %wowid5%
    }
    Return
    
    
    ~2::
    KeyWait, 2, D
    {
    ControlSend,, 2, ahk_id %wowid1%
    ControlSend,, 2, ahk_id %wowid2%
    ControlSend,, 2, ahk_id %wowid3%
    ControlSend,, 2, ahk_id %wowid4%
    ControlSend,, 2, ahk_id %wowid5%
    }
    Return
    
    
    ~3::
    KeyWait, 3, D
    {
    ControlSend,, 3, ahk_id %wowid1%
    ControlSend,, 3, ahk_id %wowid2%
    ControlSend,, 3, ahk_id %wowid3%
    ControlSend,, 3, ahk_id %wowid4%
    ControlSend,, 3, ahk_id %wowid5%
    }
    Return
    
    
    ~4::
    KeyWait, 4, D
    {
    ControlSend,, 4, ahk_id %wowid1%
    ControlSend,, 4, ahk_id %wowid2%
    ControlSend,, 4, ahk_id %wowid3%
    ControlSend,, 4, ahk_id %wowid4%
    ControlSend,, 4, ahk_id %wowid5%
    }
    Return
    
    
    ~5::
    KeyWait, 5, D
    {
    ControlSend,, 5, ahk_id %wowid1%
    ControlSend,, 5, ahk_id %wowid2%
    ControlSend,, 5, ahk_id %wowid3%
    ControlSend,, 5, ahk_id %wowid4%
    ControlSend,, 5, ahk_id %wowid5%
    }
    Return
    
    
    ~6::
    KeyWait, 6, D
    {
    ControlSend,, 6, ahk_id %wowid1%
    ControlSend,, 6, ahk_id %wowid2%
    ControlSend,, 6, ahk_id %wowid3%
    ControlSend,, 6, ahk_id %wowid4%
    ControlSend,, 6, ahk_id %wowid5%
    }
    Return
    
    
    ~7::
    KeyWait, 7, D
    {
    ControlSend,, 7, ahk_id %wowid1%
    ControlSend,, 7, ahk_id %wowid2%
    ControlSend,, 7, ahk_id %wowid3%
    ControlSend,, 7, ahk_id %wowid4%
    ControlSend,, 7, ahk_id %wowid5%
    }
    Return
    
    
    ~8::
    KeyWait, 8, D
    {
    ControlSend,, 8, ahk_id %wowid1%
    ControlSend,, 8, ahk_id %wowid2%
    ControlSend,, 8, ahk_id %wowid3%
    ControlSend,, 8, ahk_id %wowid4%
    ControlSend,, 8, ahk_id %wowid5%
    }
    Return
    
    
    ~9::
    KeyWait, 9, D
    {
    ControlSend,, 9, ahk_id %wowid1%
    ControlSend,, 9, ahk_id %wowid2%
    ControlSend,, 9, ahk_id %wowid3%
    ControlSend,, 9, ahk_id %wowid4%
    ControlSend,, 9, ahk_id %wowid5%
    }
    Return
    
    
    ~0::
    KeyWait, 0, D
    {
    ControlSend,, 0, ahk_id %wowid1%
    ControlSend,, 0, ahk_id %wowid2%
    ControlSend,, 0, ahk_id %wowid3%
    ControlSend,, 0, ahk_id %wowid4%
    ControlSend,, 0, ahk_id %wowid5%
    }
    Return
    
    
    ~-::
    KeyWait, -, D
    {
    ControlSend,, -, ahk_id %wowid1%
    ControlSend,, -, ahk_id %wowid2%
    ControlSend,, -, ahk_id %wowid3%
    ControlSend,, -, ahk_id %wowid4%
    ControlSend,, -, ahk_id %wowid5%
    }
    Return
    
    
    ~=::
    KeyWait, =, D
    {
    ControlSend,, =, ahk_id %wowid1%
    ControlSend,, =, ahk_id %wowid2%
    ControlSend,, =, ahk_id %wowid3%
    ControlSend,, =, ahk_id %wowid4%
    ControlSend,, =, ahk_id %wowid5%
    }
    Return
    
    
    ~Space::
    KeyWait, Space, D
    {
    ControlSend,, {Space}, ahk_id %wowid1%
    ControlSend,, {Space}, ahk_id %wowid2%
    ControlSend,, {Space}, ahk_id %wowid3%
    ControlSend,, {Space}, ahk_id %wowid4%
    ControlSend,, {Space}, ahk_id %wowid5%
    Return
    }
    Last edited by MiRai : 11-06-2013 at 08:24 PM Reason: Use [CODE] Tags

  2. #2

    Default

    I don't know that there's many people left that still use or remember how to use AutoHotKey. Maybe someone will come around and be able to help, but if not, I'd suggest ISBoxer or HotKeyNet. ISBoxer is subscription based but has a setup wizard and tons of users. HotKeyNet is free and script-based - there is a guide for it in my Sig. There are also tons of guides and how-tos in the first Multiboxing Guide {also in my sig} for ISBoxer, HKN and some other programs.
    Blog : Herding Khats
    Team : Kina - Çroaker - Messkit - Lìfetaker - Wìdowmaker
    Newbie Guides : Multiboxing Vol. 1 - Multiboxing Vol. 2 - HotKeyNet - Jamba
    The Almighty Lax made a liar out of me, apparently I DO get prizes for it.
    *Commences Wielding the Banhammer like there's piñatas up in here and I'm Lady Thor*

    _ Forum search letting you down? Use the custom Google search _

  3. #3
    Member luxlunae's Avatar
    Join Date
    Aug 2008
    Location
    Bay Area, CA
    Posts
    1431
    Blog Entries
    37

    Default

    Are you running AHK as an admin? Sometimes ahk gets fussy if not run as admin. I boxed with ahk for 2-3 years before switching to ISBoxer and I remember feeling like it just wasn't reliable enough anymore.

  4. #4

    Default

    I used AHK this summer to box a browser game, and what I did was rename the window to the name of my toon.

    My code to create the 3 windows:

    Code:
    MakeWindowA()
        {
    Run, C:\Program Files (x86)\Mozilla Firefox\firefox.exe -new-window "http://www.nodiatis.com"
    WinWaitActive, Nodiatis - Free Online Multiplayer RPG
    WinSetTitle, Zenga
    WinMove,,,0,0,780,780
        }
    MakeWindowB()
        {
    Run, C:\Program Files (x86)\Mozilla Firefox\firefox.exe -new-window "http://www.nodiatis.com"
    WinWaitActive, Nodiatis - Free Online Multiplayer RPG
    WinSetTitle, Vasco
    WinMove,,,-780,0,780,780
        }
    MakeWindowC()
        {
    Run, C:\Program Files (x86)\Mozilla Firefox\firefox.exe -new-window "http://www.nodiatis.com"
    WinWaitActive, Nodiatis - Free Online Multiplayer RPG
    WinSetTitle, Ugolin
    WinMove,,,781,0,780,780
        }
    +1::
    MakeWindowA()
    MakeWindowB()
    MakeWindowC()
    return
    Then for instance to move left I used

    MoveLeft()
    {
    IfWinExist Vasco
    {
    WinActivate
    Random, rand, 300, 500
    Sleep, %rand%
    MouseClick, left, 300, 375
    }
    IfWinExist Zenga
    {
    WinActivate
    Random, rand, 300, 500
    Sleep, %rand%
    MouseClick, left, 300, 375
    }
    IfWinExist Ugolin
    {
    WinActivate
    Random, rand, 300, 500
    Sleep, %rand%
    MouseClick, left, 300, 375
    }
    }
    a::
    MoveLeft()
    In my example I generate a fixed mouseclick in every client after I hit A on my keyboard, which is against the WoW ToS, but it should be fairly straightforward to just send a key to each window. As you can see I wrote out every step rather than making 1 function, which is obviously not the best coding practice.

    I'm by no means experienced in AHK, just needed a quick and dirty little tool. But if you want to look into a more advanced keybroadcaster in AHK you can head over to the consortium forum, the home of all the wow players who like to make gold. They have a tool called the Consortium Key Sender (CKS), and the code comes along with the an exe, so you can review it yourself. http://stormspire.net/content/ then click tools and cks.

    But if following the advice to go to Hotkeynet is probably the best one you can get.
    Everything that is fun in life is either bad for your health, immoral or illegal!

  5. #5

    Default

    Hi. I started with that template too. I found a better way:
    Code:
    ~f::
    WinGet, enbid, List, Earth
    WinGet, active_id, ID, A
    KeyWait f
    IfWinActive Earth & Beyond 
    {
    Loop, %enbid%
    {
    Id:=enbid%A_Index%
    if ( Id != active_id ) {
    WinActivate, ahk_id %Id%
    ControlSend,,f, ahk_id %Id% 
    }
    }
    WinActivate, ahk_id %active_id%
    Return
    }
    Granted. I designed it to work with earth and beyond, but really, change "Earth and Beyond" to "World of Warcraft" and it will work the same. It figures out how many clients you have, and touches all of them. Because of key-passthrough, it prevents pushing the button twice in the first client.

  6. #6

    Default

    Hi,

    I have been using AHK codes for years. No problem in coding, and no problem in killing any bosses that boxers are capable of killing.

    I am not an expert in AHK as I modify the scripts only once in a while, but here's what I would recommend

    1) Get winid of all clients first
    2) Use loops whenever possible for easy maintainability and enhancement.

    Code:
    gWinTitle1 = WOW1 - CP         ; Client window title renamed to this after launch
    gWinTitle2 = WOW2 - YX         ; Allows calling of fnGetWinId whenever I need to drop or add alt during game play
                                   ; continue with the rest of alts
    
    fnGetWinId()
    {
        Global
        local wt
    
    
        WoWWinId := 0
    
    
        loop, %MaxAcct%
        {
            wt := gWinTitle%A_Index%
            WinGet, Idtemp, List, %wt%
            if Idtemp > 0 
            {
                WoWWinId%A_Index% := Idtemp1
                WoWWinId := WoWWinId + 1
            }
            else
                WoWWinId%A_Index% := 0
        }
    
    
    }
    Code:
    ClonePush(strKeys, clone)
    {
        ControlSend, , %strKeys%, ahk_id %clone%
    }
    
    
    ClonesPush(strKeys)
    {
        Global
        Loop, %MaxAcct%
        {
            this_id := WowWinId%A_Index%
            IfWinNotActive, ahk_id %this_id%                      ; prevent sending key twice for current active client
                ClonePush( strKeys, this_id )
        }
    }
    
    ~6::ClonesPush("{6 down}{6 up}")
    All coding for the key broadcasting is thus very simple. Comments added out of memory to assist your code reading. Hope it still serves.

Posting Rules

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •