天天看點

用Python代碼刷王者金币原理

原理

王者榮耀的冒險模式裡有個挑戰模式,第一次過關可以獲得比較多的金币,後面重新挑戰還是會獲得少量金币,這不算是bug,隻有你不嫌煩手動蠻力也可以刷金币。

推薦關卡:隕落的廢都 - 魔女回憶

此關卡使用純輸出英雄20秒左右可以打BOSS,50秒左右可以通關,每次重複通關可以獲得獎勵19金币。在開挂前建議你手動通關體驗一下。此為遊戲原理。

簡單來說,需要執行以下步驟:

  1. 界面打開至挑戰關卡:隕落的廢都 - 魔女回憶 【點選下一步】
  2. 進入陣容調整界面,提前安排好陣容。【點選闖關】
  3. 進入挑戰界面。【點選右上角-自動-等待挑戰結束】
  4. 進入挑戰完成界面。【點選螢幕繼續】
  5. 進入關卡獎勵界面。【點選再次挑戰】
  6. 進入陣容調整界面,循環至步驟1或步驟2【貌似取決于遊戲區和版本】

隻要你能模拟螢幕點選就可以完成刷金币的腳本,在安卓模拟界面點選最簡單的方式就是使用ADB發送指令,不需要root手機,不需要安裝第三方軟體,友善快捷。ADB指令點選螢幕坐标[x, y] 可以使用指令:

adb shell input tap x y           

複制

IOS 是否有類似工具和指令,我不清楚,如果有那麼實作自動刷金币也很簡單。

準備

  • 本腳本适用于安卓遊戲區,需要真實安卓手機。
  • 手機需開啟USB調試模式,允許電腦調試。
  • 電腦需安裝好安卓驅動,一般豌豆莢或者各種管家可以自動幫你裝好。
  • 電腦需要有ADB工具集,很多方式可以擷取。
  • ADB工具需要加入環境變量PATH中,友善随時調用。
  • 電腦上需要安裝Python,因為這是我選擇的腳本語言。

如果隻是為了刷金币,隻需要安裝好驅動和ADB工具即可。

步驟

如果萬事具備,那麼步驟就非常簡單。

環境檢測

  1. 用USB連接配接手機,如果彈出警告,請允許電腦調試手機。
  2. 使用指令

    adb devices

    檢驗adb和手機狀态已經就緒。
$ adb devices
List of devices attached
b******4        device           

複制

模拟點選螢幕,比如你可以打開畫圖軟體,然後運作指令:

adb shell input tap 500 500           

複制

如果如果一切OK,那麼你将看到畫圖軟體在坐标(500,500)的位置有一個點。

代碼實作

通關需要點選的螢幕位置是固定的,加上注釋我們隻需要不到30行代碼就可以完成。

def tap_screen(x, y):
    os.system('adb shell input tap {} {}'.format(x, y))
​
def do_money_work():
    print('#0 start the game')
    tap_screen(1600, 970)
    sleep(3)
​
    print('#1 ready, go!!!')
    tap_screen(1450, 910)
    sleep(15)
​
    print('#2 auto power on!')
    tap_screen(1780, 40)
​
    for i in range(25):
        tap_screen(1000, 500)
        sleep(1)
​
    print('#3 do it again...\n')
    tap_screen(1430, 980)
    sleep(3)           

複制

然後我們寫一個主函數來循環刷錢。

if __name__ == '__main__':
    for i in range(repeat_times):
        print('round #{}'.format(i + 1))
        do_money_work()           

複制

然後:

  1. 下載下傳項目中的

    kog.py

    到本地。
  2. 将遊戲打開,進入挑戰模式,魔女回憶,陣容調整界面。
  3. 根據手機性能和分辨率,調整

    kog.py

    中的參數。(手機分辨率,刷金次數等等)
  4. 運作以下指令,手機上就可以檢視實時運作效果。
python kog.py           

複制

注意:

  1. 每周金币上限4200,需要接近4個小時,不建議一次刷滿,手機和你都要休息。
  2. 銘文,手機性能,英雄選擇都會影響通關速度,自己微調等待時間。
  3. 如果你不想被USB資料線束縛,可以考慮使用無線連接配接Android真機

聲明

本腳本純屬娛樂和探索的心得,如果你因為違反了遊戲規則導緻被封号,我概不負責。