Правила форума Гаранты форума
Размещение рекламы AMX-X компилятор

Здравствуйте, гость Вход | Регистрация

Наши новости:

14-дек
24-апр
10-апр
11-апр

Поменял две строчки теперь вообще не компилируется

, Решил немного переделать сма файл. Начал , исправил2-3
Статус пользователя kirill12955
сообщение 14.2.2020, 1:56
Сообщение #1
Стаж: 6 лет 2 месяца

Сообщений: 1
Благодарностей: 1
Полезность: 0

Исправил две строчки, точнее скайп и все. Полетело
Cкрытый текст
//// vip_menu_admin_menu.sma
// C:\Users\╩шЁ \Desktop\182\vip_menu_admin_menu.sma(1) : error 010: invalid function or declaration
// C:\Users\╩шЁ \Desktop\182\include\cstrike.inc(13) : error 017: undefined symbol "AMXX_VERSION_NUM"
// C:\Users\╩шЁ \Desktop\182\include\fun.inc(13) : error 017: undefined symbol "AMXX_VERSION_NUM"
// C:\Users\╩шЁ \Desktop\182\include\fun.inc(45) : error 017: undefined symbol "kRenderFxNone"
// C:\Users\╩шЁ \Desktop\182\include\fun.inc(68) : error 070: rational number support was not enabled
// C:\Users\╩шЁ \Desktop\182\include\fun.inc(74) : error 070: rational number support was not enabled
// C:\Users\╩шЁ \Desktop\182\include\fakemeta.inc(15) : error 017: undefined symbol "AMXX_VERSION_NUM"
// C:\Users\╩шЁ \Desktop\182\include\fakemeta.inc(247) : error 070: rational number support was not enabled
// C:\Users\╩шЁ \Desktop\182\vip_menu_admin_menu.sma(57) : error 017: undefined symbol "register_plugin"
// C:\Users\╩шЁ \Desktop\182\vip_menu_admin_menu.sma(59) : error 017: undefined symbol "register_clcmd"
// C:\Users\╩шЁ \Desktop\182\vip_menu_admin_menu.sma(60) : error 017: undefined symbol "register_clcmd"
// C:\Users\╩шЁ \Desktop\182\vip_menu_admin_menu.sma(62) : error 017: undefined symbol "register_event"
// C:\Users\╩шЁ \Desktop\182\vip_menu_admin_menu.sma(69) : error 017: undefined symbol "is_user_connected"
// C:\Users\╩шЁ \Desktop\182\vip_menu_admin_menu.sma(88) : error 017: undefined symbol "menu_create"
// C:\Users\╩шЁ \Desktop\182\vip_menu_admin_menu.sma(90) : error 017: undefined symbol "get_user_flags"
// C:\Users\╩шЁ \Desktop\182\vip_menu_admin_menu.sma(91) : error 017: undefined symbol "menu_additem"
// C:\Users\╩шЁ \Desktop\182\vip_menu_admin_menu.sma(93) : error 017: undefined symbol "menu_additem"
// C:\Users\╩шЁ \Desktop\182\vip_menu_admin_menu.sma(95) : error 017: undefined symbol "get_user_flags"
// C:\Users\╩шЁ \Desktop\182\vip_menu_admin_menu.sma(96) : error 017: undefined symbol "menu_additem"
// C:\Users\╩шЁ \Desktop\182\vip_menu_admin_menu.sma(96 -- 97) : error 088: number of arguments does not match definition
// C:\Users\╩шЁ \Desktop\182\vip_menu_admin_menu.sma(98) : error 017: undefined symbol "menu_additem"
// C:\Users\╩шЁ \Desktop\182\vip_menu_admin_menu.sma(98 -- 100) : error 088: number of arguments does not match definition
// C:\Users\╩шЁ \Desktop\182\vip_menu_admin_menu.sma(100) : error 017: undefined symbol "get_user_flags"
// C:\Users\╩шЁ \Desktop\182\vip_menu_admin_menu.sma(100) : fatal error 107: too many error messages on one line
//
// Compilation aborted.
// 24 Errors.
// Could not locate output file C:\Users\╩шЁ \Desktop\182\compiled\vip_menu_admin_menu.amx (compile failed).




А вот сам исходник


Код:
#include < amxmodx >
#include < cstrike >
#include < zombieplague >
#include < fun >
#include < fakemeta >

//ADMIN_LEVEL_A - VIP / LVL_B - ADM // RESERVATION- PLAGUE

native give_weapon_crossbow(id)
native give_weapon_zgun_zb3(id)
native give_weapon_ethereal(id)
native give_jet_pack(id)

native give_weapon_ak47gold(id)
native give_weapon_dbarrel_cso(id)
native give_weapon_deagleg(id)
native give_weapon_ksg12(id)
native give_weapon_m4a1gold(id)
native give_weapon_m60e4(id)
native give_weapon_sl8g(id)

native zp_force_open_admenu(id)

new const PLUGIN_INFO[ ] =
{
"[Server Addon] Admin Menu" ,
"0.1" ,
"heka"
}

enum _: pOptionVIP
{
EURO,
ARMOR,
HP
}

new g_menuVipBlock[ 33 ] [ pOptionVIP ]

enum _: pOptionADM
{
EURO,
ARMOR,
HP
}

new g_menuAdmBlock[ 33 ] [ pOptionADM ]

new g_menuBlockWeapon[ 33 ]
new g_menuBlockWeapon2[ 33 ]

new g_menuVipBlockNemesis
new g_menuVipBlockSurvivor

public plugin_init( )
{
register_plugin( PLUGIN_INFO[ 0 ] , PLUGIN_INFO[ 1 ] , PLUGIN_INFO [ 2 ] )

register_clcmd("/admin_menu", "ClCmd_AdminMenu" )
register_clcmd("/vip_menu" , "ClCmd_VipMenu" )

register_event( "HLTV" , "event_round_start" , "a" , "1=0" , "2=0" )
}

public event_round_start( pPlayer )
{
for(new i = 0; i < 33; i++)
{
if(is_user_connected(i))
{
if(g_menuVipBlock[i][ARMOR] >= 1) g_menuVipBlock[i][ARMOR] = 0
if(g_menuVipBlock[i][HP] >= 1) g_menuVipBlock[i][HP] = 0

if(g_menuAdmBlock[i][ARMOR] >= 1) g_menuAdmBlock[i][ARMOR] = 0
if(g_menuAdmBlock[i][HP] >= 1) g_menuAdmBlock[i][HP] = 0

if(g_menuBlockWeapon[i] >= 1) g_menuBlockWeapon[i] = 0
if(g_menuBlockWeapon2[i] >= 1) g_menuBlockWeapon2[i] = 0
}
}
}

public ClCmd_AdminMenu( pPlayer )
{
if(zp_get_user_survivor(pPlayer) || zp_get_user_nemesis(pPlayer))
return;

new g_AdminMenu = menu_create( "\yМеню \rADMIN" , "ClCmd_AdminMenu_Handler" )

if( get_user_flags( pPlayer ) & ADMIN_LEVEL_B && !zp_get_user_zombie(pPlayer) && is_user_alive(pPlayer))
menu_additem( g_AdminMenu , "\wБесплатное оружие" , "1" )
else
menu_additem( g_AdminMenu , "\dБесплатное оружие" , "1" )

if( get_user_flags( pPlayer ) & ADMIN_LEVEL_B && g_menuAdmBlock[ pPlayer ] [ EURO ] < 1 )
menu_additem( g_AdminMenu , "\wВзять \yЕвро \r(+500)" , "2" , ADMIN_LEVEL_B )
else
menu_additem( g_AdminMenu , "\dВзять Евро (+500)" , "2" , ADMIN_LEVEL_B )

if( get_user_flags( pPlayer ) & ADMIN_LEVEL_B && g_menuAdmBlock[ pPlayer ] [ ARMOR ] < 2 && !zp_get_user_zombie(pPlayer) && is_user_alive(pPlayer))
menu_additem( g_AdminMenu , "\wВзять \yБроню \r(+500 ap)" , "3" , ADMIN_LEVEL_B )
else
menu_additem( g_AdminMenu , "\dВзять Броню \r(+500 ap)" , "3" , ADMIN_LEVEL_B )

if( get_user_flags( pPlayer ) & ADMIN_LEVEL_B && g_menuAdmBlock[ pPlayer ] [ HP ] < 1 && is_user_alive(pPlayer))
menu_additem( g_AdminMenu , "\wВзять \yЖизни \r(+500 hp)" , "4" , ADMIN_LEVEL_B )
else
menu_additem( g_AdminMenu , "\dВзять Жизни \r(+500 hp)" , "4" , ADMIN_LEVEL_B )

if( get_user_flags( pPlayer ) & ADMIN_RESERVATION )
menu_additem( g_AdminMenu , "\wУправление Зомби Модом" , "5" , ADMIN_RESERVATION )
else
menu_additem( g_AdminMenu , "\dУправление Зомби Модом" , "5" , ADMIN_RESERVATION )

if( get_user_flags( pPlayer ) & ADMIN_LEVEL_B )
menu_additem( g_AdminMenu , "\wУправление \r(Amxmodmenu)" , "6" , ADMIN_LEVEL_B )
else
menu_additem( g_AdminMenu , "\dУправление (Amxmodmenu)^n^n\yВы не \rADMIN\y игрок!!^n\wДля покупки пишите в вк https://vk.com/id93324825" , "6" , ADMIN_LEVEL_B )

menu_setprop( g_AdminMenu , MPROP_EXITNAME , "Выход" )
menu_setprop( g_AdminMenu , MPROP_EXIT , MEXIT_ALL )
menu_display( pPlayer , g_AdminMenu , 0 )
}

