# Characters Editor — правка персонажей мода в форме Characters Editor правит персонажей мода, пока игра работает: имя на всех языках мода, портрет, спрайт ходьбы для RPG-карт, боевые числа, шанс вербовки и боевые действия. **Сохранить** записывает файлы мода, и игра использует изменение сразу. Открывается из набора инструментов (молоток на панели инструментов) как **Персонажи**. ## Правка и её результат в игре В RPG Plus героем деревни выступает персонаж `rpg_hero` мода `rpg_plus_game`. Выберите этот мод сверху, укажите **Героя**, введите новое английское имя и нажмите **Сохранить** (Ctrl+S): ![Окно «Персонажи» на rpg_plus_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_plus_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 направления). - **Уровень**, **Здоровье**, **Атака**, **Защита**, **Очки действий**, **Опыт** — боевые числа персонажа. - **Шанс вербовки** — от 0 до 100: вероятность забрать персонажа в отряд после победы над ним (см. Recruiting). - **Поведение** и **Действия** — как персонаж сражается и какие у него боевые действия. - **Добыча** — что выпадает, когда персонажа побеждают как врага: список строк, в каждой предмет (пикер известных игре предметов), минимум и максимум количества и шанс от 0 до 100. - **Id** сохранённого персонажа здесь не меняется напрямую; **Переименовать…** под ним меняет id (см. ниже). - **Поля других модов** — поля, которые другие моды описывают для персонажей в своих схемах (например, класс, характеристики и черты из Stats Engine), появляются отдельной секцией. - **Прочие поля** — остальное из JSON персонажа, правится как JSON и сохраняется как есть. Панель инструментов: **Новый** (Ctrl+N), **Копия** (Ctrl+D), **Удалить**, **Отменить**/**Повторить** (Ctrl+Z / Ctrl+Y), **Сохранить** — записываются только изменённые файлы; тексты уходят в файлы локализации мода. ## Персонажи других модов Список показывает персонажей выбранного мода. Отметьте **Entries of other mods**, чтобы добавить персонажей его зависимостей; они помечены `↗ владелец`. Правка такого персонажа записывается патчем в ваш мод (`patches/character/<ваш мод>.json`) только с изменёнными значениями; файл владельца остаётся побайтно прежним. **Reset to inherited** убирает патч, а **↺** рядом с полем убирает ваше значение этого поля. Писать можно только в моды, установленные папкой. ## Переименование id **Переименовать…** под Id сохранённого персонажа спрашивает новый id и перечисляет все файлы, которые называют персонажа, до записи: его собственный файл, сценарии, которые дают его в партию или начинают с ним бой, расстановки и карты, где он стоит. Файлы других модов только перечисляются и не меняются. **Переименовать** сначала сохраняет правки; **Отменить переименование** возвращает все изменённые файлы точно такими, какими они были. Id: латинские буквы, цифры, `_`, `-` и `/` между частями, свободный во всех модах. ## Блок «Партия» Под полями блок «Партия» показывает два пункта: - **Лидер партии** — персонаж, с листом которого игрок ходит по RPG-картам. Лидер — тот, кого называет `stats.player` игры; если его нет, первый персонаж боевого состава. Блок пишет «Party leader» или «Not the party leader» для открытого персонажа. Назначить нового лидера кнопкой пока нельзя: это настройка коллекции, её меняют через менеджер модов. - **Вычисленные боевые числа** — если у персонажа есть `Stats`, значения статов и боевые числа. Подсказка говорит, что здоровье, атака и защита берутся из статов, поэтому правьте статы, а не эти поля. У персонажа со `Stats` поля **Health**, **Attack** и **Defence** только для чтения. Без `Stats` блок так и пишет, а боевые числа — это поля выше. - **Присоединяется к отряду при разговоре** — отметьте, чтобы записать сценарий присоединения `scenarios/<ваш мод>/party/.scenario`: он ставит флаг `_joined` в 1 и добавляет персонажа в отряд (`action party.add`). Снятие отметки сразу удаляет файл. Лидер не присоединяется: флажок для него выключен. Если у объекта-актёра персонажа уже есть диалог (его взаимодействие открывает сценарий или имеет свои строки), присоединение идёт после этого диалога: диалог проигрывается, затем персонаж присоединяется, а диалог не заменяется. Так записывает редактор карт, когда персонаж выбран во вкладке «Персонажи». Чтобы персонаж стал напарником на карте, поставьте его во вкладке «Персонажи» редактора RPG-карт: разговор с поставленным актёром присоединяет его, актёр уходит с клетки, а напарник идёт за героем. ## Если что-то пошло не так 1. **Изменённые здоровье или атака не действуют.** Игра вычисляет числа из характеристик, как RPG Plus делает для своего отряда. 2. **Персонажа нет в палитре редактора RPG-карт.** Вкладка «Персонажи» показывает только персонажей с ходячим спрайтом (**Charset**); без него персонажа не поставить. Вкладка «Актёры» показывает объекты `rpg_object`, а не персонажей игры. 3. **Список модов пуст.** Упакованные моды не редактируются.