Вообщем чтобы не было распросов сделал инструкцию по спавну npc через ACDC
И так приступим:
Создание npc:
Сначало делаем профиль нпс в character_desc_escape.xml по адресу gamedata\config\gameplay\
В файле character_desc_escape.xml, в самом низу, перед тегом </xml> пишем профиль нового непися:
Цитата<specific_character id="stalker_portal_npc_test"> - Любой id (только не повторяющийся) желательно из 4 слов (так легче)
<name>Линхост</name> - Имя npc на русском яз для примеро мой ник (можно поставить GENERATE_NAME_stalker -ник произвольный)
<icon>ui_npc_dark_voron</icon> - иконка которая будет у npc при разговоре
<map_icon x="0" y="0"></map_icon>
<bio>sim_stalker_novice_bio</bio>
<class>stalker_portal_npc_01</class> -- класс респавна делайте так пишем ид только вместо последнего слова ставим 01
<community>stalker</community> - группировка нашего nps возьмем одиночка (stalker)
<money min="500000" max="500000" infinitive="1"></money> сколько денег у nps тег- infinitive="1" - говорит что бабло бесконечное
<visual>actors\novice\green_stalker_2</visual> - сюда пишется ссылка на модель тоесть облик например обычный новичок (<visual>actors\novice\green_stalker_2</visual>)
<snd_config>characters_voice\human_01\monolith\</snd_config> - тоже ссылка только на звук тоесть каким голосом он будет говорить
<crouch_type>-1</crouch_type>
<panic_treshold>0</panic_treshold>
<supplies>
[spawn] \n - спавним что хотим сейчас например у него будет в руках гаусс пушка
wpn_gauss \n
ammo_gauss \n
отсюда начинаются диалоги тут диалоги на квесты и т.д ( у нас обычный - npc типа раскажи как дела он скажет да норм и т.д)
<start_dialog>hello_dialog</start_dialog>
#include "gameplay\character_dialogs.xml"
</specific_character>
Теперь что у нас должно получится в character_desc_escape.xml без объяснения :
Это уже рабочий вариант профиля вставляете в конце character_desc_escape.xml перед тегом </xml>
Далее идем в npc_profile.xml, который находится там же где и character_desc_escape.xml
Пишим в конце это
Цитата
Цитата<character id="stalker_portal_npc_test"> - тот же ид что и в профиле
<class>stalker_portal_npc_01</class> -- тот же класс что и в профиле
<specific_character>stalker_portal_npc_test</specific_character> -- ссылка на профиль опять пишем id профиля.
</character>
Теперь лезем в gamedata\config\creatures\spawn_sections.ltx и в конце пишем
Цитата[stalker_portal_npc_test]:stalker - в скобках пишем ip профиля
$spawn = "respawn\stalker_portal_npc_test" - пишем id
character_profile = stalker_portal_npc_test - пишем id
community = stalker - пишем группировку что и в профиле
Без объяснения:
Цитата[stalker_portal_npc_test]:stalker
$spawn = "respawn\stalker_portal_npc_test"
character_profile = stalker_portal_npc_test
community = stalker
Всё готово вставляем в конце
Теперь all.spawn Чтобы распоковать используем утилиту ACDC от bardak'a для работы утилиты нужен пакет обновлений ActivePerl-5.10.0.1004-MSWin32-x86-287188 (найдете в поисковике) После установки Актив Перла открываем ACDC и в папку с ним кидаем all.spawn и жмем распаковка
Далее открываем любой файл alife для примера alife_l01_escape и в конце пишем
Цитата[30000] - номер главное чтобы он не повторялся поэтому советую начинать свой отсчет от 30000 (следующий ваш nps будет с номером 30001)
; cse_abstract properties
section_name = stalker
name = stalker_portal_npc_test - любое имя можно id
position = -215.67399597168,-20.403390884355,-151.03227233887 координаты с игры
direction = 0.0445535257458687,-0.000645029998850077,0.0144814234226942
; cse_alife_trader_abstract properties
character_profile = stalker_portal_npc_test - пишем id
; cse_alife_object properties
game_vertex_id = 61 - геймвертекс
distance = 0.0
level_vertex_id = 42599 - левелвертекс
object_flags = 0xfffffffb
custom_data = <<END
[logic] - тут пишем логику nps если ее стереть nps будет тупо бродить по карте поэтому забиваем файл где будет логика имя любое
cfg = scripts\portal_npc.ltx вот конфиг
[smart_terrains]
none = true - [smart_terrains] none = true - можно не писать
[spawn]
wpn_gauss - тот же спавн спавним что хотим
END
story_id = 9958 стори_ид для меток на карте - можно стереть
; cse_visual properties
visual_name = actors\novice\green_stalker_2 тотже путь к модели (он тут не учитывается также как спавн но если надо значит надо - пишем что и в профиле)
Теперь логика
Создаем файл обычный текстовый только с разрешением ltx кидаем его по пути - gamedata\config\scripts\portal_npc.ltx (имя как в all.spawn) и пишем в нём логику логика бывает разной
в начале всегда пишется
[logic]
active =
после active = пишется преимущественная группа
для примера сделаем чтобы наш npc стоял на 1 месте никуда не ходил а привиде врага стрелял в него
ищем логигу camper
и исходя из нее пишем свою:
Цитата[logic]
active = camper
[camper]
path_walk = patrol_path - имя точки патрульного пути которые пишится в way_l01_escape т.к мы делаем стоячего на одном месте в way_l01_escape мы не чего не пишем
path_look = patrol_path - имя точки патрульного пути которые пишится в way_l01_escape
radius = 30 - радиус до врага например если враг подходит к npc ближе чем на 30 метров то npc открывает огонь (радиус любой в пределах разумного)
no_retreat = true - если делаем стоячего (как в нашем случае) то эта функция отключает хождения по точкам path_walk при атаке
shoot = always тип стрельбы ставьте always
Все это должно быть в файле portal_npc.ltx который должен быть по пути gamedata\config\scripts\portal_npc.ltx
На этом пока все в папке с ACDC нажимаем запаковка там появится файл all.spawn.new его копируем в игру переменовываем в all.spawn ну естественно все файлы раскидываем по нужным папкам и тестируем!!
Удачи
P.S Все вопросы по спавну nps или как сделать логику чтобы nps патрулировал по точкам или сидел у костра и травил байки пишите здесь, а не мне в пм!
Сообщение было успешно отредактировано Linhost (11-08-2009 16:14 GMT3 часа, назад)
_DarK_StalkeR_ такого там нет там только спавн через скрипт и спавн торговца! Но просто NPC по инструкции торговца ни кто что то заспанить не может вот и просят - вот я и сделал!
не знаю, мое мнение, что спавн через аллспавн абсолютно тупиковый путь, тем более для живых персонажей. Удобней и правильней делать это через скрипты. Погляжу я на вас, как вы будете проверять спавн вашего НПС например в Припяти
До каких пор людей, по крохам собиравших державу и беспощадно каравших её врагов, мы будем обзывать палачами, а индивидов, разваливших страну и пустивших на ветер труды целых поколений, именовать реформаторами? (Ф.М. Достоевский)
ЦитатаПогляжу я на вас, как вы будете проверять спавн вашего НПС например в Припяти
Уже проглядел.
Это я о проверке спавна в ЗП2. Спавнился на ту же локу, что и нпц и проверял.
Да и какой же мод без полного прохождения ПРЕфинальной версии?
Зона поражения 3 (когда ни будь в другой реальности...)
Иватушник
Я например использую функцию Меченого(Стрелка) (ибо в скриптах дуб дубом):
Код:
function название()
local x=
local y=
local z=
local level_vertex=
local game_vertex_id=
alife():create("название вашей секции из spawn_section.ltx",vector():set(x,y,z),level_vertex,game_vertex_id)
end
ЦитатаУдобней и правильней делать это через скрипты.
Вряд ли можно говорить о "правильности". Кому то удобно так, кому то так...
Зависит от ситуации.
К примеру если ты разрабатываешь мод, и тебе без разницы начинать новую игру или нет (про смену координат спавна ГГ Web Strikеr уже сказал), то использовать асдс.
А если к примеру тебе нужно заспавнить кого/что-нибудь, при этом сохранив прогресс прохождения, то конечно скрипт.
Сообщение было успешно отредактировано Отшель[НИК] (12-08-2009 20:42 GMT3 часа, назад)
"Нет Предназначения… Оно не существует. Единственное, что предназначено всем, - это смерть."
Спавните через скрипт только если будут пробле со спавном в подвалах и подземельях не надо плакать типа что не спавнится!Не зря разрабы использовали all.spawn
Web Strikеr +, тема создана для тех кому нужно освоить спавн через all.spawn, а не для того чтобы выяснять у кого спавн круче!
Пишим только по теме и задаем вопросы по теме!
Ребят выручайте проблема! all.spawn декомпилил без проблем сделал пару изменений, точнее двух неписей ннйтралов на агропроме, запаковываю обратно - все запускается, проходит сис. окно windы и все, ни all.spawn.new ни ошибки - кто подскажет в чем проблема?
я тебе не энциклопедия все можно самому найти в файлах игры костер в бочке это лекго, нужно залезть на бочку в середину и снять координаты затем вбить их сюда
Цитата
[1000000]
; cse_abstract properties
section_name = zone_flame_small
name = zone_flame_small_0006
position = 181.887420654297,0.370713233947754,63.5903053283691 - твои координаты
direction = -9.31322574615479e-010,0,0 - тоже
Цитатаа чт такое direction я это не вбиваю когда спавню объект и все спавнится!
-ReSt- Это координаты направления взляда ( для костра конечно не надо)но например спавниш нпс и хочеш чтоб он смотрел в определенную точку то их нужно вбивать согласно снятым
я использовал твои инструкции спавна нпс и при компиляции файлов у меня ниче не компилирует!
пишет ошибку : died in stkutils/ini_file.pm line 30, <gen> line 27
проверил скомпилировал другой нью.спаун - получилось
с исполнительными файлами (де)кампиляции точно все в порядке!
что за фигня?
добавлено спустя 1 минуту
тоесть нпс смотрит в точку указанную в директии! даже если она на километр от него?
Сообщение было успешно отредактировано -ReSt- (11-10-2009 22:45 GMT3 часа, назад)
я эту ошибку чтобы увидеть ввел в файле сompile.bat такую финкцию в конце: -pause
а так без паузы окно кмнд строги мигнет и все, никаких компилированных файлов не появляестя!
добавлено спустя 46 секунд
ЦитатаРебят выручайте проблема! all.spawn декомпилил без проблем сделал пару изменений, точнее двух неписей ннйтралов на агропроме, запаковываю обратно - все запускается, проходит сис. окно windы и все, ни all.spawn.new ни ошибки - кто подскажет в чем проблема?
добавлено спустя 1 минуту
тоже самое в точности!!!
добавлено спустя 48 секунд
новый асдс установил и ниче не изменилось!
добавлено спустя 34 минут
а в каком случае после вылета игры лог фаил остается пустым?
Сообщение было успешно отредактировано -ReSt- (12-10-2009 14:34 GMT3 часа, назад)
Продолжая пользоваться сайтом, вы соглашаетесь с использованием файлов cookie. Страницы сайта могут содержать информацию, запрещенную для просмотра посетителям младше 18 лет. Авторское право на серию игр «S.T.A.L.K.E.R» и используемые в ней материалы принадлежит GSC Game World.