Добавлен , опубликован
Я вставил в свою карту MOUSE2/char/char_campbell и планирую над ним слегка поиздеваться, дело в том, что с помощью path мы можем заставить нашего подопытного кролика делать следующие вещи (тобиш описываю типы path):
  • path_anim: Проиграть определенную анимацию (например, стоять, говорить, бежать, получать боль (или допустим у Импа есть анимация - кушать (в игре он ел толстого зомби))), анимация которую должен проиграть char должна содержаться в параметре "anim";
  • path_attack: Атаковать кого-то, выбираем имя противника в параметре "enemy" и соответственно когда дойдет очередь до выполнения этого path наш подопытный начнет разыскивать и в последствии замочит выбранного врага;
  • path_conversation: Подопытный смотрит на определенный объект и воспроизводит определенный звук (желательно речь :D), в параметре "snd_dialog" выставляем имя звука с диалогом, в параметре "focus" пишем имя entity на кого пялиться;
  • path_conversation_listen: Наш подопытный будет смотреть на определенный entity, который воспроизводит речь и будет ждать пока он закончит, в параметре "focus" пишем имя того кого мы собственно внимательно слушаем, интересная вещь - мы можем выбрать анимацию (параметром "anim"), которую мы будем воспроизводить пока слушаем entity, тобиш мы например можем вписать анимацию боли и получиться что нас колбасит от разговора с кем-то :);
  • path_corner: Самый нужный path, именно к нему мы будем идти. Из цепи таких path мы можем сделать путь, по которому будет идти наш подопытный (очень полезно при создании сингл карт - делаем, чтоб реалистично топтались NPC, а не в тупую стояли как вкопанные);
  • path_cycleanim: Тоже самое, что и path_anim но только анимация будет проигрываться бесконечно, и прекращаться по истечении определенного количества времени (параметр "wait"), или до тех пор пока не обратиться к нему триггер;
  • path_default: Недоразумение в мире path, любое его использование приводит к ошибке;
  • path_headanim: Проигрывает анимацию головы во время ходьбы (например, наш подопытный с кем-то говорит на ходу);
  • path_hide: Скрывает нашего подопытного (например, он проделает определенные действия по path и уже не нужен - тобиш будет скрыт, а если и понадобится, то триггером можно его обратно проявить, или path_show);
  • path_jump: Прыгает к следующему path (тобиш тому, кто позначен в параметре "target");
  • path_lookat: Смотрит на определенный entity (параметром "focus"), выставленное количество времени (параметром "wait"), или пока к нему не обратится триггер;
  • path_show: Проявляет нашего подопытного (например, если он был скрыт path_hide или имел параметр "hide" - "1");
  • path_talk: Заставляет подопытного поговорить с нами;
  • path_talk_primary: Заставляет подопытного сказать нам его главную анимацию речи;
  • path_talk_secondary: Заставляет подопытного сказать нам его второстепенную анимацию речи;
  • path_talk_triggered: Заставляет подопытного сказать нам его затриггеренную анимацию речи;
  • path_turn: Поворачивает подопытного на определенный угол (параметр "angle");
  • path_wait: Просто определенное количество времени простоять без действия (параметр "wait");
  • path_waitforheadanim: Ждать анимации головы после использования path_headanim, параметром "focus" указываем на кого смотрим;
  • path_waitfortrigger: Ждать обращения триггера к подопытному, после обращения триггера продолжит свой путь по path;
Также существует отдельный ряд path для управления setry (такой чупик - за нами ходит, охраняет, указывает путь):
  • path_sentry_ignore_player: Перестает следовать за игроком и идет на свой следующий path;
  • path_sentry_lead_player: Начинает следовать за игроком и идет на свой следующий path
  • path_sentry_light_off: Выключает фонарик;
  • path_sentry_light_on: Включает фонарик;
  • path_sentry_shutdown: Завершить работу, до следующей активации триггером;
  • path_sentry_unlock_door: Подходит к данному path и воспроизводит анимацию открытия двери, в параметре "trigger" нужно выставить target_lock объект, открывающий дверь.
Кажись все, ну а теперь самое главное - как ими пользоваться?
Очень просто. Они действуют по типу цепи - мы у нашего подопытного указываем параметр "target" и в его значении пишем имя первого path нашей цепи, потом указываем параметр "target" уже у нашего первого path и в значении указываем имя следующего и так далее до посинения, можно также поставить в loop, выставив в параметре "target" последнего path имя первого path, ошибки не будет.
Теперь об ошибках - они будут и в больших количествах, если наш подопытный не может сделать определенный вид действия, например, прыгать, говорить, практически все могут выполнить path_corner.
И на последок разберемся с еще одной вещью - у каждого типа path есть свои немаловажные подпараметры (как, например, сила в path_jump) и их нужно обязательно выставить (если они нужны), во избежание глюков, также хочу сказать что есть несколько общих параметров у всех path (параметр - описание):
skip - пропустить данный path и перейти к следующему, если к подопытному заговорят или будет услышан выстрел;
no_talk - не разрешать говорить с подопытным пока не закончит делать path действие;
no_cower - не разрешать NPC прикрываться как девчонка когда будет услышан выстрел;
trigger - объект, который нужно затриггерить когда будет закончено path действие;
target - имя следующего path из цепи.
Также хочу сказать, что у любого character есть параметр "wander", если его активировать, то он будет посещать path случайно. Все, думаю более подробно освещать тему path не нужно, поскольку все и так понятно. Если что-то не получается то вы можете всегда скачать мою тестовую карту с path и посмотреть что вы сделали не так: