Вообщем чтобы не было распросов сделал инструкцию по спавну npc через ACDC
И так приступим:
Создание npc:
Сначало делаем профиль нпс в character_desc_escape.xml по адресу gamedata\config\gameplay\
В файле character_desc_escape.xml, в самом низу, перед тегом пишем профиль нового непися:
- Любой id (только не повторяющийся) желательно из 4 слов (так легче)
Линхост - Имя npc на русском яз для примеро мой ник (можно поставить GENERATE_NAME_stalker -ник произвольный) ui_npc_dark_voron - иконка которая будет у npc при разговоре sim_stalker_novice_bio
stalker_portal_npc_01 -- класс респавна делайте так пишем ид только вместо последнего слова ставим 01 stalker - группировка нашего nps возьмем одиночка (stalker) сколько денег у nps тег- infinitive="1" - говорит что бабло бесконечное
1000 - ранк -553 - репутация
actors\novice\green_stalker_2 - сюда пишется ссылка на модель тоесть облик например обычный новичок (actors\novice\green_stalker_2) characters_voice\human_01\monolith\ - тоже ссылка только на звук тоесть каким голосом он будет говорить -1 0
[spawn] \n - спавним что хотим сейчас например у него будет в руках гаусс пушка
wpn_gauss \n
ammo_gauss \n
отсюда начинаются диалоги тут диалоги на квесты и т.д ( у нас обычный - npc типа раскажи как дела он скажет да норм и т.д) hello_dialog
#include "gameplay\character_dialogs.xml"
Теперь что у нас должно получится в character_desc_escape.xml без объяснения :
Это уже рабочий вариант профиля вставляете в конце character_desc_escape.xml перед тегом
Далее идем в npc_profile.xml, который находится там же где и character_desc_escape.xml
Пишим в конце это
- тот же ид что и в профиле stalker_portal_npc_01 -- тот же класс что и в профиле stalker_portal_npc_test -- ссылка на профиль опять пишем id профиля.
Без объяснения:
stalker_portal_npc_01 stalker_portal_npc_test
Всё готово вставляем в конце перед тегом
Теперь лезем в 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 = <
[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 13:14 GMT3 час.
_DarK_StalkeR_ такого там нет там только спавн через скрипт и спавн торговца! Но просто NPC по инструкции торговца ни кто что то заспанить не может;-) вот и просят - вот я и сделал!
не знаю, мое мнение, что спавн через аллспавн абсолютно тупиковый путь, тем более для живых персонажей. Удобней и правильней делать это через скрипты. Погляжу я на вас, как вы будете проверять спавн вашего НПС например в Припяти :ye)
До каких пор людей, по крохам собиравших державу и беспощадно каравших её врагов, мы будем обзывать палачами, а индивидов, разваливших страну и пустивших на ветер труды целых поколений, именовать реформаторами? (Ф.М. Достоевский)
Погляжу я на вас, как вы будете проверять спавн вашего НПС например в Припяти
Уже проглядел.:-)
Это я о проверке спавна в ЗП2. Спавнился на ту же локу, что и нпц и проверял.
Да и какой же мод без полного прохождения ПРЕфинальной версии?:-)
Зона поражения 3 (когда ни будь в другой реальности...)
Иватушник
Я например использую функцию Меченого(**500140b7e12bf63c3891** секции из spawn_section.ltx",vector():set(x,y,z),level_vertex,game_vertex_id)
end[/code]
Удобней и правильней делать это через скрипты.
Вряд ли можно говорить о "правильности". Кому то удобно так, кому то так...
Зависит от ситуации.
К примеру если ты разрабатываешь мод, и тебе без разницы начинать новую игру или нет (про смену координат спавна ГГ Web Strikеr уже сказал), то использовать асдс.
А если к примеру тебе нужно заспавнить кого/что-нибудь, при этом сохранив прогресс прохождения, то конечно скрипт.
отредактировал(а) Отшель[НИК]: 12-08-2009 17: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, line 27
проверил скомпилировал другой нью.спаун - получилось
с исполнительными файлами (де)кампиляции точно все в порядке!
что за фигня?
добавлено спустя 1 минуту
тоесть нпс смотрит в точку указанную в директии! даже если она на километр от него?
отредактировал(а) -ReSt-: 11-10-2009 19:45 GMT3 час.
я эту ошибку чтобы увидеть ввел в файле сompile.bat такую финкцию в конце: -pause
а так без паузы окно кмнд строги мигнет и все, никаких компилированных файлов не появляестя!
добавлено спустя 46 секунд
Ребят выручайте проблема! all.spawn декомпилил без проблем сделал пару изменений, точнее двух неписей ннйтралов на агропроме, запаковываю обратно - все запускается, проходит сис. окно windы и все, ни all.spawn.new ни ошибки - кто подскажет в чем проблема?
добавлено спустя 1 минуту
тоже самое в точности!!!
добавлено спустя 48 секунд
новый асдс установил и ниче не изменилось!
добавлено спустя 34 минут
а в каком случае после вылета игры лог фаил остается пустым?
отредактировал(а) -ReSt-: 12-10-2009 11:34 GMT3 час.
Продолжая пользоваться сайтом, вы соглашаетесь с использованием файлов cookie. Страницы сайта могут содержать информацию, запрещенную для просмотра посетителям младше 18 лет. Авторское право на серию игр «S.T.A.L.K.E.R» и используемые в ней материалы принадлежит GSC Game World.