HLFX.Ru Forum
Показать все 11 сообщений этой темы на одной странице

HLFX.Ru Forum (https://hlfx.ru/forum/index.php)
- Half-Life SDK (https://hlfx.ru/forum/forumdisplay.php?forumid=8)
-- Scripted_sequence и scripted_sentence (https://hlfx.ru/forum/showthread.php?threadid=410)


Отправлено ToMMuK 07-10-2006 в 08:40:

Half-Life Scripted_sequence и scripted_sentence

И так начнём с скриптед_сентенсе :

scripted_sentence

Местоположение ентити не имеет значения. Настраивается и действует схожим образом с предыдущей.

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, и так далее.

Если вы будете добавлять свои речи, не забудте их также прописать по аналогии в этом файле, который приложите к своему моду.

Добавлено 07-10-2006 в 15:40:

Scripted_sequence поможет вам задать анимацию монстрам.


Может быть использовано для передвижения монстров.Описание поможет вам сделать самые простые скрипты : учёный помашет вам рукой после прохождения триггера.


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) – после окончания скрипта монстр останется на месте.

__________________
Сайт латвийского мода

Игроки в халф лайф делятся на две больше группы - те, кто не доехал на поезде и те, кто прошел несколько раз.


Отправлено XaeroX 07-10-2006 в 12:59:

Цитата:
ToMMuK писал:
анимация остановится и монстр исчезнет если вы его убьете.

Не исчезнет, а станет трупом.
Цитата:
ToMMuK писал:
незнаю зачем ето но я думаю что лучше ето поставить


это для того, чтобы события АИ не влияли на скрипт. Например, увидев врага, монстр все равно будет выполнять скрипт. Обычно используется вместе с флагом No Interuptions.

__________________

xaerox on Vivino


Отправлено BUzer 07-10-2006 в 14:06:

мдя..
http://xash.ru/index.php?action=addcomment&articleid=8

Часть про скриптед сентенце идет почти без изменений из моей статьи


Отправлено XaeroX 07-10-2006 в 15:05:

BUzer а, точно. совсем забыл

__________________

xaerox on Vivino


Отправлено ToMMuK 07-10-2006 в 15:38:

Скриптед сентенце я брал с какогото сайта а секвенс я переводил с английского.

__________________
Сайт латвийского мода

Игроки в халф лайф делятся на две больше группы - те, кто не доехал на поезде и те, кто прошел несколько раз.


Отправлено fire64 10-11-2012 в 09:45:

Мда, что-то у меня не то.
Поместил на карту scripted_sequence

Задал ему имя, Target Monster и Idle Animation
В Search Radius выставил 0


Какого черта NPC выставляется Idle Animation сразу при загрузке карты, если сам scripted_sequence нигде не вызывается?

__________________
Вся сила лысого кощея,
Сокрыта в башне из костей
Воздвигнутой, под небесами
На месте похорон людей


Отправлено -=DrTressi=- 10-11-2012 в 09:53:

fire64 Помнишь, в хл1 были места, когда зомби жрёт труп, или собака спит. А когда ты подходишь - они начинают буянить. Вот Idle Animation как раз для этого и нужен.

Т.е. пока ты не активируешь триггер или монтировкой не долбаёшь жертва будет играть анимацию Idle Animation.

__________________
How interesting, just look at that!
© Scientist


Отправлено fire64 10-11-2012 в 10:25:

-=DrTressi=-, т.е. фактически только одному scripted_sequence можно задать Idle Animation?

Добавлено 10-11-2012 в 14:25:

Так, еще проблема

Если в aiscripted_sequence у параметра Move to Position стоит значение Instantaneous то скрипт вроде как выполняется, NPC переносится в нужное место, при этом скрипт зацикливается и естественно Target не вызывается.

Разобрался, оказывается даже при прямом переносе всеравно требуются info_node

__________________
Вся сила лысого кощея,
Сокрыта в башне из костей
Воздвигнутой, под небесами
На месте похорон людей


Отправлено -=DrTressi=- 10-11-2012 в 15:14:

fire64

Цитата:
fire64 писал:
фактически только одному

Ну почему же, задть то можно нескольким. Прост система работает так, что если ты списал что-то в Idle Animation - то пока ты не активируешь скрипт монстр будет проигрывать эту анимацию. А как только ты активируешь скрипт - он выполнит Action Animation. Всё просто.

__________________
How interesting, just look at that!
© Scientist


Отправлено thambs 10-11-2012 в 17:55:

-=DrTressi=-

а есть способ заставить монстра выполнять idle animation после цепочки скриптов?

__________________
http://www.moddb.com/mods/monorail-quest


Отправлено 4.E.6.Y.P.A.III.K.A 04-06-2023 в 15:34:

Выставил Search Radius на 0, но scripted_sequence всё равно срабатывает без триггера, нужно чтобы только после активации триггера.

ОБНОВЛЕНО: Если хотите, что NPC стоял до активации триггера, поле Search Radius оставьте пустым!


Временная зона GMT. Текущее время 01:52.
Показать все 11 сообщений этой темы на одной странице

На основе vBulletin версии 2.3.0
Авторское право © Jelsoft Enterprises Limited 2000 - 2002.
Дизайн и программирование: Crystice Softworks © 2005 - 2024