Получить дамаг меньше или равно оставшемуся ХП жертвы

Сообщения
391
Реакции
106
Помог
2 раз(а)
Обратите внимание, если вы хотите заключить сделку с этим пользователем, он заблокирован
Получить дамаг меньше или равно оставшемуся ХП жертвы

Здравствуйте ребят.. пытаюсь сам кодить. Кто примеры кинул, где сам взял.. в общем опыта нет.. Ученик...

// дамаг
public user_take_damage(const this, pevInflictor, pevAttacker, Float:flDamage, bitsDamageType)
{
temp[pevAttacker][dmg] += flDamage;
client_print(pevAttacker, print_chat, "Дамаг %.0f", temp[pevAttacker][dmg]);
}

Вот так получаю дамаг и всё работает (по подсказке)

Ребят скажите как можно получить дамаг равный ХП игрока...
Пример.. если я убью игрока со 100 ХП с авп в голову .. То ведь я получу выше 400, а у него ХП только 100..

И опять же если накопил за раунд уже 90 дамага, и убил игрока... с ударом большим ... то как мне получить дамаг равный его остаткам ХП, а не по силе удара ...

Одна просьба.. если будете предлагать варианты то распишите в виде комментариев , что мы делаем
 
Сообщения
391
Реакции
106
Помог
2 раз(а)
Обратите внимание, если вы хотите заключить сделку с этим пользователем, он заблокирован
Сообщения
391
Реакции
106
Помог
2 раз(а)
Обратите внимание, если вы хотите заключить сделку с этим пользователем, он заблокирован
stalin_alex,
Код:
new Float:hp = get_entvar(iPlayer, var_health);

if(flDamage >= hp)
    temp[pevAttacker][dmg] += hp;
else
    temp[pevAttacker][dmg] += flDamage;
В общем проведённые тесты показали, что Ваше условие работает как положено, однако если сила удара больше, оставшегося ХП (например удар 130 и т д) , то количество ХП жертвы не останавливается на нуле., а уходит в отрицательное значение, стало быть, и дамаг становится отрицательным тоже.

if(flDamage >= hp)
temp[pevAttacker][dmg] += hp;

1591867107492.png
 
Сообщения
73
Реакции
8
stalin_alex, странно, у меня все стабильно отображает.
1591868262467.png
RegisterHookChain(RG_CBasePlayer_TakeDamage, "user_take_damage", 0);
 
Последнее редактирование:
Сообщения
391
Реакции
106
Помог
2 раз(а)
Обратите внимание, если вы хотите заключить сделку с этим пользователем, он заблокирован
RegisterHookChain(RG_CBasePlayer_TakeDamage, "user_take_damage", 0);

действительно помог. Спасибо... жаль только, что откуда-то погрешность имеется.

Я и бот стоим как мишени, а тестер нас убивает.. У него 200-216-200-272-200-200-215
 
Сообщения
2,143
Реакции
1,225
Помог
44 раз(а)
To_be_or_not_to_be, а если это будет союзник или у жертвы будет броня, то что?
 
Сообщения
73
Реакции
8
Minni, полученный урон в пре может отличаться от реально полученного игроком ? (в случае с броней)
 
Сообщения
73
Реакции
8
Minni, я думал, там уже должно хукаться именно столько, сколько игроку сняло :d
 

Ayk

Сообщения
763
Реакции
478
Помог
19 раз(а)

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

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