Статистика Форума
Последние обновленные темы
Самые популярные темы
Активисты форума
Авторитеты форума
Bioshock 2

Ответил: WurDalaK
Mass Effect

Ответил: greendayone82
Dead Space

Ответил: greendayone82
Беседы у костра

Создал: WurDalaK; ответов: 2105
Вопросы по модострою

Создал: WurDalaK; ответов: 1161
Ходка №1

Создал: Алеся; ответов: 301
Какой трек у вас сейчас и...

Создал: Never; ответов: 65
Злой админ

Создал: WurDalaK; ответов: 54
WurDalaK

Постов: 2057
Возрожденный

Постов: 1621
Wo1fRam

Постов: 592
Алеся

Постов: 183
Marsel

Постов: 174
WurDalaK

Уважение: 28
Venus

Уважение: 23
Never

Уважение: 17
Возрожденный

Уважение: 13
Wo1fRam

Уважение: 13

  • Страница 1 из 1
  • 1
Модератор форума: WurDalaK  
Форум » Уроки по созданию модов » Конфиги, скрипты и прочие мелочи » Эффект критического ранения
Эффект критического ранения
  WurDalaK
Дата: Четверг, 09.05.2013, 00:24 | Сообщение # 1
Mysterious asari
Статус
Страж
Группа Администраторы
Сообщений 2057
Награды 9
-
28
+
1. Создаем файл effect_blood.script и записываем туда следующее (первые строки можно изменять под себя):
Код
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 и после строчек:
Код
function actor_binder:update(delta)
   object_binder.update(self, delta)
   local time = time_global()
   game_stats.update (delta, self.object)

пишем
Код
effect_blood.wounded_pp_update()

Хочешь сказать спасибо? Ставь + в репутацию!
Спрятать подпись Спрятать все подписи
 
Форум » Уроки по созданию модов » Конфиги, скрипты и прочие мелочи » Эффект критического ранения
  • Страница 1 из 1
  • 1
Поиск:
Мини-чат
Яндекс.Метрика