Суббота, 23.09.2017, 06:18
Under sky of Half-Life
Приветствую Вас Гость | RSS
Главная | Каталог статей | Регистрация | Вход
Меню сайта

Категории каталога
На движке Valve Source [29]
На движке Half-Life 1 [1]

Главная » Статьи » Статьи по мэппингу » На движке Valve Source

Самый простой кодовый замок на 2-х энтитях
Итак возможности замка:
  • Неогранниченое кол-во цифр в коде
  • Добавление еще одного кода активации обойдется всего в 1 энтитю. 
  • Возможность 1 аутпутом менять код активации.

Итак, по дефолту, создаем комнату и старт игрока. Для замка нам понадобится 10 кнопок ввода кода 0-9 и кнопка сброса ввода (справа):



К этому еще 2 управляющие энтити: math_counter с именем code_saver и параметром Initial Value: 1



и logic_compare с именем code_compare и параметром Compare value: 1N ,где N- это наш код активации замка. В примере использован код 606060, по этому в Compare value пишем: 1606060.
Единица впереди кода стоит для защиты, если наш код будет начинаться с нуля (эту единицу мы учли в math_counter'е когда писали Initial Value: 1).



Теперь заставим всё это работать.

Аутпуты для первой кнопки:


1) Код, который хранится в math_counter'е множится на 10 (сдвигается влево)
2) к нему в конец добавляется цифра нажатой кнопки
3) кнопка кричит маз каунтеру чтоб тот подготовил наш код для проверки.

и так до 9-й кнопки. Единственное отличие аутпутов каждой кнопки в аутпуте Add, оно равно номеру кнопки:



В нулевой кнопке писать Add 0 бессмысленно, по этому просто удаляем этот аутпут. 

В кнопке сброса пишем так:



Аутпут math_counter'а: (по приказу кнопки (GetValue) код передается в компаре для сравнения и сразу сравнивается с нашим эталонным кодом):



..и если тот говорит что код совпал- выдает аутпут чтоб к примеру открылась дверь:



Если вы хотите:
  • чтоб вводимый код 666 открывал дверь, а 777 открывал окно- просто создаем дубликат logic_compare с таким же именем, вписываем туда свой еще один код и меняем аутпут. И не забывайте единичку в начале кода!
  • сменить проверяемый код во время игры (аутпутом)- подаем аутпут SetCompareValue: 1N, (где N-ваш код) на logic_compare.

Готовую карту и исходник можно качать от сюда. Удачи!

Stridemann (Руслан Рыбка).
Категория: На движке Valve Source | Добавил: stridemann (19.01.2014)
Просмотров: 406 | Комментарии: 1
Всего комментариев: 1
1  
Спасибо, Руслан!

Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Форма входа

Поиск

Друзья сайта

Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0

© 2017, MonoLife Сайт создан в системе uCoz