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



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



---

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



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

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


    [combat]on_info = %+info -info =func% эффекты, которые вызываются на каждом раунде
    боя.

    Для задания различных типов
    скриптовых боёв для различных ситуаций используется параметр combat_type.

    В следующем примере сталкер
    сражается:
    * по-кемперски, если враг=актёр и он дальше Х
    метров
    * по-монолитовски, если любой враг дальше Y
    метров
    * иначе - движковый бой


    [logic]active = walker
    on_combat = combat


    [walker]path_walk = ...


    [combat]combat_type = {=fighting_actor
    =fighting_ge_X_meters} camper, {=fighting_ge_Y_meters} monolith

    Пример
    такой функции: нам надо чтобы на расстоянии свыше 20 метров npc переходил бы в
    кемперский комбат.
    function fighting_dist_ge_20(actor, npc)
    return
    db.storage[npc:id()].enemy:position():distance_to ( npc:position() ) >= 400
    end
    400 –
    это 202 . Примечание – мыпишем квадрат нужного нам расстояния, для экономии системных ресурсов.


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


    [logic]active = nil
    on_combat = combat


    [combat]combat_type = zombied

    Если в разных секциях для
    персонажа требуются разные типы боя или разные условия, то можно
    воспользоваться оверрайдом combat_type.
    Помните: оверрайд всегда будет
    перекрывать настройку в секции combat. Т.е., если у вас логика на 5 секций и в
    четырёх нужен кемперский комбат, а в пятой монолитовский, то можно задать так:


    [logic]active = walker1
    on_combat = combat

    [walker1]
    ...
    [walker2]
    ...
    [walker3]
    ...
    [walker4]
    ...
    [walker5]
    ...
    combat_type = monolith


    [combat]combat_type = camper
    (scheme - задает тип боя (monolith, camper,zombied), иначе - универсальный бой)



    disable_combat_handler – функция отключающая секцию combat.
    Файл: \gamedata\scripts\xr_combat.script

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