В данной теме вы можете задавать любые вопросы касательно 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 по основным вопросам моддинга - обращаемся в ЛС.
Всем привет! Есть вопрос, долго бьюсь над одной проблемой, но решение так и не снисходит до меня. Вопрос в чём, нужно чтобы при использование некого предмета открывалось GUI окно, но чтобы его содержание менялось от одного предмета к другому.
Пример применения: ГГ открывает аптечку, появляется GUI меню, там игрок кликает по нужным ему медикаментам и закрывает окно. Потом берёт другую аптечку, полную, и тоже открывает, в обычных условиях в GUI окне было бы тоже самое, что игрок использовал в прошлой аптечке, но теперь содержание каждого предмета апдейтится и новая аптечка считается полной или нет в независимости от других похожих предметов. Похожее решение было в "Смерти вопреки" и "Survival sim", но получить просветление, копаясь в чужих скриптах, не вышло.
Всем привет! Как реализовать: после разговора НПС ГГ сопровождает его в определенную точку, и по прибытии в эту точку у НПС появляется следующий диалог. Зараннее спасибо! И еще, как настроить в СДК измененную модель ствола?
Сообщение отредактировал _S_k_i_F_ - Среда, 26.08.2015, 10:03
Всем привет! Как реализовать: после разговора НПС ГГ сопровождает его в определенную точку, и по прибытии в эту точку у НПС появляется следующий диалог. Зараннее спасибо!
Если вкратце, то так: 1)Ставишь мод на напарников 2)Делаешь свой диалог, а не скриптовый из мода и вставляешь в него те же функции, что и в стандартном, чтобы НПС пошёл за тобой и добавляешь свою строку на выдачу инфопоршня "инфопоршень_1". 3)В логику НПС пишешь удаление инфопоршня "инфопоршень_1" при его смерти. 4)На месте куда нужно доставить НПС создаёшь спейс рестриктор, при заходе в него идёт проверка на наличие инфопоршня "инфопоршень_1" и при положительном результате выдаётся "инфопоршень_2". 5)У НПС в прекондишене, заранее созданного тобой диалога, стоит проверка на наличие обоих инфопоршней, при имении оных появляется диалог. 6)Говоришь с НПС, а потом стандартным диалогом отпускаешь его.
Сообщение отредактировал MoDoStRoY - Среда, 26.08.2015, 10:11
MoDoStRoY, спасибо! Не обязательно, чтобы НПС за мной шел, главное, чтобы он шел в заданную точку. Кто знает, как правильно настроить новый артефакт в СДК? Зараннее спасибо! При попытке перенести локацию из ТЧ, в ggEditor, когда жму на стрелку переноса, появляется красный крестик и пишет "Необрабатываемое исключение в приложении". Как быть?
Сообщение отредактировал _S_k_i_F_ - Среда, 26.08.2015, 10:49
Ну надо вообще мысли как-то в кучу свои собирать и вопросы задавать так, чтобы всем было понятно, а не только тебе. Извини, но по этой части подсказать не могу.
ЦитатаMoDoStRoY ()
Ставишь мод на напарников
Ну и нахрена извините такие сложности? Ага - рестриктор еще спавнить))) _S_k_i_F_, есть система флагов для олл_спавна. Почитай про неё в ВИКИ-сталкер. Пользительная весчь. Конкретно по твоему вопросу... Пишешь своему сталкеру маршрут. В конечной точке walk пишешь следующее:
То есть по сигналу переводишь его в другую секцию, в которой уже прописан твой диалог. Также из обоих секций можешь выдавать поршня, экшены и все что угодно...
Сообщение отредактировал _Val_ - Среда, 26.08.2015, 11:59
Скорее всего hours = 0, поскольку этот параметр передается в функцию извне, то ищи откуда его ноги растут.
А если вместо часов поставить значение любое , к примеру 5 ,будет ли работать скрипт? Или просто hours заменить на level.get_time_hours
И кстати вот все строчки связанные с hours в файле построцесс мода
Line 562: function sleep_callback(hours,mins,forced) Line 563: -- rx_ai.printf("sleep:%s:%s (-%s)",hours,mins,hours/16+mins/960) Line 563: -- rx_ai.printf("sleep:%s:%s (-%s)",hours,mins,hours/16+mins/960) Line 571: val = val-hours/10-mins/600 Line 577: val = val-hours/16-mins/960 Line 593: db.actor.radiation = math.random(hours)/8
Сообщение отредактировал SanyaSuicide - Среда, 26.08.2015, 12:05
но получить просветление, копаясь в чужих скриптах, не вышло.
Тут вам никто не помощник или сами разберетесь по уже написанному или каждую запятую будете у людей спрашивать.
Цитата_S_k_i_F_ ()
как настроить в СДК измененную модель ствола?
Цитата_S_k_i_F_ ()
как правильно настроить новый артефакт в СДК?
Настраиваете шейдеры (если они не были настроены в 3D редакторе заранее), настраиваете материал (аналогично если он не был настроен в 3D редакторе), затем для мировой модели настраиваете боне-шейпы (физические поверхности привязанные к суставам модели), для худ модели присоединяете соотвествующие анимации или сторонний файл анимаций, настраиваете боне-парты (группы отдельно анимированных суставов, для артов и оружия все суставы в одной группе по умолчанию). Все осталось только в ogf конвертировать.
Цитата_S_k_i_F_ ()
появляется красный крестик и пишет "Необрабатываемое исключение в приложении". Как быть?
Не использовать эту программу или пробовать на другой Операционной Системе.
ЦитатаSanyaSuicide ()
А если вместо часов поставить значение любое , к примеру 5 ,будет ли работать скрипт?
Вылетать может и не будет, но вот работать как задумано автором точно нет. Ищите кто вызывает функцию sleep_callback(hours,mins,forced) при этом передавая hours = 0.
Сообщение отредактировал denis2000 - Среда, 26.08.2015, 12:29
Вылетать может и не будет, но вот работать как задумано автором точно нет. Ищите кто вызывает функцию sleep_callback(hours,mins,forced) при этом передавая hours = 0.
Есть только 1 строчка
gamedata\scripts\ui_sleep_dialog.script (1 hit)
Line 182: postproces_mod.sleep_callback(hours,mins,sleep_control.forced)
есть значение при котором hours = 0 , если его убрать , то вылета не будет?
или изменить на
if hours <= 0 then hours = 1
function dream_callback() if sleep_control.forced then level.add_cam_effector("camera_effects\\surge_01.anm", 10, false, "ui_sleep_dialog.dream_callback2") else level.add_cam_effector("camera_effects\\sleep.anm", 10, false, "ui_sleep_dialog.dream_callback2") end local in_cover = surge_manager.actor_in_cover() local hours = sleep_control.forced or sleep_control.time_track:GetIValue() local mins = 0 if not in_cover then local sm = surge_manager.get_surge_manager() local sde = game.get_game_time():diffSec(sm.last_surge_time) local stime = sde+hours*3600+math.random(1000)-sm._delta if stime > 0 then hours = hours-math.ceil(stime/3600) mins = 60-math.ceil((stime-3600*math.floor(stime/3600))/60) end if hours <= 0 then hours = 0 end end level.change_game_time(0,hours,mins) level_weathers.get_weather_manager():forced_weather_change() if in_cover then surge_manager.get_surge_manager().time_forwarded = true -- AtmosFear psi_storm_manager.get_psi_storm_manager().time_forwarded = true -- end AtmosFear if(surge_manager.is_started() and level_weathers.get_weather_manager().weather_fx) then level.stop_weather_fx() -- level_weathers.get_weather_manager():select_weather(true) level_weathers.get_weather_manager():forced_weather_change() end end db.actor.power = 1 printf("dream_callback: time forwarded on [%d]", hours) if postproces_mod then postproces_mod.sleep_callback(hours,mins,sleep_control.forced) end
sleep_control.forced = nil end
Сообщение отредактировал SanyaSuicide - Среда, 26.08.2015, 12:45