Уважаемые знатоки!
Подскажите пожалуйста как переделать плагин Веапон Меню.
Что бы в то время когда к примеру берут АК47 так же давался Дигл +Броня?
И как добавить запрет на определённые карты?
Буду очень признателен.
Код:
#include <amxmodx>
#include <cstrike>
#include <fun>
#define PLUGIN "Weapon Menu"
#define VERSION "0.1"
#define AUTHOR "Safety1st"
#define ACCESS_FLAG ADMIN_RESERVATION
// 9 items MAX!
new const ITEMS[][][] = {
{ "AK47", "weapon_ak47", "120" },
{ "M4A1", "weapon_m4a1", "120" },
{ "M4A1", "weapon_deagle", "120" },
{ "AWP", "weapon_awp", "120" },
{ "FAMAS", "weapon_famas", "120" }
}
new giMaxItems = 5 // Сколько пунктов в меню
new giAllowedRound = 3 // С какого раунда доступно
enum _:ItemsNames {
MENUENTRY = 0,
WPNNAME,
BPAMMO
}
new giCounter // round counter
new giIsUsed // whether menu was used or not
#define CheckIsUsed(%1) ( giIsUsed & ( 1 << (%1-1) ) )
#define SetIsUsed(%1) ( giIsUsed |= ( 1 << (%1-1) ) )
public plugin_init() {
register_plugin( PLUGIN, VERSION, AUTHOR )
register_clcmd( "weapon_menu", "MenuCommand" )
register_event( "HLTV", "Event_NewRound", "a", "1=0", "2=0" )
register_event( "TextMsg", "Event_NewGame", "a", "2=#Game_will_restart_in", "2=#Game_Commencing" )
register_menucmd( register_menuid( "WeaponMenu" ), MENU_KEY_1|MENU_KEY_2|MENU_KEY_3|MENU_KEY_4|MENU_KEY_5|MENU_KEY_6|MENU_KEY_7|MEN
U_KEY_8|MENU_KEY_9|MENU_KEY_0, "MenuHandler" )
}
public Event_NewRound() {
giIsUsed = 0
giCounter++
}
public Event_NewGame() {
giCounter = 0
}
public MenuCommand( id, level, cid ) {
if ( !( get_user_flags(id) & ACCESS_FLAG ) || !is_user_alive(id) )
return PLUGIN_HANDLED
new bool:bIsItemsDisabled = false
if ( CheckIsUsed(id) || giCounter < giAllowedRound )
bIsItemsDisabled = true
new szMenu[256], iKeys
formatex( szMenu, charsmax(szMenu), "\yWeapon Menu:^n^n" )
for ( new i; i < giMaxItems; i++ ) {
switch ( bIsItemsDisabled ) {
case false : {
format( szMenu, charsmax(szMenu), "%s\y%d. \w%s^n", szMenu, i + 1, ITEMS[i][MENUENTRY] )
iKeys |= ( 1 << i )
}
case true : {
format( szMenu, charsmax(szMenu), "%s\d%d. %s^n", szMenu, i + 1, ITEMS[i][MENUENTRY] )
}
}
}
format( szMenu, charsmax(szMenu), "%s^n\y%d. \wExit", szMenu, giMaxItems + 1 )
iKeys |= ( 1 << giMaxItems )
show_menu( id, iKeys, szMenu, .title = "WeaponMenu" )
return PLUGIN_HANDLED
}
public MenuHandler( id, key ) {
if ( key == giMaxItems || !is_user_alive(id) )
return PLUGIN_HANDLED
give_item( id, ITEMS[key][WPNNAME] )
cs_set_user_bpammo( id, get_weaponid( ITEMS[key][WPNNAME] ), str_to_num(ITEMS[key][BPAMMO]) )
SetIsUsed(id)
return PLUGIN_HANDLED
}