Эффект критического раненния - Форум Сталкера
GSC World Game 
Суббота, 14.06.2025, 15:11

Приветствую Вас Бродяга | RSS
Главная | Эффект критического раненния - Форум Сталкера | Регистрация | Вход
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Эффект критического раненния
HeroSkifДата: Воскресенье, 30.01.2011, 02:19 | Сообщение # 1
"Бог Зоны"
Группировка: Администраторы
Сообщений в PDA: 100017
Репутация в Зоне: 32767
Статус Сталкера:
1. Создаем файл effect_blood.script и записываем туда следущее:

Code

Code
lite_treshold = 0.05 -- насколько должно уменьшиться здоровье с предыдущего обновления чтоб экран окрасился в красный  
crit_treshold = 0.30 -- насколько должно уменьшиться здоровье с предыдущего обновления чтоб ГГ начало шатать  
drop_item_on_crit_prob = 0.20 -- вероятность того что ГГ выронит оружие  
effector_power_coeff = 0.7  
prev_health = -1  
chk_h_t = 0  

function wounded_pp_update()  
     if (chk_h_t or 0) < time_global() then  
       chk_h_t = time_global()+1000  
       if prev_health > (db.actor.health + lite_treshold) then  
         level.add_pp_effector("fire_hit.ppe", 2011, false)  
         local effector_power = (prev_health - db.actor.health)*100*effector_power_coeff  
         level.set_pp_effector_factor(2011, effector_power)  
         if prev_health > db.actor.health + crit_treshold then  
           level.add_cam_effector("camera_effects\\fusker.anm", 999, false, "")       
           local snd_obj = xr_sound.get_safe_sound_object([[actor\pain_3]])  
           snd_obj:play_no_feedback(db.actor, sound_object.s2d, 0, vector(), 1.0)  
           if math.random() < drop_item_on_crit_prob then  
             local active_item = db.actor:active_item()  
             if active_item and active_item:section() ~= "bolt" and active_item:section()~= "wpn_knife" then  
               db.actor:drop_item(active_item)  
             end  
           end  
         end  
       end  
       prev_health = db.actor.health  
     end  
end

2. Далее открываем bind_stalker.script:
после строчек:

Code
unction actor_binder:update(delta)  
     object_binder.update(self, delta)  
     local time = time_global()  
     game_stats.update (delta, self.object)

пишем:

Code
effect_blood.wounded_pp_update()



 
  • Страница 1 из 1
  • 1
Поиск:


Copyright MyCorp © 2025