Перейти к контенту

[SoC] Вопросы по SDK


faniloko

Рекомендуемые сообщения

@BFG, тот, где выскакивало это, склеивал xrAI. А что, разве можно склеивать чем-то другим?  Проблем не будет?

А вот потом, когда подсоединял локу к остальным, пользовался уже ggrc, и там всё прошло штатно. Даже вертексы не сбились. Застопорился на другом - на распаковке графа. А если быть точным - то на этой части:

 

Нужно тут же его утащить и распаковать с помощью gg_cdc_x - проверить game.graph.info.cross_edges.ltx - все ли переходы остались на месте (должны быть все), а так же как вписалась локация - в game.graph.levels.ltx наша локация должна быть конечной и с самым большим level_id. В game.graph.levels_info.ltx она тоже должна быть последней, там же можно увидеть её минимальный и максимальный вертексы. Минимальный вертекс должен быть тот же что был когда проверяли граф, сделанный компилятором - у нас это был вертекс 2792.
Теперь необходимо проверить, не сдвинулись ли идентификаторы локаций в графе. Почти наверняка - сдвинулись, так как в оригинале там есть груда ссылок на тестовые локации разработчиков. Проверить это можно в game.graph.levels.ltx, сравнив идентификаторы локаций там с идентификаторами в конфигах game_graphs.ltx и game_levels.ltx - если они отличаются, то обязательно поправляем идентификаторы в конфигах на те, что в геймграфе!
По добавлению переходов - чтобы их добавить вам желательно было заранее создать кроссграфы на локации. Если вы это сделали, тогда вам нужно сделать вот что - распаковать геймграф, сформированный при компиляции локации. Найти там в конфиге графов новой локации - game.graph.edges. сделанные вами переходы - они будут помечены как "crosslevel edge". Ещё их легко найти по параметру target_level_id - он у них отличается от исходного для этой локации. После того как нашли - скопируйте их прописи в отдельный файл. Затем откройте конфиг новой локации в сведённом вместе графе. При сведении переходы прибились, поэтому надо теперь в новом конфиге найти те же самые графпоинты на которых висели переходы. Ищите их по параметру parent_level_vertex_id. Как только найдете - перед тем как править - скопируйте в отдельный файл. Затем замените им параметры target_level_id, target_level_vertex_id и game_vertex_id на те, которые были у сделанных вами переходов. Не забудьте выставить дистанцию - это будет расстояние перехода. Сохранитесь. Теперь откройте конфиги game.graph.edges. тех локаций на которые создали переходы - нужно же сделать ещё переходы в обратную сторону. Открыв, найдите там те графы, с которыми только что сделали соединения с новой локации. Ищите по параметру parent_level_vertex_id - у наиболее подходящего графпоинта он будет равен target_level_vertex_id перехода с новой локации. После того как нашли, откройте файл в который сохранили не изменённые ещё графпоинты новой локации, на которые были сделаны переходы. Теперь аналогично - затем замените им параметры target_level_id, target_level_vertex_id и game_vertex_id на те, которые были у графпоинтов новой локации до изменения. Так мы добьемся того, чтобы входы и выходы с локации были примерно на одном месте. Не забудьте выставить дистанцию! Теперь всё сохраняем, и компилируем граф. Если всё сделано правильно граф сохранится, и при проверке его ggtool.pl вы увидите в списке сделанные вами переходы.
Если всё нормально, то можно скопировать граф обратно.

 

У меня просто ни одного подобного ltx не было. Вот и не знаю теперь.

Изменено пользователем V92

 

Мой музыкальный аддон для ОП-2 + Музыкальные флешки для плеера - для тех, кому не нравится оригинальная музыка. Более 150 новых треков различных направлений и исполнителей, каждый найдёт музыку на свой вкус. Апдейт 1.1 от 30.03.2015 - в плеер добавлены записи реальных радиостанций + наиболее подходящие миксы. Торрент.
Пак измененных локаций из ОГСЕ 0.6.9.3 для ОП-2. Скачать можно здесь.

Ссылка на комментарий

Такая вот строка в логе при компиляции game.graph(xrAI -m):

Graph for the level l10u_bunker doesn't correspond to the graph points from Level Editor! (132 : 131)

