AlliedModders

AlliedModders (https://forums.alliedmods.net/index.php)
-   Scripting Help (https://forums.alliedmods.net/forumdisplay.php?f=11)
-   -   Buy access (https://forums.alliedmods.net/showthread.php?t=99662)

Debesėlis 08-08-2009 07:59

Buy access
 
What's is wrong? don't show the menu...

PHP Code:

#include <amxmodx>
#include <fakemeta>

new PLUGIN [] = "Buy Access"
new VERSION [] = "1.0"
new AUTHOR [] = "empty"

#define OFFSET_MONEY 115
#define OFFSET_LINUX 5

#define VIP ADMIN_LEVEL_H
#define CHAT ADMIN_CHAT

new bool:g_Bought[33];

new 
g_VipCost;
new 
g_ChatCost;

public 
plugin_init()
{
    
register_pluginPLUGINVERSIONAUTHOR );

    
register_cvar("amx_buy_access""1");
    
register_cvar("amx_buy_vip""1");
    
register_cvar("amx_buy_chat""1");

        
g_VipCost register_cvar"amx_buy_vip_cost""6000" );
    
g_ChatCost register_cvar"amx_buy_chat_cost""5000" );

    
register_concmd("buymenu""show_chat_menu");

    
register_clcmd("say /buymenu""show_buy_menu");
    
register_clcmd("say buymenu""show_buy_menu");
    
register_clcmd("say_team /buymenu""show_buy_menu");
    
register_clcmd("say_team buymenu""show_buy_menu");

    
register_dictionary("buyaccess.txt");
}

public 
show_chat_menu(id)
{
    if ( 
get_cvar_num("amx_buy_access") == )
    {
        
client_print(idprint_chat"%L"LANG_PLAYER"MENU_DISSABLE");
        
client_cmd(id"spk misc/noaccess");
    }

    if ( 
get_cvar_num("amx_buy_access") == )
    {

    
client_cmd(id"spk misc/menu/open");
    new 
menu menu_create("\rShop Menu""menu");

    if ( 
get_cvar_num("amx_buy_vip") == )
    {
        
menu_additem(menu"Buy Vip Access \y- \r25000$""1"0);
    }
    else if ( 
get_cvar_num("amx_buy_vip") == )
    {
    }

    if ( 
get_cvar_num("amx_buy_chat") == )
    {
        
menu_additem(menu"Buy Chat Access \y \r15000$""2"0);
    }
    else if ( 
get_cvar_num("amx_buy_chat") == )
    {
    }

    
menu_setprop(menuMPROP_EXITMEXIT_ALL);
    
menu_setprop(menuMPROP_NUMBER_COLOR"\r");
    
menu_setprop(menuMPROP_BACKNAME"Back");
    
menu_setprop(menuMPROP_NEXTNAME"Next");
    
menu_setprop(menuMPROP_EXITNAME"Quit");
    
menu_setprop(menuMPROP_PERPAGE2);
    
menu_display(idmenu0);

    }
}

public 
menu(idmenuitem)
{
    if ( 
item == MENU_EXIT )
    {
    
client_cmd(id"spk misc/menu/item_choose");
    
client_cmd(id"spk misc/menu/close");
    
menu_destroy(menu);
    return 
PLUGIN_HANDLED;
    }
    
    new 
data[6], iName[64];
    new 
accesscallback;
    
menu_item_getinfo(menuitemaccessdata,5iName63callback);

    new 
key str_to_num(data);
    switch(
key)
    {
        case 
1:
        {
            if (
g_Bought[id])
                        return 
PLUGIN_HANDLED;

            new 
money fm_get_user_money(id);
            new 
costa get_pcvar_num(g_VipCost);
    
            if( 
money >= costa 
            {
                
set_user_flags(idget_user_flags(id) | VIP);
                
fm_set_user_money(idmoney costa );
                
client_print(idprint_chat"%L"id"BUY_VIP");
                 
g_Bought[id] = true
            

            else 
            {
                
client_print(idprint_chat"%L"id"NOMONEY");
            }
        }
        case 
2:
        {
            new 
money fm_get_user_money(id);
            new 
costa get_pcvar_num(g_ChatCost);
    
            if( 
money >= costa 
            {
                
set_user_flags(idget_user_flags(id) | CHAT);
                
fm_set_user_money(idmoney costa );
                
client_print(idprint_chat"%L"id"BUY_CHAT");
                
g_Bought[id] = true
            

            else 
            {
                
client_print(idprint_chat"%L"id"NOMONEY");
            }
        }
    }
    return 
PLUGIN_HANDLED;
}

fm_set_user_money(iPlrIdiMoneyiFlash=1)
{
    
set_pdata_int(iPlrIdOFFSET_MONEYiMoneyOFFSET_LINUX);

    static 
s_iMsgId_Money;
    if( !
s_iMsgId_Money )
    
s_iMsgId_Money get_user_msgid("Money");

    
message_begin(MSG_ONEs_iMsgId_Money, {0,0,0}, iPlrId)
    
write_long(iMoney);
    
write_byte(iFlash);
    
message_end();
}

stock fm_get_user_money(index)
{
    return 
get_pdata_int(indexOFFSET_MONEYOFFSET_LINUX);
}  

public 
plugin_precache()
{
    
precache_sound("misc/noaccess.wav");
    
precache_sound("misc/menu/open.wav");
    
precache_sound("misc/menu/item_choose.wav");
    
precache_sound("misc/items/function_active.wav");
    
precache_sound("misc/menu/close.wav");




All times are GMT -4. The time now is 18:19.

Powered by vBulletin®
Copyright ©2000 - 2024, vBulletin Solutions, Inc.