我最近受到了AutoHotkey编写脚本的启发。 我是一个迫切需要你的洞察力的初学者。 我非常感谢您在此事上的时间和意见。
主要目标:循环脚本交互
我希望一次运行一个脚本,在给定事件时会相互触发。 我们有两个脚本,我们将它们命名为A和B. A的任务是执行给定的任务,直到找到一个特定的图像然后触发B. B的任务是用该图像执行给定的任务,直到它消失,然后触发回A。
就循环脚本交互而言,这就是我所拥有的。
这是A.ahk: -
Loop
ImageSearch, PX, PY, 1, 1, 10, 10, %A_WorkingDir%image.png
if ErrorLevel = 1
WheelDown
Else
Run, %A_WorkingDir%B.ahk
Return
这是B.ahk: -
Loop
ImageSearch, PX, PY, 1, 1, 10, 10, %A_WorkingDir%image.png
if ErrorLevel = 0
Click %PX%, %PY%
Else
Run, %A_WorkingDir%A.ahk
Return
如果我正确地这样做,请告诉我。 同样对于ImageSearch,我可以写X,Y而不是PX,PY吗? 我想知道他们的分歧。
次要目标:编程鼠标移动
我缺乏知识给脚本A提供一些特定的任务。 这是场景,游戏被称为黑暗传说,也被称为DarkAges。 这是一个2D游戏,我的头像闲置总是显示在屏幕的中央。 按空格键后,您将触发与前一屏幕重叠的传送地图。 但是,传送距离是有限的,它在传送地图上以两种颜色显示。 蓝色:可用于传送 红色:不适用于传送 单击所需的蓝色区域后,它将突出显示为绿色。 点击绿色确认,化身传送。
假设世界是矩形的,我希望我的化身在边缘漫游,直到找到触发B脚本的图像。在处理完图像后,我希望我的头像能够从B点触发后继续行进。
我只是不知道如何开始使用这个'A'脚本。 我确实理解这是一个广泛的问题,有许多可能的方向,但你对我应该考虑哪些命令的任何见解至少会让我解决这个问题。 也许我应该通过限制坐标来对应传送限制?像X = n,Y = n
再次感谢您阅读本文的时间! 任何输入都会创造奇迹!
答案 0 :(得分:0)
组合两个循环的代码看起来像这样。 另一个循环,它启动第一个循环A,使用break命令离开循环A,然后是B,然后离开B,然后自行循环。
Loop,
{
;loop A
Loop,
{
ImageSearch, PX, PY, 1, 1, 10, 10, %A_WorkingDir%image.png
if ErrorLevel = 1
WheelDown
Else
break
}
;loop B
Loop,
{
ImageSearch, PX, PY, 1, 1, 10, 10, %A_WorkingDir%image.png
if ErrorLevel = 0
Click %PX%, %PY%
Else
break
}
Sleep, 100
}
关于PX,PY。这些是变量名,您可以在此处使用任何允许的变量名。 X和Y都很好。