Nomore.7861 Posted December 13, 2022 Share Posted December 13, 2022 (edited) Action camera sucks. Immersive combat mode for some reason cannot to run on my system. Only one advantage from ingame action camera - faster speed run with strafes (and backwards), which not work in combat (character still turning back even u cast instant skills). And all. U can't cast aoe under your feets. U should have target directly in front of face. U can't autoattack wih one-click lmb (should be hold) - this is really dumb, and undevelompeted, cause certain skills (single-target with target requierement) launch autoattacks..... which interrupted if u press lmb one more time. After googling and seeking on reddit i found partial solutions from different sources. Trying compose all this and little improve. Here is what i got - AHK settings under spoiler. Spoiler #SingleInstance force #MaxThreadsBuffer On #NoEnv #InstallKeybdHook #InstallMouseHook #IfWinActive ahk_class ArenaNet_Gr_Window_Class CountTabs := "" WinWidth:=960 WinHeight:=520 FuncToggleOFF() ~*CapsLock:: setcapslockstate, AlwaysOff ToggleMouseLook() if (MouseLook) { CountTabs := "" } if !WinActive("ahk_class ahk_class ArenaNet_Gr_Window_Class") setcapslockstate, AlwaysOff return ~Lalt:: ToggleMouseLook() KeyWait, Lalt sleep 50 ToggleMouseLook() return *Lbutton:: KeyWait, Lbutton, T0.25 If ErrorLevel { send {End down} KeyWait, Lbutton send {End up} } else { send {VK31} } return *Rbutton:: KeyWait, Rbutton, T0.25 If ErrorLevel { send {Lbutton down} KeyWait, Rbutton send {Lbutton up} } else { BlockInput, Mousemove send {blind}{Rbutton up} sleep -1 Click, 960 520 sleep -1 send {blind}{Rbutton down} BlockInput, MousemoveOFF } return ^Numpad3:: send ^{Numpad3 down} sleep 150 KeyWait, Ctrl, T0.15 KeyWait, Numpad3, T0.15 if ErrorLevel { ToggleMouseLook() KeyWait, Rbutton, D, T30 if !ErrorLevel { KeyWait, Rbutton ToggleMouseLook() } else return } KeyWait, Ctrl KeyWait, Numpad3 send ^{Numpad3 up} return ^Numpad4:: ;Mounts with radialmount KeyWait, Ctrl, T0.15 KeyWait, Numpad4, T0.15 if ErrorLevel { if (MouseLook) { ToggleMouseLook() send ^{Numpad9 down} ;radialmount keybind KeyWait, Ctrl KeyWait, Numpad4 send ^{Numpad9 up} ;radialmount keybind ToggleMouseLook() } else { send ^{Numpad9 down} ;radialmount keybind KeyWait, Ctrl KeyWait, Numpad4 send ^{Numpad9 up} ;radialmount keybind } } else { send ^{Numpad4 down} KeyWait, Ctrl KeyWait, Numpad4 send ^{Numpad4 up} return } return /*----------------------------------- ~E:: ~Q:: ~2:: ~3:: ~4:: ~5:: ~Z:: ~X:: ~R:: ~F::send {Rbutton up} return ~E up:: ~Q up:: ~2 up:: ~3 up:: ~4 up:: ~5 up:: ~Z up:: ~X up:: ~R up:: ~F up:: CursorMoveToCenter() send {Rbutton down} return */----------------------------------- ~o::FuncCountTabs("o") ;;;;;;;;;;~p::FuncCountTabs("p") ~i::FuncCountTabs("i") ~m::FuncCountTabs("m") ~f12::FuncCountTabs("]") ~f11::FuncCountTabs("[") ~f10::FuncCountTabs("}") ~f9::FuncCountTabs("{") ~f8::FuncCountTabs("\") ~f7::FuncCountTabs("'") ~f6::FuncCountTabs("|") ~f5::FuncCountTabs("i") ~esc::FuncCountTabsWhenEscape() return CursorMoveToCenter() { global WinWidth, WinHeight MouseMove, WinWidth, WinHeight } return ToggleMouseLook() { global MouseLook if (MouseLook) { FuncToggleOFF() send {Rbutton up} MouseLook := false } else { BlockInput, Mousemove CursorMoveToCenter() send {Rbutton down} FuncToggleON() MouseLook := true BlockInput, MouseMoveOff } } return FuncToggleOFF() { HotKey, *Lbutton, off HotKey, *Rbutton, off HotKey, ^Numpad3, off /*----------------------------------- HotKey, E, off HotKey, Q, off HotKey, 2, off HotKey, 3, off Hotkey, 4, off Hotkey, 5, off HotKey, Z, off HotKey, X, off HotKey, R, off HotKey, F, off HotKey, E up, off HotKey, Q up, off HotKey, 2 up, off HotKey, 3 up, off Hotkey, 4 up, off Hotkey, 5 up, off HotKey, Z up, off HotKey, X up, off HotKey, R up, off HotKey, F up, off */----------------------------------- } return FuncToggleON() { HotKey, *Lbutton, on HotKey, *Rbutton, on HotKey, ^Numpad3, on /*----------------------------------- HotKey, E, on HotKey, Q, on HotKey, 2, on HotKey, 3, on Hotkey, 4, on Hotkey, 5, on HotKey, Z, on HotKey, X, on HotKey, R, on HotKey, F, on HotKey, E up, on HotKey, Q up, on HotKey, 2 up, on HotKey, 3 up, on Hotkey, 4 up, on Hotkey, 5 up, on HotKey, Z up, on HotKey, X up, on HotKey, R up, on HotKey, F up, on */----------------------------------- } return FuncCountTabs(OpenTab:="") { global CountTabs, MouseLook StringReplace, CountTabs, CountTabs, %OpenTab%, %OpenTab%, UseErrorLevel if ErrorLevel>0 { CountTabs := StrReplace(CountTabs, OpenTab, "") } else { CountTabs := CountTabs . OpenTab } if (MouseLook) { if (CountTabs = "") { sleep 200 CursorMoveToCenter() send {Rbutton down} FuncToggleON() } else { FuncToggleOFF() send {Rbutton up} } } OpenTab:="" } return FuncCountTabsWhenEscape() { global CountTabs, MouseLook if (CountTabs = "") { FuncCountTabs(":") return } NumOpenTabs := StrLen(CountTabs)-1 CountTabs := SubStr(CountTabs, 1, (NumOpenTabs)) if (MouseLook) { if (NumOpenTabs = 0) { sleep 200 CursorMoveToCenter() send {Rbutton down} FuncToggleON() } } NumOpenTabs :="" } return ^Esc:: suspend if (MouseLook) { FuncToggleOFF() send {Rbutton up} MouseLook := false ;CountTabs := "" } return What is it does: Key (CapsLock) for toggle "action mode without crosshair"** (pushed RMB) **{read these with troll inner voice} LMB with "1" - now it run autoattack Click RMB - nearest target. Hold RMB - free camera Hold LeftAlt - for cursor ( temporarily on/off ) All weapon skills + utilities give me cursor until ability key released. (Cause different builds and weapons have different keys with aoe abilities. Use this with fast cast after release buttons). After cast (release) cursor going to center, and hide. Prevent CAPSLOCK TEXT IN CHAT after pressing Enter. (but lmb=1 and rmb=c if mode is toggled. To complicated, and haven't importance) All interface tabs (inventory/mail/tp) and ESC buttons toggle mode off. And before i can think up working method of counting how many and which interface menus open / closed via their buttons or ESC button, I fall in misgiving. How i can understand it's Legal, and i don't find direct contradiction with policy about "macro and macro use" https://help.guildwars2.com/hc/en-us/articles/360013762153-Policy-Macros-and-Macro-Use But who knows? May be difference action with click / push mouse button (which implemented in game, by the way) or center mouse after cast can be interpreted as "provide the user with an unfair advantage over other players"..... Any advice and discussion is welcome. It's a pity, you can't just send your wishes in support, so that they can do everything for you there XD (joke) ------------------------------------ UPD. 17.12 Rework alt. now it's not just show cursor, but allow use mousebuttons for dialogues or same. But now sometimes it's buggy, if Left_Alt pushed too long or clicking too fast. IDK why, and how it's can be cured. No more need to toggle *mode* atleast once (or double) straightaway after launch ahk file for disable remapping mousebuttons with movable cursor on the screen. Little laggy after alt+TAB (can use Ralt+TAB). Looks like Frankenshtein monstrum, cause it is frankenshtein hindustan zombie. Which having unnecessary lines that could be shortened. mb by someone who is not me, an ordinary guy who just slightly understands simple logic (*not always) (**social understandings is not included) (***It was an attempt at a joke) (****lots of footnotes - joke too, just for relax a small number of people who will read) ...For ppl from future, which found this in fathomless webgarbage: Use Right_Alt for inventory stacks or something similliar. Hope i found some simple and working method for count interface ingame tabs in some other night when insomnia decide to visit me again. ¯\_("-)_/¯ ***Also for ppl from future: Yeah, i know that i'm a bit of a pervert with this e,q for 2-3 weaponskills. But imo, this skills have slightly higher frequency than any utilities. UPD. 24.12 New version. No, I'm not writing about changes. Too lazy, not interesting to anyone. 30.12 Get second mount, so - tweak for radialmount from blishHud Edited December 29, 2022 by Nomore.7861 edit ahk file 1 Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now