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



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



---

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

Добро пожаловать на форум!
Форум
  • Вольные Сталкеры (12)
    Последний пост: FredD
  • Бойня (23)
    Последний пост: FredD
  • У Костра (18)
    Последний пост: FredD
  • Сталкер-нейтрал (67)
    Последний пост: FredD
  • Везляк (1)
    Последний пост: FredD
  • S.V.A.L.K.E.R. бесславные... (15)
    Последний пост: FredD
  • Путь Стрелка (6)
    Последний пост: FredD
  • Файлы
    Stalker Shadow Chernobyl
    Дата: 30/07/2018
    Объединённый Пак 2
    Дата: 18/02/2017
    War Groups
    Дата: 08/01/2017
    Call of Misery
    Дата: 08/01/2017
    S.T.A.L.K.E.R. Unpacker 1...
    Дата: 11/07/2014
    Вариант Омега
    Дата: 14/11/2013
    Пользователи
  • Звездочет (Дозор Зоны)
    Постов: 3677 | Репутации: 1098
  • Квартет (Дозор Зоны)
    Постов: 2939 | Репутации: 5259
  • Джагер (Дозор ZONE)
    Постов: 2696 | Репутации: 4005
  • Miami_Killer (Глава группировки)
    Постов: 2127 | Репутации: 973
  • gromgold (Создатель Зоны)
    Постов: 2053 | Репутации: 10142
  • Street (Житель)
    Постов: 1958 | Репутации: 503
  • Пакет (Дозор Зоны)
    Постов: 1731 | Репутации: 892
  • Erron_Black (Дозор Зоны)
    Постов: 1408 | Репутации: 527

  • [ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
    • Страница 1 из 1
    • 1
    Форум » База по Модостроению » Модостроение от А до Я » Синтаксис скрипта Logic (Настройка логики)
    Синтаксис скрипта Logic
    gromgoldДата: Четверг, 11/05/2017, 12:32:04 | Сообщение # 1
    Глава ЧН [Гл.Администратор]
    Группа: Создатель Зоны
    Сообщений: 2053
    Статус:
    Пример: для того, чтобы персонажходил по пути walk1, а при приближении игрока на дистанцию 5 метров,
    переключался на путь walk2 (но только при условии, что он видит игрока), нужно
    написать следующее:

    [logic]active = walker1

    [walker1]
    path_walk = walk1
    path_look = look1
    on_actor_dist_le = 5 | walker2

    [walker2]
    path_walk = walk2
    path_look = look2

    Выше рассмотрено безусловное
    переключение секций. Перед именем секции в фигурных скобках {} можно задавать
    дополнительные условия, а после имени секции - так называемые
    "эффекты", которые заключить в знаки процента: %%. Эффекты будут
    применены только в случае активации секции. Можно не задавать имя секции, а
    задать только условия и/или эффекты. Тогда активной останется старая секция, но
    условия и эффекты будут все равно обработаны. Если все условия в фигурных
    скобках не выполняются, секция активирована не будет.

    Пример:

    on_actor_dist_le = 5 | {условие} walker2 %эффекты%

    Условия могут быть следующими:

    +infoportion  - требуется присутствие infoportion у actor
    -infoportion  - требуется отсутствие infoportion у actor
    =func  - требуется, чтобы func вернула true
    !func  - требуется, чтобы func вернулся false

    Эффекты могут быть следующими:

    +infoportion  - в случае включения секции у actor будет
    установлен infoportion
    -infoportion  - в случае включения секции у actor будет
    убран infoportion
    =func  - в случае включения секции стартует функция
    func

    Несколько условия или эффектов
    разделяются проблемами:

    on_actor_dist_le = 5 | {+info1 -info2 +info3}
    walker2 %+info4 =func%

    Можно задавать сразу несколько
    секций, разделенных запятыми. Порядок обхода при этом - слева направо. После
    срабатывания первого из условий, обход прекращается. В примере ниже, если
    установлен info1, будет включена схема walker2, иначе, если установлен info2,
    будет включена схема walker3, иначе будет включен walker4:

    on_actor_dist_le = 5 | {+info1} walker2,
    {+info2} walker3, walker4

    В описанном выше поле active
    секции logic, можно также задавать условия, например:

    [logic]active = {=actor_friend} walker@friendly,
    walker@enemy
    В логических условияхтеперь принимается ключевое слово never, которое означает, что условиеложно. Например:combat_ignore_cond = {=actor_enemy
    =actor_has_suit} always, {=actor_enemy} never %...эффекты...%

    Вышеприведенная конструкция
    включает игнорирование боя, если у NPC враг - игрок в костюме, но отключит его,
    если врагом является игрок, но без костюма, при этом сработают эффекты (%%)
    секции never. Таким образом, выбор секции never равносилен отсутствию секции (несрабатыванию условия), но
    эффекты в знаках процента при этом срабатывают.

    Пример
    работы с секцией nil. Секция nil
    выводит из-под скриптовых схем персонажа, монстра или объект и отпускает его
    под управление движка. Это надо если какое-либо условие выполнившись 1 раз
    больше не нуждается в проверке, при этом экономятся ресурсы машины, которые на
    каждом апдейте проверяют это условие.

    [logic]active =
    sr_idle

    [sr_idle]
    on_actor_inside
    = nil %+esc_actor_inside%
    То есть, при входе актера в
    рестриктор выдается инфопоршн и рестриктор уходит в секцию nil, больше не
    проверяя наличие игрока.
    NB: Обратно из секции nil под скрипты
    объект вернуть уже невозможно! Учитывайте это, используя
    ее.

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