public ClCmd_AdminMenu_Handler( pPlayer , pMenu, pItem )
{
if ( pItem == MENU_EXIT )
{
menu_destroy( pMenu )
return PLUGIN_HANDLED;
}

new pData[ 6 ], pName[ 64 ], pAccess, pCallback

menu_item_getinfo( pMenu , pItem , pAccess , pData , charsmax( pData ) , pName , charsmax( pName ) , pCallback )

new pKey = str_to_num( pData )

switch( pKey )
{
case 1:
{
if(zp_get_user_zombie(pPlayer) || !is_user_alive(pPlayer))
{
ClCmd_AdminMenu( pPlayer )
return PLUGIN_HANDLED;
}

weapon_menu_admin( pPlayer )
menu_destroy( pMenu )
return PLUGIN_HANDLED
}
case 2:
{
if(g_menuAdmBlock[ pPlayer ] [ EURO ] >= 1)
{
PrintChatColor( pPlayer , "!g[ZP] !yНа этой карте ты уже не можешь брать !gЕвро!y!" )
ClCmd_AdminMenu( pPlayer )
return PLUGIN_HANDLED;
}

zp_set_user_ammo_packs( pPlayer , zp_get_user_ammo_packs( pPlayer ) + 500 )
PrintChatColor( pPlayer , "!g[ZP] !yТы взял !g[Евро]!y!" )
g_menuAdmBlock[ pPlayer ] [ EURO ]++
ClCmd_AdminMenu( pPlayer )
}
case 3:
{
if(zp_get_user_zombie(pPlayer) || !is_user_alive(pPlayer))
{
ClCmd_AdminMenu( pPlayer )
return PLUGIN_HANDLED;
}

if(get_user_armor(pPlayer) >= 500)
{
PrintChatColor( pPlayer , "!g[ZP] !yУ вас максимально !gБрони!y!" )
set_user_armor(pPlayer, 500)
ClCmd_AdminMenu( pPlayer )
return PLUGIN_HANDLED;
}

if(g_menuAdmBlock[ pPlayer ] [ ARMOR ] >= 2)
{
PrintChatColor( pPlayer , "!g[ZP] !yВ этом раунде ты уже не можешь брать !gБроню!y!" )
ClCmd_AdminMenu( pPlayer )
return PLUGIN_HANDLED;
}

set_pev(pPlayer, pev_armorvalue, float(min(pev(pPlayer, pev_armorvalue)+500, 500)))
PrintChatColor( pPlayer , "!g[ZP] !yТы взял !g[Броню]!y!" )
g_menuAdmBlock[ pPlayer ] [ ARMOR ]++
ClCmd_AdminMenu( pPlayer )
}
case 4:
{
if(!is_user_alive(pPlayer))
{
ClCmd_AdminMenu( pPlayer )
return PLUGIN_HANDLED;
}

if(g_menuAdmBlock[ pPlayer ] [ HP ] >= 1)
{
PrintChatColor( pPlayer , "!g[ZP] !yВ этом раунде ты уже не можешь брать !gЖизни!y!" )
ClCmd_AdminMenu( pPlayer )
return PLUGIN_HANDLED;
}

set_user_health( pPlayer , get_user_health( pPlayer ) + 500 )
PrintChatColor( pPlayer , "!g[ZP] !yТы взял !g[Жизни]!y!" )
g_menuAdmBlock[ pPlayer ] [ HP ]++
ClCmd_AdminMenu( pPlayer )
}
case 5:
{
zp_force_open_admenu( pPlayer )
menu_destroy( pMenu )
return PLUGIN_HANDLED
}
case 6:
{
client_cmd( pPlayer , "amxmodmenu" )
menu_destroy( pMenu )
return PLUGIN_HANDLED
}
}


menu_destroy( pMenu )
return PLUGIN_HANDLED
}

public weapon_menu_admin( pPlayer )
{
new g_VipMenu = menu_create( "\yБесплатное \rоружие" , "weapon_menu_admin_Handler" )

if( get_user_flags( pPlayer ) & ADMIN_LEVEL_B && g_menuBlockWeapon[ pPlayer ] < 1 )
menu_additem( g_VipMenu , "\wАрбалет" , "1" , ADMIN_LEVEL_B )
else
menu_additem( g_VipMenu , "\dАрбалет" , "1" , ADMIN_LEVEL_B )

if( get_user_flags( pPlayer ) & ADMIN_LEVEL_B && g_menuBlockWeapon[ pPlayer ] < 1 )
menu_additem( g_VipMenu , "\wДжет-Пак Базука" , "2" , ADMIN_LEVEL_B )
else
menu_additem( g_VipMenu , "\dДжет-Пак Базука" , "2" , ADMIN_LEVEL_B )

if( get_user_flags( pPlayer ) & ADMIN_LEVEL_B && g_menuBlockWeapon[ pPlayer ] < 1 )
menu_additem( g_VipMenu , "\wПлазма" , "3" , ADMIN_LEVEL_B )
else
menu_additem( g_VipMenu , "\dПлазма" , "3" , ADMIN_LEVEL_B )

if( get_user_flags( pPlayer ) & ADMIN_LEVEL_B && g_menuBlockWeapon[ pPlayer ] < 1 )
menu_additem( g_VipMenu , "\wГрязная Снайперка" , "4" , ADMIN_LEVEL_B )
else
menu_additem( g_VipMenu , "\dГрязная Снайперка" , "4" , ADMIN_LEVEL_B )

//if( ! ( get_user_flags( pPlayer ) & ADMIN_LEVEL_B ) )
//menu_additem( g_VipMenu , "\dBalrog-7^n^n\yВы не \rADMIN\y игрок!!^n\wДля покупки пишите в \rВконтакте: \yhttps://vk.com/id93324825" , "5" , ADMIN_LEVEL_B )
//else if( g_menuBlockWeapon[ pPlayer ] >= 1 )
//menu_additem( g_VipMenu , "\dБалрог-7" , "5" , ADMIN_LEVEL_A )
//else
//menu_additem( g_VipMenu , "\wБалрог-7" , "5" , ADMIN_LEVEL_A )

if( ! ( get_user_flags( pPlayer ) & ADMIN_LEVEL_B ) )
menu_setprop( g_VipMenu , MPROP_EXITNAME , "Выход^n^n\yВы не \rADMIN\y игрок!!^n\wДля покупки пишите в вк \rhttps://vk.com/id93324825" )
else
menu_setprop( g_VipMenu , MPROP_EXITNAME , "Выход" )

menu_setprop( g_VipMenu , MPROP_EXIT , MEXIT_ALL )

menu_display( pPlayer , g_VipMenu , 0 )
}

public weapon_menu_admin_Handler( pPlayer , pMenu, pItem )
{
if ( pItem == MENU_EXIT || ~get_user_flags( pPlayer ) & ADMIN_LEVEL_B)
{
menu_destroy( pMenu )
return PLUGIN_HANDLED;
}

new pData[ 6 ], pName[ 64 ], pAccess, pCallback

menu_item_getinfo( pMenu , pItem , pAccess , pData , charsmax( pData ) , pName , charsmax( pName ) , pCallback )

new pKey = str_to_num( pData )

switch( pKey )
{
case 1:
{
if(!is_user_alive(pPlayer))
return PLUGIN_HANDLED;

if(g_menuBlockWeapon[ pPlayer ] >= 1)
{
PrintChatColor( pPlayer , "!g[ZP] !yВы уже брали оружие в этом раунде!" )
weapon_menu_admin( pPlayer )
return PLUGIN_HANDLED
}

give_weapon_crossbow(pPlayer)
PrintChatColor( pPlayer , "!g[ZP] !yТы взял !g[CrossBow]!y!" )
g_menuBlockWeapon[ pPlayer ]++
menu_destroy( pMenu )
return PLUGIN_HANDLED
}
case 2:
{
if(!is_user_alive(pPlayer))
return PLUGIN_HANDLED;

if(g_menuBlockWeapon[ pPlayer ] >= 1)
{
PrintChatColor( pPlayer , "!g[ZP] !yВы уже брали !gДжет-Пак !yв этом раунде!" )
weapon_menu_admin( pPlayer )
return PLUGIN_HANDLED
}

give_jet_pack(pPlayer)
PrintChatColor( pPlayer , "!g[ZP] !yТы взял !g[Джет-Пак]!y!" )
g_menuBlockWeapon[ pPlayer ]++
menu_destroy( pMenu )
return PLUGIN_HANDLED
}
case 3:
{
if(!is_user_alive(pPlayer))
return PLUGIN_HANDLED;

if(g_menuBlockWeapon[ pPlayer ] >= 1)
{
PrintChatColor( pPlayer , "!g[ZP] !yВы уже брали оружие в этом раунде!" )
weapon_menu_admin( pPlayer )
return PLUGIN_HANDLED
}

PrintChatColor( pPlayer , "!g[ZP] !yТы взял !g[Ethereal]!y!" )
give_weapon_ethereal(pPlayer)
g_menuBlockWeapon[ pPlayer ]++
menu_destroy( pMenu )
return PLUGIN_HANDLED
}
case 4:
{
if(!is_user_alive(pPlayer))
return PLUGIN_HANDLED;

if(g_menuBlockWeapon[ pPlayer ] >= 1)
{
PrintChatColor( pPlayer , "!g[ZP] !yВы уже брали оружие в этом раунде!" )
weapon_menu_admin( pPlayer )
return PLUGIN_HANDLED
}

PrintChatColor( pPlayer , "!g[ZP] !yТы взял !g[Гразную Снайперку]!y!" )
give_weapon_zgun_zb3(pPlayer)
g_menuBlockWeapon[ pPlayer ]++
menu_destroy( pMenu )
return PLUGIN_HANDLED
}
/*case 5:
{
if(!is_user_alive(pPlayer))
return PLUGIN_HANDLED;

if(g_menuBlockWeapon[ pPlayer ] >= 1)
{
PrintChatColor( pPlayer , "!g[ZP] !yВы уже брали оружие в этом раунде!" )
weapon_menu_admin( pPlayer )
return PLUGIN_HANDLED
}

PrintChatColor( pPlayer , "!g[ZP] !yТы взял !g[Balrog 7]!y!" )
give_weapon_balrog7(pPlayer)
g_menuBlockWeapon[ pPlayer ]++
menu_destroy( pMenu )
return PLUGIN_HANDLED
}*/
}

menu_destroy( pMenu )
return PLUGIN_HANDLED
}

