Отправлено: 29.08.08 22:44. Заголовок: Создаем уровень на время
Значит, как реализовать на нашем движке уровень на время? Например, чтобы осуществить защиту при осаде укрепления или выполнение задачи за определенное время. Используем несложный скрипт, основанный на таймере.
Вариант 1: Продержаться три минуты. Создаем на карте тригерзону, которая будет находится в месте появления игрока. Также создаем винзону в изначально недоступном для игрока месте.
Первая строка описывает звук секундомера, который будет постоянно тикать на уровне. Следующие пять строчек прописывают настройки рисунков с сообщениями, которые будут сообщать игроку, что до окончания осталось 3, 2, 1 минуты, 5 секунд и что он дождался конца. Шестая строка запускает таймер, седьмая, девятая, одиннадцатая, тринадцатая, четырнадцатая показывают вышеуказанные рисунки по достижению определенного времени, восьмая, десятая, двенадцатая и четырнадцатая соответственно убирают эти рисунки с экрана. Пятнадцатая строка перемещает игрока к винзоне, которая учитывает, что уровень пройден. Чтобы игрок те полсекунды, которые проходят до срабатывания винзоны, не сообразил, что его переместили (он же ни с того, ни с сего увидит сегменты, окружающие винзону), мы в этой же строке отключаем освещение на уровне.
Вместо этого скрипта можно использовать упрощенный, без сообщений:
:always:loopsound=audiobank\switches\click.wav :state=0:timerstart,state=1 :state=1,timergreater=180000:ambience=0,ambienceblue=0,ambiencered=0,ambiencegreen=0,plrmoveto=win zone
;End of Script
Игрок может находится где-угодно на уровне, но по окончанию трех минут он переместится к винзоне. Вместо нее можно использовать и тригерзону или сторизону, но выставьте параметр IsObjective - 2 и измените имя зоны на «win zone». Также можно изменить время выполнения уровня (команда timergreater=, выставляем количество секунд, учитывая, что 1 сек=1000).
Вариант 2. Успеть за три минуты Так же само создаем на карте тригерзону, которая будет находится в месте появления игрока, ей в Main ставим скрипт:
Это тот же скрипт, но с другой концовкой – тут, когда выйдет время, с игрока сначала скинется 500 хитпойнтов – это, чтобы показать экран ранения и чтобы он упал, а потом секундой спустя начнется новая игра. Опять же, скрипт подходит только, если вы используете привычную одножизненную шутерную систему, а не стандартную трехжизненную аркадную, как заложено в конструкторе. В бете 1.13 появилась не совсем нужная команда plrsubhealth=, которая аналогична команде plraddhealth=, но с положительным значением.
И снова игрок может находится где-угодно на уровне, но по окончанию трех минут, если он не добежит до винзоны или не выполнит поставленные цели, он погибнет. Так само можно изменить время выполнения уровня (команда timergreater=, выставляем количество секунд с учетом, что 1 сек=1000).
Отправлено: 10.12.08 00:44. Заголовок: Какой-то скрипт не п..
Какой-то скрипт не правдоподобный. Время кончается и ты без предупреждения раз и умираешь. Что-то на видео я таймера не увидел (или таймера там и не должно быть )
Все даты в формате GMT
5 час. Хитов сегодня: 0
Права: смайлы да, картинки да, шрифты нет, голосования нет
аватары да, автозамена ссылок вкл, премодерация вкл, правка нет