| Автор |
Сообщение |
|
| 11-08-2009 12:38 GMT3 час. #1004610 |
|
|
|
|
|
| 11-08-2009 13:05 GMT3 час. #1004649 |
Вообщем чтобы не было распросов сделал инструкцию по спавну 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
#include "gameplay\character_items.xml" \n
#include "gameplay\character_drugs.xml" \n
#include "gameplay\character_food.xml"
#include "gameplay\character_criticals_3.xml"
отсюда начинаются диалоги тут диалоги на квесты и т.д ( у нас обычный - npc типа раскажи как дела он скажет да норм и т.д)
hello_dialog
#include "gameplay\character_dialogs.xml"
Теперь что у нас должно получится в character_desc_escape.xml без объяснения :
Линхост
ui_npc_dark_voron -
sim_stalker_novice_bio
stalker_portal_npc_01
stalker
1000
-553
actors\novice\green_stalker_2
characters_voice\human_01\monolith\
-1
0
[spawn] \n
wpn_gauss \n
ammo_gauss \n
#include "gameplay\character_items.xml" \n
#include "gameplay\character_drugs.xml" \n
#include "gameplay\character_food.xml"
#include "gameplay\character_criticals_3.xml"
hello_dialog
#include "gameplay\character_dialogs.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 тотже путь к модели (он тут не учитывается также как спавн но если надо значит надо - пишем что и в профиле)
; cse_alife_creature_abstract properties
g_team = 0
g_squad = 0
g_group = 0
health = 2
dynamic_out_restrictions =
dynamic_in_restrictions =
upd:health = 2
upd:timestamp = 0
upd:creature_flags = 0
upd:position = -215.67399597168,-20.403390884355,-151.03227233887 пишем теже координаты что и в position
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,1,2,0
predicate4 = 2,2,1,2
; cse_ph_skeleton properties
upd:start_dialog =
; se_stalker properties
Без объянений:
[30000]
; cse_abstract properties
section_name = stalker
name = stalker_portal_npc_test
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
; cse_alife_object properties
game_vertex_id = 61
distance = 0.0
level_vertex_id = 42599
object_flags = 0xfffffffb
custom_data = <
[logic]
cfg = scripts\portal_npc.ltx
[spawn]
wpn_gauss
END
; 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 = 2
dynamic_out_restrictions =
dynamic_in_restrictions =
upd:health = 2
upd:timestamp = 0
upd:creature_flags = 0
upd:position = -215.67399597168,-20.403390884355,-151.03227233887
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,1,2,0
predicate4 = 2,2,1,2
; cse_ph_skeleton properties
upd:start_dialog =
; se_stalker properties
Готово вставляем в конце
Теперь логика
Создаем файл обычный текстовый только с разрешением 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
Готово
Без объяснений:
[logic]
active = camper
[camper]
path_walk = patrol_path
path_look = patrol_path
radius = 30
no_retreat = true
shoot = 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 час.
|
|
|
| 12-08-2009 11:10 GMT3 час. #1005795 |
а ты не напишешь как сделать чтоб гг в начале игры появлялся в баре? |
|
|
|
| 12-08-2009 11:15 GMT3 час. #1005801 |
nik-93 xd! открываеш all.spawn в файле alife_l01_escape ищещ функцию с номером 63 там вбиваеш нужные координаты! |
|
|
|
| 12-08-2009 12:53 GMT3 час. #1005958 |
а как транспорт спавнить? |
|
|
|
| 12-08-2009 13:12 GMT3 час. #1005992 |
На Вики гейминатора вроде всё есть по этому поводу. Да и не мешало бы сделать wiki.stalker-portal.ru. |
|
|
|
| 12-08-2009 13:40 GMT3 час. #1006014 |
а чем открыть all spawns? |
|
|
|
| 12-08-2009 13:55 GMT3 час. #1006028 |
p@tRyOt, глупый вопрос. Читай второй пост перед тем как чтото спрашивать. |
|
|
|
| 12-08-2009 14:13 GMT3 час. #1006049 |
_DarK_StalkeR_ такого там нет там только спавн через скрипт и спавн торговца! Но просто NPC по инструкции торговца ни кто что то заспанить не может;-) вот и просят - вот я и сделал! |
|
|
|
| 12-08-2009 15:11 GMT3 час. #1006074 |
не знаю, мое мнение, что спавн через аллспавн абсолютно тупиковый путь, тем более для живых персонажей. Удобней и правильней делать это через скрипты. Погляжу я на вас, как вы будете проверять спавн вашего НПС например в Припяти :ye) |
|
|
|
| 12-08-2009 15:20 GMT3 час. #1006076 |
Deathdoor Погляжу я на вас, как вы будете проверять спавн вашего НПС например в Припяти
Уже проглядел.:-)
Это я о проверке спавна в ЗП2. Спавнился на ту же локу, что и нпц и проверял.
Да и какой же мод без полного прохождения ПРЕфинальной версии?:-) |
|
|
|
| 12-08-2009 17:04 GMT3 час. #1006163 |
Deathdoor спавн через аллспавн абсолютно тупиковый путь, тем более для живых персонажей. Удобней и правильней делать это через скрипты.
Категорически поддерживаю. Удобнее, в разы проще, гибче, совместимость не страдает... Полностью за скриптовый спавн. |
|
|
|
| 12-08-2009 17:25 GMT3 час. #1006180 |
Ну дак напишите как скриптами спавнить |
|
|
|
| 12-08-2009 17:35 GMT3 час. #1006194 |
Иватушник
Я например использую функцию Меченого(**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 час.
|
|
|
| 12-08-2009 18:20 GMT3 час. #1006237 |
Спавните через скрипт только если будут пробле со спавном в подвалах и подземельях не надо плакать типа что не спавнится!Не зря разрабы использовали all.spawn |
|
|
|
| 12-08-2009 18:26 GMT3 час. #1006243 |
Чтоб тема не перетекла в другое русло, зарание предупреждаю, для обсуждение Скрипт спавна есть отдельная тема в этом разделе. |
|
|
|
| 12-08-2009 18:29 GMT3 час. #1006248 |
Web Strikеr +, тема создана для тех кому нужно освоить спавн через all.spawn, а не для того чтобы выяснять у кого спавн круче!
Пишим только по теме и задаем вопросы по теме! |
|
|
|
| 21-08-2009 16:40 GMT3 час. #1015140 |
Ребят выручайте проблема! all.spawn декомпилил без проблем сделал пару изменений, точнее двух неписей ннйтралов на агропроме, запаковываю обратно - все запускается, проходит сис. окно windы и все, ни all.spawn.new ни ошибки - кто подскажет в чем проблема? |
|
|
|
| 10-10-2009 12:54 GMT3 час. #1061570 |
у меня с асдс вообще никак не получается!:-(
как вообще этой утилой пользоватся? помогите плиз! |
|
|
|
| 10-10-2009 16:40 GMT3 час. #1061895 |
-ReSt- Читай мой пост сверху там все оч подробно |
|
|
|
| 11-10-2009 10:27 GMT3 час. #1062597 |
какой номер у долговца каторый спит на базе долга?
как спавнить костер и аномалию електру(мясорубка)? |
|
|
|
| 11-10-2009 15:10 GMT3 час. #1063034 |
я тебе не энциклопедия все можно самому найти в файлах игры костер в бочке это лекго, нужно залезть на бочку в середину и снять координаты затем вбить их сюда
[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 - тоже
; cse_alife_object properties
game_vertex_id = 1185 - вбивай
distance = 1.39999997615814
level_vertex_id = 45203 - вбивай
object_flags = 0xffffff3e
; cse_shape properties
shapes = shape0
shape0:type = sphere
shape0:offset = 0,0,0
shape0:radius = 0.64168655872345
; cse_alife_space_restrictor properties
restrictor_type = 3
; cse_alife_custom_zone properties
max_power = 15
; cse_alife_anomalous_zone properties
offline_interactive_radius = 3 - радиус (жара)
artefact_spawn_count = 32
artefact_position_offset = 0x46e4
все это кидаеш в любой файл и запаковываеш |
|
|
|
| 11-10-2009 17:53 GMT3 час. #1063321 |
я искал! но разобратся что есть что сложновато! сорри за нубство!
добавлено спустя 5 минут
у тя самое прекрасное объяснение из всех что я видел! респект!
добавлено спустя 6 минут
а чт такое direction я это не вбиваю когда спавню объект и все спавнится! |
отредактировал(а) -ReSt-: 11-10-2009 18:04 GMT3 час.
|
|
|
| 11-10-2009 19:04 GMT3 час. #1063445 |
а чт такое direction я это не вбиваю когда спавню объект и все спавнится!
-ReSt- Это координаты направления взляда ( для костра конечно не надо)но например спавниш нпс и хочеш чтоб он смотрел в определенную точку то их нужно вбивать согласно снятым |
|
|
|
| 11-10-2009 19:43 GMT3 час. #1063500 |
я использовал твои инструкции спавна нпс и при компиляции файлов у меня ниче не компилирует!
пишет ошибку : died in stkutils/ini_file.pm line 30, line 27
проверил скомпилировал другой нью.спаун - получилось
с исполнительными файлами (де)кампиляции точно все в порядке!
что за фигня?
добавлено спустя 1 минуту
тоесть нпс смотрит в точку указанную в директии! даже если она на километр от него? |
отредактировал(а) -ReSt-: 11-10-2009 19:45 GMT3 час.
|
|
|
| 11-10-2009 21:47 GMT3 час. #1063704 |
тоесть нпс смотрит в точку указанную в директии! даже если она на километр от него?
да
первый раз вижу такую ошибку установи новый асдс |
|
|
|
| 12-10-2009 10:57 GMT3 час. #1063975 |
я эту ошибку чтобы увидеть ввел в файле сompile.bat такую финкцию в конце: -pause
а так без паузы окно кмнд строги мигнет и все, никаких компилированных файлов не появляестя!
добавлено спустя 46 секунд
Ребят выручайте проблема! all.spawn декомпилил без проблем сделал пару изменений, точнее двух неписей ннйтралов на агропроме, запаковываю обратно - все запускается, проходит сис. окно windы и все, ни all.spawn.new ни ошибки - кто подскажет в чем проблема?
добавлено спустя 1 минуту
тоже самое в точности!!!
добавлено спустя 48 секунд
новый асдс установил и ниче не изменилось!
добавлено спустя 34 минут
а в каком случае после вылета игры лог фаил остается пустым? |
отредактировал(а) -ReSt-: 12-10-2009 11:34 GMT3 час.
|
|
|
| 21-10-2009 08:34 GMT3 час. #1072754 |
Как заставить непися идти по точкам, временами останавливаясь и отыгрывая анимацию, к примеру как сахаров... |
|
|
|
| 21-10-2009 12:59 GMT3 час. #1072853 |
Рыло это не спавн, а логика тебе сюда:
http://www.stalkerin.gameru.net/wiki/index.php/%D0%9D%D0%B0%D1%81%D1%82%D1%80%D0%BE%D0%B9%D0%BA%D0%B0_%D0%BB%D0%BE%D0%B3%D0%B8%D0%BA%D0%B8._%D0%A7%D0%B0%D1%81%D1%82%D1%8C_1
|
|
|
|
| 21-10-2009 19:17 GMT3 час. #1073368 |
я все зделал по твоим инструкциям но игра вылетает при синхронизации и лог пустой!
я зделал каждый символ как у тя и тоже самое! |
|
|