В данной теме вы можете задавать любые вопросы касательно 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 по основным вопросам моддинга - обращаемся в ЛС.
1) Каким образом в ЧН происходит загрузка архивов из папки patches? Если там есть файл xpatch_10.db, а я закину туда файл xpatch_11.db, считаются ли они оба? Или мне придётся включать содержимое патча в свой архив.
2) Можно ли программным способом, через скрипты, изменить алкогольное опьянение актёра. Понизить или повысить. Проблема в том, что в моём моде ГГ не может есть и пить, если он в шлеме. С едой эта проблема решаема. А вот с алкоголем как-то не идёт. При использовании в любом случае считывается параметр из конфига и актёр пьянеет даже если он в шлеме и не смог выпить водку.
3) Чем отличается спавн сталкера через нет-пакет от обычного alife():create?
4) Есть ли в каком-то редакторе способ массовой замены одной строки на две/три/более?
Сообщение отредактировал Max_Warlock - Четверг, 20.02.2014, 18:02
вроде ты же спрашивал пару страниц назад уже? И ссылку тебе дали на полное ружье.
во-первых там руки не из ТЧ (берешь ПМ-одни руки, берешь ружье-другие , во-вторых когда ГГ просто держит ружье- не видно ствола, а при прицеливании свол и руки вообще уходят за левый край экрана (может это конечно связано с форматом монитора- у меня 4:3 или с какими-то настройками?)
Max_Warlock, 2) Нет, на алкоголь, как и на кровотечение, скриптами воздействовать нельзя. 3) Способа спавна через нет-пакеты не существует. Ты чего-то, где-то не понял. 4) Notepad++
актёр пьянеет даже если он в шлеме и не смог выпить водку
Пропишите в секции [vodka]:booster вместо параметра eat_alcohol = 0.1 параметр eat_alcohol = 0.0
Сделайте fake водку, например [fake_vodka]:vodka с параметром eat_alcohol = 0.1
Сделайте проверку на использование предмета. (callback.use_object) И если ГГ не в шлеме, то спавним в рюкзак и выпиваем fake водку db.actor:eat(db.actor:object("fake_vodka")) Если в шлеме до спавним в рюкзак [vodka]:booster и делаем return
разве в ОГСМ ЧН, сталкеры не через нет-пакеты спавнятся? Или через нет-пакеты им просто что-то прописывается\меняется?
Строки приведешь? Через alife():create просто не все в игре можно заспавнить. Нельзя указывать шейп и направление объекта. Нет-пакет собой примерно заменяет способ алл.спавна.
1) Каким образом в ЧН происходит загрузка архивов из папки patches? Если там есть файл xpatch_10.db, а я закину туда файл xpatch_11.db, считаются ли они оба? Или мне придётся включать содержимое патча в свой архив.
Добавлено (20.02.2014, 20:51) --------------------------------------------- makdm, ясно у меня орешки по этому принципу сделаны - убирают алкоголь с помощью объекта "antialco".
Добавлено (21.02.2014, 13:52) --------------------------------------------- И ещё два вопроса: Насколько сильно грузит игру проверка на наличие файла, как в ОГСМ, а также проверка опций из скрипта, опять же как в ОГСМ
Например:
if xr_modmaker and options.source_code == true then stalker_2() end
Влияют такие проверки на производительность? Если да, то как сильно?
В каждом моде, что-то висит на апдейте актора, иногда даже в таком количестве, что за голову хватаешься.
Добавлено (21.02.2014, 14:20) --------------------------------------------- В общем добавляй - начнёт тормозить, будешь знать, что это предел таких проверок. Хотя, имхо, вешать подобное на апдейт - верх безрассудства.
ColR_iT, я пытался разобраться с другими способами, но максимум, что мне удалось, это я перевесил половину функций на биндер КПК. Не знаю, правильно ли это, но работает. Выглядит вот так:
Код
function init(obj) local new_binder = generic_pda_binder(obj) obj:bind_object(new_binder) end
class "generic_pda_binder" (object_binder)
-- конструктор. Здесь выполняются действия при создании объекта function generic_pda_binder:__init(obj) super(obj) end -- вызывается при создании объекта. Аргумент - имя секции, на основе которой создан объект. function generic_pda_binder:reload(section) object_binder.reload(self, section) end -- метод, который вызывается в самом начале. Аргументов нет. Обычно, именно в этом методе устанавливаются --- колбеки function generic_pda_binder:reinit() object_binder.reinit(self) end -- вызывается постоянно function generic_pda_binder:update(delta) object_binder.update(self, delta) if db.actor then if _f_options.dynamic_hud == true then new_dynamic_hud.update() --'Динамический HUD (аддон) end if db.actor:alive() then if _f_options.dynamic_hud == true then new_dynamic_hud.init_blurs() --'Динамический HUD (аддон) end new_weapon_manager.update() new_devices_manager.detector_work_update() --'(аддон) new_torch_manager.torch_update() new_gps_manager.update_gps_state() if _f_options.rad_food == true then new_radiation_manager.rad_food() --'Заражение продуктов питания(аддон) end if _f_options.rad_arts == true then new_artefact_manager.update() --'Повышенная радиоактивность артефактов(аддон) end if _f_options.inv_limiting == true then new_limiting_items.update() end end new_dynamic_news.time_update_spam() end if _f_options.new_weather == true then new_weather_manager.black_day_sys() --'Затмение new_weather_manager.psy_storm_sys() --'Сияния new_weather_manager.update() --'Слепота после сияния end --xr_s.on_actor_update(delta) end -- вызывается при переходе объекта в онлайн function generic_pda_binder:net_spawn(data) if not object_binder.net_spawn(self, data) then return false end return true end --происходит при переходе в offline function generic_pda_binder:net_destroy()
end -- вызывается при сохранении function generic_pda_binder:save(packet) end -- вызывается при загрузке function generic_pda_binder:load(reader) end
ColR_iT, а слишком сложно ввести новую схему для рестриктора? Нужно что-то типа ph_use, но для рестриктора, назовем условно sr_use. Просто нашел одну статейку,там из ph_idle сделали ph_use, пробовал сделать из sr_idle тоже самое,но нифига.
Сообщение отредактировал BeeRsek - Пятница, 21.02.2014, 16:42