Отправлено: 07.04.09 11:33. Заголовок: Создаем бегающих персонажей
Как говорится, генералы не бегают, поскольку в мирное время это вызывает смех, а в военное – панику. Причин, которые заставляют людей носиться, сломя голову, множество, но мы рассматривать все не будем – возьмем два противоположных варианта: страх и любовь (то есть бег от игрока и к нему соответственно).
Но вначале немного теории. Чтобы создать бегающего человечка, нам нужны две основные скриптовые команды действий:
runfore=значение ускорения animate=5
Первая команда заставляет персонажа бежать вперед, вторая анимирует это неподобство. Для runfore я не советовал бы ставить значение выше 30, потому как человек неестественно ускоряется, хотя если использовать скрипт монстряков или предметов, то что же, все может быть. Вместо animate=5 с тем же успехом можно использовать любую команду быстрого перемещения (значения параметра: 5 – бежать, 35 – бежать вприсядку, 55 – бежать с оружием, 85 – бежать вприсядку с оружием)
Страх.
Если ты хочешь создать персонажа, который, едва завидев игрока, бросается в бегство – нет ничего проще. Можешь воспользоваться следующим скриптом. Показать скрытый текст
А теперь разберем, что к чему, что можно менять на свое усмотрение, а чего не стоит. Первая строка – смена состояния, это не важно. Вторая и шестая – нервы персонажа для создания эффекта перепуга (частота мотания головой по сторонам) – вначале лишь 35, потом 85 (значение параметра rotateheadrandom). Третья – если игрока видно, то обработать его как цель. Четвертая и пятая – как реагировать на цель (повернуться к цели, развернуться и бежать (ускорится), проигрывая анимацию бега). Седьмая - если перс отбежал на 4 квадрата (plrdistfurther=400), то остановиться, развернуться и анимировать безделье. Восьмая - если игрок подошел ближе, чем на 4 квадрата, обработать его как цель и реагировать. Условие plrcanbeseen можно заменить любым другим, таким как вход в тригерзону, или приближение на определенную дистанцию, если уж моделпаки у всех одинаковые, давай хоть скрипты у всех будут разнообразные.
Любовь.
Несложненький скрипт, тоже основанный на условии, что перс видит игрока. Персонажу поставь скорость 150 (параметр Speed), так он будет смотреться натуральней – все равно, он кроме бегать и стоять, ничего не умеет. Это вообще традиционный скрипт союзника, только с тем отличием, что если персонаж увидел игрока на расстоянии более 1 квадрата, он с радостью кинется ему навстречу, ну а уж дальше - не бросит.
Ну и анализ скрипта. Первая строка – смена состояния, это не важно. Вторая – нервы персонажа для создания эффекта поиска человека (частота мотания головой по сторонам). Третья – если игрока видно, то обработать его как цель. Четвертая и пятая – как реагировать на цель (повернуться к цели, и бежать к ней (ускорится), проигрывая анимацию бега). Седьмая - если игрок рядышком, то остановиться и анимировать безделье. Восьмая – если игрок отошел дальше, чем на квадрат, следовать за ним с анимацией бега.
Ах да, скрипты сохраняй в нужную папочку и ставь персонажам в Main.
Скрипты рассчитаны на обычных прохожих, то есть на скрипт стрельбы ссылок в скриптах нет, но на врагов приспособить их особого труда не стоит (допиши команду shootplr в нужное место и всё). Например, для первого скрипта можно сделать, чтобы враг, отбежав на 4 квадрата, начал палить в ГГ. Замени 7 строку на вот такую:
и все, у тебя есть пугающийся бегающий враг. Скрипты работают на любой версии, и в текущем варианте не нуждаются в дополнительных звуках или элементах HUD.
Сообщение: 1017
Настроение: Зимою снова на пивных бутылках лёд, потому что Никита и не курит, и не пьёт!
Зарегистрирован: 24.06.09
Откуда: Пофигизия, Санкт-Петербург
Репутация:
13
Фото:
Отправлено: 30.01.11 21:33. Заголовок: Во всём есть что-то ..
Оффтоп: Во всём есть что-то хорошее! За то мы знаем как сделать лунную походку теперь!
Все даты в формате GMT
5 час. Хитов сегодня: 1
Права: смайлы да, картинки да, шрифты нет, голосования нет
аватары да, автозамена ссылок вкл, премодерация вкл, правка нет