В данной теме вы можете задавать любые вопросы касательно S.T.A.L.K.E.R. моддинга.
Не флудить
Предварительно просматривайте раздел. Ответ на ваш вопрос может быть там.
В своем вопросе указывайте платформу моддинга - Тень Чернобыля, Чистое небо или Зов Припяти.
1. Какая стоит игра, с каким патчем? 2. Какой мод, версия мода? 3. Что правили своими ручками? 4. Конфиг компа. 5. Лог вылета и последние 25 строк (помещать под спойлер).
Структура папок и файлов в корневом каталоге игры:
...\S.T.A.L.K.E.R\gamedata\anims – папка содержит исполнительные файлы эффектов (например от ПНВ).
...\S.T.A.L.K.E.R\gamedata\config – папка содержит основные конфигурационные файлы (т. е. большинство настроек игры)
...\S.T.A.L.K.E.R\gamedata\meshes – содержит модели игровых предметов и персонажей...
...\S.T.A.L.K.E.R\gamedata\scripts – папка со скриптами (рабочими файлами содержащими в себе наборы функций) – основная папка, отвечающая за ответные действия игры и действия производимых игроком в игре.
...\S.T.A.L.K.E.R\gamedata\shaders – папка содержит в себе конфигурационные файлы шейдеров.
...\S.T.A.L.K.E.R\gamedata\sounds – здесь находятся все звуки игры (разложены по своим каталогам и папкам)
...\S.T.A.L.K.E.R\gamedata\spawns – содержит файл спавна – очень важный файл – не трогать без нужды!!!
...\S.T.A.L.K.E.R\gamedata\textures – содержит разложенные по каталогам и папкам текстуры используемые в игре.
Теперь разберем папки в каталоге «config»
...\S.T.A.L.K.E.R\gamedata\config\creatures - содержит массу конфигурационных файлов, в основном отвечающих за взаимодействие Главного героя игры (в дальнейшем ГГ) и прочего окружения в игре и ТТХ самого ГГ.
...\S.T.A.L.K.E.R\gamedata\config\gameplay – содержит конфиг. файлы персонажей игры (НПС) отвечающие за внешний вид, статус, снаряжение. Файлы: character_desc_ххх (где ххх – название локации) и character_desc_general (отвечает за зомбированного персонажа). Также содержит файлы диалогов и профилей НПС.
…\S.T.A.L.K.E.R\gamedata\config\misc – конфиг.файлы торговцев (папки с именами торговцев), артефактов, брони, квестовых предметов, уникальных предметов, файл отвечающий за награды за автозадания, файл эффектов (алкоголизма, ранения, ПНВ и прочих)...
…\S.T.A.L.K.E.R\gamedata\config\mp – среди прочих содержит важный файл mp_ranks – отвечающий за выпадение оружия и патронов из рук ГГ и НПС – без прописывания добавляемого в игру оружия в этот файл при выпадении нового оружия из рук ГГ\НПС будут следовать вылеты.
…\S.T.A.L.K.E.R\gamedata\config\text\rus – содержит файлы описаний всего и вся находящегося в игре (брони, артефактов, оружия, предметов и прочего).
…\S.T.A.L.K.E.R\gamedata\config\weapons – содержит конфиг.файлы оружия и боеприпасов используемых в игре.
…\S.T.A.L.K.E.R\gamedata\config\weathers – содержит конфиг.файлы настройки погоды на локациях.
Теперь немного подробнее о файлах.
...\S.T.A.L.K.E.R\gamedata\config\misc:
Папка shop_ххх (ххх – имя торговца) – содержит конфиг.файлы ассортимента торговца.
outfits – содержит секции конфигов костюмов.
artefacts - содержит секции конфигов артефактов.
items - содержит секции конфигов предметов.
monster_items - содержит секции конфигов частей монстров
postprocess - содержит секции конфигов пост. процессов (например: ПНВ).
quest_items - содержит секции конфигов квестовых предметов.
task_manager - содержит секции наград за автоквесты.
unique_items - содержит секции конфигов уникального оружия и костюмов.
У кого есть желание, создать FAQ по основным вопросам моддинга - обращаемся в ЛС.
Собственно вопрос - как исправить этот вылет, не уменьшая площадь ui_icon_equipment?
Собственно ответ - никак, раз вы назвали взаимоисключающие условия. Хотя вылет могут вызывать разные причины, но вашем случае простыня - это перебор...
Цитатаhuil12 ()
только я имею в виду файл game_maps_single.ltx
Ну мы ведь так сразу и поняли! Хотите дольше ждать ответа, давайте меньше информации о проблеме... А мы подождем, нам торопиться некуда.
Сообщение отредактировал denis2000 - Воскресенье, 14.12.2014, 17:17
Собственно ответ - никак, раз вы назвали взаимоисключающие условия. Хотя вылет могут вызывать разные причины, но вашем случае простыня - это перебор...
Loverboy, Оптимальный размер данной текстуры 2048х2048, если больше то могут происходить неприятные явления (не у всех не всегда и разные, все зависит от видеокарты драйверов и даже ОС), поэтому можно делать больше, но есть вероятность нарваться на сообщения о багах от пользователей или нарваться самим...
Сообщение отредактировал denis2000 - Воскресенье, 14.12.2014, 20:02
denis2000, Я имею в виду как определять эти координаты для ПДА, и как правильно размещать.
Вот нормальная статья вроде! ничего не обещаю )
Статья-урок
Попробуем вначале разобраться, что такое глобальная карта и как она работает. Откуда на ней все карты локаций, и каким образом открывая ПДА в разделе карты мы видим метки Кордона на участке обозначающем Кордон, а метки например, Складов – там где они и должны быть.
Итак… Папка gamedata\config, файл game_maps_single.ltx. Откроем его. Поясню, что там внутри за что отвечает.
[level_maps_single] L01_escape L02_garbage L03_agroprom L03u_agr_underground l04_darkvalley l04u_LabX18 L05_bar L06_rostok l07_military l08_yantar l 10_radar l11_pripyat l12_stancia l12_stancia_2 l12u_control_monolith l12u_sarcofag l08u_brainlab Эта секция перечисляет все уровни, что есть в игре. Как видно – от Кордона до ЧАЭС-2, включая все подземные уровни. Это список из ТЧ, оригинальная игра.
А вот это самое главное. Здесь определена текстура – она лежит по адресу gamedata\textures\ui, называется ui_global_map – обратите внимание, текстура без расширения указана. bound_rect – это игровые координаты текстуры, нечто вроде сетки координат на глобальной карте. Четыре числа означают крайние точки координат – верхний левый угол глобальной карты имеет координаты 0,0 а нижний правый угол глобальной карты имеет координаты 1024,2634. ОБРАТИТЕ ВНИМАНИЕ, это не пиксели! Сама текстура имеет размер 1024*2048, а может быть и любого другого – но для игры высота карты берётся равной 2634 пункта, при том что ширина сохраняется 1024. Это очень важное замечание – его важность поясним дальше. Max_zoom – тут я думаю ясно, это максимально разрешённое увеличение. То есть самое большее насколько можно «приблизить» изображение в ПДА открыв глобальную карту это в 6 раз. Попробуйте поставить другие значения – иногда получается интересно.
Дальше файл заполнен однотипными секциями, описывающими уровни и расположение их карт на глобальной карте. Возьмём несколько для разбора, скажем, Кордон, Агропром, ну и пожалуй, Припять.
Texture – это текстура карты локации. Именно она показывается на мини-карте в игре, именно она же НАКЛАДЫВАЕТСЯ (да-да, сама накладывается) на глобальную карту в том месте, где мы захотим.
bound_rect – это описание крайних координат локации ВНУТРИ самой локации. Тут наверно нужно пояснить. Любой кто имел дело с координатами на уровнях, замечал что икс и игрек (высоту сейчас не будем принимать в расчет) бывают не только положительными, но и отрицательными. Точка на уровне имеющая координаты (0,0) это не угол карты, как можно было бы предположить, а где-то около её середины. Например, на Кордоне точка с координатами 0,0 расположена недалеко от поста Кузнецова под мостом.
А вот возле бункера Сидоровича координата икс у игрока (или чего угодно другого, любого объекта в игре) будет отрицательная. А возле блокпоста военных (тот, что на юге, вниз по дороге от деревни новичков) координата игрек будет отрицательной. Так вот, в строке bound_rect последовательно указаны самые минимальные координаты локации и самые максимальные. То есть самый меньший икс, потом самый меньший игрек, потом самый большой икс, и четвёртое число – самый большой игрек. Обратите внимание, эти координаты – вовсе не там, где можно побегать. Нет. Речь идёт об УГЛАХ локации, там где заканчивается земля и начинается пустота. На кордоне юго-западный угол имеет координаты -317.164, -633.718, а северо-восточный 404.880, 811.627. Точность указана до сотых. Global_rect – вот это именно то, что нам надо. Это – координаты прямоугольника на глобальной карте, тот кусочек куда будет вписана (наложена) карта локации, и где будут с учётом масштаба отображаться все метки локации. Метод указания координат аналогичен, берутся два угла, первый северо-ЗАПАДНЫЙ, второй юго-ВОСТОЧНЫЙ. Обратите внимание, при определении координат на локации отсчёт игрека идёт снизу вверх, а тут наоборот, сверху вниз. То есть точка с координатами 50, 100 будет ВЫШЕ чем точка 50, 200. А точка с координатами 50, 0 – вообще на самом верху. В то время как точка с координатами 50, 2634 – на самом низу глобальной карты. Вообще правило отсчёта координат от верхнего левого угла текстуры характерно для СТАЛКЕРа, не знаю как для других игр использующих dds формат, может так же. Посмотрим на глобальные координаты карты Кордона на большой, глобальной карте. global_rect=355.0,2011.0,576.0,2453.000000 Получается, прямоугольник куда будет вписана карта Кордона определён двумя точками. Первая с координатами (на глобальной карте!) 355.0,2011.0, а вторая с координатами 576.0,2453.000000. Зачем столько нулей – не спрашивайте. Не знаю. Но по этим координатам видно, что карта Кордона будет вписана в прямоугольник, который начинается от 355 по икс и 2011 по игрек и заканчивается на 576 по икс и 2453 по игрек. Итого на глобальной карте размер карты Кордона составит 221*442 пункта. Повторюсь – это не пиксели, а пункты, количество которых определено во второй секции конфигурационного файла, который мы сейчас разбираем.
Интересно, что подземелья Агропрома, например, на глобальной карте тоже есть – но для них отведено всего лишь 2*3 пункта, и находятся они почти посередине карты Агропрома! Именно поэтому когда игрок находится в подземке, его метка всегда светится в районе завода, где прятался Крот при первом заходе на локацию, и практически неподвижна. Похожим образом сделано и с лабораторией Х18 – она на глобальной карте расположена справа от Радара, но размер её прямоугольника всего 2*2 пункта.
Как расположить карту локации на глобальную карту в ПДА
Итак, у нас иметься локация, у которой имеется карты – textures\map\map_lost_villiage.dds например. bound_rect уже известен, если нет перечитайте теорию. Нам нужно расположить ее на глобальной карте.
Открываем файл ui_global_map.dds через Stalker Icon Viewer и снимаем координаты верхнего левого угла будущего места расположения локации:
Итак у нас получились координаты: x=180, y=370
Из теории вы возможно узнали что в конфиге глобальная карта имеет координаты 1024,2634, в то время когда текстура всего 1024x2048. Что мы делаем? Запускаем калькулятор и делим 2634 на 2048, у нас получается 1.2861328125
Далее умножаем координату y(370) на получившееся значение(1.2861328125), у нас получаться 475.86…. (округлим)
Далее все просто, скажем наша карта локации 100на100, задаем в global_rect нашей локации 180.0, 475.86, 280.0, 575.86
180.0 - координата x левого края текстуры локации 475.86 – число, которое мы получили, координата верхнего края текстуры локации 280.0 – координата x правого края текстуры локации. Прибавляем к координате левого края локации ширину карты 575.86 - координата y нижнего края текстуры локации. Прибавляем к координате верхнего края локации высоту карты
Вот собственно и всё.
Автор статьи: Xmk
Добавлено (14.12.2014, 20:08) --------------------------------------------- Хотя наверху лучше, смысл тот же, но есть скрины, а это большой плюс.
Сообщение отредактировал Ахмед - Воскресенье, 14.12.2014, 20:04
Оптимальный размер данной текстуры 2048х2048, если больше то могут происходить неприятные явления (не у всех не всегда и разные, все зависит от видеокарты драйверов и даже ОС), поэтому можно делать больше, но есть вероятность нарваться на сообщения о багах от пользователей или нарваться самим...
Теперь буду "прощупывать" файл какой нибудь иконкой для выявления предела, спасибо за инфу
strchi, берешь модель оригинального детектора (который заменить хочешь), конвертером Бардака переводишь в object и bones. Загружаешь в СДК и смотришь. Затем в 3D редактор загружаешь оригинальный детектор, удаляешь mesh, загружаешь свой детектор, привязываешь к скелету. Затем экспорт и настройка в СДК.
strchi, Как будет работать детектор зависит от его класса в секции конфига, а от этого, в свою очередь, зависит какой должен быть скелет и как должны к нему привязываться поверхности модели. У классов DET_SCIE и DET_ELIT есть еще два параметра в конфиге: ui_p, ui_r соответственно положение и ориентация виртуального экрана, который отрисоваывается движком, на котором собственно и будут метки (текстура самого экрана и текстура метки в файле ui_ingame2_common.dds описантель текстур ui_ingame2_common.xml, можно конечно размещать и в других файлах). У класса DET_ADVA - есть на модели подсвеченный сектор привязанный к специальной кости скелета и т.д. и т.п.
Сообщение отредактировал denis2000 - Понедельник, 15.12.2014, 23:37