--- Создание уникального НПС для СТАЛКЕР ТЧ ---
Для начала нужно распаковать один из архивов игры,
я взял gamedata.dbb (1.0006). Чтобы распаковать игровые архивы нужная программа STALKER_Data_Unpacker_RU.
Дальше создаем папку gamedata и kопируем содержимое этого архива в эту папку. Если нет ниже указанных файлов то берем из других архивов.
Всего нам понадобится только несколько файлов, остальнoе позже можно будет удалить. Теперь распаковываем all.spawn утилитой ACDC.
-- Как работает ACDC?
1).Создаем папку на диске С.
2).В эту папку бросаем acdc_10004.exe и all.spawn.
2).Дальше "Пуск" и "Выполнить"
3).В нем пишем cd\ ->Enter-> cd C:\10004 ->Enter-> acdc_10004 -d all.spawn [-o outdir] - для распаковывания и
acdc_10004 -c all.ltx [-o outfile] - для запаковк.
Открываем блокнотом alife_l01_escape.ltx и в конец вставляем это (важно придерживаться
последовательности в нумерации - [870]!!!). И так, создаем сталкера на прозвище Рембо (например):
[870]
; cse_abstract properties
section_name = stalker
name = esc_rembo
position = -206.322647094727,-22.5344200134277,-126.801452636719
direction = 0,0,0
; cse_alife_trader_abstract properties
money = 5000
character_profile = esc_rembo
; cse_alife_object properties
game_vertex_id = 58
distance = 3.5
level_vertex_id = 47222
object_flags = 0xffffffbf
custom_data = < [smart_terrains]
none = true
[logic]
active = walker
[walker]
path_walk = esc_rembo_walk
path_look = esc_rembo_look
meet = meet
[meet]
meet_state = 2 | wait
meet_state_wpn = 2 | wait
victim = 3 | actor
victim_wpn = 3 | actor
use = true
use_wpn = true
END
story_id = 93
; cse_visual properties
visual_name = actors\novice\green_stalker_2
; 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 = 0x617a6b75
upd:creature_flags = 0x6b
upd:position = -206.322647094727,-22.5344200134277,-126.801452636719
upd:o_model = 0
upd:o_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 = 2,2,0,1,1
predicate4 = 0,2,0,2
; cse_ph_skeleton properties
upd:start_dialog =
; se_stalker properties
Больш детально:
position = -206.322647094727,-22.5344200134277,-126.801452636719
game_vertex_id = 58
level_vertex_id = 47222
--- координаты где появится персонаж.
Лучше воспользоваться программой S.T.A.L.K.E.R.Position Informer 0.3.5
с помощу которой можно снимать координати с игры.
character_profile = esc_rembo
--- Название ID профиля в character_desc_escape.xml
(gamedata\config\gameplay\character_desc_escape.xml).
--------------------------------------------------------------------
Так задаем логику:
[logic]
active = walker
[walker]
path_walk = esc_rembo_walk
path_look = esc_rembo_look
meet = meet
[meet]
meet_state = 2 | wait
meet_state_wpn = 2 | wait
victim = 3 | actor
victim_wpn = 3 | actor
use = true
use_wpn = true
path_walk = esc_rembo_walk - точка, где будет стоять наш сталкер.
path_look = esc_rembo_look - точка, в сторону какой будет смотреть сталкер.
--------------------------------------------------------------------
story_id = 93
--- ID персонажа, прописываем в game_story_ids.ltx, следим, чтобы ID неповторялса.
(gamedata\config\game_story_ids.ltx).
--------------------------------------------------------------------
сохраняем, дальше в файл way_l01_escape.ltx из распакованного all.spawn
вставляем это в самый конец:
[esc_rembo_walk]
points = p0
p0:name = wp00|p=100|t=30000
p0:flags = 0x1
p0:position = -206.322647094727,-22.5344200134277,-126.801452636719
p0:game_vertex_id = 58
p0:level_vertex_id = 47222
[esc_rembo_look]
points = p0
p0:name = wp00|p=100|t=30000
p0:flags = 0x1
p0:position = -202.785705566406,-22.4076194763184,-129.277069091797
p0:game_vertex_id = 58
p0:level_vertex_id = 49780
---------------------------------------------------------------------
После этого сохраним файл и запаковываем назад в all.spawn/
исходный файл будет all.spawn.new просто переименовываем в all.spawn
и копируем в gamedata\spawns
Дальше открываем character_desc_escape.xml (gamedata\config\gameplay\character_desc_escape.xml)
В конец вставляем:
esc_rembo_name
ui_npc_u_stalker_ki_head_1
esc_stalker_novice_bio
esc_rembo
stalker stalker_terrain
422
-3
actors\killer\stalker_ki_head_1
characters_voice\human_01_ukr\stalker\
-1
[spawn] \n
wpn_pm \n
ammo_9x18_fmj \n
wpn_lr300 = 1, scope silencer launcher cond = 0.9 \n
ammo_5.56x45_ss190 = 1 \n
#include "gameplay\character_criticals_4.xml"
hello_dialog
Да, есть, теперь опишу это:
- силка на профиль из all.spawn
esc_rembo_name - имя персонажа, открываем файл stable_bio_name.xml и прописываем
это в конец:
Рембо/text>
(gamedata\config\text\rus\stable_bio_name.xml)
esc_rembo - нужный позже,
- настройка бабла у персонажа,
ui_npc_u_stalker_ki_head_1 - иконка в ПДА\Контакти.
actors\killer\stalker_ki_head_1 - модель сталкера.
characters_voice\human_01\stalker\ - звуки.
[spawn] \n
wpn_pm \n
ammo_9x18_fmj \n
wpn_lr300 = 1, scope silencer launcher cond = 0.9 \n
ammo_5.56x45_ss190 = 1 \n - здесь спавним оружие сталкеру
hello_dialog - диалоги.
Теперь открываем npc_profile.xml (в той папке что и character_desc_escape.xml)
И после секции
esc_provodnik
вставляем это:
esc_rembo
И остается добавить это в конец файлa spawn_sections.ltx
(gamedata\config\creatures)
[esc_rembo]:stalker
$spawn = "respawn\esc_rembo"
character_profile = esc_rembo
spec_rank = novice
community = stalker
Если все зделали правильно то сталкер на прзвище Рембо
заспавнитса в втором подвале, возле Волка.