Чет не могу сообразить, что это значит ? И главное как вылечить ?

Ссылка на комментарий

UnLoaded, граф уровня l10u_bunker не соответствует граф-поинтам из ЛЕ. Как вариант, пересобрать левел.граф для данного уровня.

P.S. Могу ошибаться. Давно с ТЧ не работал.

Изменено пользователем Melo

Во имя Материнки, Винта и Святого интернета. Админ!

Ссылка на комментарий
UnLoaded, либо Make game. Если не поможет, то Make AI-map-> Make game, и в итоге еще сетку собрать.

Во имя Материнки, Винта и Святого интернета. Админ!

Ссылка на комментарий

 

 

Это Make Game

Он самый. В итоге получишь level.spawn, в который вшит весь спавн, включая графпоинты.

Ссылка на комментарий

@User_X.A.R26, я уже решил, обходными путями. Не спорю - твой способ тоже сработает, но громоздкий слишком.


Вопрос - если я правлю в СДК спавн, потом создаю его "Make game", мне нужно компилить заново геометрию, сетку и прочее, или можно просто взять этот level.spawn и кинуть в папку с уровнем?

 

Мой музыкальный аддон для ОП-2 + Музыкальные флешки для плеера - для тех, кому не нравится оригинальная музыка. Более 150 новых треков различных направлений и исполнителей, каждый найдёт музыку на свой вкус. Апдейт 1.1 от 30.03.2015 - в плеер добавлены записи реальных радиостанций + наиболее подходящие миксы. Торрент.
Пак измененных локаций из ОГСЕ 0.6.9.3 для ОП-2. Скачать можно здесь.

Ссылка на комментарий
Вопрос - если я правлю в СДК спавн...

Делал как то для себя шпаргалку, думаю тебе сгодится:

После добавления/изменения спавн-объектов и правки AI-сетки в СДК - Compile > Make Game, Build нужен только после изменения геометрии.
Если изменяем спавн-объекты в СДК, то:
Compile > Make Game
xrAI.exe -no_separator_check -s
 
Если изменяем ai-сетку в СДК, то:
Compile > Make Game
xrAI.exe -f лока
xrAI.exe -g лока
xrAI.exe -m
xrAI.exe -no_separator_check -s
 
Если изменяем граф-поинты в СДК, то:
Compile > Make Game
xrAI.exe -g лока
xrAI.exe -m
xrAI.exe -no_separator_check -s

Изменено пользователем UnLoaded
  • Полезно 4
Ссылка на комментарий

@UnLoaded, надо граф для этой локи собирать, она не указана в конфигах, ее надо вроде типа самому додуматься вписать ;). И тогда все будет вполне православно. Хотя спавн и без этого выкрутаса компилится, правда с косяками или без я не проверял, дописал и не парился.

 

@V92, можно даже левел.спавн не брать если в дальнейшем на это забить планируешь. Работает и просто если взять алл.спавн новый.

Изменено пользователем Карлан
  • Спасибо 1
Ссылка на комментарий

@Карлан, да я бы и не парился, но:

1. Чтобы через gg_cdc_x прописать переходы, надо распаковать граф, созданный при сомпиляции АИ измененной локи, чтобы было понятно, куда вешать переходы.

2. Чтобы при компиляции АИ создались переходы, нужно создать граф локи, куда они ведут, чтобы xrAI внес ее в граф, иначе переходов не будет.

3. Чтобы создать граф локи, надо, в свою очередь, иметь нормальный level.spawn, иначе граф не создастся.

4. Чтобы был нормальный level.spawn, надо его отредактировать в СДК, чтобы xrAI не вылетал при создании графа. Ибо когда локу (затон) переносили в ТЧ, кинули оригинальный level.spawn из ЗП, что, естественно, приводит к вылетам по отсутствующим секциям. 

Вот сколько извращений, чтобы подключить локацию к остальным.

 

Мой музыкальный аддон для ОП-2 + Музыкальные флешки для плеера - для тех, кому не нравится оригинальная музыка. Более 150 новых треков различных направлений и исполнителей, каждый найдёт музыку на свой вкус. Апдейт 1.1 от 30.03.2015 - в плеер добавлены записи реальных радиостанций + наиболее подходящие миксы. Торрент.
Пак измененных локаций из ОГСЕ 0.6.9.3 для ОП-2. Скачать можно здесь.

