| 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_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"); }
|