#include < amxmodx >
#include <
cstrike >
#include < fun >
#pragma tabsize 0
#define VIP_USER ADMIN_MAP //flag pt vip
#define PLUGIN "Vip Jb"
#define VERSION "1.0"
new maxplayers
public plugin_init( )
{
register_plugin( PLUGIN, VERSION, "D3luxe" );
register_clcmd("say /vipmenu","jb_vip");
register_clcmd("say /vm","jb_vip");
register_clcmd("say /vips", "ShowVipsOnline", ADMIN_ALL, "Show Vips Online");
register_event("ResetHUD", "resetModel", "b");
register_message( get_user_msgid( "ScoreAttrib" ), "VipStatus" );
maxplayers = get_maxplayers( );
}
public plugin_precache( )
{
precache_model("models/player/vipjbT/vipjbT.mdl")
precache_model("models/player/vipjbCT/vipjbCT.mdl")
}
bool:is_user_vip(id)
{
if(id < 0 || id > 32)
return false
if( !(get_user_flags(id) & VIP_USER ) )
return false
return true
}
public resetModel(id, level, cid) {
if(is_user_vip(id)) {
new CsTeams:userTeam = cs_get_user_team(id)
if (userTeam == CS_TEAM_T) {
cs_set_user_model(id, "vipjbT")
}
else if(userTeam == CS_TEAM_CT) {
cs_set_user_model(id, "vipjbCT")
}
else {
cs_reset_user_model(id)
}
}
return PLUGIN_CONTINUE
}
public VipStatus(const MsgId, const MsgType, const MsgDest)
{
static id;
id = get_msg_arg_int(1);
if(is_user_vip(id) && !get_msg_arg_int(2))
set_msg_arg_int(2, ARG_BYTE, (1 << 2 ));
}
public jb_vip(id)
{
if(!is_user_vip(id))
{
ChatColor(id, "!g[VIP] !yNu poti accesa !teamMENIUL!y deoarece nu esti VIP !")
return PLUGIN_HANDLED
}
if(!is_user_alive(id))
{
ChatColor(id, "!g[VIP] !yNu poti accesa !teamMENIUL!y deoarece esti mort !")
return PLUGIN_HANDLED
}
new menu = menu_create("\wJB \rV\yI\rP \wMenu:" , "vipjb_handler" );
menu_additem(menu, "\r300 \yHP", "1", 0);
menu_additem(menu, "\r250 \yAP", "2", 0);
menu_additem(menu, "\r250 \yspeed", "3", 0);
menu_additem(menu, "\r250 \ygravity", "4", 0);
menu_additem(menu, "\rHe\y+\rFlashbang\y+\rSmoke", "5", 0);
menu_setprop( menu, MPROP_EXITNAME, "Exit")
menu_display( id, menu, 0);
return PLUGIN_CONTINUE;
}
public vipjbhandler(id, menu, item, client)
{
if(item == MENU_EXIT || !is_user_alive(id))
{
menu_destroy(menu)
return PLUGIN_HANDLED
}
static data[6], name[64], acs, cllbck, key
menu_item_getinfo(menu, item, acs, data, 5, name, 63, cllbck)
key = str_to_num(data)
switch(key)
{
case 1:
{
if(is_user_alive(id))
{
if(is_user_vip(id))
{
set_user_health(id,300)
ChatColor(id, "!g[VIP] !yAi primit !team300 Hp !ydeoarece esti VIP!")
}else
{
ChatColor(id, "!g[VIP] !yNu poti accesa !teamVIP-ul !ynu esti VIP.")
}
}else
{
ChatColor(id, "!g[VIP] !yNu poti accesa !teamVIP-ul !ydeoarece esti MORT!")
}
}
case 2:
{
if(is_user_alive(id))
{
if(is_user_vip(id))
{
set_user_armor(id,250)
ChatColor(id, "!g[VIP] !yAi primit !team250 Ap !ydeoarece esti VIP!")
}else
{
ChatColor(id, "!g[VIP] !yNu poti accesa !teamVIP-ul !ynu esti VIP.")
}
}else
{
ChatColor(id, "!g[VIP] !yNu poti accesa !teamVIP-ul !ydeoarece esti MORT!")
}
}
case 3:
{
if(is_user_alive(id))
{
if(is_user_vip(id))
{
set_user_maxspeed(id,250.0)
ChatColor(id, "!g[VIP] !yAi primit !team250 Speed !ydeoarece esti VIP!")
}else
{
ChatColor(id, "!g[VIP] !yNu poti accesa !teamVIP-ul !ynu esti VIP.")
}
}else
{
ChatColor(id, "!g[VIP] !yNu poti accesa !teamVIP-ul !ydeoarece esti MORT!")
}
}
case 4:
{
if(is_user_alive(id))
{
if(is_user_vip(id))
{
set_user_gravity(id,250.0)
ChatColor(id, "!g[VIP] !yAi primit !team250 Gravity !ydeoarece esti VIP!")
}else
{
ChatColor(id, "!g[VIP] !yNu poti accesa !teamVIP-ul !ynu esti VIP.")
}
}else
{
ChatColor(id, "!g[VIP] !yNu poti accesa !teamVIP-ul !ydeoarece esti MORT!")
}
}
case 5:
{
if(is_user_alive(id))
{
if(is_user_vip(id))
{
give_item(id,"weapon_hegrenade");
give_item(id,"weapon_smokegrenade");
give_item(id,"weapon_flashbang");
give_item(id,"weapon_flashbang");
ChatColor(id, "!g[VIP] !yAi primit !teamSet Grenazi !ydeoarece esti VIP!")
}else
{
ChatColor(id, "!g[VIP] !yNu poti accesa !teamVIP-ul !ynu esti VIP.")
}
}else
{
ChatColor(id, "!g[VIP] !yNu poti accesa !teamVIP-ul !ydeoarece esti MORT!")
}
}
}
menu_destroy(menu)
return PLUGIN_HANDLED
}
public ShowVipsOnline(id)
{
new message[256], name[32], count = 0;
new len = format(message, charsmax(message), "Vip-uri online: ");
for (new player = 1; player <= maxplayers; player++)
{
if (is_user_connected(player) && is_user_vip(player))
{
get_user_name(player, name, charsmax(name));
if (count && len)
{
len += format(message[len], 255 - len, ", ");
}
len += format(message[len], 255 - len, "%s", name);
if (len > 96) {
client_print(id, print_chat, "%s", message);
len = format(message, charsmax(message), "");
}
count++;
}
}
if (len)
{
if (!count)
{
len += format(message[len], 255 - len, "Nu este nici un vip online.");
}
client_print(id, print_chat, "%s", message);
}
return PLUGIN_HANDLED;
}
//stock
stock ChatColor(const id, const input[], any:...)
{
new count = 1, players[32]
static msg[191]
vformat(msg, 190, input, 3)
replace_all(msg, 190, "!g", "^4")
replace_all(msg, 190, "!y", "^1")
replace_all(msg, 190, "!team", "^3")
if (id) players[0] = id; else get_players(players, count, "ch")
{
for (new i = 0; i < count; i++)
{
if (is_user_connected(players[i]))
{
message_begin(MSG_ONE_UNRELIABLE, get_user_msgid("SayText"), _, players[i]);
write_byte(players[i]);
write_string(msg);
message_end();
}
}
}
}