В данной теме вы можете задавать любые вопросы касательно S.T.A.L.K.E.R. моддинга
• Не флудить • Предварительно просматривайте раздел, ведь ответ на ваш вопрос может быть там • В своем вопросе указывайте платформу моддинга — Тень Чернобыля, Чистое небо или Зов Припяти
1. Какая стоит игра, с каким патчем? 2. Какой мод, версия мода? 3. Что правили своими ручками? 4. Лог вылета и последние 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 - содержит секции конфигов уникального оружия и костюмов.
Ребята, как в ЧН перенести часы в другое место, которые высвечиваются в инвентаре? В custom_msgs и inventory_new_16 параметр связанный с временем убирал\двигал - бестолку.
Сообщение отредактировал alanbrose - Суббота, 04.11.2017, 20:27
у x64 версии компиляторов - ставиться ключ "-skipinvalid", а x32 - без ключа, там специальный батник, который подменяет компилятор на компил с обходом (запускаем, жмякаем 1 или 2, зависит от того что нужно)
Так я про это знаю, такие компиляторы и у меня. Я по чему и спросил у BeeRsek, какие у него компиляторы, что там какие-то кнопки при компиле появляются.
Сообщение отредактировал WolfHeart - Суббота, 04.11.2017, 20:29
проверка осуществляется, просто она немного завуалирована именем ключа таблицы.
Ты все прекрасно понял. Не нужно цепляться за мелочи. Проще сделать одну проверку на секцию, чем стопицот проверок , пока не будет вызван нужный колбек.
Цитатаbuffy ()
в том как раз таки и странность, use_callback отлично обрабатывается, а hit_callback - нет.
Не нужно ломать копья. В движке COP 1.6.0.2. отключена проверка на HIT физ.объектов. Поэтому евенты не работают в схемах.
BeeRsek, возможно не те компиляторы, либо не прописали ключ. Лично я скомпилировал более трех уровней, один причем полностью с нуля — и никаких проблем. А если проблемы и были, а их было масса, — они решались.
Я по чему и спросил у BeeRsek, какие у него компиляторы, что там какие-то кнопки при компиле появляются.
Ридми их:
v3.9
Архив представляет собой пак компиляторов для проектов карт, созданных в SDK STALKER ТЧ и включает:
01)Обычный xrlc от GSC 02)Ускоренный xrlc от Haron 03)Ускоренный xrlc от Haron, принудительно использующий одно ядро на многоядерниках 04)Ускоренный xrlc от Bardak 05)xrlc, с возможностью обходить ошибки от Mortarion 06)xrlc, с возможностью обходить ошибки от Mortarion, принудительно использующий одно ядро на многоядерниках 07)переработанный xrlc от Bardak, принудительно использующий одно ядро на многоядерниках 08)переработанный xrlc от Bardak, принудительно использующий одно ядро на многоядерниках + экспериментальные улучшения by Macron 09)xrlc, с возможностью обходить ошибки от Haron 10)xrlc, с возможностью обходить ошибки от Haron, принудительно использующий одно ядро на многоядерниках 12)xrlc от Bardak, одновременно обрабатывающий 2 карты (только для многоядерных процессоров) 13)переработанный xrlc от Bardak, одновременно обрабатывающий 2 карты (только для многоядерных процессоров) 14)xrLC от билда 2215 15)xrLC от билда 2215, принудительно использующий одно ядро на многоядерниках 16)xrLC от билда 2365 17)xrLC от билда 2365, принудительно использующий одно ядро на многоядерниках 18)xrLC от билда 2588 19)xrLC от билда 2588, принудительно использующий одно ядро на многоядерниках
A)обычный xrDO_light от GSC B)ускоренный xrDO_light от Haron C)ускоренный xrDO_light от Bardak D)xrDO_light от билда 2215 E)xrDO_light от билда 2365 F)xrDO_light от билда 2588
в !!!progs!!!: Утилита QVis.exe просматривает *.smf-файлы, появляющиеся в папке с уровнем после компиляции. Утилита project patcher для перевода проектов упровней (*.prj) изготовленных в SDK предыдущих версий в формат относительно совместимый с текущими компиляторами. Утилита 2215 patcher для перевода готового уровня в формат 2215-совместимых билдов Утилита Imagecfg патчит экзешники на поддержку Large Memory Aware и принудительное использование только одного ядра на многоядерниках.
Чтобы их использовать как бенчмарк, просто распаковать весь архив в любое место на диске и запускать батники 01-19, сравнивая время компиляции, выводимое в самом конце. На самом деле это пустая трата времени, результаты тестов на синтетической карте будут в корне отличаться от результатов реальных карт. Рекомендуется встроить пак в SDK и протестировать на небольшой реальной карте с террейном и строениями.
Чтобы интегрировать компиляторы в sdk, надо в sdk найти папку bins и в ней удалить папку compiler. А на ее место поместить папки compiler* отсюда. Все *.bat,fs.txt,fsgame.txt скопировать туда же, где ActorEditor.bat, LevelEditor.bat и другие. Файлы fs.txt и fsgame.txt необходимы для работы компиляторов из билдов. Файл fsgame.ltx в SDK лучше не заменять.
Затем как обычно - в SDK делаете Compile-build своей карты и используете выбранный батник со своими параметрами. То есть, редактируя любой батник, вместо "-f BenchMap" нужно вписать "-f моя_карта"
Параметр -gi не рекомендуется использовать. Ничего кроме жуткой засветки вокруг лампочек в dx8 он вроде не дает, а время компиляции увеличивается на порядок.
Можно еще выводить меню доп.опций компиляции, если в батник добавить параметр -o. Например, "-f моя_карта -o". О реальной пользе меню см. Примечание 2 и 3. Но в SDK качество HEMI для компиляторов 2215/2365 надо ставить не меньше 1, а то будет вылететь после меню опций.
Советы:
По предварительным тестам наиболее эффективен компилятор от Bardaka 04,07,08 (08-самый быстрый).
Компиляторы серии FIXXED тормознутее, но позволяют обходить вылеты с Invalid Faces при компиляции. Рекомендую использовать 06 или 10. Если в начале компиляции возникает ошибка про Invalid Faces, говорим "продолжить" и компилим дальше. Еще у этих компиляторов может проявляться небольшой глюк - текстуру террейна они могут сохранять в отдельной папке gamedata\levels\ixxed.
Компиляторы серии _1core на многоядерных процессорах используют только одно ядро, зато на 100%, и могут давать существенный прирост на двухядерных Core2.
Компиляторы 12 и 13 на многоядерных процессорах позволяют одновременно компилировать две карты (за время одной). Но на разных процессорах могут работать по разному. Поэтому сначала необходимо проверить оба на тестовой карте BenchMap. После выбора наибыстрого - отредактировать его батник, вписав в первую строчку название первой карты, а во вторую - второй.
Для компиляции травы рекомендуется C-xrDO_light_bardak.bat
Теоретически для получения высшего качества карты, в SDK, в свойствах своей карты (Scene->Options), где настраиваем качество компиляции, сначала выбрать High, затем Custom и изменить Pixel per meter с 10.00 на 20.00, а затем уже компилить. Но на сложных картах такие параметры могут приводить к вылетам компиляции - тогда ставьте просто High, тем более что разницы не заметно.
Для относительно быстрой компиляции карты, но с качеством выше чем draft, в свойствах своей карты (Scene->Options), где настраиваем качество компиляции, сначала выбрать Draft, затем Custom и выставить следующие значения:
Hemisphere quality - 0 Sun Shadow quality - 0 Pixel per Meter - 0.30 Error (LM collapsing) - 4 Error (LM zero) - 4 Jitter Samples - medium
Только при Jitter Samples = medium или выше, не должны глючить заборы из металлической сетки или колючей проволоки (и при условии, что были правильно настроены через Actor Editor).
Если через Пуск-Настройка-Панель управления-Электропитание разрешить использование спящего режима, то в принципе, можно переводить компьютер в спящий режим в время компиляции (если по каким-то причинам необходимо его выключить, а компиляция еще не завершена). Тогда при следующем включении компиляция продолжится.
ПРИМЕЧАНИЯ:
Знаками /* */ указаны поздние правки от тов.FL!NTа.
Рекомендуемые настройки для Actoreditor /*или можно в LE в свойствах объекта*/ для заборов из металлической сетки или колючей проволоки:
/* для сетки рабица и колючки*/ shader def_shaders\def_trans compile def_shaders\def_translucensy material materials\setka_rabica 2 sided да
/* этот вариант для решеток и решетчатых ферм и т.д.*/ shader def_shaders\def_aref compile def_shaders\def_noshadow material materials\setka_rabica 2 sided да
Рекомендуемые настройки для Actoreditor для воды: текстура- текстура вода (water), ряска (waterryaska) и т.д water\water_pool2 или water\water_water (water_pool2 еще поблескивает на r1) shader effects \ соответственно текстуре water…. compile def_shaders\def_vertex material materials\water
Рекомендуемые настройки для Actoreditor для маскировочной сетки: текстура prop\prop_mask_setka shader def_shaders\def_trans_v compile def_shaders\def_vertex_ghost material default
ПРИМЕЧАНИЕ 1 Рекомендация для любых компиляторов, в том числе от ТЧ: чтобы компилятор запускался быстрее или не вылетал сразу - перед компиляцией рекомендуется зайти в папку rawdata-objects и временно перенести все из нее в другое место на HDD. Главное, чтобы вне RAWDATA. По умолчанию все компиляторы зачем-то сканируют эту папку на объекты, хотя для компиляции они не нужны. Но в результате сканирования начинаются тормоза при запуске, а если файлов более 7000 - вообще вылеты. Также временно перенести папку gamedata\textures\lod, если в ней тысячи файлов.
Аналогичный глюк есть и у левеледитора. Если в rawdata\objects\levels находится более 7000 файлов, возможны жуткие тормоза при запуске (до 20 минут). Избежать просто - держите объекты неиспользуемых уровней из rawdata\objects\levels в отдельных (или одном общем) 7z-архивах. Для работы временно разархивируйте какие-нибудь 1-2. Также можно до запуска левеледитора перенести все из rawdata\objects\levels в другое место, запустить левеледитор, свернуть по Alt-tab и перенести эти файлы обратно.
ПРИМЕЧАНИЕ 2 Насчет вылетов в начале компиляции с сообщением об Invalid faces:
Если получаем такой вылет на одном из быстрых компиляторов, то первым делом запускаем его с параметром -o. В опциях выставляем weld distance в 0 и пытаемся компилить. Если не помогло, тогда пользуемся тормознутыми компилями, обходящими ошибки (см. Советы). Или в SDK, в свойствах своей карты (Scene->Options), где настраиваем качество компиляции, выставить Custom и weld distance = 0 (вместо 0,0050), но он срабатывает не всегда. Если не помогло, тогда пользуемся тормознутыми компилями, обходящими ошибки (см. Советы).
ПРИМЕЧАНИЕ 3 Если при компиляции на максимальном качестве компилятор слетает на фазе Light Implicit в момент сохранения террейна - добавьте в батник после "-f имя_карты" еще параметр -o, запустите, зайдите в пункт progressive и уберите галку "Convert to progressive". Террейн в этом случае компилиться не будет (хотя полученные файлы будут на него ссылаться). После этого сохранить полученную геометрию где-нибудь на диске.
А чтобы все же скомпилировать террейн + его лайтмап (terrain_имякарты_lm.dds) на максимальном качестве и не получить вылета на фазе Light Implicit - попробуйте с такими параметрами:
Hemisphere quality - 0 Sun Shadow quality - 3 Pixel per Meter - 0.10 Error (LM collapsing) - 4 Error (LM zero) - 4 Jitter Samples - high
После удачного прохождения стадии Light Implicit компилятор можно прервать, а полученный террейн присоединить к ранее сохраненной геометрии.
ПРИМЕЧАНИЕ 4 Замечено, что террейн на современных компиляторах получается сильно засвеченным. Даже трава на его фоне резко контрастирует (кажется темной). После компиляции карты рекомендуется открыть файл террейна через редактор типа paint.net или фотожоп с dds-плагином и вручную снижать яркость (а иногда и цветность(saturation)) террейна. Также можно повышать прозрачность. Чем террейн прозрачнее, тем темнее он будет смотреться в dx8. Сохранять файл как DXT5 без мип-мапов. Еще можно попробовать в папке с полученным уровнем взять build_details.dds, и через paint.net пересохранить как DXT1 с мип-мапами.
ПРИМЕЧАНИЕ 5 Иногда (очень редко в самых страшных экспериментах) для фикса некоторых глюков с тенями необходимо совсем убрать альфу (прозрачность), открыв террейн через paint.net или фотожоп и сохранив как R8G8B8. Затем открыть снова и задать свою прозрачность. Сохранять файл как DXT5 без мип-мапов.
ПРИМЕЧАНИЕ 6 Насчет маски террейна, которая нужна, чтобы в dx9 не глючило (terrain_имякарты_mask.dds). Создать можно тупо из копии текстуры террейна, залив через paint.net или фотожоп соответствующими цветами.
Вот таблица цветов под разные участки маски: Заливать - ими. Асфальт: RGB - 0:252:0 Земля: RGB - 248:0:0 Овраги, вода RGB - 0:0:248 Под домами: Просто чёрный цвет (Справедливо для стандартных GSCих шейдеров, для тех кому лень ковырять.) Но в конце не забыть добавить прозрачность, а то в dx9 все будет совсем темное. Повышать (через paint.net) прозрачность с 255 почти до максимума (до 15-5). Чем прозрачнее, тем ярче будет выглядеть картинка на r2. Сохранять файл как DXT5 без мип-мапов.
/* Альфу добавлять при использовании 4х типов материалов террайна (при 3х прекрасно обходится без нее см. оригинальные файлы маск). Сохранять файл как DXT5 без мип-мапов. Для маски каждый из каналов маски соответствует определенному типу материала (грунт, трава, асфальт и т.д. до 4х) и заданному ему шейдеру. Шейдеры можно подобрать в levels или создать свои в шадередитор. Интенсивность цвета каждого из каналов и их порядок наложения соответствует интенсивности прорисовки дет текстур. Порядок наложения обратный RGBA. Для R2 сам терраин может быть создан с одним типом поверхности, все дет текстуры будут наложены по маске единственное, что будет глючить это звуковые шейдеры. Надо также учитывать маска и текстура детейлов в отличие от терраин текстуры не имеет полигональной привязки, а растягивается по максимальным линейным размерам карты. */
ПРИМЕЧАНИЕ 7 Порой, казавшаяся травянистой в dx8 земля, в dx9 выглядит голой и каменистой. Типичный пример тому - Припять в ТЧ. Как фиксим: в файле уровня gamedata\levels\l11_pripyat\level находим ссылки на шейдеры, связанные с текстурой террейна. Это levels\pripyat_grass и levels\pripyat_asfalt.
Далее через Shadereditor редактируем shaders.xr. Если у вас свой shaders.xr, то на время помещаем его в sdk в папку gamedata взамен имеющегося и запускаем Shadereditor. Там на вкладке Engine находим шейдер levels\pripyat_grass
затем находим шейдер levels\pripyat_asfalt и делаем то же самое. Сохраняемся и переносим новый shaders.xr к себе в игру.
/* Для понимания что делаешь читай пункт 6 см выше*/
ПРИМЕЧАНИЕ 8 Непосредственно для игры не нужны следующие файлы (можно удалять): build.cform, build.prj, build.lights, *.smf, *.uvm.
ПРИМЕЧАНИЕ 9 Список параметров для батников компиляции: -f имя_карты (обязательный параметр) -gi (глобальное освещение) - поганит картинку и тормозит компиляцию -o (дополнительные опции) -h -? (помощь)
малоизученные параметры: -nosun - вроде для компиляции подземных лок, чтобы не плодить лишние лайтмапы от солнца -noise -premul (возможно связан с альфа-каналом текстур лайтмапов и т.п.)
Справка: Premultiplied alpha - это значит в каналах r, g, и b текстуры хранится r*alpha, g*alpha, b*alpha. Это позволяет выводить текстуры с прозрачностью через glBlendFunc(GL_ONE, GL_ONE_MINUS_SRC_ALPHA) вместо glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA), что дает накоторые плюсы. Premultiplied Alpha (Умноженный в обратном порядке альфа-канал) При включении Premultiplied Alpha при наложении текстуры будут перемножаться, и яркость будет увеличиваться.
If an alpha channel is used in an image, it is common to also multiply the color by the alpha value, to save on additional multiplications during compositing. This is usually referred to as premultiplied alpha. Thus, assuming that the pixel color is expressed using RGBA tuples, a pixel value of (0.0, 0.5, 0.0, 0.5) implies a pixel which is fully green and has 50% coverage. (Explanation: The RGB values are the first three values, (0, 0.5, 0) and the alpha value is the fourth, 0.5. If the color were fully green, its RGB would be (0, 1, 0). Since this pixel is using a premultiplied alpha, all of the RGB values in the ordered triplet (0, 1, 0) are multiplied by 0.5 and then the alpha is added to the end to yield (0, 0.5, 0, 0.5).) Premultiplied alpha also has some advantages over normal alpha blending because premultiplied alpha blending is associative and linear interpolation gives better results.
ПРИМЕЧАНИЕ 10 О других ошибках компиляции читайте в файле errors.chm /* P.S. в errors.chm есть тоже некоторые несоответствия)) */
sektor_aka, а xrLC.dif для чего? Или просто xrLC.exe из папки soc закинуть и всё? Всё,разобрался)
Добавлено (04.11.2017, 21:01) --------------------------------------------- sektor_aka, там еще какой патчер. Что им можно пропатчить? Можно ли эти ускоренные компиляторы пропатчить, от Харона,Бардака,Макрона ?
Сообщение отредактировал BeeRsek - Суббота, 04.11.2017, 20:58
В ходе эксплуатации были выяснены некоторые нюансы использования правки. Некоторые фейсы, которые пропускаются xrLC с правкой, могут негативно влиять на тени в игре или коллизию. Нет, это не косяк правки, это косяк геометрии, которую раньше компилятор просто игнорировал. Если коротко: геометрия не должна содержать инвалидные фейсы, они обычно отмечаются на сцене после билдинга уровня красными линиями. Например здесь, из-за инвалид фейса у меня заглючила коллизия (актор проваливался под землю):
ЦитатаBeeRsek ()
инструкция по их применению есть? а то в ридми ничего по делу нет
Заранее извиняюсь что уже оставлял такой пост, но я выбрал одну из самых не посещаемых тем наверное.
Доброго времени суток, прошу подсказать как убрать горы трупов мутантов. Я воспользовался советом из интернета и сделал файл monsters.ltx и вставил в него следующие строки: [spoiler]#include "M_flesh.ltx" #include "M_bloodsucker.ltx" #include "M_dog.ltx" #include "M_boar.ltx" #include "M_pseudodog.ltx" #include "M_giant.ltx" #include "M_controller.ltx" #include "m_poltergeist.ltx" #include "m_snork.ltx" #include "m_crow.ltx" #include "m_tushkano.ltx" #include "m_phantom.ltx" #include "m_chimera.ltx" #include "m_burer.ltx"
[monsters_common] corpse_remove_game_time_interval = 10 ; in hours stay_after_death_time_interval = 10 ; in hours