Like many others, I've been annoyed with the lack of hotkey binds for random weapon selection (as opposed to serial weapon selection with the mouse wheel, assisted by the Last Weapon bind). Last Weapon helps, but it's hardly a good replacement for true weapon hotkeys in my opinion. I don't like having to remember what my last weapon was, because I switch often to suit the situation and target. Many others seem content to pause the game to select a weapon; when I play as a vanguard, pausing often really hampers my fun factor. I like to keep rolling: charging, taking cover, switching weapons / ammo, charging again, etc.
I have difficulty imagining why Bioware chose not to add weapon hotkey binds for the PC version. It's hardly a difficult change to make. I play games on a PC in part because I like more input options and the ability to customize my input devices. I believe Bioware's decision to force me to downgrade to console input options with respect to weapon selection is a bad UI design decision; it really hampers my enjoyment of the game. I can think of one possible reason for this design choice, however. Perhaps Bioware wants all players to use the same interface regardless of hardware options, to equalize things in preparation for the rumored multiplayer gaming with Mass Effect 3.
In any case, I decided to make my own weapon hotkeys with AutoHotkey; the script is pasted below. Autohotkey is a very powerful scripting language for, obviously, making hotkeys, but also much more. You can do amazing things with it with respect to games. With this power comes a steepish learning curve - it is not a GUI. However, basic hotkey creation is not very intricate. The script below is quick and dirty -- I could make it much slicker and eaier for others to customize for their own system. If people have trouble using it I'll consider such changes.
I highly recommend using SciTE4AutoHotkey (also available through autohotkey.com) to work with Autohotkey scripts. It has many helpful features, including auto-complete and content-sensitive font coloring (The script below will be much easier to read in the editor). There is one caveat: the editor will capture F-keys (F1 through F8, and F11, iirc) so if you make hotkeys using those keys as binds, you must close the editor to get them to work.
Finally, I chose the u, i, o, p keys as my weapon binds, which wil likely suit few others. I actually use a CH Products MultiFunctionPanel for gaming, which has movable keys, a GUI, and its own scripting capability. Obviously there are many other options when it comes to alternate input devices for PC gaming. Modifying the script below to use hotkeys of your choice is easy. See the comments in the script for more info.
Script summary: On pressing one of the defined hotkeys, the script opens the in-game HUD, moves the mouse to open the weapon selection interface, and clicks on a weapon, then closes the HUD. All this takes about 0.12 seconds. Four weapon hotkeys are defined. If you'd like a fifth, it should be apparent from the script and the comments how to add another.
The script:
#NoEnv
#UseHook
;#InstallMouseHook
SetWorkingDir %A_ScriptDir%
CoordMode, Mouse, Screen
;#MaxThreadsBuffer On
;#NoTrayIcon
;SetKeyDelay, 10
SetTitleMatchMode RegEx
SetTitleMatchMode Fast
SendMode, Input
; See Autohotkey help for full information on any of the script comands below or above.
; The values in the Sleep statements can be changed. Try increaasing them if you do not
; see expected script behavior. The values realistically have a granularity of 10 to 15.6
; (milliseconds) due to Operating System issues. It is possible to reduce this granularity
; -- see Autohotkey help on Sleep for more info.
; The coordinates for the MouseMove and Click statements will almost surely need to be
; changed for your system. Use AutoIt3 Window Spy (found at Autohotkey.com) to get your
; coordinates. I recommend running the game on fullscreen, borderless settings to do this.
; In each hotkey, the first MouseMove places the cursor on the weapon selection
; icon. The second MouseMove moves the cursor slightly to expand the weapon selection
; interface. The following MouseMove and Click actually clicks on a weapon.
; Obviously, if you use a key different from LeftShift to bring up the HUD and pause the
; game, you will need to change4 the key name in the Send comands. In Autohotkey help,
; search for "Key List" to see all key names.
; Finally, not all the commands and directives above are actually necessary for this script.
; If your'e curious about them, again, consult the Autohotkey help
Thread, interrupt, 0
#IfWinActive ahk_class LaunchUnrealUWindowsClient
u:: ; First weapon slot hotkeyed to'u'. Change to desired hotkey.
Send {LShift Down}
MouseMove, 958, 1105
Sleep, 40
MouseMove, 954, 1105
Sleep, 40
MouseMove, 775, 1105
Sleep, 40
Click
Send {LShift Up}
Return
i:: ; Second weapon slot hotkeyed to'i'. Change to desired hotkey.
Send {LShift Down}
MouseMove, 958, 1105
Sleep, 40
MouseMove, 954, 1105
Sleep, 40
MouseMove, 864, 1105
Sleep, 40
Click
Send {LShift Up}
Return
o:: ; Third weapon slot hotkeyed to'o'. Change to desired hotkey.
Send {LShift Down}
MouseMove, 958, 1105
Sleep, 40
MouseMove, 954, 1105
Sleep, 40
MouseMove, 960, 1105
Sleep, 40
Click
Send {LShift Up}
Return
p:: ; First weapon slot hotkeyed to'p'. Change to desired hotkey.
Send {LShift Down}
MouseMove, 958, 1105
Sleep, 40
MouseMove, 954, 1105
Sleep, 40
MouseMove, 1048, 1105
Sleep, 40
Click
Send {LShift Up}
Return
Weapon hotkeys with Autohotkey
Débuté par
polymemnon
, déc. 09 2010 11:58
#1
Posté 09 décembre 2010 - 11:58





Retour en haut






