Используемые энити :
- math_counter - калькулятор
- logic_relay - реле
- logic_branch - бинарная энитя
- func_button - кнопка
Итак, поехали.
Создайте 9 кнопок и назначте всем кнопкам функцию func_button. Настройте так:
Name - каждой кнопке имя соответствующее её номеру. К примеру, кнопке с единичкой имя - 1.
Move Direction - поверните белую полоску в ту сторону, в которую бы вы хотели чтобы кнопка двигалась относительно вида сверху.
Speed - 200
Lip - 1
Delay before reset - 0.1
Всё - кнопки настроены.
Теперь создайте на карте math_counter. Настройте так:
Name - counter
Initial value - 0
Maximum legal value - 4
И еще один
Name - col-vo
Initial value - 0
Maximum legal value - 4
Теперь новая для вас энтитя - logic_branch. Это бинарная энтитя, рабатающая по принцыпу переключателя, она может принимать значение 0 или 1 в зависимости от них происходит проверка и соответственно событие.
Создайте на карте эту энтитю и настройте:
Name - logic_branch
Initial value - 0.
Пока всё.
Дублируйте эту энтитю и дайте ей имя logic_branch1.
Создайте энитю logic_relay, обзовите yes
Туда добавьте аутпут по открыванию двери.
Клонируйте энитю logic_relay, обзовите no
Там будут действия при неправильном коде
Дальше, открывайте свойства каждой из func_button и заходите во вкладку Outputs, создавайте новый OutPut и настраивайте (рекомендую использовать Copy и Paste):
My output named - OnPressed
Targets entities maned - col-vo
Via this input - Add
With a parameter override of - 1
Снова создайте новый OutPut и настройте так:
My output named - OnIn
Targets entities maned - укажите имя той кнопки свойства которой вы настраиваете.
Via this input - Lock
Дальше, открывайте свойства тех кнопок, которые будут самой комбинацией, и заходите во вкладку Outputs, создавайте новый OutPut и добавьте к существующим OutPut'ам:
My output named - OnPressed
Targets entities maned - counter
Via this input - Add
With a parameter override of - 1
Дальше, открывайте свойства тех кнопок, которые будут неправельной комбинацией, и заходите во вкладку Outputs, создавайте новый OutPut и добавьте к существующим OutPut'ам:
My output named - OnPressed
Targets entities maned - logic_branch1
Via this input - SetValue
With a parameter override of - 1
Дальше, откройте свойства math_counter и заходите во вкладку Outputs, создавайте новый OutPut и настраивайте:
My output named - OnHitMax
Targets entities maned - logic_branch
Via this input - SetValue
With a parameter override of - 1
Теперь, откройте свойства logic_branch и заходите во вкладку Outputs, создавайте новый OutPut и настраивайте:
My output named - OnTrue
Targets entities maned - yes
Via this input - Trigger
Снова создайте новый OutPut и настройте так:
My output named - OnFalse
Targets entities maned - no
Via this input - Trigger
Снова создайте новый OutPut и настройте так:
My output named - OnFalse
Targets entities maned - counter
Via this input - SetValue
With a parameter override of - 0
Снова создайте новый OutPut и настройте так:
My output named - OnTrue
Targets entities maned - counter
Via this input - SetValue
With a parameter override of - 0
Теперь, откройте свойства logic_branch1 и заходите во вкладку Outputs, создавайте новый OutPut и настраивайте:
My output named - OnTrue
Targets entities maned - logic_branch1
Via this input - SetValue
With a parameter override of - 0
Дальше, создайте logic_relay, обзовите validate
My output named - OnTrigger
Targets entities maned - создайте несколько OutPuts с параметром этого поля от 0 до 9.
Via this input - UnLock
Снова создайте новый OutPut и настройте так:
My output named - OnTrigger
Targets entities maned - logic_branch
Via this input - Test
After a delay in seconds of - 0.1
Снова создайте новый OutPut и настройте так:
My output named - OnTrigger
Targets entities maned - logic_branch1
Via this input - Test
Снова создайте новый OutPut и настройте так:
My output named - OnTrigger
Targets entities maned - logic_branch
Via this input - SetValue
With a parameter override of - 0
After a delay in seconds of - 0.11
Снова создайте новый OutPut и настройте так:
My output named - OnTrigger
Targets entities maned - logic_branch1
Via this input - SetValue
With a parameter override of - 0
After a delay in seconds of - 0.1
Теперь, откройте свойства logic_branch1 и заходите во вкладку Outputs, создавайте новый OutPut и настраивайте:
My output named - OnTrue
Targets entities maned - logic_branch
Via this input - SetValue
With a parameter override of - 0
И в конце аутпуты энити col-vo (math_counter)
My output named - OnHitMax
Targets entities maned - validate
Via this input - Trigger
My output named - OnHitMax
Targets entities maned - col-vo
Via this input - SetValue
With a parameter override of - 0
Для тех, кто не знает откуда брать модели
Для тех, кто не знает, откуда брать исходники