Статистика форума
Самые активные пользователи
Уважаемые пользователи
Недавно обновленные темы
Новые участники
Страница 1 из 11
Форум » Уроки по созданию модов » Уроки по X-Ray SDK » Запаковка МП Карт
Запаковка МП Карт
Основатель сайта
Пользователь №: 1
Регистрация: 11.10.2012
Звание: Легенда
Сообщений: 621
Статус: Оффлайн
Сообщение # 1
Дата: 30.12.2014 в 06:03
$!№9@ Всем привет...
Много сейчас появилось новых портированых карт для СТАЛКЕРа, и в запакованом виде формата "имякарты.db" и просто папкой "levels".
Если кому попалась запакованая карта, то все просто: кидаешь этот файл в папку с игрой в папку "mp" к остальным картам и все,
а если нет то начинаешь изучать прилагающуюся инструкцию по запихиванию данной папки в папку "gamedata". Некоторым просто
не нравится папка "Gamedata" и они хотели бы иметь нормальную запакованную кару а не апенндикс в виде лишних папок, а тем кто играет с
подменой папок, просто создает лишний геморрой...
Оба варианта карт работают, но: Не всегда присутствует описание и поддерживаемые режимы игры в списке выбираемых карт.

------------------------
ЧАСТЬ 1.
Здесь рассмотрим как запаковать портированную карту...
Для начала нам нужен пакер, сборка от СНК, скачать его можно тут -> Скачать "cs_map_compressor".
Пакер состоит из шести файлов "BugTrap.dll, build_map.ltx, compress_map.cmd, readme.txt, xrCompress.exe, xrCore.dll" и папки "for_levels".

Назначение файлов:
xrCompress.exe - собственно сам компрессор
BugTrap.dll и xrCore.dll - необходимые библиотеки для работы компрессора
readme.txt - краткая инструкция от СНК
build_map.ltx - файл настройки самой карты
compress_map.cmd - файл настойки компрессора


Названия файлов и папок лучше не менять если не разбираетесь, т.к. они все уже настроены для работы, менять будем только содержимое файла "build_map.ltx".
Содержимое и назначение папки "for_levels", внутри находятся три папки: "configs", "levels" и "textures" (если нужно, ещё есть "meshes")

configs - Нужна для добавления описания карты и режимов игры, как в списке выбираемых карт так и в игре самой.
Внутри папка "text", в ней папки "map_desc" и "rus", можно добавить папку "eng" но она нужна для описания на английском языке (если собираетесь делать для англоязычного населения или если увас СТАЛКЕР на английском)...
В папке "map_desc" лежат файлы "darkvalley.ltx" и ".ltx" последний файл нетрогаем он как подсказка, авот "darkvalley.ltx" нам и нужен.
В папке "rus" лежат файлы "map_desc.xml", "mp_mapdesc_darkvalley.xml" первый работает с отдельными (не портированными) картами, а вот последний как раз для портированных...

levels - сюда ложим папку с правлеными настройками портированой карты например папку "имянашейкарты" а вней обычно три файла "level.game", "level.ltx", "level.spawn"
иногда еще и файл "level.ps_static". (levels\имякарты\level.game,level.ltx,level.spawn)

textures - эта папка в основном нужна для создания отдельных (не портированных карт), но и для портированных тоже пригодится. Мы затронем ее позже, пока рассматривать будем только первые две.

meshes - используется только для отдельных карт! В ней содержатся динамические 3д модели для игры.


Итак, приступим непосредственно к действиям:
1. Берем, из архива найденного в интернете, папку с названием карты и со всем ее содержимым кидаем в папку "levels" нашего пакера, если в папке levels была другая папка с картой ее соответственно удаляем...
Название карты должно начинаться на "mp" (пример mp_darkvalley), но только если эта карта мультплеерная, если же меняли карту из одиночной, то "mp" надо удалить чтоб получилось (darkvalley), почему так? Потому, что потом в списке выбираемых карт вы её просто не увидите, в некоторых случаях "mp" можно оставить но будет больше геморроя, а у нас ТУТОР для чайников...

2. Теперь переходим в папку "\configs\text\map_desc\" затем переименовываем файл "darkvalley.ltx" на "имянашейкарты.ltx", затем открываем его блокнотом и редактируем следующее:

