В данной теме вы можете задавать любые вопросы касательно 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 по основным вопросам моддинга - обращаемся в ЛС.
Sanjaaa, в bind_stalker.script, есть функция, которая вызывается всего один раз, в начале игры:bCheckStart then. Впиши выдачу инфопоршня на квест по аналогии с другими:
Код
if self.bCheckStart then printf("SET DEFAULT INFOS")
if not has_alife_info("storyline_actor_start") and (level.name() == "l01_escape") then self.object:give_info_portion("storyline_actor_start") _G.g_start_avi = true printf("*AVI* RUN START AVI") end
-- if not has_alife_info("encyclopedy") then -- self.object:give_info_portion("encyclopedy") -- end
if not has_alife_info("global_dialogs") then self.object:give_info_portion("global_dialogs") end
if not has_alife_info("level_changer_icons") then self.object:give_info_portion("level_changer_icons") end
-- ------------------------------------------------------------------------------------------------------- if not has_alife_info("твой инфопоршень") then self.object:give_info_portion("твой инфопоршень") end -- ------------------------------------------------------------------------------------------------------
level_tasks.add_lchanger_location()
self.bCheckStart = false end
Сообщение отредактировал Arist - Суббота, 25.01.2014, 17:24
Скажите, как сделать чтоб скрипт жрал одну аптечку, вот скрипт
function outfit_uniqum() local actor = db.actor if db.actor:item_in_slot(7) == nil then elseif db.actor:item_in_slot(7):section() == "stalker_outfit" and actor.health <= 0.5 then automedkit() end end
function automedkit() if db.actor:object("medkit") ~= nil or db.actor:object("medkit_army") ~= nil or db.actor:object("medkit_scientic") ~= nil then eat_medkit() end end
function eat_medkit() if db.actor:eat(db.actor:object("medkit")) ~= nil or db.actor:eat(db.actor:object("medkit_army")) ~= nil or db.actor:eat(db.actor:object("medkit_scientic")) ~= nil then end end
А то он у меня почти все аптечки жрет Так сильно жить хочет
Сообщение отредактировал SG - Суббота, 25.01.2014, 17:27
Добавлено (25.01.2014, 18:54) --------------------------------------------- И ещё, подскажите, пожалуйста, какой параметр овечает за точность? Мне нужно точность у абакана поменять.
Скажите, как сделать чтоб скрипт жрал одну аптечку, вот скрипт
Вместо нагромождения функций пишем примерно так
function outfit_uniqum() local actor = db.actor local outfit = actor:item_in_slot(7)
if outfit then if outfit:section() == "stalker_outfit" and actor.health <= 0.5 then if actor:object("medkit") or actor:object("medkit_army") or actor:object("medkit_scientic") then local medkit = actor:object("medkit") local medkit_army = actor:object("medkit_army") local medkit_scientic = actor:object("medkit_scientic") if medkit then actor:eat(medkit) elseif medkit_army then actor:eat(medkit_army) elseif medkit_scientic then actor:eat(medkit_scientic) end end end end end
Сообщение отредактировал makdm - Воскресенье, 26.01.2014, 00:31
Помогите разобраться с параметрами мобов: dynamic_out_restrictions = dynamic_in_restrictions = и за одно с смартами для нпс: in_rest = "", out_rest = "", а то совсем запутался.
ins33, out_rest - нпс не может выйти из рестриктора с указанным именем, аналогично in_rest - нпс не может зайти в ресткритор с указанным именем.
Интересует такой вопрос: можно ли через сдк или через логику указать условие спавна физического объекта? Например: заспавнить бочку по получению поршня.
Сообщение отредактировал TYOPA - Воскресенье, 26.01.2014, 10:34