В данной теме вы можете задавать любые вопросы касательно 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 по основным вопросам моддинга - обращаемся в ЛС.
Uyman358, Через логику можно хоть 10 поршней выдать, явных ограничений нету Как пример, строки из оригинала (раз у Вас: "а чтобы выдавали через логику сразу несколько поршней я не выдел и не слышал"), файл configs\scripts\evac\pri_a28_sr_squad_neutral.ltx. Разработчики СОВСЕМ взбеленились, решили аж 3 поршня одновременно выдать О_о: ... on_info = {!squad_exist(pri_a16_military_squad)} sr_idle@timeout %+pri_a28_squad_dead +pri_a28_strelok_dead +pri_a28_koval_dead% ...
BOVER, Да, именно отдельная непись - actor_visual_stalker ее имя
Сообщение отредактировал XOBAH - Воскресенье, 28.10.2012, 17:00
BOVER, сделать кат-сцену так, чтобы не было видать позицию ГГ. Либо-же, при начале кат-сцены телепортировать ГГ так, чтобы его не было видно на кат-сцене
XOBAH, благодарю! А есть ли скрипт которій проверяет одетую броню и если у на та броня то у неписи определенной будет определенній визуал? Так как в ЗП, когда проверяет какой костюм у гг что бы в кат сцене актор был одет по анологии.
Как сделать так, чтобы когда ГГ проходил рядом с определённым НПС, диалог автоматически включался со слов НПС, как это было в ЗП, когда мы выходили из Скадовска, и к нам автоматически обращался сталкер, который говорил что это его оружие. Возможно это в ТЧ?
dinsekt, посмотри разбор секции meet на инсайде - статья Настройка Логики Или в архиве, недавно тов. Colr_It отвечал на подобный вопрос
BOVER, Я не знаю как сделано присваивание визуала NPC в кат-сценах, но оружие и спавн "клона ГГ" идет в следующей функции. Визуал NPC в ТЧ менять через нет-пакеты
function create_cutscene_actor_with_weapon(actor, npc, p) --' p[1] - секция кого спаунить --' p[2] - имя патрульного пути где спаунить. --' p[3] - точка патрульного пути --' p[4] - поворот по оси Y --' p[5] - принудительный слот - будет работать даже при disable_ui local spawn_sect = p[1] if spawn_sect == nil then abort("Wrong spawn section for 'spawn_object' function %s. For object %s", tostring(spawn_sect), obj:name()) end
local path_name = p[2] if path_name == nil then abort("Wrong path_name for 'spawn_object' function %s. For object %s", tostring(path_name), obj:name()) end
if not level.patrol_path_exists(path_name) then abort("Path %s doesnt exist. Function 'spawn_object' for object %s ", tostring(path_name), obj:name()) end local ptr = patrol(path_name) local index = p[3] or 0 local yaw = p[4] or 0
local npc = alife():create(spawn_sect, ptr:point(index), ptr:level_vertex_id(0), ptr:game_vertex_id(0)) if IsStalker( nil, npc:clsid()) then npc:o_torso().yaw = yaw * math.pi / 180 else npc.angle.y = yaw * math.pi / 180 end
local slot_override = p[5] or 0
local slot local active_item
if slot_override == 0 then slot = db.actor:active_slot() if(slot~=2 and slot~=3) then return end active_item = db.actor:active_item() else if db.actor:item_in_slot(slot_override) ~= nil then active_item = db.actor:item_in_slot(slot_override) else if db.actor:item_in_slot(3) ~= nil then active_item = db.actor:item_in_slot(3) elseif db.actor:item_in_slot(2) ~= nil then active_item = db.actor:item_in_slot(2) else return end end end
local actor_weapon = alife():object(active_item:id()) local section_name = actor_weapon:section_name() if section_name == "pri_a17_gauss_rifle" then section_name = "wpn_gauss" end
if (active_item) then local new_weapon = alife():create(section_name, ptr:point(index), ptr:level_vertex_id(0), ptr:game_vertex_id(0), npc.id) if section_name ~= "wpn_gauss" then new_weapon:clone_addons(actor_weapon) end end end