В данной теме вы можете задавать любые вопросы касательно 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 по основным вопросам моддинга - обращаемся в ЛС.
Я балуюсь с 2.1 и 3.0 Атмосферой, с 2-й версией на ЧН не работал, но думаю отличия от ЗП-шной 2.1 не большие.
Добавлено (02.03.2014, 00:13) --------------------------------------------- FantomICW.... , ну не знаю - ошибку то пишет бинд. Возможно нужно разбить арты на большее количество групп и изменить название, может где-то пробел - посмотрю. Но в целом оно должно работать.
UX-3000, ошибки исправил. Была пропущена скобка и два выражения else использовались неправильно.
Код
--/Эффект песца при поднятии артефакта function on_item_take(obj) if (obj:section()=="af_antigravi" or obj:section()=="af_black_fish" or obj:section()=="af_violet_fish_bad" or obj:section()=="af_electra_degen" or obj:section()=="af_electra_fure" or obj:section()=="af_electra_yellow_bad" or obj:section()=="af_electra_orange_bad" or obj:section()=="af_electra_violet_bad" or obj:section()=="af_electra_black_bad" or obj:section()=="af_cristall_bad" or obj:section()=="af_fireball_bad" or obj:section()== "af_dummy_glassbeads_bad" or obj:section()=="af_antieye" or obj:section()=="af_electra_red_bad" or obj:section()=="af_soul_killer" or obj:section()=="af_baloon_bad" or obj:section()=="af_dummy_pellicle_bad" or obj:section()=="af_ameba_bad" or obj:section()=="af_kaktus_bad" or obj:section()=="af_electra_moondeath" or obj:section()=="af_dummy_fbattery_bad" or obj:section()=="af_gorgona") then art_rad_main() elseif (obj:section()=="af_electra_crazy") then art_rad_main_dead() end end
function art_rad_main() news_manager.send_tip(db.actor, "%c[255,255,128,128]СПРАВОЧНИК АРТЕФАКТОВ:\n%c[default]Вы подняли вредный антиартефакт.\\nНи в коем случае не ложите его в ячейку костюма - это смертельно опасно.\\nНайдите возле аномальной зоны металлический изолирующий контейнер. \\nПоложите антиартефакт во внутрь этого контейнера и он будет изолирован.\\nИ не забудьте принять антирад и возможно подлечиться аптечкой.", nil, nil, 10000) play_snd_at_actor([[device\pda\pda_alarm]]) level.add_pp_effector("radiation.ppe", 1995, false) db.actor.power = - 0.50 db.actor.radiation = - 0.50 level.add_cam_effector("camera_effects\\fusker.anm", 29, false, "") level.add_cam_effector("camera_effects\\shell_shock.anm",118711,false,"") level.add_cam_effector("camera_effects\\earthquake_00.anm",118712,false,"") level.add_pp_effector("snd_shock.ppe",118713,false) level.remove_pp_effector(1995) level.remove_pp_effector(118713) end function art_rad_main_dead() news_manager.send_tip(db.actor, "%c[255,255,128,128]СПРАВОЧНИК АРТЕФАКТОВ:\n%c[default]Вы подняли смертельно опасный антиартефакт. Внимание! Критический уровень радиации! Опасность! Опасность!.\\Мониторинг жизненных показателей: нитевидная форма пульса.\\Связь прекращена в связи с наступившей гибелью носителя.", nil, nil, 10000) play_snd_at_actor([[device\pda\pda_alarm]]) level.add_pp_effector("radiation.ppe", 1995, false) level.add_cam_effector("camera_effects\\fusker.anm", 29, false, "") level.add_cam_effector("camera_effects\\shell_shock.anm",118711,false,"") level.add_cam_effector("camera_effects\\earthquake_00.anm",118712,false,"") level.add_pp_effector("snd_shock.ppe",118713,false) db.actor:kill(db.actor) --убийство игрока самым сильным антиартефактом и сообщение о наступлении песца level.remove_pp_effector(1995) level.remove_pp_effector(118713) end
Сообщение отредактировал FantomICW - Воскресенье, 02.03.2014, 00:21
[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 : ....Р. - Зов Припяти\gamedata\scripts\aa_art_rad.script:26: attempt to call global 'play_snd_at_actor' (a nil value)
stack trace:
Скорее всего, дело в ..... ( в Послушнике был play_snd_at_actor([[actor\pain_5]]), у нас был звук счётчика гейгера (привязанный к самому аппарату??), не подумал - поставил play_snd_at_actor([[device\pda\pda_alarm]]) , актор же не может пищать))) Да, всё одновременно учитывать сложно...
Сообщение отредактировал UX-3000 - Воскресенье, 02.03.2014, 00:38
Нет, я заменил нашими (звуки счётчика гейгера, но теперь получается, что актор получает хит при подъёме арта и сообщение о его вреде, текст выходит только один раз на экран. Это есть хорошо - получился расширенный гибрид скрипта из Послушника и АА, но самой радиации в рюкзаке (накопления) теперь нет - она же раньше была завязана на нахождении антиартов в рюкзаке (в нашей старой версии скрипта). Есть идея сделать в разных скриптах - в основном - оставить всё как есть, но для общего списка артефактов и пустышек (на подбор), восстановить старый скрипт (частично - на нахождение в рюкзаке) и выделить его только для антиартефактов. Тогда будет учитываться и подбор артов (удар для всех) и нахождение в рюкзаке (только для вредных). Как думаете - не будет пересечения скриптов друг с другом? Нужно поэкспериментировать, но я уже всё - выпадаю в осадок. Завтра посмотрю погоду и скрипты переделаю как надо.
Добавлено (02.03.2014, 01:15) --------------------------------------------- Ещё бы к этому ко всему бы сделать контейнеры для артефактов изолирующие (для переноски - я пока ограничился ящиками для скидывания вреднятины, но неплохо было бы и им сделать скрипт вроде скрипта уборщика трупов, но для артефактов и скрипт старения оных - положил в контейнер и ага через время......). Даже знаю где эта идея лежит нереализованная - можно переделать скрипты Клондайк-мода на ЗП, чтобы артефакты были динамические, со своим временем "жизни"...., но это уже хардкор....
Сообщение отредактировал UX-3000 - Воскресенье, 02.03.2014, 01:11
Короче ,пойти я его заставил на первую точку ,а на вторую он просто смотрит.Развернулся и смотрит в её направлении.Стоит как вкопанный.Почему? И ещё как через логику кнопки выдать ГГ какой-нибудь предмет?Ну в смысле он нажал кнопку и тут у его в рюкзаке появилась ну тушенка например.
Добавлено (02.03.2014, 08:53) --------------------------------------------- Ах да ,платформа ЗП.
FantomICW, Как прописать функцию, чтобы ветка диалог появлялся тогда и только тогда, когда у Гг в инвентаре имеется какой-либо предмет необходимый при взаимной передачи предмета?