Subb98 писал(а): RevCrew, cyberforum предложил бы, но что меня там бесит: создаёшь тему с вопросом - тебе отвечают ссылками на похожие темы, где даны ответы точно такими же ссылками на похожие темы с ответами с точно такими же ссылками. Как будто не на форум зашёл, а на порно-сайт с unlimited-redirect'ами.
Модератор: liFe iS GoOD
#pragma tabsize 0
#include < amxmodx >
#include < cstrike >
#include < zombieplague >
#include < fun >
#include < fakemeta >
native give_uts15_holy(id)
native give_weapon_vsk94(id)
native zp_get_ze_map()
new const PLUGIN_INFO[ ] =
{
"boss menu",
"1.0",
"texas1k"
}
new g_menuBlockWeapon[ 33 ]
new g_menuBlockItem[33][3]
public plugin_init( )
{
register_plugin( PLUGIN_INFO[ 0 ] , PLUGIN_INFO[ 1 ] , PLUGIN_INFO [ 2 ] )
register_clcmd("boss_menu" , "clcmd_boss_menu" )
register_event( "HLTV" , "event_round_start" , "a" , "1=0" , "2=0" )
}
public plugin_precache()
{
if (zp_get_ze_map())
pause("ad")
}
public clcmd_boss_menu( pPlayer )
{
if( ! ( get_user_flags( pPlayer ) & ADMIN_LEVEL_F ) )
{
menu_info( pPlayer )
}
else
{
if( zp_get_user_zombie( pPlayer ) || zp_get_user_survivor( pPlayer ) )
return;
ClCmd_VipMenu( pPlayer )
}
}
public menu_info( pPlayer )
{
new menu = menu_create( "\r[BOSS] \wГлавное меню" , "no_dostupe" )
menu_additem( menu , "\wИнформация" , "1" )
menu_setprop( menu , MPROP_EXITNAME , "\wВыход^n^n\rУ вас нет доступа к BOSS меню^nДля приобретения доступа^nОбращайтесь к vk.com/tokyozm" )
menu_display( pPlayer , menu , 0 )
}
public event_round_start( pPlayer )
{
for(new i = 0; i < 33; i++)
{
if(is_user_connected(i))
{
if(g_menuBlockWeapon[i] >= 1) g_menuBlockWeapon[i] = 0
for (new j = 0; j < 3; j++)
{
if (j == 1)
continue
if (g_menuBlockItem[i][j]) g_menuBlockItem[i][j] = 0
}
}
}
}
public ClCmd_VipMenu( pPlayer )
{
if(zp_get_user_survivor(pPlayer) || zp_get_user_nemesis(pPlayer))
return;
new g_AdminMenu = menu_create( "\r[BOSS] \wОружейное меню" , "ClCmd_VipMenu_Handler" )
if( get_user_flags( pPlayer ) & ADMIN_LEVEL_F && g_menuBlockWeapon[ pPlayer ] < 1 && !zp_get_user_zombie(pPlayer) && is_user_alive(pPlayer))
{
if (FW_Get_Alive_Zombie() > 3)
menu_additem( g_AdminMenu , "\wВзять \yДробовик UTS-15 \r[Holy]*" , "3" , ADMIN_LEVEL_F )
else
menu_additem( g_AdminMenu , "\dВзять Дробовик UTS-15 [Holy] \r[Нужно 4 зомби урон]\d*" , "3" , ADMIN_LEVEL_F )
}
else
menu_additem( g_AdminMenu , "\dВзять Дробовик UTS-15 [Holy]\r*" , "3" , ADMIN_LEVEL_F )
if( get_user_flags( pPlayer ) & ADMIN_LEVEL_F && g_menuBlockWeapon[ pPlayer ] < 1 && !zp_get_user_zombie(pPlayer) && is_user_alive(pPlayer))
{
if (FW_Get_Alive_Zombie() > 3)
menu_additem( g_AdminMenu , "\wВзять \yВинтовку VSK-94 \r[Holy]*" , "4" , ADMIN_LEVEL_F )
else
menu_additem( g_AdminMenu , "\dВзять Винтовку VSK-94 [Holy] \r[Нужно 4 зомби урон]\d*" , "4" , ADMIN_LEVEL_F )
}
else
menu_additem( g_AdminMenu , "\dВзять Винтовку VSK-94 [Holy]\r*" , "4" , ADMIN_LEVEL_F )
if( get_user_flags( pPlayer ) & ADMIN_LEVEL_F && g_menuBlockItem[ pPlayer ] [ 0 ] < 1 )
menu_additem( g_AdminMenu , "\w[\yВзять\w] Паки [\y250\w]" , "5" , ADMIN_LEVEL_F )
else
menu_additem( g_AdminMenu , "\d[Взять] Паки [250]" , "5" , ADMIN_LEVEL_F )
if(!zp_get_ze_map() && get_user_flags( pPlayer ) & ADMIN_LEVEL_F && g_menuBlockItem[ pPlayer ] [ 1 ] < 1 && !zp_get_user_zombie(pPlayer) && is_user_alive(pPlayer))
menu_additem( g_AdminMenu , "\w[\yВзять\w] Броню [\y250\w]" , "6" , ADMIN_LEVEL_F )
else
menu_additem( g_AdminMenu , "\d[Взять] Броню [250]" , "6" , ADMIN_LEVEL_F )
if(get_user_flags( pPlayer ) & ADMIN_LEVEL_F && g_menuBlockItem[ pPlayer ] [ 2 ] < 1 && is_user_alive(pPlayer))
menu_additem( g_AdminMenu , "\w[\yВзять\w] Жизни [\r100\w]" , "7" , ADMIN_LEVEL_F )
else
menu_additem( g_AdminMenu , "\d[Взять] Жизни [100]" , "7" , ADMIN_LEVEL_F )
menu_setprop( g_AdminMenu , MPROP_EXITNAME , "Выход^n^n\yВы можете выбрать \r1 оружие \yза раунд" )
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_F)
{
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 3:
{
if(g_menuBlockWeapon[ pPlayer ] >= 1)
{
PrintChatColor( pPlayer , "!yВы уже брали оружие в этом раунде!" )
ClCmd_VipMenu( pPlayer )
return PLUGIN_HANDLED
}
if (FW_Get_Alive_Zombie() < 4)
{
PrintChatColor( pPlayer , "!yНужно 4 зомби!" )
ClCmd_VipMenu( pPlayer )
return PLUGIN_HANDLED
}
give_uts15_holy(pPlayer)
PrintChatColor( pPlayer , "!yТы взял !g[UTS-15 Holy]" )
g_menuBlockWeapon[ pPlayer ]++
ClCmd_VipMenu( pPlayer )
return PLUGIN_HANDLED
}
case 4:
{
if(g_menuBlockWeapon[ pPlayer ] >= 1)
{
PrintChatColor( pPlayer , "!yВы уже брали оружие в этом раунде!" )
ClCmd_VipMenu( pPlayer )
return PLUGIN_HANDLED
}
if (FW_Get_Alive_Zombie() < 4)
{
PrintChatColor( pPlayer , "!yНужно 4 зомби!" )
ClCmd_VipMenu( pPlayer )
return PLUGIN_HANDLED
}
give_weapon_vsk94(pPlayer)
PrintChatColor( pPlayer , "!yТы взял !g[VSK-94]" )
g_menuBlockWeapon[ pPlayer ]++
ClCmd_VipMenu( pPlayer )
return PLUGIN_HANDLED
}
case 5:
{
if(g_menuBlockItem[ pPlayer ][0] >= 1)
{
PrintChatColor( pPlayer , "!yВы уже брали это в этом раунде!" )
ClCmd_VipMenu( pPlayer )
return PLUGIN_HANDLED
}
zp_set_user_ammo_packs( pPlayer , zp_get_user_ammo_packs( pPlayer ) + 250 )
PrintChatColor( pPlayer , "!yТы взял !g[Паки]" )
g_menuBlockItem[ pPlayer ][0]++
ClCmd_VipMenu( pPlayer )
return PLUGIN_HANDLED
}
case 6:
{
if(g_menuBlockItem[ pPlayer ][1] >= 1)
{
PrintChatColor( pPlayer , "!yВы уже брали это в этом раунде!" )
ClCmd_VipMenu( pPlayer )
return PLUGIN_HANDLED
}
new iArmor = 250
if (get_user_armor(pPlayer) >= iArmor)
{
PrintChatColor( pPlayer , "!yУ вас слишком много брони!" )
ClCmd_VipMenu( pPlayer )
return PLUGIN_HANDLED
}
set_pev(pPlayer, pev_armorvalue, float(iArmor))
PrintChatColor( pPlayer , "!yТы взял !g[Броню]" )
g_menuBlockItem[ pPlayer ][1]++
ClCmd_VipMenu( pPlayer )
return PLUGIN_HANDLED
}
case 7:
{
if(g_menuBlockItem[ pPlayer ][2] >= 1)
{
PrintChatColor( pPlayer , "!yВы уже брали это в этом раунде!" )
ClCmd_VipMenu( pPlayer )
return PLUGIN_HANDLED
}
set_pev(pPlayer, pev_health, float(pev(pPlayer, pev_health) + 100))
PrintChatColor( pPlayer , "!yТы взял !g[Жизни]" )
g_menuBlockItem[ pPlayer ][2]++
ClCmd_VipMenu( pPlayer )
return PLUGIN_HANDLED
}
}
menu_destroy( pMenu )
return PLUGIN_HANDLED
}
public no_dostupe( id, 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:
{
show_motd(id,"motd.txt", "Покупка")
}
case 2:
{
client_cmd(id, "")
}
}
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();
}
}
}
}
FW_Get_Alive_Zombie() {
static iAlive, id
iAlive = 0
for(id = 1; id <= 32; id++) {
if(is_user_alive(id) && zp_get_user_zombie(id))
iAlive++
}
return iAlive
}
Вернуться в Вопросы по AMXX и его плагинам
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1