logic_auto

Объект logic_auto используется для выполнения каких-либо действий в начале каждого раунда.

Особенности использования:
- Этот объект обновляется в каждом раунде. Это означает что любые изменения объекта НЕ будут наследоваться в последующих раундах.
- Объект может быть установлен в любом месте на карте.
- На карте может быть установлено множество этих объектов.

Ошибки:
не обнаружены.

Заметки:
Глобальную переменную можно установить и контролировать на карте при помощи объекта env_global. Глобальная переменная будет использоваться на протяжении всей карты.

Свойства:
Global State to Read – имя глобальной переменной, состояние которой должно быть равно "ON", чтобы событие "OnMapSpawn" выполнялось; если это свойство не указано, то событие "OnMapSpawn" выполняется всегда в начале каждого раунда; глобальную переменную можно установить и контролировать на карте при помощи объекта env_global.

Флажки:
Remove On Fire – удалить объект в начале каждого раунда; все Output’ы, добавленные этим объектом, будут выполнены; рекомендуется всегда устанавливать этот флажок.

Outputs:
OnMapSpawn – выполняется в начале каждого раунда, если глобальная переменная, указанная в свойстве "Global State to Read", имеет значение "ON"; если свойство "Global State to Read" не указано, то это событие выполняется всегда в начале каждого раунда;
OnNewGame – полностью идентично событию "OnMapSpawn"; не используйте это событие;
OnBackgroundMap – выполняется сразу после загрузки карты только тогда, когда карта загружается в качестве Background-карты для главного меню игры.

logic_case

Объект logic_caseможет выполнять до шестнадцати различных событий в зависимости от значения входного параметра. Этот объект так же используется для выполнения одного из шестнадцати событий, выбранного случайным образом.

Особенности использования:
- Этот объект обновляется в каждом раунде. Это означает что любые изменения объекта НЕ будут наследоваться в последующих раундах.
- Объект может быть установлен в любом месте на карте.
- На карте может быть установлено множество этих объектов.
- Если для этого объекта будет использоваться только функция "PickRandom" или "PickRandomShuffle", то не обязательно заполнять соответствующие свойства "Case 01-16", потому что эти функции выполняют любое событие "OnCase01"-"OnCase16" указанное в Output’ах этого объекта, и не проверяют наличие значений в свойствах "Case 01-16".
- Объект не различает числа и строки, поэтому если в свойствах "Case 01-16" указано значение, например, "1.00", то это будет равняться строке "1.00", но не будет равняться числу 1. Для того чтобы строка "1.00" равнялась числу 1, нужно просто упростить её до "1". Для того чтобы строка "1.520000" равнялась числу 1.52, нужно просто упростить её до "1.52" и т.д.

Ошибки:
не обнаружены.

Свойства:
Case 01-16 – любое число, строка, символ и т.д.; если при вызове функции "InValue" входное значение функции будет равно значению этого свойства, то будет выполнено соответствующее событие "OnCase01"-"OnCase16"; при использовании функций "PickRandom" и "PickRandomShuffle" это свойство не учитывается.

Inputs:
InValue <string> - указать входное значение для объекта logic_case; если это входное значение будет равно одному из значений свойств "Case 01-16", то будет вызвано соответствующее событие "OnCase01"-" OnCase16";
PickRandom– выполнить одно из событий "OnCase01"-"OnCase16", выбранное случайным образом; не учитываются значения свойств "Case 01-16";
PickRandomShuffle – выполнить одно из событий "OnCase01"-" OnCase16", выбранное случайным образом, но при этом не выполнять это же событие дважды, пока все остальные события не будут выполнены хотя бы по одному разу; эта функция следит за тем, чтобы при многократном вызове этой функции все события выполнялись равное количество раз; не учитываются значения свойств "Case 01-16".

