Jump to content

Sky Slate Blueberry Blackcurrant Watermelon Strawberry Orange Banana Apple Emerald Chocolate

warcraft3 dota hotkeys


  • This topic is locked This topic is locked
5 replies to this topic
flake
  • Guests
  • Last active:
  • Joined: --
thats what i wrote for myselfe to be able to play dota at the cursor keys.
It remaps "delete", "end" and "pagedown" to "qwertsdfgxcvb" according how often you press "strg + del" or "strg + end" or "strg + pagedown".

; ----------------------- wc3 ----------------------
;DEL is Pressed
Del::
if delkey = 1 ; 
{
send {q}
}
if delkey = 2 ; 
{
send {w}
}
if delkey = 3 ; 
{
send {e}
}
if delkey = 4 ; siren
{
send {r}
}
if delkey = 5 ; sven, enchantress, prophet
{
send {t}
}
if delkey = 6 ; 
{
send {a}
}
if delkey = 7 ; 
{
send {s}
}
if delkey = 8 ; 
{
send {d}
}
if delkey = 9 ; 
{
send {f}
}
if delkey = 10 ; 
{
send {g}
}
if delkey = 11 ; 
{
send {c}
}
if delkey = 12 ; 
{
send {v}
}
if delkey = 13 ; magina
{
send {b}
}
if delkey =  ; no hero
{
send {Del}
}
return

;End is Pressed
End::
if endkey = 1 ; 
{
send {q}
}
if endkey = 2 ; 
{
send {w}
}
if endkey = 3 ; siren
{
send {e}
}
if endkey = 4 ; sven
{
send {r}
}
if endkey = 5 ; 
{
send {t}
}
if endkey = 6 ; 
{
send {a}
}
if endkey = 7 ; 
{
send {s}
}
if endkey = 8 ; 
{
send {d}
}
if endkey = 9 ; prophet
{
send {f}
}
if endkey = 10 ; 
{
send {g}
}
if endkey = 11 ; 
{
send {c}
}
if endkey = 12 ; 
{
send {v}
}
if endkey = 13 ;
{
send {b}
}
if endkey =  ; no hero
{
send {End}
}
return

;PgDn is Pressed
PgDn::
if PgDnkey = 1 ; 
{
send {q}
}
if PgDnkey  = 2 ; 
{
send {w}
}
if PgDnkey  = 3 ;
{
send {e}
}
if PgDnkey  = 4 ;
{
send {r}
}
if PgDnkey  = 5 ; 
{
send {t}
}
if PgDnkey  = 6 ; 
{
send {a}
}
if PgDnkey  = 7 ; 
{
send {s}
}
if PgDnkey  = 8 ; 
{
send {d}
}
if PgDnkey  = 9 ;
{
send {f}
}
if PgDnkey  = 10 ; 
{
send {g}
}
if PgDnkey  = 11 ; magina
{
send {c}
}
if PgDnkey  = 12 ; 
{
send {v}
}
if PgDnkey  = 13 ;
{
send {b}
}
if PgDnkey  =  ; no hero
{
send {PgDn}
}
return

;Cycling through hotkeys at del
^Del::
if delkey = 13
{
delkey := 
}
else if delkey > 0
{
delkey := (delkey + 1)
}
else
{
delkey := 1
}
return

;Cycling through hotkeys at end
^End::
if endkey = 13
{
endkey := 
}
else if endkey > 0
{
endkey := (endkey + 1)
}
else
{
endkey := 1
}
return

;Cycling through hotkeys at PgDn 
^PgDn::
if PgDnkey = 13
{
PgDnkey := 
}
else if PgDnkey > 0
{
PgDnkey := (PgDnkey + 1)
}
else
{
PgDnkey := 1
}
return

;Reset keys
^!END::
delkey :=
endkey :=
PgDnkey :=
return


toralf
  • Moderators
  • 4035 posts
  • Last active: Aug 20 2014 04:23 PM
  • Joined: 31 Jan 2005
I think you can simplify your script.

This should work for the increase
^PgDn:: 
  PgDnkey++
  if PgDnkey > 13 
      PgDnkey := 
return 

And this should do for the send
Keys = qwertsdfgxcvb
StringSplit, ArrayKeys, Keys,
return

$Del::
If delkey 
  {
     Key :=  ArrayKeys%delkey%
     Send, %key%
  }
Else
    Send, {Del}
return

Just my 2 cents

*both not tested*

flake
  • Members
  • 1 posts
  • Last active: Dec 30 2007 02:21 AM
  • Joined: 04 Nov 2006
A while ago i changed my script.
Now u just have to press the key you want to have mapped.
If needed i could write better description ;)

; ----------------------- wc3 ----------------------

#UseHook


;Right Shift mapped to "ß´" (toggle healthbar) when one of the keys (del, end, bilddown) is mapped to something.
RShift::
if ismapped>0 ;
{
 if healthBar = ;
 {
  send {ß down}
  send {´ down}
  healthBar = "on";
 }
 else
 {
  healthBar = ;
  send {ß up}
  send {´ up}
 }
}
if ismapped = ;
{
send {RShift down}
}
return

RShift up::
if ismapped = ;
{
send {RShift up}
}
return

;Right Control mapped to "a" (attack) when the keys (del, end, bilddown) are mapped to something.
RControl::
if ismapped>0 ;
{
send a
}
if ismapped = ;
{
send {RControl down}
}
return

RControl up::
if ismapped = ;
{
send {RControl up}
}
return

; Numpad0 mapped to F1 (own hero hotkey)

Numpad0::
if ismapped>0 ;
{
send {F1}
}
if ismapped = ;
{
send {Numpad0}
}
return

; abilities mappings:

;DEL is Pressed
Del::
if ismapped = 1 ;
{
send {%delkey%}
}
if delkey =  ; no mapping
{
send {Del}
}
return

;End is Pressed
End::
if ismapped = 1 ;
{
send {%endkey%}
}
if ismapped =  ; no mapping
{
send {End}
}
return

;PgDn is Pressed
PgDn::
if ismapped = 1 ;
{
send {%PgDnkey%}
}
if ismapped =  ; no mapping
{
send {PgDn}
}
return

#UseHook off

;hotkey mapping to del
^Del::
Input, delkey, L1
ismapped = 1
return

;hotkey mapping to end
^End::
Input, endkey, L1
ismapped = 1
return

;hotkey mapping to PgDn
^PgDn::
Input, PgDnkey, L1
ismapped = 1
return

;Reset keys
^!END::
delkey =
endkey =
PgDnkey =
ismapped =
return


cooza
  • Guests
  • Last active:
  • Joined: --
this could be really helpfull if you make it so it could work with any hero present and future by allowing mapping with global hotkeyz, gl!

cooza
  • Guests
  • Last active:
  • Joined: --
oh and btw, yea i need a better explination, i dont see how you asign the hotkeys for pgup pgdown and end

POINTS
  • Members
  • 290 posts
  • Last active: Oct 13 2010 02:12 AM
  • Joined: 17 Jan 2006
I wrote a script that does something like this with a GUI and everything.

http://www.warkeys.com

A lot of the things you do here are pretty cool. I might try something like this myself.