Space Rangers Wiki
Advertisement

RScript - Основная утилита для работы со скриптами игры. Весь основной код модов пишется с помощью неё.
В данном редакторе работали гейм-дизайнеры Elemental Games при создании всей серии игр Космические рейнджеры.

Авторы: Алексей "dab" Дубовой (v1.5), Константин "Кос" Савенков (v1.6), Алексей "evilcoward" Бондарчук & noname (v1.7 - v2.9.3).


Редактирование скрипта с помощью RScript

Общая информация[]

  • В Космических Рейнджерах скрипты являются в виде визуального представления, подобие нод системы
  • С помощью стрелочек строиться порядок скрипта и кода
  • При компиляции скрипта, RScript заменяет все тексты диалогов, все текстовые вставки в коде обрамлённые двойными кавычками на ссылки к соответствующему тексту находящемуся в Lang.dat файле. Сам текст при компиляции выводиться в отдельный txt файл, который необходимо добавить в Lang.dat
  • При ошибки компиляции сообщается номер символа в текущем объекте
  • Lite Build скрывает ход компиляции, что сокращает время компиляции больших скриптов в два раза, но менее информативен если случилась ошибка

Основные возможности[]

  • svr - открытие / редактирование / конвертация в json / компиляция в scr
  • json / rson - открытие / редактирование / конвертация в svr / компиляция в scr

Главные недостатки[]

  • Нету поддержки для удобного перевода скриптов
  • Нету опции переноса строк

История версий[]

Версия 2.9.3[]

  • Добавлена работа через командную строку, позволяющая компилировать/пересохранять/конвертировать. Подробнее в файле cli.txt

Версия 2.9[]

  • Исправлена ошибка открытия скриптов в форматах json/rson, если разделитель дробных чисел в ОС был отличным от того, чем записан в скрипте. Все дробные числа и разделители теперь читаются и пишутся через точку независимо от настроек ОС
  • Формат rson выбран теперь по-умолчанию для сохранения новых скриптов и конвертации из svr

Версия 2.8[]

Настройки

  • Исправлены отступы в json, для чисел и блоков кода
  • Добавлен формат rson, это 1 в 1 json просто с другим именем, чтобы можно было ассоциацию в ОС не забивать оригинальным форматом, если кто-то вдруг работает с другими json файлами с помощью редакторов
  • Исправлены ошибки счётчика конвертации и ошибки при многократном открытии скриптов перед конвертацией
  • Добавлена обратная конвертация в svr

Версия 2.7[]

Настройки

  • Изменена логика работы галочки Run game, теперь она дополнительно появляется на форме билда и запоминает состояние для рабочей сессии
  • Добавлена галочка показа спец-символов при выделении в редакторе кода
  • Добавлена галочка светлой темы для окна билда
  • Добавлена галочка показа координат для диалогов
  • Добавлена галочка светлой темы для окна диалогов
  • В нижем левом углу теперь можно кликнуть по строке с координатами и изменить текущее положение камеры

