Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Подключение новых локаций к игре
GAMEINATOR forums > S.T.A.L.K.E.R. > S.T.A.L.K.E.R. Архив > S.T.A.L.K.E.R. Архив по модификациям
Страницы: 1, 2
Kostya V
В свое время очень долго не мог понять, как же все-таки подключать к игре свои локи. Сейчас разобрался и хочу поделиться опытом. Некоторые моменты для меня остаются все же непонятными. Надеюсь, что более опытные люди поправят, если я допущу ошибки в описании этого процесса.
Первое, что надо сделать - это настроить инструменты должным образом.

Настройка СДК.
1. Установите СДК на свой компьютер. Лучше полную версию. Читал некоторые отзывы, что облегченная версия глючит.
2. Лучше всего устанавливать СДК по такому адресу (в будущем тогда будет меньше мороки с настройками): C:\Program Files\X-Ray SDK
3. Установите патч для СДК от Neo. Называется SDK Update v 0.1.
4. Возьмите распакованную версию игры Сталкер ТЧ версии 1.0004 (gamedata) и поставьте с заменой в X-Ray SDK\level_editor. Это упростит работу в будущем.
5. Теперь понадобятся инструменты от Бардака xray_re-tools-10sep2008.
6. Из этого набора инструментов необходим сейчас конвертер. С помощью его преобразовываем текстуры деревьев dds2tga. Как - читаем ридми. Необходимо только запустить конвертер на преобразование, остальное он сделает сам. Это необходимо для того, чтобы в СДК появились недостающие текстуры, которых будет много не хватать, если этого не сделать.
7. Открываем СДК. Это делается путем запуска батника LevelEditor в X-Ray SDK\level_editor.
8. Создаем ЛОДы для деревьев. Нажимаем Objects, Library Editor. Открывается окно Object Library. Находим закладку trees\new_trees. Выделяем какой-нибудь куст и нажимаем Make LOD (качество выбираете сами). Открывается окно Select Library Object. Здесь ставим галочки напротив всех деревьев и кустов и нажимаем ОК. Все ЛОДы деревьев готовы. Таким же образом можно сделать ЛОДы камней.
9. Все, теперь камни и деревья настроены.

Настройка конвертера.
Создаем папку X-Ray SDK\converter. Из папки xray_re-tools-10sep2008 от Бардака копируем файлы converter.exe, fsconverter.ltx в эту папку. Это делается для удобства, чтобы все было в одном месте.Файл converter.ini помещаем в папку x-ray sdk\level_editor
Затем настраиваем конвертер.
Если установили СДК, как я говорил в C:\Program Files\X-Ray SDK, то в файле fsconverter.ltx ничего уже настраивать не надо.
В файле converter.ini находим такие строки и исправляем их вот так:

; 2947+ (финалка включая обновления)
[2947_config]:2945_config
$game_data$ = c:\program files\x-ray sdk\level_editor\gamedata\
$game_levels$ = c:\program files\x-ray sdk\level_editor\gamedata\levels\


[aitest_config]:2947_config
$game_data$ = c:\program files\x-ray sdk\level_editor\gamedata\
$game_levels$ = c:\program files\x-ray sdk\level_editor\gamedata\levels\


[3120_config]:2947_config
$game_data$ = c:\program files\x-ray sdk\level_editor\gamedata\
$game_levels$ = c:\program files\x-ray sdk\level_editor\gamedata\levels\

Я не уверен, что это на 100% процентов точно. Но я сделал так и у меня все работает.
Все, теперь конвертер настроен. Как им пользоваться, читаем ридми.

Настройка аиврапера.
Создаем папку X-Ray SDK\aiwrapper. Из папки xray_re-tools-10sep2008 от Бардака копируем файлы aiwrapper.exe, aiwrapper.ini, fsaiwrapper.ltx в эту папку.
Настраиваем аиврапер.
1. Если установили, как говорил выше, то в файле fsaiwrapper.ltx ничего менять не надо.
2. Потом надо скопировать из папки xray_re-tools-10sep2008 папку 2215 в X-Ray SDK\level_editor.

