Search the Community
Showing results for tags 'ahk'.
Found 3 results
-
Hello, Dev Team! I want to ask you about your logic around the keybinding and key names using AHK in your bot for pressing them. How you do that, guys? For example, AHK uses names like "LButton", "RButton", "MButton" for mouse buttons, but you named them respectively "mouse_left", "mouse_right" and "mouse_wheel". And I know you must to convert these names to AHK-readable syntax in the middle. But why? For what? Maybe I was looking bad, but I could not find any information about your key naming on this forum. In order to not to be unfounded, let's consider the following case: I need to bind any skill to the key "-" (minus, hyphen, dash) or "=" (equal) / "+" (plus), or any Numpad button. Why not the others? Just because I want exactly these ones, ok? So, what I should do? I open an AHK script, write command for key hooking, press them and view the key history. I see respectively "-", "=", Numpad1/2/3 etc. Ok, next I try to use these keys in the bot's Combat tab. But the bot not understands neither "-", nor "=", nor Numpad1/Numpad_1/Num1/Num_1/VP_1 etc. So, could you explain to me how I can to find (or discover?) any key's name I want to use in the bot which the bot could understand? P.S. Please, don't recommend me to use other simple keys like J, K, L or any numbers.
-
autostart bot with watchdog ahk
a topic posted zapbrannigan in User's script for POE and/or Exiled Bot
; If the script is not elevated, relaunch as administrator and kill current instance: full_command_line := DllCall("GetCommandLine", "str") if not (A_IsAdmin or RegExMatch(full_command_line, " /restart(?!\S)")) { try ; leads to having the script re-launching itself as administrator { if A_IsCompiled Run *RunAs "%A_ScriptFullPath%" /restart else Run *RunAs "%A_AhkPath%" /restart "%A_ScriptFullPath%" } ExitApp } SetWorkingDir %A_ScriptDir% Sleep, 15000 startbot: loop *.exe { if(A_LoopFileName!="cports.exe") And (A_LoopFileName!="startbot.exe") { Run, %A_LoopFileName% --normal, , , ebpid } } WinWait ahk_pid %ebpid% WinActivate ahk_pid %ebpid% WinGetActiveTitle, ebtitle SendMessage, 0xB772,,,, %ebtitle% Loop { Process, Exist, %ebpid% If ErrorLevel = 0 { Sleep, 10000 WinGet, ebbpid, PID, ahk_class #32770 Process, Close, %ebbpid% Goto, startbot } } Save this text to file whatever.ahk and copy to startup folder. Win+r type shell:startup Script run bot after 15 seconds(for all vpn, proxyfier etc loads) Script autostart bot with last used profile Script watch if bot crashed or relaunch and stuck on inject method window then script relaunch bot and autostart it. Check every 10 seconds. I use it inside my vmware box -
some people ask for destroy item script, this is part of my EEB ahk script. 1.- make a directory named ahk (or whatever) in this directory make another directory named "images", save this image there. 2.- in ahk directory make a file named whatever.ahk and copy&paste this script: ;--------------------------------------------------------------------------------------------------------------------; ; DExalt v1 - by jpbot (aka exalt destroyer) ; ; ;--------------------------------------------------------------------------------------------------------------------; ; Functionality: ; In town: Check for keep/destroy screen and press destroy. ; ; ;--------------------------------------------------------------------------------------------------------------------; ;~ #MaxThreadsPerHotkey 2 CoordMode, Pixel, Relative SetWorkingDir %A_ScriptDir% ;--------------------------------------------------------------------------------------------------------------------; ;--------------------------------------------------------------------------------------------------------------------; ;----------------------------------- Each patch check/update this ---------------------------------------------------; ;--------------------------------------------------------------------------------------------------------------------; ;--------------------------------------------------------------------------------------------------------------------; _activeSkillInTown := 0x575757 ;pixel color for active skill in town _activeSkillInMap := 0x507BA5 ;pixel color for active skill out of town _activeSkillInMapInactive := 0x374659 ;pixel color for active skill out of town without mana ;--------------------------------------------------------------------------------------------------------------------; ;--------------------------------------------------------------------------------------------------------------------; ;--------------------------------------------------------------------------------------------------------------------; ;--------------------------------------------------------------------------------------------------------------------; ;--------------------------------------------------------------------------------------------------------------------; _path_images := "C:\ahk\images" ;--------------------------------------------------------------------------------------------------------------------; ;--------------------------------------------------------------------------------------------------------------------; ;---------------------------------------- !!!!! Stop Here !!!!! ---------------------------------------------------; ;--------------------------------------------------------------------------------------------------------------------; ;--------------------------------------------------------------------------------------------------------------------; ; ; ;-------------------------------------- !!!!! Internal Variables !!!!! --------------------------------------------; ; ; _inTown := false ; _mapRetry := 0 ;------------------------------------------------------------- ; ; start ; ;------------------------------------------------------------- Loop ; Main { if inTown() checkDestroy() Sleep 500 if inMap() { loop ;in map loop { if inMap() { ;~ if !inBattle() ;~ TrayTip,, not in a battle, 1 ;~ checkQuickFlask() ;~ gemLevel() sleep 10 } else { if _mapRetry > 1 { _mapRetry := 0 break ;not in game } _mapRetry += 1 } ;~ checkStuck() Sleep 500 } ;end in game loop } ;end first pixel search active skill } ;end loop ;------------------------------------------------------------- ; ; Functions ; ;------------------------------------------------------------- ; --check if we are in town !!! inTown() { global PixelSearch, Px, Py, 655, 582, 655, 582, %_activeSkillInTown%, 0, Fast ;check for active skill if !ErrorLevel return true else return false } ; --check if we are in any map !!! inMap() { global PixelSearch, Px, Py, 655, 582, 655, 582, %_activeSkillInMap%, 0, Fast ;check for active skill if !ErrorLevel return true PixelSearch, Px, Py, 655, 582, 655, 582, %_activeSkillInMapInactive%, 0, Fast ;check for active skill if !ErrorLevel return true return false } ; ; --check for keep/destroy screen???? checkDestroy() { global ImageSearch, Px, Py, 275,290, 550, 370,*100 %_path_images%\destroy.png ;search for keep/destroy screen???? if !ErrorLevel { Click %Px%, %Py% Sleep 200 } Sleep 10 } ; ; ; End:: exitapp 3.- run the script NOTE: Every patch you need manually check and maybe update 3 variables _activeSkillInTown := 0x575757 ;pixel color for active skill in town _activeSkillInMap := 0x507BA5 ;pixel color for active skill out of town _activeSkillInMapInactive := 0x374659 ;pixel color for active skill out of town without mana use this script: #SingleInstance CoordMode, Pixel, Relative SetWorkingDir %A_ScriptDir% ;get pixel color for active skill F3:: Loop { PixelGetColor, color, 655, 582 TrayTip,, %color%, 2 Sleep 1000 } return ;verify pixel color for active skill F4:: _activeSkillInTown := 0x575757 ;pixel color for active skill in town _activeSkillInMap := 0x507BA5 ;pixel color for active skill out of town _activeSkillInMapInactive := 0x374659 ;pixel color for active skill out of town without mana _inTown := 0 Loop ;active skill { if inMap() TrayTip,, In Map, 2 else if inTown() TrayTip,, In Town, 2 else TrayTip,, Checking..., 2 sleep 1000 } ; --check if we are in any map !!! inMap() { global IfWinExist, Path of Exile WinActivate PixelSearch, Px, Py, 655, 582, 655, 582, %_activeSkillInMap%, 0, Fast ;check for active skill if !ErrorLevel return true PixelSearch, Px, Py, 655, 582, 655, 582, %_activeSkillInMapInactive%, 0, Fast ;check for active skill if !ErrorLevel return true return false } ; --check if we are in town !!! inTown() { global PixelSearch, Px, Py, 655, 582, 655, 582, %_activeSkillInTown%, 0, Fast ;check for active skill if !ErrorLevel return true else return false } return F2:: Send {F12} ;pausing the bot Sleep 250 quitPoEtoLogin() Sleep 2000 Send {F12} ;un pausing the bot Sleep 250 return esc:: msgbox script closed by user exitapp Check my EEB script post for more info about update town check variables