Приветствую Вас, Гость | RSS
Воскресенье, 19.05.2024, 09:25
Спавн нового NPS путем редактирования all.spawn: Для того что бы заспавнить НПС нам понядобится: Программа PosExtracter для того что бы узнать координаты позиции спавна, level_vertex_id и game_vertex_id Файлы, который будем редактировать: all.spawn в gamedata/spawns character_desc_escape.xml в gamedata/config/gameplay npc_profile.xml в gamedata/config/gameplay начнём с того, что выберем позицию нового НПС и снимим координаты с помощью PosExtracter(как устанавливатся и пользоватся, указано в редми) перейдём к правке all.spawn, он нам потребуется в распакованом виде, для того что этого добится, просьба ознакомится с этим тутором в нём уже редактировать файлы alife_l01_escape.ltx и way_l01_escape.ltx в alife_l01_escape.ltx в низу допишем ; cse_abstract properties section_name = stalker name = mehanik position=-236.36477661133,-19.738483428955,-131.2624206543 direction = 0,0,0 ; cse_alife_trader_abstract properties money = 5000 character_profile = mehanik ; cse_alife_object properties game_vertex_id = 8 distance = 15.3999996185303 level_vertex_id=18766 object_flags = 0xffffffff custom_data = <<END [logic] active = camper [camper] path_look = my_own_camper_look path_walk = my_own_camper_walk radius = 1 sniper = true [spawn] wpn_ak74 ammo_5.45x39_fmj = 1 [smart_terrains] none = true END ; cse_visual properties visual_name = actors\soldier\soldier_bandana_6 ; cse_alife_creature_abstract properties g_team = 0 g_squad = 0 g_group = 0 health = 1 dynamic_out_restrictions = dynamic_in_restrictions = upd:health = 1 upd:timestamp = 0 upd:creature_flags = 0 upd:position = -236.36477661133,-19.738483428955,-131.2624206543 upd_model = 0 upd_torso = 0,0,0 upd:g_team = 0 upd:g_squad = 0 upd:g_group = 0 ; 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 = 1,0,2,0,2 predicate4 = 0,2,1,2 ; cse_ph_skeleton properties upd:start_dialog = ; se_stalker properties где мы правили: name = mehanik - имя нашего непися position=-236.36477661133,-19.738483428955,-131.2624206543 - берём с posExtracter character_profile = mehanik - имя нашего непися game_vertex_id = 8- берём с posExtracter level_vertex_id=18766 - берём с posExtracter [logic] active = camper [camper] path_look = my_own_camper_look path_walk = my_own_camper_walk radius = 1 sniper = true [spawn] wpn_ak74 ammo_5.45x39_fmj = 1 [smart_terrains] none = true простейшая логика, спавн и то что не принадлежит не одному из смарт терейнов(none = true) visual_name = actors\soldier\soldier_bandana_6 - как будет выглядеть наш НПС upd:position = -236.36477661133,-19.738483428955,-131.2624206543 - берём с posExtracter в way_l01_escape.ltx допишем: [my_own_camper_look] points = p0 p0:name = name00 p0:flags = 0x1 p0:position = -236.36477661133,-19.738483428955,-131.2624206543 p0:game_vertex_id = 8 p0:level_vertex_id = 18766 [my_own_camper_walk] points = p0 p0:name = name00 p0:flags = 0x1 p0:position = -236.36477661133,-19.738483428955,-131.2624206543 p0:game_vertex_id = 8 p0:level_vertex_id = 18766 my_own_camper_look и my_own_camper_walk работают из: [camper] path_look = my_own_camper_look path_walk = my_own_camper_walk game_vertex_id, level_vertex_id, position с posExtracter, у меня они одни(что бы НПС постоянно стоял на одном месте) после данных правок собираем наш all.spawn обратно перейдём к правке character_desc_escape.xml, допишем там: <specific_character id="mehanik" team_default = "1"> <name>mehanik</name> <icon>ui_npc_u_green_stalker_5</icon> <bio>esc_stalker_novice_bio</bio> <class>mehanik</class> <community>stalker</community> <terrain_sect>stalker_terrain</terrain_sect> <rank>350</rank> <reputation>10</reputation> <money min="200" max="600" infinitive="0"/> <snd_config>characters_voice\human_01\newbie\</snd_config> <crouch_type>-1</crouch_type> <visual>actors\soldier\soldier_bandana_6</visual> <supplies> [spawn] \n wpn_pm \n ammo_9x18_fmj = 1 \n wpn_bm16 \n ammo_12x70_buck \n device_torch \n #include "gameplay\character_items.xml" \n #include "gameplay\character_food.xml" </supplies> #include "gameplay\character_criticals_3.xml" <start_dialog>hello_dialog</start_dialog> </specific_character> жирным показано, где вводится имя нашего НПС, жирным и подчёркнутым, его визуал(как выглядеть будет) теперь осталось подправить npc_profile.xml, допишем: <character id="mehanik"> <class>mehanik</class> <specific_character>mehanik</specific_character> </character> всё, все наши манипуляции закончены. |
|