PHP Code:
#pragma semicolon 1
#include <amxmodx>
#include <cstrike>
#include <engine>
#include <fun>
#include <hamsandwich>
// Define the Plugin Version
new const VERSION[] = { "KaLo" };
// PREFIX
new const PREFIX[] = { "!g[PG][ViP-Menu]!n" };
new VipUsed[33];
new HasSpeed[33];
new Float:fast_speed = 400.0;
new Float:normal_speed = 250.0;
public plugin_init()
{
register_plugin("PG Furien Vip Menu", VERSION, "");
RegisterHam(Ham_Spawn, "player", "FwdHamSpawn_Post", 1);
RegisterHam(Ham_Item_PreFrame, "player", "FwdPreFrame_Post", 1);
register_clcmd("say /vm", "cmdVmenu");
register_clcmd("say_team /vm", "cmdVmenu");
register_clcmd("say furienvip", "cmdVmenu");
register_clcmd("say /furienvip", "cmdVmenu");
register_clcmd("say vmenu", "cmdVmenu");
register_clcmd("say /vmenu", "cmdVmenu");
register_clcmd("say /vipmenu", "cmdVmenu");
}
public FwdPreFrame_Post(id)
{
if(is_user_alive(id) && HasSpeed[id])
set_user_maxspeed(id, fast_speed);
}
public FwdHamSpawn_Post(id)
{
HasSpeed[id] = false;
VipUsed[id] = false;
set_user_maxspeed(id, normal_speed);
set_user_rendering( id, _, 0, 0, 0, _, 0 );
}
public cmdVmenu(id)
{
if(!(get_user_flags(id) & ADMIN_LEVEL_H))
{
client_printc(id, "%s Menu Only !gViP'S", PREFIX);
return PLUGIN_HANDLED;
}
if(VipUsed[id])
{
client_printc(id, "%s u Use VIP !gVIP Menu!n it only 1 time in Every Round.", PREFIX);
return PLUGIN_HANDLED;
}
switch(cs_get_user_team(id))
{
case CS_TEAM_T:
VipTMenu(id);
case CS_TEAM_CT:
VipCTMenu(id);
}
return PLUGIN_HANDLED;
}
public VipCTMenu(id)
{
new menu = menu_create("\r[PG] \yVIP Menu \r(Anti-Furien):^n", "VipCTMenu_handler");
menu_additem(menu, "\w10 HP", "1", 0);
menu_additem(menu, "\wFire Grenade", "2", 0);
menu_additem(menu, "\wSpeed boost \dFree", "3", 0);
menu_additem(menu, "\rRevive", "4", 0);
menu_additem(menu, "\wFroSt Grenade", "5", 0);
menu_additem(menu, "\y4000 \wMoney", "6", 0);
menu_setprop(menu, MPROP_EXIT, MEXIT_ALL);
menu_display(id, menu, 0);
}
public VipCTMenu_handler(id, menu, item)
{
if( item == MENU_EXIT )
{
menu_destroy(menu);
return PLUGIN_HANDLED;
}
new data[6], iName[64];
new access, callback;
menu_item_getinfo(menu, item, access, data,5, iName, 63, callback);
new key = str_to_num(data);
switch(key)
{
case 1:
{
set_user_health(id, get_user_health(id) + 10);
VipUsed[id] = true;
client_printc(id, "%s You Have !g10 Health !n!", PREFIX);
}
case 2:
{
give_item(id, "weapon_hegrenade");
VipUsed[id] = true;
client_printc(id, "%s You Have !gFire Grenade !t!", PREFIX);
}
case 3:
{
VipUsed[id] = true;
HasSpeed[id] = true;
set_user_maxspeed(id, fast_speed);
client_printc(id, "%s You Have !gSpeed Boost !n!", PREFIX);
}
case 4:
{
ExecuteHamB(Ham_CS_RoundRespawn, id);
VipUsed[id] = true;
client_printc(id, "%s You Now !g[Respawned] !n!", PREFIX);
}
case 5:
{
give_item(id, "weapon_smokegrenade");
VipUsed[id] = true;
client_printc(id, "%s You Have !gFrost Grenade", PREFIX);
}
case 6:
{
cs_set_user_money(id, cs_get_user_money(id) + 4000);
VipUsed[id] = true;
client_printc(id, "%s You Bought !g[4000 Money]", PREFIX);
}
}
menu_destroy(menu);
return PLUGIN_HANDLED;
}
public VipTMenu(id)
{
new menu = menu_create("\r[PG] \yVIP Menu \r(Furien):^n", "VipTMenu_handler");
menu_additem(menu, "\w10 Health", "1", 0);
menu_additem(menu, "\w10 Armor", "2", 0);
menu_additem(menu, "\wFire Grenade", "3", 0);
menu_additem(menu, "\wFlash Grenade", "4", 0);
menu_additem(menu, "\y4000 \wMoney", "5", 0);
menu_additem(menu, "\rResapwn \d( Only Dead )", "6", 0);
menu_setprop(menu, MPROP_EXIT, MEXIT_ALL);
menu_display(id, menu, 0);
}
public VipTMenu_handler(id, menu, item)
{
if( item == MENU_EXIT )
{
menu_destroy(menu);
return PLUGIN_HANDLED;
}
new data[6], iName[64];
new access, callback;
menu_item_getinfo(menu, item, access, data,5, iName, 63, callback);
new key = str_to_num(data);
switch(key)
{
case 1:
{
set_user_health(id, get_user_health(id) + 10);
VipUsed[id] = true;
client_printc(id, "%s You Have !g10 HP!n", PREFIX);
VipUsed[id] = true;
}
case 2:
{
VipUsed[id] = true;
set_user_armor(id, get_user_armor(id) + 10);
client_printc(id, "%s You Have !g10 Armor!n", PREFIX);
}
case 3:
{
give_item(id, "weapon_hegrenade");
VipUsed[id] = true;
client_printc(id, "%s You Have !gFire Grenade!n", PREFIX);
}
case 4:
{
give_item(id, "weapon_flashbang");
VipUsed[id] = true;
client_printc(id, "%s You Have !gFlash Grenade!n", PREFIX);
}
case 5:
{
cs_set_user_money(id, cs_get_user_money(id) + 4000);
VipUsed[id] = true;
client_printc(id, "%s You Get !g[4000 Money] !n!", PREFIX);
}
case 6:
{
ExecuteHamB(Ham_CS_RoundRespawn, id);
VipUsed[id] = true;
client_printc(id, "%s You Now !g[Respawned] !n!", PREFIX);
}
}
menu_destroy(menu);
return PLUGIN_HANDLED;
}
// Colour Chat
stock client_printc(const id, const input[], any:...)
{
new count = 1, players[32];
static msg[191];
vformat(msg, 190, input, 3);
replace_all(msg, 190, "!g", "^x04"); // Green Color
replace_all(msg, 190, "!n", "^x01"); // Default Color
replace_all(msg, 190, "!t", "^x03"); // Team Color
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();
}
}
}
}