|
gene 發表於 Jul 7, 2020 10:34:42 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() 內,會比較容易除錯 這個概念我有想到 不過 atkm() 這邊的狀況比較不合適,因為 atkm() 其實只是等待點擊 3 次. atkm() 的流程是,隊伍執行一般攻擊三輪後,改回 auto 攻擊. 接著就 wait 30 秒,避免馬上又進入 atkm() 的一般三輪. 整場戰鬥,較長一點可能會跑 2~3 次的 atkm(),但會在還沒滿三輪時,戰鬥就結束了. 所以在 atkm() 裡加了中斷檢查,停止 atkm() 的流程. 後來有改用類似方式,用別的圖示去判斷,控制等待時間. 謝謝你的指點,這方式之後我會參考加入其它 function
|
|
|
gene 發表於 Jul 7, 2020 11:06:14 GMT
另外想問一下,有辦法寫成像 2 個執行緒的方式嗎 ? 一個正常流程跑腳本,一個固定檢查斷線與其它例外嗎 ?
目前作的方式是找一個常駐出現的圖片執行例外檢查的 function 如果沒有常駐圖片,就是加在可能發生的流程上
但在新遊戲的狀況下,就容易因為樣本不足,導至卡住
所以想問一下,有什麼比較好的方式去製作例外檢查 ? 謝謝
|
|
|
AnkuLua 發表於 Jul 7, 2020 11:25:22 GMT
另外想問一下,有辦法寫成像 2 個執行緒的方式嗎 ? 一個正常流程跑腳本,一個固定檢查斷線與其它例外嗎 ? 目前作的方式是找一個常駐出現的圖片執行例外檢查的 function 如果沒有常駐圖片,就是加在可能發生的流程上 但在新遊戲的狀況下,就容易因為樣本不足,導至卡住 所以想問一下,有什麼比較好的方式去製作例外檢查 ? 謝謝 沒法支援多執行緒 就是在需要檢查的地方檢查每個可能出現的圖案
|
|
|
gene 發表於 Jul 7, 2020 13:26:05 GMT
沒法支援多執行緒 就是在需要檢查的地方檢查每個可能出現的圖案 好的. 那也只能多取得樣本數了,謝謝
|
|
j3219t
Junior Member
Posts: 19
|
j3219t 發表於 Nov 4, 2020 23:35:28 GMT
你好 透過 ----------------------------------------------------------------------------------------------- action = 'click(matchResult); if(pngTimesList[choice] == 2) then timeToChange() end'} function timeToChange() dofile(scriptPath() .. "luar/Score.luar") end ----------------------------------------------------------------------------------------------- 確實能讓我從此腳本換成Score腳本 但是imagepath無法重讀 加上setImagePath(scriptPath() .. "luar/ScoreImage")也無法切成讀取ScoreImage
請問是語法錯了嗎?
|
|
|
AnkuLua 發表於 Nov 5, 2020 0:02:36 GMT
你好 透過 ----------------------------------------------------------------------------------------------- action = 'click(matchResult); if(pngTimesList[choice] == 2) then timeToChange() end'} function timeToChange() dofile(scriptPath() .. "luar/Score.luar") end ----------------------------------------------------------------------------------------------- 確實能讓我從此腳本換成Score腳本 但是imagepath無法重讀 加上setImagePath(scriptPath() .. "luar/ScoreImage")也無法切成讀取ScoreImage 請問是語法錯了嗎? 用setImagePath() 應該可以 您看看錯誤對話框的路徑
|
|
j3219t
Junior Member
Posts: 19
|
j3219t 發表於 Nov 5, 2020 0:12:31 GMT
你好 透過 ----------------------------------------------------------------------------------------------- action = 'click(matchResult); if(pngTimesList[choice] == 2) then timeToChange() end'} function timeToChange() dofile(scriptPath() .. "luar/Score.luar") end ----------------------------------------------------------------------------------------------- 確實能讓我從此腳本換成Score腳本 但是imagepath無法重讀 加上setImagePath(scriptPath() .. "luar/ScoreImage")也無法切成讀取ScoreImage 請問是語法錯了嗎? 用setImagePath() 應該可以 您看看錯誤對話框的路徑 error是顯示在AbcImage底下找不到a.png 但是我的a.png在ScoreImage底下 等於路徑沒切 所以才會想在dofile前面加上setImagePath
|
|
|
ccvs942006 發表於 Dec 6, 2020 0:58:56 GMT
請問 自動錄製腳本下載怎麼不見啦
|
|
|
AnkuLua 發表於 Dec 8, 2020 0:10:07 GMT
請問 自動錄製腳本下載怎麼不見啦 新的apk內都有附最新的錄製腳本了
|
|
|
icemilktea 發表於 Feb 22, 2021 14:07:35 GMT
你好 想請問一下 如果發現A圖 就一直clickA圖5秒 5秒後才停止 執行下一個 step 請問應該如何改 action? 謝謝
|
|
|
AnkuLua 發表於 Feb 22, 2021 15:12:57 GMT
你好 想請問一下 如果發現A圖 就一直clickA圖5秒 5秒後才停止 執行下一個 step 請問應該如何改 action? 謝謝 longClick(matchResult, 5)
|
|
|
icemilktea 發表於 Feb 23, 2021 4:31:20 GMT
你好 想請問一下 如果發現A圖 就一直clickA圖5秒 5秒後才停止 執行下一個 step 請問應該如何改 action? 謝謝 longClick(matchResult, 5) Thank you 馬上試試
|
|
|
icemilktea 發表於 Feb 23, 2021 5:28:01 GMT
你好 想請問一下 如果發現A圖 就一直clickA圖5秒 5秒後才停止 執行下一個 step 請問應該如何改 action? 謝謝 longClick(matchResult, 5) 好像沒有成功 都是只按一下 請問是這樣嗎? ------ 6 ----- touchList[index] = {target = "6.png", region = Region(281, 9, 152, 152), id = "6", action = 'longClick(matchResult, 5)'} index = index + 1
|
|
|
AnkuLua 發表於 Feb 23, 2021 7:38:53 GMT
longClick(matchResult, 5) 好像沒有成功 都是只按一下 請問是這樣嗎? ------ 6 ----- touchList[index] = {target = "6.png", region = Region(281, 9, 152, 152), id = "6", action = 'longClick(matchResult, 5)'} index = index + 1 奇怪 那改成以下呢? touchDown(matchResult); wait(5); touchUp(matchResult)
|
|
|
icemilktea 發表於 Feb 23, 2021 11:23:25 GMT
都不行 都是找到圖後只按一下
|
|