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_plugin( PLUGIN, VERSION, AUTHOR );
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") == 0 )
{
client_print(id, print_chat, "%L", LANG_PLAYER, "MENU_DISSABLE");
client_cmd(id, "spk misc/noaccess");
}
if ( get_cvar_num("amx_buy_access") == 1 )
{
client_cmd(id, "spk misc/menu/open");
new menu = menu_create("\rShop Menu", "menu");
if ( get_cvar_num("amx_buy_vip") == 1 )
{
menu_additem(menu, "Buy Vip Access \y- \r25000$", "1", 0);
}
else if ( get_cvar_num("amx_buy_vip") == 0 )
{
}
if ( get_cvar_num("amx_buy_chat") == 1 )
{
menu_additem(menu, "Buy Chat Access \y \r15000$", "2", 0);
}
else if ( get_cvar_num("amx_buy_chat") == 0 )
{
}
menu_setprop(menu, MPROP_EXIT, MEXIT_ALL);
menu_setprop(menu, MPROP_NUMBER_COLOR, "\r");
menu_setprop(menu, MPROP_BACKNAME, "Back");
menu_setprop(menu, MPROP_NEXTNAME, "Next");
menu_setprop(menu, MPROP_EXITNAME, "Quit");
menu_setprop(menu, MPROP_PERPAGE, 2);
menu_display(id, menu, 0);
}
}
public menu(id, menu, item)
{
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 access, callback;
menu_item_getinfo(menu, item, access, data,5, iName, 63, callback);
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(id, get_user_flags(id) | VIP);
fm_set_user_money(id, money - costa );
client_print(id, print_chat, "%L", id, "BUY_VIP");
g_Bought[id] = true
}
else
{
client_print(id, print_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(id, get_user_flags(id) | CHAT);
fm_set_user_money(id, money - costa );
client_print(id, print_chat, "%L", id, "BUY_CHAT");
g_Bought[id] = true
}
else
{
client_print(id, print_chat, "%L", id, "NOMONEY");
}
}
}
return PLUGIN_HANDLED;
}
fm_set_user_money(iPlrId, iMoney, iFlash=1)
{
set_pdata_int(iPlrId, OFFSET_MONEY, iMoney, OFFSET_LINUX);
static s_iMsgId_Money;
if( !s_iMsgId_Money )
s_iMsgId_Money = get_user_msgid("Money");
message_begin(MSG_ONE, s_iMsgId_Money, {0,0,0}, iPlrId)
write_long(iMoney);
write_byte(iFlash);
message_end();
}
stock fm_get_user_money(index)
{
return get_pdata_int(index, OFFSET_MONEY, OFFSET_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");
}