В данной теме вы можете задавать любые вопросы касательно 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 по основным вопросам моддинга - обращаемся в ЛС.
makdm, этот звук проигрывается при подходе к станции переработки отходов. Кажется понял, он завязан на логике НПС, буду переделывать. Спасибо! Еще раз с Наступающим!
Ребяяяят... Было у кого такое, что в диалогах не работают ни функции, ни прекондишны? Скажите плиз кто знает, в каком направлении надо "рыться", чтобы такое исправить? Вот диалоги
function sult_specfunc() if db.actor:object("zat_sult_scan_1") then db.actor:give_info_portion("gg_have_scan1_sult") end if db.actor:object("zat_sult_scan_2") and (not has_alife_info("gg_have_scan1_sult")) then db.actor:give_info_portion("gg_have_scan2_sult") end if has_alife_info("gg_have_scan1_sult") and (has_alife_info("gg_have_scan2_sult")) then db.actor:give_info_portion("gg_have_all_scans_sult") end end
function create_sult_scan(first_speaker, second_speaker) alife():create("zat_sult_scan_1",vector():set(152.21786499023,0.35253927111626,151.26588439941),1226177,184) alife():create("zat_sult_scan_2",vector():set(152.34828186035,1.570797085762,142.8894675293),1227379,184) end
function scan_sult_prov(first_speaker, second_speaker) local items_table = {""zat_sult_scan_1","zat_sult_scan_2""} for k,v in pairs(items_table) do if db.actor:object(v) ~= nil then dialogs.relocate_item_section_from_actor(first_speaker, second_speaker, v) end end end
function actor_scans_have_all_sult(first_speaker, second_speaker) return db.actor:object("zat_sult_scan_1")~=nil and db.actor:object("zat_sult_scan_2")~=nil end
function give_sult_quest_scan(first_speaker, second_speaker) task_manager.get_task_manager():give_task("rab_sult_01") end
sult_specfunc() - функция, которую полагается забиндить, она бы проверяла в игре наличие у ГГ сканеров и выдавала бы полагающиеся инфопоршни для обновления заданий. scan_sult_prov - проверяет через диалог, есть ли у актора сканеры, и если они есть, передает их second_speaker. actor_scans_have_all_sul - это прекондишн, проверяет наличие у актора всех сканеров. create_sult_scan - создает сканеры по координатам. Ни одна из функций не работает. НЕ выдается квест, НЕ спавнятся сканеры, НЕ работает прекондишн (второй диалог у Султана появляется сразу же после завершения первого - т.е. инфопоршни в порядке, но НИ ОДНА из функций не работает - ладно бы еще не работала create, я бы тогда координаты проверял и т.д., но даже квест не выдается!). Раньше функции располагались в dialogs.zaton.script - тот же результат. Хотя я указывал путь dialogs.zaton.scan_sult_prov - например. Одно и то же - такое ощущение, функции просто не "видятся". Как и полагалось по учебнику, я добавил sult_specfunc в бинд bind_stalker
myscript.sult_specfunc()
. Вот я прописал квест
[rab_sult_01] icon = ui_inGame2_V_poiskah_Soroki prior = 1 storyline = false title = "Принести Султану сканеры" descr = "Принести Султану первый сканер", {+gg_have_scan1_sult} "Принести Султану второй сканер", {+gg_have_all_scans_sult} "Принести все Султану" target = zat_b7_bandit_boss_sultan condlist_0 = {+quest_sult_scan_complete} complete
[/spoiler] У кого была похожая проблема?
Сообщение отредактировал DyadyaIsai00 - Пятница, 01.01.2016, 15:57
Помогите пожалуйста! Заколебал этот вылет, дольше 10 минут нельзя играть! GOOD MoD on CP v2.0 [spoiler] compiling shader yuv2rgb * [win32]: free[2467588 K], reserved[152584 K], committed[1574068 K] * [ D3D ]: textures[381427 K] * [x-ray]: crt heap[430444 K], process heap[94689 K], game lua[67384 K], render[687 K] * [x-ray]: economy: strings[32424 K], smem[13700 K]
FATAL ERROR
[error]Expression : !m_error_code [error]Function : raii_guard::~raii_guard [error]File : D:\prog_repository\sources\trunk\xrServerEntities\script_storage.cpp [error]Line : 748 [error]Description : ...all of pripyat\gamedata\scripts\smart_terrain.script:584: attempt to index local 'job_data' (a nil value)
Друзья-товарищи, кому не сложно, запакуйте, пожалуйста, оригинальные Свалку (garbage), Агропром (agroprom) и Темную долину (darkvalley) из Чистого неба (gamedata\levels) и залейте куда-нибудь. Буду всецело благодарен!
Сообщение отредактировал Кадар - Пятница, 01.01.2016, 17:19
Joni_009, т.е. положить все в текстовый массив? Раньше у меня там и лежали все тексты для тайтла и дескрипшна, только случался вылет из-за end-тега, так и не понял тогда, в чем было дело, все теги вроде были в порядке... Попытаюсь еще раз все запихнуть в соответствующие текстовые массивы, м.б. поможет... В любом случае спасибо за совет
3. Лишние кавычки в скрипте local items_table = {""zat_sult_scan_1","zat_sult_scan_2""} 4. Функция sult_specfunc сразу в топку, тем более вызов ее из bind_stalker.script. Функции проверяющие наличие предметов запихиваются в xr_conditions.script и "вызываются" прямо из конфига квеста:
Код
descr = "Принести Султану первый сканер", {=gg_have_scan1_sult} "Принести Султану второй сканер", {=gg_have_all_scans_sult} "Принести все Султану"
И возможно это еще не все.
Сообщение отредактировал denis2000 - Пятница, 01.01.2016, 19:18
Всем привет! Заметил при компиляции спавна вот это
Это как-то может повлиять на игровой процесс? Зараннее спасибо!
Добавлено (01.01.2016, 22:04) --------------------------------------------- Еще такой момент, собрал спавн - Затон и Рыжий Лес, и в way_zaton очень часто встречается такое name = """wp01""". Все имена путей из оригинала в кавычках. Потом очень много level_vertex_id = -1 и game_vertex_id = 47504 и больше. Подозреваю что из-за этого бьются сейвы. Как это устранить? Зараннее спасибо!
Не были созданы точки перехода между сетками ваших уровней и 115 и 118 (что это смотрите в game_levels.ltx). Это никак не повлияет если этих уровней у вас нет, но геймграфы сопряжения с этими уровнями лучше удалить/переделать.
Цитата_S_k_i_F_ ()
way_zaton очень часто встречается такое name = """wp01""". Как это устранить?
Это конечно не нормально. Может ли на что-то повлиять? Не уверен, вероятно что да. Придется исправить имена точек в SDK (можно прямым редактированием way.part, бекап не забудьте)
Цитата_S_k_i_F_ ()
очень много level_vertex_id = -1 и game_vertex_id = 47504 и больше.
Это гораздо хуже, если декомпилятор настроен верно и это не его глюк, такие параметры с большой вероятностью приведут к битым сейвам. Сначала проверьте декомпилятор, потом выбирите пару объектов с битыми вертекс ид и проверьте их настройки в SDK, так-же проверьте настройки game_levels.ltx и game_maps_single.ltx в gamedata SDK
Сообщение отредактировал denis2000 - Пятница, 01.01.2016, 22:33
denis2000, все это в файле way_zaton. Way_red_forest и алайфы в норме. Глюки с кавычками только в именах путей оригинала ЗП. В путях и точках, которые сам поставил такого нет. Декомпилятор нормальный. Отредактировал way.part - проблему с кавычками устранил. Только вот про проверку объектов в СДК немного не понял: как проверить настройки точки пути?
Сообщение отредактировал _S_k_i_F_ - Пятница, 01.01.2016, 23:05
_S_k_i_F_, Я бы предложил другой выход, если спавн был переделан, то как вариант убрать спавн ГГ и сделать его еще раз. Сам лог вылета указывает на это, level_id - здесь поможет пересборка АИ-сети, либо искать вручную этот сектор и добавлять недостающие связи.
Добавлено (02.01.2016, 01:21) --------------------------------------------- Карантин, если правильно понимаю, то они как бы уже соединены, остается сделать переходы. Вот урок, очень хороший.
Сообщение отредактировал Кадар - Суббота, 02.01.2016, 01:21