typedef void(ASST_CALL* AsstCallback)(int msg, const char* details, void* custom_arg);
-
int msg
訊息類型enum class AsstMsg { /* Global Info */ InternalError = 0, // 內部錯誤 InitFailed, // 初始化失敗 ConnectionInfo, // 連接相關資訊 AllTasksCompleted, // 全部任務完成 /* TaskChain Info */ TaskChainError = 10000, // 任務鏈執行/辨識錯誤 TaskChainStart, // 任務鏈開始 TaskChainCompleted, // 任務鏈完成 TaskChainExtraInfo, // 任務鏈額外資訊 /* SubTask Info */ SubTaskError = 20000, // 原子任務執行/辨識錯誤 SubTaskStart, // 原子任務開始 SubTaskCompleted, // 原子任務完成 SubTaskExtraInfo // 原子任務額外資訊 };
-
const char* details
訊息詳情,json 字串,詳見 欄位解釋 -
void* custom_arg
呼叫方自定義參數,會原樣傳出AsstCreateEx
介面中的custom_arg
參數,C 系語言可利用該參數傳出this
指標
Todo
{
"what": string, // 錯誤類型
"why": string, // 錯誤原因
"details": object // 錯誤詳情
}
{
"what": string, // 資訊類型
"why": string, // 資訊原因
"uuid": string, // 設備唯一碼(連接失敗時為空)
"details": {
"adb": string, // AsstConnect 介面 adb_path 參數
"address": string, // AsstConnect 介面 address 參數
"config": string // AsstConnect 介面 config 參數
}
}
ConnectFailed
連接失敗Connected
已連接,注意此時的uuid
欄位值為空(下一步才是獲取)UuidGot
已獲取到設備唯一碼UnsupportedResolution
解析度不被支援ResolutionError
解析度獲取錯誤Reconnecting
連接斷開(adb / 模擬器 炸了),正在重連Reconnected
連接斷開(adb / 模擬器 炸了),重連成功Disconnect
連接斷開(adb / 模擬器 炸了),並重試失敗ScreencapFailed
截圖失敗(adb / 模擬器 炸了),並重試失敗
{
"taskchain": string, // 最後的任務鏈
"uuid": string, // 設備唯一碼
"finished_tasks": [ // 已經執行過的任務 id
int,
...
]
}
StartUp
開始喚醒Fight
刷理智Mall
信用點及購物Recruit
自動公招RecruitCalc
公招辨識Infrast
基建換班Roguelike
無限刷肉鴿Debug
調試
{
"taskchain": string, // 當前的任務鏈
"taskid": int, // 當前任務 TaskId
"uuid": string // 設備唯一碼
}
Todo
{
"subtask": string, // 子任務名
"class": string, // 子任務符號名
"taskchain": string, // 當前任務鏈
"taskid": int, // 當前任務 TaskId
"details": object, // 詳情
"uuid": string // 設備唯一碼
}
-
ProcessTask
// 對應的 details 欄位舉例 { "task": "StartButton2", // 任務名 "action": 512, "exec_times": 1, // 已執行次數 "max_times": 999, // 最大執行次數 "algorithm": 0 }
-
Todo 其他
StartButton2
開始戰鬥MedicineConfirm
使用理智藥StoneConfirm
碎石RecruitRefreshConfirm
公招刷新標籤RecruitConfirm
公招確認招募RecruitNowConfirm
公招使用加急許可ReportToPenguinStats
匯報到企鵝資料統計ReportToYituliu
匯報到一圖流巨量資料InfrastDormDoubleConfirmButton
基建宿舍的二次確認按鈕,僅當幹員衝突時才會有,請提示使用者Roguelike1Start
肉鴿開始探索Roguelike1StageTraderInvestConfirm
肉鴿投資了源石錠Roguelike1StageTraderInvestSystemFull
肉鴿投資達到了遊戲上限Roguelike1ExitThenAbandon
肉鴿放棄了本次探索Roguelike1MissionCompletedFlag
肉鴿戰鬥完成Roguelike1MissionFailedFlag
肉鴿戰鬥失敗Roguelike1StageSafeHouseEnter
肉鴿關卡:詭異行商Roguelike1StageSafeHouseEnter
肉鴿關卡:安全的角落Roguelike1StageEncounterEnter
肉鴿關卡:不期而遇/古堡饋贈Roguelike1StageCambatDpsEnter
肉鴿關卡:普通作戰Roguelike1StageEmergencyDps
肉鴿關卡:緊急作戰Roguelike1StageDreadfulFoe
肉鴿關卡:險路惡敵StartGameTask
打開用戶端失敗(設定檔與傳入client_type不匹配)- Todo 其他
{
"taskchain": string, // 當前任務鏈
"class": string, // 子任務類型
"what": string, // 資訊類型
"details": object, // 資訊詳情
"uuid": string, // 設備唯一碼
}
-
StageDrops
關卡材料掉落資訊// 對應的 details 欄位舉例 { "drops": [ // 本次辨識到的掉落材料 { "itemId": "3301", "quantity": 2, "itemName": "技巧概要·卷1" }, { "itemId": "3302", "quantity": 1, "itemName": "技巧概要·卷2" }, { "itemId": "3303", "quantity": 2, "itemName": "技巧概要·卷3" } ], "stage": { // 關卡資訊 "stageCode": "CA-5", "stageId": "wk_fly_5" }, "stars": 3, // 行動結束星級 "stats": [ // 本次執行期間總的材料掉落 { "itemId": "3301", "itemName": "技巧概要·卷1", "quantity": 4 }, { "itemId": "3302", "itemName": "技巧概要·卷2", "quantity": 3 }, { "itemId": "3303", "itemName": "技巧概要·卷3", "quantity": 4 } ] }
-
RecruitTagsDetected
公招辨識到了 Tags// 對應的 details 欄位舉例 { "tags": [ "費用回复", "防護", "先鋒幹員", "輔助幹員", "近戰位" ] }
-
RecruitSpecialTag
公招辨識到了特殊 Tag// 對應的 details 欄位舉例 { "tag": "高級資深幹員" }
-
RecruitResult
公招辨識結果// 對應的 details 欄位舉例 { "tags": [ // 所有辨識到的 tags,目前來說一定是 5 個 "削弱", "減速", "術師幹員", "輔助幹員", "近戰位" ], "level": 4, // 總的星級 "result": [ { "tags": [ "削弱" ], "level": 4, // 這組 tags 的星級 "opers": [ { "name": "初雪", "level": 5 // 幹員星級 }, { "name": "隕星", "level": 5 }, { "name": "槐琥", "level": 5 }, { "name": "夜煙", "level": 4 }, { "name": "流星", "level": 4 } ] }, { "tags": [ "減速", "術師幹員" ], "level": 4, "opers": [ { "name": "夜魔", "level": 5 }, { "name": "格雷伊", "level": 4 } ] }, { "tags": [ "削弱", "術師幹員" ], "level": 4, "opers": [ { "name": "夜煙", "level": 4 } ] } ] }
-
RecruitTagsRefreshed
公招刷新了 Tags// 對應的 details 欄位舉例 { "count": 1, // 當前槽位已刷新次數 "refresh_limit": 3 // 當前槽位刷新次數上限 }
-
RecruitTagsSelected
公招選擇了 Tags// 對應的 details 欄位舉例 { "tags": [ "減速", "術師幹員" ] }
-
RecruitSlotCompleted
當前公招槽位任務完成 -
RecruitError
公招辨識錯誤 -
EnterFacility
基建進入了設施// 對應的 details 欄位舉例 { "facility": "Mfg", // 設施名 "index": 0 // 設施序號 }
-
NotEnoughStaff
基建可用幹員不足// 對應的 details 欄位舉例 { "facility": "Mfg", // 設施名 "index": 0 // 設施序號 }
-
ProductOfFacility
基建產物// 對應的 details 欄位舉例 { "product": "Money", // 產物名 "facility": "Mfg", // 設施名 "index": 0 // 設施序號 }
-
StageInfo
自動作戰關卡資訊// 對應的 details 欄位舉例 { "name": string // 關卡名 }
-
StageInfoError
自動作戰關卡辨識錯誤 -
PenguinId
企鵝物流 ID// 對應的 details 欄位舉例 { "id": string }
-
DepotInfo
倉庫辨識結果// 對應的 details 欄位舉例 "done": bool, // 是否已經辨識完了,為 false 表示仍在辨識中(過程中的資料) "arkplanner": { // https://penguin-stats.cn/planner "object": { "items": [ { "id": "2004", "have": 4, "name": "高級作戰記錄" }, { "id": "mod_unlock_token", "have": 25, "name": "模組資料塊" }, { "id": "2003", "have": 20, "name": "中級作戰記錄" } ], "@type": "@penguin-statistics/depot" }, "data": "{\"@type\":\"@penguin-statistics/depot\",\"items\":[{\"id\":\"2004\",\"have\":4,\"name\":\"高級作戰記錄\"},{\"id\":\"mod_unlock_token\",\"have\":25,\"name\":\"模組資料塊\"},{\"id\":\"2003\",\"have\":20,\"name\":\"中級作戰記錄\"}]}" }, "lolicon": { // https://arkn.lolicon.app/#/material "object": { "2004" : 4, "mod_unlock_token": 25, "2003": 20 }, "data": "{\"2003\":20,\"2004\": 4,\"mod_unlock_token\": 25}" } // 目前只支援 ArkPlanner 和 Lolicon 的格式,以後可能會相容更多網站
-
UnsupportedLevel
自動抄作業,不支援的關卡名