SoC. Работа в offline и online — различия между версиями
Материал из S.T.A.L.K.E.R. Inside Wiki
RedPython (обсуждение | вклад) |
|||
| Строка 1: | Строка 1: | ||
| − | В игре наверняка вы встречали такое - | + | В игре наверняка вы встречали такое - при получении какого-то задания или диалога появляются новые НПС или прочие ФПС. Пример в этой статье мы будем рассматривать на Ростке. Итак, нам понадобятся файлы '''info_l07rostok.xml''', '''all.spawn''' и программа '''ACDC'''. |
| − | + | ||
| − | + | ||
| − | all.spawn | + | |
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ===Начало=== | |
| − | <pre>[3851] | + | Начнем! Распакуем '''all.spawn''' и откроем файл '''alife_l06_rostok.ltx'''. В нём найдём такие строчки: |
| + | <pre> | ||
| + | [3851] | ||
; cse_abstract properties | ; cse_abstract properties | ||
section_name = stalker | section_name = stalker | ||
| Строка 74: | Строка 64: | ||
upd:start_dialog = | upd:start_dialog = | ||
| − | ; se_stalker properties</pre> | + | ; se_stalker properties |
| + | </pre> | ||
В этой писанине нам нужно только это: | В этой писанине нам нужно только это: | ||
| − | <pre>[spawner] | + | <pre> |
| − | cond = {+bar_heli_scene_stay_online}</pre> | + | [spawner] |
| + | cond = {+bar_heli_scene_stay_online} | ||
| + | </pre> | ||
| − | Это переход НПС в онлайн при выдаче инфопоршня. Чтбы убедится в этом найдём его в info_l07rostok.xml | + | Это переход НПС в онлайн при выдаче инфопоршня. Чтбы убедится в этом найдём его в '''info_l07rostok.xml'''. |
| − | Убедились? Отлично! Двигаемся дальше. Вместо знака + вы можете поставить знак -. Значит при этом инфопоршне НПС уйдет в оффлайн. | + | Убедились? Отлично! Двигаемся дальше. Вместо знака '''+''' вы можете поставить знак '''-'''. Значит при этом инфопоршне НПС уйдет в оффлайн. |
| − | Можно менять эти инфопоршны на любые другие, в том числе свои. Теперь поменяем его к примеру на. | + | Можно менять эти инфопоршны на любые другие, в том числе свои. Теперь поменяем его к примеру на ''bar_kruglov_follow_tunnel''. В итоге: |
| + | |||
| + | <pre> | ||
| + | [spawner] | ||
| + | cond = {+bar_kruglov_follow_tunnel} | ||
| + | </pre> | ||
| − | + | Этот НПС (или несколько неписей) буду рождаться, когда вы пройдете через туннель, где наёмники-снайперы. Все инфопоршны брать из файла, соответствующего локации. Вы можете сделать свой квест и применить инфопоршы к этому делу. | |
| − | + | ||
| − | + | ||
| − | Этот НПС (или | + | |
| − | P.S. | + | ===P.S.=== |
| − | Теперь сделаем чтобы всё до конца | + | Теперь сделаем, чтобы всё до конца работало. Найдём смарт_террейн, в котором прописан ''+bar_heli_scene_stay_online''. И допишем туда свой. |
| − | <pre>[3857] | + | <pre> |
| + | [3857] | ||
; cse_abstract properties | ; cse_abstract properties | ||
section_name = smart_terrain | section_name = smart_terrain | ||
| Строка 124: | Строка 120: | ||
; se_smart_terrain properties | ; se_smart_terrain properties | ||
</pre> | </pre> | ||
| − | + | Вот он. Вот и всё! | |
| + | |||
| + | ===См. также=== | ||
| + | Мою статью "[[Работа с ACDC]]". | ||
[[Категория:Скрипты]] | [[Категория:Скрипты]] | ||
Версия 17:48, 3 июня 2010
В игре наверняка вы встречали такое - при получении какого-то задания или диалога появляются новые НПС или прочие ФПС. Пример в этой статье мы будем рассматривать на Ростке. Итак, нам понадобятся файлы 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
В этой писанине нам нужно только это:
[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".