Как сделать проверку на 2 пункт меню , чтобы он не был доступен по окончанию g_delay(есть во втором кейсе). На 2 пункт уже стоит проверка на деньги но на время сделать не могу(
Я конечно тупо объяснил но вы то люди умные)
- Код: Выделить всё
#include <amxmodx>
#include <amxmisc>
#include <dhudmessage>
#include <nvault>
#include <fakemeta>
#include <hamsandwich>
#include <cstrike>
#include <sqlx>
#include <csx>
#include <fun>
#include <colorchat>
#include <fakemeta_util>
#pragma tabsize 0
new Float:g_delay[33]
enum _:eShopCost
{
Cost_1 = 16000,
Cost_2 = 1000
}
#define MAX_PLAYERS 32
new g_OneUse[MAX_PLAYERS+1];
new bool:speed[33]
#if cellbits == 32
#define OFFSET_CSMONEY 115
#else
#define OFFSET_CSMONEY 140
#endif
#define get_user_money(%0) get_pdata_int(%0, OFFSET_CSMONEY, 5) ;
#define PLUGIN "Menu"
#define VERSION "1.0"
#define AUTHOR "Mad_Energy"
new keys = MENU_KEY_1|MENU_KEY_2|MENU_KEY_3|MENU_KEY_4|MENU_KEY_5|MENU_KEY_6|MENU_KEY_7|MENU_KEY_8|MENU_KEY_9|MENU_KEY_0
public plugin_init()
{
register_menu("Menu 1", keys, "func_menu")
register_clcmd("shop", "Server_Menu")
register_concmd("say /shop", "Server_Menu")
register_clcmd("husmoney","husmoney")
register_event( "CurWeapon", "speed_weapon", "be", "1=1" ) //чтобы при смене оружия не менялась скорость
RegisterHam(Ham_Spawn, "player", "player_spawn", 1) //чтобы после смерти отключить скорость
}
public player_spawn(id)
{
speed[id] = false
}
public plugin_precache()
{
precache_sound ("pbh_shop/shop.wav")
precache_sound ("pbh_shop/wtf.wav")
}
public husmoney(id)
{
cs_set_user_money(id, cs_get_user_money(id) + 16000)
}
public Server_Menu(id)
{
client_cmd(id, "spk pbh_shop/shop.wav")
new name[32]
get_user_name(id, name, 31)
new money = cs_get_user_money(id)
static menu[1024], iLen
iLen = 0
iLen = formatex(menu[iLen], charsmax(menu) - iLen, "^n\d[~] \wNickName : \r%s^n\d[~] \wAmount : \r%d$^n^n",name , money)
if(!g_OneUse[id])
{
iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\y[•] [1] \wБешенство \y| \wCost: \r%i$ \y|^n",Cost_1)
keys |= MENU_KEY_1
}else{
iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\y[\r•\y] [1] \wБешенство \y| \wCost: \r%i$ \y|^n",Cost_1)
keys |= MENU_KEY_1
}
if(!(money < Cost_2))
{
iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\y[•] [2] \wТыква \y| \wCost: \r%i$ \y|^n",Cost_2)
keys |= MENU_KEY_2
}else{
iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\y[\r•\y] [2] \wТыква \y| \wCost: \r%i$ \y|^n",Cost_2)
keys |= MENU_KEY_2
}
iLen += formatex(menu[iLen], charsmax(menu) - iLen, "")
keys |= MENU_KEY_0
show_menu(id, keys, menu, -1, "Menu 1")
return PLUGIN_HANDLED
}
public speed_weapon(id)
{
if(speed[id])
set_user_maxspeed(id, 500.0)
}
public beshenstvo_on(id)
{
cs_set_user_money(id, cs_get_user_money(id) - Cost_1)
set_user_health(id, 500)
set_user_armor(id, 500)
set_user_maxspeed (id, 500.0)
speed[id] = true
set_user_gravity (id, 0.5)
client_cmd(0, "spk pbh_shop/wtf.wav")
set_task( 20.0, "beshenstvo_off",id)
}
public beshenstvo_off(id)
{
set_user_maxspeed (id, 240.0)
set_user_gravity (id, 1.0)
set_user_health(id, 100)
set_user_armor(id, 100)
speed[id] = false
ColorChat(id, RED, "^4[PBH SHOP] ^1Бешенство закончилось!")
}
public func_menu(id, key)
{
new name[32]
get_user_name(id, name, 31)
new money = get_user_money(id)
switch(key)
{
case 0:
{
if(!g_OneUse[id])
{
if(money < Cost_1)
{
ColorChat(0, RED, "^4[PBH SHOP] ^1Стоимость ^3%i$ ^1. У вас в наличии всего ^3%d$",Cost_1,money)
return PLUGIN_HANDLED;
}
beshenstvo_on(id)
ColorChat(0, RED, "^4[PBH SHOP] ^1Игрок ^3%s ^1озверел на ^3 20 ^1секунд! Осторожно!",name)
g_OneUse[id]=true
}
else
{
ColorChat(id, RED, "^4[PBH SHOP] ^1Бешенство доступно только один раз за карту!")
}
}
case 1:
{
static Float:gametime; gametime = get_gametime()
if(g_delay[id] <= gametime)
{
if(money < Cost_2)
{
ColorChat(0, RED, "^4[PBH SHOP] ^1Стоимость ^3%i$ ^1. У вас в наличии всего ^3%d$",Cost_2,money)
return PLUGIN_HANDLED;
}
client_cmd(id, "say /get_pumpkin")
ColorChat(1, RED, "^4[PBH SHOP] ^1Вы купили гранату ^3Pumpkin")
g_delay[id] = gametime + 90.0
}
else
ColorChat(1, RED, "^4[PBH SHOP] ^1Будет доступно через: ^3[ ^4%...1f секунд ^3]",gametime - g_delay[id])
}
}
return 0;
}