個人使用順序
每周首先掛秘聞副本,每天三大地域鬼王,結(jié)界突破券滿了掛突破,突破用完了掛御魂,大概 80-100 次左右御魂結(jié)界突破券會滿,滿了繼續(xù)掛突破…
思路:
利用 adb 截圖后,使用 找圖找色,模擬點擊。使用 adb 操作模擬器,相當(dāng)于后臺操作。
我主要為了刷勾玉,所以此工具更側(cè)重地域鬼王,結(jié)界突破和秘聞副本,御魂是用來刷突破券的。
為了防止收到鬼使黑的來信,所以增加隨機等待的時間比較多,每次隨機等待 2-3 秒,導(dǎo)致整體運行速度稍微慢了一些。
此工具適合放在后臺干其他工作的同學(xué)使用。觀賞價值不高。
地域鬼王需要先把姑獲鳥,以津真天和山童收藏。
結(jié)界突破主要是把九宮格的坐標(biāo)保存到列表陰陽師在電腦上可以登錄嗎,使用 方法隨機打亂,然后循環(huán)執(zhí)行。
目前只支持個人結(jié)界突破,并且陣容需要解鎖。
第一次進入突破會主動失敗一次,失敗的話難度不會增加,方便刷排名和勾玉使用。
每突破三次會領(lǐng)取一次獎勵,等待九次全部完成后,會把右上角突破剩余數(shù)量截圖上傳到騰訊 OCR 識別接口,如果剩余次數(shù)大于等于九次,遞歸執(zhí)行,否則停止執(zhí)行。
騰訊 OCR 每月有一千次免費次數(shù)。如果只是識別結(jié)界券使用,應(yīng)該是夠用了,如果不夠用可以按需付費或者自建字典識別。
這一步需要申請 騰訊云文字識別 OCR 的 和 。
騰訊云文字識別 OCR 申請鏈接:
然后新建文件 .py,寫入:
secretId?=?"AKI***********************aYHDtmaOw"
secretKey?=?"Sg**************************QdZ7X"
模擬器版
部分操作參考:
網(wǎng)易 MuMu 開發(fā)者必備說明書:
【雷神命令】常用adb命令整理貼:
建議直接看雷神模擬器社區(qū)的命令整理,比較詳細。
運行陰陽師
如果不清楚應(yīng)用的啟動命令,可以先手動運行該程序陰陽師在電腦上可以登錄嗎,然后使用命令:
adb?shell?dumpsys?window?|?findstr?mCurrentFocus
查找正在運行的應(yīng)用。
啟動陰陽師的命令為:
adb?shell?am?start?-n?com.netease.onmyoji.netease_simulator/com.netease.onmyoji.Client
因為我是 iOS,只能掃碼登錄,所以啟動命令對我來說并不實用。
模擬點擊
例如我們需要點擊 500, 266 這個坐標(biāo):
adb?shell?input?tap?500?266
模擬滑動
從 0, 0 滑動到 200, 200,耗時 0.5 秒:
adb?shell?input?swipe?0?0?200?200?500
截圖
需要先運行此命令:
adb?shell?screencap?/data/screen.png
再將截圖推送到電腦:
adb?pull?/data/screen.png?.
注意:示例中的命令將圖片保存到當(dāng)前路徑下。
找圖
這里借助 庫實現(xiàn)。
import?cv2
def?p():
????capture_img?=?""??#?程序運行時的截圖
????temp_img?=?""??#?已經(jīng)保存好的圖片
????img1?=?cv2.imread(capture_img)
????img2?=?cv2.imread(temp_img)
????result?=?cv2.matchTemplate(img1,?img2,?cv2.TM_CCOEFF_NORMED)
????if?result.max()?>?0.9:
????????return?True
找色
如何在截圖中獲取某坐標(biāo)的像素值?
import?cv2
def?p(x,?y):
????capture_img?=?""
????_img?=?cv2.imread(capture_img)
????img?=?cv2.cvtColor(_img,?cv2.COLOR_BGR2RGB)
????r,?g,?b?=?img[y,?x]??#?注意這里的坐標(biāo)是相反的
????return?r,?g,?b
裁剪圖片
我們截圖完成以后,如何從截圖中獲取剩余結(jié)界突破數(shù)量?
import?cv2
capture_img?=?""
img?=?cv2.imread(capture_img)
cv2.imwrite("new.png",?img[12:30,?705:750])??#?裁剪坐標(biāo)為?[y0:y1,?x0:x1]
需要注意的是坐標(biāo)都是 y, x。
雙開應(yīng)用切換
由于多開改版后(2.2.2x86/x64 版本之后)所有的多開應(yīng)用和原應(yīng)用都是同一個包名,所以需要通過 來控制多開的應(yīng)用。
這里以網(wǎng)易云游戲為例,多開后分別獲取包名,使用命令:
adb?shell?dumpsys?window?|?findstr?mCurrentFocus
全部都是 ease../ease...。
所以需要通過切換 來切換應(yīng)用。
通過包名來獲取對應(yīng) :
adb?shell?ps|findstr?com.netease.android.cloudgame
全部都是 ease../ease...。
所以需要通過切換 來切換應(yīng)用。
通過包名來獲取對應(yīng) :
adb?shell?ps|findstr?com.netease.android.cloudgame
返回如下內(nèi)容:
可以看到原端應(yīng)用的進程 id 是 ,看 _ 前面的 u0 就行,即 =0;在 MuMu 上一般原端的 =0,多開端 #N1 的 =10,如此類推 #N2 的 =11,#N3 的 =12,#N4 的 =13
所以多開操作分為兩步:
切換 打開應(yīng)用根據(jù)上邊的截圖, 分別是 0 和 10,如果要在兩個應(yīng)用之間切換可以使用:
#?切換原應(yīng)用
adb?shell?am?start-user?0
adb?shell?am?start?--user?0?com.netease.android.cloudgame/com.netease.android.cloudgame.MainActivity
#?切換多開應(yīng)用
adb?shell?am?start-user?10
adb?shell?am?start?--user?10?com.netease.android.cloudgame/com.netease.android.cloudgame.MainActivity
切換之后就可以繼續(xù)操作了。
如果本文對你有幫助的話,請不要吝嗇你的贊,謝謝!