В данной теме вы можете задавать любые вопросы касательно S.T.A.L.K.E.R. моддинга
• Не флудить • Предварительно просматривайте раздел, ведь ответ на ваш вопрос может быть там • В своем вопросе указывайте платформу моддинга — Тень Чернобыля, Чистое небо или Зов Припяти
1. Какая стоит игра, с каким патчем? 2. Какой мод, версия мода? 3. Что правили своими ручками? 4. Лог вылета и последние 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 - содержит секции конфигов уникального оружия и костюмов.
НПНВ работает на основе файла постпроцессинга (постобработки изображения) ppe, который редактируется Postprocess Editor-ом из комплекта SDK. Там есть такая текстура - градиент, например grad_nightvision_1.dds Которая и задает кривую преобразования яркости пикселя.
ЦитатаCiBeRSiRiUs ()
Как увеличить дальность отрисовки травы?
Ищи правки движка на эту тему. Конкретно правки рендеров на дальность отрисовки травы.
ЦитатаCiBeRSiRiUs ()
Как сделать тише звук анамалии
Отредактировать громкость звуков в Sound Editore SDK.
Сообщение отредактировал denis2000 - Вторник, 28.06.2016, 09:35
Всем привет. Надо сделать такой артефакт, который уберет скопление аномалий. Как его заспавнить? И аномалии тогда спавнить через СДК или другим каким-нибудь способом?
strchi, я в солянку не играл, поэтому сказать не могу. Надо в одном месте сделать скопление аномалий, потом туда кинуть артефакт и, вуаля, аномалий нет.
ins33, не то, чтобы не правильно, просто можно действительно проще:
Код
for i = 1, #ar do
Но это будет справедливо, если у тебя массив не ассоциативный, а обычный (индексированный) как у тебя в примере. P.S. А можно вопрос - зачем такой мазохизм? Ещё при мне год назад Real Wolf (L.W.C. Team) делал правки движка с действием артов из рюкзака. Не проще ли будет использовать их? P.P.S. Кстати, по поводу работы или "не работы" твоей реализации. Что-то мне подсказывает radiation_restore_speed не показывает абсолютную величину изменения радиации, а является каким-то коэффициентом для движка. Возможно причина в этом.
Сообщение отредактировал BozKurt - Вторник, 28.06.2016, 13:20
BozKurt, Привет. Это для ЗП. Правки уже тестил 0x101C9A71 6, 0x101C9B6F 3. И, как ни странно, тут тоже +5% прирост радиации в разы сильней, чем снятие 52%. Плюс в моде есть шлемы, и если они будут работать из рюкзака, то это будет странно даже для зоны.
function on_use_item(sect) local item_name = sect:section() if item_name == "af_medusa" then local timeact = time_global() local particle = particles_object("anomaly2\\gravity_idle") local pos = db.actor.position() local x = pos.x local y = pos.y + 3.0 local z = pos.z if db.actor:object("oskolki_bylighnika") ~= nil then news_manager.send_tip(db.actor, "Внимание, пробуждение артефакта прошло успешно! Переместите артефакт на пояс!", nil, nil, 5000) xr_effects.remove_item(nil, nil, {"af_medusa"}) xr_effects.remove_item(nil, nil, {"oskolki_bylighnika"}) give_object_to_actor("af_medusa_act") particle:play_at_pos(vector():set(x,y,z)) if timeact >= timeact + 20 then xr_effects.remove_item(nil, nil, {"af_medusa_act"}) give_object_to_actor("af_medusa_off") end end if db.actor:object("oskolki_bylighnika") == nil then news_manager.send_tip(db.actor, "Внимание, осколки булыжника не обнаружены! Пробуждение не возможно", nil, nil, 5000) give_object_to_actor("af_medusa") end end end
function give_object_to_actor(obj,count) if count==nil then count=1 end for i=1, count do alife():create(obj,db.actor:position(),db.actor:level_vertex_id(),db.actor:game_vertex_id(),db.actor:id()) end end
вот ф-ция use_inventory_item из bind_stalker
Код
function actor_binder:use_inventory_item(obj) if(obj) then m_wpn_addons.use_item(obj) local s_obj = alife():object(obj:id()) if(s_obj) and (s_obj:section_name()=="drug_anabiotic") then xr_effects.disable_ui_only(db.actor, nil) level.add_cam_effector("camera_effects\\surge_02.anm", 10, false, "bind_stalker.anabiotic_callback") level.add_pp_effector("surge_fade.ppe", 11, false) give_info("anabiotic_in_process") _G.mus_vol = get_console():get_float("snd_volume_music") _G.amb_vol = get_console():get_float("snd_volume_eff") get_console():execute("snd_volume_music 0") get_console():execute("snd_volume_eff 0") else if (spalnik) then spalnik.use_inventory_item(s_obj) end end end if obj~=nil then medusa_callbacks.on_use_item(obj) end end
Asfagan, Сделай проверку на расстояние от костра и запускай скрипт восстановления здоровья. Правда тут наверно без апдейта не обойтись. Как вариант, поставить рестрикторы на костры, и из них запускай восстановление здоровья. Это будет правильней.
Код
for a=10,65635,1 do local obj=level.object_by_id(a) if obj and string.find(obj:name(),"flame") then
скриптом спавнишь рестрикторы на все костры, и напиши одну логику типа on_actor_inside. Плюс этого способа, не придётся копать алл.спавн ища все костры в ручную. При НИ единожды запусти скрипт.
MP3_IIJIEEP, А звуки не родные. В логе ищи invalid ogf и исвправляй.
Сообщение отредактировал ins33 - Вторник, 28.06.2016, 17:05