#include <amxmodx>
#include <amxmisc>
#include <cstrike>
#include <nvault>
#include <colorchat>
#include <fakemeta_util>
#include <hamsandwich>
#include <fun>
/*#define VIPTAG "[Vip]"
#define DEADVIPTAG "[Vip]" */
new Vip[33], g_max_clients, VipVault;
new VipCvar, VipList;
public plugin_init() {
register_plugin("Jailbreak VIP", "1.0", "lolz123")
VipCvar = register_cvar( "jb_vip", "1" )
VipList = register_cvar( "jb_vip_list", "1" )
register_clcmd("jb_set_user_vip", "SetVip")
register_clcmd("jb_remove_user_vip", "RemoveVip")
register_clcmd("say /vip", "print_viplist")
register_clcmd("say !vip", "print_viplist")
register_clcmd("say", "HandleSay")
RegisterHam(Ham_Spawn, "player", "HamPlayerSpawn", 1);
g_max_clients = get_maxplayers();
}
public plugin_cfg()
{
VipVault = nvault_open( "Vip" );
if ( VipVault == INVALID_HANDLE )
set_fail_state( "Error opening Vip Vault" );
}
public plugin_end()
{
nvault_close(VipVault);
}
public plugin_natives()
{
register_library("Vip");
register_native("is_user_vip", "_user_vip");
}
public _user_vip(plugin, params)
{
return IsVip(get_param(1));
}
public client_putinserver(id)
{
LoadVip(id);
}
public HamPlayerSpawn(id)
{
set_user_footsteps(id, 0)
if(!get_pcvar_num(VipCvar))
return PLUGIN_HANDLED;
if(cs_get_user_team(id) == CS_TEAM_T && IsVip(id))
{
cs_set_user_armor(id, 100, CS_ARMOR_VESTHELM);
fm_give_item(id, "weapon_flashbang")
fm_give_item(id, "weapon_flashbang")
fm_give_item(id, "weapon_smokegrenade")
fm_set_user_health(id, 120)
fm_set_user_armor(id, 50)
}
return PLUGIN_HANDLED;
}
public SetVip(id)
{
if(!get_pcvar_num(VipCvar))
return PLUGIN_HANDLED;
if(!(get_user_flags(id) & ADMIN_CVAR))
{
client_print(id, print_console, "Nincs hozzaferesed ehez a parancshoz!");
return PLUGIN_HANDLED;
}
new arg[32], name[32];
read_argv (1, arg, 31);
new player = cmd_target(id,arg,3);
get_user_name(player, name, 31);
if(!player)
{
client_print(id, print_console, "Nincs ilyen nevu jatekos!");
return PLUGIN_HANDLED;
}
if(IsVip(player))
{
client_print(id, print_console, "%s VIP jatekos!", name);
return PLUGIN_HANDLED;
}
set_player_vip(player)
return PLUGIN_HANDLED;
}
public RemoveVip(id)
{
if(!get_pcvar_num(VipCvar))
return PLUGIN_HANDLED;
if(!(get_user_flags(id) & ADMIN_CVAR))
{
client_print(id, print_console, "Nincs hozzaferesed ehez a parancshoz!");
return PLUGIN_HANDLED;
}
new arg[32], name[32];
read_argv (1, arg, 31);
new player = cmd_target(id,arg,3);
get_user_name(player, name, 31);
if(!player)
{
client_print(id, print_console, "Nincs ilyen nevu jatekos!");
return PLUGIN_HANDLED;
}
if(!IsVip(player))
{
client_print(id, print_console, "%s Mar nem VIP jatekos!", name);
return PLUGIN_HANDLED;
}
remove_player_vip(player)
return PLUGIN_HANDLED;
}
set_player_vip(player)
{
if(is_user_connected(player) && Vip[player] == 0)
{
Vip[player] = 1;
new name[32];
get_user_name(player, name, 31);
client_print(player, print_center, "VIP jatekos lettel!!");
client_print(0, print_chat, "%s VIP jatekos lett!", name);
SaveVip(player);
}
}
remove_player_vip(player)
{
if(is_user_connected(player) && Vip[player] == 1)
{
Vip[player] = 0;
new name[32];
get_user_name(player, name, 31);
client_print(player, print_center, "Mar nem vagy VIP jatekos!");
client_print(0, print_chat, "%s Mar nem VIP jatekos!", name);
SaveVip(player);
}
}
public SaveVip(id)
{
new authid[32];
get_user_authid(id,authid,31);
new vaultkey[64], vaultdata[64];
format(vaultkey,63,"Vip-%s",authid)
format(vaultdata,63,"%d", Vip[id]);
nvault_set( VipVault , vaultkey , vaultdata );
}
public LoadVip(id)
{
new authid[32], vaultkey[64];
get_user_authid(id,authid,31);
formatex( vaultkey , charsmax( vaultkey ) , "Vip-%s" , authid);
Vip[id] = nvault_get( VipVault, vaultkey );
}
public HandleSay(id)
{
if(!get_pcvar_num(VipCvar))
return PLUGIN_CONTINUE;
new message[192], VipName[32], none[2][32], chat[192];
read_args (message, 191)
remove_quotes (message)
formatex(none[0], 31, ""), formatex(none[1], 31, " ")
if (message[0] == '@' || message[0] == '/' || message[0] == '!' || equal (message, ""))
return PLUGIN_HANDLED;
if(IsVip(id) && !equali(message, none[0]) && !equali(message, none[1]) && cs_get_user_team(id) != CS_TEAM_SPECTATOR)
{
get_user_name(id, VipName, 31);
if(is_user_alive(id))
formatex(chat, 191, "^3 %s^1 : %s", VipName, message)
else
formatex(chat, 191, "^3 %s^1 : %s", VipName, message)
switch(cs_get_user_team(id))
{
case 1: ColorChat(0, RED, chat)
case 2: ColorChat(0, BLUE, chat)
}
return PLUGIN_HANDLED;
}
return PLUGIN_CONTINUE;
}
public print_viplist(user)
{
if(!get_pcvar_num(VipCvar) || !get_pcvar_num(VipList))
return PLUGIN_HANDLED;
new vipnames[33][32]
new message[256]
new id, count, x, len
for(id = 1 ; id <= g_max_clients ; id++)
{
if(is_user_connected(id))
{
if(IsVip(id))
{
get_user_name(id, vipnames[count++], 31)
}
}
}
len = format(message, 255, "^x04 Online VIP jatekosok:^x03 ")
if(count > 0)
{
len = format(message, 255, "^x04 Online VIP jatekosok:")
for(x = 0 ; x < count ; x++)
{
len += format(message[len], 255-len, "^x03 %s%s ", vipnames[x], x < (count-1) ? " ,":"")
}
ColorChat(user, BLUE, message)
}
else
{
len += format(message, 255, "^x04 Nincs Online VIP!")
ColorChat(user, BLUE, message)
}
return PLUGIN_HANDLED;
}
bool:IsVip(player)
{
if(Vip[player] == 1)
{
return true;
}
return false;
}
/* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE
*{\\ rtf1\\ fbidis\\ ansi\\ ansicpg1252\\ deff0{\\ fonttbl{\\ f0\\ fnil\\ fcharset0 Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ ltrpar\\ lang1037\\ f0\\ fs16 \n\\ par }
*/