Приветствую Вас, Гость | 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>
всё, все наши манипуляции закончены.
Все файлы на нашем сайте проверены на работоспособность и взяты с проверенных источников! G-C 2024 |