Простейший кодовый замок (GoldSrc)

Материал из CSM Wiki
Версия от 00:31, 31 декабря 2019; AHTu6uoTuK (обсуждение | вклад) (Новая страница: «Категория:Маппинг GoldSrc Замок действует просто: нужно нажать три правильные цифры подр…»)
(разн.) ← Предыдущая | Текущая версия (разн.) | Следующая → (разн.)
Перейти к навигации Перейти к поиску

Замок действует просто: нужно нажать три правильные цифры подряд. Если нажмете не в том порядке или одну неправильную цифру - замок вернется в "нулевое" положение. Достоинство замка в том, что можно делать коды какой угодно длины и с повторяющимися цифрами. Заинтересовались? Приступим. Для начала сделаем замок с трёхзначным кодом без повторяющихся цифр, потом усложним задачу.

Используемые энтити

Реализация

Создайте панель с кнопками от 0 до 9. Теперь задумайте код. Например 279.

Превратите каждую кнопку в func_button. Поставьте Delay Before Reset равным 0.5 - так лучше.

Кнопку с цифрой 0 назовите "digit0", Target поставьте "wrong_digit". Кнопку "1" назовите "digit1", Target - "wrong_digit". И так все кнопки до 9, кроме кнопки "2", ей поставьте Target "right2".

Теперь создайте энтити trigger_changetarget со следующими параметрами:

Параметр Значение
Name wrong1
Entity to affect digit7
New target wrong_digit

Создайте еще один trigger_changetarget со следующими параметрами:

Параметр Значение
Name wrong2
Entity to affect digit9
New target wrong_digit

Создайте третий trigger_changetarget.

Параметр Значение
Name right2
Entity to affect digit7
New target right7

Создайте четветрый trigger_changetarget.

Параметр Значение
Name right7
Entity to affect digit9
New target door

Создайте multi_manager.

Параметр Значение
Name wrong_digit

В нем поставьте линки на wrong1 и wrong2.

Создайте объект с именем door, который будет активироваться правильным кодом. Готово.

Пояснение

При нажатии любой цифры кроме "2" ничего не происходит. Как только мы нажимаем "2" она изменяет цель "7", и "7" становится "правильной" цифрой. Если мы нажмем не "7" а, например, "3", "7" снова станет "неправильной" цифрой. Если же мы нажмем "7", это сделает "9" "правильной" цифрой, целью которой будет наш объект. Нажатие неправильной кнопки, опять же, сбросит все в начальное положение.

Минусы метода

В этом замке есть одна ошибка. Можно сколько угодно подряд нажимать "правильную" цифру и это ничего не будет менять, т.е. можно набрать и "279", и "2222279". Однако существует способ, который позволяет запретить кратные нажатия правильной кнопки.

Запрет на кратный ввод правильных цифр

К сожалению этот метод не работает для первой правильной кнопки, то есть комбинация "2222279" так и будет считаться корректной, но зато починится комбинация "277777779".

Итак приступим. Найдите trigger_changetarget с именем right2 и измените New target с right7 на right7_mm. Создайте multi_manager. Имя - "right7_mm". Ключи - "right7" - 0 сек. задержки, "wrong1" - 0.6 сек. задержки.

Теперь, если игрок нажмет "7" два раза подряд, замок вернется в начальное положение.

Автор: Kalash88
Дата: 07.08.2007