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



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



---

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




Stalker Shadow Chernobyl
Дата: 30/07/2018
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
Shadows of Oblivion 3: Re...
Дата: 14/11/2013
Звездочет (Дозор Зоны)
Постов: 3676 | Репутации: 1098
Квартет (Дозор Зоны)
Постов: 2936 | Репутации: 5239
Джагер (Дозор ZONE)
Постов: 2690 | Репутации: 3965
Miami_Killer (Глава группировки)
Постов: 2129 | Репутации: 970
gromgold (Создатель Зоны)
Постов: 2020 | Репутации: 10085
Street (Житель)
Постов: 1958 | Репутации: 503
Пакет (Дозор Зоны)
Постов: 1731 | Репутации: 872
ST1TCH (Дозор Зоны)
Постов: 1402 | Репутации: 487

[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Форум » База по Модостроению » Модостроение от А до Я » Секция combat (Настройка логики)
Секция combat
gromgoldДата: Четверг, 11/05/2017, 13:03:13 | Сообщение # 1
Глава ЧН [Гл.Администратор]
Группа: Создатель Зоны
Сообщений: 2020
Статус:
Показывает, что происходит, когда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 из 1
  • 1
Поиск: