вот у меня есть меню сервера,в нем есть пункт "Меню управления" и в пунтке "Меню управления" : 1.Кик 2.Бан...и 7.Рестарт сервера,так вот,мне нужно заблокировать функцию рестарт сервера для для вип (флаги: a,b,i,t).
Буду благодарен!
Вот код скрипт файла
Буду благодарен!
Вот код скрипт файла
Код:
#include <amxmodx>
#include <amxmisc>
#include <cstrike>
#include <hamsandwich>
#include <fun>
#include <fakemeta>
#include <engine>
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
#define PLUGIN "AmxMenu"
#define VERSION "1.0"
#define AUTHOR "lol ;D"
public plugin_init()
{
register_plugin(PLUGIN, VERSION, AUTHOR)
register_menu("Menu_2", keys, "func_menu2")
register_clcmd("amxmenu", "AmxMenu")
}
public client_authorized(id)
{
client_cmd(id, "bind ^"F4^" ^"amxmenu^"")
}
public AmxMenu(id)
{
static menu[650], iLen
iLen = 0
iLen = formatex(menu[iLen], charsmax(menu) - iLen, "\rМеню управления \yツ^n^n");
if(get_user_flags(id) & ADMIN_KICK)
{
iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\r1. \wКикнуть^n")
keys |= MENU_KEY_1
}
else
{
iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\r1. \dКикнуть^n")
keys &= ~MENU_KEY_1
}
if(get_user_flags(id) & ADMIN_BAN)
{
iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\r2. \rЗабанить^n")
keys |= MENU_KEY_2
}
else
{
iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\r2. \dЗабанить^n")
keys &= ~MENU_KEY_2
}
if(get_user_flags(id) & ADMIN_SLAY)
{
iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\r3. \wУдарить/Убить^n")
keys |= MENU_KEY_3
}
else
{
iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\r3. \dУдарить/Убить^n")
keys &= ~MENU_KEY_3
}
if(get_user_flags(id) & ADMIN_LEVEL_A)
{
iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\r4. \wКоманда игрока^n")
keys |= MENU_KEY_4
}
else
{
iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\r4. \dКоманда игрока^n")
keys &= ~MENU_KEY_4
}
if(get_user_flags(id) & ADMIN_MAP)
{
iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\r5. \yСменить карту^n")
keys |= MENU_KEY_5
}
else
{
iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\r5. \dСменить карту^n")
keys &= ~MENU_KEY_5
}
if(get_user_flags(id) & ADMIN_VOTE)
{
iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\r6. \yГолосование за карту^n")
keys |= MENU_KEY_6
}
else
{
iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\r6. \dГолосование за карту^n")
keys &= ~MENU_KEY_6
}
if(get_user_flags(id) & ADMIN_LEVEL_H)
{
iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\r7. \rСделать рестарт^n")
keys |= MENU_KEY_7
}
else
{
iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\r7. \dСделать рестарт^n")
keys &= ~MENU_KEY_7
}
if(get_user_flags(id) & ADMIN_RCON)
{
iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\r8. \wАдмин Меню^n")
keys |= MENU_KEY_8
}
else
{
iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\r8. \dАдмин Меню^n")
keys &= ~MENU_KEY_8
}
if(get_user_flags(id) & ADMIN_LEVEL_H)
{
iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\r9. \wВип Меню^n")
keys |= MENU_KEY_9
}
else
{
iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\r9. \dВип Меню^n")
keys &= ~MENU_KEY_9
}
iLen += formatex(menu[iLen], charsmax(menu) - iLen, "^n\r0. \wВыход^n")
keys |= MENU_KEY_0
show_menu(id, keys, menu, -1, "Menu_2");
return PLUGIN_HANDLED
}
public func_menu2(id, key)
{
switch(key)
{
case 0: client_cmd(id, "amx_kickmenu")
case 1: client_cmd(id, "amx_banmenu")
case 2: client_cmd(id, "amx_slapmenu")
case 3: client_cmd(id, "amx_teammenu")
case 4: client_cmd(id, "amx_mapmenu")
case 5: client_cmd(id, "amx_votemapmenu")
case 6:
{
server_cmd("sv_restartround 1")
new name[32]
get_user_name(id, name, 31)
ColorChat(0, "!y[!gAmxMenu!y] Админ !t%s !yсделал !gрестарт!y!", name)
}
case 7:client_cmd(id, "adminmenu")
case 8:client_cmd(id, "vipmenu")
}
}
stock ColorChat(const id, const input[], any:...)
{
new count = 1, players[32]
static msg[191]
vformat(msg, 190, input, 3)
format(msg, sizeof(msg), "%s", msg)
replace_all(msg, 190, "!g", "^4") // Green Color
replace_all(msg, 190, "!y", "^1") // Default Color
replace_all(msg, 190, "!t", "^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();
}
}
}
}