沒想到這麼久前的文章 竟然大大您還會看到 真是感恩~
非常感謝您提供的指令 有空我來試試
不過我目前改用了判斷式 抓BUFF顏色的 給您參考好了 目前我覺得這比較好用
總覺得再無限循環裡面插入定時 怪怪的 (可能是我還不夠了解 所以一直弄不好)
我在 if y2-y1>=5*60 then 之後
加入了第二次的變量 y1=os.time() <==這應該是重至OS時間
總是會有問題 我不會用LUA表達出 我想要的方式
因為後面的循環是跳來跳出 但沒有出口的
function addBuffer1() -- 循环检测和补充buffer1
while true do -- 主循环
if getColor(100, 100) ~= 0x000000 then -- 如果没有buffer1
touchDown(0, 100, 100); -- 释放buffer1
touchUp(0);
end
mSleep(500);
coroutine.yield(); -- 主动挂起自己
end
end
function addBuffer2() -- 循环检测和补充buffer2
while true do -- 主循环
if getColor(200, 200) ~= 0x000000 then -- 如果没有buffer2
touchDown(0, 200, 200); -- 释放buffer2
touchUp(0);
end
mSleep(500);
coroutine.yield(); -- 主动挂起自己
end
end
function addBuffer3() -- 循环检测和补充buffer3
while true do -- 主循环
if getColor(300, 300) ~= 0x000000 then -- 如果没有buffer3
touchDown(0, 300, 300); -- 释放buffer3
touchUp(0);
end
mSleep(500);
coroutine.yield(); -- 主动挂起自己
end
end
function addBuffer4() -- 循环检测和补充buffer4
while true do -- 主循环
if getColor(400, 400) ~= 0x000000 then -- 如果没有buffer4
touchDown(0, 400, 400); -- 释放buffer4
touchUp(0);
end
mSleep(500);
coroutine.yield(); -- 主动挂起自己
end
end
function addBuffer5() -- 循环检测和补充buffer5
while true do -- 主循环
if getColor(500, 500) ~= 0x000000 then -- 如果没有buffer5
touchDown(0, 500, 500); -- 释放buffer5
touchUp(0);
end
mSleep(500);
coroutine.yield(); -- 主动挂起自己
end
end
function kill() -- 循环打怪一直到怪物死亡
while true do
if getColor(600, 600) ~= 0x000000 then -- 如果怪物没死
touchDown(0, 1000, 1000); -- 释放一次技能
touchUp(0);
end
mSleep(500);
coroutine.yield(); -- 主动挂起自己
end
end
function main()
co1 = coroutine.create(addBuffer1);
co2 = coroutine.create(addBuffer2);
co3 = coroutine.create(addBuffer3);
co4 = coroutine.create(addBuffer4);
co5 = coroutine.create(addBuffer5);
co6 = coroutine.create(kill);
while true do
coroutine.resume(co1);
coroutine.resume(co2);
coroutine.resume(co3);
coroutine.resume(co4);
coroutine.resume(co5);
coroutine.resume(co6);
end
end
coroutine 頗好用.....又簡單
定時 還是弄不好><
|