Ссылка на комментарий

Нарисовалась проблема: внес правки в АИ-сетку, перекомпилил всё заново xrAI, но когда начал соединять графы ggrc, получилось вот что:

 

l01_escape (0) -- 1206.28771972656 --> l02_garbage (415)
l01_escape (1) -- 21.1956672668457 --> l02_garbage (252)
l01_escape (37) -- 205.726379394531 --> marsh (3574)
l01_escape (167) -- 230.149261474609 --> marsh (3581)
l02_garbage (252) -- 21.1956672668457 --> l01_escape (1)
l02_garbage (254) -- 359.349212646484 --> l03_agroprom (701)
l02_garbage (255) -- 415.383026123047 --> l05_bar (1168)
l02_garbage (256) -- 571.261413574219 --> l04_darkvalley (816)
l02_garbage (312) -- 334.513305664063 --> peshera (2878)
l02_garbage (379) -- 501.802154541016 --> aver (2888)
l02_garbage (405) -- 170.943725585938 --> puzir (2883)
l02_garbage (414) -- 382.628204345703 --> l05_bar (1307)
l02_garbage (415) -- 1206.28771972656 --> l01_escape (0)
l03_agroprom (566) -- 579.561157226563 --> peshera (2862)
l03_agroprom (654) -- 204.328720092773 --> l03u_agr_underground (718)
l03_agroprom (701) -- 359.349212646484 --> l02_garbage (254)
l03_agroprom (702) -- 183.118194580078 --> marsh (3483)
l03u_agr_underground (718) -- 204.328720092773 --> l03_agroprom (654)
l04_darkvalley (811) -- 329.950927734375 --> l04u_labx18 (1167)
l04_darkvalley (816) -- 571.261413574219 --> l02_garbage (256)
l04_darkvalley (894) -- 921.716369628906 --> aver (2908)
l04u_labx18 (1167) -- 329.950927734375 --> l04_darkvalley (811)
l05_bar (1168) -- 415.383026123047 --> l02_garbage (255)
l05_bar (1246) -- 807.048889160156 --> l07_military (1545)
l05_bar (1248) -- 730.219177246094 --> l06_rostok (1308)
l05_bar (1307) -- 382.628204345703 --> l02_garbage (414)
l06_rostok (1308) -- 730.219177246094 --> l05_bar (1248)
l06_rostok (1409) -- 582.198852539063 --> l08_yantar (1460)
l08_yantar (1458) -- 2880.29467773438 --> av_peshera (2912)
l08_yantar (1460) -- 582.198852539063 --> l06_rostok (1409)
l08_yantar (1461) -- 201.319061279297 --> l08u_brainlab (1540)
l08_yantar (1528) -- 2940.1162109375 --> l10_radar (2116)
l08u_brainlab (1540) -- 201.319061279297 --> l08_yantar (1461)
l07_military (1545) -- 807.048889160156 --> l05_bar (1246)
l07_military (1547) -- 391.152313232422 --> l10_radar (1867)
l07_military (1722) -- 1700.06628417969 --> aver (2905)
l07_military (1848) -- 970.637390136719 --> atp_for_test22 (2793)
l07_military (1850) -- 1854.63537597656 --> dead_city (3601)
l10_radar (1865) -- 646.896240234375 --> l11_pripyat (2271)
l10_radar (1867) -- 391.152313232422 --> l07_military (1547)
l10_radar (1959) -- 1022.59234619141 --> red_forest (3272)
l10_radar (1977) -- 247.964981079102 --> l10u_bunker (2791)
l10_radar (2116) -- 2940.1162109375 --> l08_yantar (1528)
l11_pripyat (2117) -- 2220.5009765625 --> generators (3119)
l11_pripyat (2207) -- 760.852355957031 --> zaton (3665)
l11_pripyat (2223) -- 945.762817382813 --> l40_dshor (3758)
l11_pripyat (2271) -- 646.896240234375 --> l10_radar (1865)
l11_pripyat (2272) -- 2402.35131835938 --> l12_stancia (2399)
l12_stancia (2275) -- 3705.77172851563 --> l40_dshor (3769)
l12_stancia (2281) -- 4254.783203125 --> zaton (3664)
l12_stancia (2399) -- 2402.35131835938 --> l11_pripyat (2272)
l12u_sarcofag (2465) -- 177.621780395508 --> l12u_control_monolith (2468)
l12u_sarcofag (2466) -- 458.968688964844 --> l12_stancia (2384)
l12u_control_monolith (2468) -- 177.621780395508 --> l12u_sarcofag (2465)
l12u_control_monolith (2470) -- 1104.79431152344 --> l12_stancia_2 (2660)
l12_stancia_2 (2660) -- 1104.79431152344 --> l12u_control_monolith (2470)
l10u_bunker (2791) -- 247.964981079102 --> l10_radar (1977)
atp_for_test22 (2793) -- 970.637390136719 --> l07_military (1848)
atp_for_test22 (2795) -- 2262.39453125 --> l11_pripyat (2134)
atp_for_test22 (2795) -- 667.243530273438 --> red_forest (3270)
peshera (2862) -- 579.561157226563 --> l03_agroprom (566)
peshera (2878) -- 334.513305664063 --> l02_garbage (312)
puzir (2883) -- 170.943725585938 --> l02_garbage (405)
puzir (2885) -- 3274.5693359375 --> red_forest (3323)
aver (2887) -- 551.832824707031 --> av_peshera (2985)
aver (2888) -- 501.802154541016 --> l02_garbage (379)
aver (2905) -- 1700.06628417969 --> l07_military (1722)
aver (2908) -- 921.716369628906 --> l04_darkvalley (894)
av_peshera (2912) -- 2880.29467773438 --> l08_yantar (1458)
av_peshera (2985) -- 551.832824707031 --> aver (2887)
limansk (3000) -- 826.1171875 --> red_forest (3232)
limansk (3026) -- 1856.41772460938 --> lost_village (3324)
limansk (3027) -- 1323.375 --> hospital (3074)
hospital (3071) -- 487.912231445313 --> generators (3128)
hospital (3073) -- 2774.23901367188 --> lost_village (3331)
hospital (3074) -- 1323.375 --> limansk (3027)
generators (3119) -- 2220.5009765625 --> l11_pripyat (2117)
generators (3128) -- 487.912231445313 --> hospital (3071)
generators (3142) -- 537.218383789063 --> warlab (3223)
warlab (3223) -- 537.218383789063 --> generators (3142)
red_forest (3228) -- 1213.60510253906 --> dead_city (3599)
red_forest (3232) -- 826.1171875 --> limansk (3000)
red_forest (3270) -- 667.243530273438 --> atp_for_test22 (2795)
red_forest (3272) -- 1022.59234619141 --> l10_radar (1959)
red_forest (3323) -- 3274.5693359375 --> puzir (2885)
lost_village (3324) -- 1856.41772460938 --> limansk (3026)
lost_village (3331) -- 2774.23901367188 --> hospital (3073)
marsh (3483) -- 183.118194580078 --> l03_agroprom (702)
marsh (3574) -- 205.726379394531 --> l01_escape (37)
marsh (3581) -- 230.149261474609 --> l01_escape (167)
dead_city (3599) -- 1213.60510253906 --> red_forest (3228)
dead_city (3601) -- 1854.63537597656 --> l07_military (1850)
zaton (3660) -- 674.113220214844 --> jupiter (3733)
zaton (3664) -- 4254.783203125 --> l12_stancia (2281)
zaton (3665) -- 760.852355957031 --> l11_pripyat (2207)
jupiter (3730) -- 406.738128662109 --> jupiter_underground (3771)
jupiter (3733) -- 674.113220214844 --> zaton (3660)
l40_dshor (3748) -- 334.685089111328 --> labx8 (3831)
l40_dshor (3751) -- 671.869689941406 --> jupiter_underground (3793)
l40_dshor (3758) -- 945.762817382813 --> l11_pripyat (2223)
l40_dshor (3769) -- 3705.77172851563 --> l12_stancia (2275)
jupiter_underground (3771) -- 406.738128662109 --> jupiter (3730)
jupiter_underground (3793) -- 671.869689941406 --> l40_dshor (3751)
labx8 (3831) -- 334.685089111328 --> l40_dshor (3748)
{ gvid0 => 0, name => 'l01_escape' },
{ gvid0 => 252, name => 'l02_garbage' },
{ gvid0 => 416, name => 'l03_agroprom' },
{ gvid0 => 703, name => 'l03u_agr_underground' },
{ gvid0 => 811, name => 'l04_darkvalley' },
{ gvid0 => 1109, name => 'l04u_labx18' },
{ gvid0 => 1168, name => 'l05_bar' },
{ gvid0 => 1308, name => 'l06_rostok' },
{ gvid0 => 1438, name => 'l08_yantar' },
{ gvid0 => 1529, name => 'l08u_brainlab' },
{ gvid0 => 1545, name => 'l07_military' },
{ gvid0 => 1862, name => 'l10_radar' },
{ gvid0 => 2117, name => 'l11_pripyat' },
{ gvid0 => 2273, name => 'l12_stancia' },
{ gvid0 => 2402, name => 'l12u_sarcofag' },
{ gvid0 => 2467, name => 'l12u_control_monolith' },
{ gvid0 => 2517, name => 'l12_stancia_2' },
{ gvid0 => 2661, name => 'l10u_bunker' },
{ gvid0 => 2792, name => 'atp_for_test22' },
{ gvid0 => 2862, name => 'peshera' },
{ gvid0 => 2881, name => 'puzir' },
{ gvid0 => 2886, name => 'aver' },
{ gvid0 => 2909, name => 'av_peshera' },
{ gvid0 => 2988, name => 'limansk' },
{ gvid0 => 3028, name => 'hospital' },
{ gvid0 => 3076, name => 'generators' },
{ gvid0 => 3153, name => 'warlab' },
{ gvid0 => 3224, name => 'red_forest' },
{ gvid0 => 3324, name => 'lost_village' },
{ gvid0 => 3337, name => 'marsh' },
{ gvid0 => 3582, name => 'dead_city' },
{ gvid0 => 3660, name => 'zaton' },
{ gvid0 => 3700, name => 'jupiter' },
{ gvid0 => 3748, name => 'l40_dshor' },
{ gvid0 => 3771, name => 'jupiter_underground' },
{ gvid0 => 3830, name => 'labx8' },
{ gvid0 => 3851, name => 'l40_dshor' },

 

