Half-Life и Adrenaline Gamer форум

Всё об игре в Халф-Лайф и АГ
Текущее время: 29 мар 2024, 03:45

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




Начать новую тему Ответить на тему  [ Сообщений: 5 ] 
Автор Сообщение
 Заголовок сообщения: stop losing hp ?
СообщениеДобавлено: 20 июл 2017, 02:12 
Не в сети
Аватара пользователя
Зарегистрирован:
22 окт 2014, 19:26
Последнее посещение:
20 мар 2024, 19:47
Сообщения: 1018
hi
i want when victim is under attack dont losing his hp only armor when attacker use weapon crowbar
I tried a lot of ideas and this is one of them
I know it's a pretty stupid way but I want someone to open my mind to something
Код:
public plugin_init(){
   
   RegisterHam(Ham_TraceAttack,"player","fw_TraceAttack")
}

public fw_TraceAttack(victim, inflictor, Float:damage, Float:direction[3], traceresult, damagebits){
   
   if(damagebits == DMG_CLUB){ // crowbar dmg
      
      
      if(floatround(damage) && get_user_armor(victim))
      {
         
         set_user_armor(victim, get_user_armor(victim) - 35) // here i want victim losing 50 armor old dmg = 15 + 35 = 50 :P
         set_user_health(victim, get_user_health(victim) + 5) // give the victim hp is losing (5) when has armor
         
      }/*else if(floatround(damage) > get_user_armor(victim) ) {
         
         //set_user_armor(victim, 0)
         //set_user_health(victim, 100)
         //return //HAM_IGNORED
      }*/
      
      //if(!is_user_alive(victim) || get_user_armor(victim)) return HAM_IGNORED
   }
}

_________________
https://vk.com/kgbaghl


Вернуться к началу
 Профиль 
  
 Заголовок сообщения: Re: stop losing hp ?
СообщениеДобавлено: 20 июл 2017, 03:20 
Не в сети
Site Admin
Зарегистрирован:
01 июн 2010, 01:27
Последнее посещение:
26 мар 2024, 21:42
Сообщения: 6864
Probably you can hook pre and post TraceAttack. Set high HP/AP in pre (so player will not die suddenly), calculate correct values in post and set them in HP/AP.


Вернуться к началу
 Профиль 
  
 Заголовок сообщения: Re: stop losing hp ?
СообщениеДобавлено: 25 июл 2017, 00:46 
Не в сети
Аватара пользователя
Зарегистрирован:
22 окт 2014, 19:26
Последнее посещение:
20 мар 2024, 19:47
Сообщения: 1018
But that will change the health value of the victim
I just want the victim not to lose his health as long as he has something of a armor ?

_________________
https://vk.com/kgbaghl


Вернуться к началу
 Профиль 
  
 Заголовок сообщения: Re: stop losing hp ?
СообщениеДобавлено: 25 июл 2017, 19:39 
Не в сети
Site Admin
Зарегистрирован:
01 июн 2010, 01:27
Последнее посещение:
26 мар 2024, 21:42
Сообщения: 6864
As I said above you are supposed to set needed values back in post hook.


Вернуться к началу
 Профиль 
  
 Заголовок сообщения: Re: stop losing hp ?
СообщениеДобавлено: 26 июл 2017, 20:48 
Не в сети
Аватара пользователя
Зарегистрирован:
22 окт 2014, 19:26
Последнее посещение:
20 мар 2024, 19:47
Сообщения: 1018
Sorry I did not pay very close attention to that
But on the whole I think I found the right way to do it

Код:
public plugin_init(){
   
   RegisterHam(Ham_TakeDamage, "player", "UserTakeDamage")
}

public UserTakeDamage(victim, inflictor, attacker, Float:damage, damage_type)
{
   if (!is_user_alive(attacker))
      return HAM_IGNORED;
      
   if(damage_type != DMG_CLUB)
      return HAM_IGNORED;
      
   static Float:armor
   pev(victim, pev_armorvalue, armor)

   if (armor > 0.0)
   {
      if (armor - damage > 0.0)
      {
         
         set_pev(victim, pev_armorvalue, armor - 50.0) // 50.0 damage value
         
      }else{
         //SetHamParamFloat(4, damage)
         hl_set_user_armor(victim, 0)
      }
      return HAM_SUPERCEDE;
   }
   return HAM_IGNORED;
}

_________________
https://vk.com/kgbaghl


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

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


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

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


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

Найти:
Перейти:  
cron
Создано на основе phpBB® Forum Software © phpBB Group
Русская поддержка phpBB