Lua 调用同一函数中的函数以尝试捕获循环中的失败
当我在手机上运行此代码时,它会执行每一步,然后当它发现故障时,它会返回到代码的开头,然后报警。我想要它做的是按照它一直在做的方式运行每个函数,但是,只是在最后一个函数运行时提醒我。在代码末尾打印日志Lua 调用同一函数中的函数以尝试捕获循环中的失败,lua,Lua,当我在手机上运行此代码时,它会执行每一步,然后当它发现故障时,它会返回到代码的开头,然后报警。我想要它做的是按照它一直在做的方式运行每个函数,但是,只是在最后一个函数运行时提醒我。在代码末尾打印日志 --Step 1 Open Quests questopen = function() log("Opening Quests") local step1 = getColor(64, 803) log("Fetched Quest Icon") if step1 == 9127481
--Step 1 Open Quests
questopen = function()
log("Opening Quests")
local step1 = getColor(64, 803)
log("Fetched Quest Icon")
if step1 == 9127481 then
tap(64, 803)
log("Matched Quest Icon")
else
log("Failed Quest Icon")
alert("Out of Sync - Check Logs for failure")
collectgarbage()
end
end
--Step 2 Accept Quest
questaccept = function()
log("Accepting Quest")
local step2 = getColor(426, 1004)
log("Fetched Accept Quest")
if step2 == 2300441 then
tap(426, 1004)
log("Matched Accept Quest")
else
log("Failed Accept Quest")
collectgarbage()
questopen()
end
end
--Step 3 Skip Dialogue
skip = function()
log("Skipping Dialogue")
local step3 = getColor(564, 1083)
log("Fetched Skip Dialogue")
if step3 == 2300441 then
tap(564, 1083)
log("Matched Skip Dialogue")
else
log("Failed Skip Dialogue")
collectgarbage()
questaccept()
end
end
--Step 4 Quest Confirm
confirm = function()
log("Confirming Quest")
local step4 = getColor(124, 578)
log("Fetched Confirm Quest")
if step4 == 15921906 then
tap(124, 578)
log("Matched Confrim Quest")
else
log("Failed Confirm Quest")
collectgarbage()
skip()
end
end
--Step 5 Quest Go
go = function()
log("Quest Go")
local step5 = getColor(424, 990)
log("Fetched Quest Go")
if step5 == 13750737 then
tap(424, 990)
log("Matched Quest Go")
else
log("Failed Quest Go")
collectgarbage()
confirm()
end
end
questopen()
usleep(3000000)
questaccept()
usleep(3000000)
skip()
usleep(3000000)
confirm()
usleep(3000000)
go()
usleep(3000000)
我专门设计了它来测试检测方法,所以我希望它在步骤2接受任务时失败。但是目前我想要一种更好的错误检测方法,我想要警报。但它会提醒每一次失败
我希望代码在第一次失败时向后运行,但我不希望它同时继续向前运行,错误报告将显示这一点
我的印象是,您的问题可能是由于您使函数相互调用的方式,而不是因为特定于磷化氢的问题。你认为你可以用简单的Lua来解决你的问题,这样我们就可以更容易地运行它了吗?顺便说一句,Lua在葡萄牙语中的意思是“Moon”,所以只有第一个字母应该大写:)我觉得你的问题可能是因为你让函数调用彼此的方式,而不是因为phose特定的问题。你认为你可以用简单的Lua来制作你的问题的独立版本,这样我们可以更容易地运行它吗?顺便说一句,Lua在葡萄牙语中的意思是“月亮”,所以只有第一个字母应该大写:)