В данной теме вы можете задавать любые вопросы касательно 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 по основным вопросам моддинга - обращаемся в ЛС.
ins33, Наверно ты меня не понял птому что ты не разрабатывал модели поведения. Ведь я там написал что хочу поправить модель поведения. И спрашиваю как скрипты к приму такие как xr_camper, xr_walker и т. д. читают из кастом даты параметры своей секции. Понятно?
Я в них полазил и увидел что параметры модели поведения находятся в таблице db.storge[id_nos] или в nps.st
Мне нужно подредактировать модель ingore_combat ибо она работает только в гулаге, а если через кастом дату НПС просто не замечает этой секции
Чтобы её поправить мне нужно узнать значение параметра combat_ignore_cond = {} как понимаете он имеет значения true/false. Которые являются результатом выполнения условия в скобках. Что за условия вы надеюсь понимаете, ведь кастом дату почти все пишут.
Дак как из скрипта xr_combat_ingore.script прочитать значение этого параметра
Думаю что это надо искать в storge, вот что она из себе представляет.
Сам xr_combat_intore работает не через эту таблицу а вот как
local overrides = xr_logic.generic_scheme_overrides( obj )
db.storage[obj:id()].enemy = enemy["combat_ignore"]["ini"],"on_click = {+dsds}") if overrides and overrides.combat_ignore and db.actor and xr_logic.pick_section_from_condlist( db.actor, obj, overrides.combat_ignore.condlist ) ~= nil then obj:enable_memory_object( enemy, false ) return false
если сработает это eturn false то НПС игнорирует бой, но это не срабатывает ибо условие ложно. А ложно я думаю потому что если условие проверялось не через overrides, а через storge, т.е. непосредственно из кастом даты то все бы работало.
По этому я спрашиваю как из кастом даты прочитать параметр combat_ignore_cond
Добавлено (12.10.2013, 08:08) --------------------------------------------- Вроде через другие скрипты надыбал как они это делают В utils.script есть функции, которое из кастом даты объекта читают параметры function cfg_get_bool(char_ini, section, field, object, mandatory, default_val) возвращает булевское значение function cfg_get_string(char_ini, section, field, object, mandatory, gulag_name, default_val) строковое значение function cfg_get_number(char_ini, section, field, object, mandatory, default_val) числовое значение char_ini - это сыль на ini(custom data) НПС, то как можно её получить: npc.st.ini section имя секции это то что в кастом дате пишется в custom data, пример [name_section], а передавать надо передавать строку с именем секции, ибо имен секции обычно может быть несколько к примеру: [walker@1]
[walker@2]
и имя секции может еще в конце иметь префикс, то имя секции может быть разным как тогда быть еще не знаю
field - строка с именем параметра в секции
object - объект к приму может быть npc
mandatory - не понял но обычно пишется false
default_val - предполагаю что если параметр не найден то функция вернет это значение остальные параметры могут быть пустыми или любое значение, главное чтобы не было проблем с совпадением типов переменных
Сообщение отредактировал wanes101 - Суббота, 12.10.2013, 08:10
Рбтчки, дорогие, поможИте чем помОжите! Никак не могу победить данную траблу! Уже все логти и ногти на ногах обгрыз! В общем делал меню к ЗП, видео-ролик, размеров с экран (1024х768), в текстурах все поправил, ролик сконвертировал через теору, полученный ogv переименовал в ogm, в конфигах прописал его куда надо, получаю - Стак Трайс. Никак не могу победить в чем проблема. Скрин приложил для более раскрытого понимания.
Nick_Freedom, уже там где надо ,но вот не задача у меня вылетает с таким логом: Expression : xml_doc.NavigateToNode(path,index) Function : CUIXmlInit::InitWindow File : D:\prog_repository\sources\trunk\xrGame\ui\UIXmlInit.cpp Line : 80 Description : XML node not found Argument 0 : wpn_crosshair_svd Argument 1 : ui\scopes.xml
saxar, хмм, точно не знаю, я никогда не работал с оружием на платформе ЗП. Поробуй так, из какого мода оружие выдираешь? Из этого мода скопируй файл scopes.xml в свой мод в папку configs/ui
Сообщение отредактировал Nick_Freedom - Суббота, 12.10.2013, 15:16
Здравствуйте Может кто в курсе в каком и какой части скрипта формируется дефолтовая таблица db.storge для каждого непися. Я просто хочу чтоб тоже туда же добавлялось моя таблица по умолчанию.
Просто общие модели поведения имеют в storge, свои таблицы, в каком месте скриптов они помещают свои таблицы в storge. Конечно можно поставить это и в процедуру сброса схем или активизации, но их обычно там нет, а где обычно это прописывается?
Сообщение отредактировал wanes101 - Суббота, 12.10.2013, 16:42
wanes101, какой то бессмысленный набор слов и не более, процедура?? откуда в Lua процедуры?? ЗЫ к сведенью процедуры и функции разные понятия, почитай на досуге. db.stroage же заполняется при старте игры/спавне объекта(тобишь регистрации), где ключем объекта идет его id простейший поиск по скриптам дал бы тебе ответ на твой вопрос.