Код за потвърждение: Избери целия код
#include <amxmodx>
#include <cstrike>
#include <fun>
// Comment this line to disable HUD messages
#define HUD_ENABLED
#if defined HUD_ENABLED
#define HUD_COLOR 0, 255, 0
#define HUD_POSITION -1.0, 0.15
#define HUD_DURATION 1.5
#endif
// Comment this line to disable screen fade
#define SCREENFADE_ENABLED
#if defined SCREENFADE_ENABLED
#define SCREENFADE_COLOR_R 0
#define SCREENFADE_COLOR_G 0
#define SCREENFADE_COLOR_B 200
#define SCREENFADE_COLOR_A 75
#endif
#define VIP_FLAG ADMIN_IMMUNITY
enum _:Cvars
{
amx_vampire_hp,
amx_vampire_hp_vip,
amx_vampire_hp_hs,
amx_vampire_hp_hs_vip,
amx_vampire_max_hp,
amx_vampire_max_hp_vip,
amx_vampire_money,
amx_vampire_money_hs,
amx_vampire_max_money
}
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.1", "OciXCrom")
register_event("DeathMsg", "OnPlayerKilled", "a")
g_eCvars[amx_vampire_hp] = register_cvar("amx_vampire_hp", "25")
g_eCvars[amx_vampire_hp_vip] = register_cvar("amx_vampire_hp_vip", "25")
g_eCvars[amx_vampire_hp_hs] = register_cvar("amx_vampire_hp_hs", "45")
g_eCvars[amx_vampire_hp_hs_vip] = register_cvar("amx_vampire_hp_hs_vip", "45")
g_eCvars[amx_vampire_max_hp] = register_cvar("amx_vampire_max_hp", "100")
g_eCvars[amx_vampire_max_hp_vip] = register_cvar("amx_vampire_max_hp_vip", "150")
g_eCvars[amx_vampire_money] = register_cvar("amx_vampire_money", "500")
g_eCvars[amx_vampire_money_hs] = register_cvar("amx_vampire_money_hs", "900")
g_eCvars[amx_vampire_max_money] = register_cvar("amx_vampire_max_money", "16000")
#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 bool:bIsVip = is_user_vip(iAttacker)
new iHealth = get_user_health(iAttacker), iMax = get_pcvar_num(g_eCvars[bIsVip ? amx_vampire_max_hp_vip : amx_vampire_max_hp])
if(iHealth >= iMax)
{
return
}
new bool:bHeadshot = read_data(3) != 0
new iAdd = bHeadshot ? get_pcvar_num(g_eCvars[bIsVip ? amx_vampire_hp_hs_vip : amx_vampire_hp_hs]) : get_pcvar_num(g_eCvars[bIsVip ? amx_vampire_hp_vip : amx_vampire_hp])
set_user_health(iAttacker, clamp(iHealth + iAdd, .max = iMax))
new iMoney = cs_get_user_money(iAttacker)
iMax = get_pcvar_num(g_eCvars[amx_vampire_max_money])
if(iMoney >= iMax)
{
return
}
iAdd = bHeadshot ? get_pcvar_num(g_eCvars[amx_vampire_money_hs]) : get_pcvar_num(g_eCvars[amx_vampire_money])
cs_set_user_money(iAttacker, clamp(iMoney + iAdd, .max = iMax))
#if defined HUD_ENABLED
set_hudmessage(HUD_COLOR, HUD_POSITION, .holdtime = HUD_DURATION)
ShowSyncHudMsg(iAttacker, g_iObject, "Healed +%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
}
bool:is_user_vip(id)
{
return (get_user_flags(id) & VIP_FLAG) != 0
}