Почему уровень дублируется 2 раза и заменяет Припять из ЗП? Что я не так делаю?

 

Мой музыкальный аддон для ОП-2 + Музыкальные флешки для плеера - для тех, кому не нравится оригинальная музыка. Более 150 новых треков различных направлений и исполнителей, каждый найдёт музыку на свой вкус. Апдейт 1.1 от 30.03.2015 - в плеер добавлены записи реальных радиостанций + наиболее подходящие миксы. Торрент.
Пак измененных локаций из ОГСЕ 0.6.9.3 для ОП-2. Скачать можно здесь.

Ссылка на комментарий

 

 

Почему уровень дублируется 2 раза и заменяет Припять из ЗП? Что я не так делаю?

Кашпировские опять в отпуске, откуда-ж мы знаем что ты не так делаешь, если кроме лога, который для ответа тебе бесполезен, ты даже содержимое батника запуска ggrc не показываешь ? И вообще, зачем ggrc, если ты "перекомпилил всё заново xrAI". А разве 'xrAI -m' не гейм-граф создает ?

Ссылка на комментарий

А затем, что xrAI создает кривой граф. Там вертексы почему-то сбиваются. А в ggrc с ними все нормально, и вообще я всё по статье делаю. И дело не в батнике, обычный стандартный батник:

 

perl ggrc.pl -g1 game.graph,soc -l1 l01_escape,l02_garbage,l03_agroprom,l03u_agr_underground,l04_darkvalley,l04u_labx18,l05_bar,l06_rostok,l08_yantar,l08u_brainlab,l07_military,l10_radar,l11_pripyat,l12_stancia,l12u_sarcofag,l12u_control_monolith,l12_stancia_2,l10u_bunker,atp_for_test22,peshera,puzir,aver,av_peshera,limansk,hospital,generators,warlab,red_forest,lost_village,marsh,dead_city,zaton,jupiter,pripyat,jupiter_underground,labx8 -g2 game2.graph,soc -l2 l40_dshor
pause

 


 

 

Кашпировские опять в отпуске

Всё, проблема решена. Спасибо за "помощь".

 

Мой музыкальный аддон для ОП-2 + Музыкальные флешки для плеера - для тех, кому не нравится оригинальная музыка. Более 150 новых треков различных направлений и исполнителей, каждый найдёт музыку на свой вкус. Апдейт 1.1 от 30.03.2015 - в плеер добавлены записи реальных радиостанций + наиболее подходящие миксы. Торрент.
Пак измененных локаций из ОГСЕ 0.6.9.3 для ОП-2. Скачать можно здесь.

Ссылка на комментарий

 

 

