reapi hook takedamage

Сообщения
72
Реакции
10
Если получатель после того как получил урон не умер, то возвращает 1(урон получен), а если получатель получил урон и умер(урон не получен), то возвращает 0. Баг? И как быть(где этот "смертельный урон" можно ещё получить и как?)- Проблемно получать урон когда возвращает 0
Код:
public plugin_init()
{
    RegisterHookChain(RG_CBasePlayer_TakeDamage, "user_take_damage", 1);
}

public user_take_damage(const this, pevInflictor, pevAttacker, Float:flDamage, bitsDamageType)
{
    if(GetHookChainReturn(ATYPE_INTEGER) == 1)
    {
        client_print(pevAttacker, print_chat, "Жертва получила: [%f] урона", flDamage);
    }
    else
    {
        client_print(pevAttacker, print_chat, "[Не получила] Жертва получила: [%f] урона", flDamage);
    }
}
 
Последнее редактирование:
Сообщения
289
Реакции
251
Помог
7 раз(а)
Событие получения урона, а не нанесения.
 

Garey

ninjaCow
Сообщения
440
Реакции
1,094
Помог
11 раз(а)
Разве жертва не в любом случае получает урон? т.е. TakeDamage вызывается при уроне? зачем вам проверять еще на оригинальный return takedamage?
 
Сообщения
72
Реакции
10
Jumper, Например: возвращает 0 - когда стреляешь по своим(если запрещена стрельба по своим), стреляешь в щит и тп.. А у меня за нанесение урона будет так скажем награда и не допустимо что бы игрок не наносил урон, а награду получал
 
Сообщения
289
Реакции
251
Помог
7 раз(а)
Nunfy, в чём проблема суммировать урон?

Код:
PlayerDamage[pevAttacker] += floatround(flDamage);
 

Garey

ninjaCow
Сообщения
440
Реакции
1,094
Помог
11 раз(а)
попробуйте хукнуть RG_CSGameRules_FPlayerCanTakeDamage, вроде как раз то что вам надо.
 
Сообщения
72
Реакции
10
Jumper, урон нанес и сразу же этот с помощью этого урона получаешь "награду"
7 Сен 2018
Моя цель: урон нанес = с помощью этого урона рассчитывает награду.
Код:
public plugin_init()
{
    RegisterHookChain(RG_CBasePlayer_TakeDamage, "user_take_damage", 1);
}

public user_take_damage(const this, pevInflictor, pevAttacker, Float:flDamage, bitsDamageType)
{
    if(GetHookChainReturn(ATYPE_INTEGER) == 1)
    {
        функция_рассчета_награды_по_урону(pevAtacker/*Кто нанес урон(кому выдаем награду)*/, flDamage/*Сколько урона нанес*/);
    }
    else
    {
        функция_рассчета_награды_по_урону(pevAtacker/*Кто нанес урон(кому выдаем награду)*/, flDamage/*Сколько урона нанес*/);
        //Но возвращает 0, не только когда убивают пользователя, а ещё когда например: стреляют по своим(когда стрельба по своим выключена),
        //когда стреляют в щит.. в общем вы меня поняли.
    }
}
7 Сен 2018
Garey, Как он работает?
7 Сен 2018
Garey, а ну и ещё суть в том что я хочу сделать что бы игрок получал награду не за если так можно сказать "облачный урон", а за реальный.
Обьясняю:
Код:
//сколько хп = столько урона ты можешь нанести
//Пример: атакующий стреляет с awp в голову и нанесет 300-500 урона(где-то так), а у игрока 100 хп = 300-400 облачного урона.
//Я же хочу что бы при ситуации, которую я описал выше результат был 100 урона(не урона который атакующий нанес игроку,
//а урона который возьмет плагин на рассчет награды) и делаю я это вот так:
public plugin_init()
{
    RegisterHookChain(RG_CBasePlayer_TakeDamage, "user_take_damage", 1);
}

public user_take_damage(const this, pevInflictor, pevAttacker, Float:flDamage, bitsDamageType)
{
    if(GetHookChainReturn(ATYPE_INTEGER) == 1)
    {
        client_print(pevAttacker, print_chat, "Жертва получила: [%f] урона", flDamage);
    }
    else
    {
        функция_рассчета_награды_в_зависимости_от_урона(pevAtacker, flDamage + get_user_health(this));
        //pevAtacker - кому выдаем награду

    }
}
 

hajimura

Е777КХ05
Сообщения
290
Реакции
228
Помог
6 раз(а)
Garey, а если TakeDamage в pre попробовать?
Про GetHookChainReturn забыл
 
Последнее редактирование:
Сообщения
2,491
Реакции
2,794
Помог
61 раз(а)
Я же хочу что бы при ситуации, которую я описал выше результат был 100 урона(не урона который атакующий нанес игроку,
Real Damage что ле?
Ставлят такой плагин как правило для Топ ишроков за раунд. ИМХО так делать не нужно? Лучше сделать в плагине учет сколько ХП снес. Ибо урон и хп разные сущности
 

Пользователи, просматривающие эту тему

Сейчас на форуме нет ни одного пользователя.
Сверху Снизу