Worms Armageddon

Worms Armageddon

Not enough ratings
Shoot with the mouse + Zoom with the mouse wheel
By 8bit
Ready to join the Worms Armageddon community? Weapons hot, but.. the controls are a disaster! Don't quit, worm! I'm guiding you to the ultimate remap to get that mouse in the game. Let's go!
   
Award
Favorite
Favorited
Unfavorite
OBJECTIVE
Not having to open external tools every time you start the game and having the following mapping:

MOOVE
  • Left : A
  • Right : D
AIMING
  • UP : W / CTRL+M.WheelU
  • Down : S / CTRL+ M.WheelD
ZOOM
  • Zoom In : SHIFT+M.WheelU
  • Zoom Out : SHIFT+M.WheelD
JUMPS
  • Normal : Space Bar
  • Vertical : SHIFT+Space Bar
FIRE
  • Bang-Bang : SHIFT+L.Click
EXTRA
  • Set fuse : 1 - 5
  • Forces worm to face one direction when moving : CTRL + A / D
  • Swap worm (when Worm Select is active) : Tab
  • Set on Min Bounce : Q / XButton1 / - (NumpadSub)
  • Set on Max Bounce : E / XButton2 / + (NumpadAdd)
TUTORIAL
  1. In your Worm Armageddon's advanced settings, enable "Load WormKit modules"

  2. Open your Steam Library > Right-click Worms Armageddon > Manage > Local FIles

  3. Download wkRemapKeys:
    https://worms2d.info/files/wkRemapKeys_1.2.1.zip

  4. Extract RemapKeys.ini & wkRemapKeys.dll in the same folder of Worm Armageddon

  5. Open RemapKeys.ini, paste the follow script and save:
    [RemapKeys] \\DIRECTIONS Up = W Left = A Down = S Right = D \\JUMP Enter = Space \\FIRE Space = P \\FACE ON DIR. Shift = Ctrl \\BOUNCE NumSubtract = NumSubtract, Q NumAdd = NumAdd, E
  6. Download AutoHotkey v2.0:
    https://www.autohotkey.com/download/ahk-v2.exe

  7. Save the path where you install it, and forget about it. It will run in the background and you won't need to open it every time (It will also close automatically)

  8. Return to Worms Armageddon local files > make a new text file on it and rename it:
    "wormsarmageddonclickshoot.ahk".

  9. Right click on "wormsarmageddonclickshoot.ahk" > Open with Notepad

  10. Paste the following text:

    [Note that the following script is compatible with both 3-button and 5-button mouse]
    ; This script requires AutoHotkey v2 or higher #Requires AutoHotkey v2.0 ; Disable all warnings #Warn All, Off ; Make the script "aware" of hidden windows DetectHiddenWindows true ; Global variable to control the Magnifier state global isMagnifierLaunchedByScript := false ; --- Start of mappings active only for WA.exe --- ; Activate the following hotkeys only when this window is active #HotIf WinActive("ahk_exe WA.exe") ; Map the side mouse buttons to grenade bounce (Numpad +/-) ; XButton1 (Back/Nearest) is Sub, XButton2 (Forward/Farthest) is Add. XButton1::NumpadSub XButton2::NumpadAdd ; Map Shift + Left Click (for 3-button mice) to send "p" (Fire). +LButton::p ; Map Shift + Spacebar to send a "Backspace" ; The + symbol indicates the Shift modifier +Space::Backspace ; Map Shift + Wheel Up (Zoom In) ; The + symbol means SHIFT +WheelUp:: { global isMagnifierLaunchedByScript ; Do nothing if the Magnifier wasn't launched by the script if (not isMagnifierLaunchedByScript) return ; Exact logic as you requested: SendInput "{LWin Down}" ; 1. Press and hold the Windows key Sleep 50 ; 2. Pause SendInput "{NumpadAdd Down}" ; 3. Press the Numpad Add key SendInput "{NumpadAdd Up}" ; 4. Release the Numpad Add key Sleep 50 ; 5. Pause SendInput "{LWin Up}" ; 6. Release the Windows key ; Add an extra release for safety, to prevent it from getting stuck Sleep 20 SendInput "{LWin Up}" } ; Map Shift + Wheel Down (Zoom Out) ; The + symbol means SHIFT +WheelDown:: { global isMagnifierLaunchedByScript ; Do nothing if the Magnifier wasn't launched by the script if (not isMagnifierLaunchedByScript) return ; Exact logic as you requested: SendInput "{LWin Down}" ; 1. Press and hold the Windows key Sleep 50 ; 2. Pause SendInput "{NumpadSub Down}" ; 3. Press the Numpad Sub key SendInput "{NumpadSub Up}" ; 4. Release the Numpad Sub key Sleep 50 ; 5. Pause SendInput "{LWin Up}" ; 6. Release the Windows key ; Add an extra release for safety, to prevent it from getting stuck Sleep 20 SendInput "{LWin Up}" } ; Map CTRL + Wheel Up (Aim Up) ; The ^ symbol means CTRL ^WheelUp:: { SendInput "{w Down}" ; Press W Sleep 10 ; Very short pause (10ms) SendInput "{w Up}" ; Release W } ; Map CTRL + Wheel Down (Aim Down) ; The ^ symbol means CTRL ^WheelDown:: { SendInput "{s Down}" ; Press S Sleep 10 ; Very short pause (10ms) SendInput "{s Up}" ; Release S } ; End of the conditional hotkey section #HotIf ; --- End of mappings --- ; --- STAGE 1: PRE-GAME MAGNIFIER CLEANUP (Win+M Strategy) --- ; --- RE-ADDED --- ; This block is necessary to "teach" the Magnifier ; to start minimized and solve the layering problem (Magnifier on top of the game). try { ; --- Kill previous instances --- try ProcessClose "magnify.exe" ; Gentle method Sleep 300 RunWait "taskkill /IM magnify.exe /F",, "Hide" ; Forced method Sleep 200 ; --- Launch, Minimize (Win+M), and Close ("Teaching") --- Run "magnify.exe" WinWait("ahk_exe magnify.exe",, 5) Sleep 500 ; Wait for the window to appear ; --- Use Win+M (Minimize All) --- SendInput "{LWin Down}m{LWin Up}" Sleep 500 ; Give it a moment to complete ; Now close it "gently" (to save the minimized state) ProcessClose "magnify.exe" Sleep 500 ; Give it time to close } catch as e { ; Do not block the game launch MsgBox "Error during Magnifier cleanup. The game will launch anyway." } ; --- STAGE 2: LAUNCH GAME --- try { if (A_Args.Length == 0) { MsgBox "Error: No %command% from Steam received." ExitApp } ; The first argument is the executable, the rest are its arguments exe_path := A_Args[1] other_args := "" if (A_Args.Length > 1) { for i, arg in A_Args { if (i > 1) other_args .= arg " " } } ; Run, quoting the executable (the first argument) for safety Run('"' exe_path '" ' other_args) } catch as e { MsgBox "Error: Could not launch the game via %command%. (" exe_path " " other_args "). Details: " e.Message ExitApp } ; --- STAGE 3: LAUNCH MAGNIFIER (for the game) --- try { ; Wait for the game to be the active window WinWait("ahk_exe WA.exe",, 10) ; Run Magnifier (which should now "remember" the minimized state from STAGE 1) Run "magnify.exe" ; Wait for the Magnifier window to exist WinWait("ahk_exe magnify.exe",, 5) ; Minimize again just in case WinMinimize "ahk_exe magnify.exe" Sleep 300 isMagnifierLaunchedByScript := true } catch as e { isMagnifierLaunchedByScript := false } ; --- END MAGNIFIER BLOCK --- ; Now, wait for the "WA.exe" process (which we just launched) to close ProcessWaitClose("WA.exe") ; --- NEW STAGE: Close Magnifier (Option 7: Extended Loop + Taskkill Fallback) --- try { ; --- MODIFICATION: Option 7 - "Extended Loop + Fallback" Logic --- ; 1. (KEY MODIFICATION) We attempt to close the Magnifier in an extended loop Loop 10 ; Try 10 times (approx 5 seconds max) { ; Check if the process still exists if not ProcessExist("magnify.exe") break ; Exited successfully, break the loop ; If it still exists, send the close command SendInput "{LWin Down}{Esc}{LWin Up}" Sleep 500 ; Give the command time to work } ; 2. (RE-ADDED) Fallback with Taskkill for safety ; If the loop failed, we force the closure. if ProcessExist("magnify.exe") { RunWait "taskkill /IM magnify.exe /F",, "Hide" ProcessWaitClose("magnify.exe", 3) ; Wait for the forced close } ; 3. (REMOVED) No Magnifier restart. } catch as e { ; Do nothing if there's an error } ; --- END NEW STAGE --- ; --- Robust Magnifier Closing (EMPTY) --- ; This block is now empty, as per the requested logic. try { ; Removed 'ProcessClose' ; Removed 'taskkill' } catch as e { ; Do nothing if there's an error } ; Once the game is closed, this script exits automatically ExitApp

  11. Return to your Steam Library > Right-click Worms Armageddon > Properties > General > Launch Options

  12. Paste this:
    "C:\Program Files\AutoHotkey\UX\AutoHotkeyUX.exe" "C:\Program Files (x86)\Steam\steamapps\common\Worms Armageddon\wormsarmageddonclickshoot.ahk" %command%
    Originally posted by author:
    Note:
    This script contains the installation paths for Autohotkey and Worms Armageddon.
    If you have installed these programs in different locations, you will need to edit the script and insert the correct paths.
TROUBLESHOOTING
  • Worms Armageddon starts zoomed in:
    Simply hold SHIFT+M.WheelD
    This can occasionally happen on first launch; it depends on the Magnifier's state before the game starts.

  • Script file not found:

    Go to:

    File Explorer > View > Show > File name extensions

    Make sure you've actually changed the file extension of "wormsarmageddonclickshoot.ahk", and not just typed the extension as part of the file name.
    If you renamed the file correctly, the game should work now.
CONCLUSION
The zoom uses Windows' built-in Magnifier and will automatically launch when Worms Armageddon starts, along with AutoHotkey; both will close when you exit the game. Make sure your Magnifier settings match the reference screenshot.


Originally posted by author:
To ensure the magnifier launches reliably, all on-screen windows will be minimized when the game starts. This shouldn't happen, but if the procedures responsible for minimizing the magnifier were to fail, just minimize it manually. It will work fine for the rest of the game, and you don't need to worry about closing it, as it will happen automatically when the game exits.

I hope someone finds this tutorial useful, have fun everyone! 🪱🧨

1 Comments
Leonidas_ITA 24 Oct @ 3:48am 
Great guide. I finally got around to playing by shooting with the left mouse button!