Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Настройка логики от Икстрима.doc
Скачиваний:
4
Добавлен:
31.10.2018
Размер:
579.58 Кб
Скачать

3.2.5.1. Схема sniper

Разновидность кемпера. Отличаются тем, что стреляют только одиночными выстрелами и не смотрят по точкам патрульного пути, а сканируют пространство между ними. Скорость сканирования от точки к точке фиксирована и равна 20сек.

NB! Ставить снайперу только 2 точки look

В кастом дате кемпера прописать:

sniper = true

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

3.2.6. Схема follower

В custom_data прописан как follower

NPC идет за NPC лидером. Если до лидера расстояние менее 5 метров, то он идет, если от 5 до 20 – бежит в режиме run, если свыше 20 – догоняет в режиме sprint. Пути не задаются.

[follower]

leader = story id лидера из game.ltx (число!)

*formation_line = true (постарается идти сбоку от лидера, в противном случае будет идти сзади

*distance = расстояние в метрах, на котором будет идти от лидера attendant. По умолчанию – 1,5 метра, если идет цепью, то 5 метров.

*state_if_leader_in_meet. Это есть строка с именем состояния из state_manager, которое будет назначено follower-ам, если командир пребывает в состоянии meet.

*anim_walk = state (состояние, в котором фолловер идет за лидером)

*anim_run = state (состояние, в котором фолловер бежит за лидером)

*anim_sprint = state (состояние, в котором фолловер спринтует за лидером)

Файл: \gamedata\scripts\xr_ attendant.script

Если все это происходит под гулагом, то вместо story_id лидера, мы прописываем его секцию логики в файле скрипта. Пример:

t = { section = "logic@bar_arena_follower_2",

idle = 0,

prior = 7, state = {0}, squad = squad, group = groups[0],

in_rest = "", out_rest = "",

dependent = "logic@bar_arena_leader",

predicate = function(obj)

return obj:character_community() == "dolg"

end

}

3.2.7. Схема zoneguard

NPC есть две зоны (может быть одна). Он ходит по путям, но когда игрок заходит в зону, отрывает от дел, подбегает к игроку, наставляет на игрока оружие (может кричать, может говорить), если игрок заходит во вторую зону – атакует игрока

[zoneguard]

path_walk = путь перемещения

*path_look = путь обзора

team = имя команды синхронизированных zoneguard-ов (из всей команды только 1 будет реагировать на игрока)

*zone_guard = имя зоны, в пределах которой игрок будет атакован

zone_warn = имя зоны, в пределах которой начинать разговор с игроком

*walker_team = team для схемы перемещения его в состоянии walker (если не задан, используется значение из поля team)

*no_move = если true, персонаж окликнет игрока с места и не будет подбегать к нему

*snd_greet = имя звуковой схемы, из которой будет проигран звук при обнаружении персонажа

*ignore_friends = true, будет игнорировать дружественных ему персонажей.

*ignore_cond = {+info -info =func !func} условия, при которых NPC игнорирует игрока

*no_danger = если true, то не отыгрывает угрожающую анимацию, нейтралам.

*anim = какую отыгрывает анимацию, если игрок ему не враждебен.

*snd_anim_sync = если true, то npc будет синхронизировать звук с анимацией

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