Откуда ты взял 1337 строку? И это g_iCountUsed[id] >= MAX_USEДа можно. В строке 1337 после условие is_user_alive добавляешь нужное условие типа g_iCountUsed[id] >= MAX_USE
#include <amxmodx>
#include <amxmisc>
#include <cstrike>
#include <fun>
#include <biohazard>
#define PLUGIN_NAME "bio_shop"
#define PLUGIN_VERSION "2.0"
#define PLUGIN_AUTHOR "laucer"
#pragma tabsize 0
new keys = MENU_KEY_1|MENU_KEY_2|MENU_KEY_0
public plugin_init()
{
register_plugin ( PLUGIN_NAME, PLUGIN_VERSION, PLUGIN_AUTHOR )
register_clcmd("nightvision", "bioshop")
register_menu("Menu 1", keys, "BIOshop")
}
public bioshop(id)
{
static menu[512], iLen
new money = cs_get_user_money(id)
iLen = 0
if(is_user_alive(id) && !is_user_zombie(id))
{
iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\yМагазин^n")
iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\wУ тебя: \y%d$^n^n", money)
if(cs_get_user_money(id) < 8000)
iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\d1. HE граната - \d8000$^n")
else
iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\w1. HE граната - \y8000$^n")
keys |= MENU_KEY_1
if(cs_get_user_money(id) < 2500)
iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\d2. Flash граната - \d4000$^n")
else
iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\w2. Flash граната - \y4000$^n")
keys |= MENU_KEY_2
iLen += formatex(menu[iLen], charsmax(menu) - iLen, "^n\w0. Выход")
keys |= MENU_KEY_0
show_menu(id, keys, menu, -1, "Menu 1")
}
return PLUGIN_CONTINUE
}
public BIOshop(id, key)
{
switch(key)
{
case 0:
{
if(cs_get_user_money(id) < 8000)
{
client_print(id, print_center, "Недостаточно денег!")
return PLUGIN_HANDLED
}
if( cs_get_user_bpammo( id, CSW_HEGRENADE ) > 0 )
{
client_print( id, print_center, "У тебя это уже есть!" );
return PLUGIN_HANDLED
}
else
{
cs_set_user_money(id, cs_get_user_money(id) - 8000)
give_item( id, "weapon_hegrenade" );
}
{
client_print(id, print_chat, "")
return PLUGIN_HANDLED
}
}
case 1:
{
if(cs_get_user_money(id) < 4000)
{
client_print(id, print_center, "Недостаточно денег!")
return PLUGIN_HANDLED;
}
if( cs_get_user_bpammo( id, CSW_FLASHBANG ) > 0 )
{
if( cs_get_user_bpammo( id, CSW_FLASHBANG ) == 1 )
{
cs_set_user_money(id, cs_get_user_money(id) - 4000)
give_item( id, "weapon_flashbang" )
}
else
{
client_print( id, print_center, "У тебя это уже есть!" );
return PLUGIN_HANDLED
}
}
else
{
cs_set_user_money(id, cs_get_user_money(id) - 4000)
give_item( id, "weapon_flashbang" )
}
{
client_print(id, print_chat, "")
return PLUGIN_HANDLED;
}
}
Дожили, даже рофл приходится объяснять...Откуда ты взял 1337 строку? И это g_iCountUsed[id] >= MAX_USE
#include <amxmodx>
#include <amxmisc>
#include <cstrike>
#include <fun>
#include <biohazard>
#define PLUGIN_NAME "bio_shop"
#define PLUGIN_VERSION "2.0"
#define PLUGIN_AUTHOR "laucer"
#pragma tabsize 0
new keys = MENU_KEY_1|MENU_KEY_2|MENU_KEY_0
new it[2];
public plugin_init()
{
register_plugin ( PLUGIN_NAME, PLUGIN_VERSION, PLUGIN_AUTHOR )
register_clcmd("nightvision", "bioshop")
register_menu("Menu 1", keys, "BIOshop")
}
public bioshop(id)
{
if(!is_user_alive(id)||is_user_zombie(id))return 1;
static menu[512], iLen
new money = cs_get_user_money(id)
iLen = 0
iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\yМагазин^n")
iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\wУ тебя: \y%d$^n^n", money)
if(money < 8000||it[0]>=3)
iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\d1. HE граната - \d8000$^n");
else{
iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\w1. HE граната - \y8000$^n")
keys |= MENU_KEY_1
}
if(money < 4000||it[1]>=3)
iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\d2. Flash граната - \d4000$^n");
else{
iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\w2. Flash граната - \y4000$^n")
keys |= MENU_KEY_2;
}
iLen += formatex(menu[iLen], charsmax(menu) - iLen, "^n\w0. Выход");
keys |= MENU_KEY_0;
show_menu(id, keys, menu, -1, "Menu 1")
return PLUGIN_CONTINUE
}
public BIOshop(id, key)
{
switch(key)
{
case 0:
{
if(cs_get_user_money(id) < 8000||it[0]>=3)
{
client_print(id, print_center, "Недостаточно денег!")
return PLUGIN_HANDLED
}
if( cs_get_user_bpammo( id, CSW_HEGRENADE ) > 0 )
{
client_print( id, print_center, "У тебя это уже есть!" );
return PLUGIN_HANDLED
}
else
{
cs_set_user_money(id, cs_get_user_money(id) - 8000)
give_item( id, "weapon_hegrenade" );it[0]++;
}
{
client_print(id, print_chat, "")
return PLUGIN_HANDLED
}
}
case 1:
{
if(cs_get_user_money(id) < 4000||it[1]>=3)
{
client_print(id, print_center, "Недостаточно денег!")
return PLUGIN_HANDLED;
}
if( cs_get_user_bpammo( id, CSW_FLASHBANG ) > 0 )
{
if( cs_get_user_bpammo( id, CSW_FLASHBANG ) == 1 )
{
cs_set_user_money(id, cs_get_user_money(id) - 4000)
give_item( id, "weapon_flashbang" );it[1]++;
}
else
{
client_print( id, print_center, "У тебя это уже есть!" );
return PLUGIN_HANDLED
}
}
else
{
cs_set_user_money(id, cs_get_user_money(id) - 4000)
give_item( id, "weapon_flashbang" )
}
{
client_print(id, print_chat, "")
return PLUGIN_HANDLED;
}
}
}
return PLUGIN_HANDLED;
}
C++:#include <amxmodx> #include <amxmisc> #include <cstrike> #include <fun> #include <biohazard> #define PLUGIN_NAME "bio_shop" #define PLUGIN_VERSION "2.0" #define PLUGIN_AUTHOR "laucer" #pragma tabsize 0 new keys = MENU_KEY_1|MENU_KEY_2|MENU_KEY_0 new it[2]; public plugin_init() { register_plugin ( PLUGIN_NAME, PLUGIN_VERSION, PLUGIN_AUTHOR ) register_clcmd("nightvision", "bioshop") register_menu("Menu 1", keys, "BIOshop") } public bioshop(id) { if(!is_user_alive(id)||is_user_zombie(id))return 1; static menu[512], iLen new money = cs_get_user_money(id) iLen = 0 iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\yМагазин^n") iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\wУ тебя: \y%d$^n^n", money) if(money < 8000||it[0]>=3) iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\d1. HE граната - \d8000$^n"); else{ iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\w1. HE граната - \y8000$^n") keys |= MENU_KEY_1 } if(money < 4000||it[1]>=3) iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\d2. Flash граната - \d4000$^n"); else{ iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\w2. Flash граната - \y4000$^n") keys |= MENU_KEY_2; } iLen += formatex(menu[iLen], charsmax(menu) - iLen, "^n\w0. Выход"); keys |= MENU_KEY_0; show_menu(id, keys, menu, -1, "Menu 1") return PLUGIN_CONTINUE } public BIOshop(id, key) { switch(key) { case 0: { if(cs_get_user_money(id) < 8000||it[0]>=3) { client_print(id, print_center, "Недостаточно денег!") return PLUGIN_HANDLED } if( cs_get_user_bpammo( id, CSW_HEGRENADE ) > 0 ) { client_print( id, print_center, "У тебя это уже есть!" ); return PLUGIN_HANDLED } else { cs_set_user_money(id, cs_get_user_money(id) - 8000) give_item( id, "weapon_hegrenade" );it[0]++; } { client_print(id, print_chat, "") return PLUGIN_HANDLED } } case 1: { if(cs_get_user_money(id) < 4000||it[1]>=3) { client_print(id, print_center, "Недостаточно денег!") return PLUGIN_HANDLED; } if( cs_get_user_bpammo( id, CSW_FLASHBANG ) > 0 ) { if( cs_get_user_bpammo( id, CSW_FLASHBANG ) == 1 ) { cs_set_user_money(id, cs_get_user_money(id) - 4000) give_item( id, "weapon_flashbang" );it[1]++; } else { client_print( id, print_center, "У тебя это уже есть!" ); return PLUGIN_HANDLED } } else { cs_set_user_money(id, cs_get_user_money(id) - 4000) give_item( id, "weapon_flashbang" ) } { client_print(id, print_chat, "") return PLUGIN_HANDLED; } } } return PLUGIN_HANDLED; }
#include <amxmodx>
#include <amxmisc>
#include <cstrike>
#include <fun>
#include <biohazard>
#define PLUGIN "Biohazard: Shop"
#define VERSION "0.1"
#define AUTHOR "Armer"
#pragma semicolon 1
#define PRICE_HEGRENADE 500
#define PRICE_FLASHBANG 400
#define LIMIT_HEGRENADE 3
#define LIMIT_FLASHBANG 5
const KEYSMENU = MENU_KEY_1|MENU_KEY_2|MENU_KEY_0;
enum e_PlayerData
{
DATA_LIMIT_HEGRENADE,
DATA_LIMIT_FLASHBANG,
};
new g_PlayerData[33][e_PlayerData];
public plugin_init()
{
register_plugin(PLUGIN, VERSION, AUTHOR);
register_event("HLTV", "Event_RoundStart", "a", "1=0", "2=0");
register_menu("BuyMenu", KEYSMENU, "HandleBuyMenu");
register_clcmd("say /shop", "Command_OpenBuyMenu");
}
public Event_RoundStart()
{
// обнуляем лимит
new players[32], pnum; get_players(players, pnum, "h");
for(new i = 0, player; i < pnum; i++)
{
player = players[i];
arrayset(g_PlayerData[player], 0, e_PlayerData);
}
}
public Command_OpenBuyMenu(pIndex)
{
if(!is_user_alive(pIndex) || is_user_zombie(pIndex)) return;
new menu[300], len = 0;
len += formatex(menu[len], charsmax(menu) - len, "\y%s version: %s^n^n", PLUGIN, VERSION);
len += formatex(menu[len], charsmax(menu) - len, "\w1. Hegrenade\d[%d/%d] \y%d $^n", LIMIT_HEGRENADE, g_PlayerData[pIndex][DATA_LIMIT_HEGRENADE],PRICE_HEGRENADE);
len += formatex(menu[len], charsmax(menu) - len, "\w2. Flashbang\d[%d/%d] \y%d $^n", LIMIT_FLASHBANG, g_PlayerData[pIndex][DATA_LIMIT_FLASHBANG],PRICE_FLASHBANG);
len += formatex(menu[len], charsmax(menu) - len, "^n\w0. Exit");
show_menu(pIndex, KEYSMENU, menu, -1, "BuyMenu");
}
public HandleBuyMenu(id, item)
{
if(!is_user_alive(id) || is_user_zombie(id)) return PLUGIN_HANDLED;
const MENU_KEYS_1 = 0;
const MENU_KEYS_2 = 1;
const MENU_KEYS_0 = 9;
switch(item)
{
case MENU_KEYS_1:
{
// хватает ли денег
if(cs_get_user_money(id) < PRICE_HEGRENADE
// если уже имеется больше или равно
|| cs_get_user_bpammo(id, CSW_HEGRENADE) >= 1
// проверка лимита
|| g_PlayerData[id][DATA_LIMIT_HEGRENADE] >= LIMIT_HEGRENADE) return PLUGIN_HANDLED;
// даем осколочную
GiveNades(id, "weapon_hegrenade", 1);
//вычетаем стоимость
cs_set_user_money(id, cs_get_user_money(id) - PRICE_HEGRENADE);
// считаем лимит
g_PlayerData[id][DATA_LIMIT_HEGRENADE]++;
}
case MENU_KEYS_2:
{
// хватает ли денег
if(cs_get_user_money(id) < PRICE_FLASHBANG
// если уже имеется больше или равно
|| cs_get_user_bpammo(id, CSW_FLASHBANG) >= 2
// проверка лимита
|| g_PlayerData[id][DATA_LIMIT_HEGRENADE] >= LIMIT_FLASHBANG) return PLUGIN_HANDLED;
// даем ослепительную
GiveNades(id, "weapon_flashbang", 1);
// вычетаем стоимость
cs_set_user_money(id, cs_get_user_money(id) - PRICE_FLASHBANG);
// считаем лимит
g_PlayerData[id][DATA_LIMIT_FLASHBANG]++;
}
case MENU_KEYS_0: return PLUGIN_HANDLED;
}
return PLUGIN_HANDLED;
}
GiveNades(id, weapon_item[], ammo_amount)
{
new weaponid = get_weaponid(weapon_item);
if(user_has_weapon(id, weaponid))
{
UTIL_AmmoPickup(id, weaponid, ammo_amount);
cs_set_user_bpammo(id, weaponid, cs_get_user_bpammo(id, weaponid) + ammo_amount);
}
else
give_item(id, weapon_item);
}
stock UTIL_AmmoPickup(id, ammo_index, ammo_amount)
{
new const AmmoIndex[] = { -1, 9, -1, 2, 12, 5, 14, 6, 4, 13, 10, 7, 6,
4, 4, 4, 6, 10, 1, 10, 3, 5, 4, 10, 2, 11, 8, 4, 2, -1, 7 };
static msg_ammopickup; if(!msg_ammopickup) msg_ammopickup = get_user_msgid("AmmoPickup");
message_begin(MSG_ONE, msg_ammopickup, _, id);
write_byte(AmmoIndex[ammo_index]); // ammo id | type
write_byte(ammo_amount); // ammo amount
message_end();
}
it[2]; ===> it[33][2];