В данной теме вы можете задавать любые вопросы касательно 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 по основным вопросам моддинга - обращаемся в ЛС.
Добавлено (20.07.2015, 11:41) --------------------------------------------- Я в скриптах не лазил, я пытаюсь 3 мода собрать в один, но вот получаю вот такие вылеты при перезаходе.
Вот на этот кусок функции игра ругается и говорит что нет такого оператора: local s = #yours for i=1, s do if yours[i] == chosen then yours[i] = nil end end
P.S. массив yours задан заранее и на работоспособность проверен ранее. Переменная chosen задана заранее и проверена на работоспособность ранее.
Сообщение отредактировал antonnkz76 - Понедельник, 20.07.2015, 12:05
В общем для тех у кого подобная проблема в компиляцией xrDO. Обрезаете в 3Ds Max террейн до размера менее двух километров и создаете отдельный уровень в SDK только с террейном компилируете на драфте геометрию и затем детейл.
Сообщение отредактировал sasmeleuz - Понедельник, 20.07.2015, 12:19
Вот на этот кусок функции игра ругается и говорит что нет такого оператора
Так попробуй
local table_tmp = {} for k,v in pairs( yours ) do if v == chosen then table.insert( table_tmp, k ) end end for k,v in pairs( table_tmp ) do yours[ v ] = nil end
makdm, ваша функция в итоге мне похерит вообще все совпадения с chosen. Куда тут вставить break, чтобы это произошло не со всеми совпадениями, а только с первым встретившимся? Такое сработать должно?
Код
for k,v in pairs( yours) do if v == chosen then table.remove( yours, k) break end end
Та ну, это уже дичь какая-то. Тот же самый вылет( Опытным путем определил, что игре не нравится оператор if. Щито делать?
Сообщение отредактировал antonnkz76 - Понедельник, 20.07.2015, 16:06
makdm, в начале этой страницы я писал как мне надо, но меня заигнорили. Тогда я решил не юзать table.remove а для начала просто присвоить этим элементам нил, потом как-нибудь бы дополнил. Я обновил пост с моей пробой. Там написал, что оказывается игра ругается на оператор if.
Сообщение отредактировал antonnkz76 - Понедельник, 20.07.2015, 16:10
makdm, эммм, что? local chosen = self.chosen_list:GetSelectedItem() вот это присвоение еще много где используется, но работает. Попробую сейчас поколдовать с оператором while или until
local i = 1 while yours[i] ~= chosen do i = i + 1 end table.remove( yours, i)
Получил точно такой же вылет. Проблема именно в этой функции, далее переменные никуда не передаются и в нее никак не попадают.
Я понял свою ошибку! Конечно оно вылетит если я пытаюсь сравнить текстовую строку таблицы с объектом ListBox'a, а не с его текстом. Добавил еще одну переменную, на которую заменил все chosen, а именно local chosen_text = chosen.name:GetText()
Сообщение отредактировал antonnkz76 - Понедельник, 20.07.2015, 16:45
sasmeleuz, Хотя бы ЛЕ пропатч. Реально, я скамилил траву на 4000х4000, level.details получился 62 мб, я дет-терейн даже альфой не мазал, плотность травы аж зашкаливает.
Добавлял новые визуалы НПС (character_desc_general), но случился вылет. Оказывается, я случайно у одного из NPC ошибся в пути к ogf модели (дублировал: actor\actor\...). После того как я исправил ошибку, при запуске игры вылезал вылет с логом stack:trace. Так было первые три попытки, с четвертой начал появляться лог
Expression : fatal error Function : CInifile::r_string File : D:\prog_repository\sources\trunk\xrCore\Xr_ini.cpp Line : 513 Description : <no expression> Arguments : Can't find variable wind_velocity in [10:00:00]
Wind_velocity - переводится как скорость ветра, но я не правил погоду и т.д. Кто то знает как исправить вылет? Заранее спасибо.