----------------------------------------
[map_info]
players = 6-32
modes = "st_deathmatch, st_team_deathmatch, st_artefacthunt, st_capturetheartefact" - типы режимов игры (уточняем из файла "level.ltx")
short_desc = "Здеси пишем краткое описание карты по русски, типа Это моя пробная карта, зацените..."
large_desc = "Здесь пишем полное описание карты по русски, типа Темное место в замкнутой аномалии зоны, попасть туда может любой сталкер попавший в аномалию под названием... и т.д. и т.п."

----------------------------------------

2.1 Чтобы уточнить список рабочих режимов переходим в папку с картой в нашем случае "\levels\имянашейкарты\", открываем блокнотом файл "level.ltx" и смотрим какие режимы указаны в начале файла, а выглядит он примерно так:

----------------------------------------
[map_usage]
ver=1.0
deathmatch - режим "dm"
teamdeathmatch - режим "tdm"
artefacthunt - режим "ah"
capturetheartefact - режим "cta"
;
[level_map]
bound_rect = -15.755024,-18.261710,19.078514,16.735094
texture = map\map_имянашейкарты - путь к текстуре миникарты
;
;
[sub_level_map]
----------------------------------------


В данном случае присутствуют все режимы, но могут быть и по одному, два или три режима, а в файле "имянашейкарты.ltx" надо указать только те, что присутствуют в "level.ltx", т.е. перечисляем их все или то что есть в строке:

----------------------------------------
modes = "st_deathmatch, st_team_deathmatch, st_artefacthunt, st_capturetheartefact" - как в нашем случае указаны все режимы, но если режимы не все или он один то лишние обязательно убираем:
примеры:
modes = "st_team_deathmatch"
modes = "st_deathmatch, st_team_deathmatch"
modes = "st_artefacthunt, st_capturetheartefact"
modes = "st_artefacthunt"
----------------------------------------


Ну варианты могут быть разные, главное чтоб они полностью совпадали с теми которые указаны в файле "level.ltx".
3. Переходим в папку "\configs\text\rus\" и переименовываем файл "mp_mapdesc_darkvalley.xml" в "mp_mapdesc_имянашейкарты.xml" затем редактируем его добавив следующее:

----------------------------------------

имянашейкарты по русски

----------------------------------------

4. Возвращаемся в корневую папку пакера и редактируем файл "build_map.ltx", меняем только параметр "level_name = darkvalley" на "level_name = имянашейкарты", все остальные параметры НЕ ТРОГАТЬ!!!

----------------------------------------

[options]exclude_exts = *.ncb,*.sln,*.vcproj,*.old,*.rc,*.scc,*.vssscc,*.b mp - тут менять НИЧЕГО НЕНАДО...
[include_folders]
levels = true
configs = true
;textures = true

[header]auto_load = false ; do not change !
level_name = darkvalley ; level name - меняем только здесь
level_ver = 1.0 ; level version
entry_point = $fs_root$\gamedata\ ; do not change !
creator = "You can see links before reply" ; creator
link = "You can see links before reply"
---------------------------------------


5. Запускаем compress_map.cmd и ждем когда в корневой папке компрессора появятся файлы: "engine.log" и "for_levels.xdb0"
Если что не так читаем "engine.log" - это лог файл? в котором отображен процесс запаковки карты, если вы всё зделали правильно, то ошибок быть не должно и карта должна быть видна в списке.
6. Получившийся "for_levels.xdb0" переименовываем в "имянашейкарты.db" и суем в папку с игрой в папку "mp".
Готово...

Пользуйтесь на здоровье...

$!№9@r
25.07.2009, 20:50
ЧАСТЬ 2.
Здесь рассмотрим как добавить картинки на загрузку и описание карты, и как их изменить по своему вкусу.
Рассматривать будем непосредственно папку "textures"...