Аивраппер настроен. Можно пользоваться. Как – читаем ридми. Все очень просто, главное соблюдать инструкции.

Для подключения локаций необходимые инструменты - конвертер и аивраппер.
Конвертер нужен для декомпилиции оригинальных уровней, чтобы потом можно было задать АИ-переходы для своей новой локации.
Аиврапер делает все остальное.

Вобщем идем дальше. У нас есть готовый уровень.
1. В СДК делается Make Game, Make AI Map, Make Details, Build этого уровня.
2. Затем делаем компиляцию xr LC, xrDo_light
3. Далее прописываем в конфигах свой уровень. Прописать надо в файлах game_graphs.ltx, game_levels.ltx, game_maps_single.ltx
4. Теперь переходим к работе с аиврапером. Можно или через команду cmd выйти в папку с аивраппером, или Тотал Коммандером открыть эту папку. И потом вводить в командную строку нужные команды.
5. Сначала надо ввести команду aiwrapper -split_spawns. Зачем - читаем ридми к аиврапперу.
6. А потом выполнить последовательно команды из ридми от Бардака для аивраппера.
Цитата
3) Сборка черновой сетки ИИ:
> aiwrapper -draft -f <имя_уровня>
На выходе: gamedata\levels\<имя_уровня>\level.ai.
4) Проверка связности сетки ИИ:
> aiwrapper -verify <имя_уровня>
В случае ошибки поправить ячейки в LE и повторить с п.2.
5) Просчёт укрытий для сетки ИИ. Предварительно необходимо произвести
сборку геометрии для получения build.cform (xrLC, здесь это не
рассматривается). Команда:
> aiwrapper -f <имя_уровня>
Вообще, этот шаг необязателен на ранних этапах тестирования карты.
6) Сборка ИИ-графа:
> aiwrapper -g <имя_уровня>
На выходе: gamedata\levels\<имя_уровня>\level.{graph|gct.raw}
7) Склейка ИИ-графов карт в глобальный игровой граф:
> aiwrapper -m
На выходе: gamedata\game.graph и gamedata\levels\*\level.gct
(см. ниже для случая с картами без исходников)
8) Сборка all.spawn
> aiwrapper -s
На выходе: gamedata\spawns\all.spawn


Все карта скомпилирована. Теперь надо собрать геймдату своего уровня.
Обязательно необходимо скопировать из level_editor\gamedata в свою геймдату следующие файлы:
- config\game_graphs.ltx, config\game_levels.ltx, config\game_maps_single.ltx
- spawns\all.spawn (только предварительно надо добавить в этот all.spawn переход на новую локацию со старой локации, с которой хотим заходить на нее. А также в переходах с новой локации надо прописать точку выхода на старой локации.)
- из папки levels необходимо скопировать в соответствующие папки файлы level.gct для каждого уровня. И не забыть из этой же папки скопировать папку с новым уровнем.
- game.graph
- в папку textures скопировать все свои новые текстуры, которые использовали для своего уровня. Также скопировать файл textures.ltx

Теперь получившуюся папку gamedata помещаем в папку с игрой и запускаем новую игру. Все.
yeti666
Есть ли способ загрузить оригинальные локации(одиночные)? Декомпилил кардон, при загрузке выдаёт ошибку "diferent file version!" sad.gif

и ещё в статье:
http://www.stalkerin.gameru.net/wiki/index...вое_руководство
есть фраза
Чтобы уровень можно было создавать прямо из игры
Значит ли это что в сталкере есть встроеный редактор уровней аля quake 4?
Feldar
aiwrapper выдает такую ошибку при сборе олл.спаун

xrAI-generated $2215_game_spawn$\L01_Escape.spawn
[bug] assertion failed at ..\xr_entity.cxx:158

Не вразумите, что это за беда такая (раньше такого не было) ?
Сталкероненавистник
Чтобы сделать две локи вместе надо:
1.Обе по конфигам расписаьт
2.Поставить на каждую локу:start_actor_01 и start_actor_02
и коннекшн поинт и левел чангер
Feldar
Вот такая у меня хрень:

Все стадии проходят на ура... но когда я разбираю полученный all.spawn

Появляется alife_lxx_unknown.ltx