Outputs:
OnCase01-OnCase16 – выполняется тогда, когда входное значение функции "InValue" совпадает с соответствующим значением свойства "Case 01"-"Case 16"; это событие может быть выполнено вызовом функции "PickRandom" или "PickRandomShuffle", которые, в отличие от функции "InValue", не учитывают значения свойств "Case 01-16";
OnDefault <input> – выполняется тогда, когда входное значение функции "InValue" НЕ совпадает ни с одним значением свойств "Case 01"-"Case 16"; это событие возвращает всю информацию о своих входных данных и активаторе цепочки событий (!activator), поэтому возвращённые данные могут являться входными данными для следующих функций:
- все объекты-фильтры (filter_*), функция "TestActivator";
- объект logic_branch_listener, функция "Test";
- объект logic_multicompare, функции "InputValue" и "CompareValues";
- объект logic_case (этот объект), функция "InValue".

logic_compare

Объект logic_compare используется для сравнения двух чисел.

Особенности использования:
- Этот объект обновляется в каждом раунде. Это означает что любые изменения объекта НЕ будут наследоваться в последующих раундах.
- Объект может быть установлен в любом месте на карте.
- На карте может быть установлено множество этих объектов.

Ошибки:
не обнаружены.

Свойства:
Initial Value – первое число в операции сравнения;
Compare Value – второе число в операции сравнения.

Inputs:
SetValue <float> - установить новое значение свойства "Initial Value";
SetValueCompare <float> - автоматически выполнить функции "SetValue" и затем "Compare";
SetCompareValue <float> - установить новое значение свойства "Compare Value";
Compare – сравнить значения "Initial Value" и "Compare Value"; в зависимости от результата сравнения после выполнения этой функции сразу же выполняются соответствующие события "OnLessThan", "OnEqualTo", "OnNotEqualTo" и/или "OnGreaterThan".

Outputs:
OnLessThan <float> – выполняется сразу после вызова "Compare"-функций и только в том случае, если "Initial Value" меньше "Compare Value"; эта функция возвращает значение свойства "Initial Value" для этого объекта;
OnEqualTo <float> – выполняется сразу после вызова "Compare"-функций и только в том случае, если "Initial Value" равно "Compare Value"; эта функция возвращает значение свойства "Initial Value" для этого объекта;
OnNotEqualTo <float> – выполняется сразу после вызова "Compare"-функций и только в том случае, если "Initial Value" НЕ равно "Compare Value"; эта функция возвращает значение свойства "Initial Value" для этого объекта;
OnGreaterThan <float> - выполняется сразу после вызова "Compare"-функций и только в том случае, если "Initial Value" больше "Compare Value"; эта функция возвращает значение свойства "Initial Value" для этого объекта.

logic_relay

Объект logic_relay используется для выполнения и контролирования запланированных цепочек действий. Выполнение такие цепочек действий может быть приостановлено в любой момент времени.

Особенности использования:
- Этот объект обновляется в каждом раунде. Это означает что любые изменения объекта НЕ будут наследоваться в последующих раундах.
- Объект может быть установлен в любом месте на карте.
- На карте может быть установлено множество этих объектов.
- По умолчанию объект не может повторно запускать цепочки действий до тех пор, пока выполняется хотя бы одна из них. Чтобы разрешить одновременное выполнение сразу нескольких цепочек действий, смотрите флажок "Allow Fast Retrigger".

Ошибки:
не обнаружены.

Свойства:
Start Disabled – выключить объект в начале каждого раунда (Нет/Да).

Флажки:
Remove On Fire – объект может быть активирован только один раз функцией "Trigger", после чего объект автоматически будет удалён, поэтому запущенную цепочку действий нельзя будет отменить;
Allow Fast Retrigger – разрешить повторные выполнения контролируемых цепочек действий в то время, как выполняются другие; если этот флажок не установлен, то всё равно есть возможность выполнить цепочку действий повторной, для этого используется функция "EnableRefire", которая разрешает однократный дополнительный запуск цепочки действий; не используется если установлен флажок "Remove On Fire".

