SHOW:
|
|
- or go back to the newest paste.
| 1 | ;============================================================ | |
| 2 | ;Auto initialisation, non-user configurable stuff usually | |
| 3 | ;============================================================ | |
| 4 | ||
| 5 | #NoEnv | |
| 6 | #SingleInstance, Force | |
| 7 | SendMode, Input | |
| 8 | SetBatchLines, -1 | |
| 9 | SetWorkingDir, %A_ScriptDir% | |
| 10 | ||
| 11 | ||
| 12 | ;============================================================ | |
| 13 | ;configurable stuff, remember that variables need to be global if you want to set them this far from the function | |
| 14 | - | ;configurable stuff, remember that varibales need to be global if you want to set them this far from the function |
| 14 | + | |
| 15 | global sWindowString:="ahk_exe PathOfExile.exe" | |
| 16 | ||
| 17 | ||
| 18 | ;============================================================ | |
| 19 | ;Hotkeys | |
| 20 | ;============================================================ | |
| 21 | ||
| 22 | ||
| 23 | Numpad1:: ;your key of choice to fire this macro | |
| 24 | - | Numpad1:: |
| 24 | + | |
| 25 | BonesAndProfane() | |
| 26 | - | GrenadeBurst() |
| 26 | + | |
| 27 | } | |
| 28 | ||
| 29 | ||
| 30 | ||
| 31 | ||
| 32 | ;============================================================ | |
| 33 | ;Main process or loop | |
| 34 | ;============================================================ | |
| 35 | ||
| 36 | BonesAndProfane() | |
| 37 | - | GrenadeBurst() |
| 37 | + | |
| 38 | ||
| 39 | ;fire bones then fire the debuff | |
| 40 | - | ;Fire flash bang then fire gas grenade |
| 40 | + | SuperSend("f","both",1000,1200,,sWindowString) ;bones
|
| 41 | - | SuperSend("t","both",35,840,,sWindowString)
|
| 41 | + | SuperSend("q","both",35,1200,,sWindowString) ;profane
|
| 42 | - | SuperSend("q","both",35,1050,,sWindowString)
|
| 42 | + | |
| 43 | /* | |
| 44 | The one-line SuperSend function largely replaces the need to do a series of | |
| 45 | commends for key combos with ideal timing | |
| 46 | ||
| 47 | Here's is how I had previously written the above for just 2 skils; | |
| 48 | ||
| 49 | send {t down}
| |
| 50 | rsleep(35) | |
| 51 | send {t up}
| |
| 52 | rsleep(840) | |
| 53 | send {q down
| |
| 54 | rsleep(50) | |
| 55 | send {q up}
| |
| 56 | rsleep(1050) | |
| 57 | */ | |
| 58 | ||
| 59 | } | |
| 60 | ||
| 61 | ;============================================================ | |
| 62 | ;Functions and classes etc | |
| 63 | ;============================================================ | |
| 64 | ||
| 65 | ||
| 66 | SuperSend(key,direction,delay:=50,postdelay:=0,repetition:=1, winactiveString:=0) | |
| 67 | {
| |
| 68 | ;A way to do more repeat sends when the application is flaky with just a single send. Don't go big on the repetitions. | |
| 69 | ||
| 70 | ;First three parameters must be enclosed in quotes "" | |
| 71 | ||
| 72 | ;The key is the key you want to send | |
| 73 | ;The direction should be "up" or "down" for partial keys, "both" for a regular down then up | |
| 74 | ||
| 75 | ;The following paramters are optinoal: | |
| 76 | ;Delay is how many ms between the up and the down, only applies to normal key presses | |
| 77 | ;postdelay is a delay that will occur after the key press. for "both" it occurs after the up, otherwise occurs after the part key press | |
| 78 | ;Reptition is how many loops, defaulting to 1 | |
| 79 | ;winactiveString is the string to pass to ifwinactive and can be the normal paramters acceptable by that function, e.g. "ahk_exe PathOfExile.exe" | |
| 80 | ||
| 81 | ||
| 82 | if delay<1 | |
| 83 | delay:=0 | |
| 84 | ||
| 85 | if (direction = "both") ;do this for normal key sends | |
| 86 | {
| |
| 87 | sStringDown:=(key . " down") | |
| 88 | sStringUp:=(key . " up") | |
| 89 | ||
| 90 | Loop, %repetition% | |
| 91 | {
| |
| 92 | ||
| 93 | Send {%sStringDown%}
| |
| 94 | RSleep(delay) | |
| 95 | Send {%sStringUp%}
| |
| 96 | ||
| 97 | if postdelay>0 | |
| 98 | {
| |
| 99 | RSleep(postdelay) | |
| 100 | } | |
| 101 | } | |
| 102 | ||
| 103 | } | |
| 104 | else ;do this when you just want key up or key down, such when applications aren't handle single key down reliably. | |
| 105 | {
| |
| 106 | sString:=(key . " " . direction) | |
| 107 | ||
| 108 | Loop, %repetition% | |
| 109 | {
| |
| 110 | ifwinactive, %winactiveString% | |
| 111 | {
| |
| 112 | Send {%sString%}
| |
| 113 | ||
| 114 | if postdelay>0 | |
| 115 | {
| |
| 116 | RSleep(postdelay) | |
| 117 | } | |
| 118 | } | |
| 119 | } | |
| 120 | } | |
| 121 | ||
| 122 | } | |
| 123 | ||
| 124 | ||
| 125 | RSleep(duration,variance:=10) | |
| 126 | {
| |
| 127 | min:=duration | |
| 128 | max:=min+variance | |
| 129 | random,RND,min,max | |
| 130 | sleep %RND% | |
| 131 | } |