В данной теме вы можете задавать любые вопросы касательно 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 по основным вопросам моддинга - обращаемся в ЛС.
Игра в DayZ навела на мыслю, вот у меня есть с худом скажем бросабельная жестяная банка, если сделать ей тип звука при падении, на который настораживаются враги, получится ли тактически обмануть их?
Да получится. В зависимости от параметров звука можно сделать чтобы НПС реагировали на нее как на гранату и как на обычные шаги и т.д. Но это работает только если объект сделан на классе гранаты
Приветствую. Прошу помощи. В процессе изучения игры Зов Припяти возникли определенные вопросы (настраиваю игру под свои потребности), и прошу мне объяснить или подсказать (буду признателен за информацию): - Как на заводе Юпитер сделать несколько (3-4) зоны постоянного спавна зомби? - Как добавить описание нового оружия (в каких файлах, я еще не совсем разобрался) чтобы можно было прочитать в инвентаре ГГ нормальный текст? - Как правильно перенести один "ствол" с одного вооруженного паау в игру и адекватно его туда поместить (например взять автомат с Call of Pripyat Weapon Pack и добавить в игру где уже стоит Original Weapons Renewal)? - Как извлечь из игры экзоскелет, заменить ему параметры и текструры и добавить как новый вид экзы? Спасибо.
strchi, _Призрак_, На звук то они реагировать будут (с этим как раз спора нет), но не будет ожидаемой реакции, как в продвинутых стелс играх (типа НПС услышал звук - пойду хорошенько проверю все в этом месте да еще других НПС предупрежу об опасности). В движке сталкера реакция на звук только лишь эдакий маркер опасности, полноценную реакцию на который еще необходимо правильно реализовать.
FromplanetEarth, Вам бы уроки по этим темам почитать, благо информации море...
Сообщение отредактировал denis2000 - Воскресенье, 21.12.2014, 17:31
denis2000, Спасибо за совет, но мне пока не все ясно с того что я знаю по ЗП, поэтому и спрашиваю. Буду благодарен если предоставите какую-то конкретную информацию.
Loverboy, Я готовый код приводить не буду, просто расскажу как делать в принципе:
1. Отлов события использования предмета ГГ. После этого события вызывается функция actor_binder:use_inventory_item(obj) из скрипта bind_stalker.script, в нее передается параметром использованный объект. 2. Так вот проверяешь, что данный объект был едой или медикоментом по его классу или по имени секции (на примере имя секции анабиотика):
Код
if(obj) then local s_obj = alife():object(obj:id()) if(s_obj) and (s_obj:section_name()=="drug_anabiotic") then
3. Далее отбираешь управление у игрока персонажем, прячешь открытые окна и оружие:
Код
xr_effects.disable_ui_only(db.actor, nil)
4. Выставляешь флаг что предмет используется:
Код
give_info("item_in_process")
5. Запоминаешь момент времени использования предмета:
Код
use_item_time = game.get_game_time()
6. Осталось после истечения требуемого времени вернуть управление персонажем игроку и снять флаг использования предмета, это придется делать периодически проверяя не превысила ли разница текущего времени и запомненного необходимую величину:
Код
local tf = level.get_time_factor() local diff_sec = math.ceil(game.get_game_time():diffSec(use_item_time)/tf) if diff_sec>5 then xr_effects.enable_ui(db.actor, nil) disable_info("item_in_process") end
Сообщение отредактировал denis2000 - Воскресенье, 21.12.2014, 18:54
denis2000, Попробовал звук сделать с комментом гранаты, они просто разбежались и сразу вернулись на места, нелепо выглядит, как-то логику бы эту подправить