В этой статье мы научимся создавать и спавнить НПС через all.spawn

ВНИМАНИЕ!

Данная статья предназначена на Чистое небо Автор:saintsergei
Пояснения я писать не буду ибо вы и так должны знать что всё обозначает но если вы новичок то ознакомьтесь с урокоми по созданию НПС по Зову Припяти или Тень Чернобыля 
НПС появиться на болотах в базе Чистого неба у бармена
У НПС визуал будет Чновский а иконка опытного сталкера
Мы создаем простого НПС а не отряд

Не пытаться создавать отряд это не сквад сквады и смарты мы потом рассмотрим

И так начнем :rolleyes:

распаковываем 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)