From 51fba0775457fc967c74e63744e2c7f96f0927cc Mon Sep 17 00:00:00 2001 From: Wallsman <63186641+wallsman@users.noreply.github.com> Date: Thu, 15 Sep 2022 17:13:34 +0900 Subject: [PATCH 1/2] doc:miss document fix 3-2 to 3-1 base document miss --- docs/ja-jp/3.1-統合ドキュメント.md | 240 +++++++++++++++++++++++++++++ 1 file changed, 240 insertions(+) diff --git a/docs/ja-jp/3.1-統合ドキュメント.md b/docs/ja-jp/3.1-統合ドキュメント.md index e69de29bb2..f4bb8e76d0 100644 --- a/docs/ja-jp/3.1-統合ドキュメント.md +++ b/docs/ja-jp/3.1-統合ドキュメント.md @@ -0,0 +1,240 @@ +# インテグレーション + +## API + +### `AsstAppendTask` + +#### Prototype + +```c++ +TaskId ASSTAPI AsstAppendTask(AsstHandle handle, const char* type, const char* params); +``` + +#### Description + +タスクの追加 + +#### Return Value + +- `TaskId` + 以下の構成で、タスクの追加に成功した場合のタスクID; + タスクの追加に失敗した場合は0。 + +#### Parameter Description + +- `AsstHandle handle` + Instance handle +- `const char* type` + Task type +- `const char* params` + Task parameters in JSON + +##### List of Task Types + +- `StartUp` + Start-up + +```jsonc +// 対応するタスクのパラメータ +{ + "enable": bool, // このタスクを有効にするかどうか、オプション、デフォルトは true + "client_type": string, // クライアントバージョン, オプション, デフォルトは空白 + // オプション: "Official" | "Bilibili" + "start_game_enabled": bool // クライアントを自動的に起動するかどうか, オプション, デフォルトはfalse +} +``` + +- `Fight` + Operation + +```jsonc +// 対応するタスクのパラメータ +{ + "enable": bool, // このタスクを有効にするかどうか、オプション、デフォルトは true + "stage": string, // ステージ名, オプション, デフォルトは 現在 / 最終ステージ。 動作中の編集はサポートされていません。 + // メイン章のステージがサポートされています, 例 "1-7", "S3-2", など + // いくつかの特別ステージもサポートしています, 例 "CE-6", など.(C#の組み込み例をご参照ください) + "medicine": int, // 理性回復剤の最大使用数, オプション, デフォルトは 0 + "stone": int, // 純正源石の最大使用数, オプション, デフォルトは 0 + "times": int, // 最大周回数, オプション, デフォルトは無限 + "drops": { // ドロップ数の指定, オプション, デフォルトは指定なし + "30011": int, // Key: item ID; value: number of items. キーは resource/item_index.json に記載されています + "30062": int // OR 組み合わせ + }, + /* 項目はOR演算子で結合され、いずれかの条件を満たしたときにタスクが停止する。 */ + + "report_to_penguin": bool, // Pengiun Stats にデータをアップロードするかどうか, オプション, デフォルトは false + "penguin_id": string, // Penguin Stats ID, オプション, デフォルトは空白. `report_to_penguin` が `true`の時のみ使用可能. + "server": string, // サーバー, オプション, デフォルトは "CN", ドロップ認識とアップロードに影響します + // 選択オプション:"CN" | "US" | "JP" | "KR" + "client_type": string, // クライアントバージョン, オプション, デフォルトは空白. ゲームがクラッシュした後、再接続するために使用します. 空白の場合この機能を無効にします。 + // オプション: "Official" | "Bilibili" + "DrGrandet": bool, // 純正源石を使用する際に理性を節約します, オプション, デフォルトは false. 純正源石の使用画面でしか機能しません + // 理性が1ポイント回復するまで、使用確認画面で待ち、すぐに純正源石を使用することができます。 +} +``` + +- `Recruit` + 公開求人 + +```jsonc +// 対応するタスクのパラメータ +{ + "enable": bool, // このタスクを有効にするかどうか, オプション, デフォルトは true + "refresh": bool, // ★3 タグの場合更新, オプション, デフォルトは false + "select": [ // タグレベルのクリック, 必須 + int, + ... + ], + "confirm": [ // 確認するタグのレベル, 必須. 計算用に空配列を設定することも可能. + int, + ... + ], + "times": int, // 採用回数, オプション, デフォルトは 0. 0 にセットすることで計算だけに使用可能. + "set_time": bool, // 時刻を9時間に設定するかどうか, `times` が 0 の時のみ設定可能, オプション, デフォルトは true + "expedite": bool, // 緊急招集票の使用, オプション, デフォルトは false + "expedite_times": int, // 緊急招集票の使用回数, `expedite` が `true` の場合のみ使用可能 + // オプション, デフォルトでは `times` の限界まで使用します. + "skip_robot": bool, // ロボットタグが認識されたときにスキップするかどうか, オプション, デフォルトは skip. + "recruitment_time": { // タグレベルおよび設定時間(分), オプション, デフォルトは 540 (例. 9 時間) + "3": int, + "4": int, + ... + }, + "report_to_penguin": bool, // Pengiun Stats にデータをアップロードするかどうか, オプション, デフォルトは false + "penguin_id": string, // Penguin Stats ID, オプション, デフォルトは空白. `report_to_penguin` が `true`の時のみ使用可能. + "report_to_yituliu": bool, // YITULIU にデータをアップロードするかどうか, オプション, デフォルトは false + "yituliu_id": string, // YITULIU user id, オプション, デフォルトは空白. `report_to_yituliu` が `true`の時のみ使用可能. +} +``` + +- `Infrast` + 基地シフト + +```jsonc +{ + "enable": bool, // タスクを有効にするかどうか, オプション, デフォルトは true + "mode": int, // シフトモード, 予約, オプション. 動作中に変更はできません. + "facility": [ // シフト対象設備, 必須. 動作中の編集はサポートされていません. + string, // 施設名: "Mfg" | "Trade" | "Power" | "Control" | "Reception" | "Office" | "Dorm" + ... + ], + "drones": string, // ドローンの使用, オプション, デフォルトは "_NotUse" + // "_NotUse"、"Money"、"SyntheticJade"、"CombatRecord"、"PureGold"、"OriginStone"、"Chip" + "threshold": float, // 宿舎に移動させる体力のしきい値 [0, 1.0], オプション, デフォルトは 0.3 + "replenish": bool, // 源石の欠片を自動で補充する, オプション, デフォルトは false +} +``` + +- `Visit` + フレンドの基地訪問 + +```jsonc +// 対応するタスクのパラメータ +{ + "enable": bool // このタスクを有効にするかどうか, オプション, デフォルトは true +} +``` + +- `Mall` + FPの回収と自動購入 + `buy_first` にあるリストリストに従った順序でアイテムを購入した後, `blacklist` の内容を無視して左から右の順番で購入します. + +```jsonc +// 対応するタスクのパラメータ +{ + "enable": bool, // このタスクを有効にするかどうか, オプション, デフォルトは true + "shopping": bool, // 購買所から購入するかどうか, オプション, デフォルトは false. 動作中に変更はできません. + "buy_first": [ // アイテム購入の優先度, オプション. 動作中に変更はできません. + string, // アイテム名, 例. "招聘许可" (Recruitment Permit/求人票), "龙门币" (LMD/龍門弊), その他. + ... + ], + "blacklist": [ // ブラックリスト, オプション. 動作中に変更はできません. + string, // アイテム名, 例. "加急许可" (Expedited Plan/緊急招集票), "家具零件" (Furniture Part/家具パーツ), その他. + ... + ] +} +``` + +- `Award` + 報酬の受け取り. + +```jsonc +// 対応するタスクのパラメータ +{ + "enable": bool // このタスクを有効にするかどうか, オプション, デフォルトは true +} +``` + +- `Roguelike` + 統合戦略 + +```jsonc +{ + "enable": bool, // このタスクを有効にするかどうか, オプション, デフォルトは true + "mode": int, // モード, オプション, デフォルトは 0 + // 0 - キャンドル収集, 安定した戦略で続けられるだけ続ける + // 1 - 源石錐収集, 一階層で終了します + // 2 - どちらも行う, 源石錐は投資するまで + // 3 - クリアするまで, アグレッシブに行ける階層まで続ける + "starts_count": int, // 挑戦回数, オプション, デフォルトは INT_MAX + "investments_count": int, + // 投資数, オプション, デフォルトは INT_MAX + "stop_when_investment_full": bool, + // 投資額が一杯になったら動作停止, オプション, デフォルトは false + "squad": string, // "突撃戦術分隊" などの分隊指定, オプション, デフォルトは "デフォルト" + "roles": string, // 召集組合, オプション + "core_char": string // オペレーター名, オプション. レベルに応じて自動で選択します. +} +``` + +- `Copilot` + 自動戦闘 開発中機能 + +```jsonc +{ + "enable": bool, // このタスクを有効にするかどうか, オプション, デフォルトは true + "stage_name": string, // ステージ名, JSONの `stage_name` フィールドと同じです. 動作中に変更はできません. + "filename": string, // タスクのJSONのファイル名とパス, 絶対/相対 パスのサポート. 動作中に変更はできません. + "formation": bool // "quick build" を行うかどうか, オプション, デフォルトは false. 動作中に変更はできません. +} +``` + +自動操縦JSONの詳細については, [自動作戦API](3.3-自動作戦API.md)を参照してください + +- `Depot` + 倉庫アイテム認識 + +```jsonc +// 対応するタスクのパラメータ +{ + "enable": bool // このタスクを有効にするかどうか, オプション, デフォルトは true +} +``` + +### `AsstSetTaskParams` + +#### Prototype + +```c++ +bool ASSTAPI AsstSetTaskParams(AsstHandle handle, TaskId id, const char* params); +``` + +#### Description + +Set task parameters + +#### Return Value + +- `bool` + パラメータが正常に設定されたかどうか. + +#### Parameter Description + +- `AsstHandle handle` + Instance handle +- `TaskId task` + Task ID, `AsstAppendTask` の値を返します +- `const char* params` + JSONのタスクパラメーター, `AsstAppendTask` と同じ + "動作中に変更はできません" と記載されていないフィールドはランタイム中に変更することができます. そうでなければ、タスクの実行中にこれらの変更は無視される. From 677a662ea987284f150d00210abc30af71857852 Mon Sep 17 00:00:00 2001 From: Wallsman <63186641+wallsman@users.noreply.github.com> Date: Thu, 15 Sep 2022 18:18:28 +0900 Subject: [PATCH 2/2] =?UTF-8?q?Update=203.2-=E3=82=B3=E3=83=BC=E3=83=AB?= =?UTF-8?q?=E3=83=90=E3=83=83=E3=82=AFAPI.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Add Text EN base document --- docs/ja-jp/3.2-コールバックAPI.md | 624 +++++++++++++++++++++--------- 1 file changed, 447 insertions(+), 177 deletions(-) diff --git a/docs/ja-jp/3.2-コールバックAPI.md b/docs/ja-jp/3.2-コールバックAPI.md index 28ed3538a2..6b8d4a73e7 100644 --- a/docs/ja-jp/3.2-コールバックAPI.md +++ b/docs/ja-jp/3.2-コールバックAPI.md @@ -1,240 +1,510 @@ -# インテグレーション +## コールバック図式 -## API - -### `AsstAppendTask` - -#### Prototype +### Prototype ```c++ -TaskId ASSTAPI AsstAppendTask(AsstHandle handle, const char* type, const char* params); +typedef void(ASST_CALL* AsstCallback)(int msg, const char* details, void* custom_arg); ``` -#### Description +### 概要 -タスクの追加 +- `int msg` + The message type -#### Return Value + ```c++ + enum 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 // サブタスクの追加情報 + }; + ``` -- `TaskId` - 以下の構成で、タスクの追加に成功した場合のタスクID; - タスクの追加に失敗した場合は0。 +- `const char* details` + メッセージの詳細, JSON. 詳細: [Field Description](#field-description) +- `void* custom_arg` + 呼び出し元のカスタム引数には、 `AsstCreateEx` インターフェースの `custom_arg` 引数が渡される。C ライクな言語では、`this` ポインタを一緒に渡すことができる。 -#### Parameter Description +### Field Description -- `AsstHandle handle` - Instance handle -- `const char* type` - Task type -- `const char* params` - Task parameters in JSON +#### InternalError -##### List of Task Types +Todo -- `StartUp` - Start-up +#### InitFailed ```jsonc -// 対応するタスクのパラメータ { - "enable": bool, // このタスクを有効にするかどうか、オプション、デフォルトは true - "client_type": string, // クライアントバージョン, オプション, デフォルトは空白 - // オプション: "Official" | "Bilibili" - "start_game_enabled": bool // クライアントを自動的に起動するかどうか, オプション, デフォルトはfalse + "what": string, // Error タイプ + "why": string, // Error 理由 + "details": object // Error 詳細 } ``` -- `Fight` - Operation +### ConnectionInfo ```jsonc -// 対応するタスクのパラメータ { - "enable": bool, // このタスクを有効にするかどうか、オプション、デフォルトは true - "stage": string, // ステージ名, オプション, デフォルトは 現在 / 最終ステージ。 動作中の編集はサポートされていません。 - // メイン章のステージがサポートされています, 例 "1-7", "S3-2", など - // いくつかの特別ステージもサポートしています, 例 "CE-6", など.(C#の組み込み例をご参照ください) - "medicine": int, // 理性回復剤の最大使用数, オプション, デフォルトは 0 - "stone": int, // 純正源石の最大使用数, オプション, デフォルトは 0 - "times": int, // 最大周回数, オプション, デフォルトは無限 - "drops": { // ドロップ数の指定, オプション, デフォルトは指定なし - "30011": int, // Key: item ID; value: number of items. キーは resource/item_index.json に記載されています - "30062": int // OR 組み合わせ - }, - /* 項目はOR演算子で結合され、いずれかの条件を満たしたときにタスクが停止する。 */ - - "report_to_penguin": bool, // Pengiun Stats にデータをアップロードするかどうか, オプション, デフォルトは false - "penguin_id": string, // Penguin Stats ID, オプション, デフォルトは空白. `report_to_penguin` が `true`の時のみ使用可能. - "server": string, // サーバー, オプション, デフォルトは "CN", ドロップ認識とアップロードに影響します - // 選択オプション:"CN" | "US" | "JP" | "KR" - "client_type": string, // クライアントバージョン, オプション, デフォルトは空白. ゲームがクラッシュした後、再接続するために使用します. 空白の場合この機能を無効にします。 - // オプション: "Official" | "Bilibili" - "DrGrandet": bool, // 純正源石を使用する際に理性を節約します, オプション, デフォルトは false. 純正源石の使用画面でしか機能しません - // 理性が1ポイント回復するまで、使用確認画面で待ち、すぐに純正源石を使用することができます。 + "what": string, // Info タイプ + "why": string, // Info 理由 + "uuid": string, // UUID (接続に失敗した場合は空白) + "details": { + "adb": string, // AsstConnect インターフェースの adb_path 引数 + "address": string, // AsstConnect インターフェースの address 引数 + "config": string // AsstConnect インターフェースの config 引数 + } + } ``` -- `Recruit` - 公開求人 +#### 多用される `What` フィルドの値 + +- `ConnectFailed` + 接続失敗. +- `Connected` + 接続。現段階では `uuid` フィールドが空であることに注意してください (次のステップで取得されます) +- `UuidGot` + UUID の取得. +- `UnsupportedResolution` + この解像度はサポートされていません. +- `ResolutionError` + 解像度を取得できない. +- `Reconnecting` + 切断 (adb/emulator クラッシュ), 再接続開始 +- `Reconnected` + 切断 (adb/emulator クラッシュ), 再接続成功 +- `Disconnect` + 切断 (adb/emulator クラッシュ), 再接続失敗 +- `ScreencapFailed` + 画面取得失敗 (adb/emulator クラッシュ), 再接続失敗 + +#### AllTasksCompleted ```jsonc -// 対応するタスクのパラメータ { - "enable": bool, // このタスクを有効にするかどうか, オプション, デフォルトは true - "refresh": bool, // ★3 タグの場合更新, オプション, デフォルトは false - "select": [ // タグレベルのクリック, 必須 + "taskchain": string, // 最後の一連のタスク + "uuid": string // UUID + "finished_tasks": [ // 最終動作タスクの ID int, ... - ], - "confirm": [ // 確認するタグのレベル, 必須. 計算用に空配列を設定することも可能. - int, - ... - ], - "times": int, // 採用回数, オプション, デフォルトは 0. 0 にセットすることで計算だけに使用可能. - "set_time": bool, // 時刻を9時間に設定するかどうか, `times` が 0 の時のみ設定可能, オプション, デフォルトは true - "expedite": bool, // 緊急招集票の使用, オプション, デフォルトは false - "expedite_times": int, // 緊急招集票の使用回数, `expedite` が `true` の場合のみ使用可能 - // オプション, デフォルトでは `times` の限界まで使用します. - "skip_robot": bool, // ロボットタグが認識されたときにスキップするかどうか, オプション, デフォルトは skip. - "recruitment_time": { // タグレベルおよび設定時間(分), オプション, デフォルトは 540 (例. 9 時間) - "3": int, - "4": int, - ... - }, - "report_to_penguin": bool, // Pengiun Stats にデータをアップロードするかどうか, オプション, デフォルトは false - "penguin_id": string, // Penguin Stats ID, オプション, デフォルトは空白. `report_to_penguin` が `true`の時のみ使用可能. - "report_to_yituliu": bool, // YITULIU にデータをアップロードするかどうか, オプション, デフォルトは false - "yituliu_id": string, // YITULIU user id, オプション, デフォルトは空白. `report_to_yituliu` が `true`の時のみ使用可能. -} -``` - -- `Infrast` - 基地シフト - -```jsonc -{ - "enable": bool, // タスクを有効にするかどうか, オプション, デフォルトは true - "mode": int, // シフトモード, 予約, オプション. 動作中に変更はできません. - "facility": [ // シフト対象設備, 必須. 動作中の編集はサポートされていません. - string, // 施設名: "Mfg" | "Trade" | "Power" | "Control" | "Reception" | "Office" | "Dorm" - ... - ], - "drones": string, // ドローンの使用, オプション, デフォルトは "_NotUse" - // "_NotUse"、"Money"、"SyntheticJade"、"CombatRecord"、"PureGold"、"OriginStone"、"Chip" - "threshold": float, // 宿舎に移動させる体力のしきい値 [0, 1.0], オプション, デフォルトは 0.3 - "replenish": bool, // 源石の欠片を自動で補充する, オプション, デフォルトは false -} -``` - -- `Visit` - フレンドの基地訪問 - -```jsonc -// 対応するタスクのパラメータ -{ - "enable": bool // このタスクを有効にするかどうか, オプション, デフォルトは true -} -``` - -- `Mall` - FPの回収と自動購入 - `buy_first` にあるリストリストに従った順序でアイテムを購入した後, `blacklist` の内容を無視して左から右の順番で購入します. - -```jsonc -// 対応するタスクのパラメータ -{ - "enable": bool, // このタスクを有効にするかどうか, オプション, デフォルトは true - "shopping": bool, // 購買所から購入するかどうか, オプション, デフォルトは false. 動作中に変更はできません. - "buy_first": [ // アイテム購入の優先度, オプション. 動作中に変更はできません. - string, // アイテム名, 例. "招聘许可" (Recruitment Permit/求人票), "龙门币" (LMD/龍門弊), その他. - ... - ], - "blacklist": [ // ブラックリスト, オプション. 動作中に変更はできません. - string, // アイテム名, 例. "加急许可" (Expedited Plan/緊急招集票), "家具零件" (Furniture Part/家具パーツ), その他. - ... ] } ``` -- `Award` - 報酬の受け取り. - -```jsonc -// 対応するタスクのパラメータ -{ - "enable": bool // このタスクを有効にするかどうか, オプション, デフォルトは true -} -``` +##### 多用される `taskchain` フィールドの値 +- `StartUp` + ウェイクアップ. +- `Fight` + 戦闘. +- `Mall` + 購買所. +- `Recruit` + 自動公開求人. +- `RecruitCalc` + 公開求人結果取得. +- `Infrast` + 基地施設. - `Roguelike` 統合戦略 +- `Debug` + デバッグ. + +#### Information Related to TaskChain ```jsonc { - "enable": bool, // このタスクを有効にするかどうか, オプション, デフォルトは true - "mode": int, // モード, オプション, デフォルトは 0 - // 0 - キャンドル収集, 安定した戦略で続けられるだけ続ける - // 1 - 源石錐収集, 一階層で終了します - // 2 - どちらも行う, 源石錐は投資するまで - // 3 - クリアするまで, アグレッシブに行ける階層まで続ける - "starts_count": int, // 挑戦回数, オプション, デフォルトは INT_MAX - "investments_count": int, - // 投資数, オプション, デフォルトは INT_MAX - "stop_when_investment_full": bool, - // 投資額が一杯になったら動作停止, オプション, デフォルトは false - "squad": string, // "突撃戦術分隊" などの分隊指定, オプション, デフォルトは "デフォルト" - "roles": string, // 召集組合, オプション - "core_char": string // オペレーター名, オプション. レベルに応じて自動で選択します. + "taskchain": string, // 現在の一連タスク + "taskid": int, // 現在のタスク ID + "uuid": string // UUID } ``` -- `Copilot` - 自動戦闘 開発中機能 +#### TaskChainExtraInfo + +Todo + +#### Information Related to SubTask ```jsonc { - "enable": bool, // このタスクを有効にするかどうか, オプション, デフォルトは true - "stage_name": string, // ステージ名, JSONの `stage_name` フィールドと同じです. 動作中に変更はできません. - "filename": string, // タスクのJSONのファイル名とパス, 絶対/相対 パスのサポート. 動作中に変更はできません. - "formation": bool // "quick build" を行うかどうか, オプション, デフォルトは false. 動作中に変更はできません. + "subtask": string, // サブタスク名 + "class": string, // サブタスククラス + "taskchain": string, // 現在の一連のタスク + "taskid": int, // 現在のタスク ID + "details": object, // 詳細 + "uuid": string // UUID } ``` -自動操縦JSONの詳細については, [自動作戦API](3.3-自動作戦API.md)を参照してください +##### 多用される `subtask` フィールドの値 -- `Depot` - 倉庫アイテム認識 +- `ProcessTask` + + ```jsonc + // 対応する詳細フィールドの例 + { + "task": "StartButton2", // タスク名 + "action": 512, + "exec_times": 1, // 実行回数 + "max_times": 999, // 最大実行回数 + "algorithm": 0 + } + ``` + +- Todo Other + +###### 多用される `task` フィールドの値 + +- `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 + +#### SubTaskExtraInfo ```jsonc -// 対応するタスクのパラメータ { - "enable": bool // このタスクを有効にするかどうか, オプション, デフォルトは true + "taskchain": string, // 一連のタスク + "class": string, // サブタスクのクラス + "what": string, // Information タイプ + "details": object, // Information 詳細 + "uuid": string, // UUID } ``` -### `AsstSetTaskParams` +##### 多用される `what` と `details` フィールドの値 -#### Prototype +- `StageDrops` + ステージドロップインフォメーション -```c++ -bool ASSTAPI AsstSetTaskParams(AsstHandle handle, TaskId id, const char* params); -``` + ```jsonc + // 対応する詳細フィールドの例 + { + "drops": [ // dropped items + { + "itemId": "3301", + "quantity": 2, + "itemName": "技巧概要·卷1" // Skill Summary - 1 // アーツ学1 + }, + { + "itemId": "3302", + "quantity": 1, + "itemName": "技巧概要·卷2" // Skill Summary - 2 // アーツ学2 + }, + { + "itemId": "3303", + "quantity": 2, + "itemName": "技巧概要·卷3" // Skill Summary - 3 // アーツ学3 + } + ], + "stage": { // レベル情報 + "stageCode": "CA-5", + "stageId": "wk_fly_5" + }, + "stars": 3, // ステージクリア評価 + "stats": [ // ドロップの統計 + { + "itemId": "3301", + "itemName": "技巧概要·卷1", // アーツ学1 + "quantity": 4 + }, + { + "itemId": "3302", + "itemName": "技巧概要·卷2", // アーツ学2 + "quantity": 3 + }, + { + "itemId": "3303", + "itemName": "技巧概要·卷3", // アーツ学3 + "quantity": 4 + } + ] + } + ``` -#### Description +- `RecruitTagsDetected` + 採用タグの検出 -Set task parameters + ```jsonc + // 対応するフィールドの詳細 + { + "tags": [ + "费用回复", // DP-Recovery // COST回復 + "防护", // Defense // 防御 + "先锋干员", // Vanguard // 先鋒タイプ + "辅助干员", // Support // 補助タイプ + "近战位" // Melee // 近接攻撃 + ] + } + ``` -#### Return Value +- `RecruitSpecialTag` + 特別な採用タグの検出 -- `bool` - パラメータが正常に設定されたかどうか. + ```jsonc + // 対応する詳細フィールドの例 + { + "tag": "高级资深干员" // Senior operator // 上級エリート + } + ``` -#### Parameter Description +- `RecruitResult` + 公開求人結果 -- `AsstHandle handle` - Instance handle -- `TaskId task` - Task ID, `AsstAppendTask` の値を返します -- `const char* params` - JSONのタスクパラメーター, `AsstAppendTask` と同じ - "動作中に変更はできません" と記載されていないフィールドはランタイム中に変更することができます. そうでなければ、タスクの実行中にこれらの変更は無視される. + ```jsonc + // 対応する詳細フィールドの例 + { + "tags": [ // 全てのタグ, 5つまで + "削弱", + "减速", + "术师干员", + "辅助干员", + "近战位" + ], + "level": 4, // レアリティのトータル + "result": [ + { + "tags": [ + "削弱" // Debuff // 弱化 + ], + "level": 4, // レアリティに対応するタグ + "opers": [ + { + "name": "初雪", // Pramanix // プラマニクス + "level": 5 // レアリティに対応するオペレーター + }, + { + "name": "陨星", // Meteorite // メテオリーテ + "level": 5 + }, + { + "name": "槐琥", // Waai Fu // ワイフー + "level": 5 + }, + { + "name": "夜烟", // Haze // ヘイズ + "level": 4 + }, + { + "name": "流星", // Meteor // メテオ + "level": 4 + } + ] + }, + { + "tags": [ + "减速", // Slow // 原則 + "术师干员" // Caster // 術師タイプ + ], + "level": 4, + "opers": [ + { + "name": "夜魔", // Nightmare // ナイトメア + "level": 5 + }, + { + "name": "格雷伊", // Greyy // グレイ + "level": 4 + } + ] + }, + { + "tags": [ + "削弱", // Debuff // 弱化 + "术师干员" // Caster // 術師タイプ + ], + "level": 4, + "opers": [ + { + "name": "夜烟", // Haze // ヘイズ + "level": 4 + } + ] + } + ] + } + ``` + +- `RecruitTagsRefreshed` + 公開求人タグの更新 + + ```jsonc + // 対応する詳細フィールドの例 + { + "count": 1, // スロットが更新された回数 + "refresh_limit": 3 // 更新最大回数 + } + ``` + +- `RecruitTagsSelected` + 公開求人タグの選択 + + ```jsonc + // 対応する詳細フィールドの例 + { + "tags": [ + "减速", // Slow // 原則 + "术师干员" // Caster // 術師タイプ + ] + } + ``` + +- `RecruitSlotCompleted` + 公開求人スロットの完了 + +- `RecruitError` + リクルート認識時のエラー + +- `EnterFacility` + 施設へ入る + + ```jsonc + // 対応する詳細フィールドの例 + { + "facility": "Mfg", // 施設名 + "index": 0 // 施設 ID + } + ``` + +- `NotEnoughStaff` + オペレーター不足 + + ```jsonc + // 対応する詳細フィールドの例 + { + "facility": "Mfg", // 施設名 + "index": 0 // 施設 ID + } + ``` + +- `ProductOfFacility` + 施設の生産 + + ```jsonc + // 対応する詳細フィールドの例 + { + "product": "Money", // 生産物 + "facility": "Mfg", // 施設名 + "index": 0 // 施設 ID + } + ``` + +- `StageInfo` + 自動戦闘ステージの情報 + + ```jsonc + // 対応する詳細フィールドの例 + { + "name": string // 施設名 + } + ``` + +- `StageInfoError` + 自動戦闘ステージの情報エラー + +- `PenguinId` + Penguin ID + + ```jsonc + // 対応する詳細フィールドの例 + { + "id": string + } + ``` + +- `DepotInfo` + 倉庫のアイテムの認識結果 + + ```jsonc + // 対応する詳細フィールドの例 + "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` + サポートされていないレベル