Итак приступим непосредственно к действиям:
1. в папке "textures" создаем папку "intro".
2. Нужно любым "cs_unpaker"-ом распаковать файлы из папки "levels" в папке с игрой ("levels.db0", "levels.db1", "levels.db2") в какую-нибудь папку создайте любую на ваше усмотрение допустим "НАШАИГРА".
Такой "unpaker" уже выкладывала Sveta на нашем сайте, поищите найдете...
3. Теперь в папке "НАШАИГРА\textures\intro\" ищем уже готовые картинки к нашей карте, например:
---------------------------------------
"intro_map_pic_имянашейкарты.dds" - Картинка для меню и описания карты.
"intro_map_pic_имянашейкарты.thm" - Необходимый файл, без него картинки не будет никакой.
"intro_имянашейкарты.dds" - Картинка для загрузки карты.
"intro_имянашейкарты.thm" - Необходимый файл, без него картинки не будет никакой.
---------------------------------------
Рамка для вашей будущей картинки лежит в сдк\sources\intro_textures\
Как вы уже видите нужно взять нетолько картинки но и файлы необходимые чтобы эти картинки в игре всетаки показало.

3.1 Бывает такое что некоторых картинок нашей карты нет например карта "рыжий лес", там только картинка загрузки карты "intro_red_forest.dds" а вот картинку "intro_map_pic_red_forest.dds" придется делать самому...

Приступим к созданию картинки: для этого нам необходимо знать разрешение "256 х 256" и формат картинки "DXT1"

Заходим в игру на нашу карту, выбираем вид получше и делаем скрин, затем в графическом редакторе обычно это фотошоп, ну и виндозский пайнтбраш тоже подойдет, вырезаем участок размером "512 х 360" и уменьшаем размер "ресайзом" в 2 раза, чтоб получилось "256 х 180".

Назревает вопрос почему именно такое разрешение, потомучто именно такой размер окна под картинку в описании "256 х 180" которую будет видно. Но есть одно но на экране вы увидите "256 х 180", а картинку нужно сделать разрешением "256 х 256" иначе в игре в описании ее вытянит т.к. картинка должна быть "256 х 256".
Вот такой парадокс картинка "256 х 256", а видно только "256 х 180"... Следовательно к нашей картинке снизу нужно добавить участок любого цвета до полного разрешения "256 х 256". Можно просто непариться и сразу вырезать кусок "512 х 512" и уменьшить в 2 раза до "256 х 256", но всеравно в игре видно будет только "256 х 180" и размер запакованого файла увеличится на пару-тройку килобайт...

Теперь когда нужная нам картинка готова надо ее переформатировать в формат "DXT1", для этого воспользуемся программой "DirectX Texture Tool" входящей в "Microsoft DirectX SDK (November 2008)", запускаем "DirectX Texture Tool" нажимаем открыть и выбираем наш графический файл. Теперь в меню "Format" выбираем "Change Surface Format..." и в появившемся окне в выпадающем меню выбираем "Four CC 4-bit DXT1" и жмем "ОК".
Выбираем в меню "File" - "Save As..." и сохраняем нашу картинку с расширением ".dds", осталось только переименовать в "intro_map_pic_имянашейкарты.dds", готово...

(Или ставим dds плагин для фотошопа. Сохраняем картинку в формате dds и в окне выбираем формат DXT1)

3.2 Теперь появился вопрос, где взять файл "intro_map_pic_имянашейкарты.thm", ведь родного "intro_map_pic_имянашейкарты.dds" небыло следовательно и родного "intro_map_pic_имянашейкарты.thm" к нему тоже небыло. Открою вам большой секрет все файлы "intro_map_pic_имянашейкарты.thm" одинаковые и можно взять любой от другой карты просто переименовать под нашу, соответвенно и файлы "intro_имянашейкарты.thm" тоже взаимно заменяемые...
4. Копируе найденые файлы (и сделаные недостающие файлы) в папку "for_levels\textures\intro" нашего пакера...
5. В корневой папке пакера редактируем файл "build_map.ltx", меняем только параметр ";textures = true", а вернее убираем ";" в начале строки (получится "textures = true") т.е. паказываем пакеру, что папку "textures" и все ее содержимое тоже нужно добавить в запакованую карту, все остальные параметры как и в ПЕРВОЙ части...
Такжа вместо ";" в начале строки можно просто менять параметр "false" или "true", просто ";" быстрее...
----------------------------------------

