Сповіщення
Очистити все
03.11.2023 23:38
У цьому туторі я хочу пояснити, як додати схожий пси-викид на бурштин як у ЧН. Щоправда, є один недолік. Він з'являється завжди на початку, як завантажуєш будь-який сейв на Янтарі, але гадаю, це не сильний недолік. Автор не я, подяка Shadows за скрипт викиду з його "Shadows Addon" aka Phantoms Zone .
Автор статті: LaRento
Автор скрипту: Shadows
Ну що ж, почнемо.
Створюємо функцію пси-викиду
Для цього створюємо новий скрипт. Нехай yantar_psy_blowout.script і пишемо туди:
-- Пси-Викид на Янтарі by Shadows 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 + 300000 -- час між пси-викидами effects_off = time_global ( ) + 30000 -- його тривалість db.actor.psy_health = -0.45 -- кількість псі-здоров'я , яке забирається при ньому ( [ [ characters_voice\scenario\yantar\psy_voices_1 ] ] ) - звук при викиді play_sound ( [ [ ambient\blowout ] ] ) - звук при викиді level.add_call ( yantar_psy_blowout_timer , якщо часу на зупинку викиду, то зупиняємо його level.add_pp_effector ( " psy_antenna.ppe " , 1875 , true ) - викликаємо ефект пси-випромінювання level.add_pp_effector ( "yantar_underground_psi.ppe" , 1876 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 )
Реєстрація в bind_stalker.script
Відкриваємо bind_stalker.script і після
function actor_binder:update(delta)
Пишемо це:
yantar_psy_blowout.update()