Code:
#include <amxmodx>
#include <amxmisc>
#include <cstrike>
#include <hamsandwich>
#include <fun>
#define PLUGIN "SuperLiga-Shopmenu"
#define VERSION "1.1"
#define AUTHOR "KoGeRbArNeT"
new gMenuLabel[][] = { "+25 hp", "Speed up", "Revive", "16 xp", "Gravity" };
new gMenuMoney[] = { 2000 , 2000 , 8500 , 16000 , 2000 };
new gMenu;
public plugin_init()
{
register_plugin( PLUGIN, VERSION, AUTHOR );
register_clcmd( "say /shopmenu", "ClientCommand_ShopMenu" );
register_clcmd( "say shopmenu" , "ClientCommand_ShopMenu" );
}
public plugin_cfg ()
{
gMenu = menu_create( "\rShopmenu:", "MenuHandler" );
new Item[ 64 ];
new Key [ 2 ];
for ( new i = 0; i < sizeof gMenuLabel; i++ )
{
num_to_str( i + 1, Key, charsmax( Key ) );
formatex( Item, charsmax( Item ), "\w %s - %i", gMenuLabel[ i ], gMenuMoney[ i ] );
menu_additem( gMenu, Item, Key );
}
menu_setprop( gMenu, MPROP_EXIT, MEXIT_ALL );
}
public ClientCommand_ShopMenu ( const Player )
{
menu_display( Player, gMenu );
}
public MenuHandler ( const Player, const Menu, const Item )
{
if( Item == MENU_EXIT )
{
menu_destroy( Menu );
return PLUGIN_HANDLED;
}
new Data[ 6 ];
new Name[ 64 ];
new Access;
new Callback;
menu_item_getinfo( Menu, Item, Access, Data, charsmax( Data ), Name, charsmax( Name ), Callback );
new Key = str_to_num( Data );
new MoneyToRetrieve = cs_get_user_money( Player ) - gMenuMoney[ Key - 1 ];
if ( MoneyToRetrieve < 0 )
{
client_print( Player, print_chat, "You don't have enough money (Needed $%d)", MoneyToRetrieve );
menu_destroy( Menu );
return PLUGIN_HANDLED;
}
cs_set_user_money( Player, MoneyToRetrieve );
switch ( Key )
{
case 1:
{
set_user_health( Player, get_user_health( Player ) + 25 );
client_print( Player, print_chat, "You bought hp!" );
}
case 2:
{
set_user_maxspeed( Player, get_user_maxspeed( Player ) + 100 );
client_print( Player, print_chat, "You bought speed!" );
}
case 3:
{
ExecuteHamB( Ham_CS_RoundRespawn, Player );
client_print( Player, print_chat, "You bought retrive!");
}
case 4:
{
// ...
client_print( Player, print_chat, "You bought 16 xp!");
}
case 5:
{
// ...
client_print( Player, print_chat, "You bought gravity!");
}
}
menu_destroy( Menu );
return PLUGIN_HANDLED;
}