[options]exclude_exts = *.ncb,*.sln,*.vcproj,*.old,*.rc,*.scc,*.vssscc,*.b mp - тут менять НИЧЕГО НЕНАДО...
[include_folders]
levels = true
configs = true
textures = true
---------------------------------------
Если у Вас в папке "textures" много папок и вы нехотите запаковывать их все то в строке "textures = true" напишите путь к нашей папке "textures\intro = true", теперь будет обрабатываться только папка "intro" и все ее содержимое.
Тоже можно зделать и со строками "levels = true" и "configs = true", если в них много папок но вам по какимто причинам нехочется их удалять, тоже пишете путь к нужной нам папке например:
---------------------------------------
"levels\имянашейкарты = true"
"configs\text = true"
или если хотите
"levels\имянашейкарты = true"
"configs\text\map_desc = true"
"configs\text\rus = true"
---------------------------------------
6. Все дальше как и п.5 "ЧАСТИ 1" запускаем compress_map.cmd и т.д. все как в первой части.
Готово...

Пользуйтесь наздоровье...

$!№9@r
27.07.2009, 23:40
ЧАСТЬ 3.
Здесь рассмотрим как запаковать полную МП карту....
Допустм, вы уже создали карту или нашли ее в интернете и она не запакована, вопрос куда пихать все эти папки, чтоб в игре эту карту найти и запустить, вот чтоб меньше мучаться, мы ее также запакуем в отдельный ".db" файл согласно первой и второй частей нашего тутора, только с небольшими изменениями.
Итак приступим непосредственно к действиям:
1. Берем все папки входящие в нашу МП карту кидаем в папку "for_levels" нашего пакера соответственно раскидав их по папким,
в папку "levels" кидаем папку с картой, Название папки с игрой должно начинаться на "mp" (пример mp_darkvalley), а в нашем случае "mp_имянашейкарты".
в папку "textures" кидаем папки с текстурами например: "act", "crete", "door", "fbr", "glas", "grnd", "intro", "map", "mtl", "pfx", "prop", "sign", "ston", "sky", "terran", "trees", "veh", "water", "wind", "wood", и т.д.
в папке "configs" все оставляем как есть пока.
Если на нашей МП карте добавлены звуки, то в папке "for_levels" создаем папку "sounds" и туда кидаем папки со звуковыми файлами например: "actor", "anomaly", "nature", "weapons", и т.д. Все звуки должны быть в формате ".ogg"
В общем структуру расположения папок и подпапок с файлами, в папке "for_levels" нашего пакера, можно посмотреть в папке с распаковаными файлами игры ("levels.db0", "levels.db1", "levels.db2"), как и в ЧАСТИ 2 пункте 2., а именно в папке "НАШАИГРА".
2. Переходим в папку "for_levels\configs\text\map_desc" и файл "darkvalley.ltx" переименовываем в название нашей МП карты, а именно в "mp_имянашейкарты.ltx", впереди обязательно добавляем "mp_". Открываем его блокнотом и делаем следующие манипуляции:
---------------------------------------
[map_info]
players = 6-32
modes = "st_team_deathmatch"
short_desc = "Портированая из сингла карта."
large_desc = "Портированая из сингла карта Темная долина... Присоеденяйтесь к братству ЧИТЕРОВ You can see links before reply "
---------------------------------------
Меняем или добавляем режимы игры в строке "modes = " согласно инструкции ЧАСТИ 1. Теперь из файла ".ltx" копируем строки
---------------------------------------
short_desc = "ui_map_desc_darkvalley_short"
large_desc = "ui_map_desc_darkvalley_large"
---------------------------------------
и заменяем ими те которые в данный момент в нашем "mp_имянашейкарты.ltx" файле, чтобы получилось:
---------------------------------------
[map_info]
players = 6-32
modes = "st_team_deathmatch"
short_desc = "ui_map_desc_darkvalley_short"
large_desc = "ui_map_desc_darkvalley_large"
---------------------------------------
Теперь в нижних двух строках, меняем "darkvalley" на "mp_имянашейкарты", должно получиться следующее:
---------------------------------------
[map_info]
players = 6-32
modes = "st_team_deathmatch"
short_desc = "ui_map_desc_mp_имянашейкарты_short"
large_desc = "ui_map_desc_mp_имянашейкарты_large"
---------------------------------------
Все сохраняем изменения и закрываем его.
3. Переходим в папку "for_levels\configs\text\rus" и редактируем файл "map_desc.xml", для МП карты достаточно его одного, чтобы добавить в игру и меню описание игры и название самой карты по русски.
Выглядит он так:
---------------------------------------



Портированая из сингла карта от "You can see links before reply"


Портированая из сингла карта Темная Долина


Темная Долина


