В данной теме вы можете задавать любые вопросы касательно 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 - содержит секции конфигов уникального оружия и костюмов.
Проверьте настройки компиляции (точно не драфт, отключение обсчета лайтмапов). Проверяйте текстуру террейна, а конкретно ее thm. Вероятно там нет отметки что это текстура терренйна или ваша локация в принципе не содержит террейн как объект.
Сообщение отредактировал denis2000 - Понедельник, 18.04.2016, 10:01
Платфома ТЧ, 1.0006. Во время боя сталкеров с врагами вот такой вот вылет:
Код
Expression : fatal error Function : CScriptEngine::lua_error File : E:\stalker\sources\trunk\xr_3da\xrGame\script_engine.cpp Line : 73 Description : <no expression> Arguments : LUA error: ...adow of chernobyl\gamedata\scripts\xr_wounded.script:467: attempt to index field '?' (a nil value)
Понятно, что он произошёл, когда кого-то из нпс ранили, но вот что за ошибка...
Ostryak, попробуй привести функцию printf в файле _g.script к такому виду:
Код
function printf(fmt,...) local con = get_console() log(string.format(fmt,...)) con:execute(string.gsub(string.format(fmt,...), " ", "_")) con:execute("flush") end
Зайди в игру, загрузись и приведи к вылету(во время игры будет довольно сильно тормозить, так как в лог выводится много инфы), а потом скинь сюда весь лог.
Сообщение отредактировал antonnkz76 - Понедельник, 18.04.2016, 07:12
Expression : false Function : CGameGraphBuilder::path_distance File : D:\prog_repository\sources\trunk\utils\xrAI\game_graph_builder.cpp Line : 491 Description : Cannot build path, check AI map
Раньше я уже сталкивался с ним и решил проблему так. Декомпилировал локацию из ЧН заново и перенёс все старые объекты(пути, смарт_терраны и т.д.) которые добавлял ранее и компиляция прошла успешно. Изначально данный лог выскачил не после изменения чего либо на локации.
function weapon_silenced(weapon_id) local sobj = alife():object(weapon_id) local packet = m_net_utils.Get_NetPacket(sobj) local addon_flags = packet.addon_flags if addon_flags == 4 or addon_flags == 5 or addon_flags == 6 or addon_flags == 7 then return true end return false end
Продолжая о пакетах. Уже голова кипит, подскажите, что забываю или делаю не так, Надо сменить визуал НПС на любой другой.
function test_visual() local sobj = alife():object("esc_wolf") if sobj then local pk = get_netpk(sobj,0) if pk:isOk() then local status = pk:setCallback(function(data) data.visual_name = [[actors\hero\stalker_killer]] end) end end end
Волк исчезает на долю секунды, но визуал не меняет. Пытался переводить в онлайн: db.do_switchings(sobj.id) Но вылетает с логм attempt to call field 'do_switchings' (a nil value) Понимаю, что передаётся nil, т.к. ф- ия do_switchings есть и m_netpk зареган в конфигах и скриптах. В se_stalker.script добавил:
function se_stalker:STATE_Write (packet) if self.cb_netpk then self.cb_netpk(self, packet) end -- коллбэк для изменения свойств пакета cse_alife_human_stalker.STATE_Write (self, packet)
svi, так в том-то и прикол - при компиляции локи создался terrain.thm И компилятор на него жалуется. Вчера сетка нормально собралась, а счас после очередной переработки локи ни в какую не хочет собираться.
Добавлено (18.04.2016, 16:27) --------------------------------------------- И еще такой вопрос: как запретить ГГ в определенной зоне бегать и прыгать. Зараннее спасибо!
function printf(fmt,...) logf_console = get_console() logf = logf_main logf_main( fmt, ... ) end function logf_main( fmt, ... ) local c = select( "#", ... ) if c <= 0 then -- nothing to format logf_console:execute( ":" .. string.gsub( fmt, " ", "\160" ) ) else logf_console:execute( ":" .. string.gsub( string.format( fmt, ... ), " ", "\160" ) ) end end
_S_k_i_F_, Бегать так: db.actor:set_sprint_factor(0.25) -- Тут устанавливаем скорость с которой актёр будет бежать в спринте. Значение возьми равное run_coef, ведь тебе наверно не нужен шаг. --К сожалению, работает только в спринте, шаг и бег, тут не отлавливаются.
Код
local speed_actor = db.actor:get_sprint_factor() -- Получаем скорость спринта.
Нужны правки движка. Как вариант, заставь его устать, тогда сможет только идти.
_S_k_i_F_, Неправильная thm для текстуры trees_vetkasux2.dds. Она у тебя от текстуры не того размера, если эта текстура у тебя 512х512 то и thm нужно от текстуры такого же разрешения.