前往
大廳
主題

Chained Echoes - pyautogui 簡易自動戰鬥腳本

mP3+Z | 2023-07-11 03:16:34 | 巴幣 1000 | 人氣 770

沒有自動戰鬥打到心累,自己摸索寫了個腳本
第一次碰python,可能寫的繁瑣但加減堪用。

前置
1. python 3 (安裝和使用自行google)
2. 需裝額外python套件pyautogui、keyboard
3.在steam內崁介面將xbox控制器上的選擇鍵新增次選項為 f6,開始鍵為 f7 (用鍵盤玩可直接按f6 / f7)

腳本
#====================================
import pyautogui
import keyboard
vibuff= 0
while True:             
    if keyboard.read_key() == "f6":
        while True:
            if pyautogui.pixel(1154, 113)[0] == pyautogui.pixel(1295, 113)[0] == 255: #是否完成戰鬥
                if pyautogui.pixel(80, 760)[0] == 114 and pyautogui.pixel(1320, 1000)[0] == 19: #是否為我方回合
                    if pyautogui.pixel(230, 785)[0] == 254 and pyautogui.pixel(140, 758)[0] == 114 : #是否為維克托
                        if vibuff > 0: #是否有增益
                            pyautogui.press("e")
                            pyautogui.press("e")
                            pyautogui.press("d")
                            pyautogui.press("space")
                            pyautogui.press("space")
                        else:
                            pyautogui.press("d")
                            pyautogui.press("space")
                            pyautogui.press("space")
                    else:  
                        if pyautogui.pixel(700, 840)[0] < 65: #其他角色是否已選取第一個技能
                            pyautogui.press("d")
                            pyautogui.press("space")
                            pyautogui.press("space")
                        else:
                            pyautogui.press("space")
                            pyautogui.press("space")
                if pyautogui.pixel(80, 760)[0] == 114 and pyautogui.pixel(1320, 1000)[0] == 54: #是否為我方回合(天鎧)
                    if pyautogui.pixel(700, 840)[0] < 65:
                        pyautogui.press("d")
                        pyautogui.press("space")
                        pyautogui.press("space")
                    else:
                        pyautogui.press("space")
                        pyautogui.press("space")
                if keyboard.is_pressed("f7"):
                    vibuff= 0
                    break
            else:
                vibuff= 0
                break
#====================================              
       
用法:
1. 把腳本存成py檔,用python idle或其他軟體如vscode開啟檔案執行
2. 進入戰鬥後按 [選擇鍵] 啟動,可按 [開始鍵] 手動關閉。(用鍵盤玩則是按f6 / f7)

腳本限制
1. 是用座標像素顏色判定,因此需在全螢幕下執行
2. 測試ok組合琪安娜,維克托,蕾妮,巴薩茲/埃吉爾,換其他3字名子角色可能會有誤判的情況(沒測試)
2. 手動中斷後如重新啟動維克托施放技能可能會錯亂
3. 遊戲難度最易,調高難度可能翻車。打小怪專用,打boss還是手動吧。

戰鬥模式
維克托放左上角buff技能後會換後備角,之後所有人都放左上角技能一路到結束。
天鎧不換檔一律執行左上技能到最後。

更多創作