Code: Select all
#SingleInstance,Force
#InstallKeybdHook
#InstallMouseHook
#NoEnv ; Recommended for performance and compatibility with future AutoHotkey releases.
SendMode Input ; Recommended for new scripts due to its superior speed and reliability.
;--- Dragon Age: Inquisition
DAI_TurboSpace =
DAI_ToggleFreeLook =
DAI_ConvoSelect =
DAI_Mode = M
DAI_ModeLst := ["A", "T", "M"]
DAI_i = 1
DAI_PartyMember := ["F1", "F2", "F3", "F4"]
DAI_SubtKey := {s:"[", f:"]"
,Numpad9:"1" ,Numpad6:"2" ,Numpad3:"3"
,Numpad7:"4" ,Numpad4:"5" ,Numpad1:"6"}
return
F12::Reload
#F12::ExitApp ;Win + F12 -> Close AHK
#ifWinActive ahk_class Dragon Age: Inquisition
+1::5 ;Shift + 1 => 5
+2::6 ; 2 => 6
+3::7 ; 3 => 7
+4::8 ; 4 => 8
$`::return ;Disable Console key
NumpadSub::` ;Rebind Open Console to Numpad Minus
; Set Mode keys
$Capslock:: ;Rotate mode between Action, Tactic, & Menu. (Disabled CapsLock)
~NumpadAdd:: ;Tactic Cam, set to Tactic Mode
~MButton:: ;Rebind Middle Click to Tactic Cam
~LAlt:: ;Set to Menu Mode
~Esc:: ;Menu
$F9:: ;QuickLoad
~c:: ;Character Info
~b:: ;Inventory
~j:: ;Journal
~x:: ;Map
{ if DAI_ToggleFreeLook
DAI_ReleaseFreeLook()
if A_ThisHotkey = $Capslock
{ KeyWait,Capslock,U
if DAI_i < 3
DAI_i++
else
DAI_i = 1
if (DAI_Mode <> DAI_ModeLst[DAI_i])
DAI_SetMode(DAI_ModeLst[DAI_i])
}else if (A_ThisHotkey = "~NumpadAdd" || A_ThisHotkey = "~MButton")
{ if A_ThisHotkey = ~MButton
{ Send,{NumpadAdd Down}
KeyWait,MButton,U
Send,{NumpadAdd Up}
}
if DAI_Mode = T
{ DAI_SetMode("A")
;DAI_HoldFreeLook()
}else
DAI_SetMode("T")
}else
{ if DAI_Mode <> M
DAI_SetMode("M")
if A_ThisHotkey = $F9 ;Create a QuickLoad Guard
{ MsgBox,4,"DA:I QuickLoad Warning.",Are you sure want to QuickLoad?
IfMsgBox Yes
{ Send,{F9 Down}
Sleep,50
Send,{F9 Up}
}
}
}
KeyWait,% SubStr(A_ThisHotkey,2),U
}return
;Since search only use in Action Mode, it automatically lock mouse Free-Look.
~WheelLeft:: ;Rebind Mouse WheelLeft for Search
$'::
{ if DAI_Mode = M
DAI_SetMode("A")
if DAI_Mode <> T
{ Send,{' Down}
KeyWait,% SubStr(A_ThisHotkey,2),U
Send,{' Up}
}
}return
; Lock free-look on Action Mode
$RButton::
{ if DAI_Mode = A
{ if !DAI_ToggleFreeLook
DAI_HoldFreeLook()
else
DAI_ReleaseFreeLook()
}else
{ Send,{RButton Down}
KeyWait,RButton,U
Send,{RButton Up}
}
}return
; Lock Camera Zoom in Action & Tactic
$WheelUp:: ;Zoom in
$WheelDown:: ;Zoom out
{ if DAI_Mode = M
{ if A_ThisHotkey = $WheelUp
Send,{WheelUp}
else
Send,{WheelDown}
}
}return
; Rebind Left/Right in Menu Mode with Camera Turn key
~s:: ;Move Right
~f:: ; Left
{ if DAI_Mode = M
{ SubtKey := DAI_SubtKey[SubStr(A_ThisHotkey,2)]
;~ MsgBox,% SubtKey
Send,{%SubtKey% Down}
KeyWait,% SubStr(A_ThisHotkey,2),U
Send,{%SubtKey% Up}
}
}return
; Jump/OK in Action & Menu Mode, Pause/Unpause in Tactic Mode.
$Space::
{ if DAI_ConvoSelect
{ KeyWait,Space,U
Send,{%DAI_ConvoSelect% Up}
DAI_ConvoSelect =
}else if (DAI_Mode = "A" || DAI_Mode = "M")
{ Send,{Space Down}
KeyWait,Space,U
Send,{Space Up}
}else
{ Send,{/ Down}
KeyWait,Space,U
Send,{/ Up}
}
}return
; Right side conversation wheel
Numpad9::
Numpad6::
Numpad3::
; Left side conversation wheel
Numpad7::
Numpad4::
Numpad1::
{ ThisConvoSelect := DAI_SubtKey[A_ThisHotkey]
if DAI_ConvoSelect <> %ThisConvoSelect%
{ Send,{%ThisConvoSelect% Down}
KeyWait,%A_ThisHotkey%,U
If DAI_ConvoSelect
Send,{%DAI_ConvoSelect% Up}
DAI_ConvoSelect := ThisConvoSelect
}else
{ Send,{%DAI_ConvoSelect% Up}
DAI_ConvoSelect =
}
}return
NumpadEnter:: ;Accept Coversation wheel selection
{ if DAI_ConvoSelect
{ KeyWait,NumpadEnter,U
Send,{%DAI_ConvoSelect% Up}
DAI_ConvoSelect =
}else
{ Send,{Enter Down}
KeyWait,NumpadEnter,U
Send,{Enter Up}
}
}return
Numpad5:: ;Solution for dissapearing pointer. Move Mouse pointer to center screen.
{ CenterMouse()
Send,{RButton Down}
Sleep,50
Send,{RButton Up}
}return
#Space:: ;Turbo Space, for buying crafting materials in bulk.
{ if DAI_TurboSpace
{ TurboKey("Space","off")
DAI_TurboSpace =
}else
{ TurboKey("Space","on",150)
DAI_TurboSpace = 1
}
}return
DAI_SetMode(mode) {
global DAI_Mode
DAI_Mode := mode
if mode = A ;Always Lock Mouse Free-Look
{ ShowToolTip("Action Mode",3)
DAI_HoldFreeLook()
}else if mode = T
ShowToolTip("Tactical Mode",3)
else if mode = M
ShowToolTip("Menu Mode",3)
}
DAI_HoldFreeLook(){
global DAI_ToggleFreeLook
CenterMouse()
Send,{RButton Down}
DAI_ToggleFreeLook = 1
ShowToolTip("Free Look",5,0,A_ScreenHeight-40)
}
DAI_ReleaseFreeLook() {
global DAI_ToggleFreeLook
Send,{RButton Up}
DAI_ToggleFreeLook =
RmovToolTip(5)
}
ShowToolTip(tip:="",tipNo:=1,X=0,Y=1060) {
global ToolTipNo
ToolTipNo := tipNo
Y := (Y<A_ScreenHeight) ? Y : A_ScreenHeight-20
ToolTip,%tip%,%X%,%Y%,%ToolTipNo%
}
RmovToolTip(tipNo=0,delay=0) {
global ToolTipNo
if tipNo
ToolTipNo := tipNo
Sleep,%delay%
ToolTip,,,,ToolTipNo
}
TurboKey(Key:="",Turbo:=1,delay:=50) {
global TurboKey
TurboKey := key
If (!Turbo || Turbo="off")
SetTimer,RunTurboKey,Off
else
SetTimer,RunTurboKey,%delay%
}
CenterMouse() {
MouseMove,A_ScreenWidth/2,A_ScreenHeight/2
}
RunTurboKey:
{ global TurboKey
Send,{%TurboKey% Down}
Sleep,50
Send,{%TurboKey% Up}
}return