S.T.A.L.K.E.R. Wiki: Zone Chronicles
Advertisement
S.T.A.L.K.E.R. Wiki: Zone Chronicles

Триггер (англ. trigger, спусковой крючок) — в компьютерных играх механизм, проверяющий присутствие каких-либо объектов игрового мира в заданном пространстве или расстояние от этих объектов до специальной точки. При выполнении условий (например, объект находится в триггерной зоне и этот объект — игрок) срабатывает определённое событие или цепь событий (скрипт).

Введение[]

Из раскрытого выше понятия триггера следует понимание, что Trigger Sounds (букв. триггерные звуки) это статические звуки с чётко определённым местоположением, которые срабатывают при вхождении игрока в зону триггера (зону срабатывания) этого звука. Далее приведено исследование реализаций триггерных звуков в бета-сборках, и в финальной версии игры.

Реализация в старых сборках 2003-2004 года[]

Откуда что пошло?

Старый сюжет, локация Кордон. О казарме на военном блокпосту.

6. В домике активационная зона, которая издаст громкий звук скрипнувшей половицы (звук половицы)

  • Игрок вступает в зону активации (звук скрипнувшей половицы)
  • Солдаты испуганы («Там! В дддомике кто-то есть!»)
  • Один из солдат предполагает, что это в разваленный дом забрался сталкер (как раз там, где спрятался игрок)
  • Он убеждает напарника пойти проверить, но тот всеми силами отказывается.
  • Когда же он решается проверить, то подходит практически вплотную к дверному проему (лунный свет бросает тень в проем, возле притаившегося игрока), но потом, испугавшись, решает не проверять.
  • Он кричит, что никого нет, и возвращается к первому солдату.

В сборке 1935 в казарме на блокпосту военных действительно присутствуют статические триггерные звуки, отыгрывающие звуки скрипящих половиц в тех местах, где смоделированы гнилые проваливающиеся доски. Такие звуки ещё можно наблюдать внутри домов в деревне.

Gnilye doski

Те самые скрипящие доски.

Вместе со сборкой 1935 идёт SDK с исходными сценами уровней. Используя эти исходники можно обнаружить на уровне Кордон зеленые сферы имеющие название sound_zone_номер. Это и есть script_zone (скриптовая зона). Для проигрывание какого-то события через script_zone использовалась Сustom data уровня (файл level.ltx). Файл находится в папке уровня. В файле level.ltx Кордона сборки 1935 находится такое содержимое:

 ; level script file
[level_scripts]
script = scr_trader, escape_raids, escape_sound_events, escape_raid_heli, level_news, escape_patrol2

[level_map]

В секции [level_scripts] находится скрипт использующийся для упомянутых выше sound_zone_номер. Он называется escape_sound_events.script и именно в нём прописано условие срабатывания триггера.

Открыв файл escape_sound_events.script можно обнаружить код наподобии:

function main()
...
xr_events.SoundEvent( get_level_object( "sound_zone_01" ), actor, "ambient\\floor_creak1", ... , "ambient\\floor_creak3")
...
end

SoundEvent — специальная функция звуковых оповещений, в том числе для проигрывания звука «под ногами». Код ( get_level_object( "sound_zone_01" ) обозначает какой объект спавна задействуется в данной функции (sound_zone_01), инициатор (кто вызывает срабатывание, actor) и перечень проигрываемых звуков. Их несколько, а далее xr_events.SoundEvent производит случайный выбор.

Реализация в Тени Чернобыля[]

В течении разработки от вышеописанного метода проигрывания звуков посредством триггера отказались в пользу space_restrictor Код для проигрывания звуков писался в Сustom data space_restrictor. Например:

[logic]
active = sr_idle

[sr_idle]
on_actor_inside = sr_sound@floorcreak

[sr_sound@floorcreak]
type = floor_wooden
play_at_actor = true

Как это работает: Основная секция [logic]: условие активации — смотреть в секции *имя*

Секция активации [sr_idle]: при вхождении игрока зону (событие on_actor_inside) — выполняется, что находится в секции *имя*. При этом префикс sr_sound указывает нам на то, что под секцией лежит схема звукового space_restrictor-а. Поэтому движок будет искать в секции параметры именно этой схемы, а не какой-то другой.

Секция исполнения sr_sound@floorcreak: тип звука — деревянный пол, следующая строка — указание, что проигрываем звук от позиции игрока.

Что такое «тип» и где же тут сами звуковые файлы? Тип это «пред-установка», то есть указание типа подразумевает проигрывание случайно выбранного звука, из набора, перечисленного в описании типа.


Галерея[]

Advertisement