public ClCmd_VipMenu( pPlayer )
{
if(zp_get_user_survivor(pPlayer) || zp_get_user_nemesis(pPlayer))
return;

new g_AdminMenu = menu_create( "\yМеню \rV.I.P" , "ClCmd_VipMenu_Handler" )

if( get_user_flags( pPlayer ) & ADMIN_LEVEL_A && !zp_get_user_zombie(pPlayer) && is_user_alive(pPlayer))
menu_additem( g_AdminMenu , "\yЗолотое оружие" , "1" )
else
menu_additem( g_AdminMenu , "\dЗолотое оружие" , "1" )

if( get_user_flags( pPlayer ) & ADMIN_LEVEL_A && g_menuVipBlock[ pPlayer ] [ EURO ] < 1 )
menu_additem( g_AdminMenu , "\wВзять \yЕвро \r(+500)" , "2" , ADMIN_LEVEL_A )
else
menu_additem( g_AdminMenu , "\dВзять Евро (+500)" , "2" , ADMIN_LEVEL_A )

if( get_user_flags( pPlayer ) & ADMIN_LEVEL_A && g_menuVipBlock[ pPlayer ] [ ARMOR ] < 2 && !zp_get_user_zombie(pPlayer) && is_user_alive(pPlayer))
menu_additem( g_AdminMenu , "\wВзять \yБроню \r(+500 ap)" , "3" , ADMIN_LEVEL_A )
else
menu_additem( g_AdminMenu , "\dВзять Броню (+500 ap)" , "3" , ADMIN_LEVEL_A )

if( get_user_flags( pPlayer ) & ADMIN_LEVEL_A && g_menuVipBlock[ pPlayer ] [ HP ] < 1 && is_user_alive(pPlayer))
menu_additem( g_AdminMenu , "\wВзять \yЖизни \r(+500 hp)" , "4" , ADMIN_LEVEL_A )
else
menu_additem( g_AdminMenu , "\dВзять Жизни (+500 hp)" , "4" , ADMIN_LEVEL_A )

if( get_user_flags( pPlayer ) & ADMIN_LEVEL_A && g_menuVipBlockNemesis < 1 && is_user_alive(pPlayer) && !zp_has_round_started())
menu_additem( g_AdminMenu , "\wВзять \rНемезиду" , "5" , ADMIN_LEVEL_A )
else
menu_additem( g_AdminMenu , "\dВзять Немезиду" , "5" , ADMIN_LEVEL_A )

if( ! ( get_user_flags(pPlayer) & ADMIN_LEVEL_A ) )
menu_additem( g_AdminMenu , "\dВзять Выжившего^n^n\yВы не \rVIP\y игрок!^n\wДля покупки пишите в \rSkype: \yhttps://vk.com/id93324825" , "6" , ADMIN_LEVEL_A )
else if(!is_user_alive(pPlayer))
menu_additem( g_AdminMenu , "\dВзять Выжившего" , "6" , ADMIN_LEVEL_A )
else if(zp_has_round_started())
menu_additem( g_AdminMenu , "\dВзять Выжившего" , "6" , ADMIN_LEVEL_A )
else if( g_menuVipBlockSurvivor >= 1)
menu_additem( g_AdminMenu , "\dВзять Выжившего" , "6" , ADMIN_LEVEL_A )
else if( zp_get_user_zombie(pPlayer) )
menu_additem( g_AdminMenu , "\dВзять Выжившего" , "6" , ADMIN_LEVEL_A )
else
menu_additem( g_AdminMenu , "\wВзять \yВыжившего" , "6" , ADMIN_LEVEL_A )

menu_setprop( g_AdminMenu , MPROP_EXITNAME , "Выход" )

menu_setprop( g_AdminMenu , MPROP_EXIT , MEXIT_ALL )

menu_display( pPlayer , g_AdminMenu , 0 )
}

public ClCmd_VipMenu_Handler( pPlayer , pMenu, pItem )
{
if ( pItem == MENU_EXIT || ~get_user_flags( pPlayer ) & ADMIN_LEVEL_A)
{
menu_destroy( pMenu )
return PLUGIN_HANDLED;
}

new pData[ 6 ], pName[ 64 ], pAccess, pCallback

menu_item_getinfo( pMenu , pItem , pAccess , pData , charsmax( pData ) , pName , charsmax( pName ) , pCallback )

new pKey = str_to_num( pData )

switch( pKey )
{
case 1:
{
if(zp_get_user_zombie(pPlayer) || !is_user_alive(pPlayer))
{
ClCmd_VipMenu( pPlayer )
return PLUGIN_HANDLED;
}
weapon_menu_vip( pPlayer )
menu_destroy( pMenu )
return PLUGIN_HANDLED
}
case 2:
{
if(g_menuVipBlock[ pPlayer ] [ EURO ] >= 1)
{
PrintChatColor( pPlayer , "!g[ZP] !yНа этой карте ты уже не можешь брать !gЕвро!y!" )
ClCmd_VipMenu( pPlayer )
return PLUGIN_HANDLED;
}
zp_set_user_ammo_packs( pPlayer , zp_get_user_ammo_packs( pPlayer ) + 500 )
PrintChatColor( pPlayer , "!g[ZP] !yТы взял !g[Евро]!y!" )
g_menuVipBlock[ pPlayer ] [ EURO ]++
ClCmd_VipMenu( pPlayer )
}
case 3:
{
if(zp_get_user_zombie(pPlayer) || !is_user_alive(pPlayer))
{
ClCmd_VipMenu( pPlayer )
return PLUGIN_HANDLED;
}

if(get_user_armor(pPlayer) >= 500)
{
PrintChatColor( pPlayer , "!g[ZP] !yУ вас максимально !gБрони!y!" )
set_user_armor(pPlayer, 500)
ClCmd_VipMenu( pPlayer )
return PLUGIN_HANDLED;
}

if(g_menuVipBlock[ pPlayer ] [ ARMOR ] >= 2)
{
PrintChatColor( pPlayer , "!g[ZP] !yВ этом раунде ты уже не можешь брать !gБроню!y!" )
ClCmd_VipMenu( pPlayer )
return PLUGIN_HANDLED;
}

set_pev(pPlayer, pev_armorvalue, float(min(pev(pPlayer, pev_armorvalue)+500, 500)))
PrintChatColor( pPlayer , "!g[ZP] !yТы взял !g[Броню]!y!" )
g_menuVipBlock[ pPlayer ] [ ARMOR ]++
ClCmd_VipMenu( pPlayer )
}
case 4:
{
if(!is_user_alive(pPlayer))
{
ClCmd_VipMenu( pPlayer )
return PLUGIN_HANDLED;
}
if(g_menuVipBlock[ pPlayer ] [ HP ] >=1)
{
PrintChatColor( pPlayer , "!g[ZP] !yВ этом раунде ты уже не можешь брать !gЖизни!y!" )
ClCmd_VipMenu( pPlayer )
return PLUGIN_HANDLED;
}

set_user_health( pPlayer , get_user_health( pPlayer ) + 500 )
PrintChatColor( pPlayer , "!g[ZP] !yТы взял !g[Жизни]!y!" )
g_menuVipBlock[ pPlayer ] [ HP ]++
ClCmd_VipMenu( pPlayer )
}
case 5:
{
if(!is_user_alive(pPlayer))
{
ClCmd_VipMenu( pPlayer )
return PLUGIN_HANDLED;
}

if(zp_has_round_started())
{
PrintChatColor( pPlayer , "!g[ZP] !yТолько перед стартом раунда!" )
ClCmd_VipMenu( pPlayer )
return PLUGIN_HANDLED;
}

if(g_menuVipBlockNemesis > 1)
{
PrintChatColor( pPlayer , "!g[ZP] !yНа этой карте уже кто-то брал !g[Немезиса]" )
ClCmd_VipMenu( pPlayer )
return PLUGIN_HANDLED;
}

zp_make_user_nemesis( pPlayer )
PrintChatColor( pPlayer , "!g[ZP] !yТы взял !g[Немезиду]!y!" )
g_menuVipBlockNemesis = 10
menu_destroy( pMenu )
return PLUGIN_HANDLED
}
case 6:
{
if(zp_get_user_zombie(pPlayer) || !is_user_alive(pPlayer))
{
ClCmd_VipMenu( pPlayer )
return PLUGIN_HANDLED;
}

if(zp_has_round_started())
{
PrintChatColor( pPlayer , "!g[ZP] !yТолько перед стартом раунда!" )
ClCmd_VipMenu( pPlayer )
return PLUGIN_HANDLED;
}

if(g_menuVipBlockSurvivor > 1)
{
PrintChatColor( pPlayer , "!g[ZP] !yНа этой карте уже кто-то брал !g[Выжившего]" )
ClCmd_VipMenu( pPlayer )
return PLUGIN_HANDLED;
}

zp_make_user_survivor( pPlayer )
PrintChatColor( pPlayer , "!g[ZP] !yТы взял !g[Выжившего]!y!" )
g_menuVipBlockSurvivor = 10
menu_destroy( pMenu )
return PLUGIN_HANDLED
}
}

menu_destroy( pMenu )
return PLUGIN_HANDLED
}

