;############################ ;####### KF3 - Basic Bot v2.2 ;####### ... ;####### Instructions: Get over a supply crate, look straight down and press the lockButton (NUMLOCK by default) to start throwing grenades. ;############################ ;############################ ;####### Globals and includes ;############################ #include Global Const $VK_NUMLOCK = 0x90 Global Const $VK_SCROLL = 0x91 Global Const $VK_CAPITAL = 0x14 ConsoleWrite(_GetNumLock() & @LF) ConsoleWrite(_GetScrollLock() & @LF) ConsoleWrite(_GetCaps() & @LF) ;############################ ;####### Configuration ;############################ Dim $kfTitle = "Killing Floor 2" Dim $lockButton = "NUMLOCK" ; CAPSLOCK NUMLOCK SCROLLLOCK Dim $maxRuns = 100000 ;############################ ;####### Helpers ;############################ Func _GetNumLock() Local $ret $ret = DllCall("user32.dll","long", "GetKeyState", "long", $VK_NUMLOCK) Return $ret[0] EndFunc Func _GetScrollLock() Local $ret $ret = DllCall("user32.dll","long", "GetKeyState", "long", $VK_SCROLL) Return $ret[0] EndFunc Func _GetCaps() Local $ret $ret = DllCall("user32.dll","long", "GetKeyState", "long", $VK_CAPITAL) Return $ret[0] EndFunc Func LockButton() Switch $lockButton Case "NUMLOCK" Return _GetNumLock() Case "CAPSLOCK" Return _GetCaps() Case "SCROLLLOCK" Return _GetScrollLock() Case Else ConsoleWrite ("Bad configuration ($lockButton). Exiting...") Exit EndSwitch EndFunc ;############################ ;####### Main ;############################ Dim $i = 1 Do If LockButton() = 0 Then ConsoleWrite ( "[" & _NowTime() & "] " & $lockButton & " is off. Do nothing." & @LF ) Sleep(3000) Else ConsoleWrite ( "[" & _NowTime() & "] Fire in the hole (" & $i & ")" & @LF ) # Move left ControlSend ( $kfTitle, "", "", "A" ) ControlSend ( $kfTitle, "", "", "A" ) ControlSend ( $kfTitle, "", "", "A" ) Sleep(100) # Move right ControlSend ( $kfTitle, "", "", "D" ) ControlSend ( $kfTitle, "", "", "D" ) ControlSend ( $kfTitle, "", "", "D" ) Sleep(100) # Throw grenaDe ControlSend ( $kfTitle, "", "", "G" ) #ControlClick( $kfTitle, "", "", "middle") Sleep(1000) $i += 1 EndIf Until $i = $maxRuns