Местоположение ентити не имеет значения. Настраивается и действует схожим образом с предыдущей.
Name - имя для активации. Активатором может быть что угодно.
Target - имя ентити, которая сработает после завершения фразы. Это может быть, например, ответная реплика другого монстра.
Sentence Name - имя звукового события, т.е., описание звукового файла для фразы. Не забудьте в начале поставить восклицательный знак и писать имя события заглавными буквами.
Speaker Type - по аналогии, имя объекта, который произнесет фразу
Sentence Time - время звучания. Скорее всего, служит показателем, как долго объект будет смотреть на слушающего.
Lishtener Type - имя слушающего монстра. Например, другого ученого. Во время реплики они будут смотреть друг на друга. Если слушателем выступает игрок, то напишите здесь player.
Если слушатель будет слишком далеко, то реплика не прозвучит.
Нам надо знать специальное имя звукового события. Это не совсем то же, что и имя wav-файла, а, скорее, их группа. Опять лезем в pak0.pak и в папке sound находим файл sentences.txt, внутренности которого имеют примерно такой вид:
SC_IDLE0 scientist/ipredictedthis
SC_IDLE1 scientist/containfail
SC_IDLE2 scientist/chaostheory
Сначала заглавными буквами идет имя самого звукового события, которое мы подставим в scripted_sentence, а потом, через пробел, список wav-ок без расширения, которые по очереди програются в этом событии. В данном примере их только по одному, но в звуковых событиях десантников вы увидите их массовое использование. Учтите, что для каждого монстра существует своя группа событий - для ученых их имена начинаются на SC, для барни - на BA, для десов - HG, и так далее.
Если вы будете добавлять свои речи, не забудте их также прописать по аналогии в этом файле, который приложите к своему моду.
Может быть использовано для передвижения монстров.Описание поможет вам сделать самые простые скрипты : учёный помашет вам рукой после прохождения триггера.
Name (targetname) – имя для активации. Активатором может быть что угодно.
Target (target) - имя ентити, которая сработает после завершения анимации.
Killtarget (killtarget) - Впишите сюда имя объекта, который необходимо уничтожить (удалить) после завершения анимации..
Delay (delay) – сколько монст будет ждать после окончания анимации.
Target Monster (m_iszEntity) – Введите сюда имя любового монстра, которое вы писали
в Name другого монстра или же тип например: (monster_barney).
Action Animation (m_iszPlay) – Анимацию которую монстр проиграет после активации скрипта.
Idle Animation (m_iszIdle) Анимация которую монстр будет играть перед тем как активируют скрипт ВНИМАНИЕ!!!(чтобы ето работало надо чтобы было заполнено поле Name (targetname)).
Search Radius (m_flRadius) – скрипт будет искать тип монстра в етом радиусе.
Заметка:. Если хотите чтобы скрипт активировался триггером, задайте Search Radius значение 0.
Repeat Rate ms (m_flRepeat) – Через какое время он будет повторять поиск монстра.
Move to Position (m_fMoveTo) – Выберите как он будет двигаться. Вот список доступных комманд:
No (0) – Монстр останется на месте.
Walk (1) – Пойдёт к пункту назначение то есть к следующему скрипту.
Run (2) - Побежит к пункту назначение то есть к следующему скрипту.
Instantaneous (4) – переместится к пункту назначение то есть к следующему скрипту.
No - Turn to Face (5) – повернётся лицом к нему.
Флаги :
Repeatable (4) – Это позволит активизировать скрипт много раз.
Leave Corpse (8) – анимация остановится и монстр исчезнет если вы его убьете.
No Interuptions (32) – Монстру будет всё равно даже если вы внего выстрелите.
Overide AI (64) – незнаю зачем ето но я думаю что лучше ето поставить.
No Script Move (128) – после окончания скрипта монстр останется на месте.
ToMMuK писал: анимация остановится и монстр исчезнет если вы его убьете.
Не исчезнет, а станет трупом.
Цитата:
ToMMuK писал: незнаю зачем ето но я думаю что лучше ето поставить
это для того, чтобы события АИ не влияли на скрипт. Например, увидев врага, монстр все равно будет выполнять скрипт. Обычно используется вместе с флагом No Interuptions.
fire64 Помнишь, в хл1 были места, когда зомби жрёт труп, или собака спит. А когда ты подходишь - они начинают буянить. Вот Idle Animation как раз для этого и нужен.
Т.е. пока ты не активируешь триггер или монтировкой не долбаёшь жертва будет играть анимацию Idle Animation.
-=DrTressi=-, т.е. фактически только одному scripted_sequence можно задать Idle Animation?
Добавлено 10-11-2012 в 14:25:
Так, еще проблема
Если в aiscripted_sequence у параметра Move to Position стоит значение Instantaneous то скрипт вроде как выполняется, NPC переносится в нужное место, при этом скрипт зацикливается и естественно Target не вызывается.
Разобрался, оказывается даже при прямом переносе всеравно требуются info_node
__________________
Вся сила лысого кощея,
Сокрыта в башне из костей
Воздвигнутой, под небесами
На месте похорон людей
Ну почему же, задть то можно нескольким. Прост система работает так, что если ты списал что-то в Idle Animation - то пока ты не активируешь скрипт монстр будет проигрывать эту анимацию. А как только ты активируешь скрипт - он выполнит Action Animation. Всё просто.