public weapon_menu_vip( pPlayer )
{
new g_AdminMenu = menu_create( "\yЗолотое оружие" , "weapon_menu_vip_Handler" )

if( get_user_flags( pPlayer ) & ADMIN_LEVEL_A && g_menuBlockWeapon2[ pPlayer ] < 1 )
menu_additem( g_AdminMenu , "\yЗолотой \rDeagle" , "1" , ADMIN_LEVEL_A )
else
menu_additem( g_AdminMenu , "\dЗолотой Deagle" , "1" , ADMIN_LEVEL_A )

if( get_user_flags( pPlayer ) & ADMIN_LEVEL_A && g_menuBlockWeapon2[ pPlayer ] < 1 )
menu_additem( g_AdminMenu , "\yЗолотой \rKSG-12" , "2" , ADMIN_LEVEL_A )
else
menu_additem( g_AdminMenu , "\dЗолотой KSG-12" , "2" , ADMIN_LEVEL_A )

if( get_user_flags( pPlayer ) & ADMIN_LEVEL_A && g_menuBlockWeapon2[ pPlayer ] < 1 )
menu_additem( g_AdminMenu , "\yЗолотой \rAK-47" , "3" , ADMIN_LEVEL_A )
else
menu_additem( g_AdminMenu , "\dЗолотой AK-47" , "3" , ADMIN_LEVEL_A )

if( get_user_flags( pPlayer ) & ADMIN_LEVEL_A && g_menuBlockWeapon2[ pPlayer ] < 1 )
menu_additem( g_AdminMenu , "\yЗолотой \rM4A1" , "4" , ADMIN_LEVEL_A )
else
menu_additem( g_AdminMenu , "\dЗолотой M4A1" , "4" , ADMIN_LEVEL_A )

if( get_user_flags( pPlayer ) & ADMIN_LEVEL_A && g_menuBlockWeapon2[ pPlayer ] < 1 )
menu_additem( g_AdminMenu , "\yЗолотой \rDual Barrel" , "5" , ADMIN_LEVEL_A )
else
menu_additem( g_AdminMenu , "\dЗолотой Dual Barrel" , "5" , ADMIN_LEVEL_A )

if( get_user_flags( pPlayer ) & ADMIN_LEVEL_A && g_menuBlockWeapon2[ pPlayer ] < 1 )
menu_additem( g_AdminMenu , "\yЗолотой \rSL-8" , "6" , ADMIN_LEVEL_A )
else
menu_additem( g_AdminMenu , "\dЗолотой SL-8" , "6" , ADMIN_LEVEL_A )

if( ! ( get_user_flags( pPlayer ) & ADMIN_LEVEL_A ) )
menu_additem( g_AdminMenu , "\dGolden M-60^n^n\yВы не \rVIP\y игрок!^n\wДля покупки пишите в vk.com/id93324825" , "7" , ADMIN_LEVEL_A )
else if( g_menuBlockWeapon2[ pPlayer ] >= 1 )
menu_additem( g_AdminMenu , "\dЗолотой M-60" , "7" , ADMIN_LEVEL_A )
else
menu_additem( g_AdminMenu , "\yЗолотой \rM-60" , "7" , ADMIN_LEVEL_A )

menu_setprop( g_AdminMenu , MPROP_EXITNAME , "Выход" )

menu_setprop( g_AdminMenu , MPROP_EXIT , MEXIT_ALL )

menu_display( pPlayer , g_AdminMenu , 0 )
}

public weapon_menu_vip_Handler( pPlayer , pMenu, pItem )
{
if ( pItem == MENU_EXIT || ~get_user_flags( pPlayer ) & ADMIN_LEVEL_A)
{
menu_destroy( pMenu )
return PLUGIN_HANDLED;
}

new pData[ 6 ], pName[ 64 ], pAccess, pCallback

menu_item_getinfo( pMenu , pItem , pAccess , pData , charsmax( pData ) , pName , charsmax( pName ) , pCallback )

new pKey = str_to_num( pData )

switch( pKey )
{
case 1:
{
if(g_menuBlockWeapon2[ pPlayer ] >= 1)
{
PrintChatColor( pPlayer , "!g[ZP] !yВы уже брали оружие в этом раунде!" )
weapon_menu_vip( pPlayer )
return PLUGIN_HANDLED
}
give_weapon_deagleg(pPlayer)
PrintChatColor( pPlayer , "!g[ZP] !yТы взял !g[Deagle Gold]!y!" )
g_menuBlockWeapon2[ pPlayer ]++
menu_destroy( pMenu )
return PLUGIN_HANDLED
}
case 2:
{
if(g_menuBlockWeapon2[ pPlayer ] >= 1)
{
PrintChatColor( pPlayer , "!g[ZP] !yВы уже брали оружие в этом раунде!" )
weapon_menu_vip( pPlayer )
return PLUGIN_HANDLED
}

give_weapon_ksg12(pPlayer)
PrintChatColor( pPlayer , "!g[ZP] !yТы взял !g[KSG 12 Gold]!y!" )
g_menuBlockWeapon2[ pPlayer ]++
menu_destroy( pMenu )
return PLUGIN_HANDLED
}
case 3:
{
if(g_menuBlockWeapon2[ pPlayer ] >= 1)
{
PrintChatColor( pPlayer , "!g[ZP] !yВы уже брали оружие в этом раунде!" )
weapon_menu_vip( pPlayer )
return PLUGIN_HANDLED
}

give_weapon_ak47gold(pPlayer)
PrintChatColor( pPlayer , "!g[ZP] !yТы взял !g[AK47 Gold]!y!" )
g_menuBlockWeapon2[ pPlayer ]++
menu_destroy( pMenu )
return PLUGIN_HANDLED
}
case 4:
{
if(g_menuBlockWeapon2[ pPlayer ] >= 1)
{
PrintChatColor( pPlayer , "!g[ZP] !yВы уже брали оружие в этом раунде!" )
weapon_menu_vip( pPlayer )
return PLUGIN_HANDLED
}

give_weapon_m4a1gold(pPlayer)
PrintChatColor( pPlayer , "!g[ZP] !yТы взял !g[M4A1 Gold]!y!" )
g_menuBlockWeapon2[ pPlayer ]++
menu_destroy( pMenu )
return PLUGIN_HANDLED
}
case 5:
{
if(g_menuBlockWeapon2[ pPlayer ] >= 1)
{
PrintChatColor( pPlayer , "!g[ZP] !yВы уже брали оружие в этом раунде!" )
weapon_menu_vip( pPlayer )
return PLUGIN_HANDLED
}

give_weapon_dbarrel_cso(pPlayer)
PrintChatColor( pPlayer , "!g[ZP] !yТы взял !g[Dual Barrel Gold]!y!" )
g_menuBlockWeapon2[ pPlayer ]++
menu_destroy( pMenu )
return PLUGIN_HANDLED
}
case 6:
{
if(g_menuBlockWeapon2[ pPlayer ] >= 1)
{
PrintChatColor( pPlayer , "!g[ZP] !yВы уже брали оружие в этом раунде!" )
weapon_menu_vip( pPlayer )
return PLUGIN_HANDLED
}

give_weapon_sl8g(pPlayer)
PrintChatColor( pPlayer , "!g[ZP] !yТы взял !g[SL8 Gold]!y!" )
g_menuBlockWeapon2[ pPlayer ]++
menu_destroy( pMenu )
return PLUGIN_HANDLED
}
case 7:
{
if(g_menuBlockWeapon2[ pPlayer ] >= 1)
{
PrintChatColor( pPlayer , "!g[ZP] !yВы уже брали оружие в этом раунде!" )
weapon_menu_vip( pPlayer )
return PLUGIN_HANDLED
}

give_weapon_m60e4(pPlayer)
PrintChatColor( pPlayer , "!g[ZP] !yТы взял !g[M60E4]!y!" )
g_menuBlockWeapon2[ pPlayer ]++
menu_destroy( pMenu )
return PLUGIN_HANDLED
}
}

menu_destroy( pMenu )
return PLUGIN_HANDLED
}

stock PrintChatColor( const id , const input[], any:...)
{
new count = 1, players[32]
static msg[191]
vformat(msg, 190, input, 3)

replace_all(msg, 190, "!g", "^4" ) // Green Color
replace_all(msg, 190, "!y", "^1" ) // Default Color
replace_all(msg, 190, "!team", "^3" ) // Team Color

if (id) players[0] = id; else get_players(players, count, "ch")
{
for (new i = 0; i < count; i++)
{
if (is_user_connected(players[i]))
{
message_begin(MSG_ONE_UNRELIABLE, get_user_msgid("SayText" ), _, players[i])
write_byte(players[i]);
write_string(msg);
message_end();
}
}
}
}
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   Цитировать сообщение
Статус пользователя JekaPro
сообщение 16.2.2020, 10:08
Сообщение #2


Стаж: 10 лет
Город: Одесса

Сообщений: 724
Благодарностей: 189
Полезность: 494

Исправленный исходник
Cкрытый текст
Код
#include < amxmodx >
#include < cstrike >
#include < zombieplague >
#include < fun >
#include < fakemeta >

//ADMIN_LEVEL_A - VIP / LVL_B - ADM // RESERVATION- PLAGUE

native give_weapon_crossbow(id)
native give_weapon_zgun_zb3(id)
native give_weapon_ethereal(id)
native give_jet_pack(id)

native give_weapon_ak47gold(id)
native give_weapon_dbarrel_cso(id)
native give_weapon_deagleg(id)
native give_weapon_ksg12(id)
native give_weapon_m4a1gold(id)
native give_weapon_m60e4(id)
native give_weapon_sl8g(id)

native zp_force_open_admenu(id)

new const PLUGIN_INFO[ ] =
{
   "[Server Addon] Admin Menu" ,
   "0.1" ,
   "heka"
}

enum _: pOptionVIP
{
   EURO,
   ARMOR,
   HP
}

new g_menuVipBlock[ 33 ] [ pOptionVIP ]

enum _: pOptionADM
{
   EURO,
   ARMOR,
   HP
}

new g_menuAdmBlock[ 33 ] [ pOptionADM ]

new g_menuBlockWeapon[ 33 ]
new g_menuBlockWeapon2[ 33 ]

new g_menuVipBlockNemesis
new g_menuVipBlockSurvivor

public plugin_init( )
{
   register_plugin( PLUGIN_INFO[ 0 ] , PLUGIN_INFO[ 1 ] , PLUGIN_INFO [ 2 ] )

   register_clcmd("/admin_menu", "ClCmd_AdminMenu" )
   register_clcmd("/vip_menu" , "ClCmd_VipMenu" )

   register_event( "HLTV" , "event_round_start" , "a" , "1=0" , "2=0" )
}

public event_round_start( pPlayer )
{
   for(new i = 0; i < 33; i++)
   {
      if(is_user_connected(i))
      {
         if(g_menuVipBlock[i][ARMOR] >= 1) g_menuVipBlock[i][ARMOR] = 0
         if(g_menuVipBlock[i][HP] >= 1) g_menuVipBlock[i][HP] = 0

         if(g_menuAdmBlock[i][ARMOR] >= 1) g_menuAdmBlock[i][ARMOR] = 0
         if(g_menuAdmBlock[i][HP] >= 1) g_menuAdmBlock[i][HP] = 0

         if(g_menuBlockWeapon[i] >= 1) g_menuBlockWeapon[i] = 0
         if(g_menuBlockWeapon2[i] >= 1) g_menuBlockWeapon2[i] = 0
      }
   }
}

public ClCmd_AdminMenu( pPlayer )
{
   if(zp_get_user_survivor(pPlayer) || zp_get_user_nemesis(pPlayer))
   return;

   new g_AdminMenu = menu_create( "\yМеню \rADMIN" , "ClCmd_AdminMenu_Handler" )
    
   if( get_user_flags( pPlayer ) & ADMIN_LEVEL_B && !zp_get_user_zombie(pPlayer) && is_user_alive(pPlayer))  
   menu_additem( g_AdminMenu , "\wБесплатное оружие" , "1" )
   else
   menu_additem( g_AdminMenu , "\dБесплатное оружие" , "1" )
    
   if( get_user_flags( pPlayer ) & ADMIN_LEVEL_B && g_menuAdmBlock[ pPlayer ] [ EURO ] < 1 )
   menu_additem( g_AdminMenu , "\wВзять \yЕвро \r(+500)" , "2" , ADMIN_LEVEL_B )
   else
   menu_additem( g_AdminMenu , "\dВзять Евро (+500)" , "2" , ADMIN_LEVEL_B )

   if( get_user_flags( pPlayer ) & ADMIN_LEVEL_B && g_menuAdmBlock[ pPlayer ] [ ARMOR ] < 2  && !zp_get_user_zombie(pPlayer) && is_user_alive(pPlayer))
   menu_additem( g_AdminMenu , "\wВзять \yБроню \r(+500 ap)" , "3" , ADMIN_LEVEL_B )
   else
   menu_additem( g_AdminMenu , "\dВзять Броню \r(+500 ap)" , "3" , ADMIN_LEVEL_B )
    
   if( get_user_flags( pPlayer ) & ADMIN_LEVEL_B && g_menuAdmBlock[ pPlayer ] [ HP ] < 1  && is_user_alive(pPlayer))
   menu_additem( g_AdminMenu , "\wВзять \yЖизни \r(+500 hp)" , "4" , ADMIN_LEVEL_B )
   else
   menu_additem( g_AdminMenu , "\dВзять Жизни \r(+500 hp)" , "4" , ADMIN_LEVEL_B )
    
   if( get_user_flags( pPlayer ) & ADMIN_RESERVATION )
   menu_additem( g_AdminMenu , "\wУправление Зомби Модом" , "5" , ADMIN_RESERVATION )
   else
   menu_additem( g_AdminMenu , "\dУправление Зомби Модом" , "5" , ADMIN_RESERVATION )

   if( get_user_flags( pPlayer ) & ADMIN_LEVEL_B )
   menu_additem( g_AdminMenu , "\wУправление \r(Amxmodmenu)" , "6" , ADMIN_LEVEL_B )  
   else
   menu_additem( g_AdminMenu , "\dУправление (Amxmodmenu)^n^n\yВы не \rADMIN\y игрок!!^n\yВы не \rVIP\y игрок!^n\wДля покупки пишите в \rhttps://vk.com/id93324825", "6" , ADMIN_LEVEL_B )  
    
   menu_setprop( g_AdminMenu , MPROP_EXITNAME , "Выход" )
   menu_setprop( g_AdminMenu , MPROP_EXIT , MEXIT_ALL )
   menu_display( pPlayer , g_AdminMenu , 0 )  
}

public ClCmd_AdminMenu_Handler( pPlayer , pMenu, pItem )
{
   if ( pItem == MENU_EXIT )
   {
      menu_destroy( pMenu )
      return PLUGIN_HANDLED;
   }

   new pData[ 6 ], pName[ 64 ], pAccess, pCallback

   menu_item_getinfo( pMenu , pItem , pAccess , pData , charsmax( pData ) , pName , charsmax( pName ) , pCallback )

   new pKey = str_to_num( pData )

   switch( pKey )
   {
   case 1:
      {        
         if(zp_get_user_zombie(pPlayer) || !is_user_alive(pPlayer))
         {
            ClCmd_AdminMenu( pPlayer )
            return PLUGIN_HANDLED;
         }

         weapon_menu_admin( pPlayer )
         menu_destroy( pMenu )
         return PLUGIN_HANDLED
      }
   case 2:
      {
         if(g_menuAdmBlock[ pPlayer ] [ EURO ] >= 1)
         {
            PrintChatColor( pPlayer ,  "!g[ZP] !yНа этой карте ты уже не можешь брать !gЕвро!y!" )
            ClCmd_AdminMenu( pPlayer )
            return PLUGIN_HANDLED;
         }

         zp_set_user_ammo_packs( pPlayer , zp_get_user_ammo_packs( pPlayer ) + 500 )
         PrintChatColor( pPlayer ,  "!g[ZP] !yТы взял !g[Евро]!y!" )
         g_menuAdmBlock[ pPlayer ] [ EURO ]++
         ClCmd_AdminMenu( pPlayer )
      }
   case 3:
      {      
         if(zp_get_user_zombie(pPlayer) || !is_user_alive(pPlayer))
         {
            ClCmd_AdminMenu( pPlayer )
            return PLUGIN_HANDLED;
         }

         if(get_user_armor(pPlayer) >= 500)
         {
            PrintChatColor( pPlayer ,  "!g[ZP] !yУ вас максимально !gБрони!y!" )
            set_user_armor(pPlayer, 500)
            ClCmd_AdminMenu( pPlayer )
            return PLUGIN_HANDLED;
         }

         if(g_menuAdmBlock[ pPlayer ] [ ARMOR ] >= 2)
         {
            PrintChatColor( pPlayer ,  "!g[ZP] !yВ этом раунде ты уже не можешь брать !gБроню!y!" )
            ClCmd_AdminMenu( pPlayer )
            return PLUGIN_HANDLED;
         }

         set_pev(pPlayer, pev_armorvalue, float(min(pev(pPlayer, pev_armorvalue)+500, 500)))
         PrintChatColor( pPlayer ,  "!g[ZP] !yТы взял !g[Броню]!y!" )
         g_menuAdmBlock[ pPlayer ] [ ARMOR ]++
         ClCmd_AdminMenu( pPlayer )
      }
   case 4:
      {        
         if(!is_user_alive(pPlayer))
         {
            ClCmd_AdminMenu( pPlayer )
            return PLUGIN_HANDLED;
         }

         if(g_menuAdmBlock[ pPlayer ] [ HP ] >= 1)
         {
            PrintChatColor( pPlayer ,  "!g[ZP] !yВ этом раунде ты уже не можешь брать !gЖизни!y!" )
            ClCmd_AdminMenu( pPlayer )
            return PLUGIN_HANDLED;
         }

         set_user_health( pPlayer , get_user_health( pPlayer ) + 500 )
         PrintChatColor( pPlayer ,  "!g[ZP] !yТы взял !g[Жизни]!y!" )
         g_menuAdmBlock[ pPlayer ] [ HP ]++
         ClCmd_AdminMenu( pPlayer )      
      }  
   case 5:
      {      
         zp_force_open_admenu( pPlayer )
         menu_destroy( pMenu )
         return PLUGIN_HANDLED
      }
   case 6:
      {        
         client_cmd( pPlayer , "amxmodmenu" )
         menu_destroy( pMenu )
         return PLUGIN_HANDLED
      }
   }


   menu_destroy( pMenu )
   return PLUGIN_HANDLED
}

