PHP Code:
#include <amxmodx>
#include <amxmisc>
#include <cstrike>
#include <hamsandwich>
#include <fun>
#define PLUGIN "New Plug-In"
#define VERSION "1.0"
#define AUTHOR "author"
new countround, menu_on, round_num;
new HasC4[33], Hasinvis[33], HasGodmod[33];
public plugin_init()
{
register_plugin(PLUGIN, VERSION, AUTHOR);
round_num = register_cvar("menu_round_num", "3");
menu_on = register_cvar("menu_on", "1");
register_logevent("logevent_round_start", 2, "1=Round_Start") ;
register_event("TextMsg","Event_RoundRestart","a","2&#Game_w");
register_event("TextMsg","Event_RoundRestart","a","2&#Game_C");
RegisterHam(Ham_Spawn, "player", "fwHamPlayerSpawnPost", 1);
}
public fwHamPlayerSpawnPost(id)
{
if(Hasinvis[id])
{
set_user_rendering( id, _, 0, 0, 0, _, 0 );
Hasinvis[id] = false;
}
if(HasGodmod[id])
{
set_user_godmode(id, 0);
HasGodmod[id] = false;
}
return PLUGIN_HANDLED;
}
public Event_RoundRestart()
{
countround=0;
}
public logevent_round_start()
{
countround++;
new players[32], num, pid;
get_players(players, num, "ach");
for(new i=0; i<num; i++)
{
pid = players[i];
if(countround == get_pcvar_num(round_num) && get_pcvar_num(menu_on) == 1)
{
Mainmenu(pid);
}
}
return PLUGIN_HANDLED;
}
public Mainmenu(id)
{
new szText[555 char];
formatex(szText, charsmax(szText), "\yPublic Menu - \rRound \y(\w#%d\y)", countround);
new menu = menu_create( szText, "Mainmenu_handler" );
formatex( szText, charsmax( szText ), "Free Gun Menu");
menu_additem( menu, szText, "1", 0 );
formatex( szText, charsmax( szText ), "Special Gun Menu");
menu_additem( menu, szText, "2", 0 );
formatex( szText, charsmax( szText ), "Abilities");
menu_additem( menu, szText, "3", 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:
{
if(!cs_get_user_buyzone(id))
{
return PLUGIN_HANDLED
}
else if(!(countround % 3 == 0))
{
client_print(id, print_chat, "You can use it every 3 round")
Mainmenu(id)
return PLUGIN_HANDLED
}
if(user_has_weapon(id, CSW_C4) && get_user_team(id) == 1)
HasC4[id] = true;
else
HasC4[id] = false;
strip_user_weapons(id)
cs_set_user_armor(id, 100, CS_ARMOR_VESTHELM)
give_item(id, "item_assaultsuit")
give_item(id, "weapon_knife")
new randomgun = random_num(1, 16)
new randompis = random_num(1, 5)
new randomger = random_num(1, 3)
if(randomgun == 1)
{
cs_set_weapon_ammo(give_item(id, "weapon_ak47"), 30);
cs_set_user_bpammo(id, CSW_AK47, 90);
}
if(randomgun == 2)
{
cs_set_weapon_ammo(give_item(id, "weapon_aug"), 30);
cs_set_user_bpammo(id, CSW_AUG, 90);
}
if(randomgun == 3)
{
cs_set_weapon_ammo(give_item(id, "weapon_p90"), 50);
cs_set_user_bpammo(id, CSW_P90, 100);
}
if(randomgun == 4)
{
cs_set_weapon_ammo(give_item(id, "weapon_mp5navy"), 30);
cs_set_user_bpammo(id, CSW_MP5NAVY, 120);
}
if(randomgun == 5)
{
cs_set_weapon_ammo(give_item(id, "weapon_mac10"), 30);
cs_set_user_bpammo(id, CSW_MAC10, 100);
}
if(randomgun == 6)
{
cs_set_weapon_ammo(give_item(id, "weapon_m3"), 8);
cs_set_user_bpammo(id, CSW_M3, 32);
}
if(randomgun == 7)
{
cs_set_weapon_ammo(give_item(id, "weapon_xm1014"), 7);
cs_set_user_bpammo(id, CSW_XM1014, 32);
}
if(randomgun == 8)
{
cs_set_weapon_ammo(give_item(id, "weapon_famas"), 25);
cs_set_user_bpammo(id, CSW_FAMAS, 90);
}
if(randomgun == 9)
{
cs_set_weapon_ammo(give_item(id, "weapon_galil"), 30);
cs_set_user_bpammo(id, CSW_GALIL, 90);
}
if(randomgun == 10)
{
cs_set_weapon_ammo(give_item(id, "weapon_scout"), 10);
cs_set_user_bpammo(id, CSW_SCOUT, 90);
}
if(randomgun == 11)
{
cs_set_weapon_ammo(give_item(id, "weapon_sg552"), 30);
cs_set_user_bpammo(id, CSW_SG552, 90);
}
if(randomgun == 12)
{
cs_set_weapon_ammo(give_item(id, "weapon_m249"), 100);
cs_set_user_bpammo(id, CSW_M249, 200);
}
if(randomgun == 13)
{
cs_set_weapon_ammo(give_item(id, "weapon_awp"), 10);
cs_set_user_bpammo(id, CSW_AWP, 40);
}
if(randomgun == 14)
{
cs_set_weapon_ammo(give_item(id, "weapon_ump45"), 26);
cs_set_user_bpammo(id, CSW_UMP45, 100);
}
if(randomgun == 15)
{
cs_set_weapon_ammo(give_item(id, "weapon_tmp"), 30);
cs_set_user_bpammo(id, CSW_TMP, 90);
}
if(randomgun == 16)
{
cs_set_weapon_ammo(give_item(id, "weapon_m4a1"), 30);
cs_set_user_bpammo(id, CSW_M4A1, 90);
}
if(randompis == 1)
{
cs_set_weapon_ammo(give_item(id, "weapon_deagle"), 7);
cs_set_user_bpammo(id, CSW_DEAGLE, 35);
}
if(randompis == 2)
{
cs_set_weapon_ammo(give_item(id, "weapon_p228"), 13);
cs_set_user_bpammo(id, CSW_P228, 52);
}
if(randompis == 3)
{
cs_set_weapon_ammo(give_item(id, "weapon_fiveseven"), 20);
cs_set_user_bpammo(id, CSW_FIVESEVEN, 100);
}
if(randompis == 4)
{
cs_set_weapon_ammo(give_item(id, "weapon_glock18"), 20);
cs_set_user_bpammo(id, CSW_GLOCK18, 120);
}
if(randompis == 5)
{
cs_set_weapon_ammo(give_item(id, "weapon_usp"), 12);
cs_set_user_bpammo(id, CSW_USP, 100);
}
if(randomger == 1)
{
give_item(id, "weapon_flashbang")
}
if(randomger == 2)
{
give_item(id, "weapon_hegrenade")
}
if(randomger == 3)
{
give_item(id, "weapon_smokegrenade")
}
if (HasC4[id])
{
give_item(id, "weapon_c4");
cs_set_user_plant(id);
}
if(get_user_team(id) == 2)
{
cs_set_user_defuse(id)
}
}
case 2:
{
if(!cs_get_user_buyzone(id))
{
return PLUGIN_HANDLED
}
else if(!(get_user_flags(id) & ADMIN_KICK))
{
client_print(id, print_chat, "access denied");
return PLUGIN_HANDLED;
}
else if(!(countround % 5 == 0))
{
client_print(id, print_chat, "You can use it every 5 round")
Mainmenu(id)
return PLUGIN_HANDLED
}
else
{
SpecialMenu(id);
}
}
case 3:
{
if(!cs_get_user_buyzone(id))
{
return PLUGIN_HANDLED
}
else if(!(get_user_flags(id) & ADMIN_RESERVATION))
{
client_print(id, print_chat, "access denied");
return PLUGIN_HANDLED;
}
else if(!(countround % 10 == 0))
{
client_print(id, print_chat, "You can use it every 10 round")
Mainmenu(id)
return PLUGIN_HANDLED
}
else
{
AvbiMenu(id);
}
}
}
return PLUGIN_HANDLED;
}
public SpecialMenu(id)
{
new szText[555 char];
formatex(szText, charsmax(szText), "\yPublic Menu - \rRound \y(\w#%d\y)", countround);
new menu = menu_create( szText, "SpecialMenu_handler" );
formatex( szText, charsmax( szText ), "AK47+items [8000$] [VIP]");
menu_additem( menu, szText, "1", 0 );
formatex( szText, charsmax( szText ), "M4A1+items [8000$] [VIP]");
menu_additem( menu, szText, "2", 0 );
formatex( szText, charsmax( szText ), "FAMAS+items [5000$] [VIP]");
menu_additem( menu, szText, "3", 0 );
formatex( szText, charsmax( szText ), "GALIL+items [5000$] [VIP]");
menu_additem( menu, szText, "4", 0 );
formatex( szText, charsmax( szText ), "AWP+items [7000$] [VIP]");
menu_additem( menu, szText, "5", 0 );
menu_setprop( menu, MPROP_EXIT, MEXIT_ALL );
menu_display( id, menu, 0 );
return PLUGIN_CONTINUE;
}
public SpecialMenu_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(!cs_get_user_buyzone(id))
{
return PLUGIN_HANDLED
}
else if(money < 8000)
{
client_print(id, print_chat, "You do not have money");
return PLUGIN_HANDLED;
}
if(user_has_weapon(id, CSW_C4) && get_user_team(id) == 1)
HasC4[id] = true;
else
HasC4[id] = false;
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_ak47"), 30);
cs_set_user_bpammo(id, CSW_AK47, 90);
give_item(id, "weapon_flashbang")
give_item(id, "weapon_flashbang")
give_item(id, "weapon_hegrenade")
give_item(id, "weapon_smokegrenade")
cs_set_user_money(id, money - 8000);
if (HasC4[id])
{
give_item(id, "weapon_c4");
cs_set_user_plant(id);
}
if(get_user_team(id) == 2)
{
cs_set_user_defuse(id)
}
}
case 2:
{
if(!cs_get_user_buyzone(id))
{
return PLUGIN_HANDLED
}
else if(money < 8000)
{
client_print(id, print_chat, "You do not have money");
return PLUGIN_HANDLED;
}
if(user_has_weapon(id, CSW_C4) && get_user_team(id) == 1)
HasC4[id] = true;
else
HasC4[id] = false;
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_m4a1"), 30);
cs_set_user_bpammo(id, CSW_M4A1, 90);
give_item(id, "weapon_flashbang")
give_item(id, "weapon_flashbang")
give_item(id, "weapon_hegrenade")
give_item(id, "weapon_smokegrenade")
cs_set_user_money(id, money - 8000);
if (HasC4[id])
{
give_item(id, "weapon_c4");
cs_set_user_plant(id);
}
if(get_user_team(id) == 2)
{
cs_set_user_defuse(id)
}
}
case 3:
{
if(!cs_get_user_buyzone(id))
{
return PLUGIN_HANDLED
}
else if(money < 5000)
{
client_print(id, print_chat, "You do not have money");
return PLUGIN_HANDLED;
}
if(user_has_weapon(id, CSW_C4) && get_user_team(id) == 1)
HasC4[id] = true;
else
HasC4[id] = false;
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_famas"), 25);
cs_set_user_bpammo(id, CSW_FAMAS, 90);
give_item(id, "weapon_flashbang")
give_item(id, "weapon_flashbang")
give_item(id, "weapon_hegrenade")
give_item(id, "weapon_smokegrenade")
cs_set_user_money(id, money - 5000);
if (HasC4[id])
{
give_item(id, "weapon_c4");
cs_set_user_plant(id);
}
if(get_user_team(id) == 2)
{
cs_set_user_defuse(id)
}
}
case 4:
{
if(!cs_get_user_buyzone(id))
{
return PLUGIN_HANDLED
}
else if(money < 5000)
{
client_print(id, print_chat, "You do not have money");
return PLUGIN_HANDLED;
}
if(user_has_weapon(id, CSW_C4) && get_user_team(id) == 1)
HasC4[id] = true;
else
HasC4[id] = false;
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_galil"), 30);
cs_set_user_bpammo(id, CSW_GALIL, 90);
give_item(id, "weapon_flashbang")
give_item(id, "weapon_flashbang")
give_item(id, "weapon_hegrenade")
give_item(id, "weapon_smokegrenade")
cs_set_user_money(id, money - 5000);
if (HasC4[id])
{
give_item(id, "weapon_c4");
cs_set_user_plant(id);
}
if(get_user_team(id) == 2)
{
cs_set_user_defuse(id)
}
}
case 5:
{
if(!cs_get_user_buyzone(id))
{
return PLUGIN_HANDLED
}
else if(money < 6000)
{
client_print(id, print_chat, "You do not have money");
return PLUGIN_HANDLED;
}
if(user_has_weapon(id, CSW_C4) && get_user_team(id) == 1)
HasC4[id] = true;
else
HasC4[id] = false;
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_awp"), 10);
cs_set_user_bpammo(id, CSW_AWP, 40);
give_item(id, "weapon_flashbang")
give_item(id, "weapon_flashbang")
give_item(id, "weapon_hegrenade")
give_item(id, "weapon_smokegrenade")
cs_set_user_money(id, money - 7000);
if (HasC4[id])
{
give_item(id, "weapon_c4");
cs_set_user_plant(id);
}
if(get_user_team(id) == 2)
{
cs_set_user_defuse(id)
}
}
}
return PLUGIN_HANDLED;
}
public AvbiMenu(id)
{
new szText[555 char];
formatex(szText, charsmax(szText), "\yPublic Menu - \rRound \y(\w#%d\y)", countround);
new menu = menu_create( szText, "AvbiMenu_handler" );
formatex( szText, charsmax( szText ), "invisibility [15 seconds] [10000$] [Admin]");
menu_additem( menu, szText, "1", 0 );
formatex( szText, charsmax( szText ), "GodMod [10seconds] [16000$] [Admin]");
menu_additem( menu, szText, "2", 0 );
menu_setprop( menu, MPROP_EXIT, MEXIT_ALL );
menu_display( id, menu, 0 );
return PLUGIN_CONTINUE;
}
public AvbiMenu_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 );
new money = cs_get_user_money(id);
switch( key )
{
case 1:
{
if(!cs_get_user_buyzone(id))
{
return PLUGIN_HANDLED
}
else if(money < 10000)
{
client_print(id, print_chat, "You do not have money");
return PLUGIN_HANDLED;
}
set_user_rendering(id,kRenderFxGlowShell,0,0,255,kRenderNormal,25)
set_task(10.0, "Removethings", id);
cs_set_user_money(id, money - 10000);
Hasinvis[id] = true;
client_print(id, print_chat, "You got invisibility for 15 sec");
}
case 2:
{
if(!cs_get_user_buyzone(id))
{
return PLUGIN_HANDLED
}
else if(money < 16000)
{
client_print(id, print_chat, "You do not have money");
return PLUGIN_HANDLED;
}
set_user_godmode(id, 1);
set_task(10.0, "Removethings", id);
cs_set_user_money(id, money - 16000);
HasGodmod[id] = true;
client_print(id, print_chat, "You got godmode for 10 sec");
}
}
return PLUGIN_HANDLED;
}
public Removethings(id)
{
if(Hasinvis[id])
{
set_user_rendering( id, _, 0, 0, 0, _, 0 );
Hasinvis[id] = false;
client_print(id, print_chat, "Your invisibility is over");
}
if(HasGodmod[id])
{
set_user_godmode(id, 0);
HasGodmod[id] = false;
client_print(id, print_chat, "Your godmode is over");
}
return PLUGIN_HANDLED;
}