Dev:
http://code.google.com/p/diablo-iii-wasd/Video of how to install and operation:
http://www.youtube.com/watch?v=YDBF-Ml2 ... _embedded#!
(!empty($user->lang['CODE'])) ? $user->lang['CODE'] : ucwords(strtolower(str_replace('_', ' ', 'CODE'))):
What this is
###############This is the AutoIT version of the script and probably works good enough, while being easy to understand.Especially as a easy level AutoIT script.*So far tested on 1920×1080 window mode.
###############
HOWTO:
###############
1) Remove keybindings for W , A , S , D in your D3 Settings.
2) Bind Middle Mouse Button (MouseWheel Click) to “Movement” in your D3 Settings.
3) Enjoy WASD movement ingame.
*If something does not work, you can either adjust the values in the source yourself, or give feedback here. If something does not work, its most likely easy to fix it yourself in the sourcecode (as the script itself is easy level).
Code:
#cs ----------------------------------------------------------------------------
AutoIt Version: 3.3.6.1
Author: TheOnlyOne
Script Function:
Play with WASD to move.
Credits to http://code.google.com/p/diablo-iii-wasd/ for good alternate control ideas for d3
#ce ----------------------------------------------------------------------------
;~ #RequireAdmin
#include <Misc.au3>
_Singleton(@ScriptName)
OnAutoItExitRegister ( "_exit" )
AutoItSetOption ( "MouseCoordMode", 2)
Global $winTitle = "Diablo III"
Global $hWnd = WinGetHandle($winTitle)
Global $user32dll = DllOpen("user32.dll")
;~ HotKeySet("{ESC}", "_exit")
Func _exit()
DllClose($user32dll)
Exit 0
EndFunc
Global $up_key = 57 ;W
Global $left_key = 41 ;A
Global $down_key = 53 ;S
Global $right_key = 44 ;D
Global $up_pressed
Global $down_pressed
Global $left_pressed
Global $right_pressed
Global $doMove = false
Global $clientSize = WinGetClientSize($winTitle)
Global $Middle_Of_Win_X = $clientSize[0] / 2
Global $Middle_Of_Win_Y = $clientSize[1] / 2 - 32
Func _checkPressedKeys()
$up_pressed = _IsPressed($up_key, $user32dll)
$down_pressed = _IsPressed($down_key, $user32dll)
$left_pressed = _IsPressed($left_key, $user32dll)
$right_pressed = _IsPressed($right_key, $user32dll)
if ($up_pressed OR $down_pressed OR $left_pressed OR $right_pressed) Then
if ($doMove == false) Then
$doMove = true
EndIf
Else
if ($doMove == true) Then
$doMove = false
EndIf
EndIf
EndFunc
Func _doMove()
local $x = $Middle_Of_Win_X
local $y = $Middle_Of_Win_Y
if ($up_pressed) Then
$y = $y -10
EndIf
if ($down_pressed) Then
$y = $y +10
EndIf
if ($left_pressed) Then
$x = $x -14
EndIf
if ($right_pressed) Then
$x = $x +14
EndIf
ControlClick($winTitle, "", $hWnd, "middle", 1, $x, $y)
EndFunc
while WinExists($winTitle)
if (WinActive($winTitle)) Then
_checkPressedKeys()
if ($doMove == true) Then
_doMove()
EndIf
EndIf
WEnd