AutoHotkey - Basic Scripting
Author Message Eden Ensign
Posts : 22Join date : 2011-05-13Age : 58Location : Bristol, UK Subject: AutoHotkey - Basic Scripting Sat May 09, 2015 11:43 pm I've been thinking about doing a little post on AutoHotkey, it's a very powerful free scripting tool for Windows that I began using some time ago.
You can find out about and download it here
[You must be registered and logged in to see this link.] .
Creating scripts is easy, they're just text files with the .ahk extension that you edit in Notepad. The help utility is excellent and will get you up and writing scripts in no time at all.
Here's the first AutoHotkey command I wrote for Earth & Beyond.
WinSet, Style, -0xC00000, A It removes the active window title bar and border whilst retaining the Windows fast alt-tab switching between clients and other windows.
To get it to work on the Earth and Beyond client window you need to make it the active window.
WinActivate, Earth & Beyond WinWaitActive, Earth & Beyond WinSet, Style, -0xC00000, A Or you can assign the action to any key combination so it can be run when the client window is active. "^" is the hotkey modifier for the "Ctrl" key. The following script toggles any windows properties making it remain on top of other windows when Ctrl+P is pressed. Handy for keeping notepad on top of the client window so you can edit your scripts or watch a video whilst playing
.
^P:: Winset, Alwaysontop, , A Return The "Return" command at the end of the script makes it stay resident waiting for the next time the hotkey is pressed.
The next issue I faced was how to distinguish between my different client windows, each with the same name in the title and task-bar. AutoHotkey can do that with the command:
WinSetTitle, LaphPW What a lovely command, with it I'm able to give each client window the title of the character it is running. It also allows me to send keystrokes to them individually
)
Here's the loading script I use for my PP with the account name and password XXXX'd out.
Run, C:\NET-7\bin\LaunchNet7.exe, C:\NET-7\bin\ WinWaitActive, LaunchNet7 Sleep 3000 SendInput {Return} WinWaitActive, Earth & Beyond Sleep 1000 WinSetTitle, Loader Sleep 1000 SendInput {Enter} Sleep 1000 WinWaitActive, Earth & Beyond WinSetTitle, LaphPP Sleep 5000 WinSet, Style, -0xC00000, A Sleep 5000 SendInput {Enter} Sleep 5000 MouseClick, left, 615, 350 Sleep 1000 SendInput XXXXXXX Sleep 1000 MouseClick, left, 615, 450 Sleep 1000 SendInput XXXXXX{Enter} Sleep 8000 MouseClick, left, 500, 250 Sleep 2000 SendInput {Return} Exit I've a similar script for loading each of my Progens with a shortcut for each in the Start Menu as well as a master script that loads them one after the other.
Run C:\Net7MultiClientUnlocker\Net7MultiClientUnlocker.exe Sleep 2000 RunWait LoaderPW.ahk Sleep 2000 WinActivate Net7 WinWaitActive Net7 Sleep 2000 RunWait LoaderPP.ahk Sleep 2000 WinActivate Net7 WinWaitActive Net7 Sleep 2000 RunWait LoaderPS.ahk Sleep 2000 WinClose Net7 Return ^m:: Run, "C:\Documents and Settings\Administrator\Desktop\Thunderbolt Scripts\Mining.ahk" ExitApp ^f:: Run, "C:\Documents and Settings\Administrator\Desktop\Thunderbolt Scripts\Combat.ahk" ExitApp I'll leave it there for now. Hopefully it's given you a few ideas. May come back with a Part II with details of those combat and mining scripts later on.
Peace
Last edited by Eden on Sat Jul 11, 2015 8:47 am; edited 1 time in total
Prrekoorb Admiral
Posts : 482Join date : 2010-02-12Age : 62Location : Cropredy (near Banbury) Oxfordshire UK Subject: Re: AutoHotkey - Basic Scripting Mon May 11, 2015 5:40 pm
Optimal Recruit
Posts : 3Join date : 2015-04-09 Subject: Re: AutoHotkey - Basic Scripting Wed May 20, 2015 12:43 pm What is Net7MultiClientUnlocker.exe? NM found it. Wish someone told me about that existed. I never run more than 2 due to the GD enb already running popup. Im going to use the scripts you posted. If you get around to posting other useful scripts that would be cool too. Thanks for the info!
Eden Ensign
Posts : 22Join date : 2011-05-13Age : 58Location : Bristol, UK Subject: Re: AutoHotkey - Basic Scripting Wed Jun 24, 2015 8:36 am VIDEO I made a video! Watch me waffling on.
Eden Ensign
Posts : 22Join date : 2011-05-13Age : 58Location : Bristol, UK Subject: Re: AutoHotkey - Basic Scripting Thu Jun 25, 2015 12:26 am VIDEO Part II Gone Fishin' (Sorry about the crappy resolution on the first video, was down sampled somehow, have found I get much better quality if I transfer the file over to YouTube manually, which I shall do henceforth.)
Eden Ensign
Posts : 22Join date : 2011-05-13Age : 58Location : Bristol, UK Subject: Re: AutoHotkey - Basic Scripting Thu Jun 25, 2015 1:02 am FYI the complete JD_GroupLeader.ahk script #NoEnv ; Recommended for performance and compatibility with future AutoHotkey releases. ; #Warn ; Enable warnings to assist with detecting common errors. SetWorkingDir %A_ScriptDir% ; Ensures a consistent starting directory. WinActivate, LaphJD WinWaitActive, LaphJD BlockInput, On SendInput /group disband{Return} Sleep 500 SendInput /invite LaphJS{Return} Sleep 500 SendInput /invite LaphJE{Return} sleep 100 WinActivate, LaphJS WinWaitActive, LaphJS Sleep 1500 Mouseclick, left, 1070, 755 Sleep 100 SendPlay /delag 100{Return} sleep 100 WinActivate, LaphJE WinWaitActive, LaphJE Sleep 1000 Mouseclick, left, 1070, 755 Sleep 100 SendPlay /delag 100{Return} sleep 100 WinActivate, LaphJD WinWaitActive, LaphJD Sleep 100 Mouseclick, left, 2360, 499 Sleep 500 Mouseclick, left, 2360, 410 Sleep 100 WinActivate, LaphJS WinWaitActive, LaphJS Sleep 500 SendPlay t Sleep 100 WinActivate, LaphJE WinWaitActive, LaphJE Sleep 500 SendPlay t Sleep 100 WinActivate, LaphJD Sleep 100 Mouseclick, left, 810, 49 Sleep 500 Mouseclick, left, 800, 90 Sleep 500 Mouseclick, left, 859, 614 Sleep 100 Mouseclick, left, 1740, 360 Sleep 100 MouseMove, 1250, 720 BlockInput, Off `::Suspend ^`:: WinActivate, LaphJD WinWaitActive, LaphJD SendPlay /g Reload{Return} Reload Return +`::Pause ^p:: Winset, Alwaysontop, , A Return ^s:: BlockInput, On SendInput {Ctrl Up} WinActivate, LaphJE WinWaitActive, LaphJE SendInput {Alt Down} Sleep 500 SendPlay 1 Sleep 100 SendInput {Alt Up} Sleep 100 SendPlay 5 Sleep 100 WinActivate, LaphJS WinWaitActive, LaphJS SendPlay 5 WinActivate, LaphJD WinWaitActive, LaphJD SendPlay 5 BlockInput, Off Sleep 4500 WinActivate, LaphJE WinWaitActive, LaphJE BlockInput, On SendPlay {F3} Sleep 500 SendPlay 5 Sleep 100 SendInput {Alt Down} Sleep 500 SendPlay 1 Sleep 100 SendInput {Alt Up} Sleep 100 Mouseclick, left, 2450, 870 Sleep 500 SendPlay f Sleep 100 WinActivate, LaphJS WinWaitActive, LaphJS SendPlay {F3} Sleep 500 SendPlay 5 Sleep 500 Mouseclick, left, 2450, 870 Sleep 500 SendPlay f WinActivate, LaphJD WinWaitActive, LaphJD BlockInput, On Sleep 100 SendPlay [ Sleep 100 SendPlay {F3} Sleep 500 SendPlay 5 Sleep 500 Mouseclick, left, 2450, 870 Sleep 500 SendPlay f BlockInput, Off Sleep 4500 WinActivate, LaphJE WinWaitActive, LaphJE BlockInput, On SendPlay {F2} Sleep 500 SendPlay 5 Sleep 100 SendInput {Alt Down} Sleep 500 SendPlay 1 Sleep 100 SendInput {Alt Up} Sleep 100 Mouseclick, left, 2450, 870 Sleep 500 SendPlay f Sleep 100 WinActivate, LaphJS WinWaitActive, LaphJS SendPlay {F2} Sleep 500 SendPlay 5 Sleep 500 Mouseclick, left, 2450, 870 Sleep 500 SendPlay f WinActivate, LaphJD WinWaitActive, LaphJD BlockInput, On SendPlay {F2} Sleep 500 SendPlay 5 Sleep 500 Mouseclick, left, 2450, 870 Sleep 500 SendPlay f Sleep 100 SendPlay {Numpad1} BlockInput, Off MouseMove, 1250, 720 Return ^y:: BlockInput, On SendInput {Ctrl Up} WinActivate, LaphJD WinWaitActive, LaphJD Sleep 100 MouseClick, Left, 1026, 753 Sleep 100 WinActivate, LaphJS WinWaitActive, LaphJS Sleep 100 MouseClick, Left, 1026, 753 Sleep 100 WinActivate, LaphJE WinWaitActive, LaphJE Sleep 100 MouseClick, Left, 1443, 1390 Sleep 100 MouseClick, Left, 1026, 753 Sleep 100 BlockInput, Off WinActivate, LaphJD WinWaitActive, LaphJD Sleep 19000 Mouseclick, left, 2360, 499 Sleep 500 Mouseclick, left, 2360, 410 Sleep 100 WinActivate, LaphJS WinWaitActive, LaphJS Sleep 500 SendPlay t Sleep 100 WinActivate, LaphJE WinWaitActive, LaphJE Sleep 500 SendPlay t Sleep 100 WinActivate, LaphJD MouseMove, 1250, 720 Return ^d:: WinActivate, LaphJS WinWaitActive, LaphJS BlockInput, On SendInput {Ctrl Up} MouseClick, Left, 2450, 866 Sleep 1000 MouseClick, Left, 2470, 965 Sleep 100 WinActivate, LaphJE WinWaitActive, LaphJE Sleep 100 MouseClick, Left, 2450, 866 Sleep 1000 MouseClick, Left, 2470, 965 Sleep 100 WinActivate, LaphJD WinWaitActive, LaphJD Sleep 100 MouseClick, Left, 2470, 965 BlockInput, Off MouseMove, 1250, 720 Return ^f:: WinActivate, LaphJD WinWaitActive, LaphJD BlockInput, On SendInput {Ctrl Up} Sleep 100 Mouseclick, left, 2360, 499 Sleep 500 Mouseclick, left, 2360, 410 Sleep 100 WinActivate, LaphJS WinWaitActive, LaphJS Sleep 500 SendPlay t Sleep 100 WinActivate, LaphJE WinWaitActive, LaphJE Sleep 500 SendPlay t Sleep 100 WinActivate, LaphJD BlockInput, Off MouseMove, 1250, 720 Return NumPad5:: BlockInput, On WinActivate, LaphJD WinWaitActive, LaphJD SendPlay {Space} SendPlay 6 WinActivate, LaphJE WinWaitActive, LaphJE SendPlay 6 WinActivate, LaphJS WinWaitActive, LaphJS SendPlay 6 BlockInput, Off WinActivate, LaphJD WinWaitActive, LaphJD Return ;Targeting/Looting NumPad1:: WinActivate, LaphJD WinWaitActive, LaphJD SendPlay {F8} Return Numpad2:: WinActivate, LaphJD WinWaitActive, LaphJD SendPlay x Sleep 1000 MouseClick, Left, 2470, 965 Sleep 500 MouseClick, Left, 2280, 434 Return NumPad3:: WinActivate, LaphJD WinWaitActive, LaphJD MouseClick, Left, 2280, 434 Sleep 100 MouseMove, 1350, 760 Return 0:: BlockInput, On WinActivate, LaphJE WinWaitActive, LaphJE SendPlay {F2} Sleep 200 SendPlay 3 BlockInput, Off WinActivate, LaphJD Return 9:: WinActivate, LaphJS Return 8:: WinActivate, LaphJD Return 7:: WinActivate, LaphJE Return NumPad7:: BlockInput On WinActivate, LaphJS WinWaitActive, LaphJS SendPlay {f3} Sleep 200 SendPlay 1 sleep 100 Mouseclick, left, 2450, 890 Sleep 100 SendPlay f BlockInput Off WinActivate, LaphJD WinWaitActive, LaphJD SendPlay [ Sleep 100 SendPlay {F3} Sleep 200 SendPlay 5 Sleep 100 Mouseclick, left, 2450, 890 Sleep 100 SendPlay f BlockInput Off WinActivate, LaphJD MouseMove, 1250, 720 Return NumPad8:: BlockInput On WinActivate, LaphJS WinWaitActive, LaphJS SendPlay {f2} Sleep 200 SendPlay 1 sleep 100 Mouseclick, left, 2450, 870 Sleep 100 SendPlay f BlockInput Off WinActivate, LaphJD WinWaitActive, LaphJD SendPlay 5 MouseMove, 1250, 720 Return NumPad9:: BlockInput On WinActivate, LaphJS WinWaitActive, LaphJS SendPlay {f1} Sleep 200 SendPlay 1 sleep 100 Mouseclick, left, 2450, 890 Sleep 100 SendPlay f WinActivate, LaphJD WinWaitActive, LaphJD SendPlay [ Sleep 100 SendPlay {F2} Sleep 500 SendPlay 5 Sleep 100 Mouseclick, left, 2450, 890 Sleep 100 SendPlay f BlockInput Off Return NumPad6:: BlockInput On WinActivate, LaphJE WinWaitActive, LaphJE SendPlay 2 WinActivate, LaphJD BlockInput Off Return NumPad4:: BlockInput, On WinActivate, LaphJE WinWaitActive, LaphJE Mouseclick, left, 2450, 870 Sleep 100 SendPlay 2 Sleep 100 SendPlay f Sleep 100 SendPlay 1 WinActivate, LaphJS WinWaitActive, LaphJS Mouseclick, left, 2450, 870 Sleep 100 SendPlay 2 Sleep 100 SendPlay f WinActivate, LaphJD WinWaitActive, LaphJD SendPlay f Sleep 100 SendPlay 2 BlockInput, Off MouseMove, 1250, 720 Return ^!7:: WinActivate, LaphJD WinWaitActive, LaphJD Sleep 100 SendPlay /group disband{Return} Sleep 500 Run JE_GroupLeader.ahk Sleep 100 ExitApp ^!9:: WinActivate, LaphJD WinWaitActive, LaphJD Sleep 100 SendPlay /group disband{Return} Sleep 500 Run JS_GroupLeader.ahk Sleep 100 ExitApp
rdelac7541 Recruit
Posts : 15Join date : 2014-12-31Location : BennyHillsGhost Subject: Re: AutoHotkey - Basic Scripting Fri Jul 03, 2015 5:12 am Do you have any that help with building? If you are trying to build 4000 lvl1 laser cannons?
Eden Ensign
Posts : 22Join date : 2011-05-13Age : 58Location : Bristol, UK Subject: Re: AutoHotkey - Basic Scripting Fri Jul 03, 2015 5:54 am I've one that builds stuff like ammo comps, very rudimentary.^b:: Loop { if GetKeyState("Esc","P") Break Click 329,276 sleep 1000 } return Just a loop that keeps clicking the build button until the Escape key is pressed. The biggest issue is what happens to the stuff you build, destroying it will probably be easiest to script (dragging it out of inventory and clicking the yes button) but it's still very hard to get right. Whilst scripting running over to the analyse terminal and breaking it down to be rebuilt again is impossible. Peace
Eden Ensign
Posts : 22Join date : 2011-05-13Age : 58Location : Bristol, UK Subject: Re: AutoHotkey - Basic Scripting Sun Jul 05, 2015 5:29 pm VIDEO I've updated the script several times over the past week and now am on version 5.0 and so I thought I'd bring this thread up to date with a new video and the latest version. The biggest change was the removal of all the sleep commands from the earlier script that I could get away with. I've also added a few comments so the script itself is a little more intelligible.#NoEnv ; Recommended for performance and compatibility with future AutoHotkey releases. ; #Warn ; Enable warnings to assist with detecting common errors. SetWorkingDir %A_ScriptDir% ; Ensures a consistent starting directory. ;Button Assignments ;LaphJD 1. Summon ;LaphJD 2. Energy Leach ;LaphJD 3. Seal of the Dragon ;LaphJD 4. Weapon ;LaphJD 5. Psi Shield ;LaphJD 6. Cloak ;LaphJD Alt 3. Dread Mail (turbo) ;LaphJS 1. Shield Recharge ;LaphJS 2. Chimera ;LaphJS 3. Mark of the Dragon ;LaphJS 4. Weapon ;LaphJS 5. Reactor Optimisation ;LaphJS 6. Cloak ;LaphJS Alt 1. Blood of the Dragon ;LaphJE 1. Shield Sap ;LaphJE 2. Chilli-Popper ;LaphJE 3. Chimera ;LaphJE 4. Tactical Advantage ;LaphJE 5. Environment Shield ;LaphJE 6. Cloak ;LaphJE Alt 1. Activated Deflect ;LaphJE Alt 2. Activated Deflect ;Group Invite (autoexec) WinActivate, LaphJD WinWaitActive, LaphJD BlockInput, On SendInput /group disband{Return} Sleep 500 SendInput /invite LaphJS{Return} Sleep 100 SendInput /invite LaphJE{Return} Sleep 500 WinActivate, LaphJS WinWaitActive, LaphJS Mouseclick, left, 1070, 755 SendPlay /delag 100{Return} WinActivate, LaphJE WinWaitActive, LaphJE Mouseclick, left, 1070, 755 SendPlay /delag 100{Return} WinActivate, LaphJD WinWaitActive, LaphJD Mouseclick, left, 2360, 499 Mouseclick, left, 2360, 410 Sleep 100 WinActivate, LaphJS WinWaitActive, LaphJS SendPlay t WinActivate, LaphJE WinWaitActive, LaphJE SendPlay t WinActivate, LaphJD Mouseclick, left, 810, 49 Mouseclick, left, 800, 90 Mouseclick, left, 859, 614 Mouseclick, left, 1740, 360 MouseMove, 1250, 720 BlockInput, Off ;Script Control `::Suspend ^`:: WinActivate, LaphJD WinWaitActive, LaphJD SendPlay /g Reload{Return} Reload Return +`::Pause ^p:: Winset, Alwaysontop, , A Return ;Enhancements Environmental Shield & Reactor Optimisation ^NumPad7:: BlockInput, On WinActivate, LaphJS WinWaitActive, LaphJS SendInput {Ctrl Up} SendPlay {F3} Sleep 200 SendPlay 5 SendInput {Alt Down} Sleep 200 SendPlay 1 Sleep 100 SendInput {Alt Up} Mouseclick, left, 2450, 870 Sleep 100 SendPlay f WinActivate, LaphJE WinWaitActive, LaphJE SendPlay {F1} Sleep 100 SendPlay 5 SendInput {Alt Down} Sleep 200 SendPlay 1 SendPlay 2 Sleep 100 SendInput {Alt Up} Mouseclick, left, 2450, 870 Sleep 100 SendPlay f BlockInput, Off WinActivate, LaphJD MouseMove, 1250, 720 Return ^Numpad9:: BlockInput, On WinActivate, LaphJS WinWaitActive, LaphJS SendInput {Ctrl Up} SendPlay {F1} Sleep 100 SendPlay 5 SendInput {Alt Down} Sleep 200 SendPlay 1 Sleep 100 SendInput {Alt Up} Mouseclick, left, 2450, 870 Sleep 100 SendPlay f WinActivate, LaphJE WinWaitActive, LaphJE SendInput {Ctrl Up} SendPlay {F3} Sleep 200 SendPlay 5 Sleep 100 SendInput {Alt Down} Sleep 200 SendPlay 1 SendPlay 2 Sleep 100 SendInput {Alt Up} Mouseclick, left, 2450, 870 Sleep 100 SendPlay f BlockInput, Off WinActivate, LaphJD MouseMove, 1250, 720 Return ^NumPad8:: BlockInput, On WinActivate, LaphJS WinWaitActive, LaphJS SendInput {Ctrl Up} SendPlay {F2} Sleep 200 SendPlay 5 SendInput {Alt Down} Sleep 200 SendPlay 1 Sleep 100 SendInput {Alt Up} Mouseclick, left, 2450, 870 Sleep 100 SendPlay f WinActivate, LaphJE WinWaitActive, LaphJE SendPlay {F2} Sleep 200 SendPlay 5 SendInput {Alt Down} Sleep 200 SendPlay 1 SendPlay 2 Sleep 100 SendInput {Alt Up} Mouseclick, left, 2450, 870 Sleep 100 SendPlay f WinActivate, LaphJD SendInput {Alt Down} Sleep 200 SendPlay 3 SendInput {Alt Up} BlockInput, Off MouseMove, 1250, 720 Return ;Accept Wormhole ^y:: BlockInput, On WinActivate, LaphJD WinWaitActive, LaphJD SendInput {Ctrl Up} Sleep 100 MouseClick, Left, 1026, 753 Sleep 100 WinActivate, LaphJS WinWaitActive, LaphJS Sleep 100 MouseClick, Left, 1026, 753 Sleep 100 WinActivate, LaphJE WinWaitActive, LaphJE Sleep 100 MouseClick, Left, 1443, 1390 Sleep 100 MouseClick, Left, 1026, 753 Sleep 100 BlockInput, Off WinActivate, LaphJD WinWaitActive, LaphJD Sleep 19000 Mouseclick, left, 2360, 499 Sleep 500 Mouseclick, left, 2360, 410 Sleep 100 WinActivate, LaphJS WinWaitActive, LaphJS Sleep 500 SendPlay t Sleep 100 WinActivate, LaphJE WinWaitActive, LaphJE Sleep 500 SendPlay t Sleep 100 WinActivate, LaphJD MouseMove, 1250, 720 Return ;Docking ^d:: BlockInput, On WinActivate, LaphJS WinWaitActive, LaphJS SendInput {Ctrl Up} MouseClick, Left, 2450, 866 Sleep 1000 MouseClick, Left, 2470, 965 Sleep 100 WinActivate, LaphJE WinWaitActive, LaphJE Sleep 100 MouseClick, Left, 2450, 866 Sleep 1000 MouseClick, Left, 2470, 965 Sleep 100 WinActivate, LaphJD WinWaitActive, LaphJD Sleep 100 MouseClick, Left, 2470, 965 BlockInput, Off MouseMove, 1250, 720 Return ;Formation ^f:: BlockInput, On WinActivate, LaphJD WinWaitActive, LaphJD SendInput {Ctrl Up} Sleep 100 Mouseclick, left, 2360, 499 Sleep 500 Mouseclick, left, 2360, 410 Sleep 100 WinActivate, LaphJS WinWaitActive, LaphJS Sleep 500 SendPlay t Sleep 100 WinActivate, LaphJE WinWaitActive, LaphJE Sleep 500 SendPlay t Sleep 100 WinActivate, LaphJD BlockInput, Off MouseMove, 1250, 720 Return ;Cloak NumPad5:: BlockInput, On WinActivate, LaphJE WinWaitActive, LaphJE SendPlay 6 WinActivate, LaphJS WinWaitActive, LaphJS SendPlay 6 WinActivate, LaphJD WinWaitActive, LaphJD SendPlay 6 SendPlay {Space} BlockInput, Off Return ;Targeting/Looting NumPad1:: WinActivate, LaphJD WinWaitActive, LaphJD SendPlay {F8} Return Numpad2:: WinActivate, LaphJD WinWaitActive, LaphJD SendPlay x Sleep 1000 MouseClick, Left, 2470, 965 Sleep 500 MouseClick, Left, 2280, 434 Return NumPad3:: WinActivate, LaphJD WinWaitActive, LaphJD MouseClick, Left, 2280, 434 Sleep 100 MouseMove, 1350, 760 Return ;Scan Boost 0:: BlockInput, On WinActivate, LaphJE WinWaitActive, LaphJE SendPlay {F2} Sleep 100 SendPlay 4 BlockInput, Off WinActivate, LaphJD Return ;Client Selection 9:: WinActivate, LaphJS Return 8:: WinActivate, LaphJD Return 7:: WinActivate, LaphJE Return ;Heals NumPad7:: BlockInput On WinActivate, LaphJD WinWaitActive, LaphJD SendPlay [ SendPlay {F3} Sleep 200 SendPlay 5 SendPlay 3 Mouseclick, left, 2450, 890 Sleep 200 SendPlay f WinActivate, LaphJS WinWaitActive, LaphJS SendPlay {f3} Sleep 200 SendPlay 1 SendPlay 3 Mouseclick, left, 2450, 890 Sleep 200 SendPlay f BlockInput Off WinActivate, LaphJD WinWaitActive, LaphJD MouseMove, 1250, 720 SendInput {Space} Return NumPad8:: BlockInput On WinActivate, LaphJD WinWaitActive, LaphJD SendPlay [ SendPlay {F1} Sleep 200 SendPlay 5 SendPlay 3 Mouseclick, left, 2450, 870 Sleep 200 SendPlay f WinActivate, LaphJS WinWaitActive, LaphJS SendPlay {f2} Sleep 200 SendPlay 1 SendPlay 3 Mouseclick, left, 2450, 870 Sleep 200 SendPlay f BlockInput Off WinActivate, LaphJD MouseMove, 1250, 720 SendInput {Space} Return NumPad9:: BlockInput On WinActivate, LaphJD WinWaitActive, LaphJD SendPlay [ SendPlay {F2} Sleep 200 SendPlay 5 SendPlay 3 Mouseclick, left, 2450, 890 Sleep 200 SendPlay f WinActivate, LaphJS WinWaitActive, LaphJS SendPlay {F1} Sleep 100 SendPlay 1 SendPlay 3 Mouseclick, left, 2450, 870 Sleep 200 SendPlay f BlockInput Off WinActivate, LaphJD WinWaitActive, LaphJD MouseMove, 1250, 720 SendInput {Space} Return !NumPad7:: BlockInput On WinActivate, LaphJS WinWaitActive, LaphJS SendInput {Alt Up} SendPlay {f3} Sleep 200 SendPlay 1 Mouseclick, left, 2450, 890 Sleep 100 SendPlay f BlockInput Off WinActivate, LaphJD MouseMove, 1250, 720 Return !NumPad8:: BlockInput On WinActivate, LaphJS WinWaitActive, LaphJS SendInput {Alt Up} SendPlay {f2} Sleep 200 SendPlay 1 Mouseclick, left, 2450, 870 Sleep 100 SendPlay f BlockInput Off WinActivate, LaphJD MouseMove, 1250, 720 Return !NumPad9:: BlockInput On WinActivate, LaphJS WinWaitActive, LaphJS SendInput {Alt Up} SendPlay {f1} Sleep 200 SendPlay 1 Mouseclick, left, 2450, 890 Sleep 100 SendPlay f WinActivate, LaphJD BlockInput Off MouseMove, 1250, 720 Return ;JD Cloak NumPad6:: WinActivate, LaphJD WinWaitActive, LaphJD SendPlay 6 WinActivate, LaphJD Return ;JS Peekaboo Heal ^NumPad6:: BlockInput, On WinActivate, LaphJS WinWaitActive, LaphJS SendInput {Ctrl Up} SendPlay 6 SendPlay 1 Mouseclick, left, 2450, 870 Sleep 100 SendPlay f Sleep 2500 SendPlay 6 BlockInput, Off WinActivate, LaphJD Return ;Attack NumPad4:: BlockInput, On WinActivate, LaphJE WinWaitActive, LaphJE Mouseclick, left, 2450, 870 Sleep 200 SendPlay 2 SendPlay 3 SendPlay f SendPlay 1 WinActivate, LaphJS WinWaitActive, LaphJS Mouseclick, left, 2450, 870 Sleep 200 SendPlay 2 SendPlay f SendPlay 1 WinActivate, LaphJD WinWaitActive, LaphJD SendPlay f BlockInput, Off MouseMove, 1250, 720 Return ;Script Selection ^!7:: WinActivate, LaphJD WinWaitActive, LaphJD Sleep 100 SendPlay /group disband{Return} Sleep 500 Run JE_GroupLeader.ahk Sleep 100 ExitApp ^!9:: WinActivate, LaphJD WinWaitActive, LaphJD Sleep 100 SendPlay /group disband{Return} Sleep 500 Run JS_GroupLeader.ahk Sleep 100 ExitApp
Eden Ensign
Posts : 22Join date : 2011-05-13Age : 58Location : Bristol, UK Subject: Re: AutoHotkey - Basic Scripting Sat Jul 11, 2015 8:42 am VIDEO Version 7, improved buffing routines and autoexec.#NoEnv ; Recommended for performance and compatibility with future AutoHotkey releases. ; #Warn ; Enable warnings to assist with detecting common errors. SetWorkingDir %A_ScriptDir% ; Ensures a consistent starting directory. ;Button Assignments ;LaphJD 1. Summon ;LaphJD 2. Energy Leach ;LaphJD 3. Seal of the Dragon ;LaphJD 4. Weapon ;LaphJD 5. Psi Shield ;LaphJD 6. Cloak ;LaphJD Alt 3. Dread Mail (turbo) ;LaphJD Alt 4. Device Slot 1 ;LaphJD Alt 5. Device Slot 2 ;LaphJD Alt 6. Device Slot 3 ;LaphJD Hold 1. (turbo) ;LaphJD Hold 2. (turbo) ;LaphJD Hold 3. (turbo) ;LaphJS 1. Shield Recharge ;LaphJS 2. Chimera ;LaphJS 3. Mark of the Dragon ;LaphJS 4. Weapon ;LaphJS 5. Reactor Optimisation ;LaphJS 6. Cloak ;LaphJS Alt 1. Blood of the Dragon ;LaphJE 1. Shield Sap ;LaphJE 2. Chilli-Popper ;LaphJE 3. Chimera ;LaphJE 4. Tactical Advantage ;LaphJE 5. Environment Shield ;LaphJE 6. Cloak ;LaphJE Alt 1. Activated Deflect ;LaphJE Alt 2. Activated Deflect ;Group Invite (autoexec) WinActivate, LaphJD WinWaitActive, LaphJD BlockInput, On SendInput /group disband{Return} Sleep 500 SendInput /invite LaphJS{Return} Sleep 100 SendInput /invite LaphJE{Return} SendPlay i Sleep 500 Click, 60, 1040 5 Sleep 100 Click, down, 120, 620 Sleep 100 Click, up, 1888, 502 Sleep 100 Click, down, 120, 730 Sleep 100 Click, up, 1888, 620 Sleep 100 Click, down, 120, 860 Sleep 100 Click, up, 1888, 730 Sleep 1000 SendPlay i WinActivate, LaphJS WinWaitActive, LaphJS Mouseclick, left, 1070, 755 SendPlay /delag 100{Return} WinActivate, LaphJE WinWaitActive, LaphJE Mouseclick, left, 1070, 755 SendPlay /delag 100{Return} WinActivate, LaphJD WinWaitActive, LaphJD Mouseclick, left, 2360, 499 Mouseclick, left, 2360, 410 Sleep 1000 WinActivate, LaphJS WinWaitActive, LaphJS SendPlay t WinActivate, LaphJE WinWaitActive, LaphJE SendPlay t WinActivate, LaphJD WinWaitActive, LaphJD Mouseclick, left, 810, 49 Mouseclick, left, 800, 90 Mouseclick, left, 859, 614 Mouseclick, left, 1740, 360 SendPlay {F3} Sleep 200 SendPlay 5 WinActivate, LaphJS WinWaitActive, LaphJS SendPlay {F3} Sleep 200 SendPlay 5 SendInput {Alt Down} Sleep 200 SendPlay 1 Sleep 100 SendInput {Alt Up} WinActivate, LaphJE WinWaitActive, LaphJE SendPlay {F1} Sleep 100 SendPlay 5 SendInput {Alt Down} Sleep 200 SendPlay 1 SendPlay 2 Sleep 100 SendInput {Alt Up} WinActivate, LaphJD Sleep 8000 WinActivate, LaphJD WinWaitActive, LaphJD SendPlay {F1} Sleep 200 SendPlay 5 WinActivate, LaphJS WinWaitActive, LaphJS SendPlay {F2} Sleep 200 SendPlay 5 SendInput {Alt Down} Sleep 200 SendPlay 1 Sleep 100 SendInput {Alt Up} WinActivate, LaphJE WinWaitActive, LaphJE SendPlay {F2} Sleep 200 SendPlay 4 SendPlay 5 SendInput {Alt Down} Sleep 200 SendPlay 1 SendPlay 2 Sleep 100 SendInput {Alt Up} WinActivate, LaphJD Sleep 5000 WinActivate, LaphJD WinWaitActive, LaphJD SendPlay {F2} Sleep 200 SendPlay 5 Sleep 100 SendInput {Alt Down} Sleep 200 SendPlay 3 SendPlay 4 SendPlay 5 SendPlay 6 Sleep 100 SendInput {Alt Up} Sleep 100 SendPlay i Sleep 500 Click, down, 120, 620 Sleep 100 Click, up, 1888, 502 Sleep 100 Click, down, 120, 730 Sleep 100 Click, up, 1888, 620 Sleep 100 Click, down, 120, 860 Sleep 100 Click, up, 1888, 730 Sleep 1000 SendPlay i WinActivate, LaphJS WinWaitActive, LaphJS SendPlay {F1} Sleep 100 SendPlay 5 SendInput {Alt Down} Sleep 200 SendPlay 1 Sleep 100 SendInput {Alt Up} WinActivate, LaphJE WinWaitActive, LaphJE SendPlay {F3} Sleep 200 SendPlay 5 Sleep 100 SendInput {Alt Down} Sleep 200 SendPlay 1 SendPlay 2 Sleep 100 SendInput {Alt Up} WinActivate, LaphJD WinWaitActive, LaphJD BlockInput, Off MouseMove, 1250, 720 Return ;Script Control `::Suspend ^`:: WinActivate, LaphJD WinWaitActive, LaphJD SendPlay /g Reload{Return} Reload Return +`::Pause ^p:: Winset, Alwaysontop, , A Return ;Buffing Up: Psi, Deflects, Environmental Shield & Reactor OPtimisation ^NumPad7:: BlockInput, On WinActivate, LaphJD WinWaitActive, LaphJD SendInput {Ctrl Up} SendPlay [ SendPlay {F3} Sleep 200 SendPlay 5 Mouseclick, left, 2450, 890 Sleep 200 SendPlay f WinActivate, LaphJS WinWaitActive, LaphJS SendPlay {F3} Sleep 200 SendPlay 5 SendInput {Alt Down} Sleep 200 SendPlay 1 Sleep 100 SendInput {Alt Up} Mouseclick, left, 2450, 870 Sleep 100 SendPlay f WinActivate, LaphJE WinWaitActive, LaphJE SendPlay {F1} Sleep 100 SendPlay 5 SendInput {Alt Down} Sleep 200 SendPlay 1 SendPlay 2 Sleep 100 SendInput {Alt Up} Mouseclick, left, 2450, 870 Sleep 100 SendPlay f BlockInput, Off WinActivate, LaphJD MouseMove, 1250, 720 Return ^Numpad9:: BlockInput, On WinActivate, LaphJD WinWaitActive, LaphJD SendInput {Ctrl Up} SendPlay [ SendPlay {F2} Sleep 200 SendPlay 5 Mouseclick, left, 2450, 890 Sleep 200 SendPlay f WinActivate, LaphJS WinWaitActive, LaphJS SendPlay {F1} Sleep 100 SendPlay 5 SendInput {Alt Down} Sleep 200 SendPlay 1 Sleep 100 SendInput {Alt Up} Mouseclick, left, 2450, 870 Sleep 100 SendPlay f WinActivate, LaphJE WinWaitActive, LaphJE SendInput {Ctrl Up} SendPlay {F3} Sleep 200 SendPlay 5 Sleep 100 SendInput {Alt Down} Sleep 200 SendPlay 1 SendPlay 2 Sleep 100 SendInput {Alt Up} Mouseclick, left, 2450, 870 Sleep 100 SendPlay f BlockInput, Off WinActivate, LaphJD MouseMove, 1250, 720 Return ^NumPad8:: BlockInput, On WinActivate, LaphJD WinWaitActive, LaphJD SendInput {Ctrl Up} SendPlay [ SendPlay {F1} Sleep 200 SendPlay 5 Mouseclick, left, 2450, 890 Sleep 200 SendPlay f WinActivate, LaphJS WinWaitActive, LaphJS SendPlay {F2} Sleep 200 SendPlay 5 SendInput {Alt Down} Sleep 200 SendPlay 1 Sleep 100 SendInput {Alt Up} Mouseclick, left, 2450, 870 Sleep 100 SendPlay f WinActivate, LaphJE WinWaitActive, LaphJE SendPlay {F2} Sleep 200 SendPlay 4 SendPlay 5 SendInput {Alt Down} Sleep 200 SendPlay 1 SendPlay 2 Sleep 100 SendInput {Alt Up} Mouseclick, left, 2450, 870 Sleep 100 SendPlay f WinActivate, LaphJD SendInput {Alt Down} Sleep 200 SendPlay 3 SendInput {Alt Up} BlockInput, Off MouseMove, 1250, 720 Return ;Turbo ^q:: BlockInput, On WinActivate, LaphJE WinWaitActive, LaphJE SendInput {Ctrl Up} SendPlay 6 WinActivate, LaphJS WinWaitActive, LaphJS SendPlay 6 WinActivate, LaphJD WinWaitActive, LaphJD SendPlay 6 SendPlay i Sleep 500 Click, 60, 1040 5 Sleep 100 Click, down, 120, 620 Sleep 100 Click, up, 1888, 502 Sleep 100 Click, down, 120, 730 Sleep 100 Click, up, 1888, 620 Sleep 100 Click, down, 120, 860 Sleep 100 Click, up, 1888, 730 Sleep 1000 SendPlay i Sleep 18000 SendInput {Alt Down} Sleep 1000 SendPlay 3 SendPlay 4 SendPlay 5 SendPlay 6 Sleep 100 SendInput {Alt Up} Sleep 100 SendPlay i SendPlay 6 Sleep 500 Click, down, 120, 620 Sleep 100 Click, up, 1888, 502 Sleep 100 Click, down, 120, 730 Sleep 100 Click, up, 1888, 620 Sleep 100 Click, down, 120, 860 Sleep 100 Click, up, 1888, 730 Sleep 1000 SendPlay i BlockInput, Off MouseMove, 1250, 720 Return ;Accept Wormhole ^y:: BlockInput, On WinActivate, LaphJD WinWaitActive, LaphJD SendInput {Ctrl Up} Sleep 100 MouseClick, Left, 1026, 753 Sleep 100 WinActivate, LaphJS WinWaitActive, LaphJS Sleep 100 MouseClick, Left, 1026, 753 Sleep 100 WinActivate, LaphJE WinWaitActive, LaphJE Sleep 100 MouseClick, Left, 1443, 1390 Sleep 100 MouseClick, Left, 1026, 753 Sleep 100 BlockInput, Off WinActivate, LaphJD WinWaitActive, LaphJD Sleep 19000 Mouseclick, left, 2360, 499 Sleep 500 Mouseclick, left, 2360, 410 Sleep 100 WinActivate, LaphJS WinWaitActive, LaphJS Sleep 500 SendPlay t Sleep 100 WinActivate, LaphJE WinWaitActive, LaphJE Sleep 500 SendPlay t Sleep 100 WinActivate, LaphJD MouseMove, 1250, 720 Return ;Docking ^d:: BlockInput, On WinActivate, LaphJS WinWaitActive, LaphJS SendInput {Ctrl Up} MouseClick, Left, 2450, 866 Sleep 1000 MouseClick, Left, 2470, 965 Sleep 100 WinActivate, LaphJE WinWaitActive, LaphJE Sleep 100 MouseClick, Left, 2450, 866 Sleep 1000 MouseClick, Left, 2470, 965 Sleep 100 WinActivate, LaphJD WinWaitActive, LaphJD Sleep 100 MouseClick, Left, 2470, 965 BlockInput, Off MouseMove, 1250, 720 Return ;Formation ^f:: BlockInput, On WinActivate, LaphJD WinWaitActive, LaphJD SendInput {Ctrl Up} Sleep 100 Mouseclick, left, 2360, 499 Sleep 500 Mouseclick, left, 2360, 410 Sleep 100 WinActivate, LaphJS WinWaitActive, LaphJS Sleep 500 SendPlay t Sleep 100 WinActivate, LaphJE WinWaitActive, LaphJE Sleep 500 SendPlay t Sleep 100 WinActivate, LaphJD BlockInput, Off MouseMove, 1250, 720 Return ;cloak NumPad5:: BlockInput, On WinActivate, LaphJE WinWaitActive, LaphJE SendPlay 6 WinActivate, LaphJS WinWaitActive, LaphJS SendPlay 6 WinActivate, LaphJD WinWaitActive, LaphJD SendPlay 6 SendPlay {Space} BlockInput, Off Return ;Targeting/Looting NumPad1:: WinActivate, LaphJD WinWaitActive, LaphJD SendPlay {F8} Return Numpad2:: WinActivate, LaphJD WinWaitActive, LaphJD SendPlay x Sleep 1000 MouseClick, Left, 2470, 965 Sleep 500 MouseClick, Left, 2280, 434 Return NumPad3:: WinActivate, LaphJD WinWaitActive, LaphJD MouseClick, Left, 2280, 434 Sleep 100 MouseMove, 1350, 760 Return ;Scan Boost 0:: BlockInput, On WinActivate, LaphJE WinWaitActive, LaphJE SendPlay {F2} Sleep 100 SendPlay 4 BlockInput, Off WinActivate, LaphJD Return ;Client Selection 9:: WinActivate, LaphJS Return 8:: WinActivate, LaphJD Return 7:: WinActivate, LaphJE Return ;Heals NumPad7:: BlockInput On WinActivate, LaphJD WinWaitActive, LaphJD SendPlay [ SendPlay {F3} Sleep 200 SendPlay 5 SendPlay 3 Mouseclick, left, 2450, 890 Sleep 200 SendPlay f WinActivate, LaphJS WinWaitActive, LaphJS SendPlay {f3} Sleep 200 SendPlay 1 SendPlay 3 Mouseclick, left, 2450, 890 Sleep 200 SendPlay f BlockInput Off WinActivate, LaphJD WinWaitActive, LaphJD MouseMove, 1250, 720 SendInput {Space} Return NumPad8:: BlockInput On WinActivate, LaphJD WinWaitActive, LaphJD SendPlay [ SendPlay {F1} Sleep 200 SendPlay 5 SendPlay 3 Mouseclick, left, 2450, 870 Sleep 200 SendPlay f WinActivate, LaphJS WinWaitActive, LaphJS SendPlay {f2} Sleep 200 SendPlay 1 SendPlay 3 Mouseclick, left, 2450, 870 Sleep 200 SendPlay f BlockInput Off WinActivate, LaphJD MouseMove, 1250, 720 SendInput {Space} Return NumPad9:: BlockInput On WinActivate, LaphJD WinWaitActive, LaphJD SendPlay [ SendPlay {F2} Sleep 200 SendPlay 5 SendPlay 3 Mouseclick, left, 2450, 890 Sleep 200 SendPlay f WinActivate, LaphJS WinWaitActive, LaphJS SendPlay {F1} Sleep 100 SendPlay 1 SendPlay 3 Mouseclick, left, 2450, 870 Sleep 200 SendPlay f BlockInput Off WinActivate, LaphJD WinWaitActive, LaphJD MouseMove, 1250, 720 SendInput {Space} Return !NumPad7:: BlockInput On WinActivate, LaphJS WinWaitActive, LaphJS SendInput {Alt Up} SendPlay {f3} Sleep 200 SendPlay 1 Mouseclick, left, 2450, 890 Sleep 100 SendPlay f BlockInput Off WinActivate, LaphJD MouseMove, 1250, 720 Return !NumPad8:: BlockInput On WinActivate, LaphJS WinWaitActive, LaphJS SendInput {Alt Up} SendPlay {f2} Sleep 200 SendPlay 1 Mouseclick, left, 2450, 870 Sleep 100 SendPlay f BlockInput Off WinActivate, LaphJD MouseMove, 1250, 720 Return !NumPad9:: BlockInput On WinActivate, LaphJS WinWaitActive, LaphJS SendInput {Alt Up} SendPlay {f1} Sleep 200 SendPlay 1 Mouseclick, left, 2450, 890 Sleep 100 SendPlay f WinActivate, LaphJD BlockInput Off MouseMove, 1250, 720 Return ;JD Cloak NumPad6:: WinActivate, LaphJD WinWaitActive, LaphJD SendPlay 6 WinActivate, LaphJD Return ;Debuff ^NumPad6:: BlockInput, On WinActivate, LaphJE WinWaitActive, LaphJE SendInput {Ctrl Up} SendPlay 2 SendPlay 1 WinActivate, LaphJS WinWaitActive, LaphJS SendPlay 1 BlockInput, Off WinActivate, LaphJD Return ;Attack NumPad4:: BlockInput, On WinActivate, LaphJE WinWaitActive, LaphJE Mouseclick, left, 2450, 870 Sleep 200 SendPlay 2 SendPlay 3 SendPlay f SendPlay 1 WinActivate, LaphJS WinWaitActive, LaphJS Mouseclick, left, 2450, 870 Sleep 200 SendPlay 2 SendPlay f SendPlay 1 WinActivate, LaphJD WinWaitActive, LaphJD SendPlay f BlockInput, Off MouseMove, 1250, 720 Return ;Script Selection ^!7:: WinActivate, LaphJD WinWaitActive, LaphJD Sleep 100 SendPlay /group disband{Return} Sleep 500 Run JE_GroupLeader.ahk Sleep 100 ExitApp ^!9:: WinActivate, LaphJD WinWaitActive, LaphJD Sleep 100 SendPlay /group disband{Return} Sleep 500 Run JS_GroupLeader.ahk Sleep 100 ExitApp
Klyde Admin
Posts : 1543Join date : 2010-02-22Age : 72Location : Wichita KS Subject: Re: AutoHotkey - Basic Scripting Sat Jul 11, 2015 6:48 pm Thats pretty sweet!
Deca
Posts : 16Join date : 2013-08-27Location : Northern Arizona Subject: Re: AutoHotkey - Basic Scripting Tue Jul 14, 2015 2:30 pm Well done Laph...thanks for effort...could actually motivate me to get off my butt and try AutoHotkey
Time and energy much appreciated.
Deca
Eden Ensign
Posts : 22Join date : 2011-05-13Age : 58Location : Bristol, UK Subject: Re: AutoHotkey - Basic Scripting Tue Sep 29, 2015 11:35 am
Sponsored content
Subject: Re: AutoHotkey - Basic Scripting
AutoHotkey - Basic Scripting
Similar topics
Permissions in this forum: You cannot reply to topics in this forum