Всем привет сегодня будем учится создавать и спавнить нпс в сталкер чистое небо
Автор статьи Kail
нужны программы acdc сылка на нее будет внизу activ perl думаю сами найдете чтож начнем все по шагам
1 создадим профиль
идем сюда gamedata/configs/gameplay/character_desc_локация
я выбрал character_desc_marsh
открыли и видем профиля сталкеров выбирем любой и скопируем немного поменяем так
<specific_character id="test_npc" team_default = "1"> -- имя профиля нпс можно писать что угодно для теста я написал test_npc
<name>GENERATE_NAME_stalker</name> -- имя нашего нпс как его буду звать сейчас стоит случайно имя но можно и свое написать допустим test npc
<icon>ui_npc_u_nebo_1</icon> --- иконка нпс когда будем торговать с нпс в углу экрана иконка нпс нужно писать строго определеную иконку все название иконок смотреть сдесь configs\ui\testures_descr\ui_npc_unique "ui_npc_u_nebo_2_face_1" -- вот навазние иконки в писываем в поле icon
<map_icon x="1" y="0"></map_icon>
<bio>Опытный сталкер. Детальная информация отсутствует.</bio> -- биография пропускаем
<class>test_npc</class> -- класс нпс пишим test npc
<community>csky</community> -- групировка в какой групировке наш нпс состоит навазние группировок смотреть в game_relations
<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> -- рюкзак нпс с чем он будет ходить сейчас унего есть фонарие пм и патроны если хотим другое выдать то в configs/weapons открыли и видим все стволы открываем любой ствол допустим w_ak74 и в самой верху есть название оружия wpn_ak74 прописываем навазние ствола в рюкзак нпс
[spawn] \n
device_torch \n ну и патроны для калаша прописать надо тоже смотреть в конфиге там будет ammo_class
wpn_pm \n
ammo_9x18_fmj = 1 \n
wpn_ak74 \n
назв.патронов =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"
</specific_character>
2.так все профиль нпс мы создали теперь занесем его в npc_profiles
это файл где все созержатся профеля сталкеров
он сдесь лежит configs\gameplay\npc_profile
открыли и видем профиля пропишим наш профиль в самом низу вот так
<character id="test_npc"> -- имя профиля нашего нпс из главного профиля как мы писали test_npc
<class>test_npc</class> класс нпс
</character>
все в профиль занесли
3. так еще нада нашего нпс занести в файл респавна
он сдесь configs\creatures\spawn_section_локация я выбрал spawn_sections_marsh открыли давайте нашего нпс допишим в низу вот так
[test_npc]:stalker --- так сдесь имя респавнера нпс можно писать что угодно лучше давайте напишем test_npc
$spawn = "respawn\test_npc" -- опять имя респавнера
character_profile = test_npc -- имя нпс из главного профиля
custom_data = scripts\marsh\mar_csky_tutorial_man_link.ltx -- так вот тут внимание это файл указывающий путь до логике все зависит от того каким способом в итоге вы будите спавнить через скрипт или аллспавн если через скрипт то путь этот оставляем если через алл спавн то вот эту строку удаляем
так все сделали ну и еще две вещи осталось сделать мне больше все нравится спавнить через аллспавн так сылку на асдс увас есть аллспавн распаковали видим много файлов alife_локация и way_локация я выбрал alife_marsh открыли в поиске вбиваем stalker поиск выдаст нам секцию сталкера копируем ее
4.
[1076] --- порядковый номер будте внимательны что бы нповторялся иначе спавн небудет паковатся
; cse_abstract properties
section_name = stalker - имя нетрогаем
name test_npc - уникальное имя можно любое писать напишем test_npc
position = 148.582870483398,0.552102982997894,-52.9420013427734 кординаты где будет стоять наш нпс
direction = 0.0786280035972595,0.0473890006542206,-0.102466002106667
; cse_alife_trader_abstract properties
money = 5000
character_profile = test_npc --- вот имя из главного профиля что мы там писали test_npc
; cse_alife_object properties
game_vertex_id = 14 -- кординаты гейм вертакса
distance = 20.2999992370605
level_vertex_id = 223762 -- коордитаны л. вертакса
object_flags = 0xfffff7bf
custom_data = <<END-- кастом дата
[logic] - наша логика
active = walker@mar_test_npc -активируем нашу логику
[walker@mar_test_npc] - сама логика
path_walk = mar_test_npc_walk -- точка где и куда пойдем нпс -- и еще ps это точка валк куда пойдем нпс после атаки кординаты указывать такие же какие и самого спавна нпс
path_look = mar_test_npc_look -- куда смотрит наш нпс
danger = danger_condition@mar_test_npc -- что игнорирует наш нпс -- что бы сталкер смотрел куда вам нада то отходим от нашего нпс снимаем корды и в писываем сюда все сталкер будет смотреть туда где вы стояли и сняли корды
[danger_condition@mar_test_npc]
ignore_distance = 0 -- игнорируем дистанцию равную нолю
[smart_terrains]
none = true - под смарт неберем
END
; cse_visual properties
visual_name = actors\stalker_nebo\stalker_nebo_1
; cse_alife_creature_abstract properties
g_team = 0
g_squad = 0
g_group = 0
health = 0
dynamic_out_restrictions =
dynamic_in_restrictions =
upd:health = 0
upd:timestamp = 0
upd:creature_flags = 0
upd:position = 148.582870483398,0.552102982997894,-52.9420013427734
upd:o_model = 0
upd:o_torso = 0.0473890006542206,0.0786280035972595,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,0,2,2,1
predicate4 = 1,1,0,0
; cse_ph_skeleton properties
upd:start_dialog =
; se_stalker properties
5. и последнее создадим точки поента точки walk и Look открываем way_локация я выбрал way_marsh и пишим
[mar_test_npc_look] - навазние точки -- куда смотрит уже говорил как делать
points = p0
p0:name = wp00
p0:flags = 0x1
p0:position = -92.874862670898,1.5913770198822,50.799606323242
p0:game_vertex_id = 93
p0:level_vertex_id = 178614
[mar_test_npc_walk] -- навазвание точки писать строго какое навазние точки указывали в логике если напишите друго что то то будет вылет с жалобой на скрипт _g. или вылет без лога
points = p0
p0:name = wp00
p0:flags = 0x1
p0:position = -98.313926696777,2.186553478241,45.846912384033 -- координаты самого спавна нпс куда пойдет нпс после атаки на нпс
p0:game_vertex_id = 93
p0:level_vertex_id = 174146
ну вот и все вот мы создали нпс
вот сылка нпс асдс
http://rghost.ru/36924545 актив перл думаю сами найдете автор статьи kail
да и еще последний момент спрашивали мол куда класть асдс и алл спавн правильно честно скажу куда угодно лижбы актив перл был установлен просто в батнике асдс что бы распаковать алл спавн пишим так perl acdc.pl -d all.spawn
pause
а для запаковки аллспавна пишим так perl acdc.pl -c all.ltx
pause
можно папку с асдс помистить на раб. стол в эту же папку кинуть аллспавн ну и батники для запаковки и распаковке а перл можно вообще на диске с где то в папке держать или на диске д тоже в папке да и еще уменя версия перла perl5.8.8 может это как то поможет ну вот все