• Гость, перед открытием темы прочитай описание раздела, чтобы не ошибиться. Любые вопросы по настройке сервера создаются в разделе Технической Поддержки.

Решено Помогите с настройкой меню

Статус
В этой теме нельзя размещать новые ответы.

Lysva

Участник
Сообщения
21
Симпатии
0
Баллы
57
#1
вот у меня есть меню сервера,в нем есть пункт "Меню управления" и в пунтке "Меню управления" : 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();
                        }
                }
        }
}
 

3BEPb

Участник
Сообщения
143
Симпатии
49
Баллы
109
#2
А флаг доступа изменить это табу?
 

3BEPb

Участник
Сообщения
143
Симпатии
49
Баллы
109
#4
Сменить флаг в нужном тебе плагине и всё. Вот тебе
в помощь.
 

wantip22

Участник
Сообщения
343
Симпатии
40
Баллы
104
#5
Компилируй.

Код:
#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_C)
    {
        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();
                        }
                }
        }
}
 

Lysva

Участник
Сообщения
21
Симпатии
0
Баллы
57
#6
wantip22, Спасибо большое!
У меня еще проблемка есть,буду благодарен!
в admin_check (/admin) показывает только гл.администратора и випа онлайн,а простого администратора не показывает (флаги:a,b,c,d,e,f,i,j,u)
"Админов онлайн: нет
випов онлайн: нет"
Скрипт код плагина:
Код:
#include <amxmodx>
#include <amxmisc> 

public plugin_init()
{
register_plugin("Admin_Check", "0.1", "LipTon*")

register_clcmd("say /admin", "show_admins")
register_clcmd("say /vip", "show_admins")
register_clcmd("say_team /admin", "show_admins")
register_clcmd("say_team /vip", "show_admins")

register_cvar("amx_contactinfo", "FCVAR_SERVER")
}

public show_admins(id)
{

new Admins[16], aCounter = 0
new VIP[16], vCounter = 0
new Info[16], iCounter = 0
new MaxP[32], pCounter, player

get_players(MaxP, pCounter, "ch")

for (new i=0 ; i<pCounter ; i++)
{
player = MaxP[i]

if (access(player, ADMIN_LEVEL_A)) {
Admins[aCounter] = player
aCounter++
continue;
}             

if (access(player, ADMIN_LEVEL_H)) {
VIP[vCounter] = player
vCounter++
continue;
}     
if (access(player, ADMIN_LEVEL_H)) {
Info[iCounter] = player
iCounter++
continue;
}       
}

if (aCounter == 0)    // Admins online 
{ 
ChatColor(id, "!gАдмины: !tонлайн нет!y.") 
} 
else 
{ 
new adminonline[200] 
new adminname[32], iAdminID 

for (new z=0 ; z<aCounter ; z++) 
{ 
iAdminID = Admins[z] 
get_user_name(iAdminID, adminname, 31) 
add(adminonline, charsmax(adminonline), adminname) 

if (z != aCounter-1) 
{ 
add(adminonline, charsmax(adminonline), ", ") 
} 


}
ChatColor(id, "!gАдмины: !t%s!y.", adminonline) 
}

if (vCounter == 0)    // VIP online
{ 
ChatColor(id, "!gВипы: !tонлайн нет!y.") 
} 
else 
{ 
new viponline[200] 
new vipname[32], iVIPID 

for (new z=0 ; z<vCounter ; z++) 
{ 
iVIPID = VIP[z] 
get_user_name(iVIPID, vipname, 31) 
add(viponline, charsmax(viponline), vipname) 

if (z != vCounter-1) 
{ 
add(viponline, charsmax(viponline), ", ") 
} 

}
ChatColor(id, "!gВипы: !t%s!y.", viponline)     
}

if (iCounter == 0)    // Контактная информация
{ 
new contact[112]

get_cvar_string("amx_contactinfo", contact, 63)
if(contact[0])
{
ChatColor(id, "!gКонтакты Админа !y- !t%s", contact)     
}   
} 
else     
{ 
new kinfo[200] 
new kname[32], iInfoID         

for (new z=0 ; z<iCounter ; z++) 
{ 
iInfoID = Info[z] 
get_user_name(iInfoID, kname, 31) 
add(kinfo, charsmax(kinfo), kname)

if (z != iCounter-1) 
{ 
add(kinfo, charsmax(kinfo), ", ") 
}               
}       
}
}

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

replace_all(msg, 190, "!g", "^4")
replace_all(msg, 190, "!y", "^1")
replace_all(msg, 190, "!t", "^3")

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();
}
}
}
}

/* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE
*{\\ rtf1\\ fbidis\\ ansi\\ ansicpg1252\\ deff0{\\ fonttbl{\\ f0\\ fnil\\ fcharset0 Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ ltrpar\\ lang1037\\ f0\\ fs16 \n\\ par }
*/
 

wantip22

Участник
Сообщения
343
Симпатии
40
Баллы
104
#7
Я не понял, тебе надо, чтобы показывало, ещё третью строчку, то есть простых админов что ли?
 

