Code:
#include <amxmodx>
#include <amxmisc>
#include <cstrike>
#define MENU_SIZE 256
#define MENU_PLAYERS 8
new money_Menu;
new money_amount[33] = 0;
new player_iMenuPosition;
new player_iMenuPlayers[32];
public plugin_init()
{
register_clcmd("say /givemoney", "Menu_money");
register_clcmd("say_team /givemoney", "Menu_money");
money_Menu = menu_create("Choose amount:", "Menu_Handle_money");
menu_additem(money_Menu, "500$", "1");
menu_additem(money_Menu, "1000$", "2");
menu_additem(money_Menu, "2000$", "3");
menu_additem(money_Menu, "3000$", "4");
menu_additem(money_Menu, "4000$", "5");
menu_additem(money_Menu, "5000$", "6");
register_menucmd( register_menuid("\rChoose player:"), 1023, "MenuAction" )
}
public Menu_money(id, level, cid)
{
menu_display(id, money_Menu, 0);
}
public Menu_Handle_money(id, Menu, Item)
{
new szCommand[3], Accesss, Callback
menu_item_getinfo(Menu, Item, Accesss, szCommand, 2, _, _, Callback);
switch(szCommand[0])
{
case '-':
{
}
case '1':
{
money_amount[id] = 500;
ShowPlayerMenu( id, player_iMenuPosition = 0 );
}
case '2':
{
money_amount[id] = 1000;
ShowPlayerMenu( id, player_iMenuPosition = 0 );
}
case '3':
{
money_amount[id] = 2000;
ShowPlayerMenu( id, player_iMenuPosition = 0 );
}
case '4':
{
money_amount[id] = 3000;
ShowPlayerMenu( id, player_iMenuPosition = 0 );
}
case '5':
{
money_amount[id] = 4000;
ShowPlayerMenu( id, player_iMenuPosition = 0 );
}
case '6':
{
money_amount[id] = 5000;
ShowPlayerMenu( id, player_iMenuPosition = 0 );
}
}
//return PLUGIN_CONTINUE
}
public ShowPlayerMenu( id, pos )
{
if( pos < 0 ) return
new i, j
new szMenuBody[MENU_SIZE]
new iCurrKey = 0
new szUserName[32]
new iStart = pos * MENU_PLAYERS
new iNum
get_players( player_iMenuPlayers, iNum )
if( iStart >= iNum )
iStart = pos = player_iMenuPosition = 0
new iLen = format( szMenuBody, MENU_SIZE-1, "\rChoose player:\R%d/%d^n\w^n", pos+1, (iNum / MENU_PLAYERS + ((iNum % MENU_PLAYERS) ? 1 : 0 )) )
new iEnd = iStart + MENU_PLAYERS
new iKeys = (1<<9|1<<7)
if( iEnd > iNum )
iEnd = iNum
for( i = iStart; i < iEnd; i++ )
{
j = player_iMenuPlayers[i]
get_user_name( j, szUserName, 31 )
if( (get_user_flags(j) & ADMIN_IMMUNITY) || !is_user_alive(j) )
{
iKeys |= (1<<iCurrKey++)
iLen += format( szMenuBody[iLen], (MENU_SIZE-1-iLen), "%d. %s^n", iCurrKey, szUserName )
}else
{
iKeys |= (1<<iCurrKey++)
iLen += format( szMenuBody[iLen], (MENU_SIZE-1-iLen), "%d. %s^n", iCurrKey, szUserName )
}
}
if( iEnd != iNum )
{
format( szMenuBody[iLen], (MENU_SIZE-1-iLen), "^n9. More...^n0. %s", pos ? "Back" : "Exit" )
iKeys |= (1<<8)
}
else
format( szMenuBody[iLen], (MENU_SIZE-1-iLen), "^n0. %s", pos ? "Back" : "Exit" )
show_menu( id, iKeys, szMenuBody, -1 )
return
}
public MenuAction( id, key )
{
switch( key )
{
case 8: ShowPlayerMenu( id, ++player_iMenuPosition ) // More Option
case 9: ShowPlayerMenu( id, --player_iMenuPosition ) // Back Option
// Chose a Player
default:
{
new iPlayerID = player_iMenuPlayers[player_iMenuPosition * MENU_PLAYERS + key]
cs_set_user_money(id, cs_get_user_money(id) - money_amount[id]);
cs_set_user_money(iPlayerID, cs_get_user_money(iPlayerID) + money_amount[id]);
money_amount[id] = 0;
}
}
return PLUGIN_HANDLED
}