Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/drupal/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Path 自动终止热键集不工作_Path_Autoit_Hotkeys - Fatal编程技术网

Path 自动终止热键集不工作

Path 自动终止热键集不工作,path,autoit,hotkeys,Path,Autoit,Hotkeys,非常简单明了,我试图用ESC键终止脚本,但它在运行Path()时不会终止。我尝试将热键集定义放入Path()函数中,但仍然不起作用。我是新手 ; Press Esc to terminate script, Pause/Break to "pause" Global $Paused HotKeySet("{PAUSE}", "TogglePause") HotKeySet("{ESC}", "Terminate") ; Start Pathing MsgBox(0,"Starting...","

非常简单明了,我试图用ESC键终止脚本,但它在运行Path()时不会终止。我尝试将热键集定义放入Path()函数中,但仍然不起作用。我是新手

; Press Esc to terminate script, Pause/Break to "pause"
Global $Paused
HotKeySet("{PAUSE}", "TogglePause")
HotKeySet("{ESC}", "Terminate")
; Start Pathing
MsgBox(0,"Starting...","Will Start 2 seconds after you close this.")
Sleep(2000)
Path()


Func Path()
   Opt("SendKeyDownDelay", 500)
   $pathing = True
   $i = 0
   $j = 5 ; Only here to prevent an infinite loop because HotKeySet won't terminate on ESC
   While $i < $j
      Send("{A}")
      Send("{S}")
      Send("{W}")
      Send("{D}")
      $i = $i + 1
   WEnd
EndFunc

Func CheckForBattle()
   Return True
EndFunc

Func TogglePause()
    $Paused = Not $Paused
    While $Paused
        Sleep(100)
        ToolTip('Script is "Paused"', 0, 0)
    WEnd
    ToolTip("")
EndFunc   

Func Terminate()
    Exit 0
EndFunc  

Func ShowMessage()
    MsgBox(4096, "", "This is a message.")
EndFunc 
;按Esc键终止脚本,暂停/中断至“暂停”
全局$暂停
热键集(“{PAUSE}”,“TogglePause”)
热键集(“{ESC}”,“终止”)
; 开始路径
MsgBox(0,“正在启动…”,“将在您关闭此项后2秒启动。”)
睡眠(2000年)
路径()
Func路径()
选择(“SendKeyDownDelay”,500)
$pathing=True
$i=0
$j=5;此处仅用于防止无限循环,因为热键集不会在ESC上终止
而$i<$j
发送(“{A}”)
发送(“{S}”)
发送(“{W}”)
发送(“{D}”)
$i=$i+1
温德
EndFunc
Func CheckForBattle()
返回真值
EndFunc
函数切换暂停()
$Paused=未$Paused
当$暂停时
睡眠(100)
工具提示('脚本已“暂停”,0,0)
温德
工具提示(“”)
EndFunc
Func终止()
出口0
EndFunc
Func ShowMessage()
MsgBox(4096,“,”这是一条消息。“)
EndFunc

我想是因为你发的是大写字母。这导致换档保持500毫秒。在此期间,您必须按shift ESC键或设置另一个热键,如下所示:

; Press Esc to terminate script, Pause/Break to "pause"
Global $Paused
HotKeySet("{PAUSE}", "TogglePause")
HotKeySet("{ESC}", "Terminate")
HotKeySet("+{ESC}", "Terminate")
; Start Pathing
MsgBox(0, "Starting...", "Will Start 2 seconds after you close this.")
Sleep(2000)
Path()

Func Path()
    Opt("SendKeyDownDelay", 500)
    $pathing = True
    $i = 0
    $j = 5 ; Only here to prevent an infinite loop because HotKeySet won't terminate on ESC
    While $i < $j
        Send("A")
        Send("S")
        Send("W")
        Send("D")
        $i = $i + 1
    WEnd
EndFunc   ;==>Path

Func CheckForBattle()
    Return True
EndFunc   ;==>CheckForBattle

Func TogglePause()
    $Paused = Not $Paused
    While $Paused
        Sleep(100)
        ToolTip('Script is "Paused"', 0, 0)
    WEnd
    ToolTip("")
EndFunc   ;==>TogglePause

Func Terminate()
    Exit 0
EndFunc   ;==>Terminate

Func ShowMessage()
    MsgBox(4096, "", "This is a message.")
EndFunc   ;==>ShowMessage
;按Esc键终止脚本,暂停/中断至“暂停”
全局$暂停
热键集(“{PAUSE}”,“TogglePause”)
热键集(“{ESC}”,“终止”)
热键集(“+{ESC}”,“终止”)
; 开始路径
MsgBox(0,“正在启动…”,“将在您关闭此项后2秒启动。”)
睡眠(2000年)
路径()
Func路径()
选择(“SendKeyDownDelay”,500)
$pathing=True
$i=0
$j=5;此处仅用于防止无限循环,因为热键集不会在ESC上终止
而$i<$j
发送(“A”)
发送(“S”)
发送(“W”)
发送(“D”)
$i=$i+1
温德
EndFunc;==>路径
Func CheckForBattle()
返回真值
EndFunc;==>检查战斗
函数切换暂停()
$Paused=未$Paused
当$暂停时
睡眠(100)
工具提示('脚本已“暂停”,0,0)
温德
工具提示(“”)
EndFunc;==>切换暂停
Func终止()
出口0
EndFunc;==>终止
Func ShowMessage()
MsgBox(4096,“,”这是一条消息。“)
EndFunc;==>显示消息