"Простейший кодовый замок”
...извращенцам над энтитями посвящается.
Я сделал такую фичу в своем моде на некоторых картах в лабораториях, захотел поделиться :)
Этот механизм кодового замка не имеет ничего общего с туториалами,
которые уже есть в инете для CS Source. Это мой собственный метод :)
К туториалу я прилагаю RMF с образцом так что я думаю все будет ясно
всем :)
Нам понадобятся энтити:
- func_button
- multi_manager
- trigger_changetarget
Замок действует просто: нужно нажать три правильные цифры подряд.
Если нажмете не в том порядке или одну неправильную цифру - замок
вернется в "нулевое" положение. Достоинство замка в том, что можно
делать коды какой угодно длины и с повторяющимися цифрами.
Заинтересовались? ;) Приступим. Для начала сделаем замок с 3х значным
кодом без повторяющихся цифр, потом усложним задачу.
Превратите каждую кнопку в 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". Но это легко исправить, еще немного
поизвращавшись над энтитями.
Продолжаем извращаться над замком.
К сожалению исправить ошибку с "двойным нажатием" первой кнопки мне
не удалось - это в любом случае будет приводить к тому что замок
заблокирует сам себя навечно (на клавиатуре не останется "правильных"
цифр. "279" по прежнему равно "222279". Но зато теперь нельзя открыть
замок с помощью "2777779"
Итак приступим. Измените New target trigger_changetarget'а "right2" с "right7" на "right7_mm".
Создайте multi_manager. Имя - "right7_mm". Ключи - "right7" - 0 сек. задержки, "wrong1" - 0.6 сек. задержки.
Теперь если игрок нажмет "7" два раза подряд, замок вернется в начальное положение.
Я думаю, вам не составит труда сменить код замка или добавить к нему
цифр для усложнения "взлома" двери за которой лежит рокет-лаунчер
Исходник с примером здесь: скачать
Автор: Kalash88
www.kalash-lib.narod.ru
|