| Добавил: KOT 2013-01-05 16:47:23 249 просмотров Всем привет! Недавно я столкнулся с проблемой создания дверей, открываемых ключами и картами. Сегодня я хочу показать вам самые простые способы их создания. Для этого нам понадобятся следующие энтити-объекты: func_door func_button game_text cycler_sprite multi_manager trigger_changetarget env_render Шаг 1 Создаем тестовую комнату и разделительную стену, одна часть у нас будет пустая, а в другой будет находится спаун игрока и непосредственно модель ключа. В разделительной стене делаем дверной проем и вставляем туда func_door. Выставляем параметры, выделенным шрифтом показаны необходимые: [ Цитата ] Name: dr1 Move sound: Vacuum Stop sound: Light airbrake Lip: 4 Рядом создаем func_button. При нажатии USE на кнопку будет высвечиваться сообщение о том, что доступа нет. Сначала прописываем параметры: [ Цитата ] Name: bt1 Target: gt1 Sounds: Keycard sound Флаги: Don’t move Затем делаем следующее: Шаг 2 Создаем game_text. Присваиваем ему имя, которое вы указали в параметре Target у энтити func_button, а именно gt1. [ Цитата ] Name: gt1 Message text: ACCESS DENIED Шаг 3 Нужно вставить на карту модель ключ-карты, я взял с hl-lab самую обыковенную. Создаем cycler_sprite, прописываем путь до модели. [ Цитата ] Name: mdl1 Sprite/model path/name: models/keycard.mdl Прямо поверх модели создаем брашевую энтити trigger_once. Она будет активировать multi_manager, который в свою очередь будет активировать trigger_changetarget и env_render. [ Цитата ] Target: mm1 Шаг 4 Создаем multi_manager: [ Цитата ] Name: mm1 Targets: Key: tcht1; Value: 0 Key: er1; Value: 0 Шаг 5 Создаем trigger_changetarget. Он нам нужен, чтобы дверь открывалась после поднятия карты. Параметры: [ Цитата ] Name: tcht1 Target: bt1 New target: dr1 Еще нам нужен env_render, который будет делать карту невидимой после поднятия, его имя мы указали в параметрах multi_manager. [ Цитата ] Name: er1 Target: mdl1 Render Mode: Texture FX Amount: 0 На этом все, компилируем карту и запускаем ее. Тэги: | |