GSC|MOD-Народный портал модостроения
PDA
Гость - Гости
Дата: 17.11.2017
Непрочитанных ЛС:
Гость - Гости
В Зоне: -дней
Пропуск №:
Гость - Гости
День рождения:
Ваш IP: 54.198.2.110
Музыка S.T.A.L.K.E.R.
Мини-чат
Друзья сайта
Наш опрос
Оцените мой сайт
Всего ответов: 1154
Статистика
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
Страница 1 из 11
Модератор форума: Uk 
Форум » Модостроение » Модостроение от А до Я » Схемы рестикторов (Настройка логики)
Схемы рестикторов
РостянДата: Четверг, 21.03.2013, 18:27 | Сообщение # 1
Руководитель команды модостроителей UM-ST-MOD Team
Группа: Администраторы.
Сообщений: 130
Репутация: 300
Статус: Offline
Схема [sr_idle]    Предназначение данной схемы – включить другую схему при
срабатывании одного из стандартных условий логической схемы.
Сама по себе схема
ничего не делает.
Пример настроек
рестриктора:

[logic]
active = sr_idle

[sr_idle]
on_actor_inside = nil %+esc_actor_inside%

Обратите внимание, что после
срабатывания проверки активная схема переключается в nil, чтобы не продолжать бесполезную
проверку на каждом апдейте. Можно не задавать nil.
Часто эта схема работает вместе
со спавнером, рестриктор выдает инфопоршн, при входе в зону, а спавнер по нему
уже кого-то спавнит.

файл \gamedata\scripts\sr_idle.script

Секция [sr_no_weapon]Данная схема убирает оружие у
игрока при входе в зону.
Пример настроек рестриктора:

[logic]
active = sr_no_weapon

[sr_no_weapon]

файл \gamedata\scripts\sr_no_weapon.script

Секция [sr_sound],
snd = Перечень имён звуков
разделенных запятыми.

type = Типы звуков через запятые.
Для удобства введены типы наборов звуков. Т.е., например, чтобы не перечислять
каждый раз весь набор звуков скрипа деревянного пола, можно указать тип
floor_wooden.

*delay = Задержка перед
проигрыванием звука в секундах реального времени, по умолчанию 0.

*idle =  Длина периода игнорирования входа в зону
после начала последнего проигранного звука. Чтоб, например, завывание было не
чаще, чем раз в несколько минут. В секундах игрового времени. По умолчанию 0.

*rnd = Вероятность (в процентах)
того, что звук отыграется. По умолчанию 100.

*position = Задает имя пути, в
вершинах которого может отыграться звук. Есть зарезервированное значение
random. Оно означает случайное место в радиусе 15…50 метров от игрока. Если
этот параметр не задан, то подразумевается позиция игрока.

*slide_velocity = Скорость (м/с)
передвижения звука по точкам патрульного пути. По умолчанию - 3

*slide_sound_once = true\false
true
- проиграть звук один раз, даже если он не дошел до последней точки пути.
false
– если звук закончился, а до последней точки пути не дошел, запустить его ещё
раз. По умолчанию false.

*play_at_actor = true/false Заставляет звук
играться от позиции актера постоянно. Если он будет

равен true и
будет задан путь перемещения звука (или рандом), то мы тупо вылетим.

Предназначение данной схемы: отыграть
звук при входе актёра в рестриктор.

Поддерживается
sound_end.

Обязательно нужно задать либо
snd, либо type. Можно их задать вместе. На базе этих параметров составляется
список звуков. При входе актёра в рестриктор отыгрывается случайный звук из
этого списка.

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

Пример настроек рестриктора:

[logic]active = sr_sound

[sr_sound]
type = floor_wooden
snd = ambient\wind1, ambient\sparks1
rnd = 50
position = random
idle = 120
delay = 3

Есть возможность сделать
«скользящий звук». Необходим патрульный путь. Звук начинает отыгрываться с
начала пути и перемещается от одной точки пути к другой (по мере их установки
на патрульном пути) со скоростью slide_velocity.

