ФРПГ На форум Мой ПДА
Меню зоны
Вход в зону
Турист



СТАЛКЕР!
Я всегда рад видеть
еще одну живую душу!
Но я нез наю кто ты?



---

Список Сталкеров
У Костра



Последний пост Самые популярные темы Самые активные Последний файл
  • У Костра
  • САНЧАСТЬ
  • Любимая музыка
  • Общий канал
  • Сюжет
  • Бaр "Синий орел"
  • Рейды Наемников
  • Игра "Я тебя забаню"
  • Считалка
  • Лагерь новичков
  • Звездочет
  • Квартет
  • Джагер
  • Miami_Killer
  • gromgold
  • [Моды]
    НАРОДНАЯ СОЛЯНКА 2016 (1)
    [Моды]
    Объединённый Пак 2 (1)

    Страница 1 из 11
    Форум » База по Модостроению » Модостроение от А до Я » Схемы рестикторов (Настройка логики)
    Схемы рестикторов
    gromgoldДата: Четверг, 11/05/2017, 12:26:34 | Сообщение # 1
    Глава ЧН [Гл.Администратор]
    Ранг: Повелитель Зоны
    Сообщений: 1985 Репа: « »
    Схема [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\
    и содержащий анимацию камеры (имя файла пишется без
    расширения)

    Материал взят с сайта gsc-mod.ucoz.ru
     
    Форум » База по Модостроению » Модостроение от А до Я » Схемы рестикторов (Настройка логики)
    Страница 1 из 11
    Поиск: