Message like this: "Your Healt is regenerationg now!" + red fade effect
- Код: Выделить всё
#include <amxmodx>
#include <fakemeta>
#include <hamsandwich>
#pragma semicolon 1
#define PLUGIN "Regeneration Player"
#define VERSION "1.0"
#define AUTHOR "NanoDesu^^"
#define FLAG ADMIN_LEVEL_C
#define EntityClass "player"
#define TASK_DELAY 1
enum {
TASK_ID = 123321,
REGEN_HP_STEP = 5,
REGEN_MAX_HEALTH = 130
}
public plugin_init() {
register_plugin(PLUGIN, VERSION, AUTHOR);
RegisterHam(Ham_TakeDamage, EntityClass, "fwPlayerTakeDamage_Post", true);
RegisterHam(Ham_Killed, EntityClass, "fwPlayerKilled_Pre", false);
}
public fwPlayerTakeDamage_Post(iVictim, iWeapon, iAttacker, Float:iDamage, gDBits) {
if(!is_user_alive(iVictim) || ~get_user_flags(iVictim) & FLAG)
return HAM_IGNORED;
if (!task_exists(iVictim + TASK_ID))
set_task(TASK_DELAY.0, "RegenerationPlayer" , iVictim + TASK_ID, _, _, "b");
return HAM_IGNORED;
}
public fwPlayerKilled_Pre(iPlayer, iAttacker) if (task_exists(iPlayer + TASK_ID)) remove_task(iPlayer + TASK_ID);
public RegenerationPlayer(iPlayer) {
iPlayer -= TASK_ID;
static Float:iPlayerHealth; pev(iPlayer, pev_health, iPlayerHealth);
if (iPlayerHealth >= REGEN_MAX_HEALTH) {
remove_task(iPlayer + TASK_ID);
return HAM_IGNORED;
}
set_pev(iPlayer, pev_health, iPlayerHealth + REGEN_HP_STEP);
return HAM_IGNORED;
}
public client_disconnect(iPlayer) if (task_exists(iPlayer + TASK_ID)) remove_task(iPlayer + TASK_ID);