Thread: Money transfer
View Single Post
SnoW
Veteran Member
Join Date: Oct 2008
Location: Finland WisdomNuggets: 8
Old 11-07-2008 , 09:02   Re: Money transfer
Reply With Quote #10

Couldn't test this:
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
}

Last edited by SnoW; 11-07-2008 at 14:58.
SnoW is offline
Send a message via MSN to SnoW