Lysva

Участник
Сообщения
21
Симпатии
0
Баллы
57
#8
wantip22,
там две строчки: Випы и Админы онлайн,когда захожу под простым админом,не показывает,что онлайн,а когда под гл.админом захожу,показывает.
 

wantip22

Участник
Сообщения
343
Симпатии
40
Баллы
104
#9
wantip22,
там две строчки: Випы и Админы онлайн,когда захожу под простым админом,не показывает,что онлайн,а когда под гл.админом захожу,показывает.
Флаги какие у простого админа и которых нет у гл. админа?
 

wantip22

Участник
Сообщения
343
Симпатии
40
Баллы
104
#11
Держи.

Код:
#include <amxmodx>
#include <amxmisc> 

public plugin_init()
{
register_plugin("Admin_Check", "0.1", "LipTon*")

register_clcmd("say /admin", "show_admins")
register_clcmd("say /vip", "show_admins")
register_clcmd("say_team /admin", "show_admins")
register_clcmd("say_team /vip", "show_admins")

register_cvar("amx_contactinfo", "FCVAR_SERVER")
}

public show_admins(id)
{

new Admins[16], aCounter = 0
new VIP[16], vCounter = 0
new Info[16], iCounter = 0
new MaxP[32], pCounter, player

get_players(MaxP, pCounter, "ch")

for (new i=0 ; i<pCounter ; i++)
{
player = MaxP[i]

if (access(player, ADMIN_KICK)) {
Admins[aCounter] = player
aCounter++
continue;
}             

if (access(player, ADMIN_LEVEL_H)) {
VIP[vCounter] = player
vCounter++
continue;
}     
if (access(player, ADMIN_LEVEL_H)) {
Info[iCounter] = player
iCounter++
continue;
}       
}

if (aCounter == 0)    // Admins online 
{ 
ChatColor(id, "!gАдмины: !tонлайн нет!y.") 
} 
else 
{ 
new adminonline[200] 
new adminname[32], iAdminID 

for (new z=0 ; z<aCounter ; z++) 
{ 
iAdminID = Admins[z] 
get_user_name(iAdminID, adminname, 31) 
add(adminonline, charsmax(adminonline), adminname) 

if (z != aCounter-1) 
{ 
add(adminonline, charsmax(adminonline), ", ") 
} 


}
ChatColor(id, "!gАдмины: !t%s!y.", adminonline) 
}

if (vCounter == 0)    // VIP online
{ 
ChatColor(id, "!gВипы: !tонлайн нет!y.") 
} 
else 
{ 
new viponline[200] 
new vipname[32], iVIPID 

for (new z=0 ; z<vCounter ; z++) 
{ 
iVIPID = VIP[z] 
get_user_name(iVIPID, vipname, 31) 
add(viponline, charsmax(viponline), vipname) 

if (z != vCounter-1) 
{ 
add(viponline, charsmax(viponline), ", ") 
} 

}
ChatColor(id, "!gВипы: !t%s!y.", viponline)     
}

if (iCounter == 0)    // Контактная информация
{ 
new contact[112]

get_cvar_string("amx_contactinfo", contact, 63)
if(contact[0])
{
ChatColor(id, "!gКонтакты Админа !y- !t%s", contact)     
}   
} 
else     
{ 
new kinfo[200] 
new kname[32], iInfoID         

for (new z=0 ; z<iCounter ; z++) 
{ 
iInfoID = Info[z] 
get_user_name(iInfoID, kname, 31) 
add(kinfo, charsmax(kinfo), kname)

if (z != iCounter-1) 
{ 
add(kinfo, charsmax(kinfo), ", ") 
}               
}       
}
}

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

replace_all(msg, 190, "!g", "^4")
replace_all(msg, 190, "!y", "^1")
replace_all(msg, 190, "!t", "^3")

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();
}
}
}
}

/* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE
*{\\ rtf1\\ fbidis\\ ansi\\ ansicpg1252\\ deff0{\\ fonttbl{\\ f0\\ fnil\\ fcharset0 Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ ltrpar\\ lang1037\\ f0\\ fs16 \n\\ par }
*/
 

Lysva

Участник
Сообщения
21
Симпатии
0
Баллы
57
#14
Компилируй.

Код:
#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_C)
    {
        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();
                        }
                }
        }
}

у меня это тоже не компилируется
 

SelmarT

Участник
Сообщения
71
Симпатии
60
Баллы
89
#15
Все нормально компилируется, посмотри что за ошибку выводит твой компилятор "Could not locate output file - Не удалось найти выходной файл", попробуй разобраться с ней, не мучай людей =)
Исправил табуляцию.
 

Вложения

Lysva

Участник
Сообщения
21
Симпатии
0
Баллы
57
#17
Компилируй.

Код:
#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_C)
    {
        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();
                        }
                }
        }
}
Скажи еще пожалуйста,какой флаг теперь ставить,что бы рестарт был доступен?
 

olman

Участник
Сообщения
230
Симпатии
54
Баллы
109
Возраст
36
#20
Закрыто
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху