В данной теме вы можете задавать любые вопросы касательно 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 по основным вопросам моддинга - обращаемся в ЛС.
newl71 1. Если тебе нужно вызывать чит меню не привязываясь к ui_main_menu, то, как я уже писал, на Wiki есть статья о том, как сделать горячие клавиши стандартными методами, на подобие кнопок использования аптечки/бинта и т.д.; 2. Смотря каким методом пользоваться. Предложенный метод на Wiki, при определённой доле модификации позволит. Есть правки движка, где это сделать крайне просто, но теряется пункт "на любой мод". Ещё есть перехватчик клавиш от Alpet (ничего не скажу, не юзал никогда); 3. Читай описание классов. Тема есть на amk-team.
Sanjaaa, Запускаешь таймер, при срабатывание которого даёшь поршень, который разрешает появиться диалогу. Если планируется переход\перезагрузка, советую использовать этот >>таймер<<, иначе после перезагрузки сработает таймер.
можно ткнуть на статью? я нашел только "Назначение скриптам горячих кнопок. Часть 1. Скрипт" и SoC. Назначение горячих клавиш кнопкам в диалоговых окнах.
time_d local rest_time_d = 0 local minute = 60*1000 -- игровая минута local hour = minute*6 -- игровой час
function name_function() -- в диалог добавляем <action>name_script.name_function</action> time_d = time_global() + hour*2 -- взводим на 2 часа db.actor:give_info_portion("name_infoporticion") -- Выдаём поршень работы таймера. end
function timer_start_bar() -- на update(delta) if has_alife_info("name_infoporticion") then -- проверяем условие работы таймера if time_d == nil then -- если вдруг таймер обнулился (перезагрузка) if rest_time_d ~= 0 then -- и остался остаток (он будет только если используешь тот скрипт) то time_d = time_global() + rest_time_d -- вычисляем остаток времени end else -- или rest_time_d = time_d - time_global() -- остаток = разнице if time_d < time_global() then -- если пора "вставать" db.actor:disable_info_portion("name_infoporticion") -- забираем поршень, что-бы остановить таймер. db.actor:give_info_portion("name_infoporticion_talk") -- выдаём поршень, который проверяется в диалоге. news_manager.send_tip(db.actor, "%c[255,0,255,0]Бармен.\\n%c[default]Зайди ко мне, поговорить надо.", 0, "trader", 5000) -- отправим смс. Если надо. time_d = nil -- обнуляем rest_time_d = 0 -- обнуляем end end end end
И добавляем проверку поршня в диалоге. <has_info>name_infoporticion_talk<\has_info> И настоятельно рекомендую использовать скрипт приведённый выше. Если не нужен вывод на худ, просто закоменть: --this.hud_timer() -- Вывод секундомера на худ.
П.С. Можешь использовать таймер попроще, только при перезагрузке time_d будет всегда = 0, и соответственно if 0 < time_global() then при загрузке таймер сработает сразу.
Сообщение отредактировал ins33 - Среда, 16.04.2014, 16:46
Хочю научится добавлять в игру оружие но с других модов (для начала). Я совсем пока не знаю какие файлы нужно копировать для его добавления. Знаю только текстуры и озвучку остальное неизвестно. Подскажите пожалуйста.
Добавлено (16.04.2014, 17:13) --------------------------------------------- G-36, в конфиге(config/wapons/) путь к мешам(meshes/weapons/) visual = weapons\abakan\wpn_abakan - путь к моровой модели visual = weapons\abakan\wpn_abakan_hud.ogf - путь к худовой модели.
ins33, Да не в тч на ЧАЭС была метка. а так чтоб на одной локе не было ток через скрипты походу. кстати подскажи функцию передачи денег от ГГ к НПС. такоя может подойти?
Код
function outmoney(first_speaker, second_speaker) dialogs.relocate_money_section(second_speaker, "65000", "out") -- или in, в зависимости от цели. end
Сообщение отредактировал Sanjaaa - Среда, 16.04.2014, 17:37
function name(first_speaker, second_speaker) dialogs.relocate_money(second_speaker, 10000,"in") -- дадим 10000 тубриков end
Код
function name(first_speaker, second_speaker) return first_speaker:money() >= 10000 -- проверка наличия тубриков, в примере 10000, используется в <precondition>name_script.name_function</precondition> end
Код
function name(first_speaker, second_speaker) dialogs.relocate_money(second_speaker, 10000,"out") -- Отдадим 10000 тубриков end
Добавлено (16.04.2014, 17:55) --------------------------------------------- Подскажите в каком скрипте обрабатывается метка ГГ, сам не смог найти, или это движковое?
В ТЧ вокруг костров стоят рестрикторы с параметром restrictor type - IN default restrictor. Я так понимаю это тип рестриктора в который нпс не могут войти. Так ли это? И работает ли вообще такой тип рестрикторов...