Re: [-AI-] 想请问一下这程式里的程式码用途

楼主: yohoboy (小宝包是天使与恶魔)   2017-12-31 09:34:57
Global $g_bPaused = False ;设定暂停真假值
Dim $interval = 480
Dim $isLoop=1
;!单独鼠标右键触发、单独鼠标下滚触发或单独LSHIFT触发
;用Capslock会依目前是否亮灯决定是否成功跑!
HotKeySet("{F8}", "StartClick") ;不能用鼠标点击触发,建议用键盘组合方式触发
HotKeySet("{F10}", "Terminate")
;!除了上面的exit方式外希望有个暂停程式运作(含侦测)的,要用时按一下又继续的,
;有查到用pause/break当开关,但希望是可以用其他键而不只限定于pause
;(因为可能会同时开多个-AI-来用)!
HotKeySet("{F9}", "TogglePause") ;脚本暂停执行,可代换其他快速键,
;但是档名要更换其他名称,避免混淆,
;再按一次可继续执行
While 1
Sleep(60000) ;让程式可以持续运作,直到Terminate 中止,
;该指令只是让程式可以暂停执行,目前只有这
;一行,所以大小无关,除非有其他指令要执行时就有影响
WEnd
Func Terminate() ;中止程式执行
Exit
EndFunc
Func TogglePause() ;设定暂停指令
MsgBox(0,"真假值",$g_bPaused) ;此指令让你知道初值,正式时可以拿掉
$g_bPaused = Not $g_bPaused ;反闸运算,初值为False 输出为True,
;反之为False
MsgBox(0,"真假值",$g_bPaused) ;输出运算后值
While $g_bPaused
Sleep(100)
ToolTip('脚本暂停执行-1', 0, 0) ;脚本暂停,并显示左上资讯,
;可代换其他编号,避免混淆
WEnd
ToolTip("")
EndFunc ;==>TogglePause
Func StartClick()
$isLoop = 1 - $isLoop ;以同一按键来做切换状态的开关
While (1-$isLoop) ;检查是否执行循环
Send("{LSHIFT}")
Sleep (1500)
$time=0
While $time<=10
If($isLoop==1) Then ;检查是否跳过循环
ExitLoop(2)
EndIf
$time+=1
Send("{Space down}")
Sleep ($interval)
Send("{Space up}")
Sleep ($interval*9/8)
WEnd
WEnd
EndFunc
有关连点部分可参考send 指令搭配 SendKeyDelay副指令控制连点间隔时间
另要侦测某按键是否按下还是要靠HotKeySet指令去做,但是可用 if 或是
while 去做后续处理。
※ 引述《MoJi (战神)》之铭言:
: 大概想了一下雏形
: 注解!部分应该是我目前有疑惑的
: Dim $interval = 480
: Dim $isLoop=1
: ;!单独鼠标右键触发、单独鼠标下滚触发或单独LSHIFT触发
: ;用Capslock会依目前是否亮灯决定是否成功跑!
: HotKeySet("{RBUTTON}", "StartClick")
: HotKeySet("{F10}", "Terminate")
: ;!除了上面的exit方式外希望有个暂停程式运作(含侦测)的,要用时按一下又继续的,
: ;有查到用pause/break当开关,但希望是可以用其他键而不只限定于pause
: ;(因为可能会同时开多个-AI-来用)!
: While 1
: Sleep(60000) ;!这里面的数值填大填小有啥差别?!
: WEnd
: Func Terminate()
: Exit 0
: EndFunc
: Func StartClick()
: $isLoop = 1-$isLoop ;以同一按键来做切换状态的开关
: While (1-$isLoop) ;检查是否执行循环
: Send("{LSHIFT}")
: Sleep (1500)
: $time=0
: While $time<=10
: If($isLoop==1) Then ;检查是否跳过循环
: ExitLoop(2)
: EndIf
: $time+=1
: Send("{Space down}")
: Sleep ($interval)
: Send("{Space up}")
: Sleep ($interval*9/8)
: WEnd
: WEnd
: EndFunc
: ps.
: 还有就是a按下时连点a,放开时结束....
: AHK有getkeystate可以侦测按件是否按下a来判断
: ai有吗?想把连点也加进去

Links booklink

Contact Us: admin [ a t ] ucptt.com