前回、前々回の投稿で、ChatGPTでRPGツクールのアクターやスキルを作成しました。
これで味方キャラ作成に必要な情報は完成しているので、RPGツクールMZにインポートできる形に変換していきます。
前提
members.json
アクターの職業とステータス(いったんレベル1の値とします)を含むファイルです。以下のような形でChatGPTで作成できている前提です。
[
{
"name": "ユウスケ",
"class": "警察官",
"hp": 123,
"atk": 92,
"def": 101,
"mat": 68,
"mdf": 56,
"agi": 77,
"luk": 63,
"field_skill": "周囲警戒"
}, ...
]
詳しい作成方法は以下の投稿をご覧ください。
skills.json
アクターが持っているスキルの詳細を定義したファイルです。以下のような形でChatGPTで作成できている前提です。
[
{
"name": "ジャスティスストライク",
"class": "警察官",
"description": "敵単体に強力な物理攻撃を行い、「防御ダウン」状態を付与する。",
"tp": 20,
"type": "物理",
"scope": "敵単体",
"effect_type": "HPダメージ",
"effect_rate": 3.5,
"variance": 10,
"repeats": 1,
"formula": "user.atk*3.5-target.def",
"element": "なし",
"target_add_state": [
"防御ダウン"
],
"target_add_state_rate": 100,
"special_effect": "敵の防御力を25%ダウン(5ターン)",
"icon_index": 76,
"animation": "SlashPhysical"
}, ...
]
詳しい作成方法は以下の投稿をご覧ください。
Pythonのインストール
JSONファイルの変換にはPythonスクリプトを使います。お使いのPCにPythonをインストールされていない方は、以下からPythonをインストールしてください。最新のバージョンでOKです。
スクリプトの準備
JSONファイルの変換にはPythonスクリプトを使います。以下にまとめていますので「Source code(zip)」をダウンロードしてください。
アクター画像の用意
変換スクリプト自体にはアクターの顔画像などは不要ですが、便宜上顔グラフィックをgrid1から順番に0,1,2…を振っていくようなスクリプトにしています。
画像についてもChatGPTの有料版を使うことでいい感じのキャラが出力できるので、試してみてください。(またどこかで画像系をまとめた記事を書く予定です)
フォルダ構成
GitHubからダウンロードしたzipを解凍するとtranslateフォルダに3つのPythonファイル(maker.py, make_actors.py, make_skills.py)が入っています。Pythonと同階層にあるjsonフォルダを作成し、前提条件となっている2つのJSON(members.json, skills.json)を入れてください。
translate/
├ json/
│ ├ members.json
│ └ skills.json
├ maker.py
├ make_actors.py
└ make_skills.py
以降のスクリプトはtranslateフォルダに移動して実行します。
cd translate
RMMZフォルダ名の設定
maker.pyを開き、変換したJSONファイルを適用したいRPGツクールMZのプロジェクト名に変更してください。(ファイルは上書きになるのでプロジェクトフォルダごとバックアップを取るようお願いします)
maker.py
BASE_PATH = "<YOUR RMMZ PATH ex. C:/work/RMMZ>"
GAME_NAME = "<YOUR RPG FOLDER NAME ex. EternalQuest>"
maker.pyのトップにあるBASE_PATHとGAME_NAMEで「game.rmmzproject」がある場所へのパスを設定します。「C:\work\RMMZ\EternalQuest」に「game.rmmzproject」がある場合、以下のようになります。
BASE_PATH = "C:/work/RMMZ"
GAME_NAME = "EternalQuest"
RPGツクールMZ用のファイルに変換
スキル作成
先にスキルを作成します。(先にスキルを作成しないと、職業に紐づくスキルが存在しなくなりこの後のmake_actors.pyでエラーになります)
python make_skills.py
正常実行されたら、RPGツクールMZを開き、スキルが正しく作成されていることを確認します。
アクター・クラス作成
次にアクターとクラスを作成します。
python make_actors.py
正常実行されたら、RPGツクールMZを開き、アクターとクラスが正しく作成されていることを確認します。
まとめ
三部作で「①アクター作成⇒②スキル作成⇒③RPGツクールMZで使えるファイルに変換」とやってきた最終章になります。自動化といっても複数の手順があり、大変だったと思いますがどうだったでしょうか?
毎回この手順をやるのは面倒なので、一連の流れを自動でできるようなツールも今後作成していきたいと思っています。