Inputs:
Enable – включить объект;
Disable – выключить объект;
Toggle – переключить состояние объекта (Включен/Выключен);
Trigger – запустить на выполнение контролируемую цепочку действий; может быть выполнена только при включенном объекте; если установлен флажок "Remove On Fire", то сразу же после вызова этой функции этот объект будет удалён и цепочку действий нельзя будет отменить; (см. флажок "Allow Fast Retrigger");
CancelPending – остановить выполнение всех контролируемых цепочек действий; может быть выполнена даже тогда, когда объект выключен;
EnableRefire – разрешить однократный дополнительный запуск цепочки действий, как если бы был включен флажок "Allow Fast Retrigger"; после вызова этой функции, цепочка действий не будет запущена самостоятельно, однако функция "Trigger" сможет быть выполнена не дожидаясь завершения текущей цепочки событий.

Outputs:
OnTrigger – выполняется всегда, когда выполняется функция "Trigger";
OnSpawn – выполняется при создании объекта, например: в начале каждого раунда; удобно использовать если этот объект logic_relay клонируется объектом point_template, в этом случае это событие будет выполняться каждый раз сразу после клонирования; если у объекта logic_relay есть хотя бы один Output с названием "OnSpawn", а так же установлен флажок "Remove On Fire", то этот объект logic_relay выполнит своё событие "OnSpawn" и после этого будет автоматически удалён.

logic_timer

Объект logic_timer используется в качестве таймера, автоматически выполняющего действия через заданный или произвольный интервал времени.

Особенности использования:
- Этот объект обновляется в каждом раунде. Это означает что любые изменения объекта НЕ будут наследоваться в последующих раундах.
- Объект может быть установлен в любом месте на карте.
- На карте может быть установлено множество этих объектов.
- Если используется флажок "Oscillator", то первым будет вызвано событие "OnTimerHigh".

Ошибки:
не обнаружены.

Свойства:
Start Disabled – выключить объект в начале каждого раунда (Нет/Да);
Use Random Time – использовать случайный интервал периодического срабатывания таймера (Нет/Да); при этом используются свойства "Min Random Interval" и "Max Random Interval" для указания минимального и максимального интервала времени; если установлено это свойство, то свойство "Refire Interval" не используется;
Min Random Interval – минимальный интервал времени через который может сработать таймер; используется только при включенном свойстве "Use Random Time";
Max Random Interval – максимальный интервал времени через который может сработать таймер; используется только при включенном свойстве "Use Random Time";
Refire Interval – точный интервал времени через который будет периодически срабатывать таймер (секунды); используется только если свойство "Use Random Time" равно "No"; 0.01 - минимальное значение этого свойства.

Флажки:
Oscillator – вместо события "OnTimer" будут по очереди вызываться события "OnTimerLow" и "OnTimerHigh".

Inputs:
Enable – включить объект;
Disable – выключить объект;
Toggle – переключить состояние объекта (Включен/Выключен);
FireTimer – выполнить срабатывание таймера вручную; при этом периодичность автоматического срабатывания таймера не меняется;
UseRandomTime <integer> - (0 или 1) установить новое значение свойства "Use Random Time"; если для свойства "Use Random Time" этой функцией устанавливается новое значение 0, то интервал срабатывания таймера останется равен последнему случайному значению интервала, поэтому после вызова этой функции можете выполнить функцию "RefireTime", чтобы выставить нужный интервал времени;
LowerRandomBound <float> – установить новое значение свойства "Min Random Interval";
UpperRandomBound <float> – установить новое значение свойства "Max Random Interval";
RefireTime <float> – установить новое значение свойства "Refire Interval".

Outputs:
OnTimer – выполняется при активации таймера; не используется если установлен флажок "Oscillator";
OnTimerLow – выполняется поочерёдно с событием "OnTimerHigh" вместо события "OnTimer"; используется только если установлен флажок "Oscillator";
OnTimerHigh – выполняется поочерёдно с событием "OnTimerLow" вместо события "OnTimer"; используется только если установлен флажок "Oscillator".