public weapon_menu_admin( pPlayer )
{
   new g_VipMenu = menu_create( "\yБесплатное \rоружие" , "weapon_menu_admin_Handler" )

   if( get_user_flags( pPlayer ) & ADMIN_LEVEL_B && g_menuBlockWeapon[ pPlayer ] < 1 )
   menu_additem( g_VipMenu , "\wАрбалет" , "1" , ADMIN_LEVEL_B )
   else
   menu_additem( g_VipMenu , "\dАрбалет" , "1" , ADMIN_LEVEL_B )  
    
   if( get_user_flags( pPlayer ) & ADMIN_LEVEL_B && g_menuBlockWeapon[ pPlayer ] < 1 )
   menu_additem( g_VipMenu , "\wДжет-Пак Базука" , "2" , ADMIN_LEVEL_B )
   else
   menu_additem( g_VipMenu , "\dДжет-Пак Базука" , "2" , ADMIN_LEVEL_B )
    
   if( get_user_flags( pPlayer ) & ADMIN_LEVEL_B && g_menuBlockWeapon[ pPlayer ] < 1 )  
   menu_additem( g_VipMenu , "\wПлазма" , "3" , ADMIN_LEVEL_B )
   else
   menu_additem( g_VipMenu , "\dПлазма" , "3" , ADMIN_LEVEL_B )
    
   if( get_user_flags( pPlayer ) & ADMIN_LEVEL_B && g_menuBlockWeapon[ pPlayer ] < 1 )  
   menu_additem( g_VipMenu , "\wГрязная Снайперка" , "4" , ADMIN_LEVEL_B )
   else
   menu_additem( g_VipMenu , "\dГрязная Снайперка" , "4" , ADMIN_LEVEL_B )

   //if( ! ( get_user_flags( pPlayer ) & ADMIN_LEVEL_B ) )
   //menu_additem( g_VipMenu , "\dBalrog-7^n^n\yВы не \rADMIN\y игрок!!^n\wДля покупки пишите в \rВконтакте: \yhttps://vk.com/id93324825" , "5" , ADMIN_LEVEL_B )
   //else if( g_menuBlockWeapon[ pPlayer ] >= 1 )
   //menu_additem( g_VipMenu , "\dБалрог-7" , "5" , ADMIN_LEVEL_A )
   //else
   //menu_additem( g_VipMenu , "\wБалрог-7" , "5" , ADMIN_LEVEL_A )  
    
   if( ! ( get_user_flags( pPlayer ) & ADMIN_LEVEL_B ) )
      menu_setprop( g_VipMenu , MPROP_EXITNAME , "Выход^n^n\yВы не \rADMIN\y игрок!!^n\wДля покупки пишите в вк \rhttps://vk.com/id93324825" )
   else
      menu_setprop( g_VipMenu , MPROP_EXITNAME , "Выход" )  

   menu_setprop( g_VipMenu , MPROP_EXIT , MEXIT_ALL )

   menu_display( pPlayer , g_VipMenu , 0 )  
}

public weapon_menu_admin_Handler( pPlayer , pMenu, pItem )
{
   if ( pItem == MENU_EXIT || ~get_user_flags( pPlayer ) & ADMIN_LEVEL_B)
   {
      menu_destroy( pMenu )
      return PLUGIN_HANDLED;
   }

   new pData[ 6 ], pName[ 64 ], pAccess, pCallback

   menu_item_getinfo( pMenu , pItem , pAccess , pData , charsmax( pData ) , pName , charsmax( pName ) , pCallback )

   new pKey = str_to_num( pData )

   switch( pKey )
   {
   case 1:
      {        
         if(!is_user_alive(pPlayer))
         return PLUGIN_HANDLED;

         if(g_menuBlockWeapon[ pPlayer ] >= 1)
         {
            PrintChatColor( pPlayer ,  "!g[ZP] !yВы уже брали оружие в этом раунде!" )
            weapon_menu_admin( pPlayer )
            return PLUGIN_HANDLED
         }

         give_weapon_crossbow(pPlayer)
         PrintChatColor( pPlayer ,  "!g[ZP] !yТы взял !g[CrossBow]!y!" )
         g_menuBlockWeapon[ pPlayer ]++
         menu_destroy( pMenu )
         return PLUGIN_HANDLED
      }
   case 2:
      {        
         if(!is_user_alive(pPlayer))
         return PLUGIN_HANDLED;

         if(g_menuBlockWeapon[ pPlayer ] >= 1)
         {
            PrintChatColor( pPlayer ,  "!g[ZP] !yВы уже брали !gДжет-Пак !yв этом раунде!" )
            weapon_menu_admin( pPlayer )
            return PLUGIN_HANDLED
         }

         give_jet_pack(pPlayer)
         PrintChatColor( pPlayer ,  "!g[ZP] !yТы взял !g[Джет-Пак]!y!" )
         g_menuBlockWeapon[ pPlayer ]++
         menu_destroy( pMenu )
         return PLUGIN_HANDLED
      }
   case 3:
      {
         if(!is_user_alive(pPlayer))
         return PLUGIN_HANDLED;

         if(g_menuBlockWeapon[ pPlayer ] >= 1)
         {
            PrintChatColor( pPlayer ,  "!g[ZP] !yВы уже брали оружие в этом раунде!" )
            weapon_menu_admin( pPlayer )
            return PLUGIN_HANDLED
         }

         PrintChatColor( pPlayer ,  "!g[ZP] !yТы взял !g[Ethereal]!y!" )
         give_weapon_ethereal(pPlayer)
         g_menuBlockWeapon[ pPlayer ]++
         menu_destroy( pMenu )
         return PLUGIN_HANDLED
      }
   case 4:
      {
         if(!is_user_alive(pPlayer))
         return PLUGIN_HANDLED;

         if(g_menuBlockWeapon[ pPlayer ] >= 1)
         {
            PrintChatColor( pPlayer ,  "!g[ZP] !yВы уже брали оружие в этом раунде!" )
            weapon_menu_admin( pPlayer )
            return PLUGIN_HANDLED
         }

         PrintChatColor( pPlayer ,  "!g[ZP] !yТы взял !g[Гразную Снайперку]!y!" )
         give_weapon_zgun_zb3(pPlayer)
         g_menuBlockWeapon[ pPlayer ]++
         menu_destroy( pMenu )
         return PLUGIN_HANDLED
      }
   /*case 5:
      {
         if(!is_user_alive(pPlayer))
         return PLUGIN_HANDLED;

         if(g_menuBlockWeapon[ pPlayer ] >= 1)
         {
            PrintChatColor( pPlayer ,  "!g[ZP] !yВы уже брали оружие в этом раунде!" )
            weapon_menu_admin( pPlayer )
            return PLUGIN_HANDLED
         }

         PrintChatColor( pPlayer ,  "!g[ZP] !yТы взял !g[Balrog 7]!y!" )
         give_weapon_balrog7(pPlayer)
         g_menuBlockWeapon[ pPlayer ]++
         menu_destroy( pMenu )
         return PLUGIN_HANDLED
      }*/
   }

   menu_destroy( pMenu )
   return PLUGIN_HANDLED
}

