| Joker2020 |
08-27-2020 05:51 |
issuing a flag in the menu
Hi, I added another flag to the menu, but when I click 2, nothing comes out, namely the second flag
1) click menu define VIPFLAG ADMIN_RESERVATION
2) click menu VIPSFLAG ADMIN_LEVEL_B
Code:
#include <amxmodx>
#include <amxmisc>
#include <colorchat>
#include <cstrike>
#include <engine>
#include <hamsandwich>
#include <fun>
#define NAME "Coins Shop"
#define VERSION "0.1"
#define AUTHOR "Sokrat"
#define VIPFLAG ADMIN_RESERVATION //flags VIP (ADMIN_...)
#define VIPSFLAG ADMIN_LEVEL_B
new keys = MENU_KEY_1|MENU_KEY_2|MENU_KEY_0
new vip, vips
new take_vip[33], take_vips[33]
native get_user_coins(id)
native set_user_coins(id, iNum)
public plugin_init()
{
register_plugin(NAME, VERSION, AUTHOR)
register_menu("Menu 1", keys, "func_Coinshop")
register_clcmd("say /coins", "Coinshop")
register_cvar("shop_vip", "50") //"VIP"
register_cvar("shop_vips", "100") //"VIP Gold"
}
public client_putinserver(id) {
take_vip[id] = 0
take_vips[id] = 0
}
public client_disconnected(id) {
take_vip[id] = 0
take_vips[id] = 0
}
public Coinshop(id)
{
vip = get_cvar_num("shop_vip")
vip = get_cvar_num("shop_vips")
static menu[650], iLen
iLen = 0
iLen = formatex(menu[iLen], charsmax(menu) - iLen, "\d[\yŠ\d] System Of Coins | Shop^n\d[\yŠ\d] Your coin: \y%i шт\d.^n^n", get_user_coins(id))
if (get_user_coins(id) >= vip)
{
if (take_vip[id] == 0)
{
iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\r1 \d| \wVIP \d[\y%i\d]^n", vip)
keys |= MENU_KEY_1
}
else if (take_vip[id] == 1)
{
iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\r1 \d| \dVIP \d[\d%i\d] [You have already purchased VIP]^n", vip)
}
else if (get_user_flags(id) & VIPFLAG)
{
iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\r1 \d| \dVIP \d[\d%i\d] [You already have a VIP]^n", vip)
}
}
else
{
iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\r1 \d| \dVIP \d[\d%i\d]^n", vip)
keys |= MENU_KEY_1
}
if (get_user_coins(id) >= vips)
{
if (take_vips[id] == 0)
{
iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\r2 \d| \wVIP Gold \d[\y%i\d]^n", vips)
keys |= MENU_KEY_2
}
else if (take_vips[id] == 1)
{
iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\r2 \d| \dVIP Gold \d[\d%i\d] [You have already purchased VIP]^n", vips)
}
else if (get_user_flags(id) & VIPSFLAG)
{
iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\r2 \d| \dVIP Gold \d[\d%i\d] [You already have a VIP]^n", vips)
}
}
else
{
iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\r2 \d| \dVIP Gold \d[\d%i\d]^n", vips)
keys |= MENU_KEY_2
}
iLen += formatex(menu[iLen], charsmax(menu) - iLen, "^n\r0 \d| \wExit")
keys |= MENU_KEY_0
show_menu(id, keys, menu, -1, "Menu 1")
return PLUGIN_HANDLED
}
public func_Coinshop(id, key)
{
vip = get_cvar_num("shop_vip")
vip = get_cvar_num("shop_vips")
switch(key)
{
case 0: {
if(get_user_coins(id) < vip && get_user_flags(id) & VIPFLAG) return PLUGIN_HANDLED
else {
set_user_coins(id, get_user_coins(id) - vip)
take_vip[id] = 1
screen_fade(id)
set_user_flags(id, VIPFLAG)
ColorChat(id, GREEN, "^1[^4shop^1] ^1you bought ^3VIP. coins left: ^4%i шт^1.", get_user_coins(id))
}
}
case 1: {
if(get_user_coins(id) < vips && get_user_flags(id) & VIPSFLAG) return PLUGIN_HANDLED
else {
set_user_coins(id, get_user_coins(id) - vips)
take_vips[id] = 1
screen_fade(id)
set_user_flags(id, VIPSFLAG)
ColorChat(id, GREEN, "^1[^4shop^1] ^1you bought ^3VIP Gold. coins left: ^4%i шт^1.", get_user_coins(id))
}
}
}
return PLUGIN_HANDLED
}
/*==========================================Скрин-Фейд при покупке==========================================*/
public screen_fade(id) {
message_begin(MSG_ONE, get_user_msgid("ScreenFade"), {0,0,0}, id)
write_short(1<<10)
write_short(1<<10)
write_short(0x0000)
write_byte(139)
write_byte(0)
write_byte(255)
write_byte(50)
message_end()
}
|