В этом уроке вы...
Узнаете новые команды
Потренеруитесь в написании скриптов
и научитесь создавать "закольцованные" скрипты Стадия №1.
Делаем уровень Создадим стандартную комнату размером 5х5 клеток. Поместим в один из углов маркер Player Start. Установим в его свойствах следующие значения: Теперь добавим парочку столов и поместим на них два объекта: аптечку (small_health_2) и испорченный банан (small_health_1). В итоге у нас должно получиться примерно следующее: На этом стадия №1 закончена. Стадия №2.
Пишем скрипты. Создадим новый файл health.fpi, поместим в папку Files/scriptbank/user. В самом же файле напишем след. скрипт: Разместим триггер зону в любом месте уровня. Укажем в свойствах зоны в поле Main путь к нашему скрипту.
Теперь создадим новый файл medkit.fpi и напишем в нем следующее: Поместим этот скрипт аптечке в поле Main.
Теперь создадим еще один скрипт death.fpi с след. кодом: Этот скрипт поместим нашему банану в поле Main.
Сохраняем наш уровень.
На этом стадия №2 закончена. Стадия №3.
Пытаемся разобраться. Итак, рассмотрим наш первый скрипт: Первое на что надо обратить внимание - в конце скрипта стоит условие state=0. Это значит, что скрипт "закольцованный", т.е. он не единичный, а повторяющийся постоянно. Разберемся, что делает наш скрипт. Первая строка: условие у нас всего одно - state=0, т.е. действие этой строки выполняется всегда, т.к. условие state=0 всегда истинно. Действие первой строки: команда timerstart - запускает таймер. Если же до этого в другом скрипте у вас уже был таймер, то он перезапуститься и начнуться глюки.
Во второй строке есть новое условие - timergreater - если прошло х времени от запуска таймера. Само время указывать в миллисекундах. По условию нашего скрипта, когда проходит одна секунда после запуска таймера, то игроку добавляется - 1 ед. здоровья. За добавление здоровья игроку отвечает команда plraddhealth. В конце второй строки, скрипт снова возвращается к началу (state=0). Таймер снова перезапускается и через секунду снова вычитает 1 ед здоровья. Урок сделан:Extensive Эта статья была полезной? Не забудь повысить репутацию Yood19!