├── -Bluscream-PC.gitignore ├── .github └── workflows │ ├── compile.yml │ ├── stale.yml │ └── super-linter.yml ├── .gitignore ├── .vscode └── launch.json ├── lib ├── AllKeyBinder.ahk ├── AnimatedGifControl.ahk ├── Class_CtlColors.ahk ├── Environment.ahk ├── JavaAccessBridge.ahk ├── TrayIcon.ahk ├── TrayIconV2.ahk ├── VA.ahk ├── WinHook.ahk ├── _input.ahk ├── _memorylibrary.ahk ├── _struct.ahk ├── acc.ahk ├── adhdlib.ahk ├── adhdlib_latest.ahk ├── ahk-vigem-bus.ahk ├── ahkself.ahk ├── ahksock.ahk ├── asf.ahk ├── attach.ahk ├── auto_oculus_touch.ahk ├── autohotinterception.ahk ├── automagic.ahk ├── between.ahk ├── blacksquad.ahk ├── bluscream.ahk ├── bluscream │ ├── addon.ahk │ ├── ahi.ahk │ ├── api.ahk │ ├── array.ahk │ ├── io.ahk │ ├── io │ │ ├── directory.ahk │ │ ├── file.ahk │ │ └── paths.ahk │ ├── json.ahk │ ├── process.ahk │ ├── string.ahk │ ├── toast.ahk │ ├── tray.ahk │ ├── ui.ahk │ ├── ui │ │ ├── buttongrid.ahk │ │ ├── control.ahk │ │ ├── coord.ahk │ │ └── window.ahk │ ├── uri.ahk │ └── utils.ahk ├── class_sqlitedb.ahk ├── clip2object.ahk ├── clr.ahk ├── consoleapps.ahk ├── cryptaes.ahk ├── csv.ahk ├── dateparse.ahk ├── dbgp.ahk ├── emptyworkingsets.ahk ├── examples │ ├── blob_sample.ahk │ ├── blob_sample_prepared.ahk │ ├── example_1_client.ahk │ ├── example_1_server.ahk │ ├── example_2_client.ahk │ ├── example_2_server_multiple_clients.ahk │ ├── example_2_server_single_client.ahk │ ├── example_2_server_transmitfile.ahk │ ├── example_3.ahk │ ├── example_4.ahk │ └── sqlitedb_sample.ahk ├── filegetinfo.ahk ├── game.ahk ├── games │ ├── gta v.ahk │ ├── lego.ahk │ ├── legocityundercover.ahk │ └── legojurassicpark.ahk ├── gdi.ahk ├── gdip_.ahk ├── gdip_all.ahk ├── getprocessworkingdir.ahk ├── globalstruct.ahk ├── globalvar.ahk ├── globalvarsscript.ahk ├── gta │ ├── modmenus.ahk │ └── modmenus │ │ ├── 2take1menu.ahk │ │ └── modest.ahk ├── hotkeyhelp.ahk ├── injectahkdll.ahk ├── json.ahk ├── json_beautify.ahk ├── json_fromobj.ahk ├── json_toobj.ahk ├── keylogger.ahk ├── lego │ ├── mouseemulator.ahk │ └── mouseemulatorintercept.ahk ├── logtail.ahk ├── logtail.org.ahk ├── modmenu.ahk ├── monitors.ahk ├── node_modules │ └── regex.ahk │ │ ├── build │ │ └── build.ahk │ │ ├── export.ahk │ │ ├── src │ │ ├── _head.tail │ │ │ ├── lib_head.ahk │ │ │ ├── lib_tail.ahk │ │ │ ├── test_head.ahk │ │ │ └── test_tail.ahk │ │ ├── internal │ │ │ ├── internal.ahk │ │ │ └── typeException.ahk │ │ └── regexp │ │ │ ├── exec.ahk │ │ │ ├── test.ahk │ │ │ └── toString.ahk │ │ └── tests │ │ └── test-all.ahk ├── numsize.ahk ├── numtype.ahk ├── obj2str.ahk ├── objtree.ahk ├── openrgb.ahk ├── orderedassociativearray.ahk ├── phasmophobia.ahk ├── phasmophobia │ ├── item.ahk │ ├── items.ahk │ └── loadout.ahk ├── powerprofile.ahk ├── rapidhotkey.ahk ├── region.ahk ├── scriptstruct.ahk ├── scs.ahk ├── shadow.ahk ├── sizeof.ahk ├── smart-window-layout-helpers.ahk ├── staticvar.ahk ├── steam.ahk ├── steamkeys.ahk ├── steamvr.ahk ├── translate.ahk ├── tt.ahk ├── utilities.ahk ├── virtual_desktop.ahk ├── watchdirectory.ahk ├── winapi.ahk ├── winapidef.ahk ├── windows.ahk ├── yaml.ahk └── yunit │ ├── stdout.ahk │ ├── window.ahk │ └── yunit.ahk ├── readme.md ├── renovate.json └── scripts ├── AutoXYWH.ahk ├── ControlColor.ahk ├── Empty.ahk ├── Hide Mouse Cursor on Idle.ahk ├── IndexOfIconResource.ahk ├── JControlWriter.ahk ├── JoystickMouse.ahk ├── JoystickTest.ahk ├── JustCause.ahk ├── SendTest.ahk ├── ToggleAudioDeviceThroughput.ahk ├── ToggleMouseCursor.ahk ├── TrayIcon.ahk ├── accpush.ahk ├── acctest.ahk ├── accviewer.ahk ├── accviewerbasic.ahk ├── adb media keys.ahk ├── adhd ├── template.ahk └── vjoy_template.ahk ├── ahk-studio backup ├── binds.ahk │ ├── 20200429011815 │ │ └── binds.ahk │ ├── 20200429011820 │ │ └── binds.ahk │ └── 20200429012329 │ │ └── binds.ahk ├── dynamichotkeys.ahk │ └── 20200429012329 │ │ └── dynamichotkeys.ahk └── table.ahk │ ├── 20200429013915 │ └── table.ahk │ ├── 20200429013928 │ └── table.ahk │ └── 20200429013943 │ └── table.ahk ├── anchor.ahk ├── antiafk.ahk ├── asf_test.ahk ├── audio.ahk ├── aurora.ahk ├── auto headlights.ahk ├── autocorrect.ahk ├── automagic.ahk ├── automaximize.ahk ├── bbr.ahk ├── bettertaskmanager.ahk ├── bin ├── AutoXYWH.exe ├── ControlColor.exe ├── Empty.exe ├── Hide Mouse Cursor on Idle.exe ├── JControlWriter.exe ├── JoystickMouse.exe ├── JoystickTest.exe ├── JustCause.exe ├── SendTest.exe ├── ToggleAudioDeviceThroughput.exe ├── ToggleMouseCursor.exe ├── TrayIcon.exe ├── accpush.exe ├── acctest.exe ├── accviewer.exe ├── accviewerbasic.exe ├── adb media keys.exe ├── anchor.exe ├── antiafk.exe ├── asf_test.exe ├── aurora.exe ├── auto headlights.exe ├── autocorrect.exe ├── automagic.exe ├── automaximize.exe ├── bbr.exe ├── bettertaskmanager.exe ├── blacksquad.exe ├── bloat.exe ├── block_shutdown.exe ├── block_shutdown_ahk2.exe ├── button_panel.exe ├── center cursor.exe ├── choose_mods.exe ├── clicktest.exe ├── clipboard.exe ├── closewindowslicenseexpiring.exe ├── control_spy.exe ├── copywrite.exe ├── create_task.exe ├── disable extra mouse buttons.exe ├── discordswitcher.exe ├── dynamic_button_panel.exe ├── dynamichotkeys.exe ├── efl.exe ├── elevenlabs.exe ├── emoji_regional_speak.exe ├── ets2 auto pbrake.exe ├── ets2 flashing high beams.exe ├── ets2 mod linker.exe ├── ets2 profile decoder.exe ├── ets2mp start.exe ├── ets2mp troll.exe ├── file_operation_notify.exe ├── fivem.exe ├── flightsim.exe ├── force_hide_window.exe ├── getips.exe ├── gta online.exe ├── hide_titlebars.exe ├── hotkey help.exe ├── hotkeys-Bluscream-PC.exe ├── hotkeys.exe ├── houseflipper.exe ├── hstart.exe ├── htopmini.exe ├── htopmini2.exe ├── idletimes.exe ├── ignore win file security errors.exe ├── installer.exe ├── intercept monitor.exe ├── iw_color_preview-Bluscream-PC.exe ├── iw_color_preview.exe ├── jar_version_select.exe ├── jee_accgetpath.exe ├── joytest.exe ├── keylogger.exe ├── killscript.exe ├── mmc.exe ├── mouse_cursor_yellow_circle.exe ├── mouseprecise.exe ├── multirightclick.exe ├── myphoneexplorer.exe ├── numpad.exe ├── ohd.exe ├── on_usb_connected.exe ├── orgb_.exe ├── pixelcolor.exe ├── playnite.exe ├── playstate.exe ├── powermanagement.exe ├── powerprofiles.exe ├── processvoid.exe ├── psshutdownGUI.exe ├── pycharm.exe ├── pycharm_accept_cert.exe ├── randommousemover.exe ├── rect_show.exe ├── regextester.exe ├── regextester2.exe ├── ripcord.exe ├── roblox.exe ├── rollmouse.exe ├── rotator.exe ├── scaleui.exe ├── screen.exe ├── set_background_color.exe ├── shadow_client.exe ├── shadow_server.exe ├── shift_toggle.exe ├── shutdownGUI.exe ├── shutdownGUIv2.exe ├── sirens.exe ├── softperfect connection emulator.exe ├── space_engineers.exe ├── spacify.exe ├── split_clipboard.exe ├── spotify.exe ├── ssh.exe ├── startup_idle.exe ├── steam.exe ├── steamkeyactivator.exe ├── steamkeyactivator2.exe ├── syskey.exe ├── table.exe ├── teaclient.exe ├── template.exe ├── test.exe ├── togglehold.exe ├── translate.exe ├── translateorg.exe ├── ts_bad_hotkeys.exe ├── undisable.exe ├── unity.exe ├── unlocker.exe ├── update.exe ├── usb.exe ├── vconsole.exe ├── vivecraft.exe ├── vr.exe ├── vrc.exe ├── vrcmg.exe ├── watchcursor.exe ├── winclose.exe ├── yatqa copy.exe ├── yatqa2.exe ├── yatqa_ignoreerrors.exe └── yoda.exe ├── binds.ahk ├── blacksquad.ahk ├── bloat-Bluscream-PC.ahk ├── bloat.ahk ├── block_shutdown.ahk ├── block_shutdown.ahk2 ├── button_panel-Bluscream-PC.ahk ├── button_panel.ahk ├── buttons ├── Half-Life Alyx - Cheats.csv ├── Half-Life Alyx - Maps.csv ├── Half-Life Alyx - Mods.csv ├── Half-Life Alyx - NPC Equipment.csv.disabled ├── Half-Life Alyx - NPCs.csv ├── Half-Life Alyx - Props.csv.disabled ├── Half-Life Alyx - Relationships.csv └── Half-Life Alyx - Upgrades.csv ├── center cursor.ahk ├── choose_mods.ahk ├── clicktest.ahk ├── clipboard.ahk ├── closewindowslicenseexpiring.ahk ├── control_spy.ahk ├── copywrite.ahk ├── create_task.ahk ├── crypt └── crypt.ahk ├── disable extra mouse buttons.ahk ├── discordswitcher.ahk ├── ds4 example.ahk ├── dynamic_button_panel.ahk ├── dynamichotkeys.ahk ├── efl.ahk ├── elevenlabs.ahk ├── emoji_regional_speak-Bluscream-PC.ahk ├── emoji_regional_speak.ahk ├── ets2 auto pbrake.ahk ├── ets2 flashing high beams.ahk ├── ets2 mod linker.ahk ├── ets2 profile decoder.ahk ├── ets2mp antiafk.ahk ├── ets2mp start.ahk ├── ets2mp troll.ahk ├── file_operation_notify.ahk ├── fivem.ahk ├── flightsim.ahk ├── force_hide_window.ahk ├── getips.ahk ├── gta online.ahk ├── hide_titlebars.ahk ├── hotkey help.ahk ├── hotkeys-Bluscream-PC-2.ahk ├── hotkeys-Bluscream-PC.ahk ├── hotkeys.ahk ├── houseflipper.ahk ├── hstart.ahk ├── htopmini.ahk ├── htopmini2.ahk ├── idletimes.ahk ├── ignore win file security errors.ahk ├── installer.ahk ├── intercept combined example.ahk ├── intercept context example.ahk ├── intercept monitor.ahk ├── intercept subscription example.ahk ├── intercept unsubscription example.ahk ├── iw_color_preview-Bluscream-PC.ahk ├── iw_color_preview.ahk ├── iwb2 learner updated.ahk ├── jar_version_select.ahk ├── jee_accgetpath.ahk ├── joytest.ahk ├── keylogger.ahk ├── killscript.ahk ├── legocheater.ahk ├── lib ├── Peep.v2.ahk └── jsongo.v2.ahk ├── magick_transparency.ahk ├── mmc.ahk ├── monitor_shutdown.ahk2 ├── mouse_cursor_yellow_circle.ahk ├── mousecursor ├── mmbasic.ahk └── mousemove.ahk ├── mouseprecise.ahk ├── multirightclick.ahk ├── myphoneexplorer-Bluscream-PC.ahk ├── myphoneexplorer.ahk ├── numpad.ahk ├── oculus_touch_test.ahk ├── oculus_touch_xbox360.ahk ├── ohd.ahk ├── on_usb_connected.ahk ├── orgb_.ahk ├── phasmophobia.ahk ├── pixelcolor.ahk ├── playnite.ahk ├── playstate.ahk ├── powermanagement.ahk ├── powerprofiles.ahk ├── processvoid.ahk ├── psshutdownGUI.ahk ├── pycharm.ahk ├── pycharm_accept_cert.ahk ├── randommousemover-Bluscream-PC.ahk ├── randommousemover.ahk ├── rect_show-Bluscream-PC.ahk ├── rect_show.ahk ├── regextester.ahk ├── regextester2.ahk ├── ripcord.ahk ├── roblox.ahk ├── rollmouse.ahk ├── rotator.ahk ├── scaleui.ahk ├── screen.ahk ├── set_background_color.ahk ├── shadow_client-Bluscream-PC.ahk ├── shadow_client.ahk ├── shadow_server.ahk ├── shift_toggle.ahk ├── shutdownGUI.ahk ├── shutdownGUIv2.ahk ├── sirens.ahk ├── softperfect connection emulator.ahk ├── space_engineers.ahk ├── spacify.ahk ├── split_clipboard.ahk ├── spotify.ahk ├── ssh.ahk ├── startup_idle.ahk ├── steam.ahk ├── steamkeyactivator.ahk ├── steamkeyactivator2.ahk ├── syskey.ahk ├── table.ahk ├── teaclient.ahk ├── temp └── test.ahk ├── template.ahk ├── test.ahk ├── tests ├── am.ahk ├── testcustomsimple.ahk └── testmain.ahk ├── togglehold-Bluscream-PC.ahk ├── togglehold.ahk ├── translate.ahk ├── translate_active_window.ahk2 ├── translateactivewindow.ahk ├── translateorg.ahk ├── ts_bad_hotkeys.ahk ├── undisable.ahk ├── unity.ahk ├── unlocker.ahk ├── update-Bluscream-PC.ahk ├── update.ahk ├── usb.ahk ├── vconsole.ahk ├── vivecraft.ahk ├── vr-Bluscream-PC.ahk ├── vr.ahk ├── vrc.ahk ├── vrcmg.ahk ├── watchcursor.ahk ├── winclose-Bluscream-PC.ahk ├── winclose.ahk ├── xb360 example.ahk ├── yatqa copy.ahk ├── yatqa-Bluscream-PC.ahk ├── yatqa.ahk ├── yatqa2.ahk ├── yatqa_ignoreerrors.ahk ├── yoda.ahk └── zombiu.ahk /-Bluscream-PC.gitignore: -------------------------------------------------------------------------------- 1 | # Ignore everything 2 | * 3 | 4 | # But not these files... 5 | !*.gitignore 6 | # !*.ahk 7 | !*.md 8 | 9 | # ...even if they are in subdirectories 10 | !*/ 11 | 12 | # vcode 13 | .vscode/* 14 | !.vscode/settings.json 15 | !.vscode/tasks.json 16 | !.vscode/launch.json 17 | !.vscode/extensions.json 18 | !.vscode/*.code-snippets 19 | .history/ 20 | *.vsix 21 | 22 | # github 23 | !.github/**/* 24 | 25 | # custom 26 | # !lib/*.ahk 27 | !lib/**/*.ahk 28 | # !scripts/*.ahk 29 | !scripts/**/*.ahk 30 | !scripts/bin/*.exe 31 | 32 | ahkstudio/* 33 | autohotinterception/* 34 | scripts/SteamBulkKeyActivator/ 35 | scripts/temp/ 36 | Adventure/ 37 | AutoGUI/ 38 | Lib/TrayIcon.bak.ahk 39 | *.mp3 40 | *.mp4 41 | *.wav 42 | /Scripts/sirens 43 | scripts/AHK-Rare 44 | -------------------------------------------------------------------------------- /.github/workflows/stale.yml: -------------------------------------------------------------------------------- 1 | # This workflow warns and then closes issues and PRs that have had no activity for a specified amount of time. 2 | # 3 | # You can adjust the behavior by modifying this file. 4 | # For more information, see: 5 | # https://github.com/actions/stale 6 | name: Mark stale issues and pull requests 7 | 8 | on: 9 | schedule: 10 | - cron: '18 12 * * *' 11 | 12 | jobs: 13 | stale: 14 | 15 | runs-on: ubuntu-latest 16 | permissions: 17 | issues: write 18 | pull-requests: write 19 | 20 | steps: 21 | - uses: actions/stale@v8 22 | with: 23 | repo-token: ${{ secrets.GITHUB_TOKEN }} 24 | stale-issue-message: 'Stale issue message' 25 | stale-pr-message: 'Stale pull request message' 26 | stale-issue-label: 'no-issue-activity' 27 | stale-pr-label: 'no-pr-activity' 28 | -------------------------------------------------------------------------------- /.github/workflows/super-linter.yml: -------------------------------------------------------------------------------- 1 | # This workflow executes several linters on changed files based on languages used in your code base whenever 2 | # you push a code or open a pull request. 3 | # 4 | # You can adjust the behavior by modifying this file. 5 | # For more information, see: 6 | # https://github.com/github/super-linter 7 | name: Lint Code Base 8 | 9 | on: 10 | push: 11 | branches: [ master ] 12 | pull_request: 13 | branches: [ master ] 14 | jobs: 15 | run-lint: 16 | runs-on: ubuntu-latest 17 | steps: 18 | - name: Checkout code 19 | uses: actions/checkout@v3 20 | with: 21 | # Full git history is needed to get a proper list of changed files within `super-linter` 22 | fetch-depth: 0 23 | 24 | - name: Lint Code Base 25 | uses: github/super-linter@v7 26 | env: 27 | VALIDATE_ALL_CODEBASE: false 28 | DEFAULT_BRANCH: master 29 | GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} 30 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # Ignore everything 2 | * 3 | 4 | # But not these files... 5 | !*.gitignore 6 | # !*.ahk 7 | !*.md 8 | 9 | # ...even if they are in subdirectories 10 | !*/ 11 | 12 | # vcode 13 | .vscode/* 14 | !.vscode/settings.json 15 | !.vscode/tasks.json 16 | !.vscode/launch.json 17 | !.vscode/extensions.json 18 | !.vscode/*.code-snippets 19 | .history/ 20 | *.vsix 21 | 22 | # github 23 | !.github/**/* 24 | 25 | # custom 26 | # !lib/*.ahk 27 | !lib/**/*.ahk 28 | # !scripts/*.ahk 29 | !scripts/**/*.ahk 30 | !scripts/bin/*.exe 31 | 32 | ahkstudio/* 33 | autohotinterception/* 34 | scripts/SteamBulkKeyActivator/ 35 | scripts/temp/ 36 | Adventure/ 37 | AutoGUI/ 38 | Lib/TrayIcon.bak.ahk 39 | -------------------------------------------------------------------------------- /.vscode/launch.json: -------------------------------------------------------------------------------- 1 | { 2 | "configurations": [ 3 | { 4 | "type": "ahk2", 5 | "request": "launch", 6 | "name": "AutoHotkey v2 Debugger", 7 | "program": "", 8 | "stopOnEntry": true 9 | }, 10 | { 11 | "type": "ahk", 12 | "request": "launch", 13 | "name": "AutoHotkey v1 Debugger", 14 | "program": "", 15 | "stopOnEntry": true, 16 | "runtimeArgs": ["/extra"] 17 | } 18 | ] 19 | } -------------------------------------------------------------------------------- /lib/AllKeyBinder.ahk: -------------------------------------------------------------------------------- 1 | class AllKeyBinder{ 2 | __New(callback, pfx := "~*"){ 3 | static mouseButtons := ["LButton", "RButton", "MButton", "XButton1", "XButton2", "WheelUp", "WheelDown"] 4 | keys := {} 5 | this.Callback := callback 6 | Loop 512 { 7 | i := A_Index 8 | code := Format("{:x}", i) 9 | n := GetKeyName("sc" code) 10 | if (!n || keys.HasKey(n)) 11 | continue 12 | keys[n] := code 13 | 14 | fn := this.KeyEvent.Bind(this, "Key", i, n, 1) 15 | hotkey, % pfx "SC" code, % fn, On 16 | 17 | fn := this.KeyEvent.Bind(this, "Key", i, n, 0) 18 | hotkey, % pfx "SC" code " up", % fn, On 19 | } 20 | 21 | for i, k in mouseButtons { 22 | fn := this.KeyEvent.Bind(this, "Mouse", i, n, 1) 23 | hotkey, % pfx k, % fn, On 24 | 25 | fn := this.KeyEvent.Bind(this, "Mouse", i, n, 0) 26 | hotkey, % pfx k " up", % fn, On 27 | } 28 | } 29 | 30 | KeyEvent(type, code, name, state){ 31 | if (type == "Mouse") { 32 | if (code == 6) { 33 | name := "WheelUp" 34 | } else if (code == 7) { 35 | name := "WheelDown" 36 | } else if (code == 1) { 37 | name := "LButton" 38 | } else if (code == 2) { 39 | name := "RButton" 40 | } else if (code == 3) { 41 | name := "MButton" 42 | } else if (code == 4) { 43 | name := "XButton1" 44 | } else if (code == 5) { 45 | name := "XButton2" 46 | } 47 | } 48 | this.Callback.Call(type, code, name, state) 49 | } 50 | 51 | } -------------------------------------------------------------------------------- /lib/_input.ahk: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bluscream/ahk-scripts/3c4fc899c32b8b7b9e7df9e66433aa036d96fa38/lib/_input.ahk -------------------------------------------------------------------------------- /lib/adhdlib_latest.ahk: -------------------------------------------------------------------------------- 1 | #include C:\Users\Shadow\Downloads\adhd\adhdlib.ahk -------------------------------------------------------------------------------- /lib/ahkself.ahk: -------------------------------------------------------------------------------- 1 | AhkSelf(){ 2 | static functions :=" 3 | (Join 4 | ahkFunction:s==stttttttttt|ahkPostFunction:i==stttttttttt| 5 | ahkdll:ut==sss|ahktextdll:ut==sss|ahkReady:|ahkReload:i| 6 | ahkTerminate:i=i|addFile:ut==sucuc|addScript:ut==si|ahkExec:ui==s| 7 | ahkassign:ui==ss|ahkExecuteLine:ut=utuiui|ahkFindFunc:ut==s| 8 | ahkFindLabel:ut==s|ahkgetvar:s==sui|ahkLabel:ui==sui|ahkPause:i=s|ahkIsUnicode: 9 | )" 10 | object:={} 11 | Loop Parse,functions,"|" 12 | { 13 | v:=StrSplit(A_LoopField,":") 14 | If !FuncPTR:=A_MemoryModule?MemoryGetProcAddress(A_MemoryModule,v.1):DllCall("GetProcAddress","PTR",A_ModuleHandle,"AStr",v.1,"PTR") 15 | continue 16 | If v.1="ahkFunction"||v.1="ahkPostFunction" 17 | dynacall_:=DynaCall(FuncPTR,v.2,"",0,0,0,0,0,0,0,0,0,0) 18 | else 19 | dynacall_:=DynaCall(FuncPtr,v.2) 20 | object[v.1]:=dynacall_ 21 | } 22 | return object 23 | } -------------------------------------------------------------------------------- /lib/between.ahk: -------------------------------------------------------------------------------- 1 | ; AutoHotkey v2 alpha 2 | 3 | ; This is a substitute for "If value between low and high". Note that 4 | ; using the expression directly can change the behaviour if the "value" 5 | ; part of the expression has side-effects. 6 | between(value, low, high) { 7 | return value >= low && value <= high 8 | } -------------------------------------------------------------------------------- /lib/bluscream/addon.ahk: -------------------------------------------------------------------------------- 1 | class GameAddon { 2 | id := "" 3 | name := "" 4 | enabled := false 5 | 6 | __New(id, name, enabled := false) { 7 | this.id := id 8 | this.name := name 9 | this.enabled := enabled 10 | } 11 | } -------------------------------------------------------------------------------- /lib/bluscream/ahi.ahk: -------------------------------------------------------------------------------- 1 | #Include 2 | global AHI := false 3 | PressKeyAHI(key, presses=1, keyms=100){ 4 | if (!AHI) { 5 | AHI := new AutoHotInterception() 6 | } 7 | loop, % presses { 8 | AHI.SendKeyEvent(1, GetKeySC(key), 1) 9 | Sleep, %keyms% 10 | AHI.SendKeyEvent(1, GetKeySC(key), 0) 11 | } 12 | } 13 | DownKeyAHI(key){ 14 | if (!AHI) { 15 | AHI := new AutoHotInterception() 16 | } 17 | AHI.SendKeyEvent(1, GetKeySC(key), 1) 18 | } 19 | UpKeyAHI(key){ 20 | if (!AHI) { 21 | AHI := new AutoHotInterception() 22 | } 23 | AHI.SendKeyEvent(1, GetKeySC(key), 0) 24 | } -------------------------------------------------------------------------------- /lib/bluscream/api.ahk: -------------------------------------------------------------------------------- 1 | #Include 2 | SendIRCommand(device, action , repeat := 5) { 3 | if (!InStr(device, "%")) { 4 | _device := URIEncode(device) 5 | ; scriptlog("URIEncode device: " . device . " => " . _device) 6 | device := _device 7 | } 8 | if (!InStr(action, "%")) { 9 | _action := URIEncode(action) 10 | ; scriptlog("URIEncode action: " . action . " => " . _action) 11 | action := _action 12 | } 13 | uri := new Url("http://minopia.de/api/ir.php?device=" . device . "&action=" . action . "&repeat=" . repeat) 14 | if (!no_ui) { 15 | scriptlog(uri.str()) 16 | } 17 | uri.visit("GET", "", "", true) 18 | } -------------------------------------------------------------------------------- /lib/bluscream/io.ahk: -------------------------------------------------------------------------------- 1 | #Include %A_LineFile%\..\io\directory.ahk 2 | #Include %A_LineFile%\..\io\file.ahk 3 | #Include %A_LineFile%\..\io\paths.ahk -------------------------------------------------------------------------------- /lib/bluscream/io/directory.ahk: -------------------------------------------------------------------------------- 1 | class Directory { 2 | drive := "" 3 | path := "" 4 | __New(path) { 5 | if (!endsWith(path, "\")) { 6 | path .= "\" 7 | } 8 | this.path := path 9 | SplitPath,path,,,,, drive 10 | this.drive := drive 11 | } 12 | Quote() { 13 | return """" . this.path . """" 14 | } 15 | Combine(dirs*) { 16 | return new Directory(this.path . ("\".join(dirs))) 17 | } 18 | CombineFile(paths*) { 19 | return new File(this.path . ("\".join(paths))) 20 | } 21 | exists() { 22 | return FileExist(this.path) 23 | } 24 | ShowInFileExplorer() { 25 | Run % "explorer.exe " . this.Quote() 26 | } 27 | getNewestFile(pattern := "*.*") { 28 | pattern := this.path . pattern 29 | Loop %pattern% 30 | If (A_LoopFileTimeModified >= _time) 31 | _time := A_LoopFileTimeModified, _file := A_LoopFileLongPath 32 | return new File(_file) 33 | } 34 | getDirectories() { 35 | ret := {} 36 | Loop, Files, % this.path . "\*", D 37 | ret.Push(new Directory(A_LoopFileLongPath)) 38 | return ret 39 | } 40 | getFiles() { 41 | ret := {} 42 | Loop, Files, % this.path . "\*.*" 43 | ret.Push(new File(A_LoopFileLongPath)) 44 | return ret 45 | } 46 | create() { 47 | if (!this.exists()) 48 | FileCreateDir, % this.path 49 | } 50 | } -------------------------------------------------------------------------------- /lib/bluscream/json.ahk: -------------------------------------------------------------------------------- 1 | #Include 2 | #Include 3 | toJson(object, beautify := false) { 4 | if (beautify) { 5 | json := JSON_Beautify(object) 6 | json := StrReplace(json, "\n" , "`n") 7 | json := StrReplace(json, "\r" , "`r") 8 | json := StrReplace(json, "\t" , "`t") 9 | return json 10 | } 11 | return JSON.Dump(object) 12 | } 13 | fromJson(txt) { 14 | return JSON.Load(txt) 15 | } 16 | #Include 17 | GetJson(url, auth := "") { 18 | HttpObj := ComObjCreate("WinHttp.WinHttpRequest.5.1") 19 | HttpObj.Open("GET", url, 0) 20 | HttpObj.SetRequestHeader("Content-Type", "application/json") 21 | if (auth != "") { 22 | HttpObj.SetRequestHeader("Authorization", "Basic " . auth) 23 | } 24 | HttpObj.SetTimeouts(0,30000,30000,120000) 25 | HttpObj.Send() 26 | HttpObj.WaitForResponse() 27 | ; scriptlog(HttpObj.ResponseText) 28 | try { 29 | _json := JSON.Load(HttpObj.ResponseText) 30 | } 31 | if !(_json) { 32 | ; MsgBox % "GetJson ResponseText:" 33 | _json := json_toobj(HttpObj.ResponseText) 34 | } 35 | return _json 36 | } 37 | PostJson(url, payload) { 38 | HttpObj := ComObjCreate("WinHttp.WinHttpRequest.5.1") 39 | scriptlog("PostJson.url: " . url) 40 | HttpObj.Open("POST", url, 0) 41 | HttpObj.SetRequestHeader("Content-Type", "application/json") 42 | _json := JSON.Dump(payload) 43 | if !(_json) { 44 | scriptlog("PostJson payload:") 45 | _json := json_fromobj(payload) 46 | } 47 | scriptlog("PostJson._json: " . toJson(_json)) 48 | HttpObj.SetTimeouts(0,999999,999999,999999) 49 | HttpObj.Send(_json) 50 | HttpObj.WaitForResponse() 51 | _json := JSON.Load(HttpObj.ResponseText) 52 | if !(_json) { 53 | scriptlog("PostJson ResponseText:") 54 | _json := json_toobj(HttpObj.ResponseText) 55 | scriptlog(_json) 56 | } 57 | return _json 58 | } -------------------------------------------------------------------------------- /lib/bluscream/process.ahk: -------------------------------------------------------------------------------- 1 | class Process { 2 | name := "" 3 | file := new File() 4 | 5 | __New(name := "") { 6 | this.name := name 7 | winmgmts := this.winmgmts() 8 | if (winmgmts && winmgmts.ExecutablePath) 9 | this.file := new File(winmgmts.ExecutablePath) 10 | } 11 | wait() { 12 | Process, Wait, % this.name 13 | } 14 | fromPid(pid := 0) { 15 | return new Process(this.winmgmts(pid).Name) 16 | } 17 | fromFile(file) { 18 | proc := new Process() 19 | proc.file := file 20 | proc.name := file.fullname 21 | return proc 22 | } 23 | exists() { 24 | Process, Exist, % this.name 25 | return ErrorLevel 26 | } 27 | getPid() { 28 | WinGet, pid, PID, % "ahk_exe " . this.name 29 | return pid 30 | } 31 | winmgmts(pid := 0) { 32 | cmd := "Select * from Win32_Process where ProcessId=" . (pid ? pid : this.getPid()) 33 | for item in ComObjGet("winmgmts:").ExecQuery(cmd) { 34 | this.winmgmts := item 35 | return item 36 | } 37 | return 0 38 | } 39 | commandLine() { 40 | if (!this.exists()) 41 | return "" 42 | StringReplace Parameters, % winmgmts.CommandLine, % winmgmts.ExecutablePath 43 | StringReplace Parameters, Parameters, "" 44 | return Trim(Parameters) 45 | } 46 | close() { 47 | if (this.exists()) { 48 | Process, Close, % this.name 49 | return !this.exists() 50 | } 51 | } 52 | kill(force := true, wait := false) { 53 | ; if (this.exists()) { 54 | cmd := """" . A_ComSpec . """ /c taskkill " . (force ? "/f" : "") . " /im " . this.name 55 | OutputDebug, % cmd 56 | if (wait) { 57 | RunWait % cmd,,Hide, vPid 58 | return !this.exists() 59 | } 60 | Run % cmd,,Hide 61 | ; } 62 | } 63 | str() { 64 | return this.name 65 | } 66 | } -------------------------------------------------------------------------------- /lib/bluscream/ui/buttongrid.ahk: -------------------------------------------------------------------------------- 1 | 2 | class CommandButton { 3 | text := "Button" 4 | command := "" 5 | callback := null 6 | 7 | __New(text, command, callback := null) { 8 | this.text := text 9 | this.command := command 10 | this.callback := callback 11 | } 12 | } 13 | 14 | class ButtonGrid { 15 | name := "" 16 | row := 0 17 | col := 0 18 | 19 | __New(category, buttons) { 20 | this.name := category 21 | Gui, New 22 | Gui, Font, s13 23 | for i, button in buttons { 24 | this.addButton(button) 25 | } 26 | Gui, +AlwaysOnTop 27 | Gui, Show,, %category% 28 | } 29 | 30 | addButton(button) { 31 | row := this.row 32 | col := this.col 33 | ; create button and bind callback 34 | buttonHandler := Func("callback").Bind(this, button) 35 | Gui, Add, Button, hwnd hwndButton, % button.text 36 | ; Gui, Add, Button, x%col% y%row% w200 h50 gButtonHandler, % button.text 37 | col += 200 38 | if (col >= 600) { 39 | col := 0 40 | row += 50 41 | } 42 | this.row := row 43 | this.col := col 44 | } 45 | 46 | callback(button) { 47 | if (button.callback != null) { 48 | button.callback(button) 49 | } else { 50 | Tooltip, % "EXAMPLE CALLBACK > text: " . button.text . ", command: " . button.Command 51 | } 52 | } 53 | } 54 | 55 | ; ButtonHandler() { 56 | ; ControlGetText, buttonText, %A_GuiControl% 57 | ; Gui, Submit, NoHide 58 | ; ; get button by text 59 | ; } 60 | 61 | GuiClose() { 62 | ExitApp 63 | } 64 | -------------------------------------------------------------------------------- /lib/bluscream/ui/control.ahk: -------------------------------------------------------------------------------- 1 | class Control { 2 | id := "" 3 | type := "" 4 | index := 0 5 | text := "" 6 | bounds := [0,0,0,0] 7 | window := 0 8 | __New(id, window := 0) { 9 | this.id := id 10 | RegExMatch(this.id, "^([^0-9]*)(.*)$", type) 11 | this.type := type1 12 | this.index := type2 13 | this.window := window 14 | ; this.bounds := this.getBounds() 15 | ; this.text := this.getText() 16 | } 17 | getBounds() { 18 | ControlGetPos, X, Y, W, H, % this.id, % this.window.str() 19 | return [X,Y,W,H] 20 | } 21 | getText() { 22 | ControlGetText, ControlText, % this.id, % this.window.str() 23 | return ControlText 24 | } 25 | click(ClickCount, Options) { 26 | ControlClick, % this.id, % this.window.str(),, left 27 | } 28 | focus() { 29 | ControlFocus, % this.id, % this.window.str() 30 | } 31 | send(msg, raw := false) { 32 | if (raw) 33 | ControlSendRaw, % this.id, % msg, % this.window.str() 34 | else 35 | ControlSend, % this.id, % msg, % this.window.str() 36 | } 37 | move(x,y,w,h) { 38 | ControlMove, % this.id, x ?? this.bounds[1], y ?? this.bounds[2], w ?? this.bounds[3], h ?? this.bounds[4], % this.window.str() 39 | } 40 | 41 | } -------------------------------------------------------------------------------- /lib/bluscream/ui/coord.ahk: -------------------------------------------------------------------------------- 1 | class Coordinate { 2 | x := 0 3 | y := 0 4 | z := 0 5 | w := 0 6 | h := 0 7 | window := 0 8 | __New(x1 = 0, y1 = 0, window := 0, z1 := 0, w1 := 0, h1 := 0) { 9 | this.x := x1 10 | this.y := y1 11 | this.z := z1 12 | this.w := w1 13 | this.h := h1 14 | this.window := window 15 | } 16 | ; a function that returns the sum of two numbers 17 | 18 | str() { 19 | return "X: " . this.x . " Y: " . this.y 20 | } 21 | getBounds() { 22 | return [this.x,this.y,this.z,this.w,this.h,this.x+this.w,this.y+this.h] 23 | } 24 | move(speed := 2, relative := false) { 25 | MouseMove, this.x, this.y, speed, % (relative ? "R" : "") 26 | } 27 | click(ClickCount=1, sleep_ms = 100, button := "left", method := "dllcall", data := "") { 28 | ; if (!this.window.isActive()) return 29 | x := (this.w > 0 ? this.x + this.w / 2 : this.x) 30 | y := (this.h > 0 ? this.y + this.h / 2 : this.y) 31 | MouseClick(x,y,ClickCount, sleep_ms, button, method, data) 32 | } 33 | swipeToCoord(coord) { 34 | if (!this.window.isActive()) 35 | return 36 | MouseMove, this.x, this.y 37 | scriptlog("Swiping from " . this.str() . " to " . coord.str()) 38 | dllcall("mouse_event", Uint, 0x02, Uint, 0, Uint, 0, Uint, 0, UPtr, 0) ; Down 39 | sleep, 50 40 | MouseMove, coord.x, coord.y, 5 41 | sleep, 50 42 | dllcall("mouse_event", Uint, 0x04, Uint, 0, Uint, 0, Uint, 0, UPtr, 0) ; UP 43 | } 44 | 45 | } -------------------------------------------------------------------------------- /lib/clip2object.ahk: -------------------------------------------------------------------------------- 1 | Clip2Object(){ 2 | return new Clip2Object 3 | } 4 | Class Clip2Object { 5 | __Set(key,ByRef raw){ 6 | static _AHKVar:="{Int64 ContentsInt64,Double ContentsDouble,PTR object},{char *mByteContents,LPTSTR CharContents},{UINT_PTR Length,_AHKVar *AliasFor},{UINT_PTR Capacity,UINT_PTR BIV},BYTE HowAllocated,BYTE Attrib,BYTE IsLocal,BYTE Type,LPTSTR Name" 7 | len:=this.SetCapacity(key,(var:=Struct(_AHKVar,getvar(raw))).AliasFor.Length) 8 | return (len,DllCall("RtlMoveMemory","PTR",this.GetAddress(key),"PTR",var.AliasFor.mByteContents["",""],"PTR",var.AliasFor.Length)) 9 | } 10 | Restore(key,ByRef raw){ 11 | static _AHKVar:="{Int64 ContentsInt64,Double ContentsDouble,PTR object},{char *mByteContents,LPTSTR CharContents},{UINT_PTR Length,_AHKVar *AliasFor},{UINT_PTR Capacity,UINT_PTR BIV},BYTE HowAllocated,BYTE Attrib,BYTE IsLocal,BYTE Type,LPTSTR Name" 12 | if IsByRef(raw)&&VarSetCapacity(raw,len:=this.GetCapacity(key),0) 13 | return (Struct(_AhkVar,Struct(_AhkVar,getvar(raw)).AliasFor["",""],{Attrib:4,Length:len}).Length 14 | ,DllCall("RtlMoveMemory","PTR",&raw,"PTR",this.GetAddress(key),"PTR",len)) 15 | } 16 | } -------------------------------------------------------------------------------- /lib/cryptaes.ahk: -------------------------------------------------------------------------------- 1 | CryptAES(ByRef lp,sz,pw,e:=1,SID:=256){ 2 | static AES_128:=0x660E,AES_192:=1+AES_128,AES_256:=1+AES_192,SHA1:=1+0x8003 ; MD5 3 | If !CryptAcquireContext(getvar(hP:=0),0,0,24,0xF0000000) ;PROV_RSA_AES, CRYPT_VERIFYCONTEXT 4 | || !CryptCreateHash(hP,SHA1,0,0,getvar(H:=0) ) 5 | || !CryptHashData(H,&pw,StrLen(pw)*2,0) 6 | || !CryptDeriveKey(hP,AES_%SID%,H,SID<<16,getvar(hK:=0)) 7 | || !CryptDestroyHash(H) 8 | return 0 9 | if e 10 | CryptEncrypt(hK,0,1,0,&lp,getvar(sz),sz+16) 11 | else CryptDecrypt(hK,0,1,0,&lp,getvar(sz)) 12 | return (CryptDestroyKey(hK),CryptReleaseContext(hP,0),sz) 13 | } 14 | ;~ CryptAES(ByRef lp,sz,pw,e:=1,SID:=256){ 15 | ;~ static f:="advapi32\Crypt",t:="UPtr",t_:="UPtr*",AES_128:=0x660E,AES_192:=1+AES_128,AES_256:=1+AES_192,SHA1:=1+0x8003 ; MD5 16 | ;~ return e?VarSetCapacity(lp,sz+16):0,DllCall(f "AcquireContext",t_,hP,t,0,t,0,t,24,t,0xF0000000) ;PROV_RSA_AES, CRYPT_VERIFYCONTEXT 17 | ;~ ,DllCall(f "CreateHash",t,hP,t,SHA1,t,0,t,0,t_,H),DllCall(f "HashData",t,H,str,pw,t,StrLen(pw)*2,t,0) 18 | ;~ ,DllCall(f "DeriveKey",t,hP,t,AES_%SID%,t,H,t,SID<<16,t_,hK),DllCall(f "DestroyHash",t,H) 19 | ;~ ,e?DllCall(f "Encrypt",t,hK,t,0,t,1,t,0,t,&lp,t_,sz,t,sz+16):DllCall(f "Decrypt",t,hK,t,0,t,1,t,0,t,&lp,t_,sz) 20 | ;~ ,DllCall(f "DestroyKey",t,hK),DllCall(f "ReleaseContext",t,hP,t,0) 21 | ;~ ,sz 22 | ;~ } -------------------------------------------------------------------------------- /lib/dateparse.ahk: -------------------------------------------------------------------------------- 1 | /* 2 | Function: DateParse 3 | Converts almost any date format to a YYYYMMDDHH24MISS value. 4 | 5 | Parameters: 6 | str - a date/time stamp as a string 7 | 8 | Returns: 9 | A valid YYYYMMDDHH24MISS value which can be used by FormatTime, EnvAdd and other time commands. 10 | 11 | Example: 12 | > time := DateParse("2:35 PM, 27 November, 2007") 13 | 14 | License: 15 | - Version 1.05 16 | - Dedicated to the public domain (CC0 1.0) 17 | */ 18 | DateParse(str) { 19 | static e2 = "i)(?:(\d{1,2}+)[\s\.\-\/,]+)?(\d{1,2}|(?:Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\w*)[\s\.\-\/,]+(\d{2,4})" 20 | str := RegExReplace(str, "((?:" . SubStr(e2, 42, 47) . ")\w*)(\s*)(\d{1,2})\b", "$3$2$1", "", 1) 21 | If RegExMatch(str, "i)^\s*(?:(\d{4})([\s\-:\/])(\d{1,2})\2(\d{1,2}))?" 22 | . "(?:\s*[T\s](\d{1,2})([\s\-:\/])(\d{1,2})(?:\6(\d{1,2})\s*(?:(Z)|(\+|\-)?" 23 | . "(\d{1,2})\6(\d{1,2})(?:\6(\d{1,2}))?)?)?)?\s*$", i) 24 | d3 := i1, d2 := i3, d1 := i4, t1 := i5, t2 := i7, t3 := i8 25 | Else If !RegExMatch(str, "^\W*(\d{1,2}+)(\d{2})\W*$", t) 26 | RegExMatch(str, "i)(\d{1,2})\s*:\s*(\d{1,2})(?:\s*(\d{1,2}))?(?:\s*([ap]m))?", t) 27 | , RegExMatch(str, e2, d) 28 | f = %A_FormatFloat% 29 | SetFormat, Float, 02.0 30 | d := (d3 ? (StrLen(d3) = 2 ? 20 : "") . d3 : A_YYYY) 31 | . ((d2 := d2 + 0 ? d2 : (InStr(e2, SubStr(d2, 1, 3)) - 40) // 4 + 1.0) > 0 32 | ? d2 + 0.0 : A_MM) . ((d1 += 0.0) ? d1 : A_DD) . t1 33 | + (t1 = 12 ? t4 = "am" ? -12.0 : 0.0 : t4 = "am" ? 0.0 : 12.0) . t2 + 0.0 . t3 + 0.0 34 | SetFormat, Float, %f% 35 | Return, d 36 | } 37 | -------------------------------------------------------------------------------- /lib/emptyworkingsets.ahk: -------------------------------------------------------------------------------- 1 | EmptyWorkingSets(pids*){ 2 | if !pid 3 | pids:=WinGetPidList() 4 | for k,pid in pids 5 | DllCall("SetProcessWorkingSetSize", "UInt", hProc:=DllCall("OpenProcess","UInt",0x001F0FFF,"Int",0,"Int",pid,"PTR"), "Int", -1, "Int", -1) 6 | ,DllCall("CloseHandle", "Int", hProc) 7 | } -------------------------------------------------------------------------------- /lib/filegetinfo.ahk: -------------------------------------------------------------------------------- 1 | ;~ MsgBox FileGetInfo(A_AhkPath,"FILEVERSION") 2 | FileGetInfo( peFile:="", p*) { ; Written by SKAN, modified by HotKeyIt 3 | ; www.autohotkey.com/forum/viewtopic.php?p=233188#233188 CD:24-Nov-2008 / LM:27-Oct-2010 4 | static DLL:="Version\GetFileVersion" 5 | If ! FSz := DllCall( DLL "InfoSizeW", "Str",peFile, "UInt",0 ) 6 | Return (DllCall( "SetLastError", UInt,1 ),"") 7 | VarSetCapacity( FVI, FSz, 0 ),DllCall( DLL "InfoW", "Str",peFile, "UInt",0, "UInt",FSz, "PTR",&FVI ) 8 | If !DllCall( "Version\VerQueryValueW", "PTR",&FVI, "Str","\VarFileInfo\Translation", "PTR*",Transl, "PTR",0 ) 9 | Return (DllCall( "SetLastError", UInt,2 ),"") 10 | If !Trans:=format("{1:.8X}",NumGet(Transl+0,"UInt")) 11 | Return (DllCall( "SetLastError", UInt,3),"") 12 | for k,v in p 13 | { subBlock := "\StringFileInfo\" SubStr(Trans,-4) SubStr(Trans,1,4) "\" v 14 | If ! DllCall( "Version\VerQueryValueW", "PTR",&FVI, "Str",SubBlock, "PTR*",InfoPtr, "UInt",0 ) 15 | continue 16 | If Value := StrGet( InfoPtr ) 17 | Info .= p.Length()=1?Value:SubStr( v " ",1,24 ) . A_Tab . Value . "`n" 18 | } Info:=RTrim(Info,"`n") 19 | Return Info 20 | } -------------------------------------------------------------------------------- /lib/games/lego.ahk: -------------------------------------------------------------------------------- 1 | #Include 2 | 3 | #SingleInstance Force 4 | ; #Persistent 5 | 6 | global game_name := "LEGO" 7 | global game_class := "TTalesWindow" 8 | global game_window := "ahk_class " . game_class 9 | 10 | StartGame(WaitForMenu=true){ 11 | StartGameSteam() 12 | WinWait, %game_window% 13 | scriptlog(game_window . " window exists") 14 | WinActivate, %game_window% 15 | WinWaitActive, %game_window% 16 | scriptlog(game_window . " window active") 17 | if (WaitForMenu) 18 | Sleep, 60 * 1000 19 | } 20 | StartGameLocal() { 21 | path := game_dir . game_exe 22 | Run, %path%, %game_dir% 23 | scriptlog("Started " . path) 24 | } 25 | StartGameSteam() { 26 | url := "steam://rungameid/" . game_id 27 | Run, %url% 28 | scriptlog("Started " . url) 29 | } 30 | CloseGame(){ 31 | scriptlog("Closing " . game_window " ...") 32 | WinClose, %game_window% 33 | Sleep, 3 * 1000 34 | if (WinExist(game_window)) { 35 | scriptlog("Killing " . game_window " ...") 36 | WinKill, %game_window% 37 | } 38 | scriptlog("Waiting for " . game_window " to vanish ...") 39 | WinWaitClose, %game_window%,, 3 40 | if (ErrorLevel) { 41 | CommandLine := DllCall("GetCommandLine", "Str") 42 | If !(A_IsAdmin || RegExMatch(CommandLine, " /restart(?!\S)")) { 43 | WaitForKey("Could not close " . game_window . ". Restart as admin? ", "any key") 44 | Try { 45 | If (A_IsCompiled) { 46 | Run *RunAs "%A_ScriptFullPath%" /restart 47 | } Else { 48 | Run *RunAs "%A_AhkPath%" /restart "%A_ScriptFullPath%" 49 | } 50 | } 51 | ExitApp 52 | } else { 53 | scriptlog("Unable to close " . game_window . " even as admin. Please open task manager manually and kill it.") 54 | WinWaitClose, %game_window% 55 | } 56 | } 57 | scriptlog("Closed " . game_window " ...") 58 | } -------------------------------------------------------------------------------- /lib/games/legocityundercover.ahk: -------------------------------------------------------------------------------- 1 | #SingleInstance Force 2 | ; #Persistent 3 | 4 | #Include 5 | #Include 6 | 7 | global game_title := "LEGO City Undercover" 8 | global game_class := "TTalesWindow" 9 | global game_exe := "LEGOLCUR_DX11.exe" 10 | global game_window := game_title . " ahk_class " . game_class . " ahk_exe " . game_exe 11 | global game_name := "LEGO City Undercover" 12 | global game_dir := "S:\Steam\steamapps\common\LEGO City Undercover\" 13 | global game_config := A_AppData . "\Warner Bros. Interactive Entertainment\LEGO City Undercover\pcconfig.txt" 14 | global game_id := "578330" 15 | global game_extras := 20 ; ??? 16 | global key_special := "ä" 17 | 18 | 19 | LoadGame(SaveState=1) { 20 | /* 21 | PressKey("Enter",1,20000,,true,"Press any button to Start") 22 | PressKey("Enter",1,4000,,true,"Press Load Game -> Savelist loaded") 23 | ; if (SaveState == 2) 24 | PressKey("Enter",1,3000,,true,"Select upper left save") ; 25 | PressKey("Enter",1,6000,,true,"Confirm Load -> Savestate Loaded") 26 | PressKey("Enter",1,16000,,true,"Confirm autosave -> Game Loaded") 27 | scriptlog("Game Loaded (" . SaveState . ")") 28 | */ 29 | } 30 | ToEscMenu(FromMenu=false) { 31 | /* 32 | if (FromMenu) 33 | PressKey("Esc",1,300) ; Close Menu 34 | PressKey("Esc",1,300) ; Go to Pause Menu 35 | */ 36 | } 37 | ToExtrasMenu(EnterCode=False) { 38 | /* 39 | PressKey("Enter",1,200) ; Open Menu 40 | PressKey("Down",2) ; Navigate to "Extras" 41 | if (EnterCode) { 42 | PressKey("Enter",2,200) ; Extras+Enter Code 43 | } else { 44 | PressKey("Enter",1,200) ; Extras 45 | } 46 | */ 47 | } 48 | ToMainMenu() { 49 | /* 50 | PressKey("Down",3,100) ; Navigate to Quit Game 51 | PressKey("Enter",1,300) ; Quit Game 52 | PressKey("Up",1,100) ; Navigate to Save and Exit 53 | PressKey("Enter",1,13000) ; Save and Exit 54 | */ 55 | } -------------------------------------------------------------------------------- /lib/globalvar.ahk: -------------------------------------------------------------------------------- 1 | GlobalVar(name){ 2 | mVar:=ScriptStruct().mVar 3 | Loop ScriptStruct().mVarCount 4 | If (var:=mVar[A_Index]).mName = name 5 | return var 6 | return [] 7 | } -------------------------------------------------------------------------------- /lib/globalvarsscript.ahk: -------------------------------------------------------------------------------- 1 | GlobalVarsScript(var:="",size:=102400,ByRef object:=0){ 2 | global 3 | static globalVarsScript 4 | If (var="") 5 | Return globalVarsScript 6 | else if !size { 7 | If !InStr(globalVarsScript,var ":= Object(" . &object . ")`n"){ 8 | If !CriticalObject(object,1) 9 | object:=CriticalObject(object) 10 | globalVarsScript .= var ":= CriticalObject(" CriticalObject(object,1) "," CriticalObject(object,2) ")`n" 11 | } 12 | } else { 13 | Loop Parse, Var, "|" 14 | If !InStr(globalVarsScript,"Alias(" A_LoopField "," GetVar(%A_LoopField%) ")`n"){ 15 | If size 16 | VarSetCapacity(%A_LoopField%,size,0) 17 | globalVarsScript:=globalVarsScript . "Alias(" A_LoopField "," GetVar(%A_LoopField%) "+0)`n" 18 | } 19 | } 20 | Return globalVarsScript 21 | } -------------------------------------------------------------------------------- /lib/gta/modmenus.ahk: -------------------------------------------------------------------------------- 1 | #Include, 2 | #Include, 3 | global modmenus := [ new TwoTakeOneModMenu("D:\Desktop\2Take1Menu\Launcher.exe","",game) 4 | ,new ModestModMenu("D:\Desktop\modest-menu\modest-menu.exe","",game)] -------------------------------------------------------------------------------- /lib/gta/modmenus/2take1menu.ahk: -------------------------------------------------------------------------------- 1 | #Include 2 | class TwoTakeOneModMenu extends ModMenu { 3 | name := "2Take1Menu" 4 | buttons := {} 5 | __New(path, window:="", game:="") { 6 | base.__New(path, window, game) 7 | this.buttons.inject := new Coordinate(321, 244, this.window) 8 | } 9 | autoStart(inject:=False) { 10 | base.autoStart(True, "PlayGTAV", inject) 11 | } 12 | inject() { 13 | this.game.minimize() 14 | this.window.wait() 15 | CoordMode, Mouse, Client 16 | ; PostClick(this.window.exists(), this.buttons.inject.x, this.buttons.inject.y) 17 | this.window.activate(true,true) 18 | Sleep, 50 19 | this.buttons.inject.click(1, 100, "left", "", "") 20 | Sleep, 500 21 | this.injected := True 22 | this.game.activate(True, True) 23 | } 24 | } 25 | ; u8Mi8noIixnWdvgjn0kP7fmG6TZ8gwJ 26 | ; ahk_class u8Mi8noIixnWdvgjn0kP7fmG6TZ8gwJ 27 | ; ahk_exe Launcher.exe 28 | 29 | ; Screen: 1275, 790 (less often used) 30 | ; Window: 321, 244 (default) 31 | ; Client: 321, 244 (recommended) 32 | ; Color: EEEBEE (Red=EE Green=EB Blue=EE) 33 | -------------------------------------------------------------------------------- /lib/json_fromobj.ahk: -------------------------------------------------------------------------------- 1 | ; Copyright © 2013 VxE. All rights reserved. 2 | 3 | ; Serialize an object as JSON-like text OR format a string for inclusion therein. 4 | ; NOTE: scientific notation is treated as a string and hexadecimal as a number. 5 | ; NOTE: UTF-8 sequences are encoded as-is, NOT as their intended codepoint. 6 | json_fromobj( obj ) { 7 | 8 | If IsObject( obj ) 9 | { 10 | isarray := 0 ; an empty object could be an array... but it ain't, says I 11 | Try 12 | { 13 | for key in obj 14 | if ( key != ++isarray ) 15 | { 16 | isarray := 0 17 | Break 18 | } 19 | for key, val in obj 20 | str .= ( A_Index = 1 ? "" : "," ) ( isarray ? "" : json_fromObj( key ) ":" ) json_fromObj( val ) 21 | } 22 | 23 | return isarray ? "[" str "]" : "{" str "}" 24 | } 25 | else if obj IS NUMBER 26 | return obj 27 | ; else if obj IN null,true,false ; AutoHotkey does not natively distinguish these 28 | ; return obj 29 | 30 | ; Encode control characters, starting with backslash. 31 | StringReplace, obj, obj, \, \\, A 32 | StringReplace, obj, obj, % Chr(08), \b, A 33 | StringReplace, obj, obj, % A_Tab, \t, A 34 | StringReplace, obj, obj, `n, \n, A 35 | StringReplace, obj, obj, % Chr(12), \f, A 36 | StringReplace, obj, obj, `r, \r, A 37 | StringReplace, obj, obj, ", \", A 38 | StringReplace, obj, obj, /, \/, A 39 | While RegexMatch( obj, "[^\x20-\x7e]", key ) 40 | { 41 | str := Asc( key ) 42 | val := "\u" . Chr( ( ( str >> 12 ) & 15 ) + ( ( ( str >> 12 ) & 15 ) < 10 ? 48 : 55 ) ) 43 | . Chr( ( ( str >> 8 ) & 15 ) + ( ( ( str >> 8 ) & 15 ) < 10 ? 48 : 55 ) ) 44 | . Chr( ( ( str >> 4 ) & 15 ) + ( ( ( str >> 4 ) & 15 ) < 10 ? 48 : 55 ) ) 45 | . Chr( ( str & 15 ) + ( ( str & 15 ) < 10 ? 48 : 55 ) ) 46 | StringReplace, obj, obj, % key, % val, A 47 | } 48 | return """" obj """" 49 | } ; json_fromobj( obj ) -------------------------------------------------------------------------------- /lib/lego/mouseemulator.ahk: -------------------------------------------------------------------------------- 1 | #Include 2 | 3 | #SingleInstance Force 4 | ; #Persistent 5 | 6 | global lastPosX := 0 7 | global lastPosY := 0 8 | 9 | ResetCursor() { 10 | MouseMove, winMiddleX, winMiddleY 11 | } 12 | 13 | WatchCursor() { 14 | MouseGetPos, curPosX, curPosY 15 | curPosX := Round(curPosX) 16 | curPosY := Round(curPosY) 17 | Xchanged := curPosX != lastPosX 18 | Ychanged := curPosY != lastPosY 19 | if (!Xchanged && !Ychanged) { 20 | ShowToolTip("No Change") 21 | return 22 | } 23 | Xcentered := curPosX == winMiddleX 24 | Ycentered := curPosY == winMiddleY 25 | if (Xcentered && Ycentered) { 26 | ShowToolTip("Centered") 27 | return 28 | } 29 | changestr := "Moved " 30 | if (Xchanged) { 31 | if (curPosX > lastPosX) { 32 | changeX := curPosX - lastPosX 33 | changestr .= "right" 34 | lastPosX := curPosX 35 | PressKeyAHI("Right", 1, 80) 36 | } 37 | else { 38 | changeX := lastPosX - curPosX 39 | changestr .= "left" 40 | lastPosX := curPosX 41 | PressKeyAHI("Left", 1, 80) 42 | } 43 | changestr .= " (" . changeX . "), " 44 | } 45 | if (Ychanged) { 46 | if (curPosY > lastPosY) { 47 | changeY := curPosY - lastPosY 48 | changestr .= "down" 49 | lastPosY := curPosY 50 | PressKeyAHI("Down", 1, 80) 51 | } 52 | else { 53 | changeY := lastPosY - curPosY 54 | changestr .= "up" 55 | lastPosY := curPosY 56 | PressKeyAHI("Up", 1, 80) 57 | } 58 | changestr .= " (" . changeY . "), " 59 | } 60 | ShowToolTip(changestr) 61 | return 62 | } -------------------------------------------------------------------------------- /lib/logtail.org.ahk: -------------------------------------------------------------------------------- 1 | class LogTailer { 2 | seekPos := 0 3 | fileHandle := 0 4 | fileSize := 0 5 | 6 | __New(FileName, Callback){ 7 | this.fileName := FileName 8 | this.callback := callback 9 | 10 | fileHandle := FileOpen(FileName, "r `n") 11 | if (!IsObject(fileHandle)){ 12 | MsgBox % "Unable to load file " FileName 13 | ExitApp 14 | } 15 | this.fileHandle := fileHandle 16 | this.fileSize := fileHandle.Length 17 | fn := this.Read.Bind(this) 18 | this.ReadFn := fn 19 | this.Start() 20 | } 21 | 22 | Read(){ 23 | if (this.fileHandle.Length < this.fileSize){ 24 | ; File got smaller. Log rolled over. Reset to start 25 | this.seekPos := 0 26 | } 27 | ; Move to where we left off 28 | this.fileHandle.Seek(this.seekPos, 0) 29 | 30 | ; Read all new lines 31 | while (!this.fileHandle.AtEOF){ 32 | line := this.fileHandle.ReadLine() 33 | if (line == "`r`n" || line == "`n"){ 34 | continue 35 | } 36 | ; Fire the callback function and pass it the new line 37 | this.callback.call(line) 38 | } 39 | ; Store position we last processed 40 | this.seekPos := this.fileHandle.Pos 41 | ; Store length so we can detect roll over 42 | this.fileSize := this.fileHandle.Length 43 | } 44 | 45 | ; Starts tailing 46 | Start(){ 47 | fn := this.ReadFn 48 | SetTimer, % fn, 10 49 | } 50 | 51 | ; Stops tailing 52 | Stop(){ 53 | fn := this.ReadFn 54 | SetTimer, % fn, Off 55 | } 56 | 57 | ; Stop tailing and close file handle 58 | Delete(){ 59 | this.Stop() 60 | this.fileHandle.Close() 61 | } 62 | } -------------------------------------------------------------------------------- /lib/node_modules/regex.ahk/src/_head.tail/lib_head.ahk: -------------------------------------------------------------------------------- 1 | class regexp { 2 | 3 | ; --- Static Variables --- 4 | static flags := {i: true, g:false, m:false} 5 | 6 | __New(param_default:="", param_flags:="") { 7 | 8 | param_flags := StrSplit(param_flags) 9 | this.g := false, this.i := false, this.m := false 10 | for _, value in param_flags { 11 | if (value == "g" || value == "G") { 12 | this.g := true 13 | } 14 | if (value == "i" || value == "I") { 15 | this.i := true 16 | } 17 | if (value == "m" || value == "M") { 18 | this.m := true 19 | } 20 | } 21 | this.data := [] 22 | 23 | ; workspace 24 | this.lastIndex := 0 25 | 26 | 27 | this.throwExceptions := true 28 | if (param_default != "") { 29 | this.pattern := param_default 30 | } 31 | } 32 | 33 | 34 | 35 | 36 | ; --- Static Methods --- 37 | -------------------------------------------------------------------------------- /lib/node_modules/regex.ahk/src/_head.tail/lib_tail.ahk: -------------------------------------------------------------------------------- 1 | } 2 | -------------------------------------------------------------------------------- /lib/node_modules/regex.ahk/src/_head.tail/test_head.ahk: -------------------------------------------------------------------------------- 1 | #Include %A_ScriptDir%\..\export.ahk 2 | #Include %A_ScriptDir%\..\node_modules 3 | #Include unit-testing.ahk\export.ahk 4 | 5 | #NoTrayIcon 6 | #SingleInstance, force 7 | SetBatchLines, -1 8 | 9 | re := new regexp() 10 | assert := new unittesting() 11 | 12 | ; Start speed function 13 | QPC(1) 14 | -------------------------------------------------------------------------------- /lib/node_modules/regex.ahk/src/_head.tail/test_tail.ahk: -------------------------------------------------------------------------------- 1 | ;; Display test results in GUI 2 | speed := QPC(0) 3 | assert.fullreport() 4 | msgbox, %speed% 5 | ExitApp 6 | 7 | QPC(R := 0) 8 | { 9 | static P := 0, F := 0, Q := DllCall("QueryPerformanceFrequency", "Int64P", F) 10 | return ! DllCall("QueryPerformanceCounter", "Int64P", Q) + (R ? (P := Q) / F : (Q - P) / F) 11 | } 12 | -------------------------------------------------------------------------------- /lib/node_modules/regex.ahk/src/internal/internal.ahk: -------------------------------------------------------------------------------- 1 | ; /--\--/--\--/--\--/--\--/--\ 2 | ; Internal functions 3 | ; \--/--\--/--\--/--\--/--\--/ 4 | 5 | _internal(param_key) { 6 | 7 | } 8 | 9 | _join(param_array, param_sepatator:="") { 10 | for l_key, l_value in param_array { 11 | if (l_key == 1) { 12 | l_string := "" l_value 13 | continue 14 | } 15 | l_string .= param_sepatator l_value 16 | } 17 | return l_string 18 | } 19 | 20 | 21 | ; tests 22 | assert.test(re._join([1,2,3]), "123") 23 | assert.test(re._join([1]), "1") 24 | 25 | ; omit 26 | 27 | 28 | 29 | 30 | ; tests 31 | 32 | ; omit 33 | -------------------------------------------------------------------------------- /lib/node_modules/regex.ahk/src/internal/typeException.ahk: -------------------------------------------------------------------------------- 1 | _typeException() { 2 | if (this.throwExceptions == true) { 3 | throw Exception("Type Error", -2) 4 | } 5 | } 6 | -------------------------------------------------------------------------------- /lib/node_modules/regex.ahk/src/regexp/exec.ahk: -------------------------------------------------------------------------------- 1 | exec(param_string) { 2 | if (IsObject(param_string)) { 3 | this._typeException() 4 | } 5 | 6 | ; prepare 7 | this.input := param_string 8 | 9 | 10 | ; create 11 | l_searchPosition := 1 12 | oMatch := [] 13 | while l_searchPosition := RegExMatch(this.input, "O)(" this.pattern ")", l_match, l_searchPosition) { 14 | ; oMatch.input := this.input 15 | vPosLast := l_searchPosition 16 | l_searchPosition += StrLen(l_match.0) 17 | ; prevent infinite loop 18 | if (l_searchPosition = vPosLast) { 19 | return -1 20 | } 21 | oMatch.Push(l_match.0) 22 | this.lastIndex := vPosLast 23 | } 24 | if (oMatch.Count() == 0) { 25 | this.lastIndex := 0 26 | return oMatch 27 | } 28 | return oMatch 29 | } 30 | 31 | 32 | ; tests 33 | assert.label(".test - Simple use cases") 34 | re := new regexp("Lunchtime") 35 | string := "Time is an illusion. Lunchtime doubly so" 36 | result := re.exec(string) 37 | assert.test(result, ["Lunchtime"]) 38 | 39 | assert.test(re.exec("Don't Panic"), []) 40 | 41 | 42 | ; omit 43 | re := new regexp("(ime)") 44 | string := "Time is an illusion. Lunchtime doubly so" 45 | result := re.exec(string) 46 | assert.test(result, ["ime", "ime"]) 47 | assert.test(result) 48 | -------------------------------------------------------------------------------- /lib/node_modules/regex.ahk/src/regexp/test.ahk: -------------------------------------------------------------------------------- 1 | test(param_string) { 2 | if (IsObject(param_string)) { 3 | this._typeException() 4 | } 5 | 6 | ; prepare 7 | ; Todo 8 | ; differenciate between golbal and singular 9 | if (this.lastIndex != 0 && param_string != this.input) { 10 | this.lastIndex := 0 11 | } 12 | this.input := param_string 13 | 14 | 15 | ; create 16 | l_searchPosition := RegExMatch(this.input, "O)(" this.pattern ")", l_match, this.lastIndex + 1) 17 | if (l_searchPosition != 0) { 18 | this.lastIndex := l_searchPosition 19 | return true 20 | } 21 | return false 22 | } 23 | 24 | 25 | ; tests 26 | assert.label(".test - Simple use cases") 27 | re := new regexp("Lunchtime") 28 | assert.true(re.test("Time is an illusion. Lunchtime doubly so")) 29 | assert.test(re.lastIndex, 22) 30 | 31 | assert.false(re.test("Don't Panic")) 32 | assert.test(re.lastIndex, 0) 33 | 34 | 35 | ; omit 36 | assert.label(".test - correct lastIndex") 37 | string := "Time is an illusion. Lunchtime doubly so" 38 | re := new regexp(" ") 39 | re.test(string) 40 | assert.test(re.lastIndex, 5) 41 | re.test(string) 42 | assert.test(re.lastIndex, 8) 43 | re.test(string) 44 | assert.test(re.lastIndex, 11) 45 | re.test(string) 46 | assert.test(re.lastIndex, 21) 47 | -------------------------------------------------------------------------------- /lib/node_modules/regex.ahk/src/regexp/toString.ahk: -------------------------------------------------------------------------------- 1 | toString() { 2 | flags := "" 3 | if (this.g) { 4 | flags .= "g" 5 | } 6 | if (this.i) { 7 | flags .= "i" 8 | } 9 | if (this.m) { 10 | flags .= "m" 11 | } 12 | return "/" this.pattern "/" flags 13 | } 14 | 15 | 16 | ; tests 17 | re := new regexp("123") 18 | assert.test(re.toString(), "/123/") 19 | 20 | re := new regexp("123", "g") 21 | assert.test(re.toString(), "/123/g") 22 | 23 | 24 | ; omit 25 | re := new regexp("123", "i") 26 | assert.test(re.toString(), "/123/i") 27 | 28 | re := new regexp("123", "m") 29 | assert.test(re.toString(), "/123/m") -------------------------------------------------------------------------------- /lib/numsize.ahk: -------------------------------------------------------------------------------- 1 | NumSize(v){ 2 | return InStr(v,".")||v>4294967295?8:v>65535?4:v>255?2:v>-129?1:v>-32769?2:v>-2147483649?4:8 3 | } -------------------------------------------------------------------------------- /lib/numtype.ahk: -------------------------------------------------------------------------------- 1 | NumType(v){ 2 | return InStr(v,".")?"Double":v>4294967295?"UInt64":v>65535?"UInt":v>255?"UShort":v>-1?"UChar":v>-129?"Char":v>-32769?"Short":v>-2147483649?"Int":"Int64" 3 | } -------------------------------------------------------------------------------- /lib/obj2str.ahk: -------------------------------------------------------------------------------- 1 | /* ___ _ _ ____ __ _ 2 | /___\ |__ (_)___ \/ _\ |_ _ __ 3 | // // '_ \| | __) \ \| __| '__| 4 | / \_//| |_) | |/ __/_\ \ |_| | 5 | \___/ |_.__// |_____\__/\__|_| 6 | 4/17/17 |__/ by errorseven 7 | 8 | What this does: 9 | 10 | Takes an Object/Array and turns it into a string. Maintains exact format, 11 | can easily transfer to other scripts, useful for debugging. 12 | 13 | Example: 14 | 15 | OurObject := {arr:[1, 2, 3] 16 | , text:"Hello, World" 17 | , obj:{1:1, 2:2, 3:3, 5:5}} 18 | 19 | String := Obj2Str(OurObject) 20 | 21 | MsgBox % String 22 | ; String -> {arr:[1, 2, 3], obj:{1:1, 2:2, 3:3, 5:5}, text:"Hello, World"} 23 | 24 | */ 25 | 26 | Obj2Str(obj) { 27 | 28 | Linear := isLinear(obj) 29 | 30 | For e, v in obj { 31 | if (Linear == False) { 32 | if (IsObject(v)) 33 | r .= e ":" Obj2Str(v) ", " 34 | else { 35 | r .= e ":" 36 | if v is number 37 | r .= v ", " 38 | else 39 | r .= """" v """, " 40 | } 41 | } else { 42 | if (IsObject(v)) 43 | r .= Obj2Str(v) ", " 44 | else { 45 | if v is number 46 | r .= v ", " 47 | else 48 | r .= """" v """, " 49 | } 50 | } 51 | } 52 | return Linear ? "[" trim(r, ", ") "]" 53 | : "{" trim(r, ", ") "}" 54 | } 55 | 56 | isLinear(obj) { 57 | 58 | n := obj.count(), i := 1 59 | loop % (n / 2) + 1 60 | if (!obj[i++] || !obj[n--]) 61 | return 0 62 | return 1 63 | } -------------------------------------------------------------------------------- /lib/orderedassociativearray.ahk: -------------------------------------------------------------------------------- 1 | Class OrderedAssociativeArray { 2 | __New() { 3 | ObjRawSet(this, "__Data", {}) 4 | ObjRawSet(this, "__Order", []) 5 | } 6 | 7 | __Get(args*) { 8 | return this.__Data[args*] 9 | } 10 | 11 | __Set(args*) { 12 | key := args[1] 13 | val := args.Pop() 14 | if(args.Length() < 2 && this.__Data.HasKey(key)) { 15 | this.Delete(key) 16 | } 17 | if(!this.__Data.HasKey(key)) { 18 | this.__Order.Push(key) 19 | } 20 | this.__Data[args*] := val 21 | return val 22 | } 23 | 24 | InsertAt(pos, key, val) { 25 | this.__Order.InsertAt(pos, key) 26 | this.__Data[key] := val 27 | } 28 | 29 | RemoveAt(pos) { 30 | val := this.__Data[this.__Order[pos]] 31 | this.__Data.Delete(this.__Order[pos]) 32 | this.__Order.RemoveAt(pos) 33 | return val 34 | } 35 | 36 | Delete(key) { 37 | for i, v in this.__Order { 38 | if(key == v) { 39 | return this.RemoveAt(i) 40 | } 41 | } 42 | } 43 | 44 | Length() { 45 | return this.__Order.Length() 46 | } 47 | 48 | HasKey(key) { 49 | return this.__Data.HasKey(key) 50 | } 51 | 52 | _NewEnum() { 53 | return new OrderedAssociativeArray.Enum(this.__Data, this.__Order) 54 | } 55 | 56 | Class Enum { 57 | __New(Data, Order) { 58 | this.Data := Data 59 | this.oEnum := Order._NewEnum() 60 | } 61 | 62 | Next(ByRef key, ByRef val := "") { 63 | res := this.oEnum.next(, key) 64 | val := this.Data[key] 65 | return res 66 | } 67 | } 68 | } -------------------------------------------------------------------------------- /lib/phasmophobia.ahk: -------------------------------------------------------------------------------- 1 | scriptlog("Initializing Lib\Phasmophobia.ahk...") 2 | #Include %A_LineFile%\..\Phasmophobia\item.ahk 3 | #Include %A_LineFile%\..\Phasmophobia\items.ahk 4 | #Include %A_LineFile%\..\Phasmophobia\loadout.ahk 5 | 6 | GetItemByName(name := "") { 7 | for _i, _item in items { 8 | if (_item.name = name) { 9 | return _item 10 | } 11 | } 12 | return 13 | } 14 | MouseClick(x,y,amount := 1, delay := 5) { 15 | ; scriptlog("clicking x" . x . " y" . y . " " . amount . " times", 0, 0) 16 | Loop % amount { 17 | MouseClick, left , x, y ;, 1 , 0 18 | ; MouseClick, WhichButton [, X, Y, ClickCount, Speed, D|U, R] 19 | Sleep, % delay 20 | } 21 | return 22 | } 23 | AddAllItems() { 24 | sum := 0 25 | for index, el in items { 26 | sum := sum + (el.price * el.max) 27 | el.add(-1) 28 | } 29 | scriptlog("Added all " . items.Count() . " items for $" . sum) 30 | SplashScreen(items.Count() . " items for $" . sum, "Added All Items") 31 | return 32 | } 33 | RemoveAllItems() { 34 | for index, el in items { 35 | el.remove(-1) 36 | } 37 | scriptlog("Removed all " . items.Count() . " items") 38 | SplashScreen(items.Count() . " items", "Removed All Items") 39 | return 40 | } 41 | scriptlog("Initialized Lib\Phasmophobia.ahk...") -------------------------------------------------------------------------------- /lib/phasmophobia/item.ahk: -------------------------------------------------------------------------------- 1 | scriptlog("Initializing Lib\Phasmophobia\item.ahk...") 2 | class Item { 3 | name := "" 4 | column := 0 5 | row := 0 6 | max := 0 7 | price := 0 8 | addx := 0 9 | remx := 0 10 | allx := 0 11 | y := 0 12 | __New(name := "", column := 1, row := 1, max := 0, price := 0) { 13 | this.name := name 14 | this.column := column 15 | this.row := row 16 | this.max := max 17 | this.price := price 18 | this.addx := [805, 1340][this.column] ; CHANGEME 19 | this.remx := this.addx + 40 20 | this.allx := this.remx + 55 21 | this.y := 355 + ((this.row - 1) * 30) ; CHANGEME 22 | scriptlog("Registered item: " . toJson(this)) 23 | } 24 | 25 | add(amount := 1) { 26 | if (amount < 0 || amount >= this.max) { 27 | this.addAll() 28 | } else { 29 | MouseClick(this.addx, this.y, amount) 30 | scriptlog("Added: " . this.name . " " . amount . " times.") 31 | } 32 | } 33 | addAll() { 34 | MouseClick(this.allx, this.y) 35 | scriptlog("Added all: " . this.name . " " . this.max . " times.") 36 | } 37 | remove(amount := 1) { 38 | amount := (amount < 0) ? this.max : amount 39 | MouseClick(this.remx, this.y, amount, 50) 40 | scriptlog("Removed: " . this.name . " " . amount . " times.") 41 | } 42 | } 43 | scriptlog("Initialized Lib\Phasmophobia\item.ahk...") -------------------------------------------------------------------------------- /lib/phasmophobia/items.ahk: -------------------------------------------------------------------------------- 1 | ; x = links -> rechts 2 | ; y = oben -> unten 3 | 4 | scriptlog("Initializing Lib\Phasmophobia\items.ahk...") 5 | global items := [] 6 | ; __New(name := "", column := 1, row := 1, max := 0, price := 0) { 7 | items.push(new Item("EMF Reader", 1, 1, 1, 45 )) 8 | items.push(new Item("Flashlight", 1, 2, 3, 30 )) 9 | items.push(new Item("Photo Camera", 1, 3, 2, 40 )) 10 | items.push(new Item("Lighter", 1, 4, 2, 10 )) 11 | items.push(new Item("Candle", 1, 5, 4, 15 )) 12 | items.push(new Item("UV Light", 1, 6, 1, 35 )) 13 | items.push(new Item("Crucifix", 1, 7, 2, 30 )) 14 | items.push(new Item("Video Camera", 1, 8, 5, 50 )) 15 | items.push(new Item("Spirit Box", 1, 9, 1, 50 )) 16 | items.push(new Item("Salt", 1, 10, 2, 15 )) 17 | items.push(new Item("Smudge Sticks", 1, 11, 4, 15 )) 18 | items.push(new Item("Tripod", 1, 12, 5, 25 )) 19 | items.push(new Item("Strong Flashlight", 1, 13, 4, 50 )) 20 | items.push(new Item("Motion Sensor", 1, 14, 4, 100)) 21 | items.push(new Item("Audio Sensor", 1, 15, 4, 80 )) 22 | 23 | items.push(new Item("Thermometer", 2, 1, 3, 30 )) 24 | items.push(new Item("Sanity Pills", 2, 2, 4, 45 )) 25 | items.push(new Item("Ghost Writing Book", 2, 3, 1, 40 )) 26 | items.push(new Item("Infrared Light Sensor", 2, 4, 4, 65 )) 27 | items.push(new Item("Parabolic Microphone", 2, 5, 2, 50 )) 28 | items.push(new Item("Glowstick", 2, 6, 2, 20 )) 29 | items.push(new Item("Head Mounted Camera", 2, 7, 4, 60 )) 30 | scriptlog("Initialized Lib\Phasmophobia\items.ahk...") -------------------------------------------------------------------------------- /lib/phasmophobia/loadout.ahk: -------------------------------------------------------------------------------- 1 | scriptlog("Initializing Lib\Phasmophobia\loadout.ahk...") 2 | class LoadoutItem { 3 | item := "" 4 | count := 0 5 | __New(name := "", count := 1) { 6 | this.item := GetItemByName(name) 7 | this.count := count 8 | } 9 | add() { 10 | this.item.add(this.count) 11 | } 12 | } 13 | class Loadout { 14 | name := "" 15 | items := [] 16 | __New(name, items) { 17 | this.name := name 18 | this.items := items 19 | } 20 | apply() { 21 | sum := 0 22 | count := 0 23 | for i, el in this.items { 24 | el.add() 25 | sum := sum + (el.item.price * el.count) 26 | count++ 27 | } 28 | scriptlog("Applied loadout " . this.name " (" count . " Items | $" . sum . ")") 29 | SplashScreen(count . " Items | $" . sum, "Applied loadout " . this.name) 30 | } 31 | } 32 | scriptlog("Initialized Lib\Phasmophobia\loadout.ahk...") -------------------------------------------------------------------------------- /lib/shadow.ahk: -------------------------------------------------------------------------------- 1 | class Channel { 2 | name := "" 3 | file := new File() 4 | window := new Window() 5 | process := new process() 6 | setup_filename := "" 7 | installed := false 8 | urls := {} 9 | 10 | __New(name, folder, file, setup_filename) { 11 | this.name := name 12 | EnvGet, locappdata, LOCALAPPDATA 13 | locappdata := new Directory(locappdata) 14 | this.file := locappdata.combineFile("Programs", folder, file) 15 | this.window := new Window("Shadow", "Shadow-Window-Class", file.fullname) 16 | this.process := this.file.fullname 17 | this.setup_filename := setup_filename 18 | this.installed := FileExist(this.file.path) ? true : false 19 | this.urls["x64"] := this.url("x64") 20 | this.urls["x86"] := this.url("x86") 21 | scriptlog("New Channel: " . ToJson(this, false)) 22 | } 23 | url(arch) { 24 | return "https://update.shadow.tech/launcher/" . this.name . "/win/" . arch . "/" . this.setup_filename 25 | } 26 | install(arch) { 27 | scriptlog("Installing " . this.setup_filename . " " . arch) 28 | new Url(this.url(arch)).download().run(true) 29 | scriptlog("Installed " . this.setup_filename . " " . arch) 30 | } 31 | } -------------------------------------------------------------------------------- /lib/staticvar.ahk: -------------------------------------------------------------------------------- 1 | StaticVar(name,func){ 2 | if (fun:=FindFunc(func))&&mVar:=(f:=Struct("ScriptStruct(Func)",fun)).mStaticVar 3 | Loop f.mStaticVarCount 4 | If (var:=mVar[A_Index]).mName = name 5 | return var 6 | return [] 7 | } -------------------------------------------------------------------------------- /lib/steamkeys.ahk: -------------------------------------------------------------------------------- 1 | #Include 2 | 3 | #SingleInstance, Force 4 | #NoTrayIcon 5 | #NoEnv 6 | #Persistent 7 | SetBatchLines, -1 8 | SetWorkingDir, % A_ScriptDir 9 | ; 10 | global pattern := "((?![^0-9]{12,}|[^A-z]{12,})([A-z0-9]{4,5}-?[A-z0-9]{4,5}-?[A-z0-9]{4,5}(-?[A-z0-9]{4,5}(-?[A-z0-9]{4,5})?)?))" 11 | global lastclip := "" 12 | OnClipboardChange("ClipChanged") 13 | return 14 | 15 | ClipChanged(Type) { 16 | global lastclip 17 | global pattern 18 | if (clipboard == lastclip) Return 19 | lastclip := clipboard 20 | RegExMatch(clipboard, , key) 21 | While (Pos := RegExMatch(Str, pattern, M, Pos + StrLen(M))) ; 22 | ; if (key == "") Return 23 | MsgBox % M1 24 | } -------------------------------------------------------------------------------- /lib/winapidef.ahk: -------------------------------------------------------------------------------- 1 | WinApiDef(def){ 2 | static buf,init:=UnZipRawMemory(LoadResource(handle:=GetModuleHandle(A_DllPath),res:=FindResource(handle,"C974C3B7677A402D93B047DA402587C7",10)),SizeOfResource(handle,res),buf),list:=StrGet(&buf,"UTF-8") 3 | defpos:=InStr(list,"\" def)+1, dllpos:=InStr(list,A_Tab,1,defpos)+1 4 | If SubStr(list,defpos+StrLen(def),1)="," 5 | return SubStr(list,dllpos,InStr(list,"\",1,dllpos)-dllpos+1) SubStr(list,defpos,InStr(list,"\",1,defpos+1)-defpos) 6 | } -------------------------------------------------------------------------------- /lib/yunit/stdout.ahk: -------------------------------------------------------------------------------- 1 | class YunitStdOut 2 | { 3 | Update(Category, Test, Result) ;wip: this only supports one level of nesting? 4 | { 5 | if IsObject(Result) 6 | { 7 | Details := " at line " Result.Line " " Result.Message 8 | Status := "FAIL" 9 | } 10 | else 11 | { 12 | Details := "" 13 | Status := "PASS" 14 | } 15 | FileAppend, %Status%: %Category%.%Test% %Details%`n, * 16 | } 17 | } -------------------------------------------------------------------------------- /readme.md: -------------------------------------------------------------------------------- 1 | # ahk-scripts 2 | 3 | Collection of Scripts for AutoHotKey 4 | -------------------------------------------------------------------------------- /renovate.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": [ 3 | "config:base" 4 | ] 5 | } 6 | -------------------------------------------------------------------------------- /scripts/ControlColor.ahk: -------------------------------------------------------------------------------- 1 | ; http://www.autohotkey.com/board/topic/104539-controlcol-set-background-and-text-color-gui-controls/ 2 | 3 | ControlColor(Control, Window, bc := "", tc := "", Redraw := 1) { 4 | a := {} 5 | a["c"] := Control 6 | a["g"] := Window 7 | a["bc"] := (bc = "") ? "" : (((bc & 255) << 16) + (((bc >> 8) & 255) << 8) + (bc >> 16)) 8 | a["tc"] := (tc = "") ? "" : (((tc & 255) << 16) + (((tc >> 8) & 255) << 8) + (tc >> 16)) 9 | CC_WindowProc("Set", a, "", "") 10 | If (Redraw) { 11 | WinSet Redraw,, ahk_id %Control% 12 | } 13 | } 14 | 15 | CC_WindowProc(hWnd, uMsg, wParam, lParam) { 16 | Static Win := {} 17 | 18 | If uMsg Between 0x132 And 0x138 19 | If (Win[hWnd].HasKey(lParam)) { 20 | If (tc := Win[hWnd, lParam, "tc"]) { 21 | DllCall("gdi32.dll\SetTextColor", "Ptr", wParam, "UInt", tc) 22 | } 23 | If (bc := Win[hWnd, lParam, "bc"]) { 24 | DllCall("gdi32.dll\SetBkColor", "Ptr", wParam, "UInt", bc) 25 | } 26 | Return Win[hWnd, lParam, "Brush"] ; Return the HBRUSH to notify the OS that we altered the HDC. 27 | } 28 | 29 | If (hWnd = "Set") { 30 | a := uMsg 31 | Win[a.g, a.c] := a 32 | If (Win[a.g, a.c, "tc"] == "") And (Win[a.g, a.c, "bc"] == "") 33 | Win[a.g].Remove(a.c, "") 34 | If Not Win[a.g, "WindowProcOld"] 35 | Win[a.g,"WindowProcOld"] := DllCall("SetWindowLong" . (A_PtrSize == 8 ? "Ptr" : "") 36 | , "Ptr", a.g, "Int", -4, "Ptr", RegisterCallback("CC_WindowProc", "", 4), "UPtr") 37 | If Win[a.g, a.c, "Brush"] 38 | DllCall("gdi32.dll\DeleteObject", "Ptr", Brush) 39 | If (Win[a.g, a.c, "bc"] != "") 40 | Win[a.g, a.c, "Brush"] := DllCall("gdi32.dll\CreateSolidBrush", "UInt", a.bc, "UPtr") 41 | Return 42 | } 43 | Return DllCall("CallWindowProc", "Ptr", Win[hWnd, "WindowProcOld"], "Ptr", hWnd, "UInt", uMsg, "Ptr", wParam, "Ptr", lParam, "Ptr") 44 | } 45 | -------------------------------------------------------------------------------- /scripts/Empty.ahk: -------------------------------------------------------------------------------- 1 | #SingleInstance Force 2 | #NoEnv 3 | ; #NoTrayIcon 4 | #Persistent 5 | #KeyHistory 500 6 | #InstallKeybdHook 7 | #InstallMouseHook 8 | #Include 9 | ; EnforceAdmin() 10 | global noui = false -------------------------------------------------------------------------------- /scripts/IndexOfIconResource.ahk: -------------------------------------------------------------------------------- 1 | MsgBox % IndexOfIconResource("powrprof.dll", 0) ; 78 on Windows 7 2 | 3 | IndexOfIconResource(Filename, ID) 4 | { 5 | hmod := DllCall("GetModuleHandle", "str", Filename, "ptr") 6 | ; If the DLL isn't already loaded, load it as a data file. 7 | loaded := !hmod 8 | && hmod := DllCall("LoadLibraryEx", "str", Filename, "ptr", 0, "uint", 0x2, "ptr") 9 | 10 | enumproc := RegisterCallback("IndexOfIconResource_EnumIconResources","F") 11 | param := {ID: ID, index: 0, result: 0} 12 | 13 | ; Enumerate the icon group resources. (RT_GROUP_ICON=14) 14 | DllCall("EnumResourceNames", "ptr", hmod, "ptr", 14, "ptr", enumproc, "ptr", ¶m) 15 | DllCall("GlobalFree", "ptr", enumproc) 16 | 17 | ; If we loaded the DLL, free it now. 18 | if loaded 19 | DllCall("FreeLibrary", "ptr", hmod) 20 | 21 | return param.result 22 | } 23 | 24 | IndexOfIconResource_EnumIconResources(hModule, lpszType, lpszName, lParam) 25 | { 26 | param := Object(lParam) 27 | param.index += 1 28 | 29 | OutputDebug % "Checking icon resource: " lpszName " (index: " param.index ")" 30 | 31 | if (lpszName = param.ID) 32 | { 33 | param.result := param.index 34 | return false ; break 35 | } 36 | return true 37 | } -------------------------------------------------------------------------------- /scripts/JustCause.ahk: -------------------------------------------------------------------------------- 1 | #SingleInstance Force 2 | #NoEnv 3 | SetWorkingDir %A_ScriptDir% 4 | SetBatchLines -1 5 | DetectHiddenWindows On 6 | #Include 7 | global noui := false 8 | 9 | F2::SendConsoleCommand("spawn v251_helicopter_rocketdrone_rebel") 10 | F3::SendConsoleCommand("spawn v250_helicopter_mediumattackdrone_rebel") 11 | F4::SendConsoleCommand("spawn v252_helicopter_suicidedrone_rebel") 12 | F5::SendConsoleCommand("spawn v253_helicopter_decoydrone_rebel") 13 | F6::SendConsoleCommand("spawn v254_helicopter_guarddrone_rebel") 14 | F7::SendConsoleCommand("spawn v270_helicopter_agencydrone_rebel") 15 | 16 | Numpad1::SendConsoleCommand("spawn v802_treaded_aatank_rebel") 17 | Numpad2::SendConsoleCommand("spawn v012_car_apc_rebel_01") 18 | Numpad3::SendConsoleCommand("spawn v013_car_armoredtransport_rebel_01") 19 | Numpad6::SendConsoleCommand("spawn v027_car_hurricanetruck_civilian") 20 | 21 | Numpad4::SendConsoleCommand("spawn v202_helicopter_heavytroop_rebel_01") 22 | Numpad5::SendConsoleCommand("spawn v204_helicopter_heavyassault_rebel_01") 23 | 24 | Numpad7::SendConsoleCommand("spawn gabriela") 25 | Numpad8::SendConsoleCommand("spawn sniper_enemy_001") 26 | Numpad9::SendConsoleCommand("spawn rpg_enemy_001") 27 | 28 | 29 | ; NumpadDot::SendConsoleCommand("spawn v259_helicopter_rescue_rebel") 30 | ; NumpadAdd::SendConsoleCommand("spawn v261_helicopter_lighttransport_rebel") 31 | ; NumpadSub::SendConsoleCommand("spawn v262_helicopter_lightsniper_rebel") 32 | ; NumpadMult::SendConsoleCommand("spawn v263_helicopter_lightheavy_rebel") 33 | ; NumpadDiv::SendConsoleCommand("spawn v264_helicopter_lighttransportvip_rebel") 34 | ; NumpadEnter::SendConsoleCommand("spawn v271_helicopter_agencyheavy_rebel") 35 | 36 | 37 | SendConsoleCommand(message) { 38 | SendInput {F1} 39 | Sleep 10 40 | SendInput % message 41 | Sleep 10 42 | SendInput {Enter} 43 | Return 44 | } 45 | -------------------------------------------------------------------------------- /scripts/SendTest.ahk: -------------------------------------------------------------------------------- 1 | ^a:: ; Strg + A 2 | ; Methode 1: Send 3 | Send, IhrTextHier 4 | if (MsgBox, "Hat die Methode Send funktioniert?") = "Yes" 5 | { 6 | MsgBox, 0x40000, "Send", % "Send, IhrTextHier" 7 | ExitApp 8 | } 9 | ; Methode 2: SendInput 10 | SendInput, IhrTextHier 11 | if (MsgBox, "Hat die Methode SendInput funktioniert?") = "Yes" 12 | { 13 | MsgBox, 0x40000, "SendInput", % "SendInput, IhrTextHier" 14 | ExitApp 15 | } 16 | ; Methode 3: ControlSend 17 | WinGet, active_id, ID, A 18 | ControlSend,, IhrTextHier, ahk_id %active_id% 19 | if (MsgBox, "Hat die Methode ControlSend funktioniert?") = "Yes" 20 | { 21 | MsgBox, 0x40000, "ControlSend", % "ControlSend,, IhrTextHier, ahk_id %active_id%" 22 | } 23 | ; Methode 4: SendMessage 24 | SendMessage, 0x0102, 0, IhrTextHier,, A ; WM_SETTEXT = 0x0102 25 | if (MsgBox, "Hat die Methode SendMessage funktioniert?") = "Yes" 26 | { 27 | MsgBox, 0x40000, "SendMessage", % "SendMessage, 0x0102, 0, IhrTextHier,, A" 28 | ExitApp 29 | } 30 | ; Methode 5: PostMessage 31 | PostMessage, 0x0102, 0, IhrTextHier,, A ; WM_SETTEXT = 0x0102 32 | if (MsgBox, "Hat die Methode PostMessage funktioniert?") = "Yes" 33 | { 34 | MsgBox, 0x40000, "PostMessage", % "PostMessage, 0x0102, 0, IhrTextHier,, A" 35 | ExitApp 36 | } 37 | if not A_IsAdmin 38 | { 39 | Run *RunAs "%A_ScriptFullPath%" 40 | ExitApp 41 | } 42 | return 43 | -------------------------------------------------------------------------------- /scripts/ToggleMouseCursor.ahk: -------------------------------------------------------------------------------- 1 | #NoEnv 2 | #Persistent 3 | #SingleInstance, Force 4 | 5 | cursorIsVisible := true 6 | 7 | F1:: 8 | cursorIsVisible := !cursorIsVisible 9 | if (cursorIsVisible) 10 | { 11 | ToolTip, Cursor is now visible 12 | SystemCursor("On") 13 | } 14 | else 15 | { 16 | ToolTip, Cursor is now hidden 17 | SystemCursor("Off") 18 | } 19 | SetTimer, RemoveToolTip, 2000 20 | return 21 | 22 | RemoveToolTip: 23 | SetTimer, RemoveToolTip, Off 24 | ToolTip 25 | return 26 | 27 | SystemCursor(OnOff=1) ; INIT = "I","Init"; OFF = 0,"Off"; TOGGLE = -1,"T","Toggle"; ON = others 28 | { 29 | static AndMask, XorMask, $, h_cursor 30 | ,c0,c1,c2,c3,c4,c5,c6,c7,c8,c9,c10,c11,c12,c13 ; system cursors 31 | , b1,b2,b3,b4,b5,b6,b7,b8,b9,b10,b11,b12,b13 ; blank cursors 32 | , h1,h2,h3,h4,h5,h6,h7,h8,h9,h10,h11,h12,h13 ; handles of default cursors 33 | 34 | if (OnOff = "Init" or OnOff = "I" or $ = "") ; init when requested or at first call 35 | { 36 | $ = h ; active default cursors 37 | VarSetCapacity( h_cursor,4444, 1 ) 38 | VarSetCapacity( AndMask, 32*4, 0xFF ) 39 | VarSetCapacity( XorMask, 32*4, 0 ) 40 | system_cursors = 32512,32513,32514,32515,32516,32642,32643,32644,32645,32646,32648,32649,32650 41 | StringSplit c, system_cursors, `, 42 | Loop %c0% 43 | { 44 | h_cursor := DllCall( "LoadCursor", "uint",0, "uint",c%A_Index% ) 45 | h%A_Index% := DllCall( "CopyImage", "uint",h_cursor, "uint",2, "int",0, "int",0, "uint",0 ) 46 | b%A_Index% := DllCall("CreateCursor","uint",0, "int",0, "int",0 47 | , "int",32, "int",32, "uint",&AndMask, "uint",&XorMask ) 48 | } 49 | } 50 | 51 | if (OnOff = 0 or OnOff = "Off" or $ = "h" and (OnOff < 0 or OnOff = "Toggle" or OnOff = "T")) 52 | $ = b ; use blank cursors 53 | else 54 | $ = h ; use the saved cursors 55 | 56 | Loop %c0% 57 | { 58 | h_cursor := DllCall( "CopyImage", "uint",%$%%A_Index%, "uint",2, "int",0, "int",0, "uint",0 ) 59 | DllCall( "SetSystemCursor", "uint",h_cursor, "uint",c%A_Index% ) 60 | } 61 | } 62 | -------------------------------------------------------------------------------- /scripts/TrayIcon.ahk: -------------------------------------------------------------------------------- 1 | #NoEnv ; Recommended for performance and compatibility with future AutoHotkey releases. 2 | SendMode Input ; Recommended for new scripts due to its superior speed and reliability. 3 | 4 | ; This script assumes that TrayIcon.ahk is in one of your library locations: 5 | ; %A_ScriptDir%\Lib\ ; Local library - requires v1.0.90+. 6 | ; %A_MyDocuments%\AutoHotkey\Lib\ ; User library. 7 | ; path-to-the-currently-running-AutoHotkey.exe\Lib\ ; Standard library. 8 | ; If not in any of those, then add an #Include at the top pointing to the file. 9 | #Include 10 | 11 | ; Create a ListView to display the list of info gathered 12 | Gui Add, ListView, Grid r30 w700 Sort, Process|Tooltip|Visible|Handle 13 | 14 | ; Get all of the icons in the system tray using Sean's TrayIcon library 15 | oIcons := TrayIcon_GetInfo() 16 | 17 | ; Loop through the info we obtained and add it to the ListView 18 | Loop, % oIcons.MaxIndex() 19 | { 20 | proc := oIcons[A_Index].Process 21 | ttip := oIcons[A_Index].tooltip 22 | tray := oIcons[A_Index].Tray 23 | hWnd := oIcons[A_Index].hWnd 24 | 25 | vis := (tray == "Shell_TrayWnd") ? "Yes" : "No" 26 | 27 | LV_Add(, proc, ttip, vis, hWnd) 28 | } 29 | 30 | LV_ModifyCol() 31 | LV_ModifyCol(3, "AutoHdr") ; Auto-size the 3rd column, taking into account the header's text 32 | 33 | Gui Show, Center, System Tray Icons 34 | Return 35 | 36 | GuiEscape: 37 | GuiClose: 38 | ExitApp -------------------------------------------------------------------------------- /scripts/accpush.ahk: -------------------------------------------------------------------------------- 1 | #NoEnv 2 | #SingleInstance, Force 3 | SendMode, Input 4 | SetBatchLines, -1 5 | SetWorkingDir, %A_ScriptDir% 6 | #Include 7 | EnforceAdmin() 8 | global noui := false 9 | #INCLUDE 10 | 11 | ; Direct SIM unlock ; TsBitBtn6 ; 4 ; Press ; push button 12 | 13 | c:: 14 | WinGet, hWnd, ID, A 15 | oAcc := Acc_Get("Object", "4", 0, "ahk_id " hWnd) 16 | oAcc.accDoDefaultAction(0) 17 | Return -------------------------------------------------------------------------------- /scripts/acctest.ahk: -------------------------------------------------------------------------------- 1 | #SingleInstance, force 2 | #Include 3 | EnforceAdmin() 4 | global noui := false 5 | #INCLUDE 6 | global mytitle := new Window("Win32 Disk Imager - 1.0", "Qt5QWindowIcon", "Win32DiskImager.exe").str() 7 | scriptlog(mytitle) 8 | loops := 5 9 | Loop, %loops% { 10 | i := A_Index-1 11 | printName(i, mytitle) 12 | Loop, % loops / 2 { 13 | ii := i "." . A_Index-1 14 | printName(ii, mytitle) 15 | Loop, % loops / 3 { 16 | iii := ii "." . A_Index-1 17 | printName(iii, mytitle) 18 | Loop, % loops / 4 { 19 | iiii := iii "." . A_Index-1 20 | printName(iiii, mytitle) 21 | } 22 | } 23 | } 24 | } 25 | return 26 | printName(index, mytitle) { 27 | name := Acc_Get("Name", index, 0, mytitle) 28 | if (name != "") { 29 | role := Acc_Get("Role", index, 0, mytitle) 30 | scriptlog(index . " | name: " . name . " | role: " . role . " | error: " . ErrorLevel . " | title: " . mytitle) 31 | } 32 | } -------------------------------------------------------------------------------- /scripts/ahk-studio backup/binds.ahk/20200429011815/binds.ahk: -------------------------------------------------------------------------------- 1 | #Include 2 | #SingleInstance Force 3 | #NoEnv 4 | ; #NoTrayIcon 5 | #Persistent 6 | SetWorkingDir %A_ScriptDir% 7 | Process Priority,, Low 8 | 9 | games := [] 10 | 11 | games.push( { "scpcb": { "window": new Window("", "Blitz Runtime Class", "") }, "open_console_key": "{F3}" } ) 12 | 13 | IfWinActive(games["scpcb"]["window"].title()) 14 | :*:v::{F3}noclip{Enter} ; k5 SE -------------------------------------------------------------------------------- /scripts/ahk-studio backup/binds.ahk/20200429011820/binds.ahk: -------------------------------------------------------------------------------- 1 | #Include 2 | #SingleInstance Force 3 | #NoEnv 4 | ; #NoTrayIcon 5 | #Persistent 6 | SetWorkingDir %A_ScriptDir% 7 | Process Priority,, Low 8 | 9 | games := [] 10 | 11 | games.push( { 12 | "scpcb": { 13 | "window": new Window("", "Blitz Runtime Class", "") }, 14 | "open_console_key": "{F3}" 15 | } 16 | ) 17 | title := games["scpcb"]["window"].title() 18 | IfWinActive() 19 | :*:v::{F3}noclip{Enter} ; k5 SE -------------------------------------------------------------------------------- /scripts/ahk-studio backup/binds.ahk/20200429012329/binds.ahk: -------------------------------------------------------------------------------- 1 | #Include 2 | #SingleInstance Force 3 | #NoEnv 4 | ; #NoTrayIcon 5 | #Persistent 6 | SetWorkingDir %A_ScriptDir% 7 | Process Priority,, Low 8 | 9 | games := [] 10 | 11 | games.push( { 12 | "scpcb": { 13 | "window": new Window("", "Blitz Runtime Class", "") }, 14 | "open_console_key": "{F3}" 15 | } 16 | ) 17 | title := games["scpcb"]["window"].title() 18 | #IfWinActive % title 19 | :*:v::{F3}noclip{Enter} ; k5 SE -------------------------------------------------------------------------------- /scripts/ahk-studio backup/dynamichotkeys.ahk/20200429012329/dynamichotkeys.ahk: -------------------------------------------------------------------------------- 1 | ;if not A_IsAdmin 2 | ;{ 3 | ; Run *RunAs "%A_ScriptFullPath%" 4 | ; ExitApp 5 | ;} 6 | #NoEnv 7 | ;#Warn 8 | SendMode Input 9 | SetWorkingDir %A_ScriptDir% 10 | ;#SingleInstance, Force 11 | ;#NoTrayIcon 12 | ;SetBatchLines, -1 13 | ;Process, Priority,, High 14 | ;RETURN -------------------------------------------------------------------------------- /scripts/ahk-studio backup/table.ahk/20200429013915/table.ahk: -------------------------------------------------------------------------------- 1 | ;if not A_IsAdmin 2 | ;{ 3 | ; Run *RunAs "%A_ScriptFullPath%" 4 | ; ExitApp 5 | ;} 6 | #NoEnv 7 | ;#Warn 8 | SendMode Input 9 | SetWorkingDir %A_ScriptDir% 10 | ;#SingleInstance, Force 11 | ;#NoTrayIcon 12 | ;SetBatchLines, -1 13 | ;Process, Priority,, High 14 | ;RETURN -------------------------------------------------------------------------------- /scripts/ahk-studio backup/table.ahk/20200429013928/table.ahk: -------------------------------------------------------------------------------- 1 | mylist = 2 | ( 3 | John,Lennon,1940,rythm guitar 4 | Paul,McCartney,1942,bass guitar 5 | George,Harrison,1943,solo guitar 6 | Ringo,Star,1940,drums 7 | ) 8 | 9 | Gui, Color, EEAA99 10 | gui, font, s20, Verdana 11 | Gui, Add, ListView, Grid -ReadOnly, Name|Last Name|Year of birth|Instrument 12 | Gui, Add, button, gexit, Exit 13 | 14 | 15 | loop, parse, mylist, `n 16 | { 17 | row := A_LoopField 18 | gosub, thinner 19 | } 20 | gosub, show 21 | return 22 | 23 | thinner: 24 | loop, parse, row, `, 25 | { 26 | ;msgbox % A_LoopField 27 | box%A_Index% := A_LoopField 28 | } 29 | ;msgbox % "boxes are:`n" . box1 . box2 . box3 . box4 30 | LV_Add("", box1, box2, box3, box4) 31 | return 32 | 33 | show: 34 | LV_ModifyCol() 35 | LV_ModifyCol(2, "AutoHdr") 36 | LV_ModifyCol(3, "AutoHdr Center") 37 | Gui, Show, resize, The Beatles 38 | return 39 | 40 | esc:: 41 | exitapp 42 | 43 | GuiClose: 44 | ExitApp 45 | 46 | exit: 47 | exitapp -------------------------------------------------------------------------------- /scripts/ahk-studio backup/table.ahk/20200429013943/table.ahk: -------------------------------------------------------------------------------- 1 | mylist = 2 | ( 3 | John,Lennon,1940,rythm guitar 4 | Paul,McCartney,1942,bass guitar 5 | George,Harrison,1943,solo guitar 6 | Ringo,Star,1940,drums 7 | ) 8 | 9 | Gui, Color, EEAA99 10 | gui, font, s20, Verdana 11 | Gui, Add, ListView, Grid -ReadOnly, Name|Last Name|Year of birth|Instrument 12 | Gui, Add, button, gexit, Exit 13 | 14 | 15 | loop, parse, mylist, `n 16 | { 17 | row := A_LoopField 18 | gosub, thinner 19 | } 20 | gosub, show 21 | return 22 | 23 | thinner: 24 | loop, parse, row, `, 25 | { 26 | ;msgbox % A_LoopField 27 | box%A_Index% := A_LoopField 28 | } 29 | ;msgbox % "boxes are:`n" . box1 . box2 . box3 . box4 30 | LV_Add("", box1, box2, box3, box4) 31 | return 32 | 33 | show: 34 | [color=red]LV_ModifyCol(1,100) 35 | LV_ModifyCol(2,100) 36 | LV_ModifyCol(3,100) 37 | LV_ModifyCol(4,100)[/color] 38 | LV_ModifyCol(2, "AutoHdr") 39 | LV_ModifyCol(3, "AutoHdr Center") 40 | Gui, Show, resize, The Beatles 41 | return 42 | 43 | esc:: 44 | exitapp 45 | 46 | GuiClose: 47 | ExitApp 48 | 49 | exit: 50 | exitapp -------------------------------------------------------------------------------- /scripts/antiafk.ahk: -------------------------------------------------------------------------------- 1 | #SingleInstance, Force 2 | ; #NoTrayIcon 3 | #NoEnv 4 | #Persistent 5 | SetBatchLines, -1 6 | SetWorkingDir, % A_ScriptDir 7 | #Include 8 | EnforceAdmin() 9 | 10 | ; min_idle_seconds := 30 * 1000 11 | timer_interval_seconds := 9 ; 1140000 ; wait 19 minutes (19 * 60 * 1000) 12 | ; sleep_between_moves_ms := 0 13 | 14 | 15 | ; SetTimer, runChecks, % timer_interval_seconds 16 | 17 | ; runChecks() { 18 | ; if (A_TimeIdle > min_idle_seconds) { 19 | ; MouseGetPos, OldX, OldY 20 | ; MouseMove, OldX+1, OldY 21 | ; Sleep, % sleep_between_moves_ms 22 | ; MouseMove, OldX, OldY 23 | ; } 24 | ; } 25 | 26 | LoopActive := false ; initialize loop state to false 27 | LoopWindow := "" ; initialize loop window title to empty string 28 | LoopToggleHotkey := F1 ; set hotkey to toggle loop state 29 | LoopNotification := "AntiAFK loop is " ; set notification text 30 | 31 | LoopNotify(state) { ; function to display loop state notification 32 | scriptlog(%LoopNotification%%state%) 33 | ; SplashScreen("AntiAFK ".state) ; ToJson(LoopWindow) 34 | ; ShowToolTip(%LoopNotification%%state%) 35 | } 36 | 37 | LoopToggle() { ; function to toggle loop state 38 | LoopActive := !LoopActive ; toggle loop state 39 | if (LoopActive) { 40 | WinGet, LoopWindow, ID, A ; set loop window to active window 41 | LoopNotify("ON") ; display loop activated notification 42 | Loop() 43 | } else { 44 | LoopWindow := "" ; reset loop window 45 | LoopNotify("OFF") ; display loop deactivated notification 46 | } 47 | } 48 | 49 | Loop() { 50 | while (LoopActive) { 51 | WinActivate, %LoopWindow% 52 | SendInput, {Space} 53 | WinActivate, A 54 | Sleep, % timer_interval_seconds 55 | } 56 | } 57 | 58 | ; set hotkey to toggle loop state 59 | F1::LoopToggle() 60 | 61 | ; display initial loop state notification 62 | LoopNotify("OFF") 63 | -------------------------------------------------------------------------------- /scripts/asf_test.ahk: -------------------------------------------------------------------------------- 1 | #Include 2 | #Include 3 | #SingleInstance, Force 4 | #Warn 5 | 6 | _asf := new ASF() 7 | txt := [ _asf.getBotByNickname("blu").data.botname] 8 | ; txt.Push(_asf.getBotByNickname("red").data.botname) 9 | ; txt.Push(_asf.getBotById(76561198022446661).cfg.password) 10 | ; txt.Push(_asf.getBotById(76561198022446661).get2FACode()) 11 | ; txt.Push(_asf.customCommand("playnite_licensedates")) 12 | ; txt.Push(_asf.customCommand("addlicense asf 486740")) 13 | txt.Push(toJson(_asf.addLicense([1, 486740]))) 14 | txt.Push(toJson(_asf.addLicense(486740))) 15 | MsgBox % "`n".join(txt) 16 | ExitApp 17 | MsgBox % toJson(asf.get2FACode()) 18 | MsgBox % asf.get2FACode(asf.logins.accounts[1].botname) 19 | MsgBox % toJson(asf.getRedeemedKeys()) 20 | MsgBox % toJson(asf.getRedeemedKeysRaw()) 21 | 22 | Return 23 | 24 | void= 25 | ( 26 | run, Notepad.exe,,, notePadPID 27 | WinWait, ahk_pid %notepadPID% 28 | WinActivate, ahk_pid %notepadPID% 29 | paste("`n".join(GuessSteamKey("1?B2C-D3FGH-456I?"))) 30 | ExitApp 31 | Get2FACodes() { 32 | 33 | } 34 | ) -------------------------------------------------------------------------------- /scripts/audio.ahk: -------------------------------------------------------------------------------- 1 | #Include 2 | #Include 3 | #SingleInstance, force 4 | global no_ui = false 5 | scriptlog("start") 6 | OnExit("ExitFunc") 7 | bool := false 8 | ; devices := VA_GetDevices(100) 9 | ; scriptlog(devices) 10 | ; for name, device in devices { 11 | ; scriptlog(name . " | " . device) 12 | ; } 13 | processes = [ new Process("voicemeeter8.exe")] 14 | vm_devices := [ VA_GetDevice("VoiceMeeter Input"), VA_GetDevice("VoiceMeeter Aux Input"), VA_GetDevice("VoiceMeeter VAIO3 Input"), VA_GetDevice("VoiceMeeter Output"), VA_GetDevice("VoiceMeeter Aux Output"), VA_GetDevice("VoiceMeeter VAIO3 Output") ] 15 | for i, device in vm_devices { 16 | scriptlog(device . ": " . VA_GetDeviceName(device)) 17 | } 18 | 19 | 20 | SetTimer, runChecks, 1000 21 | Return 22 | ^s::VA_PlaybackDeviceState(device, bool := !bool) 23 | 24 | runChecks: 25 | for i, process in processes { 26 | exists := process.exists() 27 | if (exists and !bool) { 28 | bool := true 29 | toggleAll(devices, true) 30 | return 31 | } else if (!exists and bool) { 32 | bool := false 33 | toggleAll(devices, false) 34 | return 35 | } 36 | } 37 | return 38 | 39 | toggleAll(devices, state) { 40 | for i, device in devices { 41 | VA_PlaybackDeviceState(device, state) 42 | } 43 | } 44 | 45 | ExitFunc(ExitReason, ExitCode){ 46 | Global device 47 | ObjRelease(device) 48 | } -------------------------------------------------------------------------------- /scripts/aurora.ahk: -------------------------------------------------------------------------------- 1 | #Include 2 | #SingleInstance, Force 3 | #NoTrayIcon 4 | #Persistent 5 | #NoEnv 6 | 7 | global ghub := new Window("Logitech G HUB", "Chrome_WidgetWin_1", "lghub.exe") 8 | global aurora := new Window("Aurora", "HwndWrapper[Aurora.exe;;9846a0d7-58e7-4561-8a43-ba42ed696eba]", "Aurora.exe") 9 | global cpu_percent_max := 80 10 | 11 | global aurora_suspended := false 12 | 13 | ; SetTimer, runChecks, 1000 14 | 15 | ; Return 16 | 17 | ; while(true) { 18 | runChecks() { 19 | pid_ghub := ProcessExists(ghub.exe) 20 | pid_aurora := ProcessExists(aurora.exe) 21 | if (pid_ghub && pid_aurora) { 22 | cpu_percent := CPULoad() 23 | if (!aurora_suspended) { 24 | if (cpu_percent > cpu_percent_max) { 25 | Sleep 5000 26 | if (CPULoad() > cpu_percent_max) { 27 | SuspendAurora(pid_aurora) 28 | } 29 | } 30 | ; scriptlog("CPU: " . cpu_percent . "%") 31 | } else if (aurora_suspended) { 32 | if (cpu_percent < cpu_percent_max) { 33 | Sleep 5000 34 | if (CPULoad() < cpu_percent_max) { 35 | SuspendAurora(pid_aurora, true) 36 | } 37 | } 38 | } 39 | } else if (pid_ghub) { 40 | Sleep 15000 41 | Run, "C:\Program Files\Aurora\Aurora.exe" -silent 42 | } 43 | Sleep 1000 44 | } 45 | SuspendAurora(pid, resume = false) { 46 | ; scriptlog(aurora_suspended) 47 | ; scriptlog(!resume) 48 | aurora_suspended := !resume 49 | ; scriptlog(aurora_suspended) 50 | ret := Process_Suspend(pid, resume) 51 | SplashScreen((ret ? "Failed to " : "") . (resume ? "Resume" : "Suspend") . (ret ? "" : "ed") . " " . aurora.title, "", 5000) 52 | } 53 | 54 | <^>!a:: 55 | pid := ProcessExists(aurora.exe) 56 | if (aurora_suspended) { 57 | SetTimer, runChecks, 1000 58 | SuspendAurora(pid, true) 59 | } else { 60 | SetTimer, runChecks, Off 61 | SuspendAurora(pid) 62 | 63 | } -------------------------------------------------------------------------------- /scripts/automagic.ahk: -------------------------------------------------------------------------------- 1 | #SingleInstance, Force 2 | ; #NoTrayIcon 3 | #NoEnv 4 | #Persistent 5 | SetBatchLines, -1 6 | SetWorkingDir, % A_ScriptDir 7 | OnExit("ExitFunc") 8 | #Include 9 | ; EnforceAdmin() 10 | global noui := false 11 | scriptlog("init start") 12 | global subscribed_windows := [] 13 | #Include 14 | global am := new AutoMagic() 15 | 16 | ; am.openUrl("https://www.youtube.com/watch?v=dQw4w9WgXcQ", "com.vanced.android.youtube") 17 | am.createToast("AutoHotKey Connected", 1) 18 | scriptlog(toJson(am)) 19 | 20 | 21 | scriptlog("init end") 22 | return 23 | 24 | #Y:: 25 | WinGet, winid ,, A 26 | win := Window.fromId(winid) 27 | if (subscribed_windows.contains(win)) { 28 | scriptlog("No Longer monitoring" . win.str()) 29 | RemoveWindow(win) 30 | } else { 31 | subscribed_windows.Push(win) 32 | SetTimer, Checks, 2000 33 | scriptlog("Added " . win.str() . " to subscribed_windows") 34 | } 35 | return 36 | 37 | Checks: 38 | for i, win in subscribed_windows { 39 | if (WinExist("ahk_id" . win.id) == 0x00) { 40 | scriptlog(win.id . ": " . win.title) 41 | am.createNotification("Window " . win.title . " no longer exists!", win.text) 42 | RemoveWindow(win) 43 | Break 44 | } 45 | } 46 | return 47 | 48 | 49 | 50 | RemoveWindow(winid) { 51 | subscribed_windows := [] 52 | ; if (subscribed_windows.Length() == 1) { 53 | ; subscribed_windows := [] 54 | ; } else { 55 | ; subscribed_windows.removeByValue(win) 56 | ; } 57 | if (subscribed_windows.Length() < 1) { 58 | SetTimer, Checks, Off 59 | } 60 | scriptlog("Removed " . win.str() . " from subscribed_windows") 61 | } 62 | 63 | ExitFunc(reason, code) { 64 | scriptlog("OnExit") 65 | return 66 | } -------------------------------------------------------------------------------- /scripts/automaximize.ahk: -------------------------------------------------------------------------------- 1 | #SingleInstance Force 2 | #NoEnv 3 | #Persistent 4 | SetWorkingDir %A_ScriptDir% 5 | SetBatchLines -1 6 | Process Priority,, Below Normal 7 | 8 | SetTimer, DoMax, 100 9 | return 10 | 11 | DoMax: 12 | if (A_ScreenHeight > 600) { 13 | return 14 | } 15 | DetectHiddenWindows, Off 16 | WinGet, l, List 17 | if (priorList) 18 | { 19 | Loop, % l 20 | { 21 | if !InStr(priorList, l%A_Index%) 22 | { 23 | WinGetTitle, wt, % "ahk_id" l%A_Index% 24 | WinGet, mm, MinMax, % "ahk_id" l%A_Index% 25 | WinGet, s, Style, % "ahk_id" l%A_Index% 26 | 27 | if (s & 0x10000) and (mm = 0) and (wt) and (wt != "Task Switching") 28 | WinMaximize, % "ahk_id" l%A_Index% 29 | } 30 | } 31 | } 32 | 33 | priorlist := "" 34 | WinGet, priorL, List 35 | Loop, % priorL 36 | priorlist .= priorL%A_Index% "`n" 37 | return -------------------------------------------------------------------------------- /scripts/bettertaskmanager.ahk: -------------------------------------------------------------------------------- 1 | global title := "Task Manager ahk_class TaskManagerWindow ahk_exe taskmgr.exe" 2 | global class := "DirectUIHWND1" 3 | 4 | Control, Add, Penis, class -------------------------------------------------------------------------------- /scripts/bin/AutoXYWH.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bluscream/ahk-scripts/3c4fc899c32b8b7b9e7df9e66433aa036d96fa38/scripts/bin/AutoXYWH.exe -------------------------------------------------------------------------------- /scripts/bin/ControlColor.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bluscream/ahk-scripts/3c4fc899c32b8b7b9e7df9e66433aa036d96fa38/scripts/bin/ControlColor.exe -------------------------------------------------------------------------------- /scripts/bin/Empty.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bluscream/ahk-scripts/3c4fc899c32b8b7b9e7df9e66433aa036d96fa38/scripts/bin/Empty.exe -------------------------------------------------------------------------------- /scripts/bin/Hide Mouse Cursor on Idle.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bluscream/ahk-scripts/3c4fc899c32b8b7b9e7df9e66433aa036d96fa38/scripts/bin/Hide Mouse Cursor on Idle.exe -------------------------------------------------------------------------------- /scripts/bin/JControlWriter.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bluscream/ahk-scripts/3c4fc899c32b8b7b9e7df9e66433aa036d96fa38/scripts/bin/JControlWriter.exe -------------------------------------------------------------------------------- /scripts/bin/JoystickMouse.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bluscream/ahk-scripts/3c4fc899c32b8b7b9e7df9e66433aa036d96fa38/scripts/bin/JoystickMouse.exe -------------------------------------------------------------------------------- /scripts/bin/JoystickTest.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bluscream/ahk-scripts/3c4fc899c32b8b7b9e7df9e66433aa036d96fa38/scripts/bin/JoystickTest.exe -------------------------------------------------------------------------------- /scripts/bin/JustCause.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bluscream/ahk-scripts/3c4fc899c32b8b7b9e7df9e66433aa036d96fa38/scripts/bin/JustCause.exe -------------------------------------------------------------------------------- /scripts/bin/SendTest.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bluscream/ahk-scripts/3c4fc899c32b8b7b9e7df9e66433aa036d96fa38/scripts/bin/SendTest.exe -------------------------------------------------------------------------------- /scripts/bin/ToggleAudioDeviceThroughput.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bluscream/ahk-scripts/3c4fc899c32b8b7b9e7df9e66433aa036d96fa38/scripts/bin/ToggleAudioDeviceThroughput.exe -------------------------------------------------------------------------------- /scripts/bin/ToggleMouseCursor.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bluscream/ahk-scripts/3c4fc899c32b8b7b9e7df9e66433aa036d96fa38/scripts/bin/ToggleMouseCursor.exe -------------------------------------------------------------------------------- /scripts/bin/TrayIcon.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bluscream/ahk-scripts/3c4fc899c32b8b7b9e7df9e66433aa036d96fa38/scripts/bin/TrayIcon.exe -------------------------------------------------------------------------------- /scripts/bin/accpush.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bluscream/ahk-scripts/3c4fc899c32b8b7b9e7df9e66433aa036d96fa38/scripts/bin/accpush.exe -------------------------------------------------------------------------------- /scripts/bin/acctest.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bluscream/ahk-scripts/3c4fc899c32b8b7b9e7df9e66433aa036d96fa38/scripts/bin/acctest.exe -------------------------------------------------------------------------------- /scripts/bin/accviewer.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bluscream/ahk-scripts/3c4fc899c32b8b7b9e7df9e66433aa036d96fa38/scripts/bin/accviewer.exe -------------------------------------------------------------------------------- /scripts/bin/accviewerbasic.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bluscream/ahk-scripts/3c4fc899c32b8b7b9e7df9e66433aa036d96fa38/scripts/bin/accviewerbasic.exe -------------------------------------------------------------------------------- /scripts/bin/adb media keys.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bluscream/ahk-scripts/3c4fc899c32b8b7b9e7df9e66433aa036d96fa38/scripts/bin/adb media keys.exe -------------------------------------------------------------------------------- /scripts/bin/anchor.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bluscream/ahk-scripts/3c4fc899c32b8b7b9e7df9e66433aa036d96fa38/scripts/bin/anchor.exe -------------------------------------------------------------------------------- /scripts/bin/antiafk.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bluscream/ahk-scripts/3c4fc899c32b8b7b9e7df9e66433aa036d96fa38/scripts/bin/antiafk.exe -------------------------------------------------------------------------------- /scripts/bin/asf_test.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bluscream/ahk-scripts/3c4fc899c32b8b7b9e7df9e66433aa036d96fa38/scripts/bin/asf_test.exe -------------------------------------------------------------------------------- /scripts/bin/aurora.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bluscream/ahk-scripts/3c4fc899c32b8b7b9e7df9e66433aa036d96fa38/scripts/bin/aurora.exe -------------------------------------------------------------------------------- /scripts/bin/auto headlights.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bluscream/ahk-scripts/3c4fc899c32b8b7b9e7df9e66433aa036d96fa38/scripts/bin/auto headlights.exe -------------------------------------------------------------------------------- /scripts/bin/autocorrect.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bluscream/ahk-scripts/3c4fc899c32b8b7b9e7df9e66433aa036d96fa38/scripts/bin/autocorrect.exe -------------------------------------------------------------------------------- /scripts/bin/automagic.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bluscream/ahk-scripts/3c4fc899c32b8b7b9e7df9e66433aa036d96fa38/scripts/bin/automagic.exe -------------------------------------------------------------------------------- /scripts/bin/automaximize.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bluscream/ahk-scripts/3c4fc899c32b8b7b9e7df9e66433aa036d96fa38/scripts/bin/automaximize.exe -------------------------------------------------------------------------------- /scripts/bin/bbr.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bluscream/ahk-scripts/3c4fc899c32b8b7b9e7df9e66433aa036d96fa38/scripts/bin/bbr.exe -------------------------------------------------------------------------------- /scripts/bin/bettertaskmanager.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bluscream/ahk-scripts/3c4fc899c32b8b7b9e7df9e66433aa036d96fa38/scripts/bin/bettertaskmanager.exe -------------------------------------------------------------------------------- /scripts/bin/blacksquad.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bluscream/ahk-scripts/3c4fc899c32b8b7b9e7df9e66433aa036d96fa38/scripts/bin/blacksquad.exe -------------------------------------------------------------------------------- /scripts/bin/bloat.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bluscream/ahk-scripts/3c4fc899c32b8b7b9e7df9e66433aa036d96fa38/scripts/bin/bloat.exe -------------------------------------------------------------------------------- /scripts/bin/block_shutdown.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bluscream/ahk-scripts/3c4fc899c32b8b7b9e7df9e66433aa036d96fa38/scripts/bin/block_shutdown.exe -------------------------------------------------------------------------------- /scripts/bin/block_shutdown_ahk2.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bluscream/ahk-scripts/3c4fc899c32b8b7b9e7df9e66433aa036d96fa38/scripts/bin/block_shutdown_ahk2.exe -------------------------------------------------------------------------------- /scripts/bin/button_panel.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bluscream/ahk-scripts/3c4fc899c32b8b7b9e7df9e66433aa036d96fa38/scripts/bin/button_panel.exe -------------------------------------------------------------------------------- /scripts/bin/center cursor.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bluscream/ahk-scripts/3c4fc899c32b8b7b9e7df9e66433aa036d96fa38/scripts/bin/center cursor.exe -------------------------------------------------------------------------------- /scripts/bin/choose_mods.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bluscream/ahk-scripts/3c4fc899c32b8b7b9e7df9e66433aa036d96fa38/scripts/bin/choose_mods.exe -------------------------------------------------------------------------------- /scripts/bin/clicktest.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bluscream/ahk-scripts/3c4fc899c32b8b7b9e7df9e66433aa036d96fa38/scripts/bin/clicktest.exe -------------------------------------------------------------------------------- /scripts/bin/clipboard.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bluscream/ahk-scripts/3c4fc899c32b8b7b9e7df9e66433aa036d96fa38/scripts/bin/clipboard.exe -------------------------------------------------------------------------------- /scripts/bin/closewindowslicenseexpiring.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bluscream/ahk-scripts/3c4fc899c32b8b7b9e7df9e66433aa036d96fa38/scripts/bin/closewindowslicenseexpiring.exe -------------------------------------------------------------------------------- /scripts/bin/control_spy.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bluscream/ahk-scripts/3c4fc899c32b8b7b9e7df9e66433aa036d96fa38/scripts/bin/control_spy.exe -------------------------------------------------------------------------------- /scripts/bin/copywrite.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bluscream/ahk-scripts/3c4fc899c32b8b7b9e7df9e66433aa036d96fa38/scripts/bin/copywrite.exe -------------------------------------------------------------------------------- /scripts/bin/create_task.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bluscream/ahk-scripts/3c4fc899c32b8b7b9e7df9e66433aa036d96fa38/scripts/bin/create_task.exe -------------------------------------------------------------------------------- /scripts/bin/disable extra mouse buttons.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bluscream/ahk-scripts/3c4fc899c32b8b7b9e7df9e66433aa036d96fa38/scripts/bin/disable extra mouse buttons.exe -------------------------------------------------------------------------------- /scripts/bin/discordswitcher.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bluscream/ahk-scripts/3c4fc899c32b8b7b9e7df9e66433aa036d96fa38/scripts/bin/discordswitcher.exe -------------------------------------------------------------------------------- /scripts/bin/dynamic_button_panel.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bluscream/ahk-scripts/3c4fc899c32b8b7b9e7df9e66433aa036d96fa38/scripts/bin/dynamic_button_panel.exe -------------------------------------------------------------------------------- /scripts/bin/dynamichotkeys.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bluscream/ahk-scripts/3c4fc899c32b8b7b9e7df9e66433aa036d96fa38/scripts/bin/dynamichotkeys.exe -------------------------------------------------------------------------------- /scripts/bin/efl.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bluscream/ahk-scripts/3c4fc899c32b8b7b9e7df9e66433aa036d96fa38/scripts/bin/efl.exe -------------------------------------------------------------------------------- /scripts/bin/elevenlabs.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bluscream/ahk-scripts/3c4fc899c32b8b7b9e7df9e66433aa036d96fa38/scripts/bin/elevenlabs.exe -------------------------------------------------------------------------------- /scripts/bin/emoji_regional_speak.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bluscream/ahk-scripts/3c4fc899c32b8b7b9e7df9e66433aa036d96fa38/scripts/bin/emoji_regional_speak.exe -------------------------------------------------------------------------------- /scripts/bin/ets2 auto pbrake.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bluscream/ahk-scripts/3c4fc899c32b8b7b9e7df9e66433aa036d96fa38/scripts/bin/ets2 auto pbrake.exe -------------------------------------------------------------------------------- /scripts/bin/ets2 flashing high beams.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bluscream/ahk-scripts/3c4fc899c32b8b7b9e7df9e66433aa036d96fa38/scripts/bin/ets2 flashing high beams.exe -------------------------------------------------------------------------------- /scripts/bin/ets2 mod linker.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bluscream/ahk-scripts/3c4fc899c32b8b7b9e7df9e66433aa036d96fa38/scripts/bin/ets2 mod linker.exe -------------------------------------------------------------------------------- /scripts/bin/ets2 profile decoder.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bluscream/ahk-scripts/3c4fc899c32b8b7b9e7df9e66433aa036d96fa38/scripts/bin/ets2 profile decoder.exe -------------------------------------------------------------------------------- /scripts/bin/ets2mp start.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bluscream/ahk-scripts/3c4fc899c32b8b7b9e7df9e66433aa036d96fa38/scripts/bin/ets2mp start.exe -------------------------------------------------------------------------------- /scripts/bin/ets2mp troll.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bluscream/ahk-scripts/3c4fc899c32b8b7b9e7df9e66433aa036d96fa38/scripts/bin/ets2mp troll.exe -------------------------------------------------------------------------------- /scripts/bin/file_operation_notify.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bluscream/ahk-scripts/3c4fc899c32b8b7b9e7df9e66433aa036d96fa38/scripts/bin/file_operation_notify.exe -------------------------------------------------------------------------------- /scripts/bin/fivem.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bluscream/ahk-scripts/3c4fc899c32b8b7b9e7df9e66433aa036d96fa38/scripts/bin/fivem.exe -------------------------------------------------------------------------------- /scripts/bin/flightsim.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bluscream/ahk-scripts/3c4fc899c32b8b7b9e7df9e66433aa036d96fa38/scripts/bin/flightsim.exe -------------------------------------------------------------------------------- /scripts/bin/force_hide_window.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bluscream/ahk-scripts/3c4fc899c32b8b7b9e7df9e66433aa036d96fa38/scripts/bin/force_hide_window.exe -------------------------------------------------------------------------------- /scripts/bin/getips.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bluscream/ahk-scripts/3c4fc899c32b8b7b9e7df9e66433aa036d96fa38/scripts/bin/getips.exe -------------------------------------------------------------------------------- /scripts/bin/gta online.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bluscream/ahk-scripts/3c4fc899c32b8b7b9e7df9e66433aa036d96fa38/scripts/bin/gta online.exe -------------------------------------------------------------------------------- /scripts/bin/hide_titlebars.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bluscream/ahk-scripts/3c4fc899c32b8b7b9e7df9e66433aa036d96fa38/scripts/bin/hide_titlebars.exe -------------------------------------------------------------------------------- /scripts/bin/hotkey help.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bluscream/ahk-scripts/3c4fc899c32b8b7b9e7df9e66433aa036d96fa38/scripts/bin/hotkey help.exe -------------------------------------------------------------------------------- /scripts/bin/hotkeys-Bluscream-PC.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bluscream/ahk-scripts/3c4fc899c32b8b7b9e7df9e66433aa036d96fa38/scripts/bin/hotkeys-Bluscream-PC.exe -------------------------------------------------------------------------------- /scripts/bin/hotkeys.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bluscream/ahk-scripts/3c4fc899c32b8b7b9e7df9e66433aa036d96fa38/scripts/bin/hotkeys.exe -------------------------------------------------------------------------------- /scripts/bin/houseflipper.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bluscream/ahk-scripts/3c4fc899c32b8b7b9e7df9e66433aa036d96fa38/scripts/bin/houseflipper.exe -------------------------------------------------------------------------------- /scripts/bin/hstart.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bluscream/ahk-scripts/3c4fc899c32b8b7b9e7df9e66433aa036d96fa38/scripts/bin/hstart.exe -------------------------------------------------------------------------------- /scripts/bin/htopmini.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bluscream/ahk-scripts/3c4fc899c32b8b7b9e7df9e66433aa036d96fa38/scripts/bin/htopmini.exe -------------------------------------------------------------------------------- /scripts/bin/htopmini2.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bluscream/ahk-scripts/3c4fc899c32b8b7b9e7df9e66433aa036d96fa38/scripts/bin/htopmini2.exe -------------------------------------------------------------------------------- /scripts/bin/idletimes.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bluscream/ahk-scripts/3c4fc899c32b8b7b9e7df9e66433aa036d96fa38/scripts/bin/idletimes.exe -------------------------------------------------------------------------------- /scripts/bin/ignore win file security errors.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bluscream/ahk-scripts/3c4fc899c32b8b7b9e7df9e66433aa036d96fa38/scripts/bin/ignore win file security errors.exe -------------------------------------------------------------------------------- /scripts/bin/installer.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bluscream/ahk-scripts/3c4fc899c32b8b7b9e7df9e66433aa036d96fa38/scripts/bin/installer.exe -------------------------------------------------------------------------------- /scripts/bin/intercept monitor.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bluscream/ahk-scripts/3c4fc899c32b8b7b9e7df9e66433aa036d96fa38/scripts/bin/intercept monitor.exe -------------------------------------------------------------------------------- /scripts/bin/iw_color_preview-Bluscream-PC.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bluscream/ahk-scripts/3c4fc899c32b8b7b9e7df9e66433aa036d96fa38/scripts/bin/iw_color_preview-Bluscream-PC.exe -------------------------------------------------------------------------------- /scripts/bin/iw_color_preview.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bluscream/ahk-scripts/3c4fc899c32b8b7b9e7df9e66433aa036d96fa38/scripts/bin/iw_color_preview.exe -------------------------------------------------------------------------------- /scripts/bin/jar_version_select.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bluscream/ahk-scripts/3c4fc899c32b8b7b9e7df9e66433aa036d96fa38/scripts/bin/jar_version_select.exe -------------------------------------------------------------------------------- /scripts/bin/jee_accgetpath.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bluscream/ahk-scripts/3c4fc899c32b8b7b9e7df9e66433aa036d96fa38/scripts/bin/jee_accgetpath.exe -------------------------------------------------------------------------------- /scripts/bin/joytest.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bluscream/ahk-scripts/3c4fc899c32b8b7b9e7df9e66433aa036d96fa38/scripts/bin/joytest.exe -------------------------------------------------------------------------------- /scripts/bin/keylogger.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bluscream/ahk-scripts/3c4fc899c32b8b7b9e7df9e66433aa036d96fa38/scripts/bin/keylogger.exe -------------------------------------------------------------------------------- /scripts/bin/killscript.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bluscream/ahk-scripts/3c4fc899c32b8b7b9e7df9e66433aa036d96fa38/scripts/bin/killscript.exe -------------------------------------------------------------------------------- /scripts/bin/mmc.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bluscream/ahk-scripts/3c4fc899c32b8b7b9e7df9e66433aa036d96fa38/scripts/bin/mmc.exe -------------------------------------------------------------------------------- /scripts/bin/mouse_cursor_yellow_circle.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bluscream/ahk-scripts/3c4fc899c32b8b7b9e7df9e66433aa036d96fa38/scripts/bin/mouse_cursor_yellow_circle.exe -------------------------------------------------------------------------------- /scripts/bin/mouseprecise.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bluscream/ahk-scripts/3c4fc899c32b8b7b9e7df9e66433aa036d96fa38/scripts/bin/mouseprecise.exe -------------------------------------------------------------------------------- /scripts/bin/multirightclick.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bluscream/ahk-scripts/3c4fc899c32b8b7b9e7df9e66433aa036d96fa38/scripts/bin/multirightclick.exe -------------------------------------------------------------------------------- /scripts/bin/myphoneexplorer.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bluscream/ahk-scripts/3c4fc899c32b8b7b9e7df9e66433aa036d96fa38/scripts/bin/myphoneexplorer.exe -------------------------------------------------------------------------------- /scripts/bin/numpad.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bluscream/ahk-scripts/3c4fc899c32b8b7b9e7df9e66433aa036d96fa38/scripts/bin/numpad.exe -------------------------------------------------------------------------------- /scripts/bin/ohd.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bluscream/ahk-scripts/3c4fc899c32b8b7b9e7df9e66433aa036d96fa38/scripts/bin/ohd.exe -------------------------------------------------------------------------------- /scripts/bin/on_usb_connected.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bluscream/ahk-scripts/3c4fc899c32b8b7b9e7df9e66433aa036d96fa38/scripts/bin/on_usb_connected.exe -------------------------------------------------------------------------------- /scripts/bin/orgb_.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bluscream/ahk-scripts/3c4fc899c32b8b7b9e7df9e66433aa036d96fa38/scripts/bin/orgb_.exe -------------------------------------------------------------------------------- /scripts/bin/pixelcolor.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bluscream/ahk-scripts/3c4fc899c32b8b7b9e7df9e66433aa036d96fa38/scripts/bin/pixelcolor.exe -------------------------------------------------------------------------------- /scripts/bin/playnite.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bluscream/ahk-scripts/3c4fc899c32b8b7b9e7df9e66433aa036d96fa38/scripts/bin/playnite.exe -------------------------------------------------------------------------------- /scripts/bin/playstate.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bluscream/ahk-scripts/3c4fc899c32b8b7b9e7df9e66433aa036d96fa38/scripts/bin/playstate.exe -------------------------------------------------------------------------------- /scripts/bin/powermanagement.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bluscream/ahk-scripts/3c4fc899c32b8b7b9e7df9e66433aa036d96fa38/scripts/bin/powermanagement.exe -------------------------------------------------------------------------------- /scripts/bin/powerprofiles.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bluscream/ahk-scripts/3c4fc899c32b8b7b9e7df9e66433aa036d96fa38/scripts/bin/powerprofiles.exe -------------------------------------------------------------------------------- /scripts/bin/processvoid.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bluscream/ahk-scripts/3c4fc899c32b8b7b9e7df9e66433aa036d96fa38/scripts/bin/processvoid.exe -------------------------------------------------------------------------------- /scripts/bin/psshutdownGUI.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bluscream/ahk-scripts/3c4fc899c32b8b7b9e7df9e66433aa036d96fa38/scripts/bin/psshutdownGUI.exe -------------------------------------------------------------------------------- /scripts/bin/pycharm.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bluscream/ahk-scripts/3c4fc899c32b8b7b9e7df9e66433aa036d96fa38/scripts/bin/pycharm.exe -------------------------------------------------------------------------------- /scripts/bin/pycharm_accept_cert.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bluscream/ahk-scripts/3c4fc899c32b8b7b9e7df9e66433aa036d96fa38/scripts/bin/pycharm_accept_cert.exe -------------------------------------------------------------------------------- /scripts/bin/randommousemover.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bluscream/ahk-scripts/3c4fc899c32b8b7b9e7df9e66433aa036d96fa38/scripts/bin/randommousemover.exe -------------------------------------------------------------------------------- /scripts/bin/rect_show.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bluscream/ahk-scripts/3c4fc899c32b8b7b9e7df9e66433aa036d96fa38/scripts/bin/rect_show.exe -------------------------------------------------------------------------------- /scripts/bin/regextester.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bluscream/ahk-scripts/3c4fc899c32b8b7b9e7df9e66433aa036d96fa38/scripts/bin/regextester.exe -------------------------------------------------------------------------------- /scripts/bin/regextester2.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bluscream/ahk-scripts/3c4fc899c32b8b7b9e7df9e66433aa036d96fa38/scripts/bin/regextester2.exe -------------------------------------------------------------------------------- /scripts/bin/ripcord.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bluscream/ahk-scripts/3c4fc899c32b8b7b9e7df9e66433aa036d96fa38/scripts/bin/ripcord.exe -------------------------------------------------------------------------------- /scripts/bin/roblox.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bluscream/ahk-scripts/3c4fc899c32b8b7b9e7df9e66433aa036d96fa38/scripts/bin/roblox.exe -------------------------------------------------------------------------------- /scripts/bin/rollmouse.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bluscream/ahk-scripts/3c4fc899c32b8b7b9e7df9e66433aa036d96fa38/scripts/bin/rollmouse.exe -------------------------------------------------------------------------------- /scripts/bin/rotator.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bluscream/ahk-scripts/3c4fc899c32b8b7b9e7df9e66433aa036d96fa38/scripts/bin/rotator.exe -------------------------------------------------------------------------------- /scripts/bin/scaleui.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bluscream/ahk-scripts/3c4fc899c32b8b7b9e7df9e66433aa036d96fa38/scripts/bin/scaleui.exe -------------------------------------------------------------------------------- /scripts/bin/screen.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bluscream/ahk-scripts/3c4fc899c32b8b7b9e7df9e66433aa036d96fa38/scripts/bin/screen.exe -------------------------------------------------------------------------------- /scripts/bin/set_background_color.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bluscream/ahk-scripts/3c4fc899c32b8b7b9e7df9e66433aa036d96fa38/scripts/bin/set_background_color.exe -------------------------------------------------------------------------------- /scripts/bin/shadow_client.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bluscream/ahk-scripts/3c4fc899c32b8b7b9e7df9e66433aa036d96fa38/scripts/bin/shadow_client.exe -------------------------------------------------------------------------------- /scripts/bin/shadow_server.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bluscream/ahk-scripts/3c4fc899c32b8b7b9e7df9e66433aa036d96fa38/scripts/bin/shadow_server.exe -------------------------------------------------------------------------------- /scripts/bin/shift_toggle.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bluscream/ahk-scripts/3c4fc899c32b8b7b9e7df9e66433aa036d96fa38/scripts/bin/shift_toggle.exe -------------------------------------------------------------------------------- /scripts/bin/shutdownGUI.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bluscream/ahk-scripts/3c4fc899c32b8b7b9e7df9e66433aa036d96fa38/scripts/bin/shutdownGUI.exe -------------------------------------------------------------------------------- /scripts/bin/shutdownGUIv2.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bluscream/ahk-scripts/3c4fc899c32b8b7b9e7df9e66433aa036d96fa38/scripts/bin/shutdownGUIv2.exe -------------------------------------------------------------------------------- /scripts/bin/sirens.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bluscream/ahk-scripts/3c4fc899c32b8b7b9e7df9e66433aa036d96fa38/scripts/bin/sirens.exe -------------------------------------------------------------------------------- /scripts/bin/softperfect connection emulator.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bluscream/ahk-scripts/3c4fc899c32b8b7b9e7df9e66433aa036d96fa38/scripts/bin/softperfect connection emulator.exe -------------------------------------------------------------------------------- /scripts/bin/space_engineers.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bluscream/ahk-scripts/3c4fc899c32b8b7b9e7df9e66433aa036d96fa38/scripts/bin/space_engineers.exe -------------------------------------------------------------------------------- /scripts/bin/spacify.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bluscream/ahk-scripts/3c4fc899c32b8b7b9e7df9e66433aa036d96fa38/scripts/bin/spacify.exe -------------------------------------------------------------------------------- /scripts/bin/split_clipboard.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bluscream/ahk-scripts/3c4fc899c32b8b7b9e7df9e66433aa036d96fa38/scripts/bin/split_clipboard.exe -------------------------------------------------------------------------------- /scripts/bin/spotify.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bluscream/ahk-scripts/3c4fc899c32b8b7b9e7df9e66433aa036d96fa38/scripts/bin/spotify.exe -------------------------------------------------------------------------------- /scripts/bin/ssh.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bluscream/ahk-scripts/3c4fc899c32b8b7b9e7df9e66433aa036d96fa38/scripts/bin/ssh.exe -------------------------------------------------------------------------------- /scripts/bin/startup_idle.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bluscream/ahk-scripts/3c4fc899c32b8b7b9e7df9e66433aa036d96fa38/scripts/bin/startup_idle.exe -------------------------------------------------------------------------------- /scripts/bin/steam.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bluscream/ahk-scripts/3c4fc899c32b8b7b9e7df9e66433aa036d96fa38/scripts/bin/steam.exe -------------------------------------------------------------------------------- /scripts/bin/steamkeyactivator.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bluscream/ahk-scripts/3c4fc899c32b8b7b9e7df9e66433aa036d96fa38/scripts/bin/steamkeyactivator.exe -------------------------------------------------------------------------------- /scripts/bin/steamkeyactivator2.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bluscream/ahk-scripts/3c4fc899c32b8b7b9e7df9e66433aa036d96fa38/scripts/bin/steamkeyactivator2.exe -------------------------------------------------------------------------------- /scripts/bin/syskey.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bluscream/ahk-scripts/3c4fc899c32b8b7b9e7df9e66433aa036d96fa38/scripts/bin/syskey.exe -------------------------------------------------------------------------------- /scripts/bin/table.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bluscream/ahk-scripts/3c4fc899c32b8b7b9e7df9e66433aa036d96fa38/scripts/bin/table.exe -------------------------------------------------------------------------------- /scripts/bin/teaclient.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bluscream/ahk-scripts/3c4fc899c32b8b7b9e7df9e66433aa036d96fa38/scripts/bin/teaclient.exe -------------------------------------------------------------------------------- /scripts/bin/template.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bluscream/ahk-scripts/3c4fc899c32b8b7b9e7df9e66433aa036d96fa38/scripts/bin/template.exe -------------------------------------------------------------------------------- /scripts/bin/test.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bluscream/ahk-scripts/3c4fc899c32b8b7b9e7df9e66433aa036d96fa38/scripts/bin/test.exe -------------------------------------------------------------------------------- /scripts/bin/togglehold.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bluscream/ahk-scripts/3c4fc899c32b8b7b9e7df9e66433aa036d96fa38/scripts/bin/togglehold.exe -------------------------------------------------------------------------------- /scripts/bin/translate.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bluscream/ahk-scripts/3c4fc899c32b8b7b9e7df9e66433aa036d96fa38/scripts/bin/translate.exe -------------------------------------------------------------------------------- /scripts/bin/translateorg.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bluscream/ahk-scripts/3c4fc899c32b8b7b9e7df9e66433aa036d96fa38/scripts/bin/translateorg.exe -------------------------------------------------------------------------------- /scripts/bin/ts_bad_hotkeys.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bluscream/ahk-scripts/3c4fc899c32b8b7b9e7df9e66433aa036d96fa38/scripts/bin/ts_bad_hotkeys.exe -------------------------------------------------------------------------------- /scripts/bin/undisable.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bluscream/ahk-scripts/3c4fc899c32b8b7b9e7df9e66433aa036d96fa38/scripts/bin/undisable.exe -------------------------------------------------------------------------------- /scripts/bin/unity.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bluscream/ahk-scripts/3c4fc899c32b8b7b9e7df9e66433aa036d96fa38/scripts/bin/unity.exe -------------------------------------------------------------------------------- /scripts/bin/unlocker.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bluscream/ahk-scripts/3c4fc899c32b8b7b9e7df9e66433aa036d96fa38/scripts/bin/unlocker.exe -------------------------------------------------------------------------------- /scripts/bin/update.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bluscream/ahk-scripts/3c4fc899c32b8b7b9e7df9e66433aa036d96fa38/scripts/bin/update.exe -------------------------------------------------------------------------------- /scripts/bin/usb.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bluscream/ahk-scripts/3c4fc899c32b8b7b9e7df9e66433aa036d96fa38/scripts/bin/usb.exe -------------------------------------------------------------------------------- /scripts/bin/vconsole.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bluscream/ahk-scripts/3c4fc899c32b8b7b9e7df9e66433aa036d96fa38/scripts/bin/vconsole.exe -------------------------------------------------------------------------------- /scripts/bin/vivecraft.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bluscream/ahk-scripts/3c4fc899c32b8b7b9e7df9e66433aa036d96fa38/scripts/bin/vivecraft.exe -------------------------------------------------------------------------------- /scripts/bin/vr.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bluscream/ahk-scripts/3c4fc899c32b8b7b9e7df9e66433aa036d96fa38/scripts/bin/vr.exe -------------------------------------------------------------------------------- /scripts/bin/vrc.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bluscream/ahk-scripts/3c4fc899c32b8b7b9e7df9e66433aa036d96fa38/scripts/bin/vrc.exe -------------------------------------------------------------------------------- /scripts/bin/vrcmg.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bluscream/ahk-scripts/3c4fc899c32b8b7b9e7df9e66433aa036d96fa38/scripts/bin/vrcmg.exe -------------------------------------------------------------------------------- /scripts/bin/watchcursor.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bluscream/ahk-scripts/3c4fc899c32b8b7b9e7df9e66433aa036d96fa38/scripts/bin/watchcursor.exe -------------------------------------------------------------------------------- /scripts/bin/winclose.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bluscream/ahk-scripts/3c4fc899c32b8b7b9e7df9e66433aa036d96fa38/scripts/bin/winclose.exe -------------------------------------------------------------------------------- /scripts/bin/yatqa copy.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bluscream/ahk-scripts/3c4fc899c32b8b7b9e7df9e66433aa036d96fa38/scripts/bin/yatqa copy.exe -------------------------------------------------------------------------------- /scripts/bin/yatqa2.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bluscream/ahk-scripts/3c4fc899c32b8b7b9e7df9e66433aa036d96fa38/scripts/bin/yatqa2.exe -------------------------------------------------------------------------------- /scripts/bin/yatqa_ignoreerrors.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bluscream/ahk-scripts/3c4fc899c32b8b7b9e7df9e66433aa036d96fa38/scripts/bin/yatqa_ignoreerrors.exe -------------------------------------------------------------------------------- /scripts/bin/yoda.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Bluscream/ahk-scripts/3c4fc899c32b8b7b9e7df9e66433aa036d96fa38/scripts/bin/yoda.exe -------------------------------------------------------------------------------- /scripts/binds.ahk: -------------------------------------------------------------------------------- 1 | #Include 2 | #SingleInstance Force 3 | #NoEnv 4 | ; #NoTrayIcon 5 | #Persistent 6 | SetWorkingDir %A_ScriptDir% 7 | Process Priority,, Low 8 | 9 | games := [] 10 | 11 | games.push( new Game(new Window("", "Blitz Runtime Class", "", "{F3}") 12 | title := games["scpcb"]["window"].title() 13 | #IfWinActive % title 14 | :*:v::{F3}noclip{Enter} ; k5 SE 15 | 16 | 17 | 18 | class Game 19 | { 20 | window := "" 21 | console_key := "" 22 | 23 | __New(window, console_key) 24 | { 25 | this.window := window 26 | this.console_key := console_key 27 | } 28 | } -------------------------------------------------------------------------------- /scripts/block_shutdown.ahk2: -------------------------------------------------------------------------------- 1 | ; AHK v2 2 | #SingleInstance Force 3 | #NoTrayIcon 4 | Persistent 5 | InstallKeybdHook 6 | InstallMouseHook 7 | ProcessSetPriority("Realtime") 8 | 9 | ; The following DllCall is optional: it tells the OS to shut down this script first (prior to all other applications). 10 | DllCall("kernel32.dll\SetProcessShutdownParameters", "UInt", 0x4FF, "UInt", 0) 11 | OnMessage(0x11, WM_QUERYENDSESSION) 12 | OnExit(ExitSub) 13 | ; while (true) { 14 | ; exitcode := RunWait("shutdown /a",,"Hide") 15 | ; Sleep 999 16 | ; } 17 | return 18 | 19 | ExitSub: 20 | RunWait("shutdown /a",,"Hide") 21 | MsgBox %A_ExitReason% 22 | Return 23 | 24 | WM_QUERYENDSESSION(wParam, lParam, *) 25 | { 26 | ENDSESSION_LOGOFF := 0x80000000 27 | if (lParam & ENDSESSION_LOGOFF) ; User is logging off. 28 | EventType := "Logoff" 29 | else ; System is either shutting down or restarting. 30 | EventType := "Shutdown" 31 | try 32 | { 33 | ; Set a prompt for the OS shutdown UI to display. We do not display 34 | ; our own confirmation prompt because we have only 5 seconds before 35 | ; the OS displays the shutdown UI anyway. Also, a program without 36 | ; a visible window cannot block shutdown without providing a reason. 37 | BlockShutdown("Example script attempting to prevent " EventType ".") 38 | return false 39 | } 40 | catch 41 | { 42 | ; ShutdownBlockReasonCreate is not available, so this is probably 43 | ; Windows XP, 2003 or 2000, where we can actually prevent shutdown. 44 | Result := MsgBox(EventType " in progress. Allow it?",, "YN") 45 | if (Result = "Yes") 46 | return true ; Tell the OS to allow the shutdown/logoff to continue. 47 | else 48 | return false ; Tell the OS to abort the shutdown/logoff. 49 | } 50 | } 51 | 52 | BlockShutdown(Reason) 53 | { 54 | ; If your script has a visible GUI, use it instead of A_ScriptHwnd. 55 | DllCall("ShutdownBlockReasonCreate", "ptr", A_ScriptHwnd, "wstr", Reason) 56 | OnExit("StopBlockingShutdown") 57 | } 58 | 59 | StopBlockingShutdown(*) 60 | { 61 | OnExit(A_ThisFunc, 0) 62 | DllCall("ShutdownBlockReasonDestroy", "ptr", A_ScriptHwnd) 63 | } -------------------------------------------------------------------------------- /scripts/buttons/Half-Life Alyx - Cheats.csv: -------------------------------------------------------------------------------- 1 | Startup,sv_cheats 1;vrjump_falling_enabled 1;vr_enable_volume_fog 0;hl_dissolve_all_dropped_weapons 0;hlvr_movetype_default 3;vr_movetype_set 2;hlvr_adjust_turn_option 2;vr_quick_turn_continuous_enable 1;vr_head_bubble_fade_enable 0, 2 | Give all,impulse 101;respawn_bow, 3 | Give Flashlight,hlvr_give_flashlight, 4 | Upgrade all,impulse 102, 5 | 500 Ammo + Resin,hlvr_setresources 500 500 500 500 6 | God Mode,god 1, 7 | NO God Mode,god 0, 8 | No Target,notarget 1, 9 | Target,notarget 0, 10 | Infinite Ammo,sv_infinite_ammo 1, 11 | NO Infinite Ammo,sv_infinite_ammo 0, 12 | Remove Target,ent_fire !picker kill, 13 | Remove Jeff,ent_fire Jeff kill;ent_fire jeff kill, -------------------------------------------------------------------------------- /scripts/buttons/Half-Life Alyx - Maps.csv: -------------------------------------------------------------------------------- 1 | Logo and Main Menu,addon_play startup, 2 | Game Start,addon_play a1_intro_world, 3 | Intro World 2,addon_play a1_intro_world_2, 4 | Drainage,addon_play a2_drainage, 5 | Headcrabs Tunnel,addon_play a2_headcrabs_tunnel, 6 | Hideout,addon_play a2_hideout, 7 | Pistol,addon_play a2_pistol, 8 | Quarantine Entrance,addon_play a2_quarantine_entrance, 9 | Train Yard,addon_play a2_train_yard, 10 | Processing Plant,addon_play a3_c17_processing_plant, 11 | Distillery,addon_play a3_distillery, 12 | Hotel Interior Rooftop,addon_play a3_hotel_interior_rooftop, 13 | Hotel Lobby Basement,addon_play a3_hotel_lobby_basement, 14 | Hotel Street,addon_play a3_hotel_street, 15 | Hotel Underground Pit,addon_play a3_hotel_underground_pit, 16 | Station Street,addon_play a3_station_street, 17 | Parking Garage,addon_play a4_c17_parking_garage, 18 | Tanker Yard,addon_play a4_c17_tanker_yard, 19 | Water Tower,addon_play a4_c17_water_tower, 20 | Zoo,addon_play a4_c17_zoo, 21 | Vault,addon_play a5_vault, 22 | Jeff,addon_play a5_ending, 23 | 24 | Endless Loading,addon_play error, 25 | TV Backdrop,addon_play a1_intro_world\\citadel_vista_screen, 26 | TV Backdrop 2,addon_play a1_intro_world\\citadel_vista, 27 | Floating Zen Island,addon_play a5_ending\\void_space, 28 | 29 | Levitation
Intro,addon_play 01_intro, 30 | Levitation
notimelikenow,addon_play 02_notimelikenow, 31 | Levitation
metrodynamo,addon_play 03_metrodynamo, 32 | Levitation
hehungers,addon_play 04_hehungers, 33 | Levitation
pleasantville,addon_play 05_pleasantville, 34 | Levitation
digdeep,addon_play 06_digdeep, 35 | Levitation
sectorx,addon_play 07_sectorx, 36 | Levitation
burningquestions,addon_play 08_burningquestions, 37 | audio new soundlocal,addon_play audio_new_soundlocal, 38 | custom_character,addon_play custom_character, 39 | dismemberment demo,addon_play dismemberment_demo, 40 | impact grenades example,addon_play impact_grenades_example, 41 | shd demo,addon_play shd_demo, -------------------------------------------------------------------------------- /scripts/buttons/Half-Life Alyx - NPC Equipment.csv.disabled: -------------------------------------------------------------------------------- 1 | ;region equipment 2 | Stunstick,{additionalequipment weapon_stunstick}, 3 | SMG1,{additionalequipment weapon_smg1}, 4 | AR2,{additionalequipment weapon_ar2}, 5 | ;endregion equipment -------------------------------------------------------------------------------- /scripts/buttons/Half-Life Alyx - NPCs.csv: -------------------------------------------------------------------------------- 1 | ;region zombies 2 | Barnacle,npc_create npc_barnacle, 3 | Zombie,npc_create npc_zombie, 4 | Zombine (HL2),npc_create npc_zombine, 5 | Blind Zombie,npc_create npc_zombie_blind, 6 | Normal headcrab,npc_create npc_headcrab, 7 | Fast headcrab,npc_create npc_headcrab_fast, 8 | Armored headcrab,npc_create npc_headcrab_armored, 9 | Toxic headcrab,npc_create npc_headcrab_black, 10 | Lightning dog,npc_create npc_headcrab_runner, 11 | Antlion,npc_create npc_antlion, 12 | Blue Antlion,ent_create npc_antlion {spawnflags 262144}, 13 | ;endregion zombies 14 | ;region combine 15 | Metropolice (HL2),ent_create npc_metropolice, 16 | White Combine with gas canister,npc_create npc_combine_s, 17 | Combine Suppressor,ent_create npc_combine_s {model models/characters/combine_suppressor/combine_suppressor.vmdl}, 18 | Combine Captain,ent_create npc_combine_s {model models/characters/combine_soldier_captain/combine_captain.vmdl}, 19 | Combine Heavy,ent_create npc_combine_s {model models/characters/combine_soldier_heavy/combine_soldier_heavy.vmdl}, 20 | Manhack,npc_create npc_manhack, 21 | Scanner camera,npc_create npc_cscanner, 22 | Clawscanner (HL2),npc_create npc_clawscanner, 23 | Turret,npc_create npc_turret_floor, 24 | ;endregion combine 25 | ;region animals 26 | Crow,npc_create npc_crow, 27 | Seagull,npc_create npc_seagull, 28 | Pigeon,npc_create npc_pigeon, 29 | ;endregion animals 30 | ;region resistance 31 | Barney (HL2),ent_create npc_barney, 32 | ;endregion resistance 33 | ;region citizens 34 | Female Citizen,npc_create npc_vr_citizen_female, 35 | Male Citizen,npc_create npc_vr_citizen_male, 36 | Male Citizen (HL2),ent_create npc_citizen, 37 | ;endregion citizens 38 | Bugbait Grenade,npc_create npc_grenade_bugbait, -------------------------------------------------------------------------------- /scripts/buttons/Half-Life Alyx - Props.csv.disabled: -------------------------------------------------------------------------------- 1 | Spawn Weapons,give item_hlvr_weapon_energygun;give item_hlvr_weapon_rapidfire;give item_hlvr_weapon_shotgun;give item_hlvr_multitool, 2 | Spawn Ammo,give item_hlvr_crafting_currency_small;give item_hlvr_crafting_currency_large;give item_hlvr_health_station_vial;give item_hlvr_prop_battery, 3 | Spawn Items,give item_hlvr_clip_energygun;give item_hlvr_clip_rapidfire;give item_hlvr_clip_shotgun_multiple;give item_hlvr_grenade_frag;give item_hlvr_grenade_xen;give item_healthvial, 4 | Spawn 100 Resin,give item_hlvr_crafting_currency_large 3;give item_hlvr_crafting_currency_large;give item_hlvr_crafting_currency_large;give item_hlvr_crafting_currency_large;give item_hlvr_crafting_currency_large;give item_hlvr_crafting_currency_large;give item_hlvr_crafting_currency_large;give item_hlvr_crafting_currency_large;give item_hlvr_crafting_currency_large;give item_hlvr_crafting_currency_large;give item_hlvr_crafting_currency_large;, 5 | Spawn Bucket,ent_create prop_physics {model models/props_junk/metalbucket01a.vmdl CanDepositInItemHolder 1}, 6 | Spawn Beer Bottle,ent_create prop_physics {model models/props_junk/beer_bottle_1.vmdl CanDepositInItemHolder 1}, 7 | Spawn Gas mask,ent_create prop_physics {model models/props/hazmat/respirator_01a.vmdl CanDepositInItemHolder 1}, 8 | Spawn Hard hat,ent_create prop_physics {model models/props/construction/hat_construction.vmdl CanDepositInItemHolder 1}, 9 | Spawn Gnome,ent_create prop_physics {model models/props/choreo_office/gnome.vmdl CanDepositInItemHolder 1}, 10 | Spawn Explosive canister,ent_create prop_physics {model models/props/explosive_jerrican_1.vmdl CanDepositInItemHolder 1}, -------------------------------------------------------------------------------- /scripts/buttons/Half-Life Alyx - Upgrades.csv: -------------------------------------------------------------------------------- 1 | Pistol
Laser Sight,hlvr_energygun_grant_upgrade 0 2 | Pistol
Reflex Sight,hlvr_energygun_grant_upgrade 1 3 | Pistol
Bullet Hopper,hlvr_energygun_grant_upgrade 2 4 | Pistol
Burst Fire,hlvr_energygun_grant_upgrade 3 5 | 6 | Shotgun
Auto Loader,hlvr_shotgun_grant_upgrade 0 7 | Shotgun
Grenade Launcher,hlvr_shotgun_grant_upgrade 1 8 | Shotgun
Laser Sight,hlvr_shotgun_grant_upgrade 2 9 | Shotgun
Quick Fire,hlvr_shotgun_grant_upgrade 3 10 | 11 | SMG
Energy Ball,hlvr_rapidfire_grant_upgrade 0 12 | SMG
Tag Dart,hlvr_rapidfire_grant_upgrade 1 13 | SMG
Stun Grenade Clips,hlvr_rapidfire_grant_upgrade 2 14 | SMG
Exploding Bullets,hlvr_rapidfire_grant_upgrade 3 15 | SMG
Reflex Sight,hlvr_rapidfire_grant_upgrade 4 16 | SMG
Laser Sight,hlvr_rapidfire_grant_upgrade 5 -------------------------------------------------------------------------------- /scripts/center cursor.ahk: -------------------------------------------------------------------------------- 1 | #Persistent ;//keeps script running 2 | CoordMode, Mouse, Screen 3 | Return ;//stops auto execution 4 | 5 | F4:: ;//your code 6 | x := (A_ScreenWidth / 2) 7 | y := (A_ScreenHeight / 2) 8 | mousemove, x, y 9 | Return -------------------------------------------------------------------------------- /scripts/closewindowslicenseexpiring.ahk: -------------------------------------------------------------------------------- 1 | #SingleInstance, Force 2 | ; #NoTrayIcon 3 | #Persistent 4 | #NoEnv 5 | SetTitleMatchMode, 2 6 | CoordMode, Mouse, Client 7 | 8 | title := "Your Windows license will expire soon ahk_class Shell_SystemDialog ahk_exe LicensingUI.exe" 9 | 10 | Loop{ 11 | Sleep, 500 12 | WinWait, %title% 13 | if !WinActive(title){ 14 | WinActivate, %title% 15 | Sleep, 50 16 | } 17 | Click(619, 128) 18 | Sleep, 200 19 | } 20 | 21 | Click(x,y){ 22 | MouseGetPos, oldX, oldY 23 | Click, %x%, %y% 24 | MouseMove, oldX, oldY 25 | } 26 | 27 | ; Screen: 555, 640 (less often used) 28 | ; Window: 526, 97 (default) 29 | ; Client: 523, 75 (recommended) 30 | ; Color: FFE9E1 (Red=FF Green=E9 Blue=E1) 31 | 32 | 33 | ; Screen: 2766, 747 (less often used) 34 | ; Window: 270, 89 (default) 35 | ; Client: 267, 67 (recommended) 36 | ; Color: 4C5052 (Red=4C Green=50 Blue=52) -------------------------------------------------------------------------------- /scripts/copywrite.ahk: -------------------------------------------------------------------------------- 1 | ; https://gist.github.com/Bluscream/119f09441c512ef267ade38bd4a5c9ce#file-copywrite-ahk 2 | #Persistent 3 | ; #NoTrayIcon 4 | #NoEnv 5 | #SingleInstance, force 6 | SetBatchLines, -1 7 | Process, Priority,, High 8 | #Include 9 | EnforceAdmin() 10 | SendMode, Event ; |Play|Input|InputThenPlay 11 | set_next_chunk = True 12 | SetKeyDelay, 39, 27 13 | return 14 | 15 | ^+b:: ExitApp 16 | 17 | ^b:: 18 | ^+Insert:: ; # ctrl + shift + insert 19 | !+Insert:: ; # alt + shift + insert 20 | WinGet, winid 21 | if (Window.fromId(winid).isFullscreen()) { 22 | MsgBox % "Is fullscreen!" 23 | return 24 | } 25 | if (StrLen(Clipboard) > 10000) { 26 | MsgBox % "Clipboard is too long!" 27 | return 28 | } 29 | Send {Raw}%Clipboard% 30 | Return -------------------------------------------------------------------------------- /scripts/disable extra mouse buttons.ahk: -------------------------------------------------------------------------------- 1 | #NoEnv 2 | #SingleInstance, Force 3 | SendMode, Input 4 | SetBatchLines, -1 5 | SetWorkingDir, %A_ScriptDir% 6 | 7 | XButton1::Return 8 | XButton2::Return 9 | -------------------------------------------------------------------------------- /scripts/discordswitcher.ahk: -------------------------------------------------------------------------------- 1 | #Include 2 | ; https://gist.github.com/Bluscream/119f09441c512ef267ade38bd4a5c9ce#file-winclose-ahk 3 | ; Big thanks to Dinenon#8239 4 | #SingleInstance, Force 5 | ; #NoTrayIcon 6 | #NoEnv 7 | #Persistent 8 | SetBatchLines, -1 9 | SetWorkingDir, % A_ScriptDir 10 | 11 | Loop { 12 | Process, wait, Discord.exe 13 | 14 | 15 | } -------------------------------------------------------------------------------- /scripts/dynamic_button_panel.ahk: -------------------------------------------------------------------------------- 1 | CreateDynamicGridGUI() { 2 | Gui, New, +AlwaysOnTop -DPIScale -Resize 3 | Gui, Add, Text, xm ym +Border +Center +0x200, Blah, Blah, Blah 4 | 5 | ; Define the grid 6 | grid := { 1: ["Button 1", "Button 2", "Button 3"], 2: ["Button 4", "Button 5", "Button 6"], 3: ["Button 7", "Button 8", "Button 9"] } 7 | 8 | ; Iterate over the rows and buttons 9 | for row, _buttons in grid { 10 | for _button in _buttons { 11 | Gui, Add, Button, x+15 w70, %_button% 12 | } 13 | ; Gui, Add, Text, `n ; Add a newline after each row 14 | } 15 | 16 | Gui, Show, NA, Demo 17 | 18 | ; Get the initial size of the GUI window 19 | WinGetPos,,, w, h, % "ahk_id " GuiHwnd 20 | GuiDefaultW := w 21 | GuiDefaultH := h 22 | 23 | return 24 | 25 | GuiSize: 26 | ; Get the new size of the GUI window 27 | WinGetPos,,, w, h, % "ahk_id " GuiHwnd 28 | 29 | ; Calculate the ratio between the new size and the initial size 30 | WMulti := w / GuiDefaultW 31 | HMulti := h / GuiDefaultH 32 | 33 | ; Resize and move the buttons 34 | Loop, % GuiControls.Length() { 35 | ButtonX := GuiControls[A_Index].X * WMulti 36 | ButtonY := GuiControls[A_Index].Y * HMulti 37 | ButtonW := GuiControls[A_Index].W * WMulti 38 | ButtonH := GuiControls[A_Index].H * HMulti 39 | 40 | GuiControl, MoveDraw, % GuiControls[A_Index].Hwnd, % "x" ButtonX " y" ButtonY " w" ButtonW " h" ButtonH 41 | } 42 | 43 | return 44 | } 45 | CreateDynamicGridGUI() -------------------------------------------------------------------------------- /scripts/efl.ahk: -------------------------------------------------------------------------------- 1 | 2 | #SingleInstance force 3 | ; win := new Window() 4 | winstr2 := "Files & Folders Setting ahk_class #32770 ahk_exe FileLocker.exe" 5 | winstr := "Browse for Folder ahk_class #32770 ahk_exe FileLocker.exe" 6 | Run % "C:\Program Files\Easy File Locker\FileLocker.exe" 7 | while (True) { 8 | Sleep, 500 9 | WinWait, % winstr 10 | WinClose, % winstr 11 | FileSelectFolder, dir, ::{20d04fe0-3aea-1069-a2d8-08002b30309d}, 7 12 | ControlSetText, Edit1, % dir, % winstr2 13 | Sleep, 500 14 | } 15 | 16 | ; ControlClick, Edit1, % winstr, WinText, WhichButton, ClickCount, Options, ExcludeTitle, ExcludeText] 17 | ; ControlSend, Edit1, Keys, WinTitle, WinText, ExcludeTitle, ExcludeText] 18 | 19 | return 20 | 21 | ; OK 22 | ; Cancel 23 | ; &Path: 24 | ; This file or folder will be: 25 | ; &Accessible 26 | ; &Writable 27 | ; &Deletable 28 | ; &Visible -------------------------------------------------------------------------------- /scripts/elevenlabs.ahk: -------------------------------------------------------------------------------- 1 | #NoEnv 2 | #SingleInstance, Force 3 | #Persistent 4 | #Include 5 | SendMode, Input 6 | SetBatchLines, -1 7 | SetWorkingDir, %A_ScriptDir% 8 | 9 | global no_ui := false 10 | global isConverting := false ; Initialize the global flag as false 11 | 12 | scriptlog("start") 13 | SetTimer, CheckFiles, 5000 ; Check every 5 seconds 14 | return 15 | 16 | CheckFiles: 17 | global isConverting 18 | if (isConverting) 19 | return 20 | FilePattern := "D:\\Downloads\\ElevenLabs_*.mp3" 21 | Loop, %FilePattern% 22 | { 23 | if (A_LoopFileAttrib ~= "A") ; Check if not converting and the file is ready 24 | { 25 | mp3FilePath := A_LoopFileLongPath 26 | scriptlog("Found File: " . mp3FilePath) 27 | wavFilePath := "C:\\Users\\blusc\\Desktop\\femboy sounds\\" . A_LoopFileName . ".wav" 28 | scriptlog("Converting to: " . wavFilePath) 29 | 30 | isConverting := true ; Set the flag to true indicating a conversion is in progress 31 | ; Convert MP3 to WAV using FFmpeg 32 | RunWait, % ComSpec . " /c ffmpeg -i """ mp3FilePath """ """ wavFilePath """", , Hide 33 | scriptlog("Converted to: " . wavFilePath) 34 | 35 | ; Delete the original MP3 file 36 | FileDelete, % mp3FilePath 37 | scriptlog("Deleted: " . mp3FilePath) 38 | } 39 | } 40 | isConverting := false ; Reset the flag after conversion is done 41 | return 42 | 43 | scriptlog("end") -------------------------------------------------------------------------------- /scripts/emoji_regional_speak-Bluscream-PC.ahk: -------------------------------------------------------------------------------- 1 | #SingleInstance Force 2 | #NoEnv 3 | #Persistent 4 | SetWorkingDir %A_ScriptDir% 5 | Process Priority,, Low 6 | 7 | #Hotstring * 8 | 9 | #If GetKeyState("ScrollLock" , "T") ; && #IfWinActive ahk_class Qt5QWindowIcon ahk_exe Ripcord.exe 10 | ::a::🇦 ` 11 | ::b::🇧 ` 12 | ::c::🇨 ` 13 | ::d::🇩 ` 14 | ::e::🇪 ` 15 | ::f::🇫 ` 16 | ::g::🇬 ` 17 | ::h::🇭 ` 18 | ::i::🇮 ` 19 | ::j::🇯 ` 20 | ::k::🇰 ` 21 | ::l::🇱 ` 22 | ::m::🇲 ` 23 | ::n::🇳 ` 24 | ::o::🇴 ` 25 | ::p::🇵 ` 26 | ::q::🇶 ` 27 | ::r::🇷 ` 28 | ::s::🇸 ` 29 | ::t::🇹 ` 30 | ::u::🇺 ` 31 | ::v::🇻 ` 32 | ::w::🇼 ` 33 | ::x::🇽 ` 34 | ::y::🇾 ` 35 | ::z::🇿 ` 36 | ::0::0️⃣ ` 37 | ::1::1️⃣ ` 38 | ::2::2️⃣ ` 39 | ::3::3️⃣ ` 40 | ::4::4️⃣ ` 41 | ::5::5️⃣ ` 42 | ::6::6️⃣ ` 43 | ::7::7️⃣ ` 44 | ::8::8️⃣ ` 45 | ::9::9️⃣ ` 46 | ::*::*️⃣ ` 47 | ::#::#️⃣ ` 48 | :: ::🟦 49 | ::!::❕ 50 | ::?::❔ 51 | 52 | ::ab::🆎 53 | ::cl::🆑 54 | ::sos::🆘 55 | ::wc::🚾 56 | ::atm::🏧 57 | ::100::💯 58 | ::abc::🔤 59 | ::abcd::🔠 60 | ::ng::🆖 61 | ::ok::🆗 62 | ::up::🆙 63 | ::cool::🆒 64 | ::new::🆕 65 | ::free::🆓 66 | ::id::🆔 67 | ::vs::🆚 -------------------------------------------------------------------------------- /scripts/emoji_regional_speak.ahk: -------------------------------------------------------------------------------- 1 | #SingleInstance Force 2 | #NoEnv 3 | #NoTrayIcon 4 | #Persistent 5 | SetWorkingDir %A_ScriptDir% 6 | Process Priority,, Low 7 | 8 | #Hotstring * 9 | 10 | #If GetKeyState("ScrollLock" , "T") ; && #IfWinActive ahk_class Qt5QWindowIcon ahk_exe Ripcord.exe 11 | ::a::🇦 ` 12 | ::b::🇧 ` 13 | ::c::🇨 ` 14 | ::d::🇩 ` 15 | ::e::🇪 ` 16 | ::f::🇫 ` 17 | ::g::🇬 ` 18 | ::h::🇭 ` 19 | ::i::🇮 ` 20 | ::j::🇯 ` 21 | ::k::🇰 ` 22 | ::l::🇱 ` 23 | ::m::🇲 ` 24 | ::n::🇳 ` 25 | ::o::🇴 ` 26 | ::p::🇵 ` 27 | ::q::🇶 ` 28 | ::r::🇷 ` 29 | ::s::🇸 ` 30 | ::t::🇹 ` 31 | ::u::🇺 ` 32 | ::v::🇻 ` 33 | ::w::🇼 ` 34 | ::x::🇽 ` 35 | ::y::🇾 ` 36 | ::z::🇿 ` 37 | ::0::0️⃣ ` 38 | ::1::1️⃣ ` 39 | ::2::2️⃣ ` 40 | ::3::3️⃣ ` 41 | ::4::4️⃣ ` 42 | ::5::5️⃣ ` 43 | ::6::6️⃣ ` 44 | ::7::7️⃣ ` 45 | ::8::8️⃣ ` 46 | ::9::9️⃣ ` 47 | ::*::*️⃣ ` 48 | ::#::#️⃣ ` 49 | :: ::🟦 50 | ::!::❕ 51 | ::?::❔ 52 | 53 | ; ::ab::🆎 54 | ; ::cl::🆑 55 | ; ::sos::🆘 56 | ; ::wc::🚾 57 | ; ::atm::🏧 58 | ; ::100::💯 59 | ; ::abc::🔤 60 | ; ::abcd::🔠 61 | ; ::ng::🆖 62 | ; ::ok::🆗 63 | ; ::up::🆙 64 | ; ::cool::🆒 65 | ; ::new::🆕 66 | ; ::free::🆓 67 | ; ::id::🆔 68 | ; ::vs::🆚 -------------------------------------------------------------------------------- /scripts/ets2 auto pbrake.ahk: -------------------------------------------------------------------------------- 1 | #Include 2 | #Persistent 3 | #SingleInstance Force 4 | Process Priority,, Below Normal 5 | SetTimer, Loop, 1000 6 | TrayTip, AutoHotKey, Started %game_shortname% Auto Parking Brake Disengage, 7 | Return 8 | Loop: 9 | WinWaitActive, %game_title% 10 | data := requestTelemetry() 11 | if (data.game.paused || !data.truck.engineOn) 12 | return 13 | if (data.truck.parkBrakeOn && data.truck.userThrottle) 14 | Send, {Space} 15 | Return -------------------------------------------------------------------------------- /scripts/ets2 flashing high beams.ahk: -------------------------------------------------------------------------------- 1 | #Include 2 | #Persistent 3 | #SingleInstance Force 4 | ; Process Priority,, Below Normal 5 | SetTimer, Loop, 1000 6 | TrayTip, AutoHotKey, "Started " . game_shortname . " Flashing High Beams", 7 | Return 8 | Loop: 9 | if (!WinActive(game_title)) 10 | Return 11 | data := requestTelemetry() 12 | if (data.game.paused || !data.truck.electricOn || !data.truck.lightsBeaconOn) 13 | Return 14 | wait := flashHighBeams(data.truck.lightsBeamHighOn) 15 | Sleep, 150 16 | if (!WinActive(game_title)) 17 | Return 18 | wait := flashHighBeams() 19 | dings() 20 | Return 21 | Return 22 | 23 | dings(){ 24 | Sleep, 100 25 | data := requestTelemetry() 26 | if (data.truck.lightsBeamHighOn) 27 | Send, K 28 | } 29 | 30 | flashHighBeams(lightsBeamHighOn := false) { 31 | if (!lightsBeamHighOn){ 32 | Send, K 33 | Sleep, 20 34 | } 35 | Send, K 36 | } -------------------------------------------------------------------------------- /scripts/ets2 mod linker.ahk: -------------------------------------------------------------------------------- 1 | #SingleInstance Force 2 | ; #NoEnv 3 | SetWorkingDir %A_ScriptDir% 4 | SetBatchLines -1 5 | #Include 6 | EnforceAdmin() 7 | global noui = false 8 | Loop, read, % "S:\Steam\steamapps\common\Euro Truck Simulator 2\Documents\mod\promods.namemap" 9 | { 10 | item := StrSplit(A_LoopReadLine, "=",, 2) 11 | scriptlog("Field number " . item[1] . " is " . item[2] . ".") 12 | } 13 | 14 | WaitForKey("") 15 | Loop, %A_WorkingDir%\*,2,0 16 | { 17 | ; if !RegExMatch(A_LoopFileName, regex_profile) { 18 | if !InStr(A_LoopFileName, "profiles") { 19 | ; scriptlog(A_LoopFileName . " is not a profiles dir!") 20 | Continue 21 | } 22 | } -------------------------------------------------------------------------------- /scripts/ets2 profile decoder.ahk: -------------------------------------------------------------------------------- 1 | #SingleInstance Force 2 | ; #NoEnv 3 | SetWorkingDir %A_ScriptDir% 4 | SetBatchLines -1 5 | #Include 6 | 7 | perm_profiles := [ "Bluscream (SP)" ] 8 | ; regex_profile := "i)profiles" 9 | 10 | scriptlog("Started logging to console") 11 | dirs := 0 12 | profiles := 0 13 | profiles_unique := {} 14 | for i,n in perm_profiles { 15 | scriptlog(n . ": " . StringToHex(n, false)) 16 | } 17 | Loop, %A_WorkingDir%\*,2,0 18 | { 19 | ; if !RegExMatch(A_LoopFileName, regex_profile) { 20 | if !InStr(A_LoopFileName, "profiles") { 21 | ; scriptlog(A_LoopFileName . " is not a profiles dir!") 22 | Continue 23 | } 24 | Result := "HEX;ASCII`r`n" 25 | profiles_in_dir := 0 26 | Loop, %A_LoopFileFullPath%\*,2,0 27 | { 28 | Decoded := HexToString(A_LoopFileName) 29 | Result .= A_LoopFileName . ";" . Decoded . "`r`n" ; . " = " . StringToHex(Decoded, false) 30 | profiles++ 31 | profiles_in_dir++ 32 | profiles_unique[A_LoopFileName] := Decoded 33 | } 34 | dirs++ 35 | filepath := A_LoopFileFullPath . "\index.csv" 36 | scriptlog("Indexed " . profiles_in_dir . " profiles in """ . filepath . """") 37 | WriteToFile(filepath, Result) 38 | } 39 | if (!dirs) { 40 | MsgBox 0x10, No profiles found!, Make sure this script is executed from the same folder as your profile folders!`n`nUsually "%A_MyDocuments%\Euro Truck Simulator 2" 41 | Exit 42 | } 43 | profiles_unique_count := 0 44 | scriptlog("Found profiles:") 45 | Result := "HEX`ASCII`r`n" 46 | for index, value in profiles_unique { 47 | profiles_unique_count++ 48 | Result .= index . ";" . value . "`r`n" 49 | scriptlog(index . ": " . value) 50 | } 51 | WriteToFile(A_WorkingDir . "\profiles_index.csv", Result) 52 | scriptlog("FINISHED: Processed " . profiles . " profiles (" . profiles_unique_count . " unique) in " . dirs . " folders`r`n") 53 | WaitForKey("") 54 | 55 | ; Run, Notepad "%filepath%" -------------------------------------------------------------------------------- /scripts/ets2mp start.ahk: -------------------------------------------------------------------------------- 1 | ; Version 10/18/2018 2 | #Include 3 | #Include 4 | #SingleInstance Force 5 | #NoEnv 6 | SendMode Input 7 | DetectHiddenWindows On 8 | 9 | startMP() 10 | Return -------------------------------------------------------------------------------- /scripts/ets2mp troll.ahk: -------------------------------------------------------------------------------- 1 | ; Version 10/18/2018 2 | #Include 3 | #Include 4 | #Include 5 | #Include 6 | #NoEnv 7 | #Persistent 8 | #InstallKeybdHook 9 | #UseHook On 10 | SendMode Input 11 | #SingleInstance Force 12 | #InputLevel 1 13 | SetBatchLines -1 14 | SetWorkingDir %A_ScriptDir% 15 | Process Priority,, Below Normal 16 | 17 | ; https://gist.github.com/Bluscream/119f09441c512ef267ade38bd4a5c9ce#file-ets2-autoheadlights-ahk 18 | ; Requirements: 19 | ; - https://autohotkey.com/v2/ 20 | ; - https://github.com/cocobelgica/AutoHotkey-JSON/blob/master/JSON.ahk 21 | ; - https://gist.github.com/Bluscream/119f09441c512ef267ade38bd4a5c9ce#file-region-ahk 22 | ; - https://github.com/Funbit/ets2-telemetry-server 23 | 24 | global noui := false 25 | global ui := false 26 | scriptlog("Started logging here...") 27 | 28 | ; SETTINGS START 29 | interval := 500 ; Region will be scanned each "interval" millseconds 30 | ; gosub ^T ; Add a ; infront of this line if you want to press CTRL+L manually to enable the script 31 | ; SETTINGS END 32 | 33 | Return 34 | 35 | ^T:: 36 | active:=!active 37 | troll(active) 38 | SetTimer, Loop, % active ? interval : "Delete" 39 | TrayTip, AutoHotKey, % (active ? "Enabled" : "Disabled") . " " . game_shortname_mp . " Trolling :D", 40 | Return 41 | 42 | troll(enable) { 43 | data := requestTelemetry() 44 | ; global oldgear := data.truck.displayedGear 45 | if (enable) { 46 | ; setGear(-1, data) 47 | } else { 48 | ; setGear(1, data) 49 | } 50 | Return 51 | } 52 | 53 | Loop: 54 | WinWaitActive, %game_title% 55 | data := requestTelemetry() 56 | if (data.game.paused) 57 | return 58 | if (data.truck.lightsBeamLowOn && !data.truck.lightsBeamHighOn) { 59 | Send, K 60 | } else { 61 | Send, L 62 | } 63 | Send, O 64 | Return -------------------------------------------------------------------------------- /scripts/file_operation_notify.ahk: -------------------------------------------------------------------------------- 1 | #Persistent 2 | #NoTrayIcon 3 | #NoEnv 4 | #SingleInstance, force 5 | SetBatchLines, -1 6 | Process, Priority,, BelowNormal 7 | ; #Include 8 | ; EnforceAdmin() 9 | 10 | global title := "ahk_class OperationStatusWindow ahk_exe explorer.exe" 11 | 12 | Loop { 13 | WinWait, % title 14 | OperationStarted("File Operation") ; The window is open, so call the function 15 | startTime := A_TickCount ; Capture the start time 16 | WinWaitClose, % title 17 | duration := (A_TickCount - startTime) ; Calculate the duration in milliseconds 18 | OperationCompleted("File Operation", duration) ; Pass the duration to the function 19 | Sleep, 1000 ; Wait a second before checking again 20 | } 21 | return 22 | 23 | ; f1:: ; Test the functions 24 | ; OperationStarted("Test Operation") 25 | ; Sleep, 5 ; Simulate a 61-second operation 26 | ; OperationCompleted("Test Operation", 61) 27 | 28 | OperationStarted(title) { 29 | WinNotify(title . " started", title . " has started.") ; Show a Windows 11 notification 30 | } 31 | 32 | OperationCompleted(_title, duration) { 33 | duration := Round(duration / 1000) ; Convert milliseconds to seconds and round to the nearest whole number 34 | title := _title . " complete" 35 | msg := _title . " took " . duration . " seconds to complete." 36 | WinNotify(title, msg) ; Show a Windows 11 notification 37 | if (duration > 10) { 38 | ; Execute actions for short operations 39 | Sleep, 300 40 | SoundBeep ; Sound a beep 41 | Sleep, 250 42 | SoundBeep ; Sound a beep 43 | Sleep, 200 44 | SoundBeep ; Sound a beep 45 | } 46 | if (duration > 60) { 47 | HassNotify(msg, title) ; Show a Home Assistant notification 48 | } 49 | } 50 | 51 | WinNotify(title, text) { 52 | cmd := "toast """ . title . """ """ . text . """" 53 | Run, % cmd, , Hide 54 | } 55 | HassNotify(title, text) { 56 | cmd := "powershell -ExecutionPolicy Bypass -File C:\Scripts\hass-notify.ps1 """ . title . """ """ . text . """" 57 | ; MsgBox % cmd 58 | Run, % cmd, , Hide 59 | } 60 | Notify(title, text) { 61 | cmd := "C:\Scripts\notify.bat """ . title . """ """ . text . """" 62 | RunWait, % cmd, , Hide 63 | } -------------------------------------------------------------------------------- /scripts/flightsim.ahk: -------------------------------------------------------------------------------- 1 | #SingleInstance Force 2 | #Persistent 3 | Process, Priority,, High 4 | #Include 5 | global noui := false 6 | EnforceAdmin() 7 | ; Menu, Tray, Icon, % "shell:AppsFolder\Microsoft.FlightSimulator_8wekyb3d8bbwe!App" 8 | Menu, tray, add, -Flight Simulator-, lbl 9 | Menu, tray, add, Kill Game, killGame 10 | Menu, tray, add, (Re)start Game, startGame 11 | global game := new Window("Microsoft Flight Simulator", "AceApp", "FlightSimulator.exe", "C:\Users\Shadow\Desktop\Microsoft Flight Simulator.lnk") 12 | global windows := [] 13 | ; windows.push(new Window("", "ConsoleWindowClass", "vfrmap.exe", "C:\Users\Shadow\Desktop\vfrmap.exe")) 14 | ; windows.push(new Window("", "AutoHotkeyGUI", "ujr.exe", "C:\Users\Shadow\Downloads\ujr.exe")) 15 | SetTimer, CheckWindows, 10000 16 | CheckWindows() { 17 | if (!game.isActive()) 18 | Return 19 | for k, v in windows { 20 | if (!v.exists()) { 21 | v.file.run() 22 | } 23 | } 24 | return 25 | } 26 | lbl() { 27 | pasteToNotepad(toJson(windows, true)) 28 | } 29 | startGame() { 30 | this.kill() 31 | game.file.run() 32 | return 33 | } 34 | killGame() { 35 | window_closed := game.close() 36 | process_closed := game.process.close() 37 | process_killed := game.process.kill(true, true) 38 | return 39 | } 40 | return 41 | ; #IfWinExist, ahk_class AceApp ahk_exe FlightSimulator.exe 42 | ; o::Click Down Right 43 | ; p::Click Up Right 44 | ^F1:: 45 | WinGet, currWin 46 | WinGet, WinList, List 47 | Loop % WinList 48 | { 49 | winID := "ahk_id " WinList%A_Index% 50 | WinGet, ProcessName, ProcessName, % ID 51 | if (ProcessName == "FlightSimulator.exe") { 52 | Winset, AlwaysOnTop, Off, % winID 53 | continue 54 | } 55 | Winset, AlwaysOnTop, On, % winID 56 | WinActivate, % winID 57 | WinShow, % winID 58 | } 59 | return -------------------------------------------------------------------------------- /scripts/force_hide_window.ahk: -------------------------------------------------------------------------------- 1 | ; Function to hide, make transparent, and make click-through the current topmost window 2 | HideAndModifyTopmostWindow() { 3 | ; Get the handle of the topmost window 4 | WinGet, hwnd, ID, A 5 | 6 | ; Attempt to hide the window using different methods 7 | WinHide, ahk_id %hwnd% 8 | WinSet, Style, -0x80000, ahk_id %hwnd% ; Remove WS_VISIBLE style 9 | WinSet, ExStyle, -0x80, ahk_id %hwnd% ; Remove WS_EX_APPWINDOW style 10 | WinSet, ExStyle, -0x20, ahk_id %hwnd% ; Remove WS_EX_TOPMOST style 11 | 12 | ; Make the window transparent 13 | WinSet, Transparent, 200, ahk_id %hwnd% ; Set transparency level (0-255) 14 | 15 | ; Make the window click-through 16 | WinSet, ExStyle, +0x00000020, ahk_id %hwnd% ; Add WS_EX_TRANSPARENT style 17 | 18 | ; Optionally, set the window to be always on top to ensure it remains hidden 19 | WinSet, AlwaysOnTop, Off, ahk_id %hwnd% 20 | } 21 | 22 | ; Hotkey to trigger the function 23 | ^SPACE::HideAndModifyTopmostWindow() 24 | -------------------------------------------------------------------------------- /scripts/getips.ahk: -------------------------------------------------------------------------------- 1 | #SingleInstance Force 2 | #NoEnv 3 | SetWorkingDir %A_ScriptDir% 4 | #Include 5 | #Include 6 | 7 | urls := [ "http://192.168.2.38", "http://192.168.2.39", "http://home.server", "http://minopia.de", "https://minopia.de" ] 8 | 9 | GetFromServer(endpoint) { 10 | response := False 11 | for url in urls { 12 | Try { 13 | response := GetJson(url . endpoint) 14 | if (response) { 15 | return response 16 | } 17 | } 18 | if (response) { 19 | return response 20 | } 21 | } 22 | if (response) { 23 | return response 24 | } 25 | ExitApp 26 | } 27 | 28 | ips := [] 29 | macs := [] 30 | for objItem in ComObjGet("winmgmts:").ExecQuery("SELECT * FROM Win32_NetworkAdapterConfiguration WHERE IPEnabled = TRUE") { 31 | for ip in objItem.IPAddress { 32 | if (ip) 33 | ips.Push(ip) 34 | } 35 | if (objItem.MACAddress) { 36 | if (objItem.MACAddress) ; ? 37 | macs.Push(objItem.MACAddress) 38 | } 39 | } 40 | url := "/api/ip.php?name=Timo-PC&domains=bluscream.pc,timo.pc,gaming.pc" 41 | if (ips.MaxIndex() > 0) { 42 | url .= ("&ips=" . Join(",", ips)) 43 | } 44 | if (macs.MaxIndex() > 0) { 45 | url .= ("&macs=" . join(",", macs)) 46 | } 47 | devices := [] 48 | ; ShowToolTip(url) 49 | Try { 50 | GetFromServer(url) 51 | devices := GetFromServer("/api/devices.json") 52 | } 53 | ; scriptlog(toJson(devices, True)) 54 | 55 | for i, dev in devices { 56 | Try 57 | { 58 | if (dev.name != "" and dev.ip != "") { 59 | Env_UserNew(Format("IP_{:U}", StrReplace(dev.name, "-", "_")), dev.ip) 60 | } 61 | } 62 | } 63 | ExitApp 64 | -------------------------------------------------------------------------------- /scripts/hide_titlebars.ahk: -------------------------------------------------------------------------------- 1 | #SingleInstance force 2 | 3 | ; Exclude the desktop 4 | ; Note: Also excludes "My Computer" browsing windows. 5 | ; Better detection might be needed to differentiate the parent explorer "ahk_id" from child windows. 6 | ; Also seems to disregard accidental Metro interface clicks (Win 8+) 7 | #IfWinNotActive ahk_exe explorer.exe 8 | 9 | ; Set your resolution (minus decorations like start bars if you wish to leave those on-screen. 10 | w = 1920 11 | h = 1080 12 | w_wasted = 6 ; width used by resize bars 13 | h_wasted = 29 ; width used by caption frame and resize bars 14 | 15 | ; Window to fullscreen 16 | LWIN & LButton:: 17 | SetTitleMatchMode, 2 18 | WinGet Style, Style, A 19 | 20 | ; 0xC40000 = WS_BORDER (0x800000) + WS_DLGFRAME (0x400000) + WS_SIZEBOX aka WS_THICKFRAME (0x040000) 21 | if(Style & 0xC00000) { ; if has WS_CAPTION. Ignore sizebox value. 22 | WinGetPos, X, Y, Width, Height, A 23 | WinSet, Style, -0xC40000, A ; removes attributes, including sizebox...doesn't do a strict subtraction 24 | WinMove,A,,0,0,w,h 25 | } else { 26 | WinSet, Style, +0xC40000, A 27 | ; Note: will set WS_SIZEBOX even if not previously present 28 | if(Width > w - w_wasted) { 29 | Width := %w%-%w_wasted% 30 | } 31 | if(Height > h - h_wasted) { 32 | Height := %h%-%h_wasted% 33 | } 34 | WinMove,A,,%X%,%Y%,%Width%,%Height% 35 | } 36 | WinSet Redraw 37 | Return -------------------------------------------------------------------------------- /scripts/houseflipper.ahk: -------------------------------------------------------------------------------- 1 | #NoEnv 2 | SendMode Input 3 | SetWorkingDir %A_ScriptDir% 4 | SetKeyDelay, -1 5 | game_title = House Flipper Game 6 | game_class = UnityWndClass 7 | game_exe = HouseFlipper.exe 8 | game = %game_title% 9 | IfWinExist %game% 10 | winactivate %game% 11 | else 12 | MsgBox, 4, %game% not found, Would you like to start the game now?, 13 | IfMsgBox, Yes 14 | run, "steam://rungameid/613100" ; "G:\House Flipper\HouseFlipper.exe" 15 | WinWait %game% 16 | WinActivate %game% 17 | WinWaitActive %game% 18 | return 19 | #IfWinActive, House Flipper Game 20 | $LCtrl:: 21 | Send {C down} 22 | Return 23 | MButton::Send % "{Click " . ( GetKeyState("LButton") ? "Up}" : "Down}" ) 24 | #IfWinActive 25 | timer: 26 | If (!GetKeyState("LControl", "P")) 27 | { 28 | If (GetKeyState("C", "P")) 29 | { 30 | Send, {C up} 31 | } 32 | } -------------------------------------------------------------------------------- /scripts/hstart.ahk: -------------------------------------------------------------------------------- 1 | if not A_IsAdmin 2 | { 3 | Run *RunAs "%A_ScriptFullPath%" ; Requires v1.0.92.01+ 4 | ExitApp 5 | } 6 | #SingleInstance force 7 | wt := "HSTART - UNREGISTERED VERSION ahk_class #32770 ahk_exe hstart64.exe" 8 | Loop, 2 9 | { 10 | WinWait, %wt% 11 | { 12 | WinActivate, %wt% 13 | WinWaitActive, %wt% 14 | ControlClick, Button1, %wt%, , , , NA 15 | WinWaitClose, %wt% 16 | } 17 | } -------------------------------------------------------------------------------- /scripts/idletimes.ahk: -------------------------------------------------------------------------------- 1 | ; Generated by AutoGUI 2.5.3 2 | #SingleInstance Force 3 | #NoEnv 4 | #InstallKeybdHook 5 | #InstallMouseHook 6 | SetWorkingDir %A_ScriptDir% 7 | SetBatchLines -1 8 | 9 | Gui -MaximizeBox 10 | Gui Add, Text, x16 y8 w120 h21, A_TimeIdle 11 | Gui Add, Text, x16 y40 w120 h21, A_TimeIdlePhysical 12 | Gui Add, Text, x16 y72 w120 h21, A_TimeIdleMouse 13 | Gui Add, Text, x16 y104 w120 h21, A_TimeIdleKeyboard 14 | Gui Add, Edit, x144 y8 w120 h21 +ReadOnly, 0 15 | Gui Add, Edit, x144 y40 w120 h21 +ReadOnly, 0 16 | Gui Add, Edit, x144 y72 w120 h21 +ReadOnly, 0 17 | Gui Add, Edit, x144 y104 w120 h21 +ReadOnly, 0 18 | 19 | Gui Show, w276 h133, AHK IdleTimes 20 | SetTimer, Loop, 1 21 | Return 22 | Loop: 23 | Gui,+LastFound 24 | ControlSetText,Edit1, %A_TimeIdle% 25 | ControlSetText,Edit2, %A_TimeIdlePhysical% 26 | ControlSetText,Edit3, %A_TimeIdleMouse% 27 | ControlSetText,Edit4, %A_TimeIdleKeyboard% 28 | Return 29 | GuiEscape: 30 | GuiClose: 31 | ExitApp 32 | -------------------------------------------------------------------------------- /scripts/ignore win file security errors.ahk: -------------------------------------------------------------------------------- 1 | #SingleInstance, Force 2 | ; #NoTrayIcon 3 | #NoEnv 4 | #Persistent 5 | SetBatchLines, -1 6 | SetWorkingDir, % A_ScriptDir 7 | ; SetTitleMatchMode, 2 8 | title := "Error Applying Security ahk_class #32770 ahk_exe explorer.exe" 9 | button := "&Continue" ; TButton1 ; Ignore 10 | while(true) { 11 | WinWait, %title% 12 | Sleep 1 13 | ControlClick, %button%, %title% 14 | } 15 | ;ClassNN: Text: -------------------------------------------------------------------------------- /scripts/intercept combined example.ahk: -------------------------------------------------------------------------------- 1 | #SingleInstance force 2 | #Persistent 3 | #include Lib\AutoHotInterception.ahk 4 | 5 | global AHI := new AutoHotInterception() 6 | 7 | keyboardId := AHI.GetKeyboardId(0x04D9, 0x1702) 8 | 9 | AHI.SubscribeKey(keyboardId, GetKeySC("2"), true, Func("KeyEvent")) 10 | 11 | cm1 := AHI.CreateContextManager(keyboardId) 12 | return 13 | 14 | KeyEvent(state){ 15 | static ctrlCode := GetKeySC("Ctrl") 16 | global keyboardId 17 | ;~ AHI.SendKeyEvent(keyboardId, ctrlCode, state) 18 | ToolTip % "State: " state 19 | } 20 | 21 | #if cm1.IsActive 22 | ::aaa::JACKPOT 23 | 1:: 24 | ToolTip % "KEY DOWN EVENT @ " A_TickCount 25 | return 26 | 27 | 1 up:: 28 | ToolTip % "KEY UP EVENT @ " A_TickCount 29 | return 30 | #if 31 | 32 | ^Esc:: 33 | ExitApp -------------------------------------------------------------------------------- /scripts/intercept context example.ahk: -------------------------------------------------------------------------------- 1 | #SingleInstance force 2 | #Persistent 3 | #include Lib\AutoHotInterception.ahk 4 | 5 | AHI := new AutoHotInterception() 6 | id1 := AHI.GetKeyboardId(0x04D9, 0x1702, 1) 7 | cm1 := AHI.CreateContextManager(id1) 8 | return 9 | 10 | #if cm1.IsActive 11 | ::aaa::JACKPOT 12 | 1:: 13 | ToolTip % "KEY DOWN EVENT @ " A_TickCount 14 | return 15 | 16 | 1 up:: 17 | ToolTip % "KEY UP EVENT @ " A_TickCount 18 | return 19 | #if 20 | 21 | ^Esc:: 22 | ExitApp -------------------------------------------------------------------------------- /scripts/intercept subscription example.ahk: -------------------------------------------------------------------------------- 1 | #SingleInstance force 2 | #Persistent 3 | #include Lib\AutoHotInterception.ahk 4 | 5 | AHI := new AutoHotInterception() 6 | 7 | keyboardId := AHI.GetKeyboardId(0x04D9, 0x1702) 8 | AHI.SubscribeKey(keyboardId, GetKeySC("1"), true, Func("KeyEvent")) 9 | return 10 | 11 | KeyEvent(state){ 12 | ToolTip % "State: " state 13 | } 14 | 15 | ^Esc:: 16 | ExitApp -------------------------------------------------------------------------------- /scripts/intercept unsubscription example.ahk: -------------------------------------------------------------------------------- 1 | #SingleInstance force 2 | #Persistent 3 | #include Lib\AutoHotInterception.ahk 4 | 5 | ; Demonstrates Subscribe / Unsubscribe (Turn on/off block) dependent on active window 6 | ; Block is active in Notepad, inactive otherwise 7 | 8 | AHI := new AutoHotInterception() 9 | 10 | keyboardId := AHI.GetKeyboardId(0x04D9, 0x1702) 11 | 12 | SetTimer, WatchWin, -0 13 | return 14 | 15 | KeyEvent(state){ 16 | ToolTip % "State: " state 17 | } 18 | 19 | DoSub(state){ 20 | global AHI, keyboardId 21 | if (state){ 22 | AHI.SubscribeKey(keyboardId, GetKeySC("1"), true, Func("KeyEvent")) 23 | } else { 24 | AHI.UnsubscribeKey(keyboardId, GetKeySC("1")) 25 | } 26 | } 27 | 28 | WatchWin: 29 | Loop { 30 | WinWaitActive, ahk_class Notepad 31 | DoSub(true) 32 | WinWaitNotActive, ahk_class Notepad 33 | DoSub(false) 34 | } 35 | return 36 | 37 | ^Esc:: 38 | ExitApp -------------------------------------------------------------------------------- /scripts/joytest.ahk: -------------------------------------------------------------------------------- 1 | JoystickNumber = 0 2 | if JoystickNumber <= 0 3 | { 4 | Loop 16 5 | { 6 | GetKeyState, JoyName, %A_Index%JoyName 7 | if JoyName <> 8 | { 9 | JoystickNumber = %A_Index% 10 | MsgBox, The system detected your joystick as connected to the %A_Index% port. 11 | break 12 | } 13 | } 14 | if JoystickNumber <= 0 15 | { 16 | MsgBox, The system does not appear to have any joysticks. 17 | ExitApp 18 | } 19 | } 20 | Hotkey, %JoystickNumber%Joy1, MyLabel, on 21 | return 22 | 23 | MyLabel: 24 | MsgBox, %A_ThisHotkey% pressed. 25 | return -------------------------------------------------------------------------------- /scripts/killscript.ahk: -------------------------------------------------------------------------------- 1 | #SingleInstance Force 2 | #NoEnv 3 | SetWorkingDir %A_ScriptDir% 4 | SetBatchLines -1 5 | DetectHiddenWindows On 6 | #Include 7 | global noui := true 8 | 9 | for n, param in A_Args { 10 | CloseScript(param) 11 | } -------------------------------------------------------------------------------- /scripts/magick_transparency.ahk: -------------------------------------------------------------------------------- 1 | #SingleInstance Force 2 | #NoEnv 3 | #Persistent 4 | SetWorkingDir %A_ScriptDir% 5 | SetBatchLines -1 6 | DetectHiddenWindows On 7 | global noui := false 8 | #Include 9 | scriptlog(A_ScriptFullPath . " " . Join(" ", A_Args)) 10 | 11 | magick := new File("C:\Program Files\ImageMagick-7.1.0-Q16-HDRI\magick.exe") 12 | 13 | for n, param in A_Args 14 | { 15 | _file := 16 | } 17 | 18 | Return 19 | 20 | 21 | 22 | convert %FILEPATHS% -alpha set -background none -channel A -evaluate multiply @Transparency@ +channel "%PARENTPATH%\transparent\<*%FILENAMES%;^";> -------------------------------------------------------------------------------- /scripts/mmc.ahk: -------------------------------------------------------------------------------- 1 | #Persistent 2 | #NoEnv 3 | #SingleInstance, force 4 | #Include 5 | SetBatchLines, -1 6 | Process, Priority,, Low 7 | ; while (True) { 8 | ; WinWaitClose, ahk_exe javaw.exe 9 | ; Run % "C:\tools\MultiMC\MultiMC.exe -a ""Bluscream"" -l ""Fabric 1.18.1""" 10 | ; WinWait, ahk_exe javaw.exe 11 | ; } 12 | ; Minecraft* 1.18.1 ahk_class GLFW30 13 | 14 | SetTimer, CheckMC, 2500 15 | SetTimer, CheckOBS, 5000 16 | 17 | ; Run % "C:\Windows\system32\schtasks.exe /run /tn ""ahk_killbloat""" 18 | 19 | global obs := new File("C:\Program Files\obs-studio\bin\64bit\obs64.exe") 20 | 21 | return 22 | 23 | CheckMC: 24 | if (!ProcessExist("javaw.exe")) { 25 | Run % "C:\tools\MultiMC\MultiMC.exe -a ""Bluscream"" -l ""Fabric 1.18.1""" 26 | WinWait, ahk_exe MultiMC.exe 27 | Sleep, 10 * 1000 28 | WinActivate, ahk_exe javaw.exe 29 | } 30 | Return 31 | 32 | CheckOBS: 33 | if (!ProcessExist("obs64.exe")) { 34 | obs.run(false, "", "--scene Minecraft --startstreaming") 35 | } 36 | Return 37 | 38 | 39 | ProcessExist(Name){ 40 | Process,Exist,%Name% 41 | return Errorlevel 42 | } -------------------------------------------------------------------------------- /scripts/monitor_shutdown.ahk2: -------------------------------------------------------------------------------- 1 | ; AHK v2 2 | #SingleInstance Force 3 | ; #NoTrayIcon 4 | Persistent 5 | InstallKeybdHook 6 | InstallMouseHook 7 | ProcessSetPriority("Realtime") 8 | 9 | ; The following DllCall is optional: it tells the OS to shut down this script first (prior to all other applications). 10 | DllCall("kernel32.dll\SetProcessShutdownParameters", "UInt", 0x4FF, "UInt", 0) 11 | OnMessage(0x11, WM_QUERYENDSESSION) 12 | return 13 | 14 | WM_QUERYENDSESSION(wParam, lParam, *) 15 | { 16 | ENDSESSION_LOGOFF := 0x80000000 17 | if (lParam & ENDSESSION_LOGOFF) ; User is logging off. 18 | EventType := "Windows user logging off" 19 | else ; System is either shutting down or restarting. 20 | EventType := "Windows shutting down" 21 | Run("C:\Scripts\notify.bat `"" . EventType . "`"") 22 | return true 23 | } -------------------------------------------------------------------------------- /scripts/mouse_cursor_yellow_circle.ahk: -------------------------------------------------------------------------------- 1 | #SingleInstance, force 2 | #Include 3 | ; global script_debug := new Window("BlackSquad (64-bit, DX9)", "LaunchCombatUWindowsClient", "BlackSquadGame.exe") 4 | 5 | CoordMode, Mouse, Screen 6 | Menu, tray, add, Debug, debugFunc 7 | 8 | if (script_debug) { 9 | global file := new Paths.User().desktop.CombineFile("coords", script_debug.title . ".txt") 10 | file.appendLine("[" . A_Now . "] " . script_debug.str()) 11 | global lastX := 0 12 | global lastY := 0 13 | global lastChangeX := "" 14 | global lastChangeY := "" 15 | } else { 16 | Gui, +AlwaysOnTop -Caption -Border +E0x20 17 | Gui, Color, Yellow 18 | Gui, Show, NoActivate w51 h51, MouseSpot 19 | 20 | WinSet, Trans, 100, MouseSpot 21 | WinSet, Region, 0-0 W51 H51 E, MouseSpot 22 | } 23 | 24 | loop ; . (WinActive(script_debug) ? " (Active)" : " (Inactive)" ) ; . "`n" . script_debug 25 | { 26 | MouseGetPos, MX, MY 27 | if (script_debug) { 28 | if (WinActive(script_debug.str())) { 29 | ToolTip, % "x" . MX . " " . lastChangeX . " y" . MY . " " . lastChangeY 30 | } 31 | } else { 32 | WinMove, MouseSpot,, MX - 25, MY - 25 33 | } 34 | Sleep, 25 35 | } 36 | return 37 | 38 | ~LButton:: 39 | Gui, Color, Lime 40 | if (WinActive(script_debug.str())) { 41 | lastChangeX := MX - lastX 42 | lastChangeX := (lastChangeX >= 0) ? "+" . lastChangeX : lastChangeX 43 | lastChangeY := MY - lastY 44 | lastChangeY := (lastChangeY >= 0) ? "+" . lastChangeY : lastChangeY 45 | lastX := MX 46 | lastY := MY 47 | file.appendLine("x" . MX . " " . lastChangeX . " y" . MY . " " . lastChangeY) 48 | } 49 | KeyWait, LButton 50 | Gui, Color, Yellow 51 | return 52 | 53 | ~RButton:: 54 | Gui, Color, Red 55 | KeyWait, RButton 56 | Gui, Color, Yellow 57 | return 58 | 59 | DebugFunc: 60 | PasteToNotepad(toJson(file, true)) 61 | return -------------------------------------------------------------------------------- /scripts/mousecursor/mmbasic.ahk: -------------------------------------------------------------------------------- 1 | #NoEnv ; Recommended for performance and compatibility with future AutoHotkey releases. 2 | ; #Warn ; Enable warnings to assist with detecting common errors. 3 | SendMode Input ; Recommended for new scripts due to its superior speed and reliability. 4 | SetWorkingDir %A_ScriptDir% ; Ensures a consistent starting directory. 5 | #SingleInstance Force 6 | 7 | ; Create an invisible GUI that the picture is placed on: 8 | Gui, -Caption +AlwaysOnTop +ToolWindow ;---- 9 | Gui, Margin , 0, 0 ; | Main Gui settings 10 | Gui, Color, 2B2B2C ;---- 11 | ; 12 | Gui +LastFound ; ---- 13 | WinSet, TransColor, 2B2B2C ; ---| Make this color (and the GUI, for being this color) transparent 14 | 15 | Gui, Add, Picture, x0 y0 vBG, annoM2.png ;---- Add a picture control 16 | Gui, Show, Hide Center ;---- Build/Show the Gui, center it on screen but hide it 17 | 18 | SetTimer, mouseTrack, 20 ; ---- Set a Timer to run itself every 20 miliseconds 19 | 20 | Return ; End Auto-Execute 21 | 22 | ; The timer being called above 23 | mouseTrack: 24 | CoordMode, Mouse, Screen ;---- 25 | global vCurX, vCurY, hWnd, vCtlClassNN ; | Track the mouse position 26 | MouseGetPos, vCurX, vCurY, hWnd, vCtlClassNN ;---- 27 | Return 28 | 29 | ~*RButton:: 30 | mouseX := vCurX-60, mouseY := vCurY-80 ;---- Offset from initial mouse position, origin is top left corner of picture 31 | Gui, Show, x%mouseX% y%mouseY% ;---- Show the gui (unhide) at the newly offset position 32 | Return 33 | 34 | ~*RButton Up:: 35 | Gui, Show, Hide ;----- Hide the gui when the button goes up 36 | Return -------------------------------------------------------------------------------- /scripts/multirightclick.ahk: -------------------------------------------------------------------------------- 1 | #NoEnv ; Recommended for performance and compatibility with future AutoHotkey releases. 2 | #SingleInstance,Force ;limit to a single instance 3 | #MaxThreadsPerHotkey 2 4 | SendMode Input ; Recommended for new scripts due to its superior speed and reliability. 5 | SetWorkingDir %A_ScriptDir% ; Ensures a consistent starting directory. 6 | 7 | ; Define the window titles 8 | windowTitle1 := "Minecraft 1.10.2 ahk_class LWJGL ahk_exe javaw.exe ahk_pid 27136 ahk_id 1640892" 9 | windowTitle2 := "Minecraft 1.10.2 ahk_class LWJGL ahk_exe javaw.exe ahk_pid 6572 ahk_id 14422054" 10 | 11 | ^i:: ; Ctrl + i 12 | Loop{ 13 | Sleep, 300 14 | ; Activate the first window 15 | WinActivate, %windowTitle1% 16 | Click, Right D 17 | Sleep, 300 18 | ; Activate the second window 19 | WinActivate, %windowTitle2% 20 | Click, Right D 21 | Sleep, 300 22 | } 23 | return 24 | return 25 | F1::Reload ; Pause 26 | F2::ExitApp 27 | -------------------------------------------------------------------------------- /scripts/myphoneexplorer-Bluscream-PC.ahk: -------------------------------------------------------------------------------- 1 | #SingleInstance, Force 2 | ; #NoTrayIcon 3 | #NoEnv 4 | #Persistent 5 | SetBatchLines, -1 6 | SetWorkingDir, % A_ScriptDir 7 | 8 | ; #Include 9 | 10 | global title_error := "Attention! ahk_class ThunderRT6FormDC ahk_exe MyPhoneExplorer.exe" 11 | global title_new_device := "New user ahk_class ThunderRT6FormDC ahk_exe MyPhoneExplorer.exe" 12 | 13 | Loop 14 | { 15 | WinWait % title_new_device 16 | WinGetText, winText 17 | ControlSetText, TextBoxU1, %winText% 18 | ControlClick, ThunderRT6CommandButton1, % title_new_device 19 | SleepS(2) 20 | } 21 | 22 | ; Loop 23 | ; { 24 | ; WinWait % title_error 25 | ; ControlClick ThunderRT6CommandButton4, % title_error 26 | ; Sleep 3000 27 | ; ControlClick ThunderRT6CommandButton1, % title_error 28 | ; } -------------------------------------------------------------------------------- /scripts/myphoneexplorer.ahk: -------------------------------------------------------------------------------- 1 | #Include 2 | 3 | #SingleInstance, Force 4 | #NoTrayIcon 5 | #NoEnv 6 | #Persistent 7 | SetBatchLines, -1 8 | SetWorkingDir, % A_ScriptDir 9 | ; 10 | global title := "Attention! ahk_class ThunderRT6FormDC ahk_exe MyPhoneExplorer.exe" 11 | 12 | Loop 13 | { 14 | WinWait % title 15 | ControlClick ThunderRT6CommandButton4, % title 16 | Sleep 3000 17 | ControlClick ThunderRT6CommandButton1, % title 18 | } -------------------------------------------------------------------------------- /scripts/orgb_.ahk: -------------------------------------------------------------------------------- 1 | #SingleInstance Force 2 | #NoEnv 3 | ; #Persistent 4 | SetWorkingDir %A_ScriptDir% 5 | #Include 6 | ; SleepS(15) 7 | global noui := true 8 | scriptlog(A_ScriptFullPath . " " . Join(" ", A_Args)) 9 | #Include 10 | 11 | server := new OpenRGB() 12 | 13 | profiles := ["backlight"] 14 | 15 | for i, profile in profiles { 16 | Loop, 25 { 17 | ; server.load_profile(profile) 18 | Sleep, 50 19 | } 20 | Sleep, 1500 21 | } 22 | ExitApp -------------------------------------------------------------------------------- /scripts/phasmophobia.ahk: -------------------------------------------------------------------------------- 1 | #SingleInstance, force 2 | #Persistent 3 | #Include 4 | 5 | global noui := true 6 | ; scriptlog("Initializing Scripts\phasmophobia.ahk...") 7 | #Include 8 | 9 | global loadout_solo := [] 10 | loadout_solo.push(new LoadoutItem("Photo Camera", -1)) 11 | loadout_solo.push(new LoadoutItem("Lighter", 1)) 12 | loadout_solo.push(new LoadoutItem("Crucifix", -1)) 13 | loadout_solo.push(new LoadoutItem("Salt", 1)) 14 | loadout_solo.push(new LoadoutItem("Smudge Sticks", -1)) 15 | loadout_solo.push(new LoadoutItem("Tripod", 1)) 16 | loadout_solo.push(new LoadoutItem("Strong Flashlight", 1)) 17 | loadout_solo.push(new LoadoutItem("Motion Sensor", 1)) 18 | loadout_solo.push(new LoadoutItem("Thermometer", 1)) 19 | loadout_solo.push(new LoadoutItem("Sanity Pills", -1)) 20 | loadout_solo.push(new LoadoutItem("Ghost Writing Book", -1)) 21 | loadout_solo.push(new LoadoutItem("Head Mounted Camera", 1)) 22 | loadout_solo := new Loadout("Solo", loadout_solo) 23 | 24 | ; scriptlog("Initialized Scripts\phasmophobia.ahk...") 25 | #IfWinActive ahk_class UnityWndClass 26 | F3:: 27 | loadout_solo.apply() 28 | return 29 | F4:: 30 | AddAllItems() 31 | return 32 | F5:: 33 | RemoveAllItems() 34 | Return -------------------------------------------------------------------------------- /scripts/pixelcolor.ahk: -------------------------------------------------------------------------------- 1 | ; Generated by AutoGUI 2.5.3 2 | #SingleInstance Force 3 | #NoEnv 4 | SetWorkingDir %A_ScriptDir% 5 | SetBatchLines -1 6 | 7 | Gui +Resize 8 | Gui Add, Text, x8 y24 w21 h23 +0x200, X: 9 | Gui Add, Edit, x32 y24 w55 h21 +ReadOnly 10 | Gui Add, Text, x96 y24 w20 h23 +0x200, Y: 11 | Gui Add, Edit, x120 y24 w57 h21 +ReadOnly 12 | Gui Add, Text, x8 y64 w31 h23 +0x200, Color: 13 | Gui Add, Edit, x48 y64 w129 h21 +ReadOnly 14 | Gui Add, Text, x8 y104 w14 h23 +0x200, R: 15 | Gui Add, Edit, x32 y104 w37 h21 +ReadOnly 16 | Gui Add, Text, x8 y136 w14 h23 +0x200, G: 17 | Gui Add, Edit, x32 y136 w38 h21 +ReadOnly 18 | Gui Add, Text, x8 y168 w16 h23 +0x200, B: 19 | Gui Add, Edit, x32 y168 w37 h21 +ReadOnly 20 | Gui Add, Text, x8 y208 w44 h23 +0x200, Window: 21 | Gui Add, Edit, x56 y208 w697 h21 +ReadOnly 22 | 23 | Gui Show, w201 h245, Pixel Color 24 | SetTimer, Loop, 1000 25 | Return 26 | Loop: 27 | Gui,+LastFound 28 | MouseGetPos, MouseX, MouseY, MouseWin, MouseCntrl 29 | PixelGetColor, color, %MouseX%, %MouseY% 30 | ControlSetText,Edit1, %MouseX% 31 | ControlSetText,Edit2, %MouseY% 32 | ControlSetText,Edit3, %color% 33 | Red:="0x" SubStr(color,7,2) 34 | Red:=Red+0 35 | ControlSetText,Edit4, %Red% 36 | Green:="0x" SubStr(color,5,2) 37 | Green:=Green+0 38 | ControlSetText,Edit5, %Green% 39 | Blue:="0x" SubStr(color,3,2) 40 | Blue:=Blue+0 41 | ControlSetText,Edit6, %Blue% 42 | WinGetTitle, title, ahk_id %MouseWin% 43 | WinGetClass, class, ahk_id %MouseWin% 44 | WinGet, exe, ProcessName, MouseWin 45 | ControlSetText,Edit7, %title% ahk_class %class% ahk_exe %exe% 46 | ; ControlSetText,Edit8, %MouseCntrl% 47 | Return 48 | 49 | GuiEscape: 50 | GuiClose: 51 | ExitApp 52 | -------------------------------------------------------------------------------- /scripts/playnite.ahk: -------------------------------------------------------------------------------- 1 | #SingleInstance, force 2 | #Persistent 3 | #Include 4 | global playnite := new Window("Playnite", "", "Playnite.DesktopApp.exe") 5 | global playnite_popup := new Window("", "", "Playnite.DesktopApp.exe") 6 | SetTimer, ClickMiddle, 2500 7 | return 8 | ClickMiddle: 9 | if (playnite.exists()){ 10 | playnite_popup.activate() 11 | if (!playnite.isActive() && playnite_popup.isActive()) { 12 | Send, "{Enter}" 13 | } 14 | } else ExitApp -------------------------------------------------------------------------------- /scripts/playstate.ahk: -------------------------------------------------------------------------------- 1 | Home:: 2 | Pause:: 3 | if (toggle := !toggle) { 4 | Process_Suspend("Aurora.exe") 5 | Process_Suspend(PID_or_Name){ 6 | PID := (InStr(PID_or_Name,".")) ? ProcExist(PID_or_Name) : PID_or_Name 7 | h:=DllCall("OpenProcess", "uInt", 0x1F0FFF, "Int", 0, "Int", pid) 8 | If !h 9 | Return -1 10 | DllCall("ntdll.dll\NtSuspendProcess", "Int", h) 11 | DllCall("CloseHandle", "Int", h) 12 | SplashImage, , b FM18 fs12, Suspended, Doodle God: 8-bit Mania 13 | Sleep, 1000 14 | SplashImage, Off 15 | } 16 | } else { 17 | Process_Resume("Aurora.exe") 18 | Process_Resume(PID_or_Name){ 19 | PID := (InStr(PID_or_Name,".")) ? ProcExist(PID_or_Name) : PID_or_Name 20 | h:=DllCall("OpenProcess", "uInt", 0x1F0FFF, "Int", 0, "Int", pid) 21 | If !h 22 | Return -1 23 | DllCall("ntdll.dll\NtResumeProcess", "Int", h) 24 | DllCall("CloseHandle", "Int", h) 25 | SplashImage, , b FM18 fs12, Resumed, Doodle God: 8-bit Mania 26 | Sleep, 1000 27 | SplashImage, Off 28 | } 29 | ProcExist(PID_or_Name=""){ 30 | Process, Exist, % (PID_or_Name="") ? DllCall("GetCurrentProcessID") : PID_or_Name 31 | Return Errorlevel 32 | } 33 | } 34 | return 35 | -------------------------------------------------------------------------------- /scripts/powerprofiles.ahk: -------------------------------------------------------------------------------- 1 | #NoEnv 2 | #Persistent 3 | #SingleInstance, Force 4 | SendMode, Input 5 | SetBatchLines, -1 6 | SetWorkingDir, %A_ScriptDir% 7 | 8 | #Include 9 | profiles := new PowerProfiles() 10 | 11 | Menu, Tray, NoStandard 12 | icon_file := A_WinDir . "\system32\powrprof.dll" 13 | if FileExist(icon_file) { 14 | Menu, Tray, Icon, % icon_file, 4 15 | } 16 | 17 | UpdateTrayMenu() 18 | return 19 | 20 | UpdateTrayMenu() { 21 | global profiles 22 | activeProfile := profiles.GetActive() 23 | 24 | Menu, Tray, DeleteAll 25 | 26 | for _, arg in A_Args { 27 | if (arg = "/extra") { 28 | Menu, Tray, Add, Reload, MenuHandler 29 | Menu, Tray, Add, Exit, MenuHandler 30 | Menu, Tray, Add 31 | } 32 | } 33 | 34 | OutputDebug, % "Found " . profiles.profiles.Count() . " power profiles" 35 | 36 | for id, profile in profiles.profiles { 37 | isActive := profile.IsActive() 38 | 39 | OutputDebug, % "Profile: " . id . "`tActive: " . isActive 40 | . "`n`tName: " . profile.name 41 | . "`n`tDescription: " . profile.description 42 | ; . "`n`tIcon: " . profile.icon 43 | 44 | Menu, Tray, Add, % profile.name, MenuHandler, ; +Radio +Right 45 | ; icon := profile.GetIcon() 46 | ; if FileExist(icon[1]) { 47 | ; OutputDebug, % "Setting icon for " . profile.name . " from " . icon[1] . ", " . icon[2] 48 | ; Menu, Tray, Icon, % profile.name, % icon[1], -512, 20 ; % icon[2] ; , 16 49 | ; } 50 | if (isActive) 51 | Menu, Tray, Check, % profile.name 52 | } 53 | } 54 | 55 | MenuHandler: 56 | if (A_ThisMenuItem = "Exit") { 57 | ExitApp 58 | } else if (A_ThisMenuItem = "Reload") { 59 | Reload 60 | } else { 61 | ; Find and activate the selected profile 62 | if (profile := profiles.GetByName(A_ThisMenuItem)) { 63 | profile.SetActive() 64 | UpdateTrayMenu() 65 | } 66 | } 67 | return -------------------------------------------------------------------------------- /scripts/processvoid.ahk: -------------------------------------------------------------------------------- 1 | ; Sending processes into oblivion! 2 | #Include 3 | #SingleInstance, Force 4 | ; #NoTrayIcon 5 | #NoEnv 6 | #Persistent 7 | SetBatchLines, -1 8 | SetWorkingDir, % A_ScriptDir 9 | SetTitleMatchMode, 2 10 | #Warn 11 | global noui := false 12 | scriptlog("Started logging here.") 13 | Menu, tray, add 14 | Menu, tray, add, List Disabled Processes, ShowGui 15 | Gui Add, Button, x8 y344 w80 h23 gEnableProcess, &Undisable 16 | Gui Add, Button, x224 y344 w80 h23 gHideGui, &Close 17 | settings_file := "ProcessVoid.txt" 18 | IfNotExist, % settings_file, FileAppend,, % settings_file 19 | FileRead, LoadedText, %settings_file% 20 | processes := StrSplit(LoadedText, "`n", "`r") global ProcessList = 21 | For, k, v in processes { 22 | if (StrLen(processes) < 1) { 23 | ProcessList .= v 24 | } else { 25 | ProcessList .= v "|" 26 | } 27 | } 28 | Gui Add, ListBox, x8 y8 w299 h329 vProcessListBox, %ProcessList% 29 | scriptlog("test") 30 | running := false 31 | while(running) 32 | { 33 | For k, tokill in processes 34 | { 35 | scriptlog("k: " . k . " v: " . tokill) 36 | Process, Exist, % tokill 37 | If (ErrorLevel != 0) 38 | { 39 | Process, Close, % tokill 40 | } 41 | } 42 | Sleep, 1000 43 | } 44 | Return 45 | 46 | ShowGui() { 47 | Gui Show, w315 h378, Disabled Processes 48 | } 49 | HideGui() { 50 | Gui Hide 51 | } 52 | DisableProcess(name) { 53 | ProcessList .= "|" name ; add to the 54 | GuiControl, , ProcessListBox, %ProcessList% 55 | } 56 | EnableProcess() { 57 | if ProcessListBox = 58 | return 59 | scriptlog(ProcessList) 60 | StringReplace, ProcessList, ProcessList, %ProcessListBox%| 61 | scriptlog(ProcessList) 62 | GuiControl, , ProcessListBox, |%ProcessList% 63 | scriptlog(ProcessList) 64 | } -------------------------------------------------------------------------------- /scripts/pycharm.ahk: -------------------------------------------------------------------------------- 1 | #SingleInstance, Force 2 | #NoTrayIcon 3 | #Persistent 4 | #NoEnv 5 | SetTitleMatchMode, 2 6 | CoordMode, Mouse, Client 7 | 8 | path := "%userprofile%\PATH\PhpStorm.cmd" 9 | title := "Evaluation License Expired ahk_class SunAwtDialog ahk_exe phpstorm64.exe" 10 | 11 | Loop{ 12 | Sleep, 500 13 | WinWait, %title% 14 | if !WinActive(title){ 15 | WinActivate, %title% 16 | Sleep, 50 17 | } 18 | Click(523, 75) 19 | Sleep, 200 20 | if WinExist(title) { 21 | Click(267, 67) 22 | Sleep, 1000 23 | Run, %path% 24 | } 25 | } 26 | 27 | Click(x,y){ 28 | MouseGetPos, oldX, oldY 29 | Click, %x%, %y% 30 | MouseMove, oldX, oldY 31 | } 32 | 33 | ; Screen: 555, 640 (less often used) 34 | ; Window: 526, 97 (default) 35 | ; Client: 523, 75 (recommended) 36 | ; Color: FFE9E1 (Red=FF Green=E9 Blue=E1) 37 | 38 | 39 | ; Screen: 2766, 747 (less often used) 40 | ; Window: 270, 89 (default) 41 | ; Client: 267, 67 (recommended) 42 | ; Color: 4C5052 (Red=4C Green=50 Blue=52) -------------------------------------------------------------------------------- /scripts/pycharm_accept_cert.ahk: -------------------------------------------------------------------------------- 1 | ; Always run as admin 2 | if not A_IsAdmin 3 | { 4 | Run *RunAs "%A_ScriptFullPath%" ; Requires v1.0.92.01+ 5 | ExitApp 6 | } 7 | #SingleInstance, Force 8 | #Persistent 9 | Start: 10 | SetTimer, CloseDialogue 11 | CloseDialogue: 12 | WinWaitActive, Untrusted Server's Certificate 13 | SendInput {enter} 14 | PostMessage, 0x112, 0xF060,,, Untrusted Server's Certificate 15 | Sleep 50 16 | Return 17 | Sleep 500 18 | Goto, Start -------------------------------------------------------------------------------- /scripts/randommousemover-Bluscream-PC.ahk: -------------------------------------------------------------------------------- 1 | CoordMode, mouse, window 2 | 3 | global interval_min := 29 ; seconds 4 | global interval_max := 61 ; seconds 5 | global tooltips := false 6 | 7 | global toggle := 0 8 | 9 | Menu, TRAY, add, Toggle Mouse Mover, ToggleMouseMover 10 | Gui Add, CheckBox, vg_BackupOnSave x12 y93 w300 h23 +Checked%g_BackupOnSave% 11 | ; SetTimer, MoveTheMouse, -%time% 12 | 13 | ^ESC::ExitApp 14 | F1::ToggleMouseMover() 15 | 16 | return 17 | 18 | ToggleMouseMover() { 19 | global interval_min, interval_max, toggle, tooltips 20 | ; MouseGetPos, MouseX, MouseY 21 | if (toggle == 1) { 22 | toggle := 0 23 | Menu, Tray, UnCheck, Toggle Mouse Mover 24 | SetTimer, MoveTheMouse, off 25 | if (tooltips) { 26 | ToolTip, % "Stopped Mouse mover" 27 | Sleep, 5000 28 | ToolTip 29 | } 30 | } else { 31 | toggle := 1 32 | Menu, Tray, Check, Toggle Mouse Mover 33 | Random, interval, % interval_min, % interval_max 34 | SetTimer, MoveTheMouse, % interval*1000 ; gosub, MoveTheMouse 35 | if (tooltips) { 36 | ToolTip, % "Started Mouse mover with " . interval . "s interval" 37 | Sleep, % interval*1000 38 | ToolTip 39 | } 40 | } 41 | return 42 | } 43 | 44 | MoveTheMouse: 45 | Random, x, 1, % A_ScreenWidth 46 | Random, y, 1, % A_ScreenHeight 47 | Random, speed, 1, 100 48 | MouseMove, % x, % y, % speed 49 | ; Random, Time, 1000*60, 1000*60*2 50 | return -------------------------------------------------------------------------------- /scripts/randommousemover.ahk: -------------------------------------------------------------------------------- 1 | CoordMode, mouse, window 2 | 3 | toggle := 0, fixedY := A_ScreenHeight/2 ; choose the y you like 4 | 5 | SetTimer, MoveTheMouse, -%time% 6 | 7 | F1:: 8 | MouseGetPos, MouseX, MouseY 9 | if toggle := !toggle 10 | gosub, MoveTheMouse 11 | else 12 | SetTimer, MoveTheMouse, off 13 | return 14 | 15 | MoveTheMouse: 16 | Random, x, 1, % A_ScreenWidth 17 | MouseMove, %x%, %fixedY%, 100 18 | Random, Time, 1000*60, 1000*60*5 19 | SetTimer, MoveTheMouse, -%time% ; every 3 seconds 20 | return -------------------------------------------------------------------------------- /scripts/rect_show-Bluscream-PC.ahk: -------------------------------------------------------------------------------- 1 | #SingleInstance, force 2 | 3 | GetRect() 4 | 5 | ESC:: 6 | Gui, Destroy 7 | GetRect() 8 | return 9 | GetRect() { 10 | c := ParseCoords(GetCoords()) 11 | if (!c || c == "") { 12 | ExitApp 13 | } 14 | AddRect(c[1],c[2],c[3],c[4]) 15 | } 16 | GetCoords() { 17 | InputBox, inputBox, Enter x y w h, , , , , , , , , 100 100 200 200 18 | return inputBox 19 | } 20 | ParseCoords(text) { 21 | StringSplit, i, text, ` ` 22 | return [i1,i2,i3,i4] 23 | } 24 | AddRect(x,y,w,h) { 25 | global MyText 26 | Gui, -Caption +AlwaysOnTop +E0x20 27 | ; Gui, Color, 60FFFFFF 28 | Gui, Margin, 0, 0 29 | Gui, Add, Text, vMyText x%x% y%y% w%w% h%h%, 30 | Gui, Show, x%x% y%y% w%w% h%h%, Rect %x%,%y%,%w%,%h% 31 | } -------------------------------------------------------------------------------- /scripts/rect_show.ahk: -------------------------------------------------------------------------------- 1 | #SingleInstance, force 2 | 3 | GetRect() 4 | 5 | ESC:: 6 | Gui, Destroy 7 | GetRect() 8 | return 9 | GetRect() { 10 | c := ParseCoords(GetCoords()) 11 | AddRect(c[1],c[2],c[3],c[4]) 12 | } 13 | GetCoords() { 14 | InputBox, inputBox, Enter x y w h, , , , , , , , , 100 100 200 200 15 | return inputBox 16 | } 17 | ParseCoords(text) { 18 | StringSplit, i, text, ` ` 19 | return [i1,i2,i3,i4] 20 | } 21 | AddRect(x,y,w,h) { 22 | global MyText 23 | Gui, -Caption +AlwaysOnTop +E0x20 24 | ; Gui, Color, 60FFFFFF 25 | Gui, Margin, 0, 0 26 | Gui, Add, Text, vMyText x%x% y%y% w%w% h%h%, 27 | Gui, Show, x%x% y%y% w%w% h%h%, Rect %x%,%y%,%w%,%h% 28 | } -------------------------------------------------------------------------------- /scripts/rotator.ahk: -------------------------------------------------------------------------------- 1 | #Persistent 2 | ; #Warn 3 | #SingleInstance, force 4 | #MaxHotkeysPerInterval, 250 5 | SetBatchLines, -1 6 | Process, Priority,, Low 7 | SetWorkingDir, % A_ScriptDir 8 | CoordMode, Mouse, Screen 9 | 10 | global enabled := false 11 | global speed := 50 12 | 13 | return 14 | 15 | ScrollLock:: 16 | enabled := !enabled 17 | if (enabled) { 18 | SetTimer, RotateScreen, 10 19 | } else { 20 | SetTimer, RotateScreen, Off 21 | } 22 | SetScrollLockState % !GetKeyState("ScrollLock", "T") 23 | return 24 | 25 | MButton:: 26 | speed := 0 27 | return 28 | WheelUp:: 29 | speed := speed + 5 30 | return 31 | WheelDown:: 32 | speed := speed - 5 33 | return 34 | 35 | RotateScreen: 36 | MouseGetPos, x, y 37 | MouseMove, % x - speed, y, 0 38 | return 39 | 40 | F1:: 41 | ExitApp 42 | return 43 | -------------------------------------------------------------------------------- /scripts/set_background_color.ahk: -------------------------------------------------------------------------------- 1 | #Persistent 2 | #NoEnv 3 | #SingleInstance, force 4 | SetBatchLines, -1 5 | 6 | SetWallpaper("D:\Pictures\bliss.png") 7 | 8 | return 9 | SetTimer, CheckWallpaperEngine, 1000 ; Check every second 10 | return 11 | 12 | CheckWallpaperEngine: 13 | if !ProcessExist("WallpaperEngine.exe") ; If Wallpaper Engine is not running 14 | { 15 | 16 | SetDesktopColor(0, 0, 0) ; Set the desktop background to black 17 | ExitApp ; Exit the script 18 | } 19 | return 20 | 21 | ProcessExist(Name) { 22 | Process, Exist, %Name% 23 | return ErrorLevel 24 | } 25 | 26 | SetDesktopColor(R, G, B) { 27 | COLOR_DESKTOP := 1 28 | DllCall("SetSysColors", "Int", 1, "Int*", COLOR_DESKTOP, "UInt*", (R << 16) | (G << 8) | B) 29 | } 30 | SetWallpaper(WallpaperFile) { 31 | DllCall("SystemParametersInfo", "Uint", 20, "Uint", 0, "Str", WallpaperFile, "Uint", 2) 32 | } -------------------------------------------------------------------------------- /scripts/shift_toggle.ahk: -------------------------------------------------------------------------------- 1 | #SingleInstance, force 2 | #Persistent 3 | #Include 4 | 5 | ; toggle := GetKeyState("Shift") 6 | 7 | Loop { 8 | WinWaitNotActive ahk_class UnityWndClass 9 | Send {shift up} 10 | SleepS(1) 11 | } 12 | Return 13 | 14 | #IfWinActive ahk_class UnityWndClass 15 | W:: 16 | A:: 17 | S:: 18 | D:: 19 | Send {shift down} 20 | -------------------------------------------------------------------------------- /scripts/shutdownGUI.ahk: -------------------------------------------------------------------------------- 1 | #Persistent 2 | #SingleInstance Force 3 | #NoTrayIcon 4 | WinMinimizeAll 5 | Period=60 6 | 7 | Gui, +AlwaysOnTop -Disabled -SysMenu +Owner -Caption -ToolWindow 8 | Gui, Font, s27 cFFFFFF, Ariel 9 | pos_x := (A_ScreenWidth/2)-100 10 | pos_y := (A_ScreenHeight/2)-40 11 | pos_x2 := (A_ScreenWidth-45) 12 | Gui, Add, Button, x%pos_x% y%pos_y% h80 w200 gHibernate, Hibernate 13 | Gui, Add, Button, xs-250 y%pos_y% h80 w200 gLockPC, Lock PC 14 | Gui, Add, Button, xs-500 y%pos_y% h80 w200 gSwitchUser, Switch user 15 | Gui, Add, Button, xs+500 y%pos_y% h80 w200 gShutdown, Shutdown 16 | Gui, Add, Button, xs+250 y%pos_y% h80 w200 gRestart, Restart 17 | Gui, Add, Button, x%pos_x% ys+130 h80 w200 gCancel, Cancel 18 | Gui, Add, Button, x%pos_x2% y10 h30 w30 gCancel, X 19 | Gui, Font, s55 cFFFFFF, Ariel 20 | Gui, Add, Text, xs-500 ys-200 w1400 vPeriod, Full System Shutdown in %Period%` seconds 21 | Gui, Font, s35 cFFFFFF, Ariel 22 | Gui, Color, 000000 23 | Gui, Show, x0 y0 h%A_ScreenHeight% w%A_ScreenWidth%, ScreenMask 24 | WinSet, Transparent, 200, ScreenMask 25 | SetTimer, ShutDownTimer, 1000 26 | Return 27 | 28 | ShutDownTimer: 29 | Period -= 1 30 | GuiControl,,Period,Full System Shutdown in %Period%` seconds 31 | If ( Period=0 ) { 32 | ShutDown, 4+1+8 33 | BlockInput, On 34 | DllCall("ShowCursor", "Int", 0) 35 | Gui, Destroy 36 | } 37 | Return 38 | 39 | Shutdown: 40 | ShutDown, 4+1+8 41 | BlockInput, On 42 | DllCall("ShowCursor", "Int", 0) 43 | Gui, Destroy 44 | Return 45 | 46 | LockPC: 47 | WinMinimizeAllUndo 48 | Gui, Destroy 49 | DllCall("LockWorkStation") 50 | ExitApp 51 | Return 52 | 53 | SwitchUser: 54 | Run %SystemRoot%\System32\Tsdiscon.exe 55 | Process, priority, Tsdiscon.exe, High 56 | WinMinimizeAllUndo 57 | Gui, Destroy 58 | ExitApp 59 | 60 | Restart: 61 | Shutdown, 4+2 62 | BlockInput, On 63 | DllCall("ShowCursor", "Int", 0) 64 | Gui, Destroy 65 | Return 66 | 67 | Hibernate: 68 | WinMinimizeAllUndo 69 | Gui, Destroy 70 | DllCall("PowrProf\SetSuspendState", "int", 1, "int", 1, "int", 0) 71 | ExitApp 72 | Return 73 | 74 | Cancel: 75 | WinMinimizeAllUndo 76 | Gui, Destroy 77 | sleep 500 78 | exitapp 79 | return 80 | 81 | Esc:: 82 | WinMinimizeAllUndo 83 | Gui, Destroy 84 | sleep 500 85 | ExitApp -------------------------------------------------------------------------------- /scripts/sirens.ahk: -------------------------------------------------------------------------------- 1 | #Persistent 2 | #InstallKeybdHook 3 | #UseHook 1 4 | #SingleInstance force 5 | #include 6 | EnforceAdmin() 7 | 8 | ; Initialize variables to keep track of the current sound and its state 9 | currentSound := "" 10 | isPlaying := false 11 | 12 | ; Define hotkeys for the numpad keys 1-9 13 | Numpad1::ToggleSound("innen/martinshorn-pressluft.wav") 14 | Numpad2::ToggleSound("innen/martinshorn-pressluft2.wav") 15 | Numpad3::ToggleSound("innen/rtw.wav") 16 | Numpad4::ToggleSound("innen/polizei-land-alt.wav") 17 | Numpad5::ToggleSound("innen/polizei.wav") 18 | ; Add more numpad keys as needed 19 | 20 | ; Add a hotkey for Numpad0 to stop all sounds 21 | Numpad0::StopAllSounds() 22 | 23 | ToggleSound(soundFile) { 24 | global currentSound, isPlaying 25 | soundPath := A_ScriptDir . "\sirens\" . soundFile 26 | scriptlog(soundPath) 27 | ; If the same sound is already playing, stop it 28 | if (currentSound = soundFile && isPlaying) { 29 | SoundPlay, %soundPath%, 1 30 | isPlaying := false 31 | currentSound := "" 32 | } else { 33 | ; Stop the current sound if any 34 | if (currentSound != "" && isPlaying) { 35 | SoundPlay, %currentSound%, 1 36 | isPlaying := false 37 | } 38 | ; Play the new sound in a loop 39 | isPlaying := true 40 | currentSound := soundFile 41 | while (isPlaying) { 42 | SoundPlay, %soundPath%, 1 43 | Sleep, 5000 ; Adjust the sleep duration to match the sound's length 44 | } 45 | } 46 | } 47 | 48 | StopAllSounds() { 49 | global currentSound, isPlaying 50 | ; Stop the current sound if any 51 | if (currentSound != "" && isPlaying) { 52 | SoundPlay, %A_ScriptDir%\nonexistant.mp3, 1 53 | isPlaying := false 54 | currentSound := "" 55 | } 56 | } 57 | -------------------------------------------------------------------------------- /scripts/space_engineers.ahk: -------------------------------------------------------------------------------- 1 | #SingleInstance, force 2 | #Persistent 3 | #Include 4 | 5 | ; Space Engineers ahk_class WindowsForms10.Window.8.app.0.2804c64_r10_ad1 ahk_exe SpaceEngineers.exe ahk_pid 24352 6 | 7 | Loop { 8 | WinWaitNotActive ahk_exe SpaceEngineers.exe 9 | Send {LAlt up} 10 | SleepS(1) 11 | } 12 | Return 13 | 14 | #IfWinActive ahk_exe SpaceEngineers.exe 15 | F:: 16 | Send {LAlt down} 17 | -------------------------------------------------------------------------------- /scripts/spacify.ahk: -------------------------------------------------------------------------------- 1 | Loop 2 | { 3 | Input, var, L1 v 4 | Send {space} 5 | } 6 | return 7 | 8 | ^Esc::ExitApp -------------------------------------------------------------------------------- /scripts/split_clipboard.ahk: -------------------------------------------------------------------------------- 1 | #NoTrayIcon 2 | #NoEnv 3 | #SingleInstance, force 4 | SetBatchLines, -1 5 | Process, Priority,, High 6 | #Include 7 | global no_ui := false 8 | ; Read the clipboard content 9 | clipboard_content := Clipboard 10 | 11 | scriptlog("clipboard: " . clipboard_content) 12 | 13 | ; Split the content into chunks of 499 characters 14 | chunk_size := 499 15 | chunks := [] 16 | Loop, Parse, clipboard_content, % chunk_size 17 | { 18 | chunks.Push(A_LoopField) 19 | } 20 | 21 | ; Counter to keep track of the current chunk index 22 | chunk_index := 1 23 | ; Flag to indicate whether the next chunk should be set on clipboard 24 | set_next_chunk := true 25 | ; Register the hotkey 26 | ^v:: 27 | set_next_chunk := true 28 | return 29 | +Insert:: 30 | set_next_chunk := true 31 | return 32 | 33 | ; Main loop to set the chunks on clipboard 34 | Loop 35 | { 36 | if (set_next_chunk) 37 | { 38 | ; Get the next chunk 39 | chunk := chunks[chunk_index] 40 | 41 | ; Set the chunk on clipboard 42 | Clipboard := chunk 43 | 44 | ; Update the chunk index and reset the flag 45 | chunk_index := (chunk_index + 1) / chunks.Length() 46 | set_next_chunk := false 47 | scriptlog("ready to paste chunk " . Clipboard) 48 | } 49 | ; Sleep to reduce CPU usage 50 | Sleep 100 51 | } 52 | -------------------------------------------------------------------------------- /scripts/ssh.ahk: -------------------------------------------------------------------------------- 1 | ; https://gist.github.com/Bluscream/119f09441c512ef267ade38bd4a5c9ce#file-copywrite-ahk 2 | #Persistent 3 | ; #NoTrayIcon 4 | #NoEnv 5 | #SingleInstance, force 6 | SetBatchLines, -1 7 | Process, Priority,, Low 8 | #Include 9 | ; EnforceAdmin() 10 | global noui = false 11 | ; SendMode, Event ; |Play|Input|InputThenPlay 12 | ; SetKeyDelay, 50, 50 13 | OnClipboardChange("ClipChanged", -1) 14 | global ClipAlt := "" 15 | return 16 | 17 | ClipChanged(Type) { 18 | ; scriptlog("ClipChanged?type=" . Type . "&hastext=" . Clipboard_HasText()) 19 | If (!(Type = 1) and !Clipboard_HasText()) { 20 | Return 21 | } 22 | Clip := Trim(Clipboard) 23 | if (if Clip is space) { 24 | Clip := Trim(Clipboard_GetText()) 25 | } 26 | if (ClipAlt == Clip) { 27 | Return 28 | } 29 | ; scriptlog("ClipAlt: " + ClipAlt) 30 | Clip := StrReplace(Clip, "apt-get", "aptitude") 31 | if (startsWith(Clip, "aptitude")) { 32 | if (!startsWith(Clip, "sudo ")) { 33 | Clip := "sudo " . Clip 34 | } 35 | if ("-y" not in Clip) { 36 | Clip := Clip . " -y" 37 | } 38 | Clip := Trim(Clip) 39 | } 40 | if (Clipboard != Clip) { 41 | Clipboard := Clip 42 | } 43 | ClipAlt := Clipboard 44 | } 45 | ; ------------------------------------------- 46 | Clipboard_HasText() { 47 | Static CF_NATIVETEXT := A_IsUnicode ? 13 : 1 ; CF_UNICODETEXT = 13, CF_TEXT = 1 48 | Return DllCall("IsClipboardFormatAvailable", "UInt", CF_NATIVETEXT, "UInt") 49 | } 50 | ; ------------------------------------------- 51 | Clipboard_GetText() { 52 | Static CF_NATIVETEXT := A_IsUnicode ? 13 : 1 ; CF_UNICODETEXT = 13, CF_TEXT = 1 53 | ClipText := "" 54 | If DllCall("OpenClipboard", "Ptr", 0, "UInt") { 55 | If (HMEM := DllCall("GetClipboardData", "UInt", CF_NATIVETEXT, "UPtr")) { 56 | Chrs := DllCall("GlobalSize", "Ptr", HMEM, "Ptr") >> !!A_IsUnicode 57 | If (PMEM := DllCall("GlobalLock", "Ptr", HMEM, "UPtr")) { 58 | ClipText := StrGet(PMEM, Chrs) 59 | DllCall("GlobalUnlock", "Ptr", HMEM) 60 | } 61 | } 62 | DllCall("CloseClipboard") 63 | } 64 | Return ClipText 65 | } -------------------------------------------------------------------------------- /scripts/table.ahk: -------------------------------------------------------------------------------- 1 | mylist = 2 | ( 3 | John,Lennon,1940,rythm guitar 4 | Paul,McCartney,1942,bass guitar 5 | George,Harrison,1943,solo guitar 6 | Ringo,Star,1940,drums 7 | ) 8 | 9 | Gui, Color, EEAA99 10 | gui, font, s20, Verdana 11 | Gui, Add, ListView, Grid -ReadOnly, Name|Last Name|Year of birth|Instrument 12 | Gui, Add, button, gexit, Exit 13 | 14 | 15 | loop, parse, mylist, `n 16 | { 17 | row := A_LoopField 18 | gosub, thinner 19 | } 20 | gosub, show 21 | return 22 | 23 | thinner: 24 | loop, parse, row, `, 25 | { 26 | ;msgbox % A_LoopField 27 | box%A_Index% := A_LoopField 28 | } 29 | ;msgbox % "boxes are:`n" . box1 . box2 . box3 . box4 30 | LV_Add("", box1, box2, box3, box4) 31 | return 32 | 33 | show: 34 | LV_ModifyCol(1,100) 35 | LV_ModifyCol(2,100) 36 | LV_ModifyCol(3,100) 37 | LV_ModifyCol(4,100) 38 | LV_ModifyCol(2, "AutoHdr") 39 | LV_ModifyCol(3, "AutoHdr Center") 40 | Gui, Show, , The Beatles 41 | return 42 | 43 | esc:: 44 | exitapp 45 | 46 | GuiClose: 47 | ExitApp 48 | 49 | exit: 50 | exitapp -------------------------------------------------------------------------------- /scripts/teaclient.ahk: -------------------------------------------------------------------------------- 1 | #SingleInstance Force 2 | #NoEnv 3 | 4 | #Include 5 | global window := new Window("TeaClient", "Chrome_WidgetWin_1", "TeaClient.exe") 6 | window.process.file := new File("C:\Program Files (x86)\TeaSpeak\Client\TeaClient.exe") 7 | 8 | servers := { "46.20.46.241":10244,"185.194.236.158":9170,"212.224.121.13":2022 } 9 | 10 | for ip, port in servers { 11 | RunServer(ip, port) 12 | if (!window.exists()) { 13 | WinWait, % window.str() 14 | Sleep, 12000 15 | } 16 | sleep, 1000 17 | } 18 | 19 | RunServer(ip, port:=9987) { 20 | uri := "teaclient://" . ip . "/?port=" . port . "&connect_default=1" 21 | ; SplashScreen(server, "Connecting...") 22 | ; Run % "start """" """ . uri . """" 23 | _path := window.process.file.path . " " . uri 24 | Run, % _path, window.process.file.directory, Min, pid 25 | } 26 | ExitApp -------------------------------------------------------------------------------- /scripts/template.ahk: -------------------------------------------------------------------------------- 1 | #NoEnv ; Recommended for performance and compatibility with future AutoHotkey releases. 2 | ; #Warn ; Enable warnings to assist with detecting common errors. 3 | SendMode Input ; Recommended for new scripts due to its superior speed and reliability. 4 | SetWorkingDir %A_ScriptDir% ; Ensures a consistent starting directory. 5 | -------------------------------------------------------------------------------- /scripts/test.ahk: -------------------------------------------------------------------------------- 1 | #include 2 | global no_ui := false 3 | scriptlog("Starting...") 4 | 5 | ArrayOfMP3:=Object() 6 | Loop, 5 ;Create fake array 7 | ArrayOfMP3.Insert("D:\" . A_Index . ".mp3") 8 | Gui, Default 9 | Gui, Add, ListView, W600 H500 Checked Grid -Sort vMylistview gListLabel -Multi, Title|Artist 10 | Loop, % ArrayOfMP3.MAxIndex() 11 | LV_Add("Check","Title " . A_Index,"Artist " . A_Index) ;Fake listview items 12 | LV_ModifyCol() 13 | Gui, show 14 | GuiControl, +AltSubmit, Mylistview 15 | return 16 | 17 | ListLabel: 18 | if (A_GuiEvent = "I") 19 | { 20 | if InStr(ErrorLevel, "c", true) 21 | { 22 | LV_GetText(Title, A_EventInfo, 1) 23 | LV_GetText(Artist, A_EventInfo, 2) 24 | msgbox % "Remove:`nTitle = " . Title "`nArtist = " . Artist 25 | } 26 | if InStr(ErrorLevel, "C", true) 27 | { 28 | LV_GetText(Title, A_EventInfo, 1) 29 | LV_GetText(Artist, A_EventInfo, 2) 30 | msgbox % "Insert:`nTitle = " . Title "`nArtist = " . Artist 31 | } 32 | } 33 | return 34 | 35 | ListGUIClose: 36 | ListGUIEscape: 37 | ExitApp -------------------------------------------------------------------------------- /scripts/tests/am.ahk: -------------------------------------------------------------------------------- 1 | #SingleInstance Force 2 | SetWorkingDir %A_ScriptDir% 3 | #Include 4 | ; EnforceAdmin() 5 | global noui := false 6 | scriptlog("init start") 7 | global subscribed_windows := [] 8 | #Include 9 | global am := new AutoMagic("Timo-Tablet") 10 | 11 | am.createToast("Test") 12 | am.lock() 13 | am.off() 14 | 15 | SleepS(2) 16 | am.on() 17 | am.unlock() -------------------------------------------------------------------------------- /scripts/tests/testcustomsimple.ahk: -------------------------------------------------------------------------------- 1 | /* 2 | This file shows a custom, barebones test script made functional without using any other libs 3 | */ 4 | 5 | global errorcode := 0 6 | 7 | /* 8 | Tests 9 | */ 10 | 11 | assert( 4+3 == 2+5, "Simple_Addition_Check") 12 | 13 | s := "28" 14 | s += "42" 15 | i := 28 16 | i += 42 17 | assert( s == i, "Number_In_String_Concat_Test") 18 | 19 | assert(Instr("abcd", "b") == 2, "Instr_Check") 20 | 21 | /* 22 | Exit 23 | */ 24 | 25 | ExitApp, % errorcode 26 | return 27 | 28 | 29 | assert(eq, testName, msgFail=""){ 30 | if (!eq){ 31 | FileAppend, FAIL: %testName% %msgFail%`n, * 32 | errorcode := 1 33 | } else { 34 | FileAppend, PASS: %testName%`n, * 35 | } 36 | } -------------------------------------------------------------------------------- /scripts/ts_bad_hotkeys.ahk: -------------------------------------------------------------------------------- 1 | #SingleInstance force 2 | 3 | DisabledKeys := ["^d", "^w", "^q"] 4 | #IfWinActive, TeamSpeak 3 5 | Loop % DisabledKeys.MaxIndex() 6 | Hotkey, % DisabledKeys[A_Index], DoNothing 7 | #IfWinActive 8 | Return ; end of autoexec section 9 | 10 | DoNothing: 11 | Return -------------------------------------------------------------------------------- /scripts/unity.ahk: -------------------------------------------------------------------------------- 1 | #Persistent 2 | #include 3 | SetBatchLines, -1 4 | Process, Priority,, High 5 | 6 | global show_ui := true 7 | 8 | Gui +LastFound 9 | hWnd := WinExist() 10 | 11 | DllCall( "RegisterShellHookWindow", UInt,hWnd ) 12 | MsgNum := DllCall( "RegisterWindowMessage", Str,"SHELLHOOK" ) 13 | OnMessage( MsgNum, "ShellMessage" ) 14 | global HSHELL_WINDOWCREATED := 1 15 | Return 16 | 17 | ShellMessage( wParam,lParam ) 18 | { 19 | If ( wParam == HSHELL_WINDOWCREATED ) ; 20 | { 21 | WinGetTitle, Title, ahk_id %lParam% 22 | scriptlog(Title) 23 | If ( Title = "WorkRest" ) 24 | WinClose, ahk_id %lParam% ; close it immideately 25 | } 26 | } -------------------------------------------------------------------------------- /scripts/unlocker.ahk: -------------------------------------------------------------------------------- 1 | ; https://gist.github.com/Bluscream/119f09441c512ef267ade38bd4a5c9ce#file-unlocker-ahk 2 | #SingleInstance, Force 3 | #NoTrayIcon 4 | #NoEnv 5 | RETURN ; end of auto-execute section. 6 | 7 | ; Prohibit applications from disabling windows or controls, by simply clicking 8 | ; on them. This is especially useful when you wish to access a parent window 9 | ; while a settings or dialog window is visible, ie; a Save/Open dialog. 10 | ; 11 | ; Example: Winamp's main window becomes disabled when selecting an Equalizer 12 | ; setting from the list of presets. This script makes Winamp always accessible, 13 | ; so you can always keep the preset list open if you desire. -- Raccoon 2010 14 | 15 | #If Enable_Window_Under_Cursor() || True 16 | ~LButton::Return 17 | #If ; End If 18 | 19 | ;~LButton:: 20 | ; Enable_Window_Under_Cursor() 21 | ; Return 22 | 23 | Enable_Window_Under_Cursor() ; By Raccoon 31-Aug-2010 24 | { 25 | MouseGetPos,,, WinHndl, CtlHndl, 2 26 | WinGet, Style, Style, ahk_id %WinHndl% 27 | if (Style & 0x8000000) { ; WS_DISABLED. 28 | WinSet, Enable,, ahk_id %WinHndl% 29 | } 30 | WinGet, Style, Style, ahk_id %CtlHndl% 31 | if (Style & 0x8000000) { ; WS_DISABLED. 32 | WinSet, Enable,, ahk_id %CtlHndl% 33 | } 34 | } -------------------------------------------------------------------------------- /scripts/usb.ahk: -------------------------------------------------------------------------------- 1 | ; #SingleInstance, Force 2 | ; #Persistent 3 | SetWorkingDir, %A_ScriptDir% 4 | 5 | global noui := false 6 | #Include 7 | txt := A_ScriptFullPath . " " . Join(" ", A_Args) 8 | scriptlog(txt) 9 | MsgBox % txt 10 | SleepS(5) -------------------------------------------------------------------------------- /scripts/vivecraft.ahk: -------------------------------------------------------------------------------- 1 | #SingleInstance, Force 2 | SendMode Input 3 | SetWorkingDir, %A_ScriptDir% 4 | #include 5 | 6 | while True { 7 | WinWait, Vivecraft Installer ahk_class SunAwtDialog ahk_exe java.exe 8 | WinWait, Open ahk_class SunAwtDialog ahk_exe java.exe 9 | SendInput, C:\tools\MultiMC 10 | WinWaitClose, Vivecraft Installer ahk_class SunAwtDialog ahk_exe java.exe 11 | SleepS(1) 12 | } -------------------------------------------------------------------------------- /scripts/vrc.ahk: -------------------------------------------------------------------------------- 1 | #SingleInstance Force 2 | #Persistent 3 | Process, Priority,, High 4 | #Include 5 | global noui := false 6 | 7 | -------------------------------------------------------------------------------- /scripts/watchcursor.ahk: -------------------------------------------------------------------------------- 1 | #Persistent 2 | #SingleInstance 3 | SetTimer, WatchCursor, 20 4 | return 5 | 6 | ESC:: 7 | SetTimer, WatchCursor, Off 8 | ToolTip, 9 | ExitApp 10 | 11 | global lastPosX := 0 12 | global lastPosY := 0 13 | 14 | WatchCursor: 15 | MouseGetPos, curPosX, curPosY 16 | Xchanged := curPosX != lastPosX 17 | Ychanged := curPosY != lastPosY 18 | if (!Xchanged && !Ychanged) { 19 | return 20 | } 21 | changestr := "Moved " 22 | if (Xchanged) { 23 | if (curPosX > lastPosX) { 24 | changestr .= "right (" . (curPosX - lastPosX) . "), " 25 | lastPosX := curPosX 26 | } 27 | else if (curPosX < lastPosX) { 28 | changestr .= "left (" . (lastPosX - curPosX) . "), " 29 | lastPosX := curPosX 30 | } 31 | } 32 | if (Ychanged) { 33 | if (curPosY > lastPosY) { 34 | changestr .= "down (" . (curPosY - lastPosY) . "), " 35 | lastPosY := curPosY 36 | } 37 | else if (curPosY < lastPosY) { 38 | changestr .= "up (" . (lastPosY - curPosY) . "), " 39 | lastPosY := curPosY 40 | } 41 | } 42 | ToolTip, %changestr% 43 | 44 | return -------------------------------------------------------------------------------- /scripts/yatqa copy.ahk: -------------------------------------------------------------------------------- 1 | #SingleInstance Force 2 | #NoEnv 3 | SetWorkingDir %A_ScriptDir% 4 | SetBatchLines -1 5 | #include 6 | global noui := false 7 | 8 | ; YaTQA › Yet another TeamSpeak³ Query App ‹ v3.9.9 [registered for Full Name] 9 | 10 | yatqa := "ahk_class TMainForm ahk_exe yatqa.exe" 11 | suffix := " [Modded]" 12 | 13 | 14 | while (True) { 15 | WinWaitActive, % yatqa 16 | ; Control, Hide,,Button37, %yatqa% 17 | WinGetTitle, window_title, %yatqa% 18 | ; scriptlog(window_title) 19 | window_title := RegExReplace(window_title, " \[registered for .*\]" , " [registered for REDACTED]", "", 1) 20 | window_title := StrReplace(window_title, suffix, "") 21 | WinSetTitle, %yatqa%,, %window_title%%suffix% 22 | ControlSetText, TButton5, YANNI, %yatqa% 23 | Control, Add, Penis, TListView1 24 | ; ControlMove, TButton5, 100, 100, 50,50,%yatqa% 25 | WinWaitClose, % yatqa 26 | } 27 | return 28 | #IfWinActive ahk_class TMainForm ahk_exe yatqa.exe 29 | MButton:: 30 | if (!active) { 31 | InputBox, interval, Serverlist Auto Refresh Interval, Please enter a interval in seconds, 32 | if ErrorLevel 33 | Return 34 | } 35 | active:=!active 36 | SetTimer, AutoRefresh, % active ? interval : "Delete" 37 | 38 | AutoRefresh: 39 | ControlGetText, btn_text , TButton5, %yatqa% 40 | if (btn_text != "Aktualisieren" || btn_text != "Refresh") { 41 | gosub MButton 42 | Return 43 | } 44 | ControlClick , TButton5, %yatqa% 45 | return -------------------------------------------------------------------------------- /scripts/yatqa.ahk: -------------------------------------------------------------------------------- 1 | #SingleInstance Force 2 | #NoEnv 3 | SetWorkingDir %A_ScriptDir% 4 | SetBatchLines -1 5 | #include 6 | global noui := false 7 | 8 | ; YaTQA › Yet another TeamSpeak³ Query App ‹ v3.9.9 [registered for Full Name] 9 | 10 | yatqa := "ahk_class TMainForm ahk_exe yatqa.exe" 11 | suffix := " [Modded]" 12 | 13 | 14 | while (True) { 15 | WinWaitActive, % yatqa 16 | ; Control, Hide,,Button37, %yatqa% 17 | WinGetTitle, window_title, %yatqa% 18 | ; scriptlog(window_title) 19 | window_title := RegExReplace(window_title, " \[registered for .*\]" , " [registered for REDACTED]", "", 1) 20 | window_title := StrReplace(window_title, suffix, "") 21 | WinSetTitle, %yatqa%,, %window_title%%suffix% 22 | ControlSetText, TButton5, YANNI, %yatqa% 23 | Control, Add, Penis, TListView1 24 | ; ControlMove, TButton5, 100, 100, 50,50,%yatqa% 25 | WinWaitClose, % yatqa 26 | } 27 | return 28 | #IfWinActive ahk_class TMainForm ahk_exe yatqa.exe 29 | MButton:: 30 | if (!active) { 31 | InputBox, interval, Serverlist Auto Refresh Interval, Please enter a interval in seconds, 32 | if ErrorLevel 33 | Return 34 | } 35 | active:=!active 36 | SetTimer, AutoRefresh, % active ? interval : "Delete" 37 | 38 | AutoRefresh: 39 | ControlGetText, btn_text , TButton5, %yatqa% 40 | if (btn_text != "Aktualisieren" || btn_text != "Refresh") { 41 | gosub MButton 42 | Return 43 | } 44 | ControlClick , TButton5, %yatqa% 45 | return -------------------------------------------------------------------------------- /scripts/yatqa_ignoreerrors.ahk: -------------------------------------------------------------------------------- 1 | #SingleInstance, Force 2 | ; #NoTrayIcon 3 | #NoEnv 4 | #Persistent 5 | SetBatchLines, -1 6 | SetWorkingDir, % A_ScriptDir 7 | ; SetTitleMatchMode, 2 8 | title := "Fehler ahk_class TMessageForm ahk_exe yatqa.exe" ; Error 9 | button := "&Ignorieren" ; TButton1 ; Ignore 10 | while(true) { 11 | WinWait, %title% 12 | Sleep 10 13 | ControlClick, %button%, %title% 14 | } 15 | ;ClassNN: Text: -------------------------------------------------------------------------------- /scripts/yoda.ahk: -------------------------------------------------------------------------------- 1 | #Include 2 | 3 | Gui, yoda: +Toolwindow -Caption +Lastfound +AlwaysOnTop 4 | 5 | ; Gui, yoda: Font, s22 ; Change the s# value to adjust font size. 6 | AnimatedGifControl("yoda", "C:\Users\blusc\Desktop\yoda.gif", "w200 h200 bgc000000") 7 | 8 | ; RGBA (Red, Green, Blue, Alpha) = 0, 0, 0, 0 9 | ; HSB (Hue, Saturation, Brightness) = 0.0°, 0.0%, 0.0% 10 | ; CMYK (Cyan, Magenta, Yellow, Key) = 0.0%, 0.0%, 0.0%, 1.0% 11 | ; Hex (RGB, RGBA, ARGB) = #000000, #00000000, #00000000 12 | ; Decimal (RGB, RGBA, ARGB) = 0, 0, 0 13 | ; Cursor position (X, Y) = 0, 0 14 | 15 | ; Gui, yoda: Font 16 | 17 | ; Gui, yoda: Color, Green ; Change overlay colour here. 18 | 19 | Gui, yoda: Show, % "x" . 1720 . "y" . 880, Overlay ; . "w" . 80 . "h" . 80 20 | 21 | GUI_ID := WinExist() 22 | ; Set it transparent and make it click-through. 23 | WinSet, Transparent, 90 , % "ahk_id " . GUI_ID ; Change the numerical value for opaqueness amount. 24 | WinSet, ExStyle , ^0x00000020, % "ahk_id " . GUI_ID ; Leave this value alone. 25 | 26 | -------------------------------------------------------------------------------- /scripts/zombiu.ahk: -------------------------------------------------------------------------------- 1 | #SingleInstance Force 2 | #NoEnv 3 | #Persistent 4 | SetWorkingDir %A_ScriptDir% 5 | SetBatchLines -1 6 | SendMode Event 7 | 8 | #Include 9 | 10 | 11 | global dingsda := false 12 | 13 | k:: 14 | if (dingsda) { 15 | dingsda := false 16 | SetTimer RepeatSpecial, Off 17 | } else { 18 | dingsda := true 19 | SetTimer RepeatSpecial, 500 20 | } 21 | 22 | RepeatSpecial: 23 | PressKeyAHI("T",1,500) 24 | Return --------------------------------------------------------------------------------