Кодовый замок
Создание кодового замка с возможностью изменения кода.

Введение
Есть бесчисленное множество вариантов создания кодового замка, но я нашёл наиболее простой вариант, в котором используется минимальное кол-во энтитей (кроме кнопок) — всего 2, немного его улучшил, добавил возможность изменения кода на свой, причём число цифр можно установить своё. Заготовку можно скачать по ссылке в конце урока, кому лень читать статью, могут сразу его скачать и изучить.

Для начала надо создать дверь (или бомбу, что должен активировать наш кодовый замок) и кнопки. Кнопок будет 12: 10 — цифры, одна кнопка для сброса вводимого кода и еще одна - для его проверки и активации. Теперь надо добавить math_counter с именем code (он будет хранить вводимый код) и logic_compare с именем check (он будет проверять код и открывать дверь). У math_counter'а добавьте такой Output:

OutValue - check - SetCompareValue

У logic_compare в параметр InitialValue введите ваш код, затем поставьте такой оутпут (это активация двери, у вас может быть другое имя):

OnEqualTo - door - Open

Теперь займёмся кнопками. У цифр добавьте такие Output'ы:

OnPressed - code - Multiply - 10 - 0.00
OnPressed - code - Add - (цифра) - 0.01
Вместо (цифра) поставьте цифру на кнопке. Теперь кнопка сброса. Тут всего один Output:

OnPressed - code - SetValue - 0
И последняя кнопка, кнопка подтверждения, у неё 2 таких Output'а:
OnPressed - code - SetValueNoFire - 0
OnPressed - check - Compare
Также можно добавить систему изменения кода, т.е. ввёл код, зашел в секретное помещение и, чтобы никто к тебе больше не залез, вводишь там собственный код. Для этого нам нужно добавить еще одну Entity — math_counter, даём ей имя: code_new, добавляем ей такой Output:
OutValue - check - SetValue
Нужен второй терминал для ввода своего кода. Также будет 12 кнопок, у цифр должны быть такие Output'ы:
OnPressed - code_new - Multiply - 10 - 0.00
OnPressed - code_new - Add - (цифра) - 0.01
У кнопки сброса кода (при нажатии на кнопку весь код сбрасывается и устанавливается код по умолчанию) такие Output'ы:
OnPressed - code_new - SetValueNoFire - 0
OnPressed - check - SetValue - 1234 (1234 — наш код по умолчанию)
Нажатие на кнопку подтверждения сохраняет введённый до этого код в наш замок. У неё один Output:
OnPressed - code_new - SetValueNoFire - 0
Ну вот, кодовый замок готов. Если что-то непонятно или кодовый замок у вас почему-то не работает — то просто скачиваем заготовку нажав на кнопочку снизу и изучаем. Код по умолчанию — 5174. В нём кнопка сброса — С, кнопка подтверждения — Н, как видно на рисунке:

Скачать заготовку карты Вернуться в каталог уроков