* Sb    * Магазин Текущее время: 22 дек 2024, 17:04

Часовой пояс: UTC + 2 часа [ Летнее время ]




Начать новую тему Ответить на тему  [ Сообщений: 2 ] 
{ VISITS } Просмотры: 4443  Добавили в закладки Добавили в закладки: 0  Подписчиков Подписчиков: 0 
Автор Сообщение
 Заголовок сообщения: Эффект критического раненния
СообщениеДобавлено: 14 авг 2009, 19:22 
Не в сети
Сталкер
Сталкер
Продвижение:
4%
Аватара пользователя

Зарегистрирован: 11 авг 2009, 15:43
В кошельке:
46.00

Сообщения: 224

Откуда: Мухосранск
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()


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Эффект критического раненния
СообщениеДобавлено: 17 фев 2011, 09:15 
Не в сети
Сталкер
Сталкер
Продвижение:
27.8%

Зарегистрирован: 31 янв 2011, 20:27
В кошельке:
50.00

Сообщения: 367

Откуда: Бобруиск
спасибо


Последний раз редактировалось RazoR 17 фев 2011, 09:23, всего редактировалось 1 раз.

Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 2 ] 

Часовой пояс: UTC + 2 часа [ Летнее время ]


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Перейти:  
cron

[Мобильная версия]

Создано на основе phpBB® Forum Software © phpBB Group
[ Time : 0.145s | 30 Queries | GZIP : On ]

PlayStation style by HighDefGeek