Ошибки

  • Исправлена ошибка автодополнения после символов { ( [
  • В окно диалогов добавлен скроллбар

Версия 2.6[]

Настройки

  • Добавлена массовая конвертация SVR в JSON.
  • Файлы конвертируются рекурсивно вглубь указанного каталога и сохранятся рядом возле svr файлов.
  • Без указания пути, RScript сконвертирует файлы находящиеся в его каталоге

Ошибки

  • Настройка разворачивания окна кода на полный экран теперь работает корректно.
  • Галочка Lite Build без учёта настроек теперь запоминается для сессии.

Версия 2.5[]

Настройки

  • Новая кнопка на панели инструментов, которая вызывает форму с настройками.
  • Данные настройки хранятся в реестре.
  • Добавлена настройка светлой темы редактора
  • Добавлена настройка скрытия всплывающих окон на объектах OP
  • Добавлена настройка Override Path, она перезаписывает пути компиляции svr и txt на путь указанный в поле настроек. В самом файле скрипта значения путей не затрагиваются, это небольшая помощь при работе с горой скриптов у которых уже проставлены чьи-то пути для компиляции.
  • Добавлена настройка запуска игры при окончании удачной компиляции скрипта. Путь к игре необходимо так же задать.

Форма компиляции

  • Добавлена кнопка сохранения SCR файлов, которая составит путь до нужной папки, имея уже проставленное название скрипта.
  • При использовании кнопки сохранения SCR файлов, поле с txt файлом автоматически заполняется по пути рядом с SCR, но можно отредактировать.

Ошибки

  • Исправление ошибки в JSON формате.
  • Исправление ошибки запоминания последней папки, при открытии скриптов по двойному клику на файле.
  • При чтении JSON, счётчики: объектов, количества строк в Op-If-While, количество строк в базе BlockPar не учитываются и остались в файле для простой наглядности.

Версия 2.4[]

Оптимизация компиляции скриптов

  • В обычном режиме компиляции, время на большинстве скриптов сократилось в два раза
  • Появился новый режим компиляции Lite, при котором время сократится ещё в два раза, но вывод информации по ходу компиляции будет максимально кратким, при этом выходные файлы скрипта всё равно будут одинаковыми с полным режимом. Скрипт ShuKlissans который довольно объемный, раньше компилировался за 7с, теперь за 0.5с.
  • По умолчанию галочка Lite Build не стоит, и будет сниматься каждый раз при заходе на форму компиляции, для опытных мододелов можно включить её принудительно через rscriptCFG.txt который лежит в папке с программой, там есть новый параметр LiteBuildForce который нужно переключить в True

Изменения формата JSON

  • В очередной, но последний раз, формат JSON был изменён, старые версии новый формат уже открыть не смогут, поэтому те кто уже успел что-то перевести в этот формат, рекомендую на старой 2.3 версии сконвертировать их в SVR, и потом уже открыть его новой версией.

Изменения редактора кода

  • В rscriptCFG.txt вынесен параметр редактора UndoGroup, который позволяет переключать режимы работы с действием Ctrl + Z (Undo). Дело в том, исправление ошибки когда за отмену одного действия отменялась сразу масса, повлекло за собой такую ситуацию, что сейчас по умолчанию каждая буква является действием, и Ctrl + Z теперь отменяет по символьно, что может быть очень не удобно некоторым.

Поэтому опционально есть режим как раньше, когда отменялись группы действий, но всё это работает не так как в других редакторах, тут нету разделения на тип действия поэтому 5 разных табуляций подряд для редактора являются одной группой :( И переделывать это очень проблемно, поэтому как то так.

  • В rscriptCFG.txt вынесен параметр редактора OpenCodeFullScreen который позволяет открывать окна кода на полный экран каждый раз когда вы кликаете по объектам кода.

Исправления

  • Все формы RScript теперь ведут себя адекватно на системах 2+ мониторами, и появляются относительно центра главной формы.

Версия 2.3[]

Добавлена новая кнопка на панель инструментов

  • Предоставляет быстрый доступ ко всем визуальным объектам скрипта кроме (If-While-Op) в виде списков разбитых на типы
  • При двойном клике на объекте откроется его стандартная форма редактирования
  • Диалоги имеют начальное превью и реальный номер диалога на доске

Версия 2.2[]

Добавлена поддержка формата JSON

  • Для работы нескольких человек над одним модом теперь есть данный текстовый формат в кодировке UTF8, это в разы облегчит мердж любых правок по скрипту, а так же даёт возможность нормально видеть историю в любой VCS
  • RScript так же как и раньше сможет работать с бинарным форматом SVR (создавать-сохранять-компилировать)
  • По умолчанию новые скрипты создаются в формате JSON, но в окне сохранения всегда есть выбор в какой формат конкретно сохранить скрипт.
  • Для конвертации скрипта из SVR в JSON, нужно открыть необходимый скрипт и с зажатой клавишей Ctrl нажать на иконку Сохранить, появится диалоговое окно сохранения в котором уже будет проставлено имя файла и выбран тип JSON.
  • Только при работе с форматом JSON происходит обработка текста, автоматически принудительно заменяются спец-символы табуляции на 4 пробела каждый, чтобы любой скрипт был однородным и его вид не зависел от того в каком редакторе создавался код и какие настройки этого редактора были, потому что символ табуляции не константа.
  • При нажатии на кнопку открыть, у вас по умолчанию будут показываться все файлы которые поддерживает RScript, то есть .svr и .json

Нововведения в объектах

  • У объекта Place добавлен новый тип - ScriptPlace.
  • Изменены вкладки у объекта State, появилась секция для ActCode.
  • У объекта Var при типе Array появились стартовые значения (можно в квадратных скобках указать перечисление элементов, вместо размера массива)
  • В объект While добавлен редактор кода.

Изменения редактора кода

  • Добавлена горячая клавиша для отступа выделенного блока. Теперь Tab умеет выделенные участки двигать.
  • Исправлена ошибка со скроллбаром в случаях если вставить из буфера текст который имеет большую длину чем окно редактора.
  • Исправлена ошибка горячей клавиши Ctrl + Z которая отменяла сразу массу действий за раз, а не пошагово.

Общие изменения RScript

  • Изменения текста в объектах Dialog.Msg, Dialog.Answer, Ether больше не меняет номера этих диалогов при компиляции скрипта. (Редактирование текста хранящегося в Op-If-While всё равно изменит свои номера)
  • Добавлена горячая клавиша для сохранения скрипта - Ctrl + S на главной доске, если файл уже существующий, то диалоговое окно вызываться не будет, а просто незаметно произойдёт пересохранение.
  • Добавлена горячая клавиша для вызова компиляции скрипта - Ctrl + B на главной доске
  • Компиляция scr в обновленном формате.
  • Сортировка по значениям номеров диалогов при компиляции и экспорте в txt.
  • Всплывающие окна большого кода теперь обрезаются и не загораживают весь экран при наведении мышкой, а так же в разы быстрее работают.

Версия 2.1[]

  • Исправлены лаги при Ctrl линках
  • Убрана зависимость стиля текстового блока от стрелочек
  • Добавлена возможность открывать скрипты по двойному клику файла
  • Добавлен редактор кода в IF объекты
  • Исправлен баг со скроллбаром

Версия 2.0[]

  • Добавлен редактор кода в объекты OP, с подсветкой и автодополнениями кода

Версия 1.7[]

  • Компиляция scr в обновленном формате.
  • Выкинуты все устаревшие неиспользуемые параметры,
  • Добавлена дифференциация цветом для Normal, Init, Global и DialogBegin элементов
  • Добавлено немного более информативное сообщение об ошибке компиляции.

Версия 1.6[]

  • Компиляция scr в обновленном формате, собирает scr подходящие для КРHD
  • Добавлены галочки под новый тип доминаторских кораблей.

Версия 1.5[]

  • Оригинальная версия от Алексея dab Дубового, собирает scr подходящие для КР1 / КР2Д / КР2ДП
Инструментарий для моддинга
ResEditorBlockParEditorRScriptABWorldTGEWImageMapEditorShipViewerAFont
Advertisement