Files
mod_rpg_editor/docs/ja.md
T

58 lines
5.9 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# RPG Map Editor — タイルマップを描き、イベントを置く
RPG マップエディターは、実行中のゲームの上で RPG エンジンのタイルマップを編集します。3 つのタイルレイヤー、壁と通路、プレイヤーの開始地点、ランダムバトル、そしてイベント——キャラクター、看板、ドア、拾えるアイテム。保存するとマップはすぐにゲームへ反映され、**プレイ**で実際に歩き回れます。
ツールボックス(ツールバーのハンマー)から **RPG マップエディター** として開きます。対象は、プレイヤーが今いるマップです。
## 編集と、その結果のゲーム内での様子
RPG Plus の長老の家、編集前:
![ゲーム内の長老の家: 木造の部屋で、奥に長老、右に宝箱。](assets/house-before.jpg)
エディターでは、**Appearance**(外観)タブで商人のキャラチップを選び、**Place NPC**(NPC を配置)を押して、空いたマスをクリックします。新しいイベントは **イベント** レイヤーで選択され、プロパティが右に表示されます。
![rpg_demo_game / rpg_elder_house.json を開いた RPG マップエディター: 外観リストで merchant · village/merchant を選択、マップ上の長老と新しい商人はイベントとして枠囲みになり、他のファイルのイベントには破線の枠。右側にはマップのプロパティ(タイルセット village、12 × 10、開始地点 6, 8・向きは上)と新しいイベント npc_village_merchant(9, 3 にあり、キャラチップ village/merchant、向きは下、起動はアクションキー E/F)。ステータス行は「merchant」を NPC として配置したと表示しています。](assets/editor-npc.jpg)
**保存**(Ctrl+S)のあと、商人が家に立っています:
![ゲーム内の同じ部屋。今は奥の壁の右側に商人がいる。](assets/house-after.jpg)
彼の会話と振る舞いはイベントのプロパティで設定します。シナリオ、条件、起動方法です。
## レイヤーとツール
- **背景**、**メイン**、**前景** — タイルレイヤーです。背景とメインは solid なタイルで通行を妨げられます。前景はキャラクターの上に描かれ、決して妨げません。
- **衝突** — タイルの上に塗ります。*壁*(常に通れない)、*通路*(常に通れる)、*自動*(タイルに従う)。
- **イベント** — クリックで選択・ドラッグ、空いたマスのダブルクリックで追加、Del で削除。
- **鉛筆**、**消しゴム**、**塗りつぶし**。右クリックで消し、Alt+クリックでタイルを拾い、1–5 キーでレイヤー、B/E/G でブラシを切り替えます。
- **元に戻す**/**やり直す**(Ctrl+Z / Ctrl+Y)、グリッド、ズーム(Ctrl+ホイール)。
![長老の家の衝突レイヤー: 壁が「壁」として赤く塗られ、床は開いている。](assets/collision.jpg)
左のタブは **タイル**(マップのタイルセットのパレット。家や木のようなオブジェクト全体を一度に置けます)、**キャラクター**(戦闘ステータスを持つキャラクター。敵として配置)、**アイテム**(個数つきの拾えるアイテムとして配置)、そして **Appearance**(読み込まれた MOD の全スプライト。NPC として配置)です。
右の列にはマップのプロパティが並びます。名前のキー、タイルセット、サイズ、拡大率、固定の環境光と雰囲気、開始地点と向き、そしてランダムバトル(約 N 歩ごと、敵グループは `slime; wolf,slime` のように書きます)。
## トップダウンとアイソメトリック
エディターはゲームと同じようにマップを描きます。ツールバーのビュー切り替えはプレビューだけを変え、マップのデータは変わりません。アイソメトリックプレビューの家:
![エディターのアイソメトリックプレビューに映る長老の家: 同じ部屋がアイソメトリックで描かれ、左にタイルセットのパレット。](assets/editor-isometric.jpg)
ゲーム本体のビューはコレクション設定 `tile.renderer`(`topdown` か `isometric`)で決まります。`--editor-renderer=isometric` を付けると、エディターが最初からアイソメトリックプレビューで開きます。
## どのファイルが書かれるか
- マップ本体は、そのマップの `maps/<id>.json` に保存されます。
- イベントは同じ MOD 内の、そのマップ自身のイベントファイル(`map_events/<マップ>/…`)へ書き込まれます。他のファイルや他の MOD がマップに加えたイベントは、破線の枠つきで薄く表示され、決して上書きされません。その id は使えません。
- ファイル一覧の隣の **+** で、選択中の MOD に新しいマップを作れます。保存すれば、ゲームはそれをすぐにシーンとして認識します。
- 書き込めるのは、フォルダーとしてインストールされた MOD だけです。
## うまくいかないとき
1. **プレイで「ゲームはシーンを知らない」と出る。** そのマップの MOD に `scenes/<id>.json` が必要です。
2. **イベントが選べない。** それは別のファイルか MOD のイベントです(破線の枠)。
3. **NPC が話さない。** イベントにシナリオがないか、起動がアクションキーになっていません。
4. **保存すると、触っていない行まで変わる。** エディターは独自の順序でファイルを書き、イベントの既定値も書き込むため、diff が編集より多くの変更を示すことがあります。