Code:
#include < amxmodx >
#include < fun >
#include < cstrike >
#include < hamsandwich >
#pragma semicolon 1
#define MAX_PLAYERS 32 + 1
enum _: iShopItems
{
ITEM_AWP,
ITEM_DEAGLE,
ITEM_HEGRENADE,
ITEM_FLASH,
ITEM_SMOKE
};
new const gShopMenu[ iShopItems ][ ] =
{
"Awp",
"Deagle",
"HE Grenade",
"Flash",
"Smoke"
};
new const gShopPrices[ iShopItems ] =
{
5_000,
2_500,
1_500,
1_000,
1_000
};
new bItemBought[ MAX_PLAYERS ][ iShopItems ];
public plugin_init( )
{
register_plugin( "Surf Shop", "1.0.1", "tuty" );
RegisterHam( Ham_Spawn, "player", "bacon_Spawned", 1 );
register_clcmd( "say /surfshop", "CommandShop" );
register_clcmd( "say_team /surfshop", "CommandShop" );
}
public bacon_Spawned( id )
{
if( is_user_alive( id ) )
{
new i;
for( i = 0; i < iShopItems; i++ )
{
bItemBought[ id ][ i ] = 0;
}
}
}
public CommandShop( id )
{
if( !is_user_alive( id ) )
{
client_print( id, print_chat, "You must be alive to buy items!" );
return PLUGIN_HANDLED;
}
new iMenu = menu_create( "\rChoose Item!", "menu_ShopHandler" );
new szFormatMenu[ 400 ], idString[ 3 ], i;
for( i = 0; i < iShopItems; i++ )
{
formatex( szFormatMenu, charsmax( szFormatMenu ), "\w%s \R\y%d$", gShopMenu[ i ], gShopPrices[ i ] );
num_to_str( i, idString, charsmax( idString ) );
menu_additem( iMenu, szFormatMenu, idString );
}
menu_display( id, iMenu );
return PLUGIN_CONTINUE;
}
public menu_ShopHandler( id, menu, item )
{
if( item >= 0 )
{
new access, callback, idString[ 3 ];
menu_item_getinfo( menu, item, access, idString, charsmax( idString ), _, _, callback );
new iKey = str_to_num( idString );
new iMoney = cs_get_user_money( id );
switch( iKey )
{
case ITEM_AWP:
{
if( iMoney < gShopPrices[ ITEM_AWP ] )
{
client_print( id, print_chat, "You don't have enoug money! You need %d$", gShopPrices[ ITEM_AWP ] );
return PLUGIN_HANDLED;
}
if( bItemBought[ id ][ ITEM_AWP ] )
{
client_print( id, print_chat, "You already bought this item!" );
return PLUGIN_HANDLED;
}
give_item( id, "weapon_awp" );
cs_set_user_bpammo( id, CSW_AWP, 80 );
client_print( id, print_chat, "You have bought a AWP!" );
cs_set_user_money( id, iMoney - gShopPrices[ ITEM_AWP ], 1 );
bItemBought[ id ][ ITEM_AWP ] = 1;
}
case ITEM_DEAGLE:
{
if( iMoney < gShopPrices[ ITEM_DEAGLE ] )
{
client_print( id, print_chat, "You don't have enoug money! You need %d$", gShopPrices[ ITEM_DEAGLE ] );
return PLUGIN_HANDLED;
}
if( bItemBought[ id ][ ITEM_DEAGLE ] )
{
client_print( id, print_chat, "You already bought this item!" );
return PLUGIN_HANDLED;
}
give_item( id, "weapon_deagle" );
cs_set_user_bpammo( id, CSW_DEAGLE, 60 );
client_print( id, print_chat, "You have bought a Deagle!" );
cs_set_user_money( id, iMoney - gShopPrices[ ITEM_DEAGLE ], 1 );
bItemBought[ id ][ ITEM_DEAGLE ] = 1;
}
case ITEM_HEGRENADE:
{
if( iMoney < gShopPrices[ ITEM_HEGRENADE ] )
{
client_print( id, print_chat, "You don't have enoug money! You need %d$", gShopPrices[ ITEM_HEGRENADE ] );
return PLUGIN_HANDLED;
}
if( bItemBought[ id ][ ITEM_HEGRENADE ] )
{
client_print( id, print_chat, "You already bought this item!" );
return PLUGIN_HANDLED;
}
give_item( id, "weapon_hegrenade" );
client_print( id, print_chat, "You have bought a HE Grenade!" );
cs_set_user_money( id, iMoney - gShopPrices[ ITEM_HEGRENADE ], 1 );
bItemBought[ id ][ ITEM_HEGRENADE ] = 1;
}
case ITEM_FLASH:
{
if( iMoney < gShopPrices[ ITEM_FLASH ] )
{
client_print( id, print_chat, "You don't have enoug money! You need %d$", gShopPrices[ ITEM_FLASH ] );
return PLUGIN_HANDLED;
}
if( bItemBought[ id ][ ITEM_FLASH ] )
{
client_print( id, print_chat, "You already bought this item!" );
return PLUGIN_HANDLED;
}
give_item( id, "weapon_flashbang" );
client_print( id, print_chat, "You have bought a Flash!" );
cs_set_user_money( id, iMoney - gShopPrices[ ITEM_FLASH ], 1 );
bItemBought[ id ][ ITEM_FLASH ] = 1;
}
case ITEM_SMOKE:
{
if( iMoney < gShopPrices[ ITEM_SMOKE ] )
{
client_print( id, print_chat, "You don't have enoug money! You need %d$", gShopPrices[ ITEM_SMOKE ] );
return PLUGIN_HANDLED;
}
if( bItemBought[ id ][ ITEM_SMOKE ] )
{
client_print( id, print_chat, "You already bought this item!" );
return PLUGIN_HANDLED;
}
give_item( id, "weapon_smokegrenade" );
client_print( id, print_chat, "You have bought a Smoke!" );
cs_set_user_money( id, iMoney - gShopPrices[ ITEM_SMOKE ], 1 );
bItemBought[ id ][ ITEM_SMOKE ] = 1;
}
}
}
menu_destroy( menu );
return PLUGIN_HANDLED;
}