SoC. Работа в offline и online — различия между версиями
Материал из S.T.A.L.K.E.R. Inside Wiki
Строка 125: | Строка 125: | ||
</pre> | </pre> | ||
Вот он. Вот и всё! | Вот он. Вот и всё! | ||
+ | |||
+ | [[Категория:Скрипты]] |
Версия 10:55, 10 января 2009
В игре наверняка вы встречали такое - При получении какого то задания, или диалога появляются новые НПС или прочие ФПС. В этой статье мы будем рассматривать на Ростке. Итак нам понадобяться: ФАЙЛЫ:
info_l07rostok.xml all.spawn
Программа:
ACDC
См. также
Мою статью "работа с ACDC" </pre>
Начем! Распакуем all.spawn и откроем файл alife_l06_rostok.ltx. В нём найдём такие строчки:
[3851] ; cse_abstract properties section_name = stalker name = bar_freedom_attacker_1 position = -214.942504882813,-2.09808349609375e-005,164.513900756836 direction = 0,0,0 ; cse_alife_trader_abstract properties money = 5000 character_profile = bar_Killer_regular ; cse_alife_object properties game_vertex_id = 1335 distance = 6.29999971389771 level_vertex_id = 23441 object_flags = 0xffffffff custom_data = <<END [spawner] cond = {+bar_heli_scene_stay_online} [smart_terrains] bar_freedom_attack = true END ; cse_visual properties visual_name = actors\killer\stalker_ki_mask ; cse_alife_creature_abstract properties g_team = 0 g_squad = 5 g_group = 7 health = 1 dynamic_out_restrictions = dynamic_in_restrictions = upd:health = 1 upd:timestamp = 0 upd:creature_flags = 0 upd:position = -214.942504882813,-2.09808349609375e-005,164.513900756836 upd:o_model = 0 upd:o_torso = 0,0,0 upd:g_team = 0 upd:g_squad = 5 upd:g_group = 7 ; cse_alife_monster_abstract properties upd:next_game_vertex_id = 65535 upd:prev_game_vertex_id = 65535 upd:distance_from_point = 0 upd:distance_to_point = 0 ; cse_alife_human_abstract properties predicate5 = 0,1,2,0,2 predicate4 = 0,1,1,0 ; cse_ph_skeleton properties upd:start_dialog = ; se_stalker properties
В этой писанине нам нужно только это:
[spawner] cond = {+bar_heli_scene_stay_online}
Это переход НПС в онлайн при выдаче инфопоршня. Чтбы убедится в этом найдём его в info_l07rostok.xml Убедились? Отлично! Двигаемся дальше. Вместо знака + вы можете поставить знак -. Значит при этом инфопоршне НПС уйдет в оффлайн.
Можно менять эти инфопоршны на любые другие, в том числе свои. Теперь поменяем его к примеру на...
bar_kruglov_follow_tunnel В итоге:
[spawner] cond = {+bar_kruglov_follow_tunnel}
Этот НПС (или нпсы несколько неписей) буду рождаться когда вы пройдете через тунель где наёмники снайепры. Все инфопоршны брать из файлы, соответствующему локации. Вы можете сделать свой квест и применить инфопоршы к этому делу.
P.S. Теперь сделаем чтобы всё до конца работала. Найдём смарт_терраин в котором прописан +bar_heli_scene_stay_online. И допишем туда свой.
[3857] ; cse_abstract properties section_name = smart_terrain name = bar_ecolog_crush position = -294.061706542969,7.43865966796875e-005,140.005218505859 direction = 1.01860559880151e-005,-7.54995954643789e-010,7.41205367376097e-005 ; cse_alife_object properties game_vertex_id = 1350 distance = 2.79999995231628 level_vertex_id = 100 object_flags = 0xffffffbe custom_data = <<END [smart_terrain] type = bar_ecolog_crush capacity = 5 squad = 5 groups = 1,2 cond = {+bar_heli_scene_stay_online},{+bar_kruglov_follow_tunnel} END ; cse_shape properties shapes = shape0 shape0:type = sphere shape0:offset = 0,0,0 shape0:radius = 2.66736793518066 ; cse_alife_space_restrictor properties restrictor_type = 0 ; se_smart_terrain properties
Вот он. Вот и всё!