Автор поста: Berserker.Я как-то начинал курс подачи материала с нуля для SCVS, но бросил на третьей статье, которую случайно стёр, а переписывать было в лом. Тогда только Ганимед заинтересовался.
Действительно, подобный стиль изложения для новичка ужасен.
Нужно гораздо проще.
Цитата
В игре время от времени возникают события, вроде щелчка мышью, посещения объекта или просто наступления нового дня. Я выбираю термин событие вместо буржуйского триггер.
Сам язык ЕРМ строится по шаблону:
Цитата
!?Событие
!!команда1
!!команда2
!!команда3
Команды, не привязанные к какому-либо событию, выполняющиеся только на этапе старта новой игры, называют
инструкциями. Хотя логичнее было бы:
Событие: Старт Игры
!!команда1
!!команда2
!!команда3
И не нужно нового синтаксиса.
Как ЕРМ-парсер различает события от команд?
Цитата
!? - идёт перед событием
!! - перед командой
!# - перед инструкцией
!$ - перед "послесобытием" (событие: до посещения и после буквенно одно и то же OB)
Структура команды довольно проста. После двухбуквенного имени команды (зачастую, сокращённое от английского, например CM = Click Mouse = Щелчок мышью) идёт раздел условий, затем символ двоеточия и тело команды.
Код
[b]!![/b][имя команды][параметры][секция условия]:тело команды;
В секции условия может быть две подсекции: ЕСЛИ и ИЛИ. Чтобы условие было истиным, нужно, чтобы выполнились все ЕСЛИ или хотя бы один ИЛИ.
Подсекции условия определяются по первому символу: & - ЕСЛИ, | - ИЛИ, а сами условия отделяются друг от друга обратной косой чертой.
Код
[b]!![/b][color=green]VR[/color]v1[b]&[/b]v2=3[b]/[/b]v4=6:S777;
Присвоить переменной v1 значение 777, если переменная v2 равна трём, а v4 - шести.
Цитата
!!VRv1&v2=3/v4=6|v6=12:S777;
Присвоить переменной v1 значение 777, если переменная v2 равна трём, а v4 - шести или если v6 равно 12, независимо от предыдущих условий.
Мы пропустили параметры. Параметры конкретизируют команду. Привожу ясный пример:
Код
!!HE1/1/0:...;
Здесь мы указываем команду Герой и указываем его координаты. Иначе нам в теле команды пришлось бы всегда дублировать координаты, что, согласитесь, неудобно.
Обычно в параметрах указывается номер героя, координаты города и т.д. - в справочниках всё описано.
Тело команды состоит из однобуквенных подкоманд.
Например:
HE:N - работа с номером героя (N = number = номер). В теле команды может быть сколько угодно подкоманд.
Код
HE...:N...C0/...P...;
И т.д...
Имхо, составителям хэлпа нужно было писать подобные туториалы.