В котором находятся все мои объекты, которые я расставил на новом уровне.

а в alife_test_lv1.ltx (спавн моего уровня)

находятся такие объекты:

[8641]
; cse_abstract properties
section_name = breakable_object
name = meshes\brkbl#0.ogf
position = 41.653938293457,2.45071411132813,60.5442924499512
direction = 0.337862461805344,0.0211265161633492,-0.0729989036917686

................................................................................
...............

[8643]
; cse_abstract properties
section_name = climable_object
name = clmbl#0
position = -5.98154306411743,3.51221346855164,5.73438930511475
direction = -0.00147923140320927,-2.43510767177213e-005,1.57078921794891

................................................................................
...............

соответственно вылет при создании новой игры:


[error]Expression : header().graph_guid() == ai().game_graph().header().guid()
[error]Function : CALifeSpawnRegistry::load
[error]File : E:\stalker\patch_1_0004\xr_3da\xrGame\alife_spawn_registry.cpp
[error]Line : 167
[error]Description : Spawn doesn't correspond to the graph : REBUILD SPAWN!




P.S. А вообще после команды aiwrapper -g test_lv1
нужно собирать level.graph всех уровней оригинала или это делается после -m2 ???
Kostya V
Твоя ошибка говорит о том, что твой алл.спавн не соответствует game.graph. Она никак не связана с тем, что ты нашел в алл.спавне секции breakable_object и climable_object.
Скорее всего ты при собирании алл.спавна взял не тот файл all.ltx.

level.graphы всех уровней оригинала собирать не надо. Команда aiwrapper -m
(aiwrapper -m2)собирает все level.graphы в глобальный game.graph.

В первом посте этой темы я рассказал, как все это можно сделать. Такой способ на 100% рабочий.
Feldar
Цитата(Kostya V @ 17.05.2009, 17:32) *
Твоя ошибка говорит о том, что твой алл.спавн не соответствует game.graph. Она никак не связана с тем, что ты нашел в алл.спавне секции breakable_object и climable_object.
Скорее всего ты при собирании алл.спавна взял не тот файл all.ltx.

level.graphы всех уровней оригинала собирать не надо. Команда aiwrapper -m
(aiwrapper -m2)собирает все level.graphы в глобальный game.graph.

В первом посте этой темы я рассказал, как все это можно сделать. Такой способ на 100% рабочий.



дык вот собрал все как сказанно в первом посте...
олл.спавн распаковывается с таким же результатом

просто не распаковывая запустил игру и вылет с такойже ошибкой(
GHOST
А как подключать к паку локаций дополнительные готовые уровни без xray-sdk?И как собрать из нескольких game.graph один?
========================================
Заранее извиняюсь за свои нубские вопросы,но знать очень хочется
Kostya V
Цитата(GHOST @ 30.08.2009, 00:32) *
А как подключать к паку локаций дополнительные готовые уровни без xray-sdk?И как собрать из нескольких game.graph один?

СДК не нужен, чтобы подключить дополнительные готовые уровни. Если они на самом деле уже полностью готовы. Для этого нужен Аивраппер. В инструкции к аиврапперу есть подробная информация, как это можно сделать.
GHOST
спасибо,костя.Твои локации супер,жаль deadcity под твоей редакцией нет
StUnDeR
вот вопрос. я маппер. в нашем моде будет несколько новых лок, и с этип проблемма.я сохдал локу все сделал как надо и у меня собрался all.spawn собрал другую. и у меня два оллспавна и в каждом по одной локе записано. как сделать один оллспавн с этими двумя локами?? надеюсь вы поймете что я имею ввиду)) biggrin.gif
Pihan13
stalkers-life, по-моему тебе надо:
1) в конфигах прописать твои уровни.
2) каждый из них ты собери и откомпиль
3) прогоняешь каждый по отдельности через аивраппер командами:
Код
aiwrapper -draft -f уровень
aiwrapper -verify уровень
aiwrapper -f уровень
aiwrapper -g уровень

и уже в конце, когда каждая из твоих лок прогнана через аивраппер командами выше, запускай аивраппер с командами:
Код
aiwrapper -m
aiwrapper -s

