Глоссарий: Интерполяция — замена имён переменных и макро-имён в строке значениями переменных, например %y1 (переменная) на 7 (значение переменной y1).
Скрипт:
Пояснения:
Используем редактор из папки Tools\Sublime_Erm_Editor.
!?FU(OnAdventureMapRightMouseClick) является человеко-читаемым синонимом для !?CM0. При наборе !?FU(On_ редактор начнёт предлагать варианты имён событий. Вводите логически части английских слов, например OnAdmocl предложит завершить по TAB одно из двух имён событий: OnAdventureMapLeftMouseClick и OnAdventureMapRightMouseClick.
Время жизни локальных переменных можно визуально проследить по коду от !?XX события до следующего !?XX события. Для целых чисел используются y1..y100, вещественных e1..e100, строк — z-1..z-10 переменные.
ERA 3 позволяет давать переменным имена, автоматически выделяя для них индексы. Синтаксис — (имяПеременной). Использование неименованных локальных переменных не поощряется и может приводить к конфликтам, если смешивать одни с другими в рамках одного события.
Имена переменных не могут содержать "_" и должны начинаться с малой буквы. Примеры: heroId, numStacks, maxSkillValue.
При первом использовании переменной не ясно, какого она типа (целое y, вещественное e или строковое z), поэтому его нужно указать через двоеточие: (имя переменной:тип).
!!CM:I?(where:y); скорее всего заменится на этапе компиляции на !!CM:I?y1, сопоставив таким образом имя where с переменной y1.
Для интерполяции, то есть подстановки значения переменной на место её имени, переменных в строках используется синтаксис %(имя переменной). Можно также использовать и переменные ERM 1: %y3, %v7, %z500. Заметьте, что писать первую букву в верхнем регистре более не обязательно и не поощряется.