typedef void(ASST_CALL* AsstCallback)(int msg, const char* details, void* custom_arg);
-
int msg
The message typeenum class AsstMsg { /* Global Info */ InternalError = 0, // Internal error InitFailed, // Initialization failure ConnectionInfo, // Connection info AllTasksCompleted, // すべてのタスクが完了したかどうか /* TaskChain Info */ TaskChainError = 10000, // 一連のタスク 実行/認識のエラー TaskChainStart, // 一連のタスク開始 TaskChainCompleted, // 一連のタスク完了 TaskChainExtraInfo, // 一連のタスクの追加情報 /* SubTask Info */ SubTaskError = 20000, // サブタスク 実行/認識におけるエラー SubTaskStart, // サブタスク 実行 SubTaskCompleted, // サブタスク 完了 SubTaskExtraInfo // サブタスクの追加情報 };
-
const char* details
メッセージの詳細, JSON. 詳細: Field Description -
void* custom_arg
呼び出し元のカスタム引数には、AsstCreateEx
インターフェースのcustom_arg
引数が渡される。C ライクな言語では、this
ポインタを一緒に渡すことができる。
Todo
{
"what": string, // Error タイプ
"why": string, // Error 理由
"details": object // Error 詳細
}
{
"what": string, // Info タイプ
"why": string, // Info 理由
"uuid": string, // UUID (接続に失敗した場合は空白)
"details": {
"adb": string, // AsstConnect インターフェースの adb_path 引数
"address": string, // AsstConnect インターフェースの address 引数
"config": string // AsstConnect インターフェースの config 引数
}
}
ConnectFailed
接続失敗.Connected
接続。現段階ではuuid
フィールドが空であることに注意してください (次のステップで取得されます)UuidGot
UUID の取得.UnsupportedResolution
この解像度はサポートされていません.ResolutionError
解像度を取得できない.Reconnecting
切断 (adb/emulator クラッシュ), 再接続開始Reconnected
切断 (adb/emulator クラッシュ), 再接続成功Disconnect
切断 (adb/emulator クラッシュ), 再接続失敗ScreencapFailed
画面取得失敗 (adb/emulator クラッシュ), 再接続失敗
{
"taskchain": string, // 最後の一連のタスク
"uuid": string, // UUID
"finished_tasks": [ // 最終動作タスクの ID
int,
...
]
}
StartUp
ウェイクアップ.Fight
戦闘.Mall
購買所.Recruit
自動公開求人.RecruitCalc
公開求人結果取得.Infrast
基地施設.Roguelike
統合戦略Debug
デバッグ.
{
"taskchain": string, // 現在の一連タスク
"taskid": int, // 現在のタスク ID
"uuid": string // UUID
}
Todo
{
"subtask": string, // サブタスク名
"class": string, // サブタスククラス
"taskchain": string, // 現在の一連のタスク
"taskid": int, // 現在のタスク ID
"details": object, // 詳細
"uuid": string // UUID
}
-
ProcessTask
// 対応する詳細フィールドの例 { "task": "StartButton2", // タスク名 "action": 512, "exec_times": 1, // 実行回数 "max_times": 999, // 最大実行回数 "algorithm": 0 }
-
Todo Other
StartButton2
開始.MedicineConfirm
理性回復剤使用確認.StoneConfirm
純正源石使用確認.RecruitRefreshConfirm
公開求人リストの更新確認.RecruitConfirm
公開求人の決定.RecruitNowConfirm
緊急招集票の使用確認.ReportToPenguinStats
ペンギン急便への報告.ReportToYituliu
Yituliu へビッグデータの報告.InfrastDormDoubleConfirmButton
基地施設での二重確認は、他のオペレーターとの競合がある場合のみ発生します.Roguelike1Start
統合戦略: 開始.Roguelike1StageTraderInvestConfirm
統合戦略: 源石錐とアイテム交換.Roguelike1StageTraderInvestSystemFull
統合戦略: 投資満額.Roguelike1ExitThenAbandon
統合戦略: 終了確認.Roguelike1MissionCompletedFlag
統合戦略: ミッション完了.Roguelike1MissionFailedFlag
統合戦略: ミッション失敗.Roguelike1StageSafeHouseEnter
統合戦略: 怪しい旅商人Roguelike1StageSafeHouseEnter
統合戦略: 安全な片隅Roguelike1StageEncounterEnter
統合戦略: 思わぬ遭遇Roguelike1StageCambatDpsEnter
統合戦略: 作戦Roguelike1StageEmergencyDps
統合戦略: 緊急作戦Roguelike1StageDreadfulFoe
統合戦略: 悪路凶敵StartGameTask
クライアントの起動に失敗 (client_type と設定ファイルの互換性なし)- Todo Other
{
"taskchain": string, // 一連のタスク
"class": string, // サブタスクのクラス
"what": string, // Information タイプ
"details": object, // Information 詳細
"uuid": string, // UUID
}
-
StageDrops
ステージドロップインフォメーション// 対応する詳細フィールドの例 { "drops": [ // dropped items { "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": [ "COST回復", "防御", "先鋒タイプ", "補助タイプ", "近接攻撃" ] }
-
RecruitSpecialTag
特別な採用タグの検出// 対応する詳細フィールドの例 { "tag": "上級エリート" }
-
RecruitResult
公開求人結果// 対応する詳細フィールドの例 { "tags": [ // 全てのタグ, 5つまで "弱化", "減速", "術師タイプ", "補助タイプ", "近接攻撃" ], "level": 4, // レアリティのトータル "result": [ { "tags": [ "弱化" ], "level": 4, // レアリティに対応するタグ "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
公開求人タグの更新// 対応する詳細フィールドの例 { "count": 1, // スロットが更新された回数 "refresh_limit": 3 // 更新最大回数 }
-
RecruitTagsSelected
公開求人タグの選択// 対応する詳細フィールドの例 { "tags": [ "減速", "術師タイプ" ] }
-
RecruitSlotCompleted
公開求人スロットの完了 -
RecruitError
リクルート認識時のエラー -
EnterFacility
施設へ入る// 対応する詳細フィールドの例 { "facility": "Mfg", // 施設名 "index": 0 // 施設 ID }
-
NotEnoughStaff
オペレーター不足// 対応する詳細フィールドの例 { "facility": "Mfg", // 施設名 "index": 0 // 施設 ID }
-
ProductOfFacility
施設の生産// 対応する詳細フィールドの例 { "product": "Money", // 生産物 "facility": "Mfg", // 施設名 "index": 0 // 施設 ID }
-
StageInfo
自動戦闘ステージの情報// 対応する詳細フィールドの例 { "name": string // 施設名 }
-
StageInfoError
自動戦闘ステージの情報エラー -
PenguinId
Penguin ID// 対応する詳細フィールドの例 { "id": string }
-
DepotInfo
倉庫のアイテムの認識結果// 対応する詳細フィールドの例 "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
サポートされていないレベル