--- order: 3 icon: ph:sword-bold --- # 戰鬥流程協議 `resource/copilot/*.json` 的使用方法及各欄位說明 ::: tip 請注意 JSON 檔是不支援註解的,下方的註解僅用於說明,請勿直接複製使用 ::: ## 完整欄位一覽 ```json { "stage_name": "暴君", // 關卡名,必選。關卡中文名、code、stageId、levelId 等,只要能保證唯一均可。 "opers": [ // 指定幹員 { "name": "重岳", // 幹員名 "skill": 3, // 技能序號。可選,預設為 1,取值範圍 [1, 3] "skill_usage": 2, // 技能用法。可選,預設為 0 // 0 - 不自動使用(依賴 "actions" 欄位) // 1 - 好了就用,有多少次用多少次(例如幹員 棘刺 3 技能、桃金娘 1 技能等) // 2 - 使用 X 次(例如幹員 山 2 技能用 1 次、重岳 3 技能用 5 次,通過 "skill_times" 欄位設定) // 3 - 自動判斷使用時機(畫餅.jpg) // 如果是全自動的技能,填 0 "skill_times": 5 // 技能使用次數。可選,預設為 1 "requirements": { // 練度要求。保留接口,暫未實現。可選,預設為空 "elite": 2, // 精英化等級。可選,預設為 0,不要求精英化等級 "level": 90, // 幹員等級。可選,預設為 0 "skill_level": 10, // 技能等級。可選,預設為 0 "module": 1, // 模組編號。可選,預設為 0 "potentiality": 1 // 潛能要求。可選,預設為 0 } }, ], "groups": [ { "name": "任意正常群奶", // 群組名,必選 // 自己隨便取名字,與下面 deploy 中的 name 對應起來就行 "opers": [ // 幹員任選其一,無序,會優先選練度高的,用法同上述 opers 欄位 { "name": "夜鶯", "skill": 3, "skill_usage": 2 // 若是指定時刻,不同的幹員技能 cd 可能不同,請注意 }, { "name": "白面鴞", "skill": 2, "skill_usage": 2 } ] } ], "actions": [ // 戰鬥中的操作。有序,執行完前一個才會去執行下一個。必選 { "type": "部署", // 操作類型,可選,預設為 "Deploy" // "Deploy" | "Skill" | "Retreat" | "SpeedUp" | "BulletTime" | "SkillUsage" | "Output" | "SkillDaemon" | "MoveCamera" // "部署" | "技能" | "撤退" | "二倍速" | "子彈時間" | "技能用法" | "打印" | "擺完掛機" | "移動鏡頭" // 中英文皆可,效果相同 // 若為 "部署",當費用不夠時,會一直等待到費用夠(除非 timeout) // 若為 "技能",當技能 cd 沒轉好時,一直等待到技能 cd 好(除非 timeout) // "二倍速" 是可切換的,即使用一次變成二倍速,再次使用又變回一倍速 // "子彈時間" 即點擊任意幹員後的 1/5 速度,再進行任意 action 會恢復正常速度 // "name" 或 "location" 必填一項,即點哪個幹員進入子彈時間,戰場上的幹員或待部署區的幹員均可(會自動判斷) // 若下一個動作是 "技能" / "撤退",需要填與下一個動作相同的 "name" 或 "location" // 若下一個動作是 "部署",隨便填誰(但最好不要填待部署的那個人,頭像被點了會影響辨識) // "打印" 界面不顯示這條步驟,僅用於輸出 doc 里的內容(用來做字幕之類的) // "擺完掛機" 僅使用 "好了就用" 的技能,其他什麽都不做,直到戰鬥結束 // "移動鏡頭" 用於 “引航者試煉” 模式,還需要填寫 distance 欄位 // 目前下面四個條件是且的關係,即 && "kills": 0, // 擊殺數條件,如果沒達到就一直等待。可選,預設為 0,直接執行 "costs": 50, // 費用條件,如果沒達到就一直等待。可選,預設為 0,直接執行 // 費用受潛能等影響,可能並不完全正確,僅適合對時間軸要求不嚴格的戰鬥。 // 否則請使用下面的 cost_changes // 另外僅在費用是兩位數的時候辨識的比較準,三位數的費用可能會辨識錯,不推薦使用 "cost_changes": 5, // 費用變化量條件,如果沒達到就一直等待。可選,預設為 0,直接執行 // 注意是從開始執行本 actions 開始計算的(即前一個 action 結束時的費用作為基準) // 支援負數,即費用變少了(例如 “孑” 等吸費幹員使得費用變少了) // 另外僅在費用是兩位數的時候辨識的比較準,三位數的費用可能會辨識錯,不推薦使用 "cooling": 2, // CD 中幹員數量條件,如果沒達到就一直等待。可選,預設為 -1,不辨識 // TODO: 其他條件 // TODO: "condition_type": 0, // 執行條件間的關系,可選,預設為 0 // // 0 - 且; 1 - 或 "name": "棘刺", // 幹員名 或 群組名, type 為 "部署" 時必選,為 "技能" | "撤退" 時可選 "location": [ 5, 5 ], // 部署幹員的位置。 // type 為 "部署" 時必選。 // type 為 "技能" | "撤退" 時可選, // "技能":僅推薦場地上自動的裝置等,不填寫 name,並使用 location 開啟技能。正常部署的幹員推薦使用 name 開啟技能 // "撤退":僅推薦有多個同名召喚物時,不填寫 name, 並使用 location 進行撤退。正常部署的幹員推薦 name 進行撤退 "direction": "左", // 部署幹員的幹員朝向。 type 為 "部署" 時必選 // "Left" | "Right" | "Up" | "Down" | "None" // "左" | "右" | "上" | "下" | "無" // 中英文皆可,效果相同 "skill_usage": 1, // 修改技能用法。當 type 為 "技能用法" 時必選 // 舉例:剛下淘金娘需要她幫忙打幾個怪,不能自動開技能,中後期平穩了需要她自動開技能 // 則可以在對應時刻設定為 1 "pre_delay": 0, // 前置延遲。可選,預設為 0,單位毫秒 "post_delay": 0, // 後置延遲。可選,預設為 0,單位毫秒 // "timeout": 999999999, // 保留欄位,暫未實現。 // 超時時間。當 type 為 "部署" | "技能" 時可選。預設 INT_MAX,單位毫秒 // 等待超時則放棄當前動作, 轉而執行下一個動作 "distance": [ 4.5, 0 ] // type 為 "移動鏡頭" 時必選 // [ x 移動格子數,y 移動格子數 ],可為小數 // 注意 "移動鏡頭" 時是辨識不到正在站場中的,需要用 sleep 完整覆蓋整個移動動畫 "doc": "下棘刺了!", // 描述,可選。會顯示在介面上,沒有實際作用 "doc_color": "orange" // 描述文字的顏色,可選,預設灰色。會顯示在介面上,沒有實際作用。 }, // 舉例 1 { "name": "任意正常群奶", "location": [ 5, 6 ], "direction": "右" }, // 舉例 2 { "name": "史爾特爾", "location": [ 4, 5 ], "direction": "左", "doc": "你史爾特爾奶奶來啦!", "doc_color": "red" }, // 舉例 3 { "type": "二倍速" } ], "minimum_required": "v4.0", // 最低要求 maa 版本號,必選。保留欄位,暫未實現 "doc": { // 描述,可選。 "title": "低練度高成功率作業", "title_color": "dark", "details": "對練度要求很低 balabala……", // 建議在這裡寫上你的名字!(作者名)、參考的影片攻略連結等 "details_color": "dark" }, } ``` ## 舉例 [OF-1](https://github.com/MaaAssistantArknights/MaaAssistantArknights/blob/master/resource/copilot/OF-1_credit_fight.json)