----------------------------------------
Тут тоже меняем все "darkvalley" на "mp_имянашейкарты" и меняем краткое и полное описание согласно нашей МП карты. Должно получиься примерно следующее:
----------------------------------------



Здеси пишем краткое описание карты по русски, типа тестовая карта от СНК, зацените...


Здесь пишем полное описание карты по русски, типа Гиблое место на окраине зоны, попасть туда можно только через аномалию под названием... и т.д. и т.п.


Название "имянашейкарты" по русски


---------------------------------------
4. Теперь переходим к папке "for_levels\textures\intro" нашего пакера и добавляем туда картинки для меню описания и загрузки. Чтобы сделать картинки на меню и загрузку, воспользуемся инструкцией из ЧАСТИ 2. пункт - 3.1.
В этих пунктах описано как сделать картинку дла меню описания карты, но ведь нам нужна еще и картинка на загрузку карты, все очень просто делаем все как и картинку для описания, только картинка для загрузки должна быть разрешением "512 х 256" и уменьшать ее ненадо,
дстаточно в сделаном скриншоте вырезать нужный вам участок размером "512 х 256" и все, затем переформатировать его в формат ".dds" и переименовывать в "intro_mp_имянашейкарты.dds". Кидаем готовые картинки в папку, также добавляем к ним дополнительные файлы, должно получиться следующее:
---------------------------------------
"intro_map_pic_mp_имянашейкарты.dds"
"intro_map_pic_mp_имянашейкарты.thm"
"intro_mp_имянашейкарты.dds"
"intro_mp_имянашейкарты.thm"
---------------------------------------
Очень важно, чтобы во всех файлах перед названием нашей карты стояло "mp_" (mp_имянашейкарты). Где взять дополнительные файлы с расширением ".thm" вы уже знаете из ЧАСТИ 2. пункта 3.2.
5. Ну и наконец в корневой папке пакера редактируем файл "build_map.ltx" следующим образом:
---------------------------------------

[options]exclude_exts = *.ncb,*.sln,*.vcproj,*.old,*.rc,*.scc,*.vssscc,*.b mp
[include_folders]
levels = true ; path to your level from current folder
configs = true
textures = true
sounds = true

[header]auto_load = true ; do not change !
level_name = mp_имянашейкарты ; level name
level_ver = 1.0 ; level version
entry_point = $fs_root$\gamedata\ ; do not change !
creator = "You can see links before reply" ; creator
link = "You can see links before reply" ; Link for download this map automaticly
---------------------------------------
А теперь попарядку под [include_folders] попарядку добавляем строки с о всеми папками которые унас лежат в папке "for_levels", в нашем примере их всего четыре, но может быть и больше, главно, чтоб здесь они были указаны все. Затем функцию "auto_load = " определяем как "true", "level_name = mp_имянашейкарты" пишем название нашей карты обязательно с "mp_" впереди.
"level_ver = 1.0" - оставляем как есть, т.к. как показал опыт функция бесполезная, "link = "You can see links before reply"" - Здесь должна стоять ссылка по которой карта будет загружена автоматически, если у других ее нет, а они пытаются зайти к вам на серв с этой картой.
Вот собственно и все.
6. Все дальше как и п.5 "ЧАСТИ 1" запускаем compress_map.cmd и т.д.
7. Получившийся "for_levels.xdb0" переименовываем в "mp_имянашейкарты.db", заостряю ваше внимание, что перед названием файла должно быть "mp_", затем суем в папку с игрой в папку "mp".
Готово...

Пользуйтесь наздоровье... Подробнее тут! ЗАПАКОВКА МП_КАРТ ТУТОР ДЛЯ ЧАЙНИКОВ




Форум » Уроки по созданию модов » Уроки по X-Ray SDK » Запаковка МП Карт
Страница 1 из 11
Поиск:
Пользователи, посетившие форум за текущий день
18:58
Обновить



Тени Чернобыля Чистое Небо Зов Припяти S.T.A.L.K.E.R. 2

Сайт управляется системой uCoz | Design by EXELENT
Авторское право на игру и использованные в ней материалы принадлежат GSC Game World
Администрация сайта не несёт ответственности за содержащиеся файлы на данном портале.
В случае полного, или частичного копирования ссылка на источник обязательна!
© 2012 Zona-chernobyl

  
Наверх