; Translated to AutoIt by Klaatu (cityofheroes@klaatu.sent.com) ; see http://www.autoitscript.com for program for compiling. ; Using V3 of AutoIt. ;Control-M tells you which file is currently loaded ;new with 2.0 ; - new user input format ; - fixed transitions between fly/run when automoving ; - minor typos ;new to 2.1 ; - fixed it so that when using Superspeed, SPRINT is not turned on when ; Stopping $TITLE = "Speed On Demand" $TEXT = "Welcome to Gnarly's Speed on Demand Binds Program!" & _ @CRLF & _ @CRLF & _ @CRLF & "It is recommended that you save your current bind configuration." & _ @CRLF & "To do this, cancel this program so you can enter the game and type" & _ @CRLF & "this command in the chat window:" & _ @CRLF & "/bind_save" & _ @CRLF & _ @CRLF & "This will save your current bind configuration to a file called" & _ @CRLF & "keybinds.txt in your ROOT directory (usually c:\). You may want" & _ @CRLF & "to change the name so as not to overwrite this configuration if" & _ @CRLF & "you run /bind_save again." & _ @CRLF & _ @CRLF & _ @CRLF & _ @CRLF & "If you would like to cancel in order to save your keybinds, please" & _ @CRLF & "press the cancel button below." & _ @CRLF & _ @CRLF & "Otherwise, please press OK to continue" $RESULT = MsgBox(1, $TITLE, $TEXT) If $RESULT <> 1 Then Exit EndIf $TEXT = "You will now be prompted for the keys and other options available for" & _ @CRLF & "these binds. The value already in the dialog is the default. Just hit ENTER" & _ @CRLF & "to accept this default, or enter the Trigger of your choice. A copy of" & _ @CRLF & "all valid triggers, extracted from Curveball's Bind FAQ on the CoH Forums," & _ @CRLF & "is contained in the Readme.doc file included with this download." & @CRLF $RESULT = MsgBox(0, $TITLE, $TEXT) $RESULT = Inputbox($TITLE, "Trigger key for UP?","space") If $RESULT = "" Then $RESULT = "space" $UPKEY = $RESULT $RESULT = Inputbox($TITLE, "Trigger key for DOWN?","x") If $RESULT = "" Then $RESULT = "x" $DOWKEY = $RESULT $RESULT = Inputbox($TITLE, "Trigger key for FORWARD?","w") If $RESULT = "" Then $RESULT = "w" $FORKEY = $RESULT $RESULT = Inputbox($TITLE, "Trigger key for BACK?","s") If $RESULT = "" Then $RESULT = "w" $BACKEY = $RESULT $RESULT = Inputbox($TITLE, "Trigger key for LEFT?","a") If $RESULT = "" Then $RESULT = "a" $LEFKEY = $RESULT $RESULT = Inputbox($TITLE, "Trigger key for RIGHT?","d") If $RESULT = "" Then $RESULT = "d" $RIGKEY = $RESULT $TEXT = "The next two keys are for Run and Fly Modes. If you choose the same key" & _ @CRLF & "for both of these, then that key will toggle between Run and Fly. If you" & _ @CRLF & "choose different keys, then the RUN key will put you in run, and reset you" & _ @CRLF & "if you are already in Run mode, and the FLY key will put you in Fly, or" & _ @CRLF & "reset you." & _ @CRLF & _ @CRLF & "Pressing and holding the FLY key will put you in Blast Off mode. This" & _ @CRLF & "activates fly immediately (skipping hover) and moves you up until you" & _ @CRLF & "release the FLY key." & _ @CRLF & _ @CRLF & "If you have multiple characters, these same binds can be used for Hover-" & _ @CRLF & "Only characters with no modifications. If you have Super Jump characters," & _ @CRLF & "then you can take advantage of the ground travel, and just not press the" & _ @CRLF & "FLY key (you can bind it somewhere out of the way, if you have NO flyers)." & _ @CRLF & "Super Speed Characters can change a variable (soon) that will make these" & _ @CRLF & "binds use Super Speed automatically if a particular character has" & _ @CRLF & "that power, while using Sprint for all other characters." & @CRLF $RESULT = MsgBox(0, $TITLE, $TEXT) $RESULT = Inputbox($TITLE, "Trigger key for RUN?","f") If $RESULT = "" Then $RESULT = "f" $RUNKEY = $RESULT $RESULT = Inputbox($TITLE, "Trigger key for FLY?","f") If $RESULT = "" Then $RESULT = "f" $FLYKEY = $RESULT $TEXT = "The next key is for Autorun. This is constant forward movement without" & _ @CRLF & "continuing to hold a key, which is very useful for long distance travel." & _ @CRLF & "The same key is used both while running and flying." & _ @CRLF & _ @CRLF & "Forward, Back, or Repressing the Autorun key will break autorun." & @CRLF $RESULT = MsgBox(0, $TITLE, $TEXT) $RESULT = Inputbox($TITLE, "Trigger key for AutoRun/AutoFly?","r") If $RESULT = "" Then $RESULT = "r" $AUTOKEY = $RESULT $TEXT = "Follow mode will cause you to follow/chase a targeted enemy, friend, or" & _ @CRLF & "npc. Simply press this key to initiate, and any movement key to stop" & _ @CRLF & "following. You can switch between running and flying while following with" & _ @CRLF & "no problems." & @CRLF $RESULT = MsgBox(0, $TITLE, $TEXT) $RESULT = Inputbox($TITLE, "Trigger key for FOLLOW?","tilde") If $RESULT = "" Then $RESULT = "tilde" $FOLKEY = $RESULT $TEXT = "Now you need to choose which powers are used for Ground movement. Two" & _ @CRLF & "variables are given to make these keys more flexible when used by multiple" & _ @CRLF & "characters. The Primary Run Power is used if the character has it. If" & _ @CRLF & "not, then the Secondary Run Power is used." & _ @CRLF & _ @CRLF & "If you have any character with Super Speed, set the Primary power to" & _ @CRLF & "SUPER SPEED, otherwise, you probably want to leave it as the default (none)" & _ @CRLF & "to make your bind files smaller." & _ @CRLF & _ @CRLF & "If you have any prestige powers which you'd like to use in place of Sprint" & _ @CRLF & "then set Secondary Run Power to that power name (prestige power x)." & @CRLF $RESULT = MsgBox(0, $TITLE, $TEXT) $RESULT = Inputbox($TITLE, "Primary Run Power?","") $SPRINT1 = $RESULT $RESULT = Inputbox($TITLE, "Secondary Run Power??","sprint") If $RESULT = "" Then $RESULT = "sprint" $SPRINT2 = $RESULT If $SPRINT1 <> "" Then $SPRINT1 = "$$powexec_name " & $SPRINT1 If $SPRINT2 <> "" Then $SPRINT2 = "$$powexec_name " & $SPRINT2 $SPRINT = $SPRINT2 & $SPRINT1 $TEXT = "Auto-Mouselook will configure the binds so you are automatically in" & _ @CRLF & "Mouselook whenever you are moving." & _ @CRLF & _ @CRLF & "So, would you like Auto-Mouselook when Moving?" $RESULT = MsgBox(260, $TITLE, $TEXT) If $RESULT = 6 Then $MLON = "$$mouselook 1" $MLOFF = "$$mouselook 0" Else $MLON = "" $MLOFF = "" EndIf $TEXT = "Now choose where you'd like to put the files on your harddrive." & _ @CRLF & "Several subdirectories will be made in this path. You can run" & _ @CRLF & "this program more than once with a different Base Path to get" & _ @CRLF & "different versions of the binds (for differnt characters or for" & _ @CRLF & "testing), or you can re-run the program and use the SAME Base" & _ @CRLF & "Path to change (overwrite) previous binds." & _ @CRLF & _ @CRLF & "Base Path:" $RESULT = Inputbox($TITLE, $TEXT, "C:\CoH", "", 360, 210) If $RESULT = "" Then $RESULT = "C:\CoH" $BASEPATH = $RESULT ;------------------------------- ; A few constants $Q = '"' $EXT = ".txt" $TOTALFILES = 449 ; Following are used as part of the generated file names: $UPNAME = "u" $DOWNAME = "d" $FORNAME = "f" $BACNAME = "b" $LEFNAME = "l" $RIGNAME = "r" $TURN = "+zoomin$$-zoomin" ;a non functioning bind used only to activate the keydown/keyup functions of +commands $FLY = "$$powexec_name fly" $HOVER = "$$powexec_name hover" $UNQUEUE = "$$powexec_unqueue" ; $F1 = 0 ; filehandle $CURFILE = 0 ; used in calculating progress ; Some variables to make subsequest coding easier $UPKEYX = $UPKEY & " " $DOWKEYX = $DOWKEY & " " $FORKEYX = $FORKEY & " " $BACKEYX = $BACKEY & " " $LEFKEYX = $LEFKEY & " " $RIGKEYX = $RIGKEY & " " $FLYKEYX = $FLYKEY & " " $RUNKEYX = $RUNKEY & " " $AUTOKEYX = $AUTOKEY & " " $FOLKEYX = $FOLKEY & " " ; $SUBDIRR = $BASEPATH & "\R" $SUBDIRF = $BASEPATH & "\F" $SUBDIRAR = $BASEPATH & "\AR" $SUBDIRAF = $BASEPATH & "\AF" $SUBDIRFR = $BASEPATH & "\FR" $SUBDIRFF = $BASEPATH & "\FF" $SUBDIRBO = $BASEPATH & "\BO" ; $BL = "$$bind_load_file " $PATHR = $SUBDIRR & "\R" ;ground subfolder and base filename. Keep it shortish $BLR = $BL & $PATHR $PATHF = $SUBDIRF & "\F" ;air subfolder and base filename $BLF = $BL & $PATHF $PATHAR = $SUBDIRAR & "\AR" ;ground autorun subfolder and base filename $BLAR = $BL & $PATHAR $PATHAF = $SUBDIRAF & "\AF" ;air autorun subfolder and base filename $BLAF = $BL & $PATHAF $PATHFR = $SUBDIRFR & "\FR" ;Follow Run subfolder and base filename $BLFR = $BL & $PATHFR $PATHFF = $SUBDIRFF & "\FF" ;Follow Fly subfolder and base filename $BLFF = $BL & $PATHFF $PATHBO = $SUBDIRBO & "\BO" ;Follow Fly subfolder and base filename $BLBO = $BL & $PATHBO $RESULT = DirCreate($BASEPATH) $RESULT = DirCreate($SUBDIRR) $RESULT = DirCreate($SUBDIRF) $RESULT = DirCreate($SUBDIRAR) $RESULT = DirCreate($SUBDIRAF) $RESULT = DirCreate($SUBDIRFR) $RESULT = DirCreate($SUBDIRFF) $RESULT = DirCreate($SUBDIRBO) ProgressOn($TITLE, "Now creating your bind files") For $N_UP = 0 to 1 $F_UP = Iif($N_UP = 1, $UPNAME, "") $UP = "$$up " & Iif($N_UP = 1, "1", "0") $UPX = "$$up " & Iif($N_UP = 1, "0", "1") For $N_DOW = 0 to 1 $F_DOW = Iif($N_DOW = 1, $DOWNAME, "") $DOW = "$$down " & Iif($N_DOW = 1, "1", "0") $DOWX = "$$down " & Iif($N_DOW = 1, "0", "1") For $N_FOR = 0 to 1 $F_FOR = Iif($N_FOR = 1, $FORNAME, "") $FOR = "$$forward " & Iif($N_FOR = 1, "1", "0") $FORX = "$$forward " & Iif($N_FOR = 1, "0", "1") For $N_BAC = 0 to 1 $F_BAC = Iif($N_BAC = 1, $BACNAME, "") $BAC = "$$backward " & Iif($N_BAC = 1, "1", "0") $BACX = "$$backward " & Iif($N_BAC = 1, "0", "1") For $N_LEF = 0 to 1 $F_LEF = Iif($N_LEF = 1, $LEFNAME, "") $LEF = "$$left " & Iif($N_LEF = 1, "1", "0") $LEFX = "$$left " & Iif($N_LEF = 1, "0", "1") For $N_RIG = 0 to 1 $F_RIG = Iif($N_RIG = 1, $RIGNAME, "") $RIG = "$$right " & Iif($N_RIG = 1, "1", "0") $RIGX = "$$right " & Iif($N_RIG = 1, "0", "1") $TKEYS = $N_UP + $N_DOW + $N_FOR + $N_BAC + $N_LEF + $N_RIG ;total number of keys down ; RUN Binds StartFile($PATHR & $F_UP & $F_DOW & $F_FOR & $F_BAC & $F_LEF & $F_RIG & $EXT, "") If $TKEYS = 0 Then Wr('lctrl+r "tell $name, Normal Movement' & $BL & $BASEPATH & "\reset.txt" & $Q) EndIf $TOGGLEON = Iif($TKEYS = 0, $MLON & $SPRINT & $SPRINT & $UNQUEUE, "") $TOGGLEOFF = Iif($TKEYS = 1 And $N_UP = 1, $MLOFF & $SPRINT, "") $BINDLOAD = $BLR & Iif($N_UP = 1, "", $UPNAME) & $F_DOW & $F_FOR & $F_BAC & $F_LEF & $F_RIG & $EXT Wr($UPKEYX & $Q & $TURN & $UPX & $DOW & $FOR & $BAC & $LEF & $RIG & $TOGGLEON & $TOGGLEOFF & $BINDLOAD & $Q) $TOGGLEOFF = Iif($TKEYS = 1 And $N_DOW = 1, $MLOFF & $SPRINT & $UNQUEUE, "") $BINDLOAD = $BLR & $F_UP & Iif($N_DOW = 1,"",$DOWNAME) & $F_FOR & $F_BAC & $F_LEF & $F_RIG & $EXT Wr($DOWKEYX & $Q & $TURN & $UP & $DOWX & $FOR & $BAC & $LEF & $RIG & $TOGGLEON & $TOGGLEOFF & $BINDLOAD & $Q) $TOGGLEOFF = Iif($TKEYS = 1 And $N_FOR = 1, $MLOFF & $SPRINT & $UNQUEUE, "") $BINDLOAD = $BLR & $F_UP & $F_DOW & Iif($N_FOR = 1,"",$FORNAME) & $F_BAC & $F_LEF & $F_RIG & $EXT Wr($FORKEYX & $Q & $TURN & $UP & $DOW & $FORX & $BAC & $LEF & $RIG & $TOGGLEON & $TOGGLEOFF & $BINDLOAD & $Q) $TOGGLEOFF = Iif($TKEYS = 1 And $N_BAC = 1, $MLOFF & $SPRINT & $UNQUEUE, "") $BINDLOAD = $BLR & $F_UP & $F_DOW & $F_FOR & Iif($N_BAC = 1,"",$BACNAME) & $F_LEF & $F_RIG & $EXT Wr($BACKEYX & $Q & $TURN & $UP & $DOW & $FOR & $BACX & $LEF & $RIG & $TOGGLEON & $TOGGLEOFF & $BINDLOAD & $Q) $TOGGLEOFF = Iif($TKEYS = 1 And $N_LEF = 1, $MLOFF & $SPRINT & $UNQUEUE, "") $BINDLOAD = $BLR & $F_UP & $F_DOW & $F_FOR & $F_BAC & Iif($N_LEF = 1,"",$LEFNAME) & $F_RIG & $EXT Wr($LEFKEYX & $Q & $TURN & $UP & $DOW & $FOR & $BAC & $LEFX & $RIG & $TOGGLEON & $TOGGLEOFF & $BINDLOAD & $Q) $TOGGLEOFF = Iif($TKEYS = 1 And $N_RIG = 1, $MLOFF & $SPRINT & $UNQUEUE, "") $BINDLOAD = $BLR & $F_UP & $F_DOW & $F_FOR & $F_BAC & $F_LEF & Iif($N_RIG = 1,"",$RIGNAME) & $EXT Wr($RIGKEYX & $Q & $TURN & $UP & $DOW & $FOR & $BAC & $LEF & $RIGX & $TOGGLEON & $TOGGLEOFF & $BINDLOAD & $Q) $BINDLOAD = $BLBO & $F_UP & $F_DOW & $F_FOR & $F_BAC & $F_LEF & $F_RIG & $EXT Wr($FLYKEYX & $Q & $TURN & "$$up 1" & $SPRINT & $HOVER & $HOVER & $FLY & $FLY & $BINDLOAD & $Q) If $FLYKEY <> $RUNKEY Then $TOGGLEON = Iif($TKEYS > 0, "", $UNQUEUE) $BINDLOAD = $BLR & $F_UP & $F_DOW & $F_FOR & $F_BAC & $F_LEF & $F_RIG & $EXT Wr($RUNKEYX & $Q & Rem2($SPRINT) & $SPRINT & $TOGGLEON & $UP & $DOW & $FOR & $BAC & $LEF & $RIG & $BINDLOAD & $Q) EndIf $BINDLOAD = $BLAR & $F_UP & $F_DOW & $F_FOR & $F_BAC & $F_LEF & $F_RIG & $EXT Wr($AUTOKEYX & $Q & "++forward$$backward 0" & $UP & $DOW & $LEF & $RIG & $MLON & $SPRINT & $SPRINT & $BINDLOAD & $Q) $TOGGLEON = Iif($TKEYS = 0, $SPRINT & $SPRINT, "") $BINDLOAD = $BLFR & $F_UP & $F_DOW & $F_FOR & $F_BAC & $F_LEF & $F_RIG & $EXT Wr($FOLKEYX & $Q & "follow" & $TOGGLEON & $BINDLOAD & $Q) EndFile() ;Blast Off Binds StartFile($PATHBO & $F_UP & $F_DOW & $F_FOR & $F_BAC & $F_LEF & $F_RIG & $EXT, "") If $TKEYS = 0 Then Wr('lctrl+r "tell $name, Normal Movement' & $BL & $BASEPATH & "\reset.txt" & $Q) EndIf $TOGGLEON = Iif($TKEYS = 0, $MLON & $SPRINT & $HOVER & $HOVER & $FLY & $FLY, "") $BINDLOAD = $BLBO & Iif($N_UP = 1, "", $UPNAME) & $F_DOW & $F_FOR & $F_BAC & $F_LEF & $F_RIG & $EXT Wr($UPKEYX & $Q & $TURN & "$$up 1" & $DOW & $FOR & $BAC & $LEF & $RIG & $TOGGLEON & $BINDLOAD & $Q) $BINDLOAD = $BLBO & $F_UP & Iif($N_DOW = 1,"",$DOWNAME) & $F_FOR & $F_BAC & $F_LEF & $F_RIG & $EXT Wr($DOWKEYX & $Q & $TURN & "$$up 1" & $DOWX & $FOR & $BAC & $LEF & $RIG & $TOGGLEON & $BINDLOAD & $Q) $BINDLOAD = $BLBO & $F_UP & $F_DOW & Iif($N_FOR = 1,"",$FORNAME) & $F_BAC & $F_LEF & $F_RIG & $EXT Wr($FORKEYX & $Q & $TURN & "$$up 1" & $DOW & $FORX & $BAC & $LEF & $RIG & $TOGGLEON & $BINDLOAD & $Q) $BINDLOAD = $BLBO & $F_UP & $F_DOW & $F_FOR & Iif($N_BAC = 1,"",$BACNAME) & $F_LEF & $F_RIG & $EXT Wr($BACKEYX & $Q & $TURN & "$$up 1" & $DOW & $FOR & $BACX & $LEF & $RIG & $TOGGLEON & $BINDLOAD & $Q) $BINDLOAD = $BLBO & $F_UP & $F_DOW & $F_FOR & $F_BAC & Iif($N_LEF = 1,"",$LEFNAME) & $F_RIG & $EXT Wr($LEFKEYX & $Q & $TURN & "$$up 1" & $DOW & $FOR & $BAC & $LEFX & $RIG & $TOGGLEON & $BINDLOAD & $Q) $BINDLOAD = $BLBO & $F_UP & $F_DOW & $F_FOR & $F_BAC & $F_LEF & Iif($N_RIG = 1,"",$RIGNAME) & $EXT Wr($RIGKEYX & $Q & $TURN & "$$up 1" & $DOW & $FOR & $BAC & $LEF & $RIGX & $TOGGLEON & $BINDLOAD & $Q) $BINDLOAD = $BLF & $F_UP & $F_DOW & $F_FOR & $F_BAC & $F_LEF & $F_RIG & $EXT Wr($FLYKEYX & $Q & $TURN & $UP & $DOW & $FOR & $BAC & $LEF & $RIG & $MLON & $TOGGLEON & $BINDLOAD & $Q) If $FLYKEY <> $RUNKEY Then Wr($RUNKEYX & "nop") EndIf Wr($AUTOKEYX & "nop") Wr($FOLKEYX & "nop") EndFile() ;Fly Binds StartFile($PATHF & $F_UP & $F_DOW & $F_FOR & $F_BAC & $F_LEF & $F_RIG & $EXT, "") $TOGGLEON = Iif($TKEYS = 0, $MLON & $HOVER & $HOVER & $FLY & $FLY, "") $TOGGLEOFF = Iif($TKEYS = 1 And $N_UP = 1, $MLOFF & $FLY & $HOVER & $HOVER, "") $BINDLOAD = $BLF & Iif($N_UP = 1,"",$UPNAME) & $F_DOW & $F_FOR & $F_BAC & $F_LEF & $F_RIG & $EXT Wr($UPKEYX & $Q & $TURN & $UPX & $DOW & $FOR & $BAC & $LEF & $RIG & $TOGGLEON & $TOGGLEOFF & $BINDLOAD & $Q) $TOGGLEOFF = Iif($TKEYS = 1 And $N_DOW = 1, $MLOFF & $FLY & $HOVER & $HOVER, "") $BINDLOAD = $BLF & $F_UP & Iif($N_DOW = 1,"",$DOWNAME) & $F_FOR & $F_BAC & $F_LEF & $F_RIG & $EXT Wr($DOWKEYX & $Q & $TURN & $UP & $DOWX & $FOR & $BAC & $LEF & $RIG & $TOGGLEON & $TOGGLEOFF & $BINDLOAD & $Q) $TOGGLEOFF = Iif($TKEYS = 1 And $N_FOR = 1, $MLOFF & $FLY & $HOVER & $HOVER, "") $BINDLOAD = $BLF & $F_UP & $F_DOW & Iif($N_FOR = 1,"",$FORNAME) & $F_BAC & $F_LEF & $F_RIG & $EXT Wr($FORKEYX & $Q & $TURN & $UP & $DOW & $FORX & $BAC & $LEF & $RIG & $TOGGLEON & $TOGGLEOFF & $BINDLOAD & $Q) $TOGGLEOFF = Iif($TKEYS = 1 And $N_BAC = 1, $MLOFF & $FLY & $HOVER & $HOVER, "") $BINDLOAD = $BLF & $F_UP & $F_DOW & $F_FOR & Iif($N_BAC = 1,"",$BACNAME) & $F_LEF & $F_RIG & $EXT Wr($BACKEYX & $Q & $TURN & $UP & $DOW & $FOR & $BACX & $LEF & $RIG & $TOGGLEON & $TOGGLEOFF & $BINDLOAD & $Q) $TOGGLEOFF = Iif($TKEYS = 1 And $N_LEF = 1, $MLOFF & $FLY & $HOVER & $HOVER, "") $BINDLOAD = $BLF & $F_UP & $F_DOW & $F_FOR & $F_BAC & Iif($N_LEF = 1,"",$LEFNAME) & $F_RIG & $EXT Wr($LEFKEYX & $Q & $TURN & $UP & $DOW & $FOR & $BAC & $LEFX & $RIG & $TOGGLEON & $TOGGLEOFF & $BINDLOAD & $Q) $TOGGLEOFF = Iif($TKEYS = 1 And $N_RIG = 1, $MLOFF & $FLY & $HOVER & $HOVER, "") $BINDLOAD = $BLF & $F_UP & $F_DOW & $F_FOR & $F_BAC & $F_LEF & Iif($N_RIG = 1,"",$RIGNAME) & $EXT Wr($RIGKEYX & $Q & $TURN & $UP & $DOW & $FOR & $BAC & $LEF & $RIGX & $TOGGLEON & $TOGGLEOFF & $BINDLOAD & $Q) If $FLYKEY <> $RUNKEY Then $TOGGLEON = Iif($TKEYS > 0, $FLY & $FLY, "") $BINDLOAD = $BLF & $F_UP & $F_DOW & $F_FOR & $F_BAC & $F_LEF & $F_RIG & $EXT Wr($FLYKEYX & $Q & Rem2($HOVER) & $HOVER & $TOGGLEON & $UP & $DOW & $FOR & $BAC & $LEF & $RIG & $BINDLOAD & $Q) EndIf $TOGGLEON = Iif($TKEYS = 0, $UNQUEUE, "") $BINDLOAD = $BLR & $F_UP & $F_DOW & $F_FOR & $F_BAC & $F_LEF & $F_RIG & $EXT Wr($RUNKEYX & $Q & Rem2($FLY) & $HOVER & $SPRINT & $SPRINT & $TOGGLEON & $BINDLOAD & $Q) $BINDLOAD = $BLAF & $F_UP & $F_DOW & $F_FOR & $F_BAC & $F_LEF & $F_RIG & $EXT Wr($AUTOKEYX & $Q & "++forward$$backward 0" & $UP & $DOW & $LEF & $RIG & $MLON & $SPRINT & $HOVER & $HOVER & $FLY & $FLY & $BINDLOAD & $Q) $TOGGLEON = Iif($TKEYS = 0, $SPRINT & $HOVER & $HOVER & $FLY & $FLY, "") $BINDLOAD = $BLFF & $F_UP & $F_DOW & $F_FOR & $F_BAC & $F_LEF & $F_RIG & $EXT Wr($FOLKEYX & $Q & "follow" & $TOGGLEON & $BINDLOAD & $Q) EndFile() ;AutoRun Binds StartFile($PATHAR & $F_UP & $F_DOW & $F_FOR & $F_BAC & $F_LEF & $F_RIG & $EXT, "") $BINDLOAD = $BLAR & Iif($N_UP = 1,"",$UPNAME) & $F_DOW & $F_FOR & $F_BAC & $F_LEF & $F_RIG & $EXT Wr($UPKEYX & $Q & $TURN & $UPX & $DOW & "$$backward 0" & $LEF & $RIG & $MLON & $BINDLOAD & $Q) $BINDLOAD = $BLAR & $F_UP & Iif($N_DOW = 1,"",$DOWNAME) & $F_FOR & $F_BAC & $F_LEF & $F_RIG & $EXT Wr($DOWKEYX & $Q & $TURN & $UP & $DOWX & "$$backward 0" & $LEF & $RIG & $MLON & $BINDLOAD & $Q) If $N_FOR = 1 Then $TOGGLEON = "$$backward 0" $BINDLOAD = $BLAR & $F_UP & $F_DOW & $F_BAC & $F_LEF & $F_RIG & $EXT Else $TOGGLEON = "$$forward 1$$backward 0" $BINDLOAD = $BLR & $F_UP & $F_DOW & $FORNAME & $F_BAC & $F_LEF & $F_RIG & $EXT EndIf Wr($FORKEYX & $Q & $TURN & $TOGGLEON & $LEF & $RIG & $MLON & $BINDLOAD & $Q) If $N_BAC = 1 Then $TOGGLEON = "$$backward 0" $BINDLOAD = $BLAR & $F_UP & $F_DOW & $F_FOR & $F_LEF & $F_RIG & $EXT Else $TOGGLEON = "$$forward 0$$backward 1" $BINDLOAD = $BLR & $F_UP & $F_DOW & $F_FOR & $BACNAME & $F_LEF & $F_RIG & $EXT EndIf Wr($BACKEYX & $Q & $TURN & $TOGGLEON & $LEF & $RIG & $MLON & $BINDLOAD & $Q) $BINDLOAD = $BLAR & $F_UP & $F_DOW & $F_FOR & $F_BAC & Iif($N_LEF = 1,"",$LEFNAME) & $F_RIG & $EXT Wr($LEFKEYX & $Q & $TURN & "$$backward 0" & $LEFX & $RIG & $MLON & $BINDLOAD & $Q) $BINDLOAD = $BLAR & $F_UP & $F_DOW & $F_FOR & $F_BAC & $F_LEF & Iif($N_RIG = 1,"",$RIGNAME) & $EXT Wr($RIGKEYX & $Q & $TURN & "$$backward 0" & $LEF & $RIGX & $MLON & $BINDLOAD & $Q) $BINDLOAD = $BLAF & $F_UP & $F_DOW & $F_FOR & $F_BAC & $F_LEF & $F_RIG & $EXT Wr($FLYKEYX & $Q & Rem2($SPRINT) & $HOVER & $HOVER & $FLY & $FLY & $DOW & $FOR & $BAC & $LEF & $RIG & $BINDLOAD & $Q) If $FLYKEY <> $RUNKEY Then $BINDLOAD = $BLAR & $F_UP & $F_DOW & $F_FOR & $F_BAC & $F_LEF & $F_RIG & $EXT Wr($RUNKEYX & $Q & Rem2($SPRINT) & $SPRINT & $UP & $DOW & "$$backward 0" & $LEF & $RIG & $BINDLOAD & $Q) EndIf $TOGGLEON = Iif($TKEYS > 0, $MLON & $SPRINT & $SPRINT, $MLOFF & $SPRINT & $UNQUEUE) $BINDLOAD = $BLR & $F_UP & $F_DOW & $F_FOR & $F_BAC & $F_LEF & $F_RIG & $EXT Wr($AUTOKEYX & $Q & $UP & $DOW & $FOR & $BAC & $LEF & $RIG & $TOGGLEON & $BINDLOAD & $Q) Wr($FOLKEYX & "nop") EndFile() ;AutoFly Binds StartFile($PATHAF & $F_UP & $F_DOW & $F_FOR & $F_BAC & $F_LEF & $F_RIG & $EXT, "") $BINDLOAD = $BLAF & Iif($N_UP = 1,"",$UPNAME) & $F_DOW & $F_FOR & $F_BAC & $F_LEF & $F_RIG & $EXT Wr($UPKEYX & $Q & $TURN & $UPX & $DOW & "$$backward 0" & $LEF & $RIG & $MLON & $BINDLOAD & $Q) $BINDLOAD = $BLAF & $F_UP & Iif($N_DOW = 1,"",$DOWNAME) & $F_FOR & $F_BAC & $F_LEF & $F_RIG & $EXT Wr($DOWKEYX & $Q & $TURN & $UP & $DOWX & "$$backward 0" & $LEF & $RIG & $MLON & $BINDLOAD & $Q) If $N_FOR = 1 Then $TOGGLEON = "$$backward 0" $BINDLOAD = $BLAF & $F_UP & $F_DOW & $F_BAC & $F_LEF & $F_RIG & $EXT Else $TOGGLEON = "$$forward 1$$backward 0" $BINDLOAD = $BLF & $F_UP & $F_DOW & $FORNAME & $F_BAC & $F_LEF & $F_RIG & $EXT EndIf Wr($FORKEYX & $Q & $TURN & $TOGGLEON & $UP & $DOWX & $LEF & $RIG & $MLON & $BINDLOAD & $Q) If $N_BAC = 1 Then $TOGGLEON = "$$backward 0" $BINDLOAD = $BLAF & $F_UP & $F_DOW & $F_FOR & $F_LEF & $F_RIG & $EXT Else $TOGGLEON = "$$forward 0$$backward 1" $BINDLOAD = $BLF & $F_UP & $F_DOW & $F_FOR & $BACNAME & $F_LEF & $F_RIG & $EXT EndIf Wr($BACKEYX & $Q & $TURN & $TOGGLEON & $UP & $DOWX & $LEF & $RIG & $MLON & $BINDLOAD & $Q) $BINDLOAD = $BLAF & $F_UP & $F_DOW & $F_FOR & $F_BAC & Iif($N_LEF = 1,"",$LEFNAME) & $F_RIG & $EXT Wr($LEFKEYX & $Q & $TURN & $UP & $DOW & "$$backward 0" & $LEFX & $RIG & $MLON & $BINDLOAD & $Q) $BINDLOAD = $BLAF & $F_UP & $F_DOW & $F_FOR & $F_BAC & $F_LEF & Iif($N_RIG = 1,"",$RIGNAME) & $EXT Wr($RIGKEYX & $Q & $TURN & $UP & $DOW & "$$backward 0" & $LEF & $RIGX & $MLON & $BINDLOAD & $Q) If $FLYKEY <> $RUNKEY Then $BINDLOAD = $BLAF & $F_UP & $F_DOW & $F_FOR & $F_BAC & $F_LEF & $F_RIG & $EXT Wr($FLYKEYX & $Q & Rem2($SPRINT) & $HOVER & $HOVER & $FLY & $FLY & $BINDLOAD & $Q) EndIf $BINDLOAD = $BLAR & $F_UP & $F_DOW & $F_FOR & $F_BAC & $F_LEF & $F_RIG & $EXT Wr($RUNKEYX & $Q & Rem2($HOVER) & $FLY & $SPRINT & $SPRINT & $DOW & "$$backward 0" & $LEF & $RIG & $BINDLOAD & $Q) $TOGGLEON = Iif($TKEYS > 0, $MLON & $FLY & $FLY, $MLOFF & $SPRINT & $FLY & $HOVER & $HOVER) $BINDLOAD = $BLF & $F_UP & $F_DOW & $F_FOR & $F_BAC & $F_LEF & $F_RIG & $EXT Wr($AUTOKEYX & $Q & $UP & $DOW & $FOR & $BAC & $LEF & $RIG & $TOGGLEON & $BINDLOAD & $Q) Wr($FOLKEYX & "nop") EndFile() ; FollowRun Binds StartFile($PATHFR & $F_UP & $F_DOW & $F_FOR & $F_BAC & $F_LEF & $F_RIG & $EXT, "") $BINDLOAD = Iif($N_UP = 1,$BLFR,$BLR) & Iif($N_UP = 1,"",$UPNAME) & $F_DOW & $F_FOR & $F_BAC & $F_LEF & $F_RIG & $EXT $TOGGLEON = Iif($N_UP = 1, "", $UPX & $DOW & $FOR & $BAC & $LEF & $RIG) Wr($UPKEYX & $Q & Rem2($TOGGLEON) & $BINDLOAD & $Q) $BINDLOAD = Iif($N_DOW = 1,$BLFR,$BLR) & $F_UP & Iif($N_DOW = 1,"",$DOWNAME) & $F_FOR & $F_BAC & $F_LEF & $F_RIG & $EXT $TOGGLEON = Iif($N_DOW = 1, "", $UP & $DOWX & $FOR & $BAC & $LEF & $RIG) Wr($DOWKEYX & $Q & Rem2($TOGGLEON) & $BINDLOAD & $Q) $BINDLOAD = Iif($N_FOR = 1,$BLFR,$BLR) & $F_UP & $F_DOW & Iif($N_FOR = 1,"",$FORNAME) & $F_BAC & $F_LEF & $F_RIG & $EXT $TOGGLEON = Iif($N_FOR = 1, "", $UP & $DOW & $FORX & $BAC & $LEF & $RIG) Wr($FORKEYX & $Q & Rem2($TOGGLEON) & $BINDLOAD & $Q) $BINDLOAD = Iif($N_BAC = 1,$BLFR,$BLR) & $F_UP & $F_DOW & $F_FOR & Iif($N_BAC = 1, "", $BACNAME) & $F_LEF & $F_RIG & $EXT $TOGGLEON = Iif($N_BAC = 1, "", $UP & $DOW & $FOR & $BACX & $LEF & $RIG) Wr($BACKEYX & $Q & Rem2($TOGGLEON) & $BINDLOAD & $Q) $BINDLOAD = Iif($N_LEF = 1,$BLFR,$BLR) & $F_UP & $F_DOW & $F_FOR & $F_BAC & Iif($N_LEF = 1,"",$LEFNAME) & $F_RIG & $EXT $TOGGLEON = Iif($N_LEF = 1, "", $UP & $DOW & $FOR & $BAC & $LEFX & $RIG) Wr($LEFKEYX & $Q & Rem2($TOGGLEON) & $BINDLOAD & $Q) $BINDLOAD = Iif($N_RIG = 1,$BLFR,$BLR) & $F_UP & $F_DOW & $F_FOR & $F_BAC & $F_LEF & Iif($N_RIG = 1,"",$RIGNAME) & $EXT $TOGGLEON = Iif($N_RIG = 1, "", $UP & $DOW & $FOR & $BAC & $LEF & $RIGX) Wr($RIGKEYX & $Q & Rem2($TOGGLEON) & $BINDLOAD & $Q) $BINDLOAD = $BLFF & $F_UP & $F_DOW & $F_FOR & $F_BAC & $F_LEF & $F_RIG & $EXT Wr($FLYKEYX & $Q & Rem2($SPRINT) & $HOVER & $HOVER & $FLY & $FLY & $BINDLOAD & $Q) If $FLYKEY <> $RUNKEY Then $BINDLOAD = $BLFR & $F_UP & $F_DOW & $F_FOR & $F_BAC & $F_LEF & $F_RIG & $EXT Wr($RUNKEYX & $Q & Rem2($HOVER) & $FLY & $SPRINT & $SPRINT & $BINDLOAD & $Q) EndIf Wr($AUTOKEYX & "nop") $TOGGLEOFF = Iif($TKEYS = 0,$SPRINT & $UNQUEUE, "") $BINDLOAD = $BLR & $F_UP & $F_DOW & $F_FOR & $F_BAC & $F_LEF & $F_RIG & $EXT Wr($FOLKEYX & $Q & "follow" & $TOGGLEOFF & $UP & $DOW & $FOR & $BAC & $LEF & $RIG & $BINDLOAD & $Q) EndFile() ;FollowFly Binds StartFile($PATHFF & $F_UP & $F_DOW & $F_FOR & $F_BAC & $F_LEF & $F_RIG & $EXT, "") $BINDLOAD = Iif($N_UP = 1,$BLFF,$BLF) & Iif($N_UP = 1,"",$UPNAME) & $F_DOW & $F_FOR & $F_BAC & $F_LEF & $F_RIG & $EXT $TOGGLEON = Iif($N_UP = 1, "", $UPX & $DOW & $FOR & $BAC & $LEF & $RIG) Wr($UPKEYX & $Q & $TOGGLEON & $BINDLOAD & $Q) $BINDLOAD = Iif($N_DOW = 1,$BLFF,$BLF) & $F_UP & Iif($N_DOW = 1,"",$DOWNAME) & $F_FOR & $F_BAC & $F_LEF & $F_RIG & $EXT $TOGGLEON = Iif($N_DOW = 1, "", $UP & $DOWX & $FOR & $BAC & $LEF & $RIG) Wr($DOWKEYX & $Q & $TOGGLEON & $BINDLOAD & $Q) $BINDLOAD = Iif($N_FOR = 1,$BLFF,$BLF) & $F_UP & $F_DOW & Iif($N_FOR = 1,"",$FORNAME) & $F_BAC & $F_LEF & $F_RIG & $EXT $TOGGLEON = Iif($N_FOR = 1, "", $UP & $DOW & $FORX & $BAC & $LEF & $RIG) Wr($FORKEYX & $Q & $TOGGLEON & $BINDLOAD & $Q) $BINDLOAD = Iif($N_BAC = 1,$BLFF,$BLF) & $F_UP & $F_DOW & $F_FOR & Iif($N_BAC = 1,"",$BACNAME) & $F_LEF & $F_RIG & $EXT $TOGGLEON = Iif($N_BAC = 1, "", $UP & $DOW & $FOR & $BACX & $LEF & $RIG) Wr($BACKEYX & $Q & $TOGGLEON & $BINDLOAD & $Q) $BINDLOAD = Iif($N_LEF = 1,$BLFF,$BLF) & $F_UP & $F_DOW & $F_FOR & $F_BAC & Iif($N_LEF = 1,"",$LEFNAME) & $F_RIG & $EXT $TOGGLEON = Iif($N_LEF = 1, "", $UP & $DOW & $FOR & $BAC & $LEFX & $RIG) Wr($LEFKEYX & $Q & $TOGGLEON & $BINDLOAD & $Q) $BINDLOAD = Iif($N_RIG = 1,$BLFF,$BLF) & $F_UP & $F_DOW & $F_FOR & $F_BAC & $F_LEF & Iif($N_RIG = 1,"",$RIGNAME) & $EXT $TOGGLEON = Iif($N_RIG = 1, "", $UP & $DOW & $FOR & $BAC & $LEF & $RIGX) Wr($RIGKEYX & $Q & $TOGGLEON & $BINDLOAD & $Q) $BINDLOAD = $BLFR & $F_UP & $F_DOW & $F_FOR & $F_BAC & $F_LEF & $F_RIG & $EXT Wr($RUNKEYX & $Q & $HOVER & $FLY & $SPRINT & $SPRINT & $BINDLOAD & $Q) If $FLYKEY <> $RUNKEY Then $BINDLOAD = $BLFF & $F_UP & $F_DOW & $F_FOR & $F_BAC & $F_LEF & $F_RIG & $EXT Wr($FLYKEYX & $Q & Rem2($SPRINT) & $HOVER & $HOVER & $FLY & $FLY & $BINDLOAD & $Q) EndIf Wr($AUTOKEYX & "nop") $TOGGLEOFF = Iif($TKEYS = 0, $FLY & $HOVER & $HOVER, "") $BINDLOAD = $BLR & $F_UP & $F_DOW & $F_FOR & $F_BAC & $F_LEF & $F_RIG & $EXT Wr($FOLKEYX & $Q & "follow" & $TOGGLEOFF & $UP & $DOW & $FOR & $BAC & $LEF & $RIG & $BINDLOAD & $Q) EndFile() Next ; $N_RIG Next ; $N_LEF Next ; $N_BAC Next ; $N_FOR Next ; $N_DOW Next ; $N_UP ;Create Reset File StartFile($BASEPATH & "\reset.txt", "Normal Movement") Wr($FORKEYX & '"+forward"') Wr($LEFKEYX & '"+left"') Wr($RIGKEYX & '"+right"') Wr($BACKEYX & '"+backward"') Wr($UPKEYX & '"+up"') Wr($DOWKEYX & '"+down"') Wr($AUTOKEYX & '"++forward"') Wr($FLYKEYX & $Q & Rem2($SPRINT) & $FLY & $HOVER & $Q) If $FLYKEY <> $RUNKEY Then Wr($RUNKEYX & $Q & Rem2($FLY) & $HOVER & $SPRINT & $SPRINT & $Q) EndIf Wr($FOLKEYX & '"follow"') Wr('lctrl+r "tell $name, Speed on Demand Movement' & $SPRINT & $UNQUEUE & "$$up 0$$down 0$$forward 0$$backward 0$$left 0$$right 0" & $BLR & $EXT & $Q) EndFile() ProgressOff() Exit ;********************************************************************** ; Iif - Immediate If ;********************************************************************** Func Iif($BOOLEAN, $TRUEVAL, $FALSEVAL) If $BOOLEAN Then Return $TRUEVAL Else Return $FALSEVAL EndIf EndFunc Func Rem2($STR) Return StringMid($STR, 3, 999) EndFunc Func StartFile($FILENAME, $DESC) If $DESC = "" Then $DESC = $FILENAME EndIf $CURFILE = $CURFILE + 1 ProgressSet((Round($CURFILE / $TOTALFILES, 2) * 100), $FILENAME) $F1 = FileOpen($FILENAME, 2) Wr('lctrl+m "tell $name, ' & $DESC & $Q) Return $F1 EndFunc Func EndFile() FileClose($F1) $F1 = 0 EndFunc Func Wr($STR) FileWriteLine($F1, $STR) EndFunc