В этой статье мы научимся создавать и спавнить НПС через all.spawn
ВНИМАНИЕ!
Данная статья предназначена на Чистое небо Автор:saintsergei
Пояснения я писать не буду ибо вы и так должны знать что всё обозначает но если вы новичок то ознакомьтесь с урокоми по созданию НПС по Зову Припяти или Тень Чернобыля
НПС появиться на болотах в базе Чистого неба у бармена
У НПС визуал будет Чновский а иконка опытного сталкера
Мы создаем простого НПС а не отряд
Не пытаться создавать отряд это не сквад сквады и смарты мы потом рассмотрим
И так начнем
распаковываем all.spawn через ACDC и открываем alife_marsh.ltx и в самый конец пишем
[1417]
; cse_abstract properties
section_name = stalker
name = mar_stalker_shmel_00001
position = -138.196701, 1.343444, -273.451813
direction = -0.033603, 0.000000, 0.999435
version = 124
script_version = 8
; cse_alife_trader_abstract properties
money = 5000
character_profile = mar_shmel
; cse_alife_object properties
game_vertex_id = 139
level_vertex_id = 76962
object_flags = 0xfffff7bf
custom_data = <<END
[logic]
cfg = scripts\marsh\mar_shmel.ltx
END
; cse_visual properties
visual_name = actors\stalker_neutral\stalker_neutral_2
; cse_alife_creature_abstract properties
g_team = 0
g_squad = 0
g_group = 0
dynamic_out_restrictions =
dynamic_in_restrictions =
; cse_alife_monster_abstract properties
; cse_alife_human_abstract properties
equipment_preferences = 2, 2, 0, 1, 2
main_weapon_preferences = 0, 2, 2, 1
smart_terrain_id = 65535
; cse_ph_skeleton properties
; se_stalker properties
upd:health = 1
upd:timestamp = 0
upd:creature_flags = 0
upd:position = -138.196701, 1.343444, -273.451813
upd:o_torso = 0.0541249997913837, 0.0982310026884079, 0
upd:next_game_vertex_id = 80
upd:prev_game_vertex_id = 80
; cse_alife_human_stalker properties
upd:start_dialog =
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
Сохраняем. И запаковываем
далее в character_desc_marsh.xml
<specific_character id="mar_shmel" team_default = "0">
<name>Шмель</name>
<icon>ui_npc_u_neutral_2_mask</icon>
<map_icon x="1" y="0"></map_icon>
<bio>Опытный сталкер. Детальная информация отсутствует.</bio>
<class>mar_shmel</class>
<community>csky</community> <terrain_sect>stalker_terrain</terrain_sect>
<snd_config>characters_voice\human_01\csky\</snd_config>
<rank>150</rank>
<reputation>0</reputation>
<visual>actors\stalker_nebo\stalker_nebo_1</visual>
<supplies>
[spawn] \n
device_torch \n
wpn_pm \n
ammo_9x18_fmj = 1 \n
#include "gameplay\character_items.xml"
#include "gameplay\character_food.xml"
#include "gameplay\character_drugs.xml"
</supplies>
#include "gameplay\character_criticals_4.xml"
<!--#include "gameplay\character_dialogs.xml"-->
<actor_dialog>dm_hello_dialog</actor_dialog>
</specific_character>
Сохраняем.
Идем в npc_profile.xml
<character id="mar_shmel">
<class>mar_shmel</class>
<specific_character>mar_shmel</specific_character>
</character>
P.S. писать <specific_character>mar_shmel</specific_character> обязательно ибо будет вылет это не сквад
Далее идем в spawn_sections_marsh.ltx и пишем
[mar_shmel]:sim_default_csky_0
$spawn = "respawn\mar_shmel"
character_profile = mar_shmel
custom_data = scripts\marsh\mar_shmel.ltx
Сохраняем.
Ну в прочем и все осталось ему дать логику которая должна находиться в scripts\marsh\mar_shmel.ltx
Вот вам пример создадим mar_shmel.ltx и пишем
[logic]
active = remark1
danger = danger_ignore
[danger_ignore]
ignore_distance = 5
[remark1]
no_move = true
НПС будет стоять на месте и не будет шляться куда попало
Все наш НПС создан остается запускать и наслаждаться
Однако на будущее
Не задавайте ремарк в качестве активной это может вызвать неправильное поведение нпс, здесь я на скорую руку написать так чтобы не нагружать урок
Автор:saintsergei
Отредактировано saintsergei (2016-08-15 23:09:42)