SoC. Добавление пси-выброса на Янтарь — различия между версиями
Материал из S.T.A.L.K.E.R. Inside Wiki
LaRento (обсуждение | вклад) |
|||
Строка 1: | Строка 1: | ||
− | [[Категория:Скрипты]]В этот туторе я хочу объяснить, как добавить похожий пси-выброс на Янтарь как в ЧН. Правда есть один недостаток. Он появляется всегда в начале, как загружаешь любой сейв на Янтаре, но думаю, | + | [[Категория:Скрипты]]В этот туторе я (Valeras(Добряк)) хочу объяснить, как добавить похожий пси-выброс на Янтарь как в ЧН. Правда есть один недостаток. Он появляется всегда в начале, как загружаешь любой сейв на Янтаре, но думаю, |
− | это не сильный недостаток. Автор не я, благодарность | + | это не сильный недостаток. Автор не я, благодарность <b>Shadows</b> за скрипт выброса из его <b>"Shadows Addon"</b> aka <b>Phantoms Zone</b>. |
− | < | + | |
<br>Ну что ж, начнём. | <br>Ну что ж, начнём. |
Версия 22:09, 4 декабря 2012
В этот туторе я (Valeras(Добряк)) хочу объяснить, как добавить похожий пси-выброс на Янтарь как в ЧН. Правда есть один недостаток. Он появляется всегда в начале, как загружаешь любой сейв на Янтаре, но думаю, это не сильный недостаток. Автор не я, благодарность Shadows за скрипт выброса из его "Shadows Addon" aka Phantoms Zone.
Ну что ж, начнём.
Создаём функцию пси-выброса
Для этого создаём новый скрипт. Пускай yantar_psy_blowout.script и пишем туда:
function update() yantar_psy_blowout() end local next_blowout = 0 local effects_off = 0 function yantar_psy_blowout() if level.name()=="l08_yantar" then ; имя локации, на которой будет пси-выброс if not has_alife_info("yan_labx16_switcher_3_end") and next_blowout < time_global() then next_blowout = time_global() + 300000 ; время между пси-выбросами effects_off = time_global() + 30000 ; его длительность db.actor.psy_health = -0.45 ; количество здоровья, которое отнимается при нём play_sound([[characters_voice\scenario\yantar\psy_voices_1]]) ; ссылка на звук во время пси-выброса play_sound([[ambient\blowout]]) ; звук начала выброса level.add_call(yantar_psy_blowout_timer, yantar_psy_blowout_off) level.add_pp_effector("psy_antenna.ppe", 1875, true) level.add_pp_effector("yantar_underground_psi.ppe", 1876, false) level.add_cam_effector("camera_effects\\shell_shock.anm", 396, false, "") level.add_cam_effector("camera_effects\\earthquake.anm", 397, false, "") end end end function yantar_psy_blowout_timer() return time_global() > effects_off end function yantar_psy_blowout_off() level.remove_pp_effector(1875) end function play_sound(sound,obj) if obj == nil then obj = db.actor end snd = xr_sound.get_safe_sound_object(sound) snd:play_no_feedback(obj,sound_object.s2d,0,vector(),1.0) end
Регистрация в bind_stalker.script
Открываем bind_stalker.script и находим
--' Вывод сообщения о большой радиации if self.object.radiation >= 0.7 then local hud = get_hud() local custom_static = hud:GetCustomStatic("cs_radiation_danger") if custom_static == nil then hud:AddCustomStatic("cs_radiation_danger", true) hud:GetCustomStatic("cs_radiation_danger"):wnd():SetTextST("st_radiation_danger") end else local hud = get_hud() local custom_static = hud:GetCustomStatic("cs_radiation_danger") if custom_static ~= nil then hud:RemoveCustomStatic("cs_radiation_danger") end end
И пишем это:
yantar_psy_blowout.update()
Всё, готово. Правда вам необходимо добавить звук blowout.ogg
Качаем его отсюда http://rusfolder.com/33743634
и добавляем в sounds/ambient
Всё, готово. Идите и проверяйте!) Удачи.