PHP Code:
#include <amxmodx>
#include <amxmisc>
#include <cstrike>
#include <hamsandwich>
#include <fun>
#include <colorchat>
#define PLUGIN "DeathMatch VIP Menu"
#define VERSION "1.0"
#define AUTHOR "oggy"
new HasGodmod[33], Hasinvis[33];
new bool:g_gMenuItemUsed[33][10], bool:g_eMenuItemUsed[33][10]
public plugin_init()
{
register_plugin(PLUGIN, VERSION, AUTHOR);
RegisterHam(Ham_Spawn, "player", "fwHamPlayerSpawnPost", 1);
register_clcmd("say /buy", "Mainmenu")
register_clcmd("dmemenu", "Mainmenu")
}
public fwHamPlayerSpawnPost(id)
{
if(HasGodmod[id])
{
set_user_godmode(id, 0);
HasGodmod[id] = false;
}
if(Hasinvis[id])
{
set_user_rendering( id, _, 0, 0, 0, _, 0 );
Hasinvis[id] = false;
}
return PLUGIN_HANDLED;
}
public Mainmenu(id)
{
new szText[555 char];
formatex(szText, charsmax(szText), "\yNew | \rDeathMatch \wServer");
new menu = menu_create( szText, "Mainmenu_handler" );
formatex( szText, charsmax( szText ), "\yExtra Guns^n");
menu_additem( menu, szText, "1", 0 );
formatex( szText, charsmax( szText ), "\yExtra Items");
menu_additem( menu, szText, "2", 0 );
menu_setprop( menu, MPROP_EXIT, MEXIT_ALL );
menu_display( id, menu, 0 );
return PLUGIN_CONTINUE;
}
public Mainmenu_handler( id, menu, item )
{
if( item == MENU_EXIT )
{
menu_destroy( menu );
return PLUGIN_HANDLED;
}
new data[ 6 ], iName[ 64 ], access, callback;
menu_item_getinfo( menu, item, access, data, charsmax( data ), iName, charsmax( iName ), callback );
new key = str_to_num( data );
switch( key )
{
case 1:
{
NormalGMenu(id);
}
case 2:
{
NormalEMenu(id);
}
}
return PLUGIN_HANDLED;
}
public NormalGMenu(id)
{
new szText[555 char];
formatex(szText, charsmax(szText), "\yDeathMatch Server \w- \rExtra Guns");
new menu = menu_create( szText, "NormalGMenu_handler" );
new callback = menu_makecallback("gMenuCallback")
formatex( szText, charsmax( szText ), "\yAK47 Paladin \r[25000] \r[ADMIN]");
menu_additem( menu, szText, "1", 0, callback);
formatex( szText, charsmax( szText ), "\yM4A1 Darkknight \r[22000] \r[ADMIN]");
menu_additem( menu, szText, "2", 0, callback);
formatex( szText, charsmax( szText ), "\yRR700 \r[20000] \r[VIP]");
menu_additem( menu, szText, "3", 0, callback);
formatex( szText, charsmax( szText ), "\yG3SG1 \r[7500]");
menu_additem( menu, szText, "4", 0, callback);
formatex( szText, charsmax( szText ), "\ySG550 \r[7500]");
menu_additem( menu, szText, "5", 0, callback);
formatex( szText, charsmax( szText ), "\yUSP + SHEILD \r[7500]");
menu_additem( menu, szText, "6", 0, callback);
menu_setprop( menu, MPROP_EXIT, MEXIT_ALL );
menu_display( id, menu, 0 );
return PLUGIN_CONTINUE;
}
public gMenuCallback(id, menu, item)
{
return g_gMenuItemUsed[id][item] ? ITEM_DISABLED : ITEM_IGNORE;
}
public NormalGMenu_handler(id, menu, item)
{
if(item == MENU_EXIT)
{
menu_destroy(id)
return PLUGIN_HANDLED
}
new data[6], iName[64], access, callback;
menu_item_getinfo(menu, item, access, data, charsmax(data), iName, charsmax(iName), callback)
new key = str_to_num(data)
new money = cs_get_user_money(id);
switch(key)
{
case 1:
{
if(money < 20000)
{
ColorChat(id, GREEN,"^3Your Money Is Not Enough.");
NormalGMenu(id)
return PLUGIN_HANDLED
}
else if(!(get_user_flags(id) & ADMIN_IMMUNITY))
{
ColorChat(id, GREEN,"^3You are not an admin.");
NormalGMenu(id)
return PLUGIN_HANDLED;
}
else
{
strip_user_weapons(id)
cs_set_user_armor(id, 100, CS_ARMOR_VESTHELM)
give_item(id, "item_assaultsuit")
give_item(id, "weapon_knife")
client_cmd(id,"get_baisv");
give_item(id, "weapon_deagle")
cs_set_user_bpammo(id, CSW_DEAGLE, 35)
cs_set_user_money(id, money - 25000);
}
}
case 2:
{
if(money < 20000)
{
ColorChat(id, GREEN,"^3Your Money Is Not Enough.");
NormalGMenu(id)
return PLUGIN_HANDLED
}
else if(!(get_user_flags(id) & ADMIN_LEVEL_D))
{
ColorChat(id, GREEN,"^3You are not an admin.");
NormalGMenu(id)
return PLUGIN_HANDLED;
}
else
{
strip_user_weapons(id)
cs_set_user_armor(id, 100, CS_ARMOR_VESTHELM)
give_item(id, "item_assaultsuit")
give_item(id, "weapon_knife")
client_cmd(id,"Get_m4tre");
give_item(id, "weapon_deagle")
cs_set_user_bpammo(id, CSW_DEAGLE, 35)
cs_set_user_money(id, money - 22000);
g_gMenuItemUsed[id][item] = true
}
}
case 3:
{
if(money < 20000)
{
ColorChat(id, GREEN,"^4[SG] ^3Your Money Is Not Enough.");
NormalGMenu(id)
return PLUGIN_HANDLED
}
else if(!(get_user_flags(id) & ADMIN_RESERVATION))
{
ColorChat(id, GREEN,"^3You are not a vip.");
NormalGMenu(id)
return PLUGIN_HANDLED;
}
else
{
strip_user_weapons(id)
cs_set_user_armor(id, 100, CS_ARMOR_VESTHELM)
give_item(id, "item_assaultsuit")
give_item(id, "weapon_knife")
client_cmd(id,"get_weapon");
give_item(id, "weapon_deagle")
cs_set_user_bpammo(id, CSW_DEAGLE, 35)
cs_set_user_money(id, money - 20000);
g_gMenuItemUsed[id][item] = true
}
}
case 4:
{
if(money < 7500)
{
ColorChat(id, GREEN,"^3Your Money Is Not Enough.");
NormalGMenu(id)
return PLUGIN_HANDLED
}
else
{
strip_user_weapons(id)
cs_set_user_armor(id, 100, CS_ARMOR_VESTHELM)
give_item(id, "item_assaultsuit")
give_item(id, "weapon_knife")
cs_set_weapon_ammo(give_item(id, "weapon_g3sg1"), 5);
cs_set_user_bpammo(id, CSW_G3SG1, 20);
give_item(id, "weapon_deagle")
cs_set_user_bpammo(id, CSW_DEAGLE, 35)
cs_set_user_money(id, money - 7500);
g_gMenuItemUsed[id][item] = true
}
}
case 5:
{
if(money < 7500)
{
ColorChat(id, GREEN,"^3Your Money Is Not Enough.");
NormalGMenu(id)
return PLUGIN_HANDLED
}
else
{
strip_user_weapons(id)
cs_set_user_armor(id, 100, CS_ARMOR_VESTHELM)
give_item(id, "item_assaultsuit")
give_item(id, "weapon_knife")
cs_set_weapon_ammo(give_item(id, "weapon_sg550"), 5);
cs_set_user_bpammo(id, CSW_SG550, 20);
give_item(id, "weapon_deagle")
cs_set_user_bpammo(id, CSW_DEAGLE, 35)
cs_set_user_money(id, money - 7500);
g_gMenuItemUsed[id][item] = true
}
}
case 6:
{
if(money < 7500)
{
ColorChat(id, GREEN,"^3Your Money Is Not Enough.");
NormalGMenu(id)
return PLUGIN_HANDLED
}
else
{
strip_user_weapons(id)
cs_set_user_armor(id, 100, CS_ARMOR_VESTHELM)
give_item(id, "item_assaultsuit")
give_item(id, "weapon_knife")
cs_set_weapon_ammo(give_item(id, "weapon_shield"), 1);
give_item(id, "weapon_usp")
cs_set_user_bpammo(id, CSW_USP, 100)
cs_set_user_money(id, money - 7500);
g_gMenuItemUsed[id][item] = true
}
}
}
return PLUGIN_HANDLED;
}
public NormalEMenu(id)
{
new szText[555 char];
formatex(szText, charsmax(szText), "\yDeathMatch Server \w- \rExtra items");
new menu = menu_create( szText, "NormalEMenu_handler" );
new callback2 = menu_makecallback("eMenuCallback")
formatex( szText, charsmax( szText ), "\yHEGrenade \r[2000]");
menu_additem( menu, szText, "1", 0, callback2);
formatex( szText, charsmax( szText ), "\yFlashBang \r[3000]");
menu_additem( menu, szText, "2", 0, callback2);
formatex( szText, charsmax( szText ), "\ySmokeGrenade \r[1500]");
menu_additem( menu, szText, "3", 0, callback2);
formatex( szText, charsmax( szText ), "\y+100 HP \r[4000]");
menu_additem( menu, szText, "4", 0, callback2);
formatex( szText, charsmax( szText ), "\y+100 ARMOR \r[5000]");
menu_additem( menu, szText, "5", 0, callback2);
formatex( szText, charsmax( szText ), "\yJetpack \r[3500]");
menu_additem( menu, szText, "6", 0, callback2);
formatex( szText, charsmax( szText ), "\ySheild Respawn (10 Seconds) \r[10000]");
menu_additem( menu, szText, "7", 0, callback2);
formatex( szText, charsmax( szText ), "\yUnlimited Ammo \r[3000]");
menu_additem( menu, szText, "8", 0, callback2);
menu_setprop( menu, MPROP_EXIT, MEXIT_ALL );
menu_display( id, menu, 0 );
return PLUGIN_CONTINUE;
}
public eMenuCallback(id, menu, item)
{
return g_eMenuItemUsed[id][item] ? ITEM_DISABLED : ITEM_IGNORE;
}
public NormalEMenu_handler(id, menu, item)
{
if(item == MENU_EXIT)
{
menu_destroy(id)
return PLUGIN_HANDLED
}
new data[6], iName[64], access, callback;
menu_item_getinfo(menu, item, access, data, charsmax(data), iName, charsmax(iName), callback)
new key = str_to_num(data)
new money = cs_get_user_money(id);
switch(key)
{
case 1:
{
if(money < 2500)
{
ColorChat(id, GREEN,"^3Your Money Is Not Enough.");
NormalEMenu(id)
return PLUGIN_HANDLED
}
else
{
give_item(id, "weapon_hegrenade")
cs_set_user_money(id, money - 2000);
g_eMenuItemUsed[id][item] = true
}
}
case 2:
{
if(money < 3000)
{
ColorChat(id, GREEN,"^3Your Money Is Not Enough.");
NormalEMenu(id)
return PLUGIN_HANDLED
}
else
{
give_item(id, "weapon_flashbang")
cs_set_user_money(id, money - 3000);
g_eMenuItemUsed[id][item] = true
}
}
case 3:
{
if(money < 1500)
{
ColorChat(id, GREEN,"^3Your Money Is Not Enough.");
NormalEMenu(id)
return PLUGIN_HANDLED
}
else
{
give_item(id, "weapon_smokegrenade")
cs_set_user_money(id, money - 1500);
g_eMenuItemUsed[id][item] = true
}
}
case 4:
{
if(money < 4500)
{
ColorChat(id, GREEN,"^3Your Money Is Not Enough.");
NormalEMenu(id)
return PLUGIN_HANDLED;
}
else
{
set_user_health(id, get_user_health(id) +100);
cs_set_user_money(id, money - 4000);
g_eMenuItemUsed[id][item] = true
}
}
case 5:
{
if(money < 6000)
{
ColorChat(id, GREEN,"^3Your Money Is Not Enough.");
NormalEMenu(id)
return PLUGIN_HANDLED;
}
else
{
cs_set_user_armor(id, 200, CS_ARMOR_VESTHELM);
cs_set_user_money(id, money - 5000);
g_eMenuItemUsed[id][item] = true
}
}
case 6:
{
if(money < 3500)
{
ColorChat(id, GREEN,"^3Your Money Is Not Enough.");
NormalEMenu(id)
return PLUGIN_HANDLED;
}
else
{
client_cmd(id,"jetpackck");
cs_set_user_money(id, money - 3500);
g_eMenuItemUsed[id][item] = true
}
}
case 7:
{
if(money < 10000)
{
ColorChat(id, GREEN,"^3Your Money Is Not Enough.");
NormalEMenu(id)
return PLUGIN_HANDLED;
}
else
{
set_user_rendering(id,kRenderFxGlowShell,0,0,255,kRenderNormal,25)
set_user_godmode(id, 1);
set_task(8.0, "Removethings", id);
cs_set_user_money(id, money - 10000);
HasGodmod[id] = true;
g_eMenuItemUsed[id][item] = true
}
}
case 8:
{
if(money < 3000)
{
ColorChat(id, GREEN,"^3Your Money Is Not Enough.");
NormalEMenu(id)
return PLUGIN_HANDLED;
}
else
{
cs_set_weapon_ammo(id, maxclip(id))
cs_set_user_money(id, money - 3000);
g_eMenuItemUsed[id][item] = true
}
}
}
return PLUGIN_HANDLED;
}
public Removethings(id)
{
if(HasGodmod[id])
{
set_user_godmode(id, 0);
HasGodmod[id] = false;
}
if(Hasinvis[id])
{
set_user_rendering( id, _, 0, 0, 0, _, 0 );
Hasinvis[id] = false;
}
return PLUGIN_HANDLED;
}