Code: Select all
#include <amxmodx>
#include <amxmisc>
#include <cstrike>
#include <hamsandwich>
#include <K1d0x_C_Color>
#include <fun>
#define VIP_LEVEL ADMIN_LEVEL_F
#define MAX_HEALTH 85
new gHealth_add, gHealth_max, maxPlayers
public plugin_init() {
register_plugin("VIP PLUGIN", "0.1", "K!D()X")
gHealth_add = register_cvar("vip_hp_add", "10")
gHealth_max = register_cvar("vip_hp_max", "150")
register_event("DeathMsg", "VIP_KILL", "y")
register_event("CurWeapon", "CurWeapon", "be", "1=1")
RegisterHam(Ham_Spawn, "player", "SetSomeThing", 1)
maxPlayers = get_maxplayers()
register_clcmd("say /vips", "ShowVipsOnline")
register_clcmd("say /vip", "ShowVipsAdv")
}
public VIP_KILL() {
new killer = read_data(1)
new victim = read_data(2)
if(!killer || !victim)
return
if(get_user_flags(killer) & VIP_LEVEL) {
if(killer && is_user_alive(killer)) {
if(cs_get_user_team(victim) == CS_TEAM_T) {
if(get_user_health(killer) < 100 - 3) {
set_user_health(killer, get_user_health(killer) + 3)
}
if(cs_get_user_money(killer) < 16000 - 700) {
cs_set_user_money(killer, cs_get_user_money(killer) + 700)
}
}
if(cs_get_user_team(victim) == CS_TEAM_CT) {
if(cs_get_user_money(killer) < 16000 - 600) {
cs_set_user_money(killer, cs_get_user_money(killer) + 600)
}
}
}
}
new szKname[64], szVname[64]
get_user_name(killer, szKname, 63)
get_user_name(victim, szVname, 63)
K1d0x_C_Color(0, "!v[Vip] !e%s !cla ucis pe !v%s !c!", szKname, szVname)
}
public SetSomeThing(id) {
if(!(get_user_flags(id) & VIP_LEVEL))
return
if(get_user_health(id) < 150) {
set_user_health(id, 150)
}
if(get_user_armor(id) < 100) {
set_user_armor(id, 100)
}
set_task(0.5, "ScoreBoard", id + 6910)
}
public ScoreBoard(tID) {
new id = tID - 6910
message_begin(MSG_ALL, get_user_msgid("ScoreAttrib"))
write_byte(id)
write_byte(4)
message_end()
}
public CurWeapon(id) {
if(!(get_user_flags(id) & ADMIN_LEVEL_F))
return
new CW = read_data(2)
if(CW != CSW_KNIFE)
return
else
if(get_user_health(id) < 50)
set_task(5.0, "hp_up",id, _, _, "b")
}
public hp_up(id) {
new addhealth = get_pcvar_num(gHealth_add)
if(!addhealth)
return
new maxhealth = get_pcvar_num(gHealth_max)
if(maxhealth > MAX_HEALTH) {
set_pcvar_num(gHealth_max, MAX_HEALTH)
maxhealth = MAX_HEALTH
}
new health = get_user_health(id)
if(is_user_alive(id) && (health < maxhealth)) {
set_user_health(id, health + addhealth)
new cvar_health[5]
get_pcvar_string(gHealth_max, cvar_health, 4)
set_hudmessage(0, 255, 0, -1.0, 0.25, 0, 1.0, 2.0, 0.1, 0.1, 4)
show_hudmessage(id, "[VIP] Viata ta se incarca pana la %s !", cvar_health)
message_begin(MSG_ONE, get_user_msgid("ScreenFade"), {0,0,0}, id)
write_short(1<<10)
write_short(1<<10)
write_short(0x0000)
write_byte(0)
write_byte(191)
write_byte(255)
write_byte(75)
message_end()
} else {
if(is_user_alive(id) && (health > maxhealth))
emit_sound(id,CHAN_VOICE, "fvox/medical_repaired.wav", 1.0, ATTN_NORM, 0, PITCH_NORM)
remove_task(id)
}
}
public ShowVipsOnline(id) {
new message[256], name[32], count = 0
new len = format(message, charsmax(message), "!eVips Online: ")
for (new player = 1; player <= maxPlayers; ++player) {
if (is_user_connected(player) && get_user_flags(id) & VIP_LEVEL) {
if (len > 96) {
K1d0x_C_Color(id, "%s!c,", message)
len = format(message, charsmax(message), "")
}
get_user_name(player, name, charsmax(name))
if (count && len) {
len += format(message[len], 255 - len, ", ")
}
len += format(message[len], 255 - len, "!v%s", name)
++count;
}
}
if (len) {
if (!count) {
len += format(message[len], 255 - len, "!vNu sunt vips pe server !");
}
K1d0x_C_Color(id, "%s", message);
}
return
}
public ShowVipsAdv(id) {
new iCfgDir[32], iFile[192]
get_configsdir(iCfgDir, charsmax(iCfgDir))
formatex(iFile, charsmax(iFile), "%s/vip.html", iCfgDir)
show_motd(id, iFile, "Beneficii V.I.P")
}