public ClCmd_VipMenu( pPlayer )
{
   if(zp_get_user_survivor(pPlayer) || zp_get_user_nemesis(pPlayer))
   return;

   new g_AdminMenu = menu_create( "\yМеню \rV.I.P" , "ClCmd_VipMenu_Handler" )

   if( get_user_flags( pPlayer ) & ADMIN_LEVEL_A  && !zp_get_user_zombie(pPlayer) && is_user_alive(pPlayer))
   menu_additem( g_AdminMenu , "\yЗолотое оружие" , "1" )
   else
   menu_additem( g_AdminMenu , "\dЗолотое оружие" , "1" )  
    
   if( get_user_flags( pPlayer ) & ADMIN_LEVEL_A && g_menuVipBlock[ pPlayer ] [ EURO ] < 1 )
   menu_additem( g_AdminMenu , "\wВзять \yЕвро \r(+500)" , "2" , ADMIN_LEVEL_A )
   else
   menu_additem( g_AdminMenu , "\dВзять Евро (+500)" , "2" , ADMIN_LEVEL_A )

   if( get_user_flags( pPlayer ) & ADMIN_LEVEL_A && g_menuVipBlock[ pPlayer ] [ ARMOR ] < 2  && !zp_get_user_zombie(pPlayer) && is_user_alive(pPlayer))
   menu_additem( g_AdminMenu , "\wВзять \yБроню \r(+500 ap)" , "3" , ADMIN_LEVEL_A )
   else
   menu_additem( g_AdminMenu , "\dВзять Броню (+500 ap)" , "3" , ADMIN_LEVEL_A )
    
   if( get_user_flags( pPlayer ) & ADMIN_LEVEL_A && g_menuVipBlock[ pPlayer ] [ HP ] < 1  && is_user_alive(pPlayer))
   menu_additem( g_AdminMenu , "\wВзять \yЖизни \r(+500 hp)" , "4" , ADMIN_LEVEL_A )
   else
   menu_additem( g_AdminMenu , "\dВзять Жизни (+500 hp)" , "4" , ADMIN_LEVEL_A )
    
   if( get_user_flags( pPlayer ) & ADMIN_LEVEL_A && g_menuVipBlockNemesis < 1 && is_user_alive(pPlayer) && !zp_has_round_started())
   menu_additem( g_AdminMenu , "\wВзять \rНемезиду" , "5" , ADMIN_LEVEL_A )
   else
   menu_additem( g_AdminMenu , "\dВзять Немезиду" , "5" , ADMIN_LEVEL_A )
    
   if( ! ( get_user_flags(pPlayer) & ADMIN_LEVEL_A ) )
   menu_additem( g_AdminMenu , "\dВзять Выжившего^n^n\yВы не \rVIP\y игрок!^n\wДля покупки пишите в \rSkype: \yhttps://vk.com/id93324825" , "6" , ADMIN_LEVEL_A )
   else if(!is_user_alive(pPlayer))
   menu_additem( g_AdminMenu , "\dВзять Выжившего" , "6" , ADMIN_LEVEL_A )
   else if(zp_has_round_started())
   menu_additem( g_AdminMenu , "\dВзять Выжившего" , "6" , ADMIN_LEVEL_A )
   else if( g_menuVipBlockSurvivor >= 1)
   menu_additem( g_AdminMenu , "\dВзять Выжившего" , "6" , ADMIN_LEVEL_A )
   else if( zp_get_user_zombie(pPlayer) )
   menu_additem( g_AdminMenu , "\dВзять Выжившего" , "6" , ADMIN_LEVEL_A )
   else
   menu_additem( g_AdminMenu , "\wВзять \yВыжившего" , "6" , ADMIN_LEVEL_A )
    
   menu_setprop( g_AdminMenu , MPROP_EXITNAME , "Выход" )

   menu_setprop( g_AdminMenu , MPROP_EXIT , MEXIT_ALL )

   menu_display( pPlayer , g_AdminMenu , 0 )  
}

public ClCmd_VipMenu_Handler( pPlayer , pMenu, pItem )
{
   if ( pItem == MENU_EXIT || ~get_user_flags( pPlayer ) & ADMIN_LEVEL_A)
   {
      menu_destroy( pMenu )
      return PLUGIN_HANDLED;
   }

   new pData[ 6 ], pName[ 64 ], pAccess, pCallback

   menu_item_getinfo( pMenu , pItem , pAccess , pData , charsmax( pData ) , pName , charsmax( pName ) , pCallback )

   new pKey = str_to_num( pData )

   switch( pKey )
   {
   case 1:
      {      
         if(zp_get_user_zombie(pPlayer) || !is_user_alive(pPlayer))
         {
            ClCmd_VipMenu( pPlayer )
            return PLUGIN_HANDLED;
         }
         weapon_menu_vip( pPlayer )
         menu_destroy( pMenu )
         return PLUGIN_HANDLED
      }
   case 2:
      {
         if(g_menuVipBlock[ pPlayer ] [ EURO ] >= 1)
         {
            PrintChatColor( pPlayer ,  "!g[ZP] !yНа этой карте ты уже не можешь брать !gЕвро!y!" )
            ClCmd_VipMenu( pPlayer )
            return PLUGIN_HANDLED;
         }
         zp_set_user_ammo_packs( pPlayer , zp_get_user_ammo_packs( pPlayer ) + 500 )
         PrintChatColor( pPlayer ,  "!g[ZP] !yТы взял !g[Евро]!y!" )
         g_menuVipBlock[ pPlayer ] [ EURO ]++
         ClCmd_VipMenu( pPlayer )
      }
   case 3:
      {
         if(zp_get_user_zombie(pPlayer) || !is_user_alive(pPlayer))
         {
            ClCmd_VipMenu( pPlayer )
            return PLUGIN_HANDLED;
         }

         if(get_user_armor(pPlayer) >= 500)
         {
            PrintChatColor( pPlayer ,  "!g[ZP] !yУ вас максимально !gБрони!y!" )
            set_user_armor(pPlayer, 500)
            ClCmd_VipMenu( pPlayer )
            return PLUGIN_HANDLED;
         }

         if(g_menuVipBlock[ pPlayer ] [ ARMOR ] >= 2)
         {
            PrintChatColor( pPlayer ,  "!g[ZP] !yВ этом раунде ты уже не можешь брать !gБроню!y!" )
            ClCmd_VipMenu( pPlayer )
            return PLUGIN_HANDLED;
         }

         set_pev(pPlayer, pev_armorvalue, float(min(pev(pPlayer, pev_armorvalue)+500, 500)))
         PrintChatColor( pPlayer ,  "!g[ZP] !yТы взял !g[Броню]!y!" )
         g_menuVipBlock[ pPlayer ] [ ARMOR ]++
         ClCmd_VipMenu( pPlayer )
      }
   case 4:
      {
         if(!is_user_alive(pPlayer))
         {
            ClCmd_VipMenu( pPlayer )
            return PLUGIN_HANDLED;
         }
         if(g_menuVipBlock[ pPlayer ] [ HP ] >=1)
         {
            PrintChatColor( pPlayer ,  "!g[ZP] !yВ этом раунде ты уже не можешь брать !gЖизни!y!" )
            ClCmd_VipMenu( pPlayer )
            return PLUGIN_HANDLED;
         }

         set_user_health( pPlayer , get_user_health( pPlayer ) + 500 )
         PrintChatColor( pPlayer ,  "!g[ZP] !yТы взял !g[Жизни]!y!" )
         g_menuVipBlock[ pPlayer ] [ HP ]++
         ClCmd_VipMenu( pPlayer )      
      }  
   case 5:
      {
         if(!is_user_alive(pPlayer))
         {
            ClCmd_VipMenu( pPlayer )
            return PLUGIN_HANDLED;
         }

         if(zp_has_round_started())
         {
            PrintChatColor( pPlayer ,  "!g[ZP] !yТолько перед стартом раунда!" )
            ClCmd_VipMenu( pPlayer )
            return PLUGIN_HANDLED;
         }  

         if(g_menuVipBlockNemesis > 1)
         {
            PrintChatColor( pPlayer ,  "!g[ZP] !yНа этой карте уже кто-то брал !g[Немезиса]" )
            ClCmd_VipMenu( pPlayer )
            return PLUGIN_HANDLED;
         }

         zp_make_user_nemesis( pPlayer )
         PrintChatColor( pPlayer ,  "!g[ZP] !yТы взял !g[Немезиду]!y!" )
         g_menuVipBlockNemesis = 10
         menu_destroy( pMenu )
         return PLUGIN_HANDLED
      }
   case 6:
      {
         if(zp_get_user_zombie(pPlayer) || !is_user_alive(pPlayer))
         {
            ClCmd_VipMenu( pPlayer )
            return PLUGIN_HANDLED;
         }

         if(zp_has_round_started())
         {
            PrintChatColor( pPlayer ,  "!g[ZP] !yТолько перед стартом раунда!" )
            ClCmd_VipMenu( pPlayer )
            return PLUGIN_HANDLED;
         }        

         if(g_menuVipBlockSurvivor > 1)
         {
            PrintChatColor( pPlayer ,  "!g[ZP] !yНа этой карте уже кто-то брал !g[Выжившего]" )
            ClCmd_VipMenu( pPlayer )
            return PLUGIN_HANDLED;
         }

         zp_make_user_survivor( pPlayer )
         PrintChatColor( pPlayer ,  "!g[ZP] !yТы взял !g[Выжившего]!y!" )
         g_menuVipBlockSurvivor = 10
         menu_destroy( pMenu )
         return PLUGIN_HANDLED
      }  
   }

   menu_destroy( pMenu )
   return PLUGIN_HANDLED
}

