Hi! I’m Folji, member in good standing with the College of Synergetics. I want to share something I quickly and simply wrote for the game back during the early head start of the game, but haven’t posted anywhere because it took me this long to get a response about whether I was allowed to do this or not.
I like my MMORPGs more like action games than regular RPGs; I love the control scheme in TERA and DC Universe Online, in Champions Online and Dungeons & Dragons Online I’ve played with FPS controls, even in World of Warcraft I had an addon that rewrote the control scheme to work the same way. I was hoping Guild Wars 2 would offer something like this from the get go, but since it didn’t I decided to just write it.
There’s a lot of gamepad remaps floating around, but I’ve yet to see anything that remaps like this for a mouse and keyboard, so here’s what I’ve got. In case you hadn’t figured it yet, the script in this thread will let you freely control the camera with your mouse while using your mouse buttons to attack. Cool, huh?
To get the obvious question out of the way, is this allowed?
ANet has been understandably vague on a clear yes or no, who wouldn’t be, but there’s still enough to figure out what can be done and what can’t be.
The use of automation (botting), or modifying games files through third party applications is in direct violation of our User Agreement (https://www.guildwars2.com/en/legal/guild-wars-2-user-agreement/) and Rules of Conduct (https://www.guildwars2.com/en/legal/guild-wars-2-rules-of-conduct/). So although we cannot always guarantee this script will be allowed in game, please note that as long as you’re not botting, exploiting or modifying the game files in anyway, you would not be in violation.
If it’s just translating a key-click to a mouse-click, that’s fine. If it’s looping or automating gameplay, that’s not fine.
So basically, translating a key into another key and ensuring actions require hardware input? Good enough! This script doesn’t automate anything, doesn’t interface with the game in any way and in general does absolutely nothing unless you tell it to. All it does is that it intercepts what comes from the mouse and rewrites it before sending it on to the system, which then sends it on to the game. Since we’re in the clear on this, let’s get right to it.
1: Download AutoHotkey
Yep, it’s an AutoHotkey script. Surprise, eh? Just go to their page and download the latest version.
http://www.autohotkey.com/
2: Create a new AutoHotkey script
With AutoHotkey installed, right-click the desktop and create a new AutoHotkey script. Just name it anything; I named mine GW2 Mouse. Just keep it right there on the desktop.
http://i47.tinypic.com/2uzplko.png
3: Edit script
Right-click your new .ahk file and choose to “edit script”. Then, remove everything in there and paste this in:
#NoEnv
SendMode Input
SetWorkingDir %A_ScriptDir%
#IfWinActive, Guild Wars 2
{
MouseMode = 0
Hotkey, *LButton, Off
Hotkey, *LButton Up, Off
Hotkey, *RButton, Off
Hotkey, *Rbutton Up, Off
VNudge = 100
KeyOne = 1
KeyTwo = 4
XButton2::
if (MouseMode = 0) {
MouseMode = 1
WinGetPos, , , Width, Height, Guild Wars 2
Width /= 2
Height /= 2
Height -= %VNudge%
MouseMove, %Width%, %Height%
send {RButton Down}
Hotkey, *LButton, On
Hotkey, *LButton Up, On
Hotkey, *RButton, On
Hotkey, *Rbutton Up, On
} else {
MouseMode = 0
send {Rbutton Up}
Hotkey, *LButton, Off
Hotkey, *LButton Up, Off
Hotkey, *RButton, Off
Hotkey, *Rbutton Up, Off
}
return
*LButton::Send {%KeyOne% Down}
*LButton Up::Send {%KeyOne% Up}
*RButton::Send {%KeyTwo% Down}
*RButton Up::Send {%KeyTwo% Up}
}
It’s not complicated at all. Even if you don’t know the scripting language you can probably figure out in two seconds how everything works and what parts do what. Nothing more there than what needs to be there.
I’m hitting a character limit, so let’s continue on in the next post
(edited by Moderator)