[logic]active = sr_sound

[sr_sound]
type = random
position = way
slide_velocity = 8
slide_sound_once = true

Файл \gamedata\scripts\sr_sound.script

Секция [sr_tip]Предназначение данной схемы –
давать игроку сообщение (подсказку) при входе в рестриктор

name = Название новости.
type = по умолчанию «news»
Тип  новостей: «news» – отсылается как глобальная
новость, «tips» - отсылается то имени sender-a
*sender = если тип = «tips», то
от sender задаёт условный строковый идентификатор иконки персонажа, от которого
якобы пришло сообщение. По умолчанию это иконка торговца.

*cond = Необходимые логические
условия, при которых подсказка сработает. По дефолту, сработает при входе в
зону.

*single = true/false (по умолчанию false). Если параметр в true, то типс будет выдан только один раз,

Пример настроек рестриктора:

[logic]active = sr_tip

[sr_tip]
name = tips_esc_trader_about_pda
type = tips
cond = {+infoportion1 –infoportion2 }
*showtime = msec – время в миллисекундах, в течение
которого сообщение будет находится на экране. – ПОКА НЕ
РАБОТАЕТ НОРМАЛЬНО!

Если необходимо проиграть только
1 раз, а это случается часто, то можно добавить следующую строку:
on_actor_inside = nil

файл \gamedata\scripts\sr_tip.script

Sr_light            Зона, в
которой фонарики у неписей будут включены независимо от времени суток.

Работает следующим образом:

[logic]active = sr_light

[sr_light]
light_on = true/false (свет включен/выключен)

Также работает вместе с кондлистом:

[logic]active = sr_light

[sr_light]
light_on = true/false (свет включен/выключен)
on_info = {+info1} section %+info2%

Sr_territory
Занимается эта схема тем, что
отлавливает всякие события, происходящие внутри рестриктора.
Пока что она отлавливает только
хиты и смерть сталкеров. Пример использования примерно следующий:

[logic]active = sr_territory@outside

[sr_territory@outside]
on_actor_inside = sr_territory@inside

[sr_territory@inside]
on_actor_outside = sr_territory@outside
territory_hit = {-bar_dolg_territory_1_hit}
%+bar_dolg_territory_1_hit%, {-bar_dolg_territory_2_hit}
%+bar_dolg_territory_2_hit%,
{-bar_dolg_territory_3_hit} %+bar_dolg_territory_3_hit%
territory_death = {-bar_dolg_territory_kill}
%+bar_dolg_territory_kill%

То есть здесь видно, что когда
игрок находится внутри рестриктора, то считается количество нанесенных хитов, а
также учитывается был ли кто-то убит или нет. Поскольку схема работает только с
игроком – то хиты и смерть засчитываются только от игрока.

Sr_mapspot
При входе в рестриктор он сам
себя подсвечивает на карте.

Параметры:
hint - id
подсказки в string table
(обязательный параметр)
location - название типа подсветки (не обязательный параметр, по
умолчанию "crlc_small")

Пример:

[logic]active = sr_mapspot

[sr_mapspot]
hint = “gar_swamp”
location = crcl_big

Sr_particle
Данная система отыгрывает
партиклы как статичные так и движущиеся в указанном месте и в указанное время.
Работет она следующим образом:

1) для партикловой
системы с путем камеры:
[sr_particle]
name = explosions\campfire_03          -имяпартикловой системы
path = particle_test.anm          -имя путикамеры
mode = 1                                       (обязательно
!!!)
looped = true/false                                    -флаг
зацикленности партиклов

(обязательно
с расширением ANM !!!) Здесь
партиклы будут молча перемещаться по пути.

2) для партикловой
системы с обычным патрульным путем:
[sr_particle]
name = explosions\campfire_03          -имяпартикловой системы
path = part_points                   -имяпатрульного пути
mode = 2                                       (обязательно !!!)
looped = true/false               -флаг зацикленности партиклов

В вейпоинтах можно
задавать флаг s=имя_звуковой_темы и d=число время задержки перед проигрыванием
(задается в миллисекундах. Если не задано, то 0). s - имя звуковой темы в sound_themes.ph_snd_themes
из которой будет случайно выбран звук для проигрывания во время проигрывания
партикла. Звук не зацикливается и играет только один раз.. Результат = партиклы
отыгрываются во всех вейпоинтах одновременно (или с задержкой см. выше).
При looped=true по окончании
проигрывания партиклов, они будут запускаться сначала, но уже без задержек.
Сигнал particle_end выдаваться не будет. При looped=false сигнал будет выдан,
когда все  источники партиклов отыграют.
Поддерживается кондлист. Если
рестриктор переходит в другую секцию, то автоматически перестают отыгрываться
партиклы и замолкают звуки при них. Этот рестриктор является объектом,
отслеживающим партиклы и нет никакой необходимости чтобы игрок в него заходил.

Sr_sound_act  Итого, схема,
которая играет саунд в голове актера. Всякие там переговоры по ПДА и прочие
фейки

[sr_sound_act]
snd =
ambient\random\new_drone1     --имя звукового файла
*delay
= 2000                          --задержка перед проигрыванием
*delay_max = 4000               --
между проигрыванием звука будет взят случайный промежуток между delay и delay_max.
*on_signal = sound_end | nil           --по
сигналу можно перейти в другую секцию.
theme
=  <имя темы из ph_sound_themes>
* stereo =
true/false (по умолчанию false). При установке этого параметра к файлу, который

задан параметром snd или в звуковой теме будут
добавляться (автоматически) суффиксы _r и _l для загрузки левого и правого каналов и, соответственно,
вся эта фигня будет играться.

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

Sr_timer
Пример использования:

[logic]active
= sr_timer@1

[sr_timer@1]
type = dec
start_value
= 10000
on_value =
0 | sr_timer@2

[sr_timer@2]
type = inc
on_value =
15000 | nil %+info1%

Описания полей:
type
- тип счетчика, инкриментирующий(inc) или декриментирующий(dec).
Если поле не задано -
счетчик будет инкриментирующий
start_value - начальное значение
счетчика в РЕАЛЬНЫХ милисекундах. Для декриментирующих счетчиков задавать
обязательно. Для инкриментирующих, если не задано, то считается с 0.

Переходы из секции sr_timer
могут быть как по обычным условиям (on_timer,
on_info) так и по специфическому условию on_value. В общем случае on_value Можно использовать для производства каких либо действий в
зависимости от состояния счетчика. Например:

on_value = 5000| %+info1% | 1000| %+info2%

Sr_psy_antennaЗоны с такой секцией позволяют управлять эффектами от
пси-воздействия (на Янтаре и Радаре). Сейчас можно управлять интенсивностью
излучения и интенсивностью получения повреждений.

Способ применения: Расставить зоны, в каждой зоне написать,
сколько процентов к интенсивности излучения и повреждения она
добавляет/отнимает. Зоны могут быть вложены друг в друга, пересекать друг
друга.

eff_intensity =            -
увеличение/уменьшение в % от базового значения интенсивности излучения.
hit_
intensity =           - увеличение/уменьшение
в % от базового значения наносимого повреждения.

Пример зоны, которая добавляет 70% излучения:

[logic]active =
sr_psy_antenna

[sr_psy_antenna]
eff_intensity
= 70
hit_
intensity = 70

Пример зоны, которая убирает 30% излучения:

[logic]active =
sr_psy_antenna

[sr_psy_antenna]
intensity = -30

Sr_teleport
Собственно, телепорт. Настраиваются следующим образом:

[logic]active = sr_teleport

[sr_teleport]
timeout = 0

point1 =
point1
look1 =
look1
prob1 = 10

point2 =
point2
look2 =
look2
prob2 =
20

где:
timeout
- задержка в срабатывании телепорта в миллисекундах.
point
- одноточечный патрульный путь куда переместить
look
- одноточечный патрульный путь куда повернуть.

Далее идут настройки точек назначения с удельными весами. То
есть в перечисленном выше примере
вероятность телепортнутся во вторую точку в
два раза выше, чем в первую. Максимальное
количество точек назначения - 10. Телепорты
необходимо ставить совместно с особой аномальной зоной, которую сейчас делает Проф. Зона добавит визуализацию и создаст
эффект втягивания.

Sr_sleepи настройка снов.
Появиласьвозможность задавать зоны сна.

[sr_sleep]
*cond
=
*type = nightmare/normal/happy/all - Задает тип сна разрешенный в данной зоне (по умолчанию all). Влияет (группирует)
только на несценарные сны.
*dream_prob = <число от 0 до 100> -
вероятность просмотра несценарных сновидений в данной зоне (по умолчанию 80). В
противном случае будет только черный экран.

Необязательное поле cond задает условие(я), при
котором в этой зоне можно спать. Сейчас производится индикация зон, где
разрешен сон. В левом нижнем углу отображается маленькая иконка легких при
входе в такую зону. Вероятно, позже будет изменена на другую.
Сновидения теперь делятся на
сценарные и обычные. Сценарные сновидения отыгрываются один раз при выполнении
необходимых условий. Обычные сновидения проигрываются, если нет сценарных или
ни одно условие выполнения сценарных не сработало. Можно задавать вероятность отыгрывания
обычных сновидений в целом, а также задавать вероятность срабатывания каждого
конкретного сновидения в отдельности. Обычным сновидениям можно задавать тип и
потом ограничивать по нему сны воспроизводимые в sr_sleep.

В файле misc\dream.ltx
задаются настройки снов.

Секция videos.
Полями задаются пути к
видеофайлам со снами.

Секция dreams. Поля:
regular_probability = <число от 0 до 100>
- вероятность проигрывания обычных сновидений в целом
regular - список секций с настройками
для обычных сновидений
scene - список секций с настройками для
сценарных сновидений

Настройки обычных сновидений:
dream - имя поля из секции videos
probability = <число больше 0> -
чем больше, тем больше вероятность проигрывания сна.
type = nightmare/normal/happy - тип сна.

Настройки сценарных сновидений:
dream - имя поля из секции videos
cond = - условия срабатывания
to_regular = <вероятность,тип> - необязательное поле. Дает
возможность переводить сценарный сон после первого отыгрыша в разряд обычных.
<вероятность, тип> аналогичны probability и type
из настроек обычных сновидений соответственно.

Sr_cutscene            Эта схема
предназначена для проведения анимации камеры c некоторым эффектом
(pp_effector). Последовательность
действий, осуществляемых схемой, состоит из мгновенного перемещения игрока в
начало пути point и
ориентации его взгляда на начало пути look, потери управления игроком и начала анимации камеры cam_effector по завершении которой игрок
вновь получает управление.

[sr_cutscene]
point
= <имя пути> - путь в первую точку которого переносится игрок
look
= <имя пути> - путь в первую точку которого смотрит игрок
*pp_effector = <имя файла с
эффектом> - файл, расположенный в папке
gamedata\anims\ и содержащий эффект
(имя файла пишется без расширения)
cam_effector = <имя файла с
анимацией камеры> - файл, расположенный в папке gamedata\anims\camera_effects\
и содержащий анимацию камеры (имя файла пишется без
расширения)


Желаю всем удачного модостроения Ростян:-)
Если вы хотите отправить сообщение шлите на Yandayks3003
 
Форум » Модостроение » Модостроение от А до Я » Схемы рестикторов (Настройка логики)
Страница 1 из 11
Поиск:
Design by Xom & Ростян
Copyright Ростян GSC-MOD
© 2013 - 2017
Авторское право на игру и использованные в ней материалы принадлежит GSC Game World.
Любое использование материалов сайта возможно только с разрешения администрации.
Хостинг от uCoz