public weapon_menu_vip( pPlayer )
{
   new g_AdminMenu = menu_create( "\yЗолотое оружие" , "weapon_menu_vip_Handler" )

   if( get_user_flags( pPlayer ) & ADMIN_LEVEL_A && g_menuBlockWeapon2[ pPlayer ] < 1 )
   menu_additem( g_AdminMenu , "\yЗолотой \rDeagle" , "1" , ADMIN_LEVEL_A )
   else
   menu_additem( g_AdminMenu , "\dЗолотой Deagle" , "1" , ADMIN_LEVEL_A )  
    
   if( get_user_flags( pPlayer ) & ADMIN_LEVEL_A && g_menuBlockWeapon2[ pPlayer ] < 1 )
   menu_additem( g_AdminMenu , "\yЗолотой \rKSG-12" , "2" , ADMIN_LEVEL_A )
   else
   menu_additem( g_AdminMenu , "\dЗолотой KSG-12" , "2" , ADMIN_LEVEL_A )  
    
   if( get_user_flags( pPlayer ) & ADMIN_LEVEL_A && g_menuBlockWeapon2[ pPlayer ] < 1 )  
   menu_additem( g_AdminMenu , "\yЗолотой \rAK-47" , "3" , ADMIN_LEVEL_A )
   else
   menu_additem( g_AdminMenu , "\dЗолотой AK-47" , "3" , ADMIN_LEVEL_A )
    
   if( get_user_flags( pPlayer ) & ADMIN_LEVEL_A && g_menuBlockWeapon2[ pPlayer ] < 1 )  
   menu_additem( g_AdminMenu , "\yЗолотой \rM4A1" , "4" , ADMIN_LEVEL_A )
   else
   menu_additem( g_AdminMenu , "\dЗолотой M4A1" , "4" , ADMIN_LEVEL_A )      
    
   if( get_user_flags( pPlayer ) & ADMIN_LEVEL_A && g_menuBlockWeapon2[ pPlayer ] < 1 )  
   menu_additem( g_AdminMenu , "\yЗолотой \rDual Barrel" , "5" , ADMIN_LEVEL_A )
   else
   menu_additem( g_AdminMenu , "\dЗолотой Dual Barrel" , "5" , ADMIN_LEVEL_A )  

   if( get_user_flags( pPlayer ) & ADMIN_LEVEL_A && g_menuBlockWeapon2[ pPlayer ] < 1 )  
   menu_additem( g_AdminMenu , "\yЗолотой \rSL-8" , "6" , ADMIN_LEVEL_A )
   else
   menu_additem( g_AdminMenu , "\dЗолотой SL-8" , "6" , ADMIN_LEVEL_A )  
    
   if( ! ( get_user_flags( pPlayer ) & ADMIN_LEVEL_A ) )
   menu_additem( g_AdminMenu , "\dGolden M-60^n^n\yВы не \rVIP\y игрок!^n\wДля покупки пишите в vk.com/id93324825" , "7" , ADMIN_LEVEL_A )
   else if( g_menuBlockWeapon2[ pPlayer ] >= 1 )
   menu_additem( g_AdminMenu , "\dЗолотой M-60" , "7" , ADMIN_LEVEL_A )
   else
   menu_additem( g_AdminMenu , "\yЗолотой \rM-60" , "7" , ADMIN_LEVEL_A )  
    
   menu_setprop( g_AdminMenu , MPROP_EXITNAME , "Выход" )

   menu_setprop( g_AdminMenu , MPROP_EXIT , MEXIT_ALL )

   menu_display( pPlayer , g_AdminMenu , 0 )  
}

public weapon_menu_vip_Handler( pPlayer , pMenu, pItem )
{
   if ( pItem == MENU_EXIT || ~get_user_flags( pPlayer ) & ADMIN_LEVEL_A)
   {
      menu_destroy( pMenu )
      return PLUGIN_HANDLED;
   }

   new pData[ 6 ], pName[ 64 ], pAccess, pCallback

   menu_item_getinfo( pMenu , pItem , pAccess , pData , charsmax( pData ) , pName , charsmax( pName ) , pCallback )

   new pKey = str_to_num( pData )

   switch( pKey )
   {
   case 1:
      {        
         if(g_menuBlockWeapon2[ pPlayer ] >= 1)
         {
            PrintChatColor( pPlayer ,  "!g[ZP] !yВы уже брали оружие в этом раунде!" )
            weapon_menu_vip( pPlayer )
            return PLUGIN_HANDLED
         }
         give_weapon_deagleg(pPlayer)
         PrintChatColor( pPlayer ,  "!g[ZP] !yТы взял !g[Deagle Gold]!y!" )
         g_menuBlockWeapon2[ pPlayer ]++
         menu_destroy( pMenu )
         return PLUGIN_HANDLED
      }
   case 2:
      {
         if(g_menuBlockWeapon2[ pPlayer ] >= 1)
         {
            PrintChatColor( pPlayer ,  "!g[ZP] !yВы уже брали оружие в этом раунде!" )
            weapon_menu_vip( pPlayer )
            return PLUGIN_HANDLED
         }

         give_weapon_ksg12(pPlayer)
         PrintChatColor( pPlayer ,  "!g[ZP] !yТы взял !g[KSG 12 Gold]!y!" )
         g_menuBlockWeapon2[ pPlayer ]++
         menu_destroy( pMenu )
         return PLUGIN_HANDLED
      }
   case 3:
      {
         if(g_menuBlockWeapon2[ pPlayer ] >= 1)
         {
            PrintChatColor( pPlayer ,  "!g[ZP] !yВы уже брали оружие в этом раунде!" )
            weapon_menu_vip( pPlayer )
            return PLUGIN_HANDLED
         }

         give_weapon_ak47gold(pPlayer)
         PrintChatColor( pPlayer ,  "!g[ZP] !yТы взял !g[AK47 Gold]!y!" )
         g_menuBlockWeapon2[ pPlayer ]++
         menu_destroy( pMenu )
         return PLUGIN_HANDLED
      }
   case 4:
      {        
         if(g_menuBlockWeapon2[ pPlayer ] >= 1)
         {
            PrintChatColor( pPlayer ,  "!g[ZP] !yВы уже брали оружие в этом раунде!" )
            weapon_menu_vip( pPlayer )
            return PLUGIN_HANDLED
         }

         give_weapon_m4a1gold(pPlayer)
         PrintChatColor( pPlayer ,  "!g[ZP] !yТы взял !g[M4A1 Gold]!y!" )
         g_menuBlockWeapon2[ pPlayer ]++
         menu_destroy( pMenu )
         return PLUGIN_HANDLED
      }
   case 5:
      {
         if(g_menuBlockWeapon2[ pPlayer ] >= 1)
         {
            PrintChatColor( pPlayer ,  "!g[ZP] !yВы уже брали оружие в этом раунде!" )
            weapon_menu_vip( pPlayer )
            return PLUGIN_HANDLED
         }

         give_weapon_dbarrel_cso(pPlayer)
         PrintChatColor( pPlayer ,  "!g[ZP] !yТы взял !g[Dual Barrel Gold]!y!" )
         g_menuBlockWeapon2[ pPlayer ]++
         menu_destroy( pMenu )
         return PLUGIN_HANDLED
      }
   case 6:
      {
         if(g_menuBlockWeapon2[ pPlayer ] >= 1)
         {
            PrintChatColor( pPlayer ,  "!g[ZP] !yВы уже брали оружие в этом раунде!" )
            weapon_menu_vip( pPlayer )
            return PLUGIN_HANDLED
         }

         give_weapon_sl8g(pPlayer)
         PrintChatColor( pPlayer ,  "!g[ZP] !yТы взял !g[SL8 Gold]!y!" )
         g_menuBlockWeapon2[ pPlayer ]++
         menu_destroy( pMenu )
         return PLUGIN_HANDLED
      }      
   case 7:
      {
         if(g_menuBlockWeapon2[ pPlayer ] >= 1)
         {
            PrintChatColor( pPlayer ,  "!g[ZP] !yВы уже брали оружие в этом раунде!" )
            weapon_menu_vip( pPlayer )
            return PLUGIN_HANDLED
         }

         give_weapon_m60e4(pPlayer)
         PrintChatColor( pPlayer ,  "!g[ZP] !yТы взял !g[M60E4]!y!" )
         g_menuBlockWeapon2[ pPlayer ]++
         menu_destroy( pMenu )
         return PLUGIN_HANDLED
      }  
   }

   menu_destroy( pMenu )
   return PLUGIN_HANDLED
}

stock PrintChatColor( const id , const input[], any:...)
{
   new count = 1, players[32]
   static msg[191]
   vformat(msg, 190, input, 3)
    
   replace_all(msg, 190, "!g", "^4" ) // Green Color
   replace_all(msg, 190, "!y", "^1" ) // Default Color
   replace_all(msg, 190, "!team", "^3" ) // Team Color
    
   if (id) players[0] = id; else get_players(players, count, "ch")
   {
      for (new i = 0; i < count; i++)
      {
         if (is_user_connected(players[i]))
         {
            message_begin(MSG_ONE_UNRELIABLE, get_user_msgid("SayText" ), _, players[i])
            write_byte(players[i]);
            write_string(msg);
            message_end();
         }
      }
   }
}



Компиль без ошибок


Отредактировал: JekaPro, - 16.2.2020, 10:15
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя pro100web
сообщение 13.3.2020, 8:48
Сообщение #3
Стаж: 8 лет 9 месяцев

Сообщений: 4
Благодарностей: 2
Полезность: 0

Цитата
// C:\Users\╩шЁ \Desktop\182\vip_menu_admin_menu.sma(1) : error 010: invalid function or declaration

Для начала следует исправить кодировку файла
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
  Ответить в данную темуНачать новую тему
 
0 пользователей и 1 гостей читают эту тему: