AutoHotkey Homepage AutoHotkey Community
Let's help each other out
 
 FAQFAQ   SearchSearch   MemberlistMemberlist   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

Warcraft3 WASD scroll control

 
Post new topic   Reply to topic    AutoHotkey Community Forum Index -> Scripts & Functions
View previous topic :: View next topic  
Author Message
leobasil



Joined: 10 May 2007
Posts: 2

PostPosted: Sun Apr 27, 2008 10:56 am    Post subject: Warcraft3 WASD scroll control Reply with quote

I was pretty annoyed by the fact that in Warcraft 3 one can only scroll using the cursor keys, since I prefere the WASD controls. Simple keymapping didn't work, since when playing in battlenet, I somethimes need the wasd keys for chatting.

Code:


;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; Warcraft3 WASD Scroller
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

SetTitleMatchMode 2
#IfWinActive, Warcraft


;;;;; W - Up ;;;;;;

w::
If (GetKeyState("ScrollLock", "T")) {
  SetKeyDelay -1
  Send {Up DownTemp}
}
else Send w
return

w up::
  SetKeyDelay -1
  Send {Up Up}
return


;;;;; A - Left ;;;;;;

a::
If (GetKeyState("ScrollLock", "T")) {
  SetKeyDelay -1
  Send {Left DownTemp}
}
else Send a
return

a up::
  SetKeyDelay -1
  Send {Left Up}
return

;;;;; S - Down ;;;;;;

s::
If (GetKeyState("ScrollLock", "T")) {
  SetKeyDelay -1
  Send {Down DownTemp}
}
else Send s
return

s up::
  SetKeyDelay -1
  Send {Down Up}
return

;;;;; D - Right ;;;;;;

d::
If (GetKeyState("ScrollLock", "T")) {
  SetKeyDelay -1
  Send {Right DownTemp}
}
else Send d
return

d up::
  SetKeyDelay -1
  Send {Right Up}
return


EDIT: You can turn WASD controlls on/off using the scrollLock key
Back to top
View user's profile Send private message
BLooM2



Joined: 05 May 2008
Posts: 14
Location: China

PostPosted: Mon May 05, 2008 6:28 am    Post subject: Reply with quote

I have the same confusion. thanks !
is there someway to automatic judge the chatting
_________________
Intensively appeal for founding Chinese forum !Fantasy OnLine
Back to top
View user's profile Send private message Visit poster's website
Elesar



Joined: 28 Jun 2007
Posts: 91

PostPosted: Mon May 05, 2008 6:04 pm    Post subject: Reply with quote

I don't believe that there is a way to detect being in a lobby of any sort at the time.

Here is my version of basically the same script that I made a couple weeks ago.

Code:

#SingleInstance Force
#NoEnv
SendMode Play
#IfWinActive Warcraft III

;<=====  HotKey Toggle  =====>
+Enter::
Suspend, Permit
Suspend
If (A_IsSuspended == 1)               ; Disable hotkeys, play sound notification.
  {
    SoundPlay,*64
  }
Else                                  ; Enable hotkeys, play sound notification.
  {
    SoundPlay,*48
  }
Return

;<=====  Directional Remap  =====>
W::
  Send {Up Down}
  Loop
    {
      Sleep, 10
      GetKeyState, WState, W, P
      If WState = U
        {
          Send {Up Up}
          Break
        }
     } 
  Return

A::
  Send {Left Down}
  Loop
    {
      Sleep, 10
      GetKeyState, AState, A, P
      If AState = U
        {
          Send {Left Up}
          Break
        }
    }
  Return

S::
  Send {Down Down}
  Loop
    {
      Sleep, 10
      GetKeyState, SState, S, P
      If SState = U
        {
          Send {Down Up}
          Break
        }
    }
  Return

D::
  Send {Right Down}
  Loop
    {
      Sleep, 10
      GetKeyState, DState, D, P
      If DState = U
        {
          Send {Right Up}
          Break
        }
    }
  Return

;<=====  Health Monitor  =====>
`::                            ; Force the game to always show health bars.
  If (HealthBarOn == False)
    {
      Send, {[ Down}
      Send, {] Down}
      HealthBarOn := True
    }
  Else
    {
      Send, {[ Up}
      Send, {] Up}
      HealthBarOn := False
    }
  Return

;<=====  ScreenCap  =====>
P::
  If (A_PriorHotKey = "P" AND A_TimeSincePriorHotkey < 200)
    {
      Send {PrintScreen}
      Sleep, 250
      IfWinNotExist, untitled - Paint
        Run, mspaint.exe
      WinActivate, untitled - Paint
      WinWaitActive, untitled - Paint
      Send {Ctrl Down}v{Ctrl Up}
    }
  Else
    Send p
  Return


This has wasd camera movement, double tap the ` key to always display health bars, double tap p to printscreen and paste into paint (Needed because my computer just takes black screens with the War3 engine).

The directional remap works with going diagonal, but if you press, say up then left, if you release up, you will continue at the diagonal until you release left.

Also, hotkeys are only active inside warcraft III, and Shift+Enter will toggle hotkeys with a sound notification of being on or off.

EDIT: Spelling....
Back to top
View user's profile Send private message
BLooM2



Joined: 05 May 2008
Posts: 14
Location: China

PostPosted: Thu May 08, 2008 5:10 pm    Post subject: Reply with quote

have a look! it`s my War3Assistant
- automaticly show health
- items hotkey defined by user
- real time statistic APM
- RButton Up eliminate the selected element from current team
- let the selected element run away to enacted point

i`m pleasure if you can understood Wink
_________________
Intensively appeal for founding Chinese forum !Fantasy OnLine
Back to top
View user's profile Send private message Visit poster's website
Display posts from previous:   
Post new topic   Reply to topic    AutoHotkey Community Forum Index -> Scripts & Functions All times are GMT
Page 1 of 1

 
Jump to:  
You can post new topics in this forum
You can reply to topics in this forum


Powered by phpBB © 2001, 2005 phpBB Group