|
zick90376 發表於 Mar 5, 2020 12:04:46 GMT
請問一下~
我寫好的腳本 在回放執行一段時間之後 判別的速度都會變慢
這個會是什麼問題導致的呢? 我手機Ram 有12GB
|
|
|
AnkuLua 發表於 Mar 5, 2020 13:41:56 GMT
請問一下~ 我寫好的腳本 在回放執行一段時間之後 判別的速度都會變慢 這個會是什麼問題導致的呢? 我手機Ram 有12GB 有沒有可能是因為發熱造成手機CPU 降速
|
|
|
zick90376 發表於 Mar 5, 2020 20:54:59 GMT
請問一下~ 我寫好的腳本 在回放執行一段時間之後 判別的速度都會變慢 這個會是什麼問題導致的呢? 我手機Ram 有12GB 有沒有可能是因為發熱造成手機CPU 降速 我發現我把lua裡,判斷的速度改成0之後 就會有這種跑運行一段時間後,變慢的情況… 後來又把它改回了wait(2) 雖然判斷的比較慢,但就可以穩定的維持運作 不知道為什麼wait改0後 運作一段時間(幾分鐘)就會跑不動… 我使用的手機是三星Note10+ 應該不算太差的手機
|
|
|
tin3210 發表於 Apr 30, 2020 2:39:34 GMT
請問我有三個掛機點的腳本用錄製的,怎麼樣可以在每次死亡後以那三個腳本隨機或依序去執行呢?例如:未死亡前是掛第一個,死亡後隨機跑二、三腳本,謝謝
|
|
|
AnkuLua 發表於 May 1, 2020 11:06:24 GMT
請問我有三個掛機點的腳本用錄製的,怎麼樣可以在每次死亡後以那三個腳本隨機或依序去執行呢?例如:未死亡前是掛第一個,死亡後隨機跑二、三腳本,謝謝 這需要大改腳本了 您應該有偵測死亡的截圖,先稱他為 dead.png 參考下列方式更改第一個腳本 touchList[index] = {target = "dead.png", region = Region(608, 505, 150, 150), id = "dead", action = 'dead()'} -- 只改action 部分 index = index + 1 scriptName = {"script2", "script3"} -- 兩個死亡後希望跑的錄製腳本名字 function dead() local script = scriptName[math.random(2)] -- 任選一個腳本 setImagePath(luarPath .. script .. "Image") dofile(luarPath .. script .. ".luar") end
|
|
|
cross 發表於 May 22, 2020 21:05:58 GMT
請問在修改snapAndPlay.lua,使他能在每次找到圖片就把整個畫面存下來,遇到了無法存檔的問題。
while (true) do if (timeLimit and timer:check() >= (runTime * 60)) then scriptExit(string.format(timeReachString, runTime)) end local choice, id, match = regionWaitMulti(touchList, 30, debug, nil, index) if (choice ~= -1 and match) then if (debug) then print("find "..id) ------------------------------------
local temp = os.date("*t", getNetworkTime() / 1000) local screen = getAppUsableScreenSize() saveReg = Region(0, 0, screen:getX(), screen:getY()) --saveReg = getGameArea() --print("saveReg:width=" .. saveReg.width) pngFileName = "" .. temp.year .. temp.month .. temp.day .. temp.hour .. temp.min .. temp.sec print("pngFileName" ..pngFileName) saveReg:save(tmpFileName1) os.execute("mv ".. luarImagePath .. tmpFileName1 .. " " ..luarImagePath .. pngFileName..".png") -- saveReg = getGameArea() -- pngFileName = "" .. temp: -- saveReg.save(pngFileName)
--- os.execute("mv ".. luarImagePath .. tmpFileName1 .. " " ..luarImagePath .. pngFileName..".png") --- ------------------------------------ end
不明白為何沒有錯誤,但就是看不到存檔。
|
|
|
AnkuLua 發表於 May 22, 2020 23:13:56 GMT
請問在修改snapAndPlay.lua,使他能在每次找到圖片就把整個畫面存下來,遇到了無法存檔的問題。 while (true) do if (timeLimit and timer:check() >= (runTime * 60)) then scriptExit(string.format(timeReachString, runTime)) end local choice, id, match = regionWaitMulti(touchList, 30, debug, nil, index) if (choice ~= -1 and match) then if (debug) then print("find "..id) ------------------------------------ local temp = os.date("*t", getNetworkTime() / 1000) local screen = getAppUsableScreenSize() saveReg = Region(0, 0, screen:getX(), screen:getY()) --saveReg = getGameArea() --print("saveReg:width=" .. saveReg.width) pngFileName = "" .. temp.year .. temp.month .. temp.day .. temp.hour .. temp.min .. temp.sec print("pngFileName" ..pngFileName) saveReg:save(tmpFileName1) os.execute("mv ".. luarImagePath .. tmpFileName1 .. " " ..luarImagePath .. pngFileName..".png") -- saveReg = getGameArea() -- pngFileName = "" .. temp: -- saveReg.save(pngFileName) --- os.execute("mv ".. luarImagePath .. tmpFileName1 .. " " ..luarImagePath .. pngFileName..".png") --- ------------------------------------ end 不明白為何沒有錯誤,但就是看不到存檔。 您的改法要開debug 才會執行到,可以看有沒有print 您要的字串 還有即使執行到saveReg:save(tmpFileName1) 也會因tmpFileName1沒設定而出問題 應該是 pngFileName = "" .. temp.year .. temp.month .. temp.day .. temp.hour .. temp.min .. temp.sec print("pngFileName" ..pngFileName) tmpFileName1 = "screenSave.png" saveReg:save(tmpFileName1) os.execute("mv ".. luarImagePath .. tmpFileName1 .. " " ..luarImagePath .. pngFileName..".png")
|
|
|
cross 發表於 May 23, 2020 3:56:45 GMT
找到問題了. 主要是手機到電腦無法同步更新,讓我不確定程式是否正常運作. 直接用手機去確認是否有存檔,這樣子Debug就很快了.
修改如下: snapAndPlayAndSave.lua
if (choice ~= -1 and match) then if (debug) then print("find "..id) ------------------------------------ if id == saveList[1].id then local temp = os.date("*t", getNetworkTime() / 1000) local screen = getAppUsableScreenSize() saveReg = Region(0, 0, screen:getX(), screen:getY()) pngFileName = "" .. temp.year .. temp.month .. temp.day .. temp.hour .. temp.min .. temp.sec ..".png" print("pngFileName" ..pngFileName) saveReg:save(pngFileName) end ------------------------------------ end
探索3-1.luar touchList = {} waitList = {} saveList = {} ------ 1 ----- touchList[index] = {target = "1.png", region = Region(558, 499, 200, 200), id = "1", action = 'click'} index = index + 1 省略 ------ 7 ----- touchList[index] = {target = "6.png", region = Region(1049, 20, 200, 200), id = "6", action = 'click'} index = index + 1
index = 1 saveList[index] = {id = "6"} index = index + 1
|
|
|
cross 發表於 May 23, 2020 3:59:46 GMT
請問save可以是彩色的嗎? 目前存圖是黑白的
saveReg = Region(0, 0, screen:getX(), screen:getY()) pngFileName = "" .. temp.year .. temp.month .. temp.day .. temp.hour .. temp.min .. temp.sec ..".png" print("pngFileName" ..pngFileName) saveReg:save(pngFileName)
|
|
|
AnkuLua 發表於 May 25, 2020 14:41:52 GMT
請問save可以是彩色的嗎? 目前存圖是黑白的 saveReg = Region(0, 0, screen:getX(), screen:getY()) pngFileName = "" .. temp.year .. temp.month .. temp.day .. temp.hour .. temp.min .. temp.sec ..".png" print("pngFileName" ..pngFileName) saveReg:save(pngFileName) 目前只能存黑白的
|
|
|
gene 發表於 Jun 30, 2020 17:00:43 GMT
想請教一下回放腳本能加入自己的設定嗎 ? 單純的 Y/N 而已,像是購買體力這類的.
|
|
|
AnkuLua 發表於 Jul 1, 2020 7:41:17 GMT
想請教一下回放腳本能加入自己的設定嗎 ? 單純的 Y/N 而已,像是購買體力這類的. 可以的 類似 dialogInit() addCheckBox("buy", "購買", false) dialogShowFullScreen("設定") ------ 1 ----- touchList[index] = {target = "1.png", region = Region(275, 195, 352, 352), id = "1", action = 'if (buy) then click(matchResult) end'} index = index + 1
|
|
|
gene 發表於 Jul 1, 2020 15:04:00 GMT
想請教一下回放腳本能加入自己的設定嗎 ? 單純的 Y/N 而已,像是購買體力這類的. 可以的 類似 dialogInit() addCheckBox("buy", "購買", false) dialogShowFullScreen("設定") ------ 1 ----- touchList[index] = {target = "1.png", region = Region(275, 195, 352, 352), id = "1", action = 'if (buy) then click(matchResult) end'} index = index + 1
感謝指導,這部份有運用到了
|
|
|
gene 發表於 Jul 7, 2020 9:04:49 GMT
想請教是否有辦法中斷目前 wait() 的時間
目前有寫一段代碼,atkm() 是自己寫的 function 正常應該是照流程跑完
touchList[index] = {target = "auto.png", region = Region(355, 1200, 45, 60), id = "auto", action = 'click(matchResult);atkm();wait(30)'}
不過有時候會遇到例外狀況,所以加了一些防呆的code 進去. 雖然有辦法解除防呆,但還是要跑完後面 wait(30) 的代碼.
為了效率上的問題,想問一下是否有辦法中斷後面 wait() 的方式,謝謝
|
|
|
AnkuLua 發表於 Jul 7, 2020 9:27:52 GMT
想請教是否有辦法中斷目前 wait() 的時間 目前有寫一段代碼,atkm() 是自己寫的 function 正常應該是照流程跑完 touchList[index] = {target = "auto.png", region = Region(355, 1200, 45, 60), id = "auto", action = 'click(matchResult);atkm();wait(30)'} 不過有時候會遇到例外狀況,所以加了一些防呆的code 進去. 雖然有辦法解除防呆,但還是要跑完後面 wait(30) 的代碼. 為了效率上的問題,想問一下是否有辦法中斷後面 wait() 的方式,謝謝 停止腳本會從wait() 跳出,但這應該不是您要的 一般就是把wait() 切成很多小段,如果有遇到甚麼情形就跳出迴圈 例如偵測到音量上升 for i = 1, 10 do wait(3) setVolumeDetect(true) if (isVolumeUp()) then break end end
還有也可以把這段腳本放進atkm() 內,會比較容易除錯
|
|