В данной теме вы можете задавать любые вопросы касательно 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, считаются ли они оба? Или мне придётся включать содержимое патча в свой архив.
Добавлено (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
anton1608_1997, С помощью конвектора от бардака для ЗП предваритедьно удалить файлы с расширением: *.AI *.SPAWN *.HOM Потом просто перенеси распакованную карту в папку maps СДК ТЧ.
Сообщение отредактировал Сахар - Суббота, 22.02.2014, 09:37
Добавлено (22.02.2014, 16:57) --------------------------------------------- у меня вопрос по npc_on_zone: идет ли проверка на то жив НПС или мертв? Если тело НПС попадет в рестриктор с логикой npc_on_zone то сработает ли?
BeeRsek, а почему не поискать по файлам, как работает функция? Функция в целом проверяет находится ли объект с указанным story_id в зоне с указанным именем. А что это будет абсолютно не важно.