А затем, что xrAI создает кривой граф. Там вертексы почему-то сбиваются.

С учетом того, что разговор начался с "внес правки в АИ-сетку", хочу спросить: а что Вас смущает в изменении вертексов, после правки AI-сетки ? AI-нода в СДК, после обработки AI-компилятором становится level_вертексом в игре. Так как Вы так хотите хитро - изменить кол-во AI-нод на локации и сохранить их неизменными в игре ? Или я не понял какие вертексы Вы имели в виду ?

 

Да и вообще - что с того, что "вертексы сбиваются" ? xrAI -s, для всех объектов под которыми AI-сетка изменилась, автоматом все поправит и все объекты останутся на своих местах.

Ссылка на комментарий
что с того, что "вертексы сбиваются"

А скриптовый спавн потом перелопачивать кто будет? Я - точно не буду. Там-то ничего не исправляется. Сбиваются гейм-вертексы других лок, это видно после распаковки. Тех, которые я не правил. С моей все нормально.

 

 

Написал бы, как решил.

Да ничего особенного, забыл правленые конфиги в геймдату закинуть. Вот он по старым граф и собирал. В них Припять была 37-й, а в новых все ID сместились на 3 назад. Получилось, что моя лока стала 37, а Припять - 34. Хотя она не дублировала ничего, просто убиралась.

 

Сейчас проблема похуже - при заходе на локу сразу идет вылет, если пройти несколько метров:

 

[error]Expression : I != levels().end()

[error]Function : GameGraph::CHeader::level

[error]File : e:\stalker\sources\trunk\xr_3da\xrgame\game_graph_inline.h

[error]Line : 171

[error]Description : there is no specified level in the game graph : 49

 

 

Даже и не знаю, в чем дело. Такой вылет в солянке часто бывает, но там он рандомный. А тут - 10 из 10 - вылет. Думал из-за спавна - очистил весь спавн локи, оставил в файле только переходы Затон-Долина и Долина-Затон. Всё равно вылетает.

Изменено пользователем V92

 

Мой музыкальный аддон для ОП-2 + Музыкальные флешки для плеера - для тех, кому не нравится оригинальная музыка. Более 150 новых треков различных направлений и исполнителей, каждый найдёт музыку на свой вкус. Апдейт 1.1 от 30.03.2015 - в плеер добавлены записи реальных радиостанций + наиболее подходящие миксы. Торрент.
Пак измененных локаций из ОГСЕ 0.6.9.3 для ОП-2. Скачать можно здесь.

Ссылка на комментарий

Через СДК возможно запретить, либо сильно ограничить спавн артефактов для какой-либо аномалии не создавая новых секций? Вариант использования "слабых" аномалий типа noart не устраивает. 

Изменено пользователем Stalker_AleX333

aka Stalker_AleX333
 
Мои проекты  - ЯндексДиск   |   Я на Gamer-Mods.ru

Ссылка на комментарий

Создайте аккаунт или авторизуйтесь, чтобы оставить комментарий

Комментарии могут оставлять только зарегистрированные пользователи

Создать аккаунт

Зарегистрировать новый аккаунт в нашем сообществе. Это несложно!

Зарегистрировать новый аккаунт

Войти

Есть аккаунт? Войти.

Войти
  • Недавно просматривали   0 пользователей

    • Ни один зарегистрированный пользователь не просматривает эту страницу.
×
×
  • Создать...