Python 實(shí)現(xiàn)王者榮耀 自動刷金幣

來源:CSDN-大瑞大
想寫一個游戲的輔助腳本(或者外掛? )很久了。這幾天工作、考試都完成的差不多了,閑下來寫一個王者榮耀的刷金幣腳本,供大家參考。

原理
我想,游戲的腳本應(yīng)該都是差不多的,我們玩游戲的流程是這樣的:

那么用腳本玩游戲呢,完全可以省略中間的步驟:

所以我們只要:
在特定的時刻,特定的位置,按鍵,就可以了。
環(huán)境配置
ADB工具(讓電腦使用手機(jī))
下載地址:https://adbshell.com/downloads/
如果慢的話找其它資源也好
下載配置不再贅述。
最后出現(xiàn)類似下圖即可。

(不用也可)python 與IDE
下載配置不再贅述了,最后出現(xiàn)類似下圖即可。

刷金幣步驟
1、數(shù)據(jù)線鏈接電腦,進(jìn)入手機(jī)開發(fā)者模式(不會的話百度即可)
2、啟動adb
錯誤一:5037端口被占用,關(guān)閉相應(yīng)進(jìn)程即可

netstat -ano | findstr "5037"
taskkill /pid (進(jìn)程號) -f
錯誤二:缺少DLL,或者沒有進(jìn)入開發(fā)者模式,移動DLL即可

可選(0.找到下載adb的目錄,把a(bǔ)db.exe,AdbWinApi.dll放到C:\WINDOWS\System32下)
1.將本機(jī)C:\WINDOWS\System32下的adb.exe文件復(fù)制到C:\Windows\SysWOW64下。
2.將本機(jī)C:\WINDOWS\System32下的AdbWinApi.dll文件復(fù)制到C:\Windows\SysWOW64下。
3、打開王者榮耀(如果不是開發(fā)者,可以轉(zhuǎn)5),截一堆圖,并查看像素點(diǎn)

可以看到萬象天工像素點(diǎn)(1755,793), 通過adb shell input tap 1755 793命令點(diǎn)擊萬象天工。
以下同理:

像素點(diǎn)(211,275)

像素點(diǎn)(1231,557)

像素點(diǎn)(800,567)(1393,475)(1677,675)(1791,939)

像素點(diǎn)(1697,861)

像素點(diǎn)(2175,45)

點(diǎn)擊自動 (2117,39)
(無圖)
等待60s,跳過(2175,45)
(無圖)
等10s點(diǎn)擊屏幕繼續(xù)(1000,500)

再次挑戰(zhàn)(2001,1011)

不斷循環(huán)即可。
4、代碼如下:
# -*- coding: utf-8 -*-
# @Author : daruida
# @Time : 2021/1/8 15:38
import os
from time import sleep
# 點(diǎn)擊方法
def click_screen(x, y):
os.system('adb shell input tap {} {}'.format(x, y))
def repeat(zidong):
print('開始挑戰(zhàn)')
# 闖關(guān)
click_screen(1697, 861)
sleep(10)
# 跳過
print('點(diǎn)擊跳過')
click_screen(2175, 45)
sleep(1)
# 自動
if zidong == 0:
print('點(diǎn)擊自動')
click_screen(2117, 39)
zidong = 1
# 打完
sleep(60)
print('打完了')
# 跳過
click_screen(2175, 45)
sleep(10)
# 挑戰(zhàn)完成
print('挑戰(zhàn)完成\n\n')
click_screen(1000, 500)
sleep(1)
# 再次挑戰(zhàn)
print('再次挑戰(zhàn)\n\n')
click_screen(2001, 1011)
sleep(1)
repeat(zidong)
if __name__ == '__main__':
zidong = 0
print('刷金幣初始化....')
click_screen(1755, 793) # 萬象天宮
sleep(1)
click_screen(211, 275) # 冒險玩法
sleep(1)
click_screen(1231, 557) # 挑戰(zhàn)
sleep(2)
print('通天塔\n')
click_screen(1393, 475) # 通天塔
sleep(1)
click_screen(1677, 675) # 大師級別
sleep(1)
click_screen(1791, 939) # 下一步
print('刷金幣重復(fù)階段...')
repeat(zidong)
當(dāng)然了…如果手機(jī)網(wǎng)速快的話,或者打的速度快的話,可以縮短些sleep的時間…
5、封裝為exe
pyinstaller -F xxxx.py

6、鏈接好手機(jī)后,打開到王者初始化界面,運(yùn)行exe即可
(出錯的話,重新運(yùn)行一遍就可)
測試
我的組合:孫笨+狂鐵+小金金…
自動下1min打完…1h能1000+金幣
當(dāng)然,如果其它組合打的時間過長,可以和我討論下可能會出錯啦
睡覺的時候就刷金幣,或者邊看B站邊刷金幣,豈不美哉~

- End -
