Объект logic_multicompare сравнивает между собой все входные целочисленные значения от других объектов.
Особенности использования:
- Этот объект обновляется в каждом раунде. Это означает что любые изменения объекта НЕ будут наследоваться в последующих раундах.
- Объект может быть установлен в любом месте на карте.
- На карте может быть установлено множество этих объектов.
- Этот объект автоматически создаёт список всех входящих целочисленных значений от других объектов и каждый раз при добавлении нового значения, или обновлении старого, сравнивает их все вместе между собой. Два разных Output’а одного объекта добавляют в список сравнения два разных значения, потому что список сравнения различает Output’ы по их ID (идентификационному номеру), а разные Output’ы имеют разные ID. Например для одной кнопки два Output’а:
OnIn | my_logic_multicompare | InputValue | 5
OnOut | my_logic_multicompare | InputValue | 7
создадут в списке сравнений разу два значения – 5 и 7, поэтому после вызова этих двух Output’ов объект my_logic_multicompare будет всегда выполнять событие "OnNotEqual" и уже не выполнит событие "OnEqual" в текущем раунде.
Чтобы избежать этого, необходимо использовать объекты, которые могут возвращать числовые значения как результат своей работы. Такими объектами являются:
- env_microphone
- func_breakable
- func_breakable_surf
- func_physbox
- game_ui
- game_zone_player
- logic_compare
- math_counter
- math_remap
- momentary_rot_button
- point_anglesensor
- point_angularvelocitysensor
- point_proximity_sensor
- prop_door_rotating
- prop_dynamic
- prop_dynamic_ornament
- prop_dynamic_override
- prop_physics
- prop_physics_multiplayer
- prop_physics_override
- trigger_proximity.
Ошибки:
не обнаружены.
Заметки:
Чтобы посмотреть какие Output’ы будут добавлять и изменять свои значения в списке сравнения, в редакторе Hammer откройте свойства объекта logic_multicompare и перейдите на вкладку "Inputs". Среди всех Input’ов в списке вам нужны те, в столбике "My Inputs" у которых установлено название функции "InputValue".
Свойства:
Use Compare Value – использовать свойство "Compare Value":
No – в список сравнения НЕ будет добавлено значение свойства "Compare Value", поэтому первый же объект, вызвавший функцию "InputValue" приведёт в выполнению события "OnEqual", независимо от значения, которое он поместит в список;
Yes - в список сравнения будет добавлено число "Compare Value", поэтому для выполнения события "OnEqual" все значения в списке сравнения должны быть равны числу "Compare Value" для того чтобы событие "OnEqual" было выполнено;
Compare Value – целое число, которому должны быть равны все значения в списке сравнения, чтобы было выполнено событие "OnEqual".
Inputs:
InputValue <integer> - добавить в список сравнения новое значение или обновить старое, если ID Output’а, вызвавшего эту функцию, уже есть в списке сравнения; при добавлении нового значения в список сравнения, ID (идентификационный номер) Output’а, вызвавшего эту функцию, будет соответствовать новому значению; после вызова этой функции автоматически вызывается функция "CompareValues";
CompareValues – сравнить все значения в списке значений; в соответствии с результатом сравнения после вызова этой функции автоматически вызываются события "OnEqual" или "OnNotEqual".
Outputs:
OnEqual – выполняется если все значения в списке сравнения равны друг другу;
OnNotEqual – выполняется если в списке сравнения хотя бы одно из значений не равно остальным.
Источник: http://www.virte.clan.su/publ/kartostroenie/logic/logic_multicompare/11-1-0-67
Добавил: Le-Satan-Pirate
18.05.2024 Просмотров: 1730
Комментарии