SoC. Работа в offline и online — различия между версиями
Материал из S.T.A.L.K.E.R. Inside Wiki
RedPython (обсуждение | вклад) |
(оформление) |
||
(не показана 1 промежуточная версия 1 участника) | |||
Строка 3: | Строка 3: | ||
===Начало=== | ===Начало=== | ||
Начнем! Распакуем '''all.spawn''' и откроем файл '''alife_l06_rostok.ltx'''. В нём найдём такие строчки: | Начнем! Распакуем '''all.spawn''' и откроем файл '''alife_l06_rostok.ltx'''. В нём найдём такие строчки: | ||
− | < | + | <ini> |
[3851] | [3851] | ||
; cse_abstract properties | ; cse_abstract properties | ||
Строка 71: | Строка 71: | ||
[spawner] | [spawner] | ||
cond = {+bar_heli_scene_stay_online} | cond = {+bar_heli_scene_stay_online} | ||
− | </ | + | </ini> |
Это переход НПС в онлайн при выдаче инфопоршня. Чтбы убедится в этом найдём его в '''info_l07rostok.xml'''. | Это переход НПС в онлайн при выдаче инфопоршня. Чтбы убедится в этом найдём его в '''info_l07rostok.xml'''. | ||
Строка 87: | Строка 87: | ||
===P.S.=== | ===P.S.=== | ||
Теперь сделаем, чтобы всё до конца работало. Найдём смарт_террейн, в котором прописан ''+bar_heli_scene_stay_online''. И допишем туда свой. | Теперь сделаем, чтобы всё до конца работало. Найдём смарт_террейн, в котором прописан ''+bar_heli_scene_stay_online''. И допишем туда свой. | ||
− | < | + | <ini> |
[3857] | [3857] | ||
; cse_abstract properties | ; cse_abstract properties | ||
Строка 119: | Строка 119: | ||
; se_smart_terrain properties | ; se_smart_terrain properties | ||
− | </ | + | </ini> |
Вот он. Вот и всё! | Вот он. Вот и всё! | ||
Текущая версия на 07:26, 27 июля 2013
В игре наверняка вы встречали такое - при получении какого-то задания или диалога появляются новые НПС или прочие ФПС. Пример в этой статье мы будем рассматривать на Ростке. Итак, нам понадобятся файлы info_l07rostok.xml, all.spawn и программа ACDC.
Начало
Начнем! Распакуем 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 </pre> В этой писанине нам нужно только это: <pre> [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
Вот он. Вот и всё!
См. также
Мою статью "Работа с ACDC".