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



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



---

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



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

    Страница 1 из 11
    Форум » База по Модостроению » Модостроение от А до Я » Набор дополнительных настроек логики у разных объектов (Настройка логики)
    Набор дополнительных настроек логики у разных объектов
    gromgoldДата: Четверг, 11/05/2017, 12:24:07 | Сообщение # 1
    Глава ЧН [Гл.Администратор]
    Ранг: Повелитель Зоны
    Сообщений: 1988 Репа: « »
    Схема работы двери, секция [ph_door]

    NB! Для двухстворчатых ворот задается все аналогично.

    locked = false\true
    Заперта ли дверь. По дефолту – false.

    Closed = false\true
    Закрыта ли дверь. По дефолту - true

    tip_open = (если locked == false, то tip_door_open, иначе tip_door_locked)
    Подсказка, которая появляется около прицела при наведении на дверь, если дверь закрыта.

    tip_close = (если locked == false, то tip_door_close, иначе пустое значение)
    Подсказка, которая появляется около прицела при наведении на дверь, если дверь открыта.

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

    snd_open_start = Звук, который будет отыгран при попытке открыть дверь.

    snd_close_start = Звук, который будет отыгран при попытке закрыть дверь.

    snd_close_stop = Звук, который будет отыгран, когда дверь захлопнется до конца.

    Примеры:
    Если нужно сделать дверь, которая при каком-то событии открывается со щелчком, то можно воспользоваться полем snd_init и переключением схем. В примере ниже при включении схемы ph_door@unlocked проиграется snd_init, т.е. trader_door_unlock:

    [logic]
    active = ph_door@locked

    [ph_door@locked]
    locked = true
    snd_open_start = trader_door_locked
    on_info = {+esc_trader_can_leave} ph_door@unlocked

    [ph_door@unlocked]
    locked = false
    snd_init = trader_door_unlock
    snd_open_start = trader_door_open_start
    snd_close_start = trader_door_close_start
    snd_close_stop = trader_door_close_stop
    файл \gamedata\scripts\ph_door.script

    Схема работы кнопки, секция [ph_button]
    При нажатии на кнопку переключает секции и выдает инфопоршн.

    [logic]active = ph_button@locked

    [ph_button@locked]
    anim_blend = false
    anim = button_false
    on_press = ph_button@unlocked %+cit_jail_door_opened%

    on_press – что происходит при нажатии
    anim – анимация, которая отигрывается при нажатии на кнопку
    anim_blend – плаваня, сглаженная анимация. Может принимать знаечения true\false

    Файл \Gamedata\scripts\ph_button.script

    *tooltip - gредназначено для того, чтобы задавать текстовую подсказку при наведении на кнопку. Текстовая подсказка нужна для того, чтобы как минимум было понятно, что этот девайс можно нажимать.
    Пример настройки кнопки:

    [logic]active = ph_button@active

    [ph_button@active]
    anim = lab_switcher_idle
    tooltip = tips_labx16switcher_press
    on_press = ph_button@deactivated %+terrain_test%

    [ph_button@deactivated]
    anim = lab_switcher_off

    Для того чтобы сообщение не потеряло адекватность при различных настройках клавиатуры сообщение следует писать с использованием токенов. Например:

    Код
    <string id="tips_labx16switcher_press">
    <text>Чтобы отключить чудо установку нажмите ($$ACTION_USE$$)</text>
    </string>


    Вот пример кнопки, которая срабатывает не всегда, а по определенному условию:

    [logic]active = ph_button@locked

    [ph_button@locked]
    anim = button_false – анимация несрабатывания кнопки.
    on_info = {+val_prisoner_door_unlocked} ph_button@unlocked
    on_press = ph_button@unlocked %+val_prisoner_door_unlocked%

    [ph_button@unlocked]
    anim = button_true
    on_info = {-val_prisoner_door_unlocked} ph_button@locked
    on_press = ph_button@locked %-val_prisoner_door_unlocked%

    Схема работы прожектора:

    В точках look пути, в которые смотрит прожекторщик, нужно прописать
    sl=имя_прожектора

    Например
    Код
    wp00|sl=esc_sl1


    Тогда при повороте в эту точку персонаж повернет в нее и прожектор.

    Кодовые замки:
    При введении указанного кода выдает инфопоршн

    [logic]active = ph_code@lock

    [ph_code@lock]
    code = 1243
    on_code = %+infoportion%

    Файл: \gamedata\scripts\ph_code.script

    Ph_gate
    То же самое, что и ph_door, но для ворот, состоящих из двух дверей:
    Вместо параметров closed и locked сейчас используются параметры:
    state: состояние, в котором дверь находится при инициализации (по умолчанию none)
    open - в открытом
    closed - в закрытом
    none - в текущем (дефолтном или оставшемся от предыдущей схемы)

    locking: блокировка дверей (по умолчанию none)
    stick - прилипание дверей к крайним состояниям (пока в процессе настройки)

    soft - дверь заблокирована с помощью силы, т.е. можно ее открыть/пробить машиной
    Состояния в этом положении:
    open - блокировать в открытом состоянии
    closed - в закрытом
    none - не используется (мягкая блокировка возможна только в крайних положениях)

    hard - блокировка двери с помощью границ. Ворота можно только сломать
    Состояния в этом положении:
    open - блокировать в открытом состоянии
    closed - в закрытом
    none - в текущем

    none - дверь не заблокирована

    Общие параметры:
    left_limit, right_limit - задают угол [0-180] открытия каждой из створок ворот. По умолчанию - 100 градусов.
    breakable - (true/false) определяет можно ли сломать ворота. По умолчанию true.

    Звуковые параметры аналогичны ph_door

    Примеры:

    [ph_gate@locked] ;блокировка в открытом состоянии, неразбиваемые.
    state = opened
    locking = soft
    left_limit = 130
    rigt_limit = 60
    breakable = false

    [ph_gate@opened]
    state = opened
    locking = stick

    [ph_gate@closed]
    state = closeded

    Файл: \gamedata\scripts\ph_gate.script

    Ph_sound
    Прописывается у физического объекта какие звуки он выдает (изначально планировался как матюгальник).

    [ph_sound]
    snd = имя темы из файла sound_theme.script из таблицы ph_snd_themes
    looped = true/false зацикленое воспроизведение звука (default - false)
    min_idle = минимальное время простоя перед включением звука (мс)
    max_idle = максимальное время простоя перед включением звука (мс)
    random = true/false (def - false). Если = true, то из темы будет выбран рандомный звук и таким образом звуки будут играться до посинения

    NB! Если мы задаем random = true и looped = true, то версия сыпется

    Также поддерждивается кондлист.
    Данная схема работает через задницу, поэтому зацикленный звук будет продолжать отыгрываться, даже если объект уходит в nil. В связи с этим надо создавать новую секцию, которая бы отыгрывала одиночный короткий звук, после которого (поскольку он будет точно также играться раз за разом) ставим on_signal = sound_end| nil

    Пример подобной извращенной логики:

    [logic]active = ph_sound

    [ph_sound]
    snd = gar_seryi_shooting
    looped = true
    max_idle = 5000
    on_actor_in_zone = gar_seryi_factory| ph_sound@end

    [ph_sound@end]
    snd = gar_seryi_shooting_2
    looped = false
    on_signal = sound_end| nil

    Кроме того специфическим образом создается звуковая схема.
    В sound_theme.script в начале файла есть секция ph_themes в которой и описываются темы для физ объектов.
    Например:
    ph_snd_themes["gar_seryi_shooting"] = {[[characters_voice\human_01\scenario\garbage\distance_shooting]]}

    Кроме того (незадекларированная фича) ph_sound можно вешать на рестрикторы. Но за правильность работы в таком случае никто ответственности не несет.

    Файл: \gamedata\scripts\ph_sound.script

    Ph_force
    Схема позволяет пнуть предмет в указанную сторону. Прописывается в кастом дате предмета.

    force = сила, которая прикладывается к объекту. Измеряется в убитых енотах
    time = время прикладывания силы к предмету (в секундах)
    *delay = задержка (в секундах) перед применением силы
    point = имя патрульного пути, точки которого будут использованы как цели (куда направлять предмет)
    point_index = индекс точки патрульного пути, в стону которого полетит предмет.

    Ph_on_death

    Схема для отслеживания разрушения физического объекта и выдавания по такому случаю различных эффектов
    Пример:

    [logic]active = ph_on_death

    [ph_on_death]
    on_info = %эффекты%

    Юзать исключительно с разрушаемыми физ. Объектами

    Ph_car

    Настройка возможности игроку управлять машиной.
    секция: [ph_car]
    поле: usable =

    usable - кондлист возвращающий true (по умолчанию) или false.

    Пример:

    [logic]active = ph_car

    [ph_car]
    usable = {+val_actor_has_car_key}

    На основе этой схемы можно сделать машину, которая зведется только если у актера есть ключ именно от нее.

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

    [ph_heavy]

    Ph_oscillate
    Схема предназначена для плавного раскачивания физики (лампы, висящие зомби и т.д.)
    Пример логики

    [ph_oscillate]
    joint = provod - имя кости к которой будет применена сила
    force = 5 - собственно сила (в ньютонах)
    period = 1000 - время прикладывания силы.

    Сила прикладывается к кости объекта с линейным наростанием. То есть в течении заданого периода времени сила вырастет с 0 до заявленого значения. После этого настает пауза (сила не применяется) на время period/2. После окончания паузы сила применяется так же, как и в начале, но в обратном направлении.

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