Код:
#include <amxmodx>
#include <amxmisc>
#include <colorchat>
#define PLUGIN "Public Menu"
#define VERSION "1.0"
#define AUTHOR "NinTenDo-Cs"
new Dinfo[33], Chat[33], Spec[33], Rank[33], Pinfo[33]
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_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_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_0
new keys5 = MENU_KEY_1|MENU_KEY_2|MENU_KEY_3|MENU_KEY_4|MENU_KEY_0
new keys6 = MENU_KEY_1|MENU_KEY_2|MENU_KEY_3|MENU_KEY_0
new keys7 = MENU_KEY_1|MENU_KEY_2|MENU_KEY_3|MENU_KEY_0
public plugin_init()
{
register_plugin(PLUGIN, VERSION, AUTHOR)
register_menu("Menu", keys, "pub_func")
register_menu("Setting", keys2, "set_func")
register_menu("Commands", keys3, "cmd_func")
register_menu("Stats", keys4, "stats_func")
register_menu("Info", keys5, "info_func")
register_menu("Buy", keys6, "buy_func")
register_menu("Privileges", keys7, "priv_func")
register_clcmd("menu", "pub_menu")
register_clcmd("amx_menu", "pub_menu")
register_clcmd("server_menu", "pub_menu")
register_clcmd("chooseteam", "pub_menu")
register_clcmd("say /menu", "pub_menu")
register_clcmd("say_team /menu", "pub_menu")
register_clcmd("say /buy", "buy")
register_clcmd("say /vipka", "buy")
register_clcmd("say /adminka", "buy")
register_clcmd("say /premium", "buy")
register_clcmd("say_team /buy", "buy")
register_clcmd("say_team /vipka", "buy")
register_clcmd("say_team /adminka", "buy")
register_clcmd("say_team /premium", "buy")
}
public pub_menu(id)
{
static menu[650], iLen
iLen = 0
iLen = formatex(menu[iLen], charsmax(menu) - iLen, "\rМеню пользователя^n^n")
iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\y[1] \wВыбрать команду^n^n")
keys |= MENU_KEY_1
iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\y[2] \wНастройки^n")
keys |= MENU_KEY_2
iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\y[3] \wЧат команды^n")
keys |= MENU_KEY_3
iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\y[4] \wСтатистика^n")
keys |= MENU_KEY_4
iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\y[5] \wИнформация^n")
keys |= MENU_KEY_5
iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\y[6] \wПокупка^n")
keys |= MENU_KEY_6
iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\y[7] \wПривилегии^n^n")
keys |= MENU_KEY_7
iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\y[0] \wВыход^n")
keys |= MENU_KEY_0
show_menu(id, keys, menu, -1, "Menu")
return PLUGIN_HANDLED
}
public pub_func(id, key)
{
switch(key)
{
case 0: client_cmd(id, "jointeam")
case 1: setting(id)
case 2: commands(id)
case 3: stats(id)
case 4: info(id)
case 5: buy(id)
case 6: privileges(id)
}
return PLUGIN_HANDLED
}
public setting(id)
{
static menu[650], iLen
iLen = 0
iLen = formatex(menu[iLen], charsmax(menu) - iLen, "\rНастройки^n^n")
iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\y[1] \wКупить ножик^n")
keys |= MENU_KEY_1
iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\y[2] \wПодсветка при убийстве^n^n")
keys |= MENU_KEY_2
if(Dinfo[id])
{
iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\y[3] \wИнформер: \rВыкл.^n")
keys |= MENU_KEY_3
}
else
{
iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\y[3] \wИнформер: \yВкл.^n")
keys |= MENU_KEY_3
}
if(Chat[id])
{
iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\y[4] \wЯзык чата: \yРусский^n")
keys |= MENU_KEY_4
}
else
{
iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\y[4] \wЯзык чата: \rАнглийский^n")
keys |= MENU_KEY_4
}
if(Spec[id])
{
iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\y[5] \wНаблюдатели: \rВыкл.^n")
keys |= MENU_KEY_5
}
else
{
iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\y[5] \wНаблюдатели: \yВкл.^n")
keys |= MENU_KEY_5
}
if(Rank[id])
{
iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\y[6] \wСообшения о ранге: \rВыкл.^n")
keys |= MENU_KEY_6
}
else
{
iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\y[6] \wСообшения о ранге: \yВкл.^n")
keys |= MENU_KEY_6
}
if(Pinfo[id])
{
iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\y[7] \wИнфо о игроке: \rВыкл.^n^n")
keys |= MENU_KEY_7
}
else
{
iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\y[7] \wИнфо о игроке: \yВкл.^n^n")
keys |= MENU_KEY_7
}
iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\y[0] \wВыход^n")
keys |= MENU_KEY_0
show_menu(id, keys2, menu, -1, "Setting")
return PLUGIN_HANDLED
}
public set_func(id, key)
{
switch(key)
{
case 0: client_cmd(id, "say /knife")
case 1: client_cmd(id, "say /fade")
case 2:
{
if(!Dinfo[id])
{
client_cmd(id, "say /aenable")
Dinfo[id] = true
}
else
{
client_cmd(id, "say /aenable")
Dinfo[id] = false
}
setting(id)
}
case 3:
{
if(!Chat[id])
{
client_cmd(id, "say /rus")
Chat[id] = true
}
else
{
client_cmd(id, "say /eng")
Chat[id] = false
}
setting(id)
}
case 4:
{
if(!Spec[id])
{
client_cmd(id, "say /spec")
Spec[id] = true
}
else
{
client_cmd(id, "say /spec")
Spec[id] = false
}
setting(id)
}
case 5:
{
if(!Rank[id])
{
client_cmd(id, "say /irank")
Rank[id] = true
}
else
{
client_cmd(id, "say /irank")
Rank[id] = false
}
setting(id)
}
case 6:
{
if(!Pinfo[id])
{
client_cmd(id, "say /pinfo")
Pinfo[id] = true
}
else
{
client_cmd(id, "say /pinfo")
Pinfo[id] = false
}
setting(id)
}
}
return PLUGIN_HANDLED
}
public commands(id)
{
static menu[650], iLen
iLen = 0
iLen = formatex(menu[iLen], charsmax(menu) - iLen, "\rЧат команды^n^n")
iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\y[1] \wСбросить фраги^n")
keys |= MENU_KEY_1
iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\y[2] \wАдмины инлайн^n")
keys |= MENU_KEY_2
iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\y[3] \wСменить карту^n")
keys |= MENU_KEY_3
iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\y[4] \wНоминация карт^n")
keys |= MENU_KEY_4
iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\y[5] \wСколько осталось играть^n")
keys |= MENU_KEY_5
iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\y[6] \wСледующая карта^n")
keys |= MENU_KEY_6
iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\y[7] \wТекущая карта^n")
keys |= MENU_KEY_7
iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\y[8] \wЗаткнуть школу^n")
keys |= MENU_KEY_8
iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\y[9] \wЗабанить читерюгу^n^n")
keys |= MENU_KEY_9
iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\y[0] \wВыход^n")
keys |= MENU_KEY_0
show_menu(id, keys3, menu, -1, "Commands")
return PLUGIN_HANDLED
}
public cmd_func(id, key)
{
switch(key)
{
case 0: client_cmd(id, "say /rs")
case 1: client_cmd(id, "say /admins")
case 2: client_cmd(id, "say /rtv")
case 3: client_cmd(id, "say /maps")
case 4: client_cmd(id, "say timeleft")
case 5: client_cmd(id, "say nextmap")
case 6: client_cmd(id, "say currentmap")
case 7: client_cmd(id, "say /mute")
case 8: client_cmd(id, "say /voteban")
}
return PLUGIN_HANDLED
}
public stats(id)
{
static menu[650], iLen
iLen = 0
iLen = formatex(menu[iLen], charsmax(menu) - iLen, "\rСтатистика^n^n")
iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\y[1] \wТоп лучших^n")
keys |= MENU_KEY_1
iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\y[2] \wМоя статистика^n")
keys |= MENU_KEY_2
iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\y[3] \wСтатистика карты^n")
keys |= MENU_KEY_3
iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\y[4] \wСтатистика игроков^n")
keys |= MENU_KEY_4
iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\y[5] \wСписок званий^n")
keys |= MENU_KEY_5
iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\y[6] \wИспользовать бонусы^n^n")
keys |= MENU_KEY_6
iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\y[0] \wВыход^n")
keys |= MENU_KEY_0
show_menu(id, keys4, menu, -1, "Stats")
return PLUGIN_HANDLED
}
public stats_func(id, key)
{
switch(key)
{
case 0: client_cmd(id, "say /top15")
case 1: client_cmd(id, "say /rankstats")
case 2: client_cmd(id, "say /statsme")
case 3: client_cmd(id, "say /stats")
case 4: client_cmd(id, "say /alist")
case 5: client_cmd(id, "say /anew")
}
return PLUGIN_HANDLED
}
public info(id)
{
static menu[650], iLen
iLen = 0
iLen = formatex(menu[iLen], charsmax(menu) - iLen, "\rИнформация^n^n")
iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\y[1] \wНаш IP^n")
keys |= MENU_KEY_1
iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\y[2] \wГруппа ВК^n")
keys |= MENU_KEY_2
iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\y[3] \wГл.Админ^n")
keys |= MENU_KEY_3
iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\y[4] \wСкайп^n^n")
keys |= MENU_KEY_4
iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\y[0] \wВыход^n")
keys |= MENU_KEY_0
show_menu(id, keys5, menu, -1, "Info")
return PLUGIN_HANDLED
}
public info_func(id, key)
{
switch(key)
{
case 0:
{
ColorChat(id, BLUE, "^1[^4Паблик^1] Наш IP:^3 185.31.163.127:27023 ^1- ^4добавляй в избранное!")
info(id)
}
case 1:
{
ColorChat(id, BLUE, "^1[^4Паблик^1] Наша группа ^3[В]контакте: ^4vk.com/nintendo.show")
info(id)
}
case 2:
{
ColorChat(id, BLUE, "^1[^4Паблик^1] Главный Администратор: ^3NinTenDo-Cs^1.")
info(id)
}
case 3:
{
ColorChat(id, BLUE, "^1[^4Паблик^1] Скайп для связи: ^3NinTenDo-Cs^1.")
info(id)
}
}
return PLUGIN_HANDLED
}
public buy(id)
{
static menu[650], iLen
iLen = 0
iLen = formatex(menu[iLen], charsmax(menu) - iLen, "\rПокупка^n^n")
iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\y[1] \wПремиум^n")
keys |= MENU_KEY_1
iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\y[2] \wАдмин^n")
keys |= MENU_KEY_2
iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\y[3] \wВип^n^n")
keys |= MENU_KEY_3
iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\y[0] \wВыход^n")
keys |= MENU_KEY_0
show_menu(id, keys6, menu, -1, "Buy")
return PLUGIN_HANDLED
}
public buy_func(id, key)
{
switch(key)
{
case 0:
{
show_motd(id,"premium.txt","Премиум аккаунт")
buy(id)
}
case 1:
{
show_motd(id,"admin.txt","Админ права")
buy(id)
}
case 2:
{
show_motd(id,"vip.txt","Вип привилегии")
buy(id)
}
}
return PLUGIN_HANDLED
}
public privileges(id)
{
static menu[650], iLen
iLen = 0
iLen = formatex(menu[iLen], charsmax(menu) - iLen, "\rПривилегии^n^n")
if(get_user_flags(id) & ADMIN_LEVEL_H)
{
iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\y[1] \wВип Меню^n")
keys |= MENU_KEY_1
}
else
{
iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\y[1] \dВип Меню^n")
keys &= ~MENU_KEY_1
}
if(get_user_flags(id) & ADMIN_BAN)
{
iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\y[2] \wАдмин Меню^n")
keys |= MENU_KEY_2
}
else
{
iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\y[2] \dАдмин Меню^n")
keys &= ~MENU_KEY_2
}
if(get_user_flags(id) & ADMIN_LEVEL_D)
{
iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\y[3] \wПремиум Меню^n^n")
keys |= MENU_KEY_3
}
else
{
iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\y[3] \dПремиум Меню^n^n")
keys &= ~MENU_KEY_3
}
iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\y[0] \wВыход^n")
keys |= MENU_KEY_0
show_menu(id, keys7, menu, -1, "Privileges")
return PLUGIN_HANDLED
}
public priv_func(id, key)
{
switch(key)
{
case 0: client_cmd(id, "vipmenu")
case 1: client_cmd(id, "amxmodmenu")
case 2: client_cmd(id, "premiummenu")
}
return PLUGIN_HANDLED
}