From 804cb1d8f74897a043fdc2001964e9b9417b16e0 Mon Sep 17 00:00:00 2001 From: iisaev Date: Thu, 29 Oct 2026 09:25:48 +0100 Subject: [PATCH] Add mod documentation in seven languages --- docs/assets/editor-saved.jpg | Bin 0 -> 69860 bytes docs/assets/panel-after.jpg | Bin 0 -> 46561 bytes docs/en.md | 41 +++++++++++++++++++++++++++++++++++ docs/es.md | 41 +++++++++++++++++++++++++++++++++++ docs/ja.md | 41 +++++++++++++++++++++++++++++++++++ docs/ko.md | 41 +++++++++++++++++++++++++++++++++++ docs/ru.md | 41 +++++++++++++++++++++++++++++++++++ docs/vi.md | 41 +++++++++++++++++++++++++++++++++++ docs/zh.md | 41 +++++++++++++++++++++++++++++++++++ locale/ui_en.properties | 4 ++-- locale/ui_es.properties | 2 +- locale/ui_ja.properties | 2 +- locale/ui_ko.properties | 2 +- locale/ui_ru.properties | 2 +- locale/ui_vi.properties | 2 +- locale/ui_zh.properties | 2 +- manifest.json | 4 ++-- 17 files changed, 297 insertions(+), 10 deletions(-) create mode 100644 docs/assets/editor-saved.jpg create mode 100644 docs/assets/panel-after.jpg create mode 100644 docs/en.md create mode 100644 docs/es.md create mode 100644 docs/ja.md create mode 100644 docs/ko.md create mode 100644 docs/ru.md create mode 100644 docs/vi.md create mode 100644 docs/zh.md diff --git a/docs/assets/editor-saved.jpg b/docs/assets/editor-saved.jpg new file mode 100644 index 0000000000000000000000000000000000000000..1710e31730a684ff82c7ad7029399f9b59ecbcad GIT binary patch literal 69860 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 literal 0 HcmV?d00001 diff --git a/docs/en.md b/docs/en.md new file mode 100644 index 0000000..5b4b093 --- /dev/null +++ b/docs/en.md @@ -0,0 +1,41 @@ +# Characters Editor — editing a mod's characters in a form + +The Characters Editor edits the characters of a mod while the game runs: the name in every language of the mod, the portrait, the walking sprite for RPG maps, the battle numbers, the recruit chance and the battle actions. **Save** writes the mod's files, and the game uses the change at once. + +It opens from the tool box (the hammer on the toolbar) as **Characters**. + +## An edit and its result in the game + +In RPG Plus, the hero of the village is the character `rpg_hero` of the mod `rpg_demo_game`. Choose that mod at the top, pick **Hero**, type a new English name and press **Save** (Ctrl+S): + +![The Characters window on rpg_demo_game: the list Aldric · rpg_hero, Slime · rpg_slime, Wolf · rpg_wolf; the form of rpg_hero with the name key rpg_demo/character/hero, text (en) Aldric and the other six languages unchanged, Portrait characters/village/hero with its picture, Charset (RPG) empty, Level 1, Health 24, Attack 6, Defence 0, Action points 1, Experience 0, Recruit chance 0. The status line: "Saved: 0 file(s), 1 text(s) in mod rpg_demo_game; the game re-read its data".](assets/editor-saved.jpg) + +Only the English line of the mod's `locale/en.properties` changed. The party member on the character panel right after: + +![The Character actions panel: the party member is now called Aldric (rpg_hero, HP 42/42, AP 1, ATK 12, DEF 4) with Basic attack, Defence and Power strike.](assets/panel-after.jpg) + +The panel shows HP 42 and ATK 12 while the file says 24 and 6: in RPG Plus the hero's class and stats (Stats Engine with Classic RPG Rules) compute the battle numbers and write them over the file's values. In a game without stats the file's numbers are the ones used. + +## The form + +- **Id** — the character's id; scenarios, parties, battles and maps find it by this id. +- **Name** — the translation key and a line per language of the mod. +- **Portrait** — the picture on cards and panels; **…** opens a grid to pick one. +- **Charset (RPG)** — the walking sprite on RPG maps (3 frames × 4 facings). The RPG Map Editor offers characters with their charset for placing. +- **Level**, **Health**, **Attack**, **Defence**, **Action points**, **Experience** — the battle numbers of the character. +- **Recruit chance** — 0 to 100: the chance to capture the character after beating it (see Recruiting). +- **Behaviour** and **Actions** — how the character fights and which battle actions it has. +- **Fields of other mods** — fields other mods describe for characters in their schemas (for example Stats Engine's class, stats and traits) appear in their own section. +- **Other fields** — the rest of the character's JSON, edited as JSON and kept as it is. + +The toolbar: **New** (Ctrl+N), **Copy** (Ctrl+D), **Delete**, **Undo**/**Redo** (Ctrl+Z / Ctrl+Y), **Save** — only changed files are written; texts go into the mod's locale files. + +## Which characters can be edited + +The list holds the characters in the selected mod's own files; only mods installed as folders are offered. Characters of other mods are not in the list and their files are never written. To change one of them, ship the same id in your own mod with a dependency on the owner, or add fields with a patch. + +## If something goes wrong + +1. **Changed health or attack has no effect.** The game computes the numbers from stats, as RPG Plus does for its party. +2. **The character is missing from the RPG Map Editor's Characters tab.** The tab lists characters with combat stats; any sprite can still be placed from the Appearance tab. +3. **The mod list is empty.** Packed mods cannot be edited. diff --git a/docs/es.md b/docs/es.md new file mode 100644 index 0000000..78760f5 --- /dev/null +++ b/docs/es.md @@ -0,0 +1,41 @@ +# Characters Editor — edita los personajes de un mod en un formulario + +El Characters Editor edita los personajes de un mod mientras el juego está en marcha: el nombre en todos los idiomas del mod, el retrato, el sprite de paseo para los mapas RPG, las cifras de combate, la probabilidad de reclutamiento y las acciones de combate. **Guardar** escribe los archivos del mod y el juego usa el cambio al instante. + +Se abre desde la caja de herramientas (el martillo de la barra) como **Personajes**. + +## Una edición y su resultado en el juego + +En RPG Plus, el héroe de la aldea es el personaje `rpg_hero` del mod `rpg_demo_game`. Elige ese mod arriba, selecciona **Héroe**, escribe un nombre nuevo en inglés y pulsa **Guardar** (Ctrl+S): + +![La ventana Personajes sobre rpg_demo_game: la lista Aldric · rpg_hero, Limo · rpg_slime, Lobo · rpg_wolf; el formulario de rpg_hero con la clave del nombre rpg_demo/character/hero, texto (en) Aldric y los otros seis idiomas sin cambios, Retrato characters/village/hero con su imagen, Charset (RPG) vacío, Nivel 1, Salud 24, Ataque 6, Defensa 0, Puntos de acción 1, Experiencia 0, Probabilidad de reclutar 0. La línea de estado: «Guardado: 0 archivo(s), 1 texto(s) en el mod rpg_demo_game; el juego releyó sus datos».](assets/editor-saved.jpg) + +Solo cambió la línea en inglés del `locale/en.properties` del mod. El miembro del grupo en el panel de personajes justo después: + +![El panel de acciones del personaje: el miembro del grupo ahora se llama Aldric (rpg_hero, HP 42/42, AP 1, ATK 12, DEF 4) con Ataque básico, Defensa y Golpe poderoso.](assets/panel-after.jpg) + +El panel muestra HP 42 y ATK 12 aunque el archivo dice 24 y 6: en RPG Plus la clase y los atributos del héroe (Stats Engine con Classic RPG Rules) calculan las cifras de combate y las escriben sobre los valores del archivo. En un juego sin atributos se usan los números del archivo. + +## El formulario + +- **Id** — el id del personaje; por él lo encuentran escenarios, grupos, combates y mapas. +- **Nombre** — la clave de traducción y una línea por idioma del mod. +- **Retrato** — la imagen en tarjetas y paneles; **…** abre una cuadrícula para elegir una. +- **Charset (RPG)** — el sprite de paseo en los mapas RPG (3 fotogramas × 4 orientaciones). El editor de mapas RPG ofrece los personajes con su charset para colocarlos. +- **Nivel**, **Salud**, **Ataque**, **Defensa**, **Puntos de acción**, **Experiencia** — las cifras de combate del personaje. +- **Probabilidad de reclutar** — de 0 a 100: la probabilidad de capturar al personaje tras vencerlo (ver Recruiting). +- **Comportamiento** y **Acciones** — cómo pelea el personaje y qué acciones de combate tiene. +- **Campos de otros mods** — los campos que otros mods describen para los personajes en sus esquemas (por ejemplo la clase, los atributos y los rasgos de Stats Engine) aparecen en su propia sección. +- **Otros campos** — el resto del JSON del personaje, editado como JSON y conservado tal cual. + +La barra: **Nueva** (Ctrl+N), **Copia** (Ctrl+D), **Borrar**, **Deshacer**/**Rehacer** (Ctrl+Z / Ctrl+Y), **Guardar** — solo se escriben los archivos cambiados; los textos van a los archivos de localización del mod. + +## Qué personajes se pueden editar + +La lista contiene los personajes de los archivos del mod seleccionado; solo se ofrecen los mods instalados como carpetas. Los personajes de otros mods no están en la lista y sus archivos nunca se escriben. Para cambiar uno de ellos, incluye el mismo id en tu propio mod con una dependencia del dueño, o añade campos con un parche. + +## Si algo sale mal + +1. **Cambiar salud o ataque no tiene efecto.** El juego calcula las cifras a partir de los atributos, como hace RPG Plus con su grupo. +2. **El personaje no está en la pestaña Personajes del editor de mapas RPG.** La pestaña lista personajes con estadísticas de combate; cualquier sprite se puede colocar desde la pestaña Appearance. +3. **La lista de mods está vacía.** Los mods empaquetados no se pueden editar. diff --git a/docs/ja.md b/docs/ja.md new file mode 100644 index 0000000..edecb5f --- /dev/null +++ b/docs/ja.md @@ -0,0 +1,41 @@ +# Characters Editor — フォームで MOD のキャラクターを編集する + +Characters Editor は、ゲームの実行中に MOD のキャラクターを編集します: MOD の各言語での名前、肖像、RPG マップの歩行グラフィック、戦闘の数値、勧誘の確率、バトルアクション。**保存**は MOD のファイルを書き込み、ゲームはすぐに変更を使います。 + +ツールボックス(ツールバーのハンマー)から**キャラクター**として開きます。 + +## 編集と、ゲームの中での結果 + +RPG Plus では、村の英雄は MOD `rpg_demo_game` のキャラクター `rpg_hero` です。上でその MOD を選び、**勇者**を選び、新しい英語名を入力して**保存**(Ctrl+S)を押します: + +![rpg_demo_game の「キャラクター」ウィンドウ: 一覧は Aldric · rpg_hero、スライム · rpg_slime、狼 · rpg_wolf。rpg_hero のフォーム、名前キー rpg_demo/character/hero、テキスト (en) Aldric、ほかの六言語は変更なし、肖像 characters/village/hero とその画像、キャラチップ(RPG)は空、レベル 1、体力 24、攻撃 6、防御 0、行動ポイント 1、経験値 0、勧誘の確率 0。ステータス行:「保存しました: MOD rpg_demo_game のファイル 0、テキスト 1。ゲームはデータを読み直しました」。](assets/editor-saved.jpg) + +変わったのは MOD の `locale/en.properties` の英語の行だけです。直後のキャラクターパネルのパーティメンバー: + +![キャラクターアクションパネル: パーティメンバーは今や Aldric(rpg_hero、HP 42/42、AP 1、ATK 12、DEF 4)で、基本攻撃、防御、強打を持ちます。](assets/panel-after.jpg) + +パネルは HP 42 と ATK 12 を示しますが、ファイルには 24 と 6 とあります: RPG Plus では勇者のクラスとステータス(Stats Engine と Classic RPG Rules)が戦闘の数値を計算し、ファイルの値の上に書きます。ステータスのないゲームではファイルの数値がそのまま使われます。 + +## フォーム + +- **Id** — キャラクターの id。シナリオ、パーティ、バトル、マップがこれで見つけます。 +- **名前** — 翻訳キーと、MOD の言語ごとの行。 +- **肖像** — カードやパネルの画像。**…** で選ぶためのグリッドが開きます。 +- **キャラチップ(RPG)** — RPG マップ上の歩行グラフィック(3 コマ × 4 方向)。RPG マップエディターは、配置のときにキャラチップ付きのキャラクターを提示します。 +- **レベル**、**体力**、**攻撃**、**防御**、**行動ポイント**、**経験値** — キャラクターの戦闘の数値。 +- **勧誘の確率** — 0〜100: 倒したあとにキャラクターを迎える確率(Recruiting を参照)。 +- **行動パターン**と**アクション** — キャラクターがどう戦うか、どんなバトルアクションを持つか。 +- **他の MOD のフィールド** — 他の MOD がスキーマでキャラクターに付けるフィールド(たとえば Stats Engine のクラス、ステータス、特性)は専用セクションに現れます。 +- **その他のフィールド** — キャラクターの JSON の残り。JSON として編集され、そのまま保たれます。 + +ツールバー: **新規**(Ctrl+N)、**コピー**(Ctrl+D)、**削除**、**元に戻す**/**やり直す**(Ctrl+Z / Ctrl+Y)、**保存** — 変更されたファイルだけが書き込まれ、テキストは MOD のローカライズファイルに入ります。 + +## どのキャラクターを編集できるか + +一覧には、選んだ MOD 自身のファイルにあるキャラクターが入ります。提示されるのは、フォルダーとしてインストールされた MOD だけです。他の MOD のキャラクターは一覧になく、そのファイルが書かれることもありません。変えるには、自分の MOD で同じ id を所有者への依存関係付きで配るか、パッチでフィールドを足します。 + +## うまくいかないとき + +1. **体力や攻撃を変えても効かない。** ゲームはステータスから数値を計算します。RPG Plus がパーティに対してしているように。 +2. **キャラクターが RPG マップエディターの「キャラクター」タブにいない。** このタブは戦闘ステータスのあるキャラクターを一覧します。どんなグラフィックでも「Appearance」タブから配置できます。 +3. **MOD の一覧が空。** パッケージ済みの MOD は編集できません。 diff --git a/docs/ko.md b/docs/ko.md new file mode 100644 index 0000000..2d7a004 --- /dev/null +++ b/docs/ko.md @@ -0,0 +1,41 @@ +# Characters Editor — 양식으로 모드의 캐릭터 편집하기 + +Characters Editor는 게임이 실행되는 동안 모드의 캐릭터를 편집합니다: 모드의 모든 언어로 된 이름, 초상화, RPG 맵의 걷기 스프라이트, 전투 수치, 영입 확률, 전투 액션. **저장**은 모드의 파일을 기록하고 게임은 곧바로 변경을 사용합니다. + +도구 상자(도구 모음의 망치)에서 **캐릭터**로 열립니다. + +## 편집 하나와 게임 속 결과 + +RPG Plus에서 마을의 영웅은 모드 `rpg_demo_game`의 캐릭터 `rpg_hero`입니다. 위에서 그 모드를 고르고, **영웅**을 고르고, 새 영어 이름을 입력한 뒤 **저장**(Ctrl+S)을 누릅니다: + +![rpg_demo_game의 "캐릭터" 창: 목록에는 Aldric · rpg_hero, 슬라임 · rpg_slime, 늑대 · rpg_wolf. rpg_hero의 양식, 이름 키 rpg_demo/character/hero, 텍스트 (en) Aldric, 나머지 여섯 언어는 그대로, 초상화 characters/village/hero와 그 그림, 캐릭터 시트 (RPG) 비어 있음, 레벨 1, 체력 24, 공격 6, 방어 0, 행동 포인트 1, 경험치 0, 영입 확률 0. 상태 줄: "저장함: 모드 rpg_demo_game의 파일 0개, 텍스트 1개. 게임이 데이터를 다시 읽었습니다".](assets/editor-saved.jpg) + +바뀐 것은 모드 `locale/en.properties`의 영어 한 줄입니다. 바로 뒤 캐릭터 패널의 파티원: + +![캐릭터 액션 패널: 파티원은 이제 Aldric(rpg_hero, HP 42/42, AP 1, ATK 12, DEF 4)이며 기본 공격, 방어, 강타를 가집니다.](assets/panel-after.jpg) + +패널은 HP 42와 ATK 12를 보여 주지만 파일에는 24와 6이 있습니다: RPG Plus에서는 영웅의 클래스와 스탯(Stats Engine과 Classic RPG Rules)이 전투 수치를 계산해 파일 값 위에 씁니다. 스탯이 없는 게임에서는 파일의 숫자가 그대로 쓰입니다. + +## 양식 + +- **Id** — 캐릭터의 id. 시나리오, 파티, 전투, 맵이 이것으로 찾습니다. +- **이름** — 번역 키와 모드의 언어별 줄. +- **초상화** — 카드와 패널의 그림. **…**를 누르면 고르는 격자가 열립니다. +- **캐릭터 시트 (RPG)** — RPG 맵 위의 걷기 스프라이트(3프레임 × 4방향). RPG 맵 에디터는 배치할 때 캐릭터 시트와 함께 캐릭터를 제안합니다. +- **레벨**, **체력**, **공격**, **방어**, **행동 포인트**, **경험치** — 캐릭터의 전투 수치. +- **영입 확률** — 0~100: 쓰러뜨린 뒤 캐릭터를 들일 확률(Recruiting 참고). +- **행동 방식**과 **액션** — 캐릭터가 어떻게 싸우는지, 어떤 전투 액션을 가지는지. +- **다른 모드의 필드** — 다른 모드가 스키마에서 캐릭터에 붙인 필드(예: Stats Engine의 클래스, 스탯, 특성)는 별도 구역에 나타납니다. +- **기타 필드** — 캐릭터 JSON의 나머지. JSON으로 편집되고 그대로 유지됩니다. + +도구 모음: **새로 만들기**(Ctrl+N), **복사**(Ctrl+D), **삭제**, **되돌리기**/**다시 실행**(Ctrl+Z / Ctrl+Y), **저장** — 바뀐 파일만 기록되고, 텍스트는 모드의 로컬라이즈 파일로 갑니다. + +## 어떤 캐릭터를 편집할 수 있는가 + +목록에는 선택한 모드 자신의 파일에 있는 캐릭터가 있습니다. 폴더로 설치된 모드만 제안됩니다. 다른 모드의 캐릭터는 목록에 없고 그 파일은 결코 기록되지 않습니다. 바꾸려면 소유자에 대한 의존성과 함께 같은 id를 자기 모드에 실거나, 패치로 필드를 더하세요. + +## 문제가 생겼을 때 + +1. **체력이나 공격을 바꿔도 효과가 없습니다.** 게임은 스탯에서 수치를 계산합니다. RPG Plus가 자기 파티에 하는 것처럼. +2. **캐릭터가 RPG 맵 에디터의 "캐릭터" 탭에 없습니다.** 이 탭은 전투 스탯이 있는 캐릭터를 나열합니다. 어떤 스프라이트든 "Appearance" 탭에서 배치할 수 있습니다. +3. **모드 목록이 비어 있습니다.** 압축된 모드는 편집할 수 없습니다. diff --git a/docs/ru.md b/docs/ru.md new file mode 100644 index 0000000..461a2d0 --- /dev/null +++ b/docs/ru.md @@ -0,0 +1,41 @@ +# Characters Editor — правка персонажей мода в форме + +Characters Editor правит персонажей мода, пока игра работает: имя на всех языках мода, портрет, спрайт ходьбы для RPG-карт, боевые числа, шанс вербовки и боевые действия. **Сохранить** записывает файлы мода, и игра использует изменение сразу. + +Открывается из набора инструментов (молоток на панели инструментов) как **Персонажи**. + +## Правка и её результат в игре + +В RPG Plus героем деревни выступает персонаж `rpg_hero` мода `rpg_demo_game`. Выберите этот мод сверху, укажите **Героя**, введите новое английское имя и нажмите **Сохранить** (Ctrl+S): + +![Окно «Персонажи» на rpg_demo_game: в списке Aldric · rpg_hero, Слизень · rpg_slime, Волк · rpg_wolf; форма rpg_hero с ключом имени rpg_demo/character/hero, текст (en) Aldric и шесть остальных языков без изменений, Портрет characters/village/hero с его картинкой, Чарсет (RPG) пусто, Уровень 1, Здоровье 24, Атака 6, Защита 0, Очки действий 1, Опыт 0, Шанс вербовки 0. Строка состояния: «Сохранено: файлов 0, текстов 1 в моде rpg_demo_game; игра перечитала данные».](assets/editor-saved.jpg) + +Изменилась только английская строка в `locale/en.properties` мода. Участник отряда на панели персонажей сразу после: + +![Панель действий персонажа: участник отряда теперь зовётся Aldric (rpg_hero, HP 42/42, AP 1, ATK 12, DEF 4) с обычной атакой, защитой и мощным ударом.](assets/panel-after.jpg) + +На панели HP 42 и ATK 12, хотя в файле 24 и 6: в RPG Plus класс и характеристики героя (Stats Engine с Classic RPG Rules) вычисляют боевые числа и записывают их поверх значений из файла. В игре без характеристик используются числа из файла. + +## Форма + +- **Id** — id персонажа; по нему находят его сценарии, отряды, бои и карты. +- **Имя** — ключ перевода и строка на каждый язык мода. +- **Портрет** — картинка на карточках и панелях; **…** открывает сетку для выбора. +- **Чарсет (RPG)** — спрайт ходьбы на RPG-картах (3 кадра × 4 направления). Редактор RPG-карт предлагает персонажей вместе с их чарсетом для размещения. +- **Уровень**, **Здоровье**, **Атака**, **Защита**, **Очки действий**, **Опыт** — боевые числа персонажа. +- **Шанс вербовки** — от 0 до 100: вероятность забрать персонажа в отряд после победы над ним (см. Recruiting). +- **Поведение** и **Действия** — как персонаж сражается и какие у него боевые действия. +- **Поля других модов** — поля, которые другие моды описывают для персонажей в своих схемах (например, класс, характеристики и черты из Stats Engine), появляются отдельной секцией. +- **Прочие поля** — остальное из JSON персонажа, правится как JSON и сохраняется как есть. + +Панель инструментов: **Новый** (Ctrl+N), **Копия** (Ctrl+D), **Удалить**, **Отменить**/**Повторить** (Ctrl+Z / Ctrl+Y), **Сохранить** — записываются только изменённые файлы; тексты уходят в файлы локализации мода. + +## Каких персонажей можно править + +В списке — персонажи из собственных файлов выбранного мода; предлагаются только моды, установленные папками. Персонажей чужих модов в списке нет, и их файлы никогда не записываются. Чтобы изменить такого персонажа, дайте в своём моде тот же id с зависимостью от владельца или добавьте поля патчем. + +## Если что-то пошло не так + +1. **Изменённые здоровье или атака не действуют.** Игра вычисляет числа из характеристик, как RPG Plus делает для своего отряда. +2. **Персонажа нет на вкладке «Персонажи» редактора RPG-карт.** На вкладке — персонажи с боевыми характеристиками; спрайт для размещения можно взять на вкладке «Внешность». +3. **Список модов пуст.** Упакованные моды не редактируются. diff --git a/docs/vi.md b/docs/vi.md new file mode 100644 index 0000000..bb66922 --- /dev/null +++ b/docs/vi.md @@ -0,0 +1,41 @@ +# Characters Editor — sửa nhân vật của mod bằng biểu mẫu + +Characters Editor sửa các nhân vật của một mod khi game đang chạy: tên bằng mọi ngôn ngữ của mod, chân dung, sprite đi bộ cho bản đồ RPG, các con số chiến đấu, tỉ lệ chiêu mộ và hành động chiến đấu. **Lưu** ghi các tệp của mod và game dùng thay đổi ngay. + +Nó mở từ hộp công cụ (chiếc búa trên thanh công cụ) dưới tên **Nhân vật**. + +## Một chỉnh sửa và kết quả trong game + +Trong RPG Plus, anh hùng của ngôi làng là nhân vật `rpg_hero` của mod `rpg_demo_game`. Chọn mod đó ở trên, chọn **Anh hùng**, gõ một tên tiếng Anh mới rồi nhấn **Lưu** (Ctrl+S): + +![Cửa sổ Nhân vật trên rpg_demo_game: danh sách Aldric · rpg_hero, Slime · rpg_slime, Sói · rpg_wolf; biểu mẫu của rpg_hero với khóa tên rpg_demo/character/hero, văn bản (en) Aldric và sáu ngôn ngữ còn lại giữ nguyên, Chân dung characters/village/hero cùng hình của nó, Charset (RPG) trống, Cấp độ 1, Máu 24, Tấn công 6, Phòng thủ 0, Điểm hành động 1, Kinh nghiệm 0, Tỉ lệ chiêu mộ 0. Dòng trạng thái: "Đã lưu: 0 tệp, 1 văn bản trong mod rpg_demo_game; game đã đọc lại dữ liệu".](assets/editor-saved.jpg) + +Chỉ dòng tiếng Anh trong `locale/en.properties` của mod thay đổi. Ngay sau đó, thành viên tổ đội trên bảng nhân vật: + +![Bảng hành động nhân vật: thành viên tổ đội giờ tên là Aldric (rpg_hero, HP 42/42, AP 1, ATK 12, DEF 4) với Đánh cơ bản, Phòng thủ và Cú đánh mạnh.](assets/panel-after.jpg) + +Bảng hiện HP 42 và ATK 12 trong khi tệp ghi 24 và 6: trong RPG Plus, lớp và chỉ số của anh hùng (Stats Engine với Classic RPG Rules) tính các con số chiến đấu và ghi đè lên giá trị của tệp. Trong game không có chỉ số thì dùng đúng các con số trong tệp. + +## Biểu mẫu + +- **Id** — id của nhân vật; kịch bản, tổ đội, trận đấu và bản đồ tìm nó qua id này. +- **Tên** — khóa dịch và một dòng cho mỗi ngôn ngữ của mod. +- **Chân dung** — hình trên thẻ và bảng; **…** mở lưới để chọn. +- **Charset (RPG)** — sprite đi bộ trên bản đồ RPG (3 khung × 4 hướng). Trình sửa bản đồ RPG đưa ra các nhân vật kèm charset của họ để đặt. +- **Cấp độ**, **Máu**, **Tấn công**, **Phòng thủ**, **Điểm hành động**, **Kinh nghiệm** — các con số chiến đấu của nhân vật. +- **Tỉ lệ chiêu mộ** — từ 0 đến 100: khả năng thu nhận nhân vật sau khi đánh bại nó (xem Recruiting). +- **Hành vi** và **Hành động** — nhân vật đánh thế nào và có những hành động chiến đấu nào. +- **Trường của mod khác** — các trường mà mod khác mô tả cho nhân vật trong lược đồ của họ (ví dụ lớp, chỉ số và đặc tính của Stats Engine) hiện trong mục riêng. +- **Các trường khác** — phần còn lại của JSON nhân vật, sửa dưới dạng JSON và giữ nguyên như cũ. + +Thanh công cụ: **Mới** (Ctrl+N), **Sao chép** (Ctrl+D), **Xóa**, **Hoàn tác**/**Làm lại** (Ctrl+Z / Ctrl+Y), **Lưu** — chỉ những tệp thay đổi được ghi; văn bản vào các tệp bản địa hóa của mod. + +## Những nhân vật nào được sửa + +Danh sách chứa các nhân vật trong tệp của chính mod được chọn; chỉ có các mod cài dưới dạng thư mục được đưa ra. Nhân vật của mod khác không có trong danh sách và tệp của họ không bao giờ bị ghi. Muốn đổi một nhân vật như vậy, hãy mang cùng id trong mod của mình kèm phụ thuộc vào chủ sở hữu, hoặc thêm trường bằng bản vá. + +## Khi có trục trặc + +1. **Đổi máu hay tấn công không có tác dụng.** Game tính các con số từ chỉ số, như RPG Plus làm với tổ đội của nó. +2. **Nhân vật không có ở thẻ Nhân vật của trình sửa bản đồ RPG.** Thẻ này liệt kê các nhân vật có chỉ số chiến đấu; sprite nào cũng đặt được từ thẻ Appearance. +3. **Danh sách mod trống.** Mod đóng gói không sửa được. diff --git a/docs/zh.md b/docs/zh.md new file mode 100644 index 0000000..bf72cf5 --- /dev/null +++ b/docs/zh.md @@ -0,0 +1,41 @@ +# Characters Editor — 用表单编辑模组的角色 + +Characters Editor 在游戏运行时编辑模组的角色:各种语言的名称、立绘、RPG 地图的行走图、战斗数值、招募几率和战斗行动。**保存**会写入模组的文件,游戏立刻使用这一变化。 + +它从工具箱(工具栏上的锤子)打开,叫**角色**。 + +## 一次编辑及其在游戏中的结果 + +RPG Plus 里村庄的英雄是模组 `rpg_demo_game` 的角色 `rpg_hero`。顶部选择该模组,选**英雄**,输入新的英文名称,按**保存**(Ctrl+S): + +![rpg_demo_game 上的「角色」窗口:列表中有 Aldric · rpg_hero、史莱姆 · rpg_slime、狼 · rpg_wolf;rpg_hero 的表单,名称键 rpg_demo/character/hero,文本 (en) Aldric,其余六种语言未变,立绘 characters/village/hero 及其图片,行走图(RPG)为空,等级 1,生命 24,攻击 6,防御 0,行动点 1,经验 0,招募几率 0。状态行:「已保存:模组 rpg_demo_game 中 0 个文件、1 条文本;游戏已重新读取数据」。](assets/editor-saved.jpg) + +只有模组 `locale/en.properties` 的英文一行变了。紧接着角色面板上的队伍成员: + +![角色行动面板:队伍成员现在叫 Aldric(rpg_hero,HP 42/42,AP 1,ATK 12,DEF 4),带普通攻击、防御和强力一击。](assets/panel-after.jpg) + +面板显示 HP 42 和 ATK 12,而文件里写的是 24 和 6:在 RPG Plus 中,英雄的职业和属性(Stats Engine 与 Classic RPG Rules)会计算战斗数值并覆盖文件里的值。在没有属性的游戏里用的就是文件里的数字。 + +## 表单 + +- **Id** —— 角色的 id;剧本、队伍、战斗和地图都靠它找到角色。 +- **名称** —— 翻译键和模组每种语言的一行文字。 +- **立绘** —— 卡片和面板上的图片;**…** 打开网格挑选。 +- **行走图(RPG)** —— 角色在 RPG 地图上的行走图(3 帧 × 4 朝向)。RPG 地图编辑器会把带行走图的角色列为可放置对象。 +- **等级**、**生命**、**攻击**、**防御**、**行动点**、**经验** —— 角色的战斗数值。 +- **招募几率** —— 0 到 100:击败后收编该角色的几率(见 Recruiting)。 +- **行为**和**行动** —— 角色怎么打,以及有哪些战斗行动。 +- **其他模组的字段** —— 其他模组在各自模式中为角色描述的字段(例如 Stats Engine 的职业、属性和特性),会在单独区域出现。 +- **其他字段** —— 角色 JSON 的其余部分,按 JSON 编辑并原样保留。 + +工具栏:**新建**(Ctrl+N)、**复制**(Ctrl+D)、**删除**、**撤销**/**重做**(Ctrl+Z / Ctrl+Y)、**保存** —— 只写改动的文件;文字进入模组的本地化文件。 + +## 哪些角色可以编辑 + +列表里是所选模组自己文件中的角色;只提供以文件夹安装的模组。其他模组的角色不在列表里,它们的文件也绝不会被写入。想改这样的角色,可以在自己的模组里带上相同的 id 并声明对属主的依赖,或者用补丁添加字段。 + +## 出问题了怎么办 + +1. **改了生命或攻击没有效果。** 游戏会从属性推算数值,RPG Plus 对自己的队伍就是这样做的。 +2. **角色不在 RPG 地图编辑器的「角色」标签页。** 该标签页列出带战斗属性的角色;任何行走图都可以从 Appearance 标签页放置。 +3. **模组列表是空的。** 打包模组不能编辑。 diff --git a/locale/ui_en.properties b/locale/ui_en.properties index 694afa3..1bb95eb 100644 --- a/locale/ui_en.properties +++ b/locale/ui_en.properties @@ -1,5 +1,5 @@ -mod_characters_editor_name = Character Editor -mod_characters_editor_desc = Editor of the game's characters — heroes, NPCs and enemies: a searchable list with portraits, the name in every language of the mod, portrait, the RPG map charset, battle stats and actions; a save shows in the game at once. +mod_characters_editor_name = Characters Editor +mod_characters_editor_desc = Edits a mod's characters while the game runs: names in every language, portrait, RPG walking sprite, battle numbers and actions. A save reaches the running game at once. tools/characters_editor/title = Characters tools/characters_editor/name = Name tools/characters_editor/image = Portrait diff --git a/locale/ui_es.properties b/locale/ui_es.properties index 1c10e56..c27c81d 100644 --- a/locale/ui_es.properties +++ b/locale/ui_es.properties @@ -1,5 +1,5 @@ mod_characters_editor_name = Editor de personajes -mod_characters_editor_desc = Editor de los personajes del juego (héroes, PNJ y enemigos): una lista con búsqueda y retratos, el nombre en cada idioma del mod, retrato, charset del mapa RPG, estadísticas y acciones de combate; al guardar se ve en el juego al momento. +mod_characters_editor_desc = Edita los personajes de un mod con el juego en marcha: nombres en todos los idiomas, retrato, sprite de paseo para el mapa RPG, cifras de combate y acciones. Un guardado llega al juego en marcha al instante. tools/characters_editor/title = Personajes tools/characters_editor/name = Nombre tools/characters_editor/image = Retrato diff --git a/locale/ui_ja.properties b/locale/ui_ja.properties index 4a10897..7ce1aed 100644 --- a/locale/ui_ja.properties +++ b/locale/ui_ja.properties @@ -1,5 +1,5 @@ mod_characters_editor_name = キャラクターエディター -mod_characters_editor_desc = ゲームのキャラクター——主人公、NPC、敵——のエディター:検索と肖像付きの一覧、MOD の各言語での名前、肖像、RPG マップのキャラチップ、戦闘能力値とアクション。保存するとすぐにゲームに反映されます。 +mod_characters_editor_desc = ゲームの実行中に MOD のキャラクターを編集します: 各言語の名前、肖像、RPG の歩行グラフィック、戦闘の数値とアクション。保存すると実行中のゲームにすぐ届きます。 tools/characters_editor/title = キャラクター tools/characters_editor/name = 名前 tools/characters_editor/image = 肖像 diff --git a/locale/ui_ko.properties b/locale/ui_ko.properties index d42b093..e288d4b 100644 --- a/locale/ui_ko.properties +++ b/locale/ui_ko.properties @@ -1,5 +1,5 @@ mod_characters_editor_name = 캐릭터 에디터 -mod_characters_editor_desc = 게임 캐릭터 — 영웅, NPC, 적 — 에디터: 검색과 초상화가 있는 목록, 모드의 모든 언어로 된 이름, 초상화, RPG 맵 캐릭터 시트, 전투 능력치와 액션. 저장하면 게임에 바로 보입니다. +mod_characters_editor_desc = 게임이 실행되는 동안 모드의 캐릭터를 편집합니다: 모든 언어의 이름, 초상화, RPG 걷기 스프라이트, 전투 수치와 동작. 저장하면 실행 중인 게임에 곧바로 반영됩니다. tools/characters_editor/title = 캐릭터 tools/characters_editor/name = 이름 tools/characters_editor/image = 초상화 diff --git a/locale/ui_ru.properties b/locale/ui_ru.properties index c5f1658..416d9af 100644 --- a/locale/ui_ru.properties +++ b/locale/ui_ru.properties @@ -1,5 +1,5 @@ mod_characters_editor_name = Редактор персонажей -mod_characters_editor_desc = Редактор персонажей игры — героев, NPC и врагов: список с поиском и портретами, имя на всех языках мода, портрет, чарсет для RPG-карты, боевые параметры и действия; сохранение сразу видно в игре. +mod_characters_editor_desc = Правит персонажей мода прямо во время игры: имена на всех языках, портрет, чарсет для RPG-карты, боевые параметры и действия. Сохранение сразу доходит до запущенной игры. tools/characters_editor/title = Персонажи tools/characters_editor/name = Имя tools/characters_editor/image = Портрет diff --git a/locale/ui_vi.properties b/locale/ui_vi.properties index 3f56bcf..a60e1a7 100644 --- a/locale/ui_vi.properties +++ b/locale/ui_vi.properties @@ -1,5 +1,5 @@ mod_characters_editor_name = Trình sửa nhân vật -mod_characters_editor_desc = Trình sửa nhân vật của game — anh hùng, NPC và kẻ địch: danh sách có tìm kiếm và chân dung, tên bằng mọi ngôn ngữ của mod, chân dung, charset bản đồ RPG, chỉ số và hành động chiến đấu; lưu xong là thấy ngay trong game. +mod_characters_editor_desc = Sửa các nhân vật của mod khi game đang chạy: tên bằng mọi ngôn ngữ, chân dung, sprite đi bộ cho bản đồ RPG, chỉ số và hành động chiến đấu. Mỗi lần lưu lập tức tới với game đang chạy. tools/characters_editor/title = Nhân vật tools/characters_editor/name = Tên tools/characters_editor/image = Chân dung diff --git a/locale/ui_zh.properties b/locale/ui_zh.properties index 98a2922..e995cd3 100644 --- a/locale/ui_zh.properties +++ b/locale/ui_zh.properties @@ -1,5 +1,5 @@ mod_characters_editor_name = 角色编辑器 -mod_characters_editor_desc = 游戏角色的编辑器——英雄、NPC 和敌人:带搜索和立绘的列表,模组每种语言的名称,立绘、RPG 地图行走图、战斗属性和行动;保存后游戏中立即可见。 +mod_characters_editor_desc = 在游戏运行时编辑模组的角色:各语言的名称、立绘、RPG 行走图、战斗数值和行动。保存后立刻反映到运行中的游戏。 tools/characters_editor/title = 角色 tools/characters_editor/name = 名称 tools/characters_editor/image = 立绘 diff --git a/manifest.json b/manifest.json index 2321719..2071d96 100644 --- a/manifest.json +++ b/manifest.json @@ -1,9 +1,9 @@ { "id": "characters_editor", - "name": "Character Editor", + "name": "Characters Editor", "version": "1.0.0", "author": "ct", - "description": "Editor of the game's characters (characters_base, \"Kind\": \"character\") in the style of the other editor windows: heroes, NPCs and enemies of a writable mod in a searchable list with their portraits, a form with the name in every language of the mod, portrait, the RPG map charset, battle stats and the battle actions picked from the loaded ones; loot and fields of other mods stay editable as JSON. New characters, copies, deletion, undo, and a save the running game sees at once. Opens from the main menu tools and the in-game toolbar.", + "description": "Edits a mod's characters while the game runs: names in every language, portrait, RPG walking sprite, battle numbers and actions. A save reaches the running game at once.", "category": "tools, editor", "sources": [ "src/**/*.cs"