nox - 41semicolon/41semicolon.github.io GitHub Wiki
はじめに
Nox 上での操作を自動化をさせたい(例:ゲームの各種ルーティン)。いくつか方法を調べた結果をまとめる。これは、一般に マクロ作成 とかスクリプト作成 と呼ぶらしい。
概要
3つの選択肢がある。
- 仮想キーマクロ: Ctrl+1 もしくは「仮想キー」アイコン押下
- スクリプトレコード: 「スクリプトレコード」アイコン押下
- nox_adb.exe: \Path\to\Nox\bin\ にインストールされているプログラム
仮想キーマクロは キーボードショートカットのような機能。例えば「キーボードの A を押下する」と 「座標(123, 234) をタップする」が実行される。スクリプトレコード は 一連の動作を定義し それらを必要な時に呼び出す。例えば「ここをタップしてちょっと待ってから あそこをタップして あっちからこっちにドラッグして ここをタップ」という操作を 実際にやるとそれが記録され、後からそれを何回も呼び出せる。nox_adb は Nox 用の Android SDK Bridge の略。パスを通せば コマンドプロンプトから使える実行ファイルで、 nox_adb shell input touchscreen tap 418 205 を実行すると、起動中の Nox の座標(418 205)がタップされる。
使い分けのイメージ。「使い捨てでいいので サクッと作れてサクッと実行」するのには スクリプトレコード機能で十分。「微調整もしつつ 長く使いたい」という用途には、仮想キーマクロが最適。「画像認識や 条件分岐などの制御ロジックを使った複雑な操作」をしたいならば、adb を使うしかない。
スクリプトレコード
直観的に使えるので言うことはない。
作ったスクリプトをエクスポートして、7zipで解凍するとテキストファイルでスクリプトを読むことができ、微調整してからインポートすることも可能であるが、目で見るには少し辛い。そこまでやるなら、後述の仮想キーマクロの形に翻訳した方が後のためになる。
スクリプトの文法は非公開だが、以下を参考に解読できる・・・かも:
- http://cccode.seesaa.net/article/454798466.html
- https://www.reddit.com/r/noxappplayer/comments/5bwkqo/macro_recording_need_reference_or_help_please/
- https://www.reddit.com/r/FFBraveExvius/comments/6kg4er/nox_perfect_spark_chain_macro_how_to/
仮想キーマクロ
Ctrl+1 でパレットを開く。キーパッド(Aのアイコン)とキーエディット(</>のアイコン)をよく使う。後者の方が高機能。
キーパッドは単なる ショートカット である。
キーエディットが、命令を記載する プログラミング言語 とみなせる。作るのが結構めんどくさいので、労力がペイするかに注意。スクリプトレコードでやる操作をこの形式にすると、非常に調整がしやすくなる。
nox_adb
UWSC等 自動化ツールの制御スクリプトから nox_adb を呼び出すことで、複雑な制御構造や画像認識と連携できる。以下の記事が参考になる: