Space Rangers Wiki

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

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


RScript

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

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

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

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

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

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

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

Руководство[]


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

Версия 4.3f (финальная 18.07.25)[]

Критические исправления

  • Исправления ошибок декомпиляции
  • Исправления ошибок тройного экранирования

Версия 4.2f[]

Критические исправления

  • Исправления ошибок декомпиляции
  • Исправления сохранения dat файлов

Версия 4.1f[]

Критические исправления

  • Исправления ошибок компиляции и декомпиляции
  • Исправления сохранения и загрузки rson скриптов
  • Исправления сохранения Answer
  • Исправление поиска по номеру элемента, номеру диалогов

Версия 4.0f[]

Добавлена декомпиляция scr файлов

  • Полностью поддерживаются 6,7,8 версии scr формата
  • При открытии scr файла теперь можно выбрать сохранить ли текстовый дамп с него, или восстановить полноценный rson файл который будет готов к компиляции
  • При сохранении в rson можно дополнительно восстановить все диалоги, указав Lang.dat где содержаться тексты скрипта
  • Опцию Triple backslash escaping включать только если получившейся скрипт не удаётся скомпилировать сразу, скорее всего из-за ошибки экранирования, данная опция решает это

Общие

  • Обновленная работа со строками в формате rson, теперь даже большие скрипты моментально открываются и сохраняются
  • Модуль BlockPar теперь интегрирован в RScript и наличие BlockParEditor 1.8 больше не является условием для работы с dat файлами
  • Полностью новая панель поиска по элементам которая упрощает работу с результатами

Главная доска

  • Новый пакет полностью перерисованных иконок для обычного размера, так и для опции Large Icons (автор: murgesku)
  • Иконки отвязаны от темы и выбираются в Settings
  • Новая опция Parent link с чтением цвета из cfg.txt, показывает линки у которых есть связь родитель-ребенок
  • Исправление ошибки копирования элемента на доске с помощью Ctrl + C, если этот элемент имеет родительскую связь
  • Удалены гибкие линии (только мешали)

Билд

  • Экспорт диалогов в Lang.txt и Lang.dat теперь не очищает всю секцию Script.Name, а заменяет только номерные параметры принадлежащие скрипту
  • Вывод операции в лог

Редактор кода

  • В StateLink добавлен редактор кода
  • В Dialog.Msg и Dialog.Answer добавлен редактор кода
  • Редактор dat файлов теперь запоминает все файлы которые открывал и на каких строках эти файлы были закрыты
  • Редактор dat файлов по Ctrl + S теперь сохраняет файл, но не закрывает окно редактора
  • У каждого редактора теперь свои личные настройки в Settings
  • Добавлена настройка Line numbers которая показывает номер каждой строки
  • Добавлена настройка Show special chars которая показывает специальные символы

Версия 3.3[]

  • Добавлена опция Scale DPI, которая не изменяя файл меняет визуальные размеры скрипта основываясь на DPI вашего монитора
  • Добавлена возможность копировать элементы и их содержимое на доске, через хоткей Ctrl + C
  • Добавлена опция экспорта диалогов в Lang txt, состояние сохраняется в rson формате так же как и опция экспорта в Lang dat
  • Dat editor сохраняет активную строку текущего файла

Версия 3.2[]

  • Добавлен выбор dat файлов в меню открытия файла
  • В Dat editor добавлена кнопка Save, которая сохраняет dat файл не закрывая редактор
  • Добавлена опция Line Spacing для настройки в редакторах отступов между строками (по умолчанию 0)

Версия 3.1[]

  • Добавлены ассоциации с одиночными dat файлами по двойному клику

Версия 3.0[]

Добавлена работа с dat файлами

  • В rson формате, появилась поддержка линкинга Lang, Main, CacheData файлов к скрипту, как для сборки их из txt исходников, так и для непосредственного редактирования
  • Для работы с dat файлами в настройках RScript должен быть указан путь к BlockParEditor 1.8
  • На главной панели инструментов добавлены кнопки редактирования линкованных txt и dat файлов, в окне билда есть отдельные кнопки для сборки dat файлов из txt
  • Добавлен флаг автоматической вставки текстового файла скрипта в раздел Script итогового Lang.dat файла. Флаг сохраняется в rson файле скрипта, нужно быть аккуратным, потому, что вся секция ScriptName в Lang.dat будет перезаписана

Редактор кода

  • Для редактирования txt и dat файлов добавлен отдельный файл правил
  • Добавлена опция WordWrap (перенос строк), распространяется на все редакторы кроме редактора rson проекта, на огромных файлах редактору может быть тяжело (по умолчанию включена)
  • Добавлена опция DragDrop editing, позволяющая выделенный участок кода переносить с помощью Drag`n`Drop (по умолчанию выключена)
  • Выделение теперь происходит посимвольно, а не покрывая весь экран
  • Исправления ошибок поиска
  • Окно редактора больше не закрывается по ESC если оно потеряло фокус

Главная доска

  • Индексы элементов теперь показываются всегда в актуальном состоянии
  • Добавлена опция MeshSize которая регулирует градации углов перемещения объектов (10 - стандарт, 5 - более свободное позиционирование)
  • Добавлены кривые линки (для забавы на большие дистацнии), ЛКМ на активном линке и потянуть в сторону, ПКМ в обратную сторону

Сквозной поиск на доске

  • Новый поиск по содержимому элементов Op, If, While, Msg, Answer
  • Выдаёт номер элементов где найден результат, из панели поиска можно сразу открыть нужный элемент для редактирования или можно попросить показать где он расположен на доске
  • Работает и на svr файлах

Прочее

  • Удалена опция Override
  • Изменена логика галочек Force
  • Исправления отступов в rson формате

Версия 2.12[]

  • Добавлен просмотр и редактирование rson файла открытого скрипта
  • Поиск по номеру элемента вынесен на панель
  • Размеры окна кода теперь запоминаются и после закрытия RScript
  • Добавлена функция "Заменить всё" на панели поиска в объектах типа Op, на данную функцию распространяются опции выбранные при поиске (искать учитывая регистр, искать отдельные слова)

Версия 2.11[]

  • Добавлен поиск по номеру элемента на доске через комбинацию Ctrl + F
  • Добавлена настройка скрытия номера элемента в объектах типа Op/If/While
  • Добавлена настройка скрытия номера диалога в объектах типа DialogMsg/DialogAnswer
  • Добавлена вкладка быстрого доступа к списку объектов типа Op/If/While
  • Добавлена настройка высоты подсказок в объектах типа Op
  • Из формата rson убрана статистика скрипта
  • Небольшие правки интерфейса

Версия 2.10[]

  • Добавлена частичная поддержка HiDPI экранов (масштабирование с учётом настроек ОС, большие значки)
  • Добавлена частичная поддержка темной темы
  • Добавлен тип запуска в подсказки Op
  • Убран полностью формат json, остался только переименованный вариант rson и оригинальный формат svr
  • Небольшие правки интерфейса

Версия 2.9.3[]

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

Версия 2.9[]

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

Версия 2.8[]

Настройки

  • Исправлены отступы для чисел и блоков кода в json
  • Добавлен формат rson - это 1 в 1 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, при котором время сократится ещё в два раза, но вывод информации по ходу компиляции будет максимально кратким; при этом выходные файлы скрипта получаются такими же как и в полном режиме
  • По умолчанию, галочка Lite Build не стоит и будет сниматься каждый раз при заходе на форму компиляции; для опытных мододелов можно включить её принудительно через rscriptCFG.txt, который лежит в папке с программой, там есть новый параметр "LiteBuildForce", его нужно переключить в True

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

  • Формат json был изменён, старые версии rscript не совместимы с ним

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

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

Исправления

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

Версия 2.3[]

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

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

Версия 2.2[]

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

  • Добавлен новый текстовый формат json в кодировке UTF8, это сильно облегчит мердж любых правок по скрипту
  • 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 на главной доске
  • Сортировка по значениям номеров диалогов при компиляции и экспорте в txt
  • Всплывающие окна большого кода теперь обрезаются и не загораживают весь экран при наведении мышкой, а также в разы быстрее работают

Версия 2.1[]

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

Версия 2.0[]

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

Версия 1.8[]

  • Компиляция scr в обновленном формате

Версия 1.7[]

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

Версия 1.6[]

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

Версия 1.5[]

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