Конструкция IF-ELSE-ENDIF
(если – иначе – конец_если)


Конструкция IF-ELSE-ENDIF используется для установки условий без использования новых функций или тонн триггеров.


Чтобы начать секцию IF, используйте следующий ресивер/инструкцию: Заметьте, что 'if' написано в нижнем регистре.
Условия - стандартные И и ИЛИ, которые вы можете и сейчас использовать в любом ресивере. Если при выполнении скрипта значение условия ИСТИНА, выполянется дальнейшая часть. Если оно ЛОЖЬ, дальнейшая часть пропускается до нахождения начала секции ELSE или ENDIF.

Чтобы начать секцию ELSE, используйте следующий ресивер/инструкцию: Для данного ресивера не нужны условия. Секция ELSE всегда ожидает IF и "привязывается" к последнему найденному в скрипте IF.
Расширение синтаксиса(показать)

Добавлен синтаксис ELSEIF для ресивера !!el.
Если секции ELSE имеет условие и оно не выполняется (значение ЛОЖЬ), код продолжает выполняться до следующей секции ELSEIF с условием или пока не встретится секция ENDIF.

Для завершения IF или IF-ELSE секции используется следующий ресивер/инструкция: Для данного ресивера не нужны условия.
Секция ENDIF всегда ожидает часть IF или IF-ELSE, и "привязывается" к последнему найденному в скрипте IF или IF-ELSE.

Вы можете включать секции IF-ELSE-ENDIF друг в друга, но не глубже 10 уровней (и не глубже 16 - для ERA).
Каждый триггер (и функция) имеет свои IF-ELSE-ENDIF, таким образом можно превысить лимит 10 включений вызовом функций.
Когда вы вызываете функцию в какой-либо секции IF-ELSE-ENDIF, она (секция) остается активной, и сохраняет свои собственные y-переменные (как и у функций).

Пример (показать)

Вы должны увидеть следующие сообщения: