Код:
#include <amxmodx>
#include <amxmisc>
#include <cstrike>
#include <amxmisc>
#include <hamsandwich>
#include <colorchat>
new chat[33]
#pragma tabsize 0
#define PLUGIN "Меню сервера ProStrike Public ©"
#define VERSION "2.1a"
#define AUTHOR "aline"
new keys = MENU_KEY_1|MENU_KEY_2|MENU_KEY_3|MENU_KEY_4|MENU_KEY_5|MENU_KEY_6|MENU_KEY_7|MEN
U_KEY_8|MENU_KEY_9|MENU_KEY_0
new keys2 = MENU_KEY_1|MENU_KEY_2|MENU_KEY_3|MENU_KEY_4|MENU_KEY_5|MENU_KEY_6|MENU_KEY_7|MEN
U_KEY_8|MENU_KEY_9|MENU_KEY_0
new keys3 = MENU_KEY_1|MENU_KEY_2|MENU_KEY_3|MENU_KEY_4|MENU_KEY_5|MENU_KEY_6|MENU_KEY_7|MEN
U_KEY_8|MENU_KEY_9|MENU_KEY_0
new keys4 = MENU_KEY_1|MENU_KEY_2|MENU_KEY_3|MENU_KEY_4|MENU_KEY_5|MENU_KEY_6|MENU_KEY_7|MEN
U_KEY_8|MENU_KEY_9|MENU_KEY_0
public plugin_init()
{
register_plugin(PLUGIN, VERSION, AUTHOR)
register_menu("Menu 1", keys, "func_menu")
register_clcmd("say /menu", "server_menu" )
register_clcmd("", "server_menu2" )
register_menu("Menu 2", keys2, "func_menu2")
register_clcmd("say /shop", "server_menu3" )
register_menu("Menu 3", keys3, "func_menu3")
register_clcmd("say /administration", "server_menu4","ADMIN_IMMINITY","-nore menu for admin" )
register_menu("Menu 4", keys4, "func_menu4")
}
public client_authorized(id)
{
client_cmd(id, "^"bind^" F3 ^"say /menu^"")
}
public server_menu(id)
{
static flag
flag = get_user_flags(id)
new name[32]
get_user_name(id, name, 31)
static menu[650], iLen
iLen = 0
iLen = formatex(menu[iLen], charsmax(menu) - iLen, "\wМеню сервера | Привет: \y%s^n^n", name)
iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\r1. \wОбнулить счёт^n")
keys |= MENU_KEY_1
iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\r2. \wЗаглушить игрока^n")
keys |= MENU_KEY_2
iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\r3. \wПередать деньги^n")
keys |= MENU_KEY_3
iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\r4. \wТоп игроков^n^n")
keys |= MENU_KEY_4
if(!chat[id])
{
iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\r5. \wЯзык чата \d[ \yАнглийский \d]^n")
keys |= MENU_KEY_5
}
else
{
iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\r5. \wЯзык чата \d[ \yРусский \d]^n")
keys |= MENU_KEY_5
}
if(flag & ADMIN_LEVEL_H)
{
iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\r6. \wВотебан \d[ \yДоступно \d]^n^n")
keys |= MENU_KEY_6
}
else
{
iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\r6. \dВотебан [ \rНедоступно \d]^n^n")
keys |= MENU_KEY_6
}
if(flag & ADMIN_IMMUNITY)
{
iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\r7. \wЦентр администрации \d[ \yДоступно \d]^n")
keys |= MENU_KEY_7
}
else
{
iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\r7. \dЦентр администрации [ \rНедоступно \d]^n")
keys |= MENU_KEY_7
}
iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\r8. \wМагазин сервера^n^n")
keys |= MENU_KEY_8
iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\r9. \wДалее^n")
keys |= MENU_KEY_9
iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\r0. \wВыход^n")
keys |= MENU_KEY_0
if(get_user_flags(id) & ADMIN_IMMUNITY)
{
menu_display(id, 0)
}
if(!(get_user_flags(id) & ADMIN_IMMUNITY))
{
ColorChat(id, DontChange, "^4[^3Menu^4] ^4У вас нет доступа для входа в ^3админ центр.")
return
}
show_menu(id, keys, menu, -1, "Menu 1")
return PLUGIN_HANDLED
}
public func_menu(id, key)
{
switch(key)
{
case 0: client_cmd(id, "say /rs")
case 1: client_cmd(id, "say /mute")
case 2: client_cmd(id, "say /tm")
case 3: client_cmd(id, "say /top")
case 4:
{
if(chat[id])
{
client_cmd(id, "say /eng")
chat[id] = 0
server_menu(id)
}
else
{
client_cmd(id, "say /rus")
chat[id] = 1
server_menu(id)
}
}
case 5: client_cmd(id, "say /voteban")
case 6: client_cmd(id, "say /administration")
case 7: client_cmd(id, "say /shop")
case 8: server_menu2(id)
}
return PLUGIN_HANDLED
}
public server_menu2(id)
{
new name[32]
get_user_name(id, name, 31)
static menu[650], iLen
iLen = 0
iLen = formatex(menu[iLen], charsmax(menu) - iLen, "\wМеню сервера | Привет: \y%s^n^n", name)
iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\r1. \wАдмины онлайн^n")
keys2 |= MENU_KEY_1
iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\r2. \wВипы онлайн^n")
keys2 |= MENU_KEY_2
iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\r3. \wМодераторы онлайн^n^n")
keys2 |= MENU_KEY_3
iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\r4. \wПолная статистика игроков^n")
keys2 |= MENU_KEY_4
iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\r5. \wРанк на сервере^n")
keys2 |= MENU_KEY_5
iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\r6. \wСписок званий^n^n")
keys2 |= MENU_KEY_6
iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\r7. \wСписок доступных комманд^n")
keys2 |= MENU_KEY_7
iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\r8. \wПравила сервера^n^n")
keys2 |= MENU_KEY_8
iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\r9. \wНазад^n")
keys2 |= MENU_KEY_9
iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\r0. \wВыход^n^n")
keys2 |= MENU_KEY_0
show_menu(id, keys2, menu, -1, "Menu 2")
return PLUGIN_HANDLED
}
public func_menu2(id, key)
{
switch(key)
{
case 0: client_cmd(id, "say /admins")
case 1: client_cmd(id, "say /vips")
case 2: client_cmd(id, "say /moderators")
case 3: client_cmd(id, "say /stats")
case 4: client_cmd(id, "say /rank")
case 5: client_cmd(id, "say /alist")
case 6: client_cmd(id, "say /say")
case 7: client_cmd(id, "say /rules")
case 8: server_menu(id)
}
return PLUGIN_HANDLED
}
public server_menu3(id)
{
new name[32]
get_user_name(id, name, 31)
static menu[650], iLen
iLen = 0
iLen = formatex(menu[iLen], charsmax(menu) - iLen, "\wМагазин сервера | Привет: \y%s^n^n", name)
iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\r1. \wЗаказать админку^n")
keys3 |= MENU_KEY_1
iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\r2. \wЗаказать випку^n")
keys3 |= MENU_KEY_2
iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\r3. \wЗаказать модераторство^n^n")
keys3 |= MENU_KEY_3
iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\r9. \wНазад^n")
keys3 |= MENU_KEY_9
iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\r0. \wВыход^n")
keys3 |= MENU_KEY_0
show_menu(id, keys3, menu, -1, "Menu 3")
return PLUGIN_HANDLED
}
public func_menu3(id, key)
{
switch(key)
{
case 0: client_cmd(id, "say /buyadmin")
case 1: client_cmd(id, "say /buyvip")
case 2: client_cmd(id, "say /buymoder")
case 8: server_menu(id)
}
return PLUGIN_HANDLED
}
public server_menu4(id)
{
if (!cmd_access(id, level, cid, 0))
return PLUGIN_HANDLED
static flag
flag = get_user_flags(id)
new name[32]
get_user_name(id, name, 31)
static menu[650], iLen
iLen = 0
iLen = formatex(menu[iLen], charsmax(menu) - iLen, "\wЦентр администрации | Привет: \y%s^n^n", name)
if(flag & ADMIN_BAN)
{
iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\r1. \wМеню админа \d[ \yДоступно \d]^n")
keys4 |= MENU_KEY_1
}
else
{
iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\r1. \dМеню админа [ \rНедоступно \d]^n")
keys4 |= MENU_KEY_1
}
if(flag & ADMIN_LEVEL_G)
{
iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\r2. \wМеню модератора \d[ \yДоступно \d]^n")
keys4 |= MENU_KEY_2
}
else
{
iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\r2. \dМеню модератора [ \rНедоступно \d]^n")
keys4 |= MENU_KEY_2
}
if(flag & ADMIN_LEVEL_H)
{
iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\r3. \wМеню випа \d[ \yДоступно \d]^n^n")
keys4 |= MENU_KEY_3
}
else
{
iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\r3. \dМеню випа [ \rНедоступно \d]^n^n")
keys4 |= MENU_KEY_3
}
iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\r9. \wНазад^n")
keys4 |= MENU_KEY_9
iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\r0. \wВыход^n")
keys4 |= MENU_KEY_0
show_menu(id, keys4, menu, -1, "Menu 4")
return PLUGIN_HANDLED
}
public func_menu4(id, key)
{
switch(key)
{
case 0: client_cmd(id, "say /adminmenu")
case 1: client_cmd(id, "say /modermenu")
case 2: client_cmd(id, "say /vipmenu")
case 8: server_menu(id)
}
return PLUGIN_HANDLED
}
/* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE
*{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang1049\\ f0\\ fs16 \n\\ par }
*/