SoC. Добавление пси-выброса на Янтарь — различия между версиями
Материал из S.T.A.L.K.E.R. Inside Wiki
LaRento (обсуждение | вклад) (→Создаём функцию пси-выброса) |
LaRento (обсуждение | вклад) |
||
| Строка 1: | Строка 1: | ||
| − | В этот туторе я хочу объяснить, как добавить похожий пси-выброс на Янтарь как в ЧН. Правда есть один недостаток. Он появляется всегда в начале, как загружаешь любой сейв на Янтаре, но думаю, | + | [[Категория:Скрипты]]В этот туторе я хочу объяснить, как добавить похожий пси-выброс на Янтарь как в ЧН. Правда есть один недостаток. Он появляется всегда в начале, как загружаешь любой сейв на Янтаре, но думаю, |
это не сильный недостаток. Автор не я, благодарность Валерию Доброву. | это не сильный недостаток. Автор не я, благодарность Валерию Доброву. | ||
| − | Автор: <b>Valeras(Добряк)</b> | + | <br>Автор: <b>Valeras(Добряк)</b> |
| − | Ну что ж, начнём. | + | <br>Ну что ж, начнём. |
| Строка 50: | Строка 50: | ||
| − | Открываем --' Вывод сообщения о большой радиации | + | <br>Открываем <b>bind_stalker.script</b> и находим <br><pre>--' Вывод сообщения о большой радиации |
if self.object.radiation >= 0.7 then | if self.object.radiation >= 0.7 then | ||
local hud = get_hud() | local hud = get_hud() | ||
| Строка 64: | Строка 64: | ||
hud:RemoveCustomStatic("cs_radiation_danger") | hud:RemoveCustomStatic("cs_radiation_danger") | ||
end | end | ||
| − | end | + | end</pre> |
| − | + | <br>И пишем это: | |
| − | + | <br><pre>yantar_psy_blowout.update()</pre> | |
| − | yantar_psy_blowout.update() | + | |
| − | Всё, готово. Правда вам необходимо добавить звук blowout.ogg | + | <br>Всё, готово. Правда вам необходимо добавить звук <b>blowout.ogg</b> |
| − | Качаем его отсюда http://rusfolder.com/33743634 | + | <br>Качаем его отсюда http://rusfolder.com/33743634 |
| − | и добавляем в sounds/ambient | + | и добавляем в <i>sounds/ambient</i> |
| − | Всё, готово. Идите и проверяйте!) Удачи. | + | <br>Всё, готово. Идите и проверяйте!) Удачи. |
Версия 09:28, 2 декабря 2012
В этот туторе я хочу объяснить, как добавить похожий пси-выброс на Янтарь как в ЧН. Правда есть один недостаток. Он появляется всегда в начале, как загружаешь любой сейв на Янтаре, но думаю,
это не сильный недостаток. Автор не я, благодарность Валерию Доброву.
Автор: Valeras(Добряк)
Ну что ж, начнём.
Создаём функцию пси-выброса
Для этого создаём новый скрипт. Пускай 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
Всё, готово. Идите и проверяйте!) Удачи.