тогда соберётся один единый аллспавн и геймграф
bill_gates
А по какому принцыпу в ЗП подключаются локации? Там вроде еще с ЧН версии файл game.graph зашили в файл all.spawn и поэтому врядли получится подсоединить новые уровни к существующим стандартными командами AIwrapper`a. Может кто знает как объединить game.graph с all.spawn чтобы уровни работали?
StUnDeR
а если аикомпилером?? все записывается в тест.спавн, так вот если я одну запишу, а потом вторую прогоню она создат новый тест спавн затерев старый, или в старый припишет?
adept
Всем привет! У меня такая проблема на 4 стадии в ai compiller
http://i025.radikal.ru/0911/8e/82de250b4cfe.jpg
Что нетак? На второй стадии немогло найти файл msvcp71D.dll, но я взял файл msvcp71.dll и добавил в него букву D. После этого 1,2и3 стадии проходят без проблем, а вот 4 нехочет.
Орион
adept, http://narod.ru/disk/15535664000/bins.7z.html
Тут msvcp71D.dll и msvcp71.dll - закинь в папку level_editor\bins
Если будут вылеты по каким-то библиотекам - выложу всю папку bins.
adept
Орион непомогло. Теперь вообще выбивает http://s50.radikal.ru/i127/0911/0e/5d1e6fbd5254.jpg
Скинь пожалуйста полную папку bins. А в какую именно папку сконуть эти файлы? Папка bins у меня выгладет так http://i014.radikal.ru/0911/ac/d5276ef838b8.jpg
Орион
adept, Сейчас залью папку свою. Попробуй комбилятор и все файлы для него закинуть в папку bins.

Что-то кажется у Вас урезанная версия СДК. Качали с офф сайта инсталлятор в 370мб?
SaleR
adept, читал уже здесь про это, Нео говорил, что это что-то с game_levels.ltx, не знаю, попробуй поковыряйся.
Орион
Залил свою бинс: http://narod.ru/disk/15537736000/bins%20(copy%202).7z.html
adept
=SaleR= более чем возможно что что-то с game_levels.ltx ведь нада в конфигах прописывать свой уровень, а я этого делать неумею(((( делал по уроку но там не все ясно доконца новая папка bins непомогла(((
SaleR
adept, вот здесь статья, там и про конфиги есть.
Орион
Цитата(adept @ 30.11.2009, 21:45) *
новая папка bins непомогла(((

Если скачал урезанный СДК - уже ничего не поможет. Сохраняй проект ручками в отдельном месте и ставь полный СДК с офф. сервера.
adept
=SaleR= дык я по этой статье и делал, ток не все понял. Всмысле некоторые строки куда вписывать sad.gif
SaleR
adept, говори, что не понял, там вроде все легко)
adept
Ну например сдесь надо вместо testing_ai написать название своего уровня?

game_maps_single.ltx
[level_maps_single]
...
testing_ai
//название вашего уровня

[testing_ai]
global_rect = -6,1220.0, 248.0,1481.0
texture = map\map_escape
//текстура при загрузке
bound_rect = -502.148,-412.284,379.976,474,479
weathers = default
//погода




И сдесь тоже вместо testing_ai тоже визде писать свое название?
game_levels.ltx
[levels]
...
level190
//номер вашего уровня

[level190]
name = testing_ai
caption = "testing_ai"
offset = 2000.0, 800.0, 1000.0 // положение нового уровня на глобальной карте, X, Y, Z
id = 193
//индентифакционный номер, должен быть уникальным


Орион У меня полный СДК+патчи, но не русифицированый
somebody
Мухахаха, как коррелируются конфиги и некорректный граф?
Kostya V
adept,
Файл MSVSR71D.dll попробуй поместить в C:\WINDOWS\system32.

http://i025.radikal.ru/0911/8e/82de250b4cfe.jpg
вот на этом скрине надо прочитать строки выше Fatal Error.
Там внятно написано, что у тебя что-то не то с оригинальными уровнями. Поэтому и не хочет делать компиляцию с этим шагом.
Думаю тебе надо проверить комплектацию оригинальных уровней.


А как прописывать уровень в конфигах, можно посмотреть на примере оригинальных уровней.
somebody
Перестаньте трогать дебаговые библиотеки. Используйте нормальные инструменты и проверяйте свой граф. Которого даже может и не быть, учитывая суть вопроса.
Ронин
У кого-нибудь получилось подключить новые локи к Map Pack'у? Поделитесь опытом, если получилось
SaleR
Scarabay, там вроде ничего трудного, в конфигах из пака прописываешь свой скомпилированный уровень, не забудь из пака кинуть все файлы в папку levels, и потом собираешь общий геймграф, и в олл.спавне добавляешь переход и все. Ну это я рассказал очень кратко, смотри здесь.
Ронин
=SaleR=, спасибо за ответ конечно, но дело в том, что у Болот нет level.graph'а (по непонятным причинам), и, следовательно, при компиляции game.graph'а aiwrapper'ом когда доходит до болот вылазит ошибка
Kostya V
Scarabay,
Вот выписка из инструкции Бардака к аиврапперу:
Цитата
6) Сборка ИИ-графа:
> aiwrapper -g <имя_уровня>
На выходе: gamedata\levels\<имя_уровня>\level.{graph|gct.raw}
Pihan13
Ребят, в каких конфигах и скриптах нужно прописать чтобы заработал уровень со смартами и гулагами?
без смартов, всё нормально, ставлю смарты - вылетает. пробовал ставить на Кордон - всё получается
Отец Каллагэн
Помогите разобраться

Декомпилирую уровень ,вот что выходит:

C:\Program Files\X-Ray SDK\converter>converter -level l06_rostok -out rostok_mp
-mode le -with_lods
log started (console and converter.log)
level name: l06_rostok
loading level.ltx
loading level.geom

C:\Program Files\X-Ray SDK\converter>pause
Для продолжения нажмите любую клавишу . . .

Настроил вроде всё как надо,по крайней мере с текстурами всё прошло нормально.Помогите , что не так делаю?
starter
На АМК форуме появилась тема - Уровни для S.T.A.L.K.E.R. - CoP,
Шаманство с СДК и прочее... есть ссылки на переделанный CoP
с новыми сингллоками !!!

http://www.amk-team.ru/forum/index.php?showtopic=8808
adept
Помогите с aiwrapper!!! не работает команда aiwrapper -split_spawns ввожу жму Enter и потом http://s55.*banned_host*/i150/0912/fc/b0d721139a42.jpg
че я нетак делаю? Я распаковал архивы игры и все файлы(5.73Гб) скинул в папку C:\Program Files\X-Ray SDK\level_editor\gamedata
StUnDeR
работай аи компилером- там все легче и тоже работает
adept
аи компилер почемуто неработает angry.gif
StUnDeR
в смысле неработает? что происходит??ты в сдк точно делаешь все стадии?? мэйк аи мейк гейм и тд?? аи сетку накладываешь??
xroo
Настроил конвертер, декомпилировал пару локаций из ТЧ - получилось, скинул Припять из ЗП - не получилось, выкидывает такую ошибку:

Код
reading pri_a16_actor_treasure (inventory_box): 304 <> 324
can't create entity campfire
can't create entity campfire
can't create entity campfire
[bug] assertion failed at ..\xr_entity_script.cxx:393

This application has requested the Runtime to terminate it in an unusual way.
Please contact the application's support team for more information.

Строка батника вот такая:

Код
converter -level pripyat -out CoP_pripuat -mode le

Что это может означать, а именно чем является pri_a16_actor_treasure, и что такое inventory_box, я не знаю. Я попробовал перекинуть Meshes из ЗП в SDK (работа методом тыка) - естественно, это не помогло.

Как настраивают все эти дела для декомпиляции уровней ЗП?
HitmanNew
Удали файл level.spawn и очисти level.ltx
xroo
Удалил и очистил - не помогло, та-же ошибка.
PATRON
Тогда удали ещё:
level.game
level.gct
level.graph
xroo
Кажись, заработало...

Я прошу прощения, я таки удалил не level.spawn... а что-то другое... не знаю что. Как только переименовал level.spawn в levelx.spawn, всё конвертировалось, только с кучей ошибок, которые я забыл как звучат.

Главное, левел хоть с ошибками. но всё-же загрузился в SDK.
Сталкероненавистник
xroo,
Там есть множество ничего не значущих и не на что не влияющих ошибок..
Reltig
Выручайте понимающий народ, проблемка возникла, то есть она была и ранее, только я её не замечал. Дело в том, что поидее же каждому уровню назначается Левел Вертекс и всем всем общий Гейм вертекс, не так ли? Я вот когда -то баловался с добавлением локаций на примере мп_атп, добавлял уровень в сингл и проблема была в то, что спавн объекты, например снайперку, не удовалось спавнить на высоте, например на крыше, а спавнилось в итоге только на земле, под крышой на самом первом этаже. Так вот меня мучает вопрос один - эта беда была от того, что я куда-то не добавил левел вертекс и не обновил гейм вертекс ? Просто я проссматривал некоторые статьи о скриптах про спавн объектов в игре, и там было сказанно, что если с будующими координатами не написать Л/Г - вертекс, объект может например провалиться под землю.

Подскажите кто-нибудь решение проблемы, напишите пожалуйста в ЛС ответ, или хотя бы ссылочку дайте
"Выручайте братцы! Кто нибудь!"
Сталкероненавистник
Цитата
Выручайте понимающий народ, проблемка возникла, то есть она была и ранее, только я её не замечал. Дело в том, что поидее же каждому уровню назначается Левел Вертекс и всем всем общий Гейм вертекс, не так ли? Я вот когда -то баловался с добавлением локаций на примере мп_атп, добавлял уровень в сингл и проблема была в то, что спавн объекты, например снайперку, не удовалось спавнить на высоте, например на крыше, а спавнилось в итоге только на земле, под крышой на самом первом этаже. Так вот меня мучает вопрос один - эта беда была от того, что я куда-то не добавил левел вертекс и не обновил гейм вертекс ? Просто я проссматривал некоторые статьи о скриптах про спавн объектов в игре, и там было сказанно, что если с будующими координатами не написать Л/Г - вертекс, объект может например провалиться под землю.


Спавнится не по кординатами геометрии, а по кординатам АИ сетки.

Скорее всего аи сетка у тебя была сгенерирована только для террейна
Kostya V
Цитата
Дело в том, что поидее же каждому уровню назначается Левел Вертекс и всем всем общий Гейм вертекс, не так ли?
Не так. Почитай статьи по добавлению локаций в сингл.
Цитата
Я вот когда -то баловался с добавлением локаций на примере мп_атп, добавлял уровень в сингл и проблема была в то, что спавн объекты, например снайперку, не удовалось спавнить на высоте, например на крыше, а спавнилось в итоге только на земле, под крышой на самом первом этаже.

в СДК есть флажок "Used AI locations". Вот он и влияет на то, может ли спавнится объект выше АИ сетки.
Trollz0r
Цитата(xroo @ 21.02.2010, 13:13) *
текст
Настроил конвертер, декомпилировал пару локаций из ТЧ - получилось, скинул Припять из ЗП - не получилось, выкидывает такую ошибку:

Код
reading pri_a16_actor_treasure (inventory_box): 304 <> 324
can't create entity campfire
can't create entity campfire
can't create entity campfire
[bug] assertion failed at ..\xr_entity_script.cxx:393

This application has requested the Runtime to terminate it in an unusual way.
Please contact the application's support team for more information.

Строка батника вот такая:

Код
converter -level pripyat -out CoP_pripuat -mode le

Что это может означать, а именно чем является pri_a16_actor_treasure, и что такое inventory_box, я не знаю. Я попробовал перекинуть Meshes из ЗП в SDK (работа методом тыка) - естественно, это не помогло.

Как настраивают все эти дела для декомпиляции уровней ЗП?


Точно такая же проблема вылезла и у меня. После удаления level.game и level.spawn вижу вот что:


ТЧ-локации как обычно, конвертирует.
Кто что посоветует? Как обойти ошибку, что сделать, чтобы конвертер не вылетал?
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Форум IP.Board © 2001-2024 IPS, Inc.