[DotA] Invoker Auto-Hotkey Script

This is a discussion on [DotA] Invoker Auto-Hotkey Script within the Warcraft 3 Hacks, bots and tools board part of the Warcraft 3 forum category; 100% working...

Page 2 of 3 FirstFirst 123 LastLast
Results 11 to 20 of 23
  1. #11
    ValourMu is offline Newbie
    Array
    Join Date
    Apr 2009
    Posts
    2
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Rep Power
    0
    Reputation
    0
    100% working


  2. #12
    0verfl0w is offline Wannabe Member
    Array
    Join Date
    May 2007
    Posts
    15
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Rep Power
    0
    Reputation
    0
    Quote Originally Posted by shordy-boi View Post
    how can i use it? where ihad to put the code in?
    same question here....

  3. #13
    Raigor is offline Mentor
    Array
    Join Date
    Oct 2008
    Posts
    140
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Rep Power
    11
    Reputation
    246
    You need AutoHotkey, get it here. After you downloaded the program install it. (doh)
    Just right click now in a folder select new and create a new AutoHotkey Script. The name should be New AutoHotkey Script.ahk rename it now to whatever you like and copypaste the code. Hit save and doubleclick it, start Wc3 and test everything in a Singleplayer Game.

  4. #14
    0verfl0w is offline Wannabe Member
    Array
    Join Date
    May 2007
    Posts
    15
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Rep Power
    0
    Reputation
    0
    @Raigor
    cheers mate!
    Last edited by 0verfl0w; 04-28-2009 at 03:36 PM.

  5. #15
    0verfl0w is offline Wannabe Member
    Array
    Join Date
    May 2007
    Posts
    15
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Rep Power
    0
    Reputation
    0
    still have problems runnig it. tested in singleplayer, everithing was sloooow, and hotkeys doesnt worked.. any tips? can some one post more detail how-to.

    upd-works, but game speed is slow, going to test on bnet now.
    upd2-awesome, sleek work in bnet, doono why there is problems in single.
    Last edited by 0verfl0w; 04-28-2009 at 04:12 PM.

  6. #16
    Blood3p is offline Newbie
    Array
    Join Date
    Feb 2009
    Posts
    3
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Rep Power
    0
    Reputation
    0
    uhm can u please teach me how to use this plsssssssssssssss

  7. #17
    Raigor is offline Mentor
    Array
    Join Date
    Oct 2008
    Posts
    140
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Rep Power
    11
    Reputation
    246
    Finally got some time to test it and not just reading the sourcecode. It works better than I expected it to work but you should include in your next version the feature to disable hotkeys while chatting. Looking forward to your next version since you stated you got even more ideas.
    Code:
    ;;;;; Enable/disable all hotkeys ;;;;;
    ~*Enter::
    ~*NumpadEnter::
    Suspend, Permit
    if (bInChatRoom == True)
      return
    Suspend
    if (A_IsSuspended == true)
      SetScrollLockState, Off
    else
      SetScrollLockState, On
    return
    
    ;; Escape will cancel chatting, so turn the hotkeys back on
    ~*Esc::
    Suspend, Permit
    if (bInChatRoom == True)
      return
    Suspend, Off
    SetScrollLockState, On
    return
    riped from Warkeys

  8. #18
    0verfl0w is offline Wannabe Member
    Array
    Join Date
    May 2007
    Posts
    15
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Rep Power
    0
    Reputation
    0
    @Raigor Can you upload your ahk file? i faced to problems updating it again( this thing works on it own. i cant get stable work from it. maby ur will help.

    p.s. ahk file, not exe plz

  9. #19
    kill5link is offline Newbie
    Array
    Join Date
    Dec 2008
    Posts
    5
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Rep Power
    9
    Reputation
    1
    I've just edited the script a bit and now it runs with keys. The only things that still uses mouseclicks are the 2 invoked spells.
    I changed the "Nextball" system to a 3 hotkey system, now you can change between Quas Wex and Exort with 3 Hotkeys.

    One thing I would like to do is that the invoked spells work with keys, too.
    But I coudn't understand the system the spells change there slot.

    Eh and hers the Autokey Code:

    Code:
    ;;;;; Enable/disable all hotkeys ;;;;;
    ~*Enter::
    ~*NumpadEnter::
    Suspend, Permit
    if (bInChatRoom == True)
      return
    Suspend
    if (A_IsSuspended == true)
      SetScrollLockState, Off
    else
      SetScrollLockState, On
    return
    
    ;; Escape will cancel chatting, so turn the hotkeys back on
    ~*Esc::
    Suspend, Permit
    if (bInChatRoom == True)
      return
    Suspend, Off
    SetScrollLockState, On
    return
    
    *End::
    Suspend, Permit
    bInChatRoom := not bInChatRoom
    if (bInChatRoom == True)
    {
      Suspend, On
      SetScrollLockState, Off
    }
    else
    {
      Suspend, Off
      SetScrollLockState, On
    }
    return
    
    
    
    ; Hotkeys Remapper:
    
    ; User Specified Hotkeys:
    #NoEnv
    SetWorkingDir %A_ScriptDir%
    #InstallKeybdHook
    SendMode Play
    Suspend On
    
    #IfWinActive, Warcraft III
    #UseHook On
    
    *F3::
        Suspend
        InitialSetup()
        return
    InitialSetup()
    {
        global
        sleeptime = 150
        ;SetColors()
          GridSetup()
         CurrentVar = 1
        if (A_IsSuspended)
            SoundPlay *64
        else
            SoundPlay *48
    }
    
    *1:: PrepBlast()
    *2:: PrepMeteor()
    *3:: PrepIceWall()
    *4:: PrepEmp()
    *5:: PrepForge()
    *6:: PrepGhost()
    *7:: PrepSunStrike()
    *8:: PrepTornado()
    *9:: PrepAlacrity()
    *0:: PrepColdSnap()
    *q:: ClickLeftSpell()
    *w:: ClickRightSpell()
    *a:: Quas()
    *s:: Wex()
    *d:: Exort()
    
    Quas()
    {
    global
        SendPlay {q 3}
        CurrentVar = 1
    }
    Wex()
    {
    global
        SendPlay {w 3}
        CurrentVar = 2
    }
    Exort()
    {
    global
        SendPlay {e 3}
        CurrentVar = 3
    }
    
    
    
    ClickLeftSpell()
    {
        global
        ClickSpot(x2, y2)
        ;ClickSpot(1355, 1050)
    }
    ClickRightSpell()
    {
        global
        ClickSpot(x3, y2)
        ;ClickSpot(1440, 1050)
    }
    ClickSpot(x, y)
    {
        SetMouseDelay, 1, Play
        MouseGetPos, xpos, ypos
        Send {Click %x%, %y%, L}
        MouseMove, %xpos%, %ypos%
        SetMouseDelay, -1, Play
    }
    ClickStart()
    {
        global
        SetMouseDelay, 1, Play
        MouseGetPos, xpos, ypos
    }
    ClickFinish()
    {
        global
        MouseMove, %xpos%, %ypos%
        SetMouseDelay, -1, Play
    }
    PrepGhost()
    {
        SendPlay {q 2}
        SendPlay w
        SendPlay r
    Current()
    Hotkey = 1
    }
    
    PrepForge()
    {
        SendPlay {e 2}
        SendPlay q
        SendPlay r
    Current()
    Hotkey = 2
    }
    
    PrepBlast()
    {
        SendPlay q
        SendPlay w
        SendPlay e
        SendPlay r
    Current()
    Hotkey = 3
    }
    
    PrepMeteor()
    {
        SendPlay {e 2}
        SendPlay w
        SendPlay r
    Current()
    Hotkey = 4
    }
    
    PrepIceWall()
    {
        SendPlay {q 2}
        SendPlay e
        SendPlay r
    Current()
    Hotkey = 5
    }
    
    PrepEmp()
    {
        SendPlay {w 3}
        SendPlay r
    Current()
    Hotkey = 6
    }
    
    PrepSunStrike()
    {
        SendPlay {e 3}
        SendPlay r
    Current()
    Hotkey = 7
    }
    
    PrepColdSnap()
    {
        SendPlay {q 3}
        SendPlay r
    Current()
    Hotkey = 8
    }
    
    PrepAlacrity()
    {
        SendPlay {w 2}
        SendPlay e
        SendPlay r
    Current()
    Hotkey = 9
    }
    
    PrepTornado()
    {
        SendPlay {w 2}
        SendPlay q
        SendPlay r
    Current()
    Hotkey = 10
    }
    
    
    
    GridSetup()   ;set up the screen coords for clicking
    {
      global
      WinGetPos,,, winWidth, winHeight, A
    
      x1:=(510*winWidth)//640
      x2:=(544*winWidth)//640
      x3:=(578*winWidth)//640
      x4:=(612*winWidth)//640
    
      y1:=(390*winHeight)//480
      y2:=(424*winHeight)//480
      y3:=(458*winHeight)//480
    
      sentinelx:=(13*winWidth)//640   ;Sentinel fountain
      sentinely:=(467*winHeight)//480
    
      scourgex:=(110*winWidth)//640   ;Scourge fountain
      scourgey:=(374*winHeight)//480
    
      selfx:=(200*winWidth)//640
      selfy:=(420*winHeight)//480
    }
    
    Current()
    {
    global    
        if (CurrentVar = 1)
        {
        SendPlay {q 3}
        }
        else if (CurrentVar = 2)
        {
        SendPlay {w 3}
        }
        else if (CurrentVar = 3)
        {
        SendPlay {e 3}
        }
    }
    Ah and now it turns off and on when you press Enter. (For chatting) You can use F3 too.
    You can ignore the "Hotkey = ?" things. I just tried to make a system for the invoked spells.
    Last edited by kill5link; 05-03-2009 at 07:05 AM.

  10. The Following User Says Thank You to kill5link For This Useful Post:


  11. #20
    Wynthar's Avatar
    Wynthar is offline Advanced Hacker
    Array
    Join Date
    Feb 2009
    Location
    So Cal, USA
    Posts
    267
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Rep Power
    10
    Reputation
    243
    Definitely being more proactive than me. :-) Nice work. I have a computer science final today! But maybe once I'm done with that I'll post some changes. Good work kill5link (Btw. use [ CODE ] [ /CODE ] instead of [ QUOTE ] [ /QUOTE ]. It will keep the post a little shorter. )

    [Edit]Crap! SAD day for my ownage invoker script. I have been working out code to detect the colors of the currently invoked spells, then determining which spells are invoked and when a key is pressed say to cast Defeaning Blast, it would check to see if the spell is invoked. If it is invoked, it would cast, if it wasn't invoked, it would invoke, then cast. UNFORTUNATELY the colors change dramatically based on the screen resolution. :-( This bums me out. So, now I'm just trying to think about what else I can do to make a nifty script. We could just have a hotkey for every spell to invoke it, and every spell to invoke AND cast it... we could design a "memory" that remembers the last two spells that you invoked, but the problem with that is if you try to invoke a spell when the actual invoke spell is on cool down. Ooh. I just came up with a nifty idea.... (back to programming)
    Last edited by Wynthar; 05-03-2009 at 01:43 AM.

Page 2 of 3 FirstFirst 123 LastLast

Similar Threads

  1. Auto Warkey,Auto hotkey
    By USMC-Syndicate in forum Warcraft 3 Hacks, bots and tools
    Replies: 2
    Last Post: 06-15-2009, 06:47 PM
  2. Antfamous Gauntlet Bot v1.8 for mmBot
    By tschoerk in forum Diablo 2 Hacks
    Replies: 9
    Last Post: 04-29-2009, 02:33 PM

Posting Permissions

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