Благодаря ви предварително!
Ето плъгина:
Код за потвърждение: Избери целия код
#include <amxmodx>
#include <fun>
#define HUD_ENABLED
#define HUD_COLOR 0, 255, 0
#define HUD_POSITION -1.0, 0.15
#define HUD_DURATION 1.5
#define SCREENFADE_ENABLED
#define SCREENFADE_COLOR_R 0
#define SCREENFADE_COLOR_G 0
#define SCREENFADE_COLOR_B 200
#define SCREENFADE_COLOR_A 75
enum _:Cvars
{
amx_vampire_hp,
amx_vampire_hp_hs,
amx_vampire_max_hp
}
new g_eCvars[Cvars]
#if defined HUD_ENABLED
new g_iObject
#endif
#if defined SCREENFADE_ENABLED
new g_iScreenFade
#endif
public plugin_init()
{
register_plugin("Vampire", "1.0", "OciXCrom")
register_event("DeathMsg", "OnPlayerKilled", "a")
g_eCvars[amx_vampire_hp] = register_cvar("amx_vampire_hp", "10")
g_eCvars[amx_vampire_hp_hs] = register_cvar("amx_vampire_hp_hs", "25")
g_eCvars[amx_vampire_max_hp] = register_cvar("amx_vampire_max_hp", "100")
#if defined HUD_ENABLED
g_iObject = CreateHudSyncObj()
#endif
#if defined SCREENFADE_ENABLED
g_iScreenFade = get_user_msgid("ScreenFade")
#endif
}
public OnPlayerKilled()
{
new iAttacker = read_data(1), iVictim = read_data(2)
if(!is_user_connected(iAttacker) || iAttacker == iVictim)
return
new iHealth = get_user_health(iAttacker), iMax = get_pcvar_num(g_eCvars[amx_vampire_max_hp])
if(iHealth >= iMax)
return
new iAdd = read_data(3) ? get_pcvar_num(g_eCvars[amx_vampire_hp_hs]) : get_pcvar_num(g_eCvars[amx_vampire_hp])
set_user_health(iAttacker, clamp(iHealth + iAdd, .max = iMax))
#if defined HUD_ENABLED
set_hudmessage(HUD_COLOR, HUD_POSITION, .holdtime = HUD_DURATION)
ShowSyncHudMsg(iAttacker, g_iObject, "Бонус +%i HP", iAdd)
#endif
#if defined SCREENFADE_ENABLED
message_begin(MSG_ONE, g_iScreenFade, {0, 0, 0}, iAttacker)
write_short(1<<10)
write_short(1<<10)
write_short(0x0000)
write_byte(SCREENFADE_COLOR_R)
write_byte(SCREENFADE_COLOR_G)
write_byte(SCREENFADE_COLOR_B)
write_byte(SCREENFADE_COLOR_A)
message_end()
#endif
}