#include <amxmodx>
#include <amxmisc>
#include <fun>
// ~ Дефайн с биндом флагов (глобал) ~
// ~ Закомментировать #define MULTI_FLAGS если не используете систему пробного периода ~
#define GL_FLAG ADMIN_BAN //Бинд флага (меняется на какой хотите, только с этим флагом, будут доступны: основные функции)
#define MULTI_FLAGS (ADMIN_USER|ADMIN_LEVEL_H) //Мульти бинд флагов (например для вип и юзеров, только с этими флагами будут доступны: пробный период (пробные разы))
//Дефайн для plugin_precache (проверка), закомментировать если нехотим что бы скачивалась музыка.. глобал и для меню
#define RM_SOUND_GL //активирует скачку всех песен
#define RM_SOUND_MN //включить или выключить скачку отдельно для меню (основываясь из RM_SOUND_MENU)
//константы названия плагина, версии плагина, автора плагина
new const PLUGIN[] = "Real-Menu";
new const VERSION[] = "1.1";
new const AUTHOR[] = "wellasgood";
//константы музыки
new const RM_SND_YES[] = "real-menu/yes.wav";
new const RM_SND_NO[] = "real-menu/no.wav";
new const RM_SND_HELLO[] = "real-menu/hello.wav";
//цветное меню, раунд
new g_ColorMenu, g_Round;
//2 страница меню
new g_NextMenu[MAX_PLAYERS+1];
//счетчики ограничителей
new g_limit_sp1[MAX_PLAYERS+1];
new g_limit_sp2[MAX_PLAYERS+1];
new g_limit_sp3[MAX_PLAYERS+1];
new g_limit_gr[MAX_PLAYERS+1];
new g_limit_sh[MAX_PLAYERS+1];
new g_limit_nc[MAX_PLAYERS+1];
new g_limit_spw[MAX_PLAYERS+1];
//счетчики ограничителей для пробного периода (юзеры)
new g_lm_sp1_user[MAX_PLAYERS+1];
new g_lm_sp2_user[MAX_PLAYERS+1];
new g_lm_sp3_user[MAX_PLAYERS+1];
new g_lm_gr_user[MAX_PLAYERS+1];
new g_lm_sh_user[MAX_PLAYERS+1];
new g_lm_nc_user[MAX_PLAYERS+1];
new g_lm_spw_user[MAX_PLAYERS+1];
//счетчик времени лимита до повторного использования способности
new g_ReloadTime[MAX_PLAYERS+1];
//переключатели времени лимита на использование способности по времени
new bool:g_abilities_sp1[MAX_PLAYERS+1];
new bool:g_abilities_sp2[MAX_PLAYERS+1];
new bool:g_abilities_sp3[MAX_PLAYERS+1];
new bool:g_abilities_gr[MAX_PLAYERS+1];
new bool:g_abilities_nc[MAX_PLAYERS+1];
//переключатель для соунда меню
new bool:g_sound_menu[MAX_PLAYERS+1] = false;
//раундные переменные
new RM_ROUND, RM_ROUND_COUNT;
//скоростные переменные
new RM_SPEED_1, RM_SPEED_2, RM_SPEED_3;
//гравитационная переменная
new RM_GRAVITY;
//ограничительные переменные (обычные)
new RM_LIMITER, RM_LIMITER_SPEED1, RM_LIMITER_SPEED2, RM_LIMITER_SPEED3, RM_LIMITER_GRAVITY, RM_LIMITER_SHIELD, RM_LIMITER_NOCLIP, RM_LIMITER_SPAWN;
//ограничительные переменные (пробный период)
new RM_LIMITER_USER, RM_LM_SPEED1_USER, RM_LM_SPEED2_USER, RM_LM_SPEED3_USER, RM_LM_GRAVITY_USER, RM_LM_SHIELD_USER, RM_LM_NOCLIP_USER, RM_LM_SPAWN_USER;
//звуковые переменные
new RM_SOUND_GLOBAL, RM_SOUND_MENU;
//переменные для отсчета времени до повторного использования способности
new RM_TIMER_ENABLED, RM_TIMER_TIME;
//переменные для отсчета времени до конца способности (способность дается на время)
new RM_ABILITIES_ENABLED, RM_ABILITIES_SPEED1, RM_ABILITIES_SPEED2, RM_ABILITIES_SPEED3, RM_ABILITIES_GRAVITY, RM_ABILITIES_NOCLIP;
//Ограничительная переменная для музыки меню
new RM_SOUND_MENU_STOP;
public plugin_init()
{
// Отключаем не нужные карты (на картах, начинающихся на эти префиксы, не будет работать плагин (если нужно))
new mapname[MAX_PLAYERS];
get_mapname(mapname, charsmax(mapname));
new maps[][] = { "de", "cs" };
for(new i; i < sizeof maps; i++){
if(containi(mapname, maps[i]) != -1){
pause("ad");
return;
}
}
register_plugin(PLUGIN, VERSION, AUTHOR);
register_logevent("round_start", 2, "0=World triggered", "1=Round_Start")
register_dictionary("real-menu.txt");
register_clcmd("say /real-menu", "cmdRealMenu", ADMIN_ALL)
register_clcmd("say /rm", "cmdRealMenu", ADMIN_ALL)
register_menu("Real-Menu", 1023, "realMenu")
register_menu("Next-Menu", 1023, "nextMenu")
RM_ROUND = register_cvar("rm_round","1") // вкл/выкл. (1/0) систему лимитов на раунды
RM_ROUND_COUNT = register_cvar("rm_round_count","3") // кол-во раундов, после которых можно будет пользовать функции плагина (команду)
RM_SPEED_1 = register_cvar("rm_speed1","1000") // устанавливаем скорость кайот
RM_SPEED_2 = register_cvar("rm_speed2","2000") // устанавливаем скорость гипард
RM_SPEED_3 = register_cvar("rm_speed3","3000") // устанавливаем скорость пуля
RM_GRAVITY = register_cvar("rm_gravity","0.3") //1.0 = 800 гравити, если ставим 0.3 то гравитация 300 (в функции ставится значение RM_GRAVITY)
RM_LIMITER = register_cvar("rm_limiter","1") // вкл/выкл. (1/0) систему лимитов функций (если 0, то все функции доступно бесконечно для использования)
RM_LIMITER_SPEED1 = register_cvar("rm_lm_speed1","5") // ограничитель на кол-во раз использований данной функции
RM_LIMITER_SPEED2 = register_cvar("rm_lm_speed2","5") // ограничитель на кол-во раз использований данной функции
RM_LIMITER_SPEED3 = register_cvar("rm_lm_speed3","5") // ограничитель на кол-во раз использований данной функции
RM_LIMITER_GRAVITY = register_cvar("rm_lm_gravity","5") // ограничитель на кол-во раз использований данной функции
RM_LIMITER_SHIELD = register_cvar("rm_lm_shield","3") // ограничитель на кол-во раз использований данной функции
RM_LIMITER_NOCLIP = register_cvar("rm_lm_noclip","2") // ограничитель на кол-во раз использований данной функции
RM_LIMITER_SPAWN = register_cvar("rm_lm_spawn","3") // ограничитель на кол-во раз использований данной функции
RM_LIMITER_USER = register_cvar("rm_limiter_user","1") // вкл/выкл. (1/0) систему лимитов функций (пробный период для юзеров)
RM_LM_SPEED1_USER = register_cvar("rm_lm_sp1_us","2") // ограничитель на кол-во раз использований данной функции
RM_LM_SPEED2_USER = register_cvar("rm_lm_sp2_us","2") // ограничитель на кол-во раз использований данной функции
RM_LM_SPEED3_USER = register_cvar("rm_lm_sp3_us","2") // ограничитель на кол-во раз использований данной функции
RM_LM_GRAVITY_USER = register_cvar("rm_lm_gr_us","2") // ограничитель на кол-во раз использований данной функции
RM_LM_SHIELD_USER = register_cvar("rm_lm_sh_us","2") // ограничитель на кол-во раз использований данной функции
RM_LM_NOCLIP_USER = register_cvar("rm_lm_nc_us","2") // ограничитель на кол-во раз использований данной функции
RM_LM_SPAWN_USER = register_cvar("rm_lm_spw_us","2") // ограничитель на кол-во раз использований данной функции
RM_SOUND_GLOBAL = register_cvar("rm_sound_gl","1") // вкл/выкл проигрывание музыки при результате функций плагина (1/0)
RM_SOUND_MENU = register_cvar("rm_sound_mn","1") // вкл/выкл проигрывание музыки при открытии меню (приветствие)
RM_SOUND_MENU_STOP = register_cvar("rm_sound_mn_st","1") // 1/0, если 0 то музыка при открытии меню будет всегда, если 1, то только 1 раз, при первом открытии.
RM_TIMER_ENABLED = register_cvar("rm_timer_en","1") // вкл/выкл 1/0 (система лимита времени, до повторной активации способности)
RM_TIMER_TIME = register_cvar("rm_timer","30") // Время, после которого можно снова задействовать команду.
RM_ABILITIES_ENABLED = register_cvar("rm_abilities_en","1") // вкл/выкл. (1/0) систему лимита по времени на сколько выдается способность (кроме spawn и shield)
RM_ABILITIES_SPEED1 = register_cvar("rm_abilities_sp1","25") // ограничитель на время использования (пишем время на которое будет активирована способность)
RM_ABILITIES_SPEED2 = register_cvar("rm_abilities_sp2","25") // ограничитель на время использования (пишем время на которое будет активирована способность)
RM_ABILITIES_SPEED3 = register_cvar("rm_abilities_sp3","60") // ограничитель на время использования (пишем время на которое будет активирована способность)
RM_ABILITIES_GRAVITY = register_cvar("rm_abilities_gr","30") // ограничитель на время использования (пишем время на которое будет активирована способность)
RM_ABILITIES_NOCLIP = register_cvar("rm_abilities_nc","15") // ограничитель на время использования (пишем время на которое будет активирована способность)
g_ColorMenu = colored_menus()
set_task(180.0, "rm_global_info", .flags = "b") // реклама всем в чат до конца карты через определенное время о плагине
if(get_pcvar_num(RM_LIMITER_USER) == 1){
set_task(80.0, "rm_global_lm_info", .flags = "b") // реклама всем в чат до конца карты через определенное время о пробном периоде
}
}
#if defined RM_SOUND_GL
public plugin_precache()
{
precache_sound(RM_SND_YES)
precache_sound(RM_SND_NO)
#if defined RM_SOUND_MN
precache_sound(RM_SND_HELLO)
#endif
}
#endif
public round_start()
{
if(get_pcvar_num(RM_ROUND) == 1){
g_Round++; // для лимита рундов
}
}
public client_disconnected(id)
{
g_NextMenu[id] = 0;
if(get_pcvar_num(RM_LIMITER) == 1){
g_limit_sp1[id] = 0;
g_limit_sp2[id] = 0;
g_limit_sp3[id] = 0;
g_limit_gr[id] = 0;
g_limit_sh[id] = 0;
g_limit_nc[id] = 0;
g_limit_spw[id] = 0;
}
if(get_pcvar_num(RM_LIMITER_USER) == 1){
g_lm_sp1_user[id] = 0;
g_lm_sp2_user[id] = 0;
g_lm_sp3_user[id] = 0;
g_lm_gr_user[id] = 0;
g_lm_sh_user[id] = 0;
g_lm_nc_user[id] = 0;
g_lm_spw_user[id] = 0;
}
if(get_pcvar_num(RM_ABILITIES_ENABLED) == 1){
g_abilities_sp1[id] = false;
g_abilities_sp2[id] = false;
g_abilities_sp3[id] = false;
g_abilities_gr[id] = false;
g_abilities_nc[id] = false;
}
if(get_pcvar_num(RM_TIMER_ENABLED) == 1){
g_ReloadTime[id] = 0;
}
if(get_pcvar_num(RM_SOUND_MENU_STOP) == 1){
g_sound_menu[id] = false;
}
}
public rm_global_info(id)
{
client_print_color(id, print_team_default, "%L", id, "RM_GLOBAL_INFO") // Реклама всем в чат о плагиине в голобальном плане
}
public rm_global_lm_info(id)
{
client_print_color(id, print_team_default, "%L", id, "RM_GLOBAL_LM_INFO") // Реклама всем в чат о возможности пробных разов для всех юзеров
}
public rm_limiter_us_info(id)
{
client_print_color(id, print_team_default, "%L", id, "RM_LIMITER_US_INFO") // Реклама в чат пользователю, что для больших раз использования нужно купить услугу.
}
public abilitiesOff(id)
{
if(g_abilities_sp1[id] == true){
if(g_abilities_sp2[id] == false && g_abilities_sp3[id] == false){
set_user_maxspeed(id, 250.0);
}
client_print_color(id, print_team_default, "%L", id, "RM_ABILITIES_SPEED1") // Реклама в чат пользователю об окончании действия способности
g_abilities_sp1[id] = false;
return PLUGIN_HANDLED;
}
else if(g_abilities_sp2[id] == true){
if(g_abilities_sp1[id] == false && g_abilities_sp3[id] == false){
set_user_maxspeed(id, 250.0);
}
client_print_color(id, print_team_default, "%L", id, "RM_ABILITIES_SPEED2") // Реклама в чат пользователю об окончании действия способности
g_abilities_sp2[id] = false;
return PLUGIN_HANDLED;
}
else if(g_abilities_sp3[id] == true){
if(g_abilities_sp1[id] == false && g_abilities_sp2[id] == false){
set_user_maxspeed(id, 250.0);
}
client_print_color(id, print_team_default, "%L", id, "RM_ABILITIES_SPEED3") // Реклама в чат пользователю об окончании действия способности
g_abilities_sp3[id] = false;
return PLUGIN_HANDLED;
}
else if(g_abilities_gr[id] == true){
set_user_gravity(id, 1.0);
client_print_color(id, print_team_default, "%L", id, "RM_ABILITIES_GRAVITY") // Реклама в чат пользователю об окончании действия способности
g_abilities_gr[id] = false;
return PLUGIN_HANDLED;
}
else if(g_abilities_nc[id] == true){
set_user_noclip(id, 0);
client_print_color(id, print_team_default, "%L", id, "RM_ABILITIES_NOCLIP") // Реклама в чат пользователю об окончании действия способности
g_abilities_nc[id] = false;
return PLUGIN_HANDLED;
}
return PLUGIN_HANDLED;
}
public cmdRealMenu(id, level, cid)
{
new pRnd = get_pcvar_num(RM_ROUND_COUNT) // объявим переменную
if(get_pcvar_num(RM_ROUND) == 1 && g_Round <= pRnd)
{
new RndCount = pRnd - g_Round
client_print_color(id, print_team_default, "%L", id, "RM_MENU_ROUND", RndCount + 1)
return PLUGIN_HANDLED;
}
if(get_pcvar_num(RM_SOUND_MENU) == 1)
{
if(get_pcvar_num(RM_SOUND_MENU_STOP) == 1){
if(g_sound_menu[id] == false){
SendAudio(id, fmt("sound/%s", RM_SND_HELLO));
}
g_sound_menu[id] = true;
showMenu(id);
return PLUGIN_HANDLED;
}
SendAudio(id, fmt("sound/%s", RM_SND_HELLO));
}
showMenu(id);
return PLUGIN_HANDLED;
}
showMenu(id)
{
new sFlagUsers = get_user_flags(id)
if(g_NextMenu[id] == 1){
new rmBody_2[512]
new len = formatex(rmBody_2, charsmax(rmBody_2), (g_ColorMenu ? "\y%L^n^n" : "%L^n^n"), id, "RM_MENU_NAME")
if(get_pcvar_num(RM_LIMITER) == 1 && sFlagUsers & GL_FLAG)
{
//оптимизируем данные для подстановки (ибо слшиком большой код)
new pLimit_spw = get_pcvar_num(RM_LIMITER_SPAWN) - g_limit_spw[id]
len += formatex(rmBody_2[len], charsmax(rmBody_2) - len, (g_ColorMenu ? "\r1. \w%L^n" : "1. %L^n"), id, "RM_MENU_ITEM9")
len += formatex(rmBody_2[len], charsmax(rmBody_2) - len, (g_ColorMenu ? "\r2. \w%L^n" : "2. %L^n"), id, "RM_MENU_LIMIT7", pLimit_spw)
len += formatex(rmBody_2[len], charsmax(rmBody_2) - len, "^n")
len += formatex(rmBody_2[len], charsmax(rmBody_2) - len, "^n")
len += formatex(rmBody_2[len], charsmax(rmBody_2) - len, "^n")
len += formatex(rmBody_2[len], charsmax(rmBody_2) - len, "^n")
len += formatex(rmBody_2[len], charsmax(rmBody_2) - len, "^n")
len += formatex(rmBody_2[len], charsmax(rmBody_2) - len, "^n^n")
len += formatex(rmBody_2[len], charsmax(rmBody_2) - len, (g_ColorMenu ? "\r9. \w%L^n" : "9. %L^n"), id, "RM_MENU_BACK")
}
else if(get_pcvar_num(RM_LIMITER_USER) == 1 && sFlagUsers & MULTI_FLAGS)
{
//оптимизируем данные для подстановки (ибо слшиком большой код)
new pLimit_spw_us = get_pcvar_num(RM_LM_SPAWN_USER) - g_lm_spw_user[id]
len += formatex(rmBody_2[len], charsmax(rmBody_2) - len, (g_ColorMenu ? "\r1. \w%L^n" : "1. %L^n"), id, "RM_MENU_ITEM9")
len += formatex(rmBody_2[len], charsmax(rmBody_2) - len, (g_ColorMenu ? "\r2. \w%L^n" : "2. %L^n"), id, "RM_MENU_LIMIT7", pLimit_spw_us)
len += formatex(rmBody_2[len], charsmax(rmBody_2) - len, "^n")
len += formatex(rmBody_2[len], charsmax(rmBody_2) - len, "^n")
len += formatex(rmBody_2[len], charsmax(rmBody_2) - len, "^n")
len += formatex(rmBody_2[len], charsmax(rmBody_2) - len, "^n")
len += formatex(rmBody_2[len], charsmax(rmBody_2) - len, "^n")
len += formatex(rmBody_2[len], charsmax(rmBody_2) - len, "^n^n")
len += formatex(rmBody_2[len], charsmax(rmBody_2) - len, (g_ColorMenu ? "\r9. \w%L^n" : "9. %L^n"), id, "RM_MENU_BACK")
}
else
{
len += formatex(rmBody_2[len], charsmax(rmBody_2) - len, (g_ColorMenu ? "\r1. \w%L^n" : "1. %L^n"), id, "RM_MENU_ITEM9")
len += formatex(rmBody_2[len], charsmax(rmBody_2) - len, (g_ColorMenu ? "\r2. \w%L^n" : "2. %L^n"), id, "RM_MENU_ITEM10")
len += formatex(rmBody_2[len], charsmax(rmBody_2) - len, "^n")
len += formatex(rmBody_2[len], charsmax(rmBody_2) - len, "^n")
len += formatex(rmBody_2[len], charsmax(rmBody_2) - len, "^n")
len += formatex(rmBody_2[len], charsmax(rmBody_2) - len, "^n")
len += formatex(rmBody_2[len], charsmax(rmBody_2) - len, "^n")
len += formatex(rmBody_2[len], charsmax(rmBody_2) - len, "^n^n")
len += formatex(rmBody_2[len], charsmax(rmBody_2) - len, (g_ColorMenu ? "\r9. \w%L^n" : "9. %L^n"), id, "RM_MENU_BACK")
}
formatex(rmBody_2[len], charsmax(rmBody_2) - len, (g_ColorMenu ? "\r0. \w%L" : "0. %L"), id, "RM_MENU_EXIT")
show_menu(id, MENU_KEY_0|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, rmBody_2, -1, "Next-Menu")
}
else
{
new rmBody_1[512]
new len = formatex(rmBody_1, charsmax(rmBody_1), (g_ColorMenu ? "\y%L^n^n" : "%L^n^n"), id, "RM_MENU_NAME")
if(get_pcvar_num(RM_LIMITER) == 1 && sFlagUsers & GL_FLAG)
{
//оптимизируем данные для подстановки (ибо слшиком большой код)
new pLimit_sp1 = get_pcvar_num(RM_LIMITER_SPEED1) - g_limit_sp1[id]
new pLimit_sp2 = get_pcvar_num(RM_LIMITER_SPEED2) - g_limit_sp2[id]
new pLimit_sp3 = get_pcvar_num(RM_LIMITER_SPEED3) - g_limit_sp3[id]
new pLimit_sh = get_pcvar_num(RM_LIMITER_SHIELD) - g_limit_sh[id]
new pLimit_gr = get_pcvar_num(RM_LIMITER_GRAVITY) - g_limit_gr[id]
new pLimit_nc = get_pcvar_num(RM_LIMITER_NOCLIP) - g_limit_nc[id]
len += formatex(rmBody_1[len], charsmax(rmBody_1) - len, (g_ColorMenu ? "\r1. \w%L^n" : "1. %L^n"), id, "RM_MENU_ITEM1")
len += formatex(rmBody_1[len], charsmax(rmBody_1) - len, (g_ColorMenu ? "\r2. \w%L^n" : "2. %L^n"), id, "RM_MENU_LIMIT1", pLimit_sp1)
len += formatex(rmBody_1[len], charsmax(rmBody_1) - len, (g_ColorMenu ? "\r3. \w%L^n" : "3. %L^n"), id, "RM_MENU_LIMIT2", pLimit_sp2)
len += formatex(rmBody_1[len], charsmax(rmBody_1) - len, (g_ColorMenu ? "\r4. \w%L^n" : "4. %L^n"), id, "RM_MENU_LIMIT3", pLimit_sp3)
len += formatex(rmBody_1[len], charsmax(rmBody_1) - len, (g_ColorMenu ? "\r5. \w%L^n" : "5. %L^n"), id, "RM_MENU_LIMIT4", pLimit_sh)
len += formatex(rmBody_1[len], charsmax(rmBody_1) - len, (g_ColorMenu ? "\r6. \w%L^n" : "6. %L^n"), id, "RM_MENU_LIMIT5", pLimit_gr)
len += formatex(rmBody_1[len], charsmax(rmBody_1) - len, (g_ColorMenu ? "\r7. \w%L^n" : "7. %L^n"), id, "RM_MENU_ITEM7")
len += formatex(rmBody_1[len], charsmax(rmBody_1) - len, (g_ColorMenu ? "\r8. \w%L^n^n" : "8. %L^n^n"), id, "RM_MENU_LIMIT6", pLimit_nc)
len += formatex(rmBody_1[len], charsmax(rmBody_1) - len, (g_ColorMenu ? "\r9. \w%L^n" : "9. %L^n"), id, "RM_MENU_NEXT")
}
else if(get_pcvar_num(RM_LIMITER_USER) == 1 && sFlagUsers & MULTI_FLAGS)
{
//оптимизируем данные для подстановки (ибо слшиком большой код)
new pLimit_sp1_us = get_pcvar_num(RM_LM_SPEED1_USER) - g_lm_sp1_user[id]
new pLimit_sp2_us = get_pcvar_num(RM_LM_SPEED2_USER) - g_lm_sp2_user[id]
new pLimit_sp3_us = get_pcvar_num(RM_LM_SPEED3_USER) - g_lm_sp3_user[id]
new pLimit_sh_us = get_pcvar_num(RM_LIMITER_SHIELD) - g_lm_sh_user[id]
new pLimit_gr_us = get_pcvar_num(RM_LM_SHIELD_USER) - g_lm_gr_user[id]
new pLimit_nc_us = get_pcvar_num(RM_LM_NOCLIP_USER) - g_lm_nc_user[id]
len += formatex(rmBody_1[len], charsmax(rmBody_1) - len, (g_ColorMenu ? "\r1. \w%L^n" : "1. %L^n"), id, "RM_MENU_ITEM1")
len += formatex(rmBody_1[len], charsmax(rmBody_1) - len, (g_ColorMenu ? "\r2. \w%L^n" : "2. %L^n"), id, "RM_MENU_LIMIT1", pLimit_sp1_us)
len += formatex(rmBody_1[len], charsmax(rmBody_1) - len, (g_ColorMenu ? "\r3. \w%L^n" : "3. %L^n"), id, "RM_MENU_LIMIT2", pLimit_sp2_us)
len += formatex(rmBody_1[len], charsmax(rmBody_1) - len, (g_ColorMenu ? "\r4. \w%L^n" : "4. %L^n"), id, "RM_MENU_LIMIT3", pLimit_sp3_us)
len += formatex(rmBody_1[len], charsmax(rmBody_1) - len, (g_ColorMenu ? "\r5. \w%L^n" : "5. %L^n"), id, "RM_MENU_LIMIT4", pLimit_sh_us)
len += formatex(rmBody_1[len], charsmax(rmBody_1) - len, (g_ColorMenu ? "\r6. \w%L^n" : "6. %L^n"), id, "RM_MENU_LIMIT5", pLimit_gr_us)
len += formatex(rmBody_1[len], charsmax(rmBody_1) - len, (g_ColorMenu ? "\r7. \w%L^n" : "7. %L^n"), id, "RM_MENU_ITEM7")
len += formatex(rmBody_1[len], charsmax(rmBody_1) - len, (g_ColorMenu ? "\r8. \w%L^n^n" : "8. %L^n^n"), id, "RM_MENU_LIMIT6", pLimit_nc_us)
len += formatex(rmBody_1[len], charsmax(rmBody_1) - len, (g_ColorMenu ? "\r9. \w%L^n" : "9. %L^n"), id, "RM_MENU_NEXT")
}
else
{
len += formatex(rmBody_1[len], charsmax(rmBody_1) - len, (g_ColorMenu ? "\r1. \w%L^n" : "1. %L^n"), id, "RM_MENU_ITEM1")
len += formatex(rmBody_1[len], charsmax(rmBody_1) - len, (g_ColorMenu ? "\r2. \w%L^n" : "2. %L^n"), id, "RM_MENU_ITEM2")
len += formatex(rmBody_1[len], charsmax(rmBody_1) - len, (g_ColorMenu ? "\r3. \w%L^n" : "3. %L^n"), id, "RM_MENU_ITEM3")
len += formatex(rmBody_1[len], charsmax(rmBody_1) - len, (g_ColorMenu ? "\r4. \w%L^n" : "4. %L^n"), id, "RM_MENU_ITEM4")
len += formatex(rmBody_1[len], charsmax(rmBody_1) - len, (g_ColorMenu ? "\r5. \w%L^n" : "5. %L^n"), id, "RM_MENU_ITEM5")
len += formatex(rmBody_1[len], charsmax(rmBody_1) - len, (g_ColorMenu ? "\r6. \w%L^n" : "6. %L^n"), id, "RM_MENU_ITEM6")
len += formatex(rmBody_1[len], charsmax(rmBody_1) - len, (g_ColorMenu ? "\r7. \w%L^n" : "7. %L^n"), id, "RM_MENU_ITEM7")
len += formatex(rmBody_1[len], charsmax(rmBody_1) - len, (g_ColorMenu ? "\r8. \w%L^n^n" : "8. %L^n^n"), id, "RM_MENU_ITEM8")
len += formatex(rmBody_1[len], charsmax(rmBody_1) - len, (g_ColorMenu ? "\r9. \w%L^n" : "9. %L^n"), id, "RM_MENU_NEXT")
}
formatex(rmBody_1[len], charsmax(rmBody_1) - len, (g_ColorMenu ? "\r0. \w%L" : "0. %L"), id, "RM_MENU_EXIT")
show_menu(id, MENU_KEY_0|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, rmBody_1, -1, "Real-Menu")
}
}
public realMenu(id, key)
{
new sFlagUsers = get_user_flags(id)
if(key == 8)
{
g_NextMenu[id] = 1;
showMenu(id);
}
if(key == 9)
{
return PLUGIN_HANDLED;
}
if(get_pcvar_num(RM_TIMER_ENABLED) == 1 && g_ReloadTime[id] > time()){
client_print_color(id, print_team_default, "%L", id, "RM_TIMER_INFO", g_ReloadTime[id] - time())
showMenu(id);
return PLUGIN_HANDLED;
}
if(key == 0)
{
if(sFlagUsers & GL_FLAG || get_pcvar_num(RM_LIMITER_USER) == 1)
{
if(!is_user_alive(id)){
client_print_color(id, print_team_default, "%L", id, "RM_DEAD_INFO")
return PLUGIN_HANDLED;
}
set_user_maxspeed(id, 250.0);
set_dhudmessage(random_num(10,255), random_num(10,255), random_num(10,255), -1.0, -0.50, 1, 0.2, 0.2, 0.1, 0.6);
show_dhudmessage(id, "%L", id, "RM_INFO_SPEED1");
if(get_pcvar_num(RM_SOUND_GLOBAL) == 1){
SendAudio(id, fmt("sound/%s", RM_SND_YES));
}
}
else
{
set_dhudmessage(random_num(10,255), random_num(10,255), random_num(10,255), -1.0, -0.45, 3, 1.0, 3.0, 0.1, 1.5);
show_dhudmessage(id, "%L", id, "RM_INFO_OFF");
if(get_pcvar_num(RM_SOUND_GLOBAL) == 1){
SendAudio(id, fmt("sound/%s", RM_SND_NO));
}
return PLUGIN_HANDLED;
}
}
else if(key == 1)
{
if(sFlagUsers & GL_FLAG)
{
if(!is_user_alive(id)){
client_print_color(id, print_team_default, "%L", id, "RM_DEAD_INFO")
return PLUGIN_HANDLED;
}
if(get_pcvar_num(RM_LIMITER) == 1 && get_pcvar_num(RM_LIMITER_SPEED1) <= g_limit_sp1[id]){
client_print_color(id, print_team_default, "%L", id, "RM_LIMITER_INFO")
if(get_pcvar_num(RM_SOUND_GLOBAL) == 1){
SendAudio(id, fmt("sound/%s", RM_SND_NO));
}
showMenu(id);
return PLUGIN_HANDLED;
}
set_user_maxspeed(id, get_user_maxspeed(id) + get_pcvar_num(RM_SPEED_1));
set_dhudmessage(random_num(10,255), random_num(10,255), random_num(10,255), -1.0, -0.50, 1, 0.2, 0.2, 0.1, 0.6);
show_dhudmessage(id, "%L", id, "RM_INFO_SPEED2");
if(get_pcvar_num(RM_ABILITIES_ENABLED) == 1){
if(is_user_connected(id)){
client_print_color(id, print_team_default, "%L", id, "RM_ABILITIES_INFO", get_pcvar_num(RM_ABILITIES_SPEED1))
g_abilities_sp1[id] = true;
set_task(get_pcvar_float(RM_ABILITIES_SPEED1), "abilitiesOff", id);
}
}
if(get_pcvar_num(RM_TIMER_ENABLED) == 1){
g_ReloadTime[id] = time() + get_pcvar_num(RM_TIMER_TIME) //Активируем счетчик времени
}
if(get_pcvar_num(RM_SOUND_GLOBAL) == 1){
SendAudio(id, fmt("sound/%s", RM_SND_YES));
}
if(get_pcvar_num(RM_LIMITER) == 1){
g_limit_sp1[id]++;
}
}
else
{
if(get_pcvar_num(RM_LIMITER_USER) == 1)
{
if(!is_user_alive(id)){
client_print_color(id, print_team_default, "%L", id, "RM_DEAD_INFO")
return PLUGIN_HANDLED;
}
if(get_pcvar_num(RM_LM_SPEED1_USER) <= g_lm_sp1_user[id]){
client_print_color(id, print_team_default, "%L", id, "RM_LIMITER_INFO")
if(get_pcvar_num(RM_SOUND_GLOBAL) == 1){
SendAudio(id, fmt("sound/%s", RM_SND_NO));
}
showMenu(id);
return PLUGIN_HANDLED;
}
set_user_maxspeed(id, get_user_maxspeed(id) + get_pcvar_num(RM_SPEED_1));
set_dhudmessage(random_num(10,255), random_num(10,255), random_num(10,255), -1.0, -0.50, 1, 0.2, 0.2, 0.1, 0.6);
show_dhudmessage(id, "%L", id, "RM_INFO_SPEED2");
if(get_pcvar_num(RM_ABILITIES_ENABLED) == 1){
if(is_user_connected(id)){
client_print_color(id, print_team_default, "%L", id, "RM_ABILITIES_INFO", get_pcvar_num(RM_ABILITIES_SPEED1))
g_abilities_sp1[id] = true;
set_task(get_pcvar_float(RM_ABILITIES_SPEED1), "abilitiesOff", id);
}
}
if(get_pcvar_num(RM_TIMER_ENABLED) == 1){
g_ReloadTime[id] = time() + get_pcvar_num(RM_TIMER_TIME) //Активируем счетчик времени
}
if(get_pcvar_num(RM_SOUND_GLOBAL) == 1){
SendAudio(id, fmt("sound/%s", RM_SND_YES));
}
if(get_pcvar_num(RM_LIMITER_USER) == 1){
g_lm_sp1_user[id]++;
}
if(is_user_connected(id)){
set_task(5.0, "rm_limiter_us_info", id);
}
}
else
{
set_dhudmessage(random_num(10,255), random_num(10,255), random_num(10,255), -1.0, -0.45, 3, 1.0, 3.0, 0.1, 1.5);
show_dhudmessage(id, "%L", id, "RM_INFO_OFF");
if(get_pcvar_num(RM_SOUND_GLOBAL) == 1){
SendAudio(id, fmt("sound/%s", RM_SND_NO));
}
return PLUGIN_HANDLED;
}
}
}
else if(key == 2)
{
if(sFlagUsers & GL_FLAG)
{
if(!is_user_alive(id)){
client_print_color(id, print_team_default, "%L", id, "RM_DEAD_INFO")
return PLUGIN_HANDLED;
}
if(get_pcvar_num(RM_LIMITER) == 1 && get_pcvar_num(RM_LIMITER_SPEED2) <= g_limit_sp2[id]){
client_print_color(id, print_team_default, "%L", id, "RM_LIMITER_INFO")
if(get_pcvar_num(RM_SOUND_GLOBAL) == 1){
SendAudio(id, fmt("sound/%s", RM_SND_NO));
}
showMenu(id);
return PLUGIN_HANDLED;
}
set_user_maxspeed(id, get_user_maxspeed(id) + get_pcvar_num(RM_SPEED_2));
set_dhudmessage(random_num(10,255), random_num(10,255), random_num(10,255), -1.0, -0.50, 1, 0.2, 0.2, 0.1, 0.6);
show_dhudmessage(id, "%L", id, "RM_INFO_SPEED3");
if(get_pcvar_num(RM_ABILITIES_ENABLED) == 1){
if(is_user_connected(id)){
client_print_color(id, print_team_default, "%L", id, "RM_ABILITIES_INFO", get_pcvar_num(RM_ABILITIES_SPEED2))
g_abilities_sp2[id] = true;
set_task(get_pcvar_float(RM_ABILITIES_SPEED2), "abilitiesOff", id);
}
}
if(get_pcvar_num(RM_TIMER_ENABLED) == 1){
g_ReloadTime[id] = time() + get_pcvar_num(RM_TIMER_TIME) //Активируем счетчик времени
}
if(get_pcvar_num(RM_SOUND_GLOBAL) == 1){
SendAudio(id, fmt("sound/%s", RM_SND_YES));
}
if(get_pcvar_num(RM_LIMITER) == 1){
g_limit_sp2[id]++;
}
}
else
{
if(get_pcvar_num(RM_LIMITER_USER) == 1)
{
if(!is_user_alive(id)){
client_print_color(id, print_team_default, "%L", id, "RM_DEAD_INFO")
return PLUGIN_HANDLED;
}
if(get_pcvar_num(RM_LM_SPEED2_USER) <= g_lm_sp2_user[id]){
client_print_color(id, print_team_default, "%L", id, "RM_LIMITER_INFO")
if(get_pcvar_num(RM_SOUND_GLOBAL) == 1){
SendAudio(id, fmt("sound/%s", RM_SND_NO));
}
showMenu(id);
return PLUGIN_HANDLED;
}
set_user_maxspeed(id, get_user_maxspeed(id) + get_pcvar_num(RM_SPEED_2));
set_dhudmessage(random_num(10,255), random_num(10,255), random_num(10,255), -1.0, -0.50, 1, 0.2, 0.2, 0.1, 0.6);
show_dhudmessage(id, "%L", id, "RM_INFO_SPEED3");
if(get_pcvar_num(RM_ABILITIES_ENABLED) == 1){
if(is_user_connected(id)){
client_print_color(id, print_team_default, "%L", id, "RM_ABILITIES_INFO", get_pcvar_num(RM_ABILITIES_SPEED2))
g_abilities_sp2[id] = true;
set_task(get_pcvar_float(RM_ABILITIES_SPEED2), "abilitiesOff", id);
}
}
if(get_pcvar_num(RM_TIMER_ENABLED) == 1){
g_ReloadTime[id] = time() + get_pcvar_num(RM_TIMER_TIME) //Активируем счетчик времени
}
if(get_pcvar_num(RM_SOUND_GLOBAL) == 1){
SendAudio(id, fmt("sound/%s", RM_SND_YES));
}
if(get_pcvar_num(RM_LIMITER_USER) == 1){
g_lm_sp2_user[id]++;
}
if(is_user_connected(id)){
set_task(5.0, "rm_limiter_us_info", id);
}
}
else
{
set_dhudmessage(random_num(10,255), random_num(10,255), random_num(10,255), -1.0, -0.45, 3, 1.0, 3.0, 0.1, 1.5);
show_dhudmessage(id, "%L", id, "RM_INFO_OFF");
if(get_pcvar_num(RM_SOUND_GLOBAL) == 1){
SendAudio(id, fmt("sound/%s", RM_SND_NO));
}
return PLUGIN_HANDLED;
}
}
}
else if(key == 3)
{
if(sFlagUsers & GL_FLAG)
{
if(!is_user_alive(id)){
client_print_color(id, print_team_default, "%L", id, "RM_DEAD_INFO")
return PLUGIN_HANDLED;
}
if(get_pcvar_num(RM_LIMITER) == 1 && get_pcvar_num(RM_LIMITER_SPEED3) <= g_limit_sp3[id]){
client_print_color(id, print_team_default, "%L", id, "RM_LIMITER_INFO")
if(get_pcvar_num(RM_SOUND_GLOBAL) == 1){
SendAudio(id, fmt("sound/%s", RM_SND_NO));
}
showMenu(id);
return PLUGIN_HANDLED;
}
set_user_maxspeed(id, get_user_maxspeed(id) + get_pcvar_num(RM_SPEED_3));
set_dhudmessage(random_num(10,255), random_num(10,255), random_num(10,255), -1.0, -0.50, 1, 0.2, 0.2, 0.1, 0.6);
show_dhudmessage(id, "%L", id, "RM_INFO_SPEED4");
if(get_pcvar_num(RM_ABILITIES_ENABLED) == 1){
if(is_user_connected(id)){
client_print_color(id, print_team_default, "%L", id, "RM_ABILITIES_INFO", get_pcvar_num(RM_ABILITIES_SPEED3))
g_abilities_sp3[id] = true;
set_task(get_pcvar_float(RM_ABILITIES_SPEED3), "abilitiesOff", id);
}
}
if(get_pcvar_num(RM_TIMER_ENABLED) == 1){
g_ReloadTime[id] = time() + get_pcvar_num(RM_TIMER_TIME) //Активируем счетчик времени
}
if(get_pcvar_num(RM_SOUND_GLOBAL) == 1){
SendAudio(id, fmt("sound/%s", RM_SND_YES));
}
if(get_pcvar_num(RM_LIMITER) == 1){
g_limit_sp3[id]++;
}
}
else
{
if(get_pcvar_num(RM_LIMITER_USER) == 1)
{
if(!is_user_alive(id)){
client_print_color(id, print_team_default, "%L", id, "RM_DEAD_INFO")
return PLUGIN_HANDLED;
}
if(get_pcvar_num(RM_LM_SPEED3_USER) <= g_lm_sp3_user[id]){
client_print_color(id, print_team_default, "%L", id, "RM_LIMITER_INFO")
if(get_pcvar_num(RM_SOUND_GLOBAL) == 1){
SendAudio(id, fmt("sound/%s", RM_SND_NO));
}
showMenu(id);
return PLUGIN_HANDLED;
}
set_user_maxspeed(id, get_user_maxspeed(id) + get_pcvar_num(RM_SPEED_3));
set_dhudmessage(random_num(10,255), random_num(10,255), random_num(10,255), -1.0, -0.50, 1, 0.2, 0.2, 0.1, 0.6);
show_dhudmessage(id, "%L", id, "RM_INFO_SPEED4");
if(get_pcvar_num(RM_ABILITIES_ENABLED) == 1){
if(is_user_connected(id)){
client_print_color(id, print_team_default, "%L", id, "RM_ABILITIES_INFO", get_pcvar_num(RM_ABILITIES_SPEED3))
g_abilities_sp3[id] = true;
set_task(get_pcvar_float(RM_ABILITIES_SPEED3), "abilitiesOff", id);
}
}
if(get_pcvar_num(RM_TIMER_ENABLED) == 1){
g_ReloadTime[id] = time() + get_pcvar_num(RM_TIMER_TIME) //Активируем счетчик времени
}
if(get_pcvar_num(RM_SOUND_GLOBAL) == 1){
SendAudio(id, fmt("sound/%s", RM_SND_YES));
}
if(get_pcvar_num(RM_LIMITER_USER) == 1){
g_lm_sp3_user[id]++;
}
if(is_user_connected(id)){
set_task(5.0, "rm_limiter_us_info", id);
}
}
else
{
set_dhudmessage(random_num(10,255), random_num(10,255), random_num(10,255), -1.0, -0.45, 3, 1.0, 3.0, 0.1, 1.5);
show_dhudmessage(id, "%L", id, "RM_INFO_OFF");
if(get_pcvar_num(RM_SOUND_GLOBAL) == 1){
SendAudio(id, fmt("sound/%s", RM_SND_NO));
}
return PLUGIN_HANDLED;
}
}
}
else if(key == 4)
{
if(sFlagUsers & GL_FLAG)
{
if(!is_user_alive(id)){
client_print_color(id, print_team_default, "%L", id, "RM_DEAD_INFO")
return PLUGIN_HANDLED;
}
if(get_pcvar_num(RM_LIMITER) == 1 && get_pcvar_num(RM_LIMITER_SHIELD) <= g_limit_sh[id]){
client_print_color(id, print_team_default, "%L", id, "RM_LIMITER_INFO")
if(get_pcvar_num(RM_SOUND_GLOBAL) == 1){
SendAudio(id, fmt("sound/%s", RM_SND_NO));
}
showMenu(id);
return PLUGIN_HANDLED;
}
give_item(id, "weapon_shield")
set_dhudmessage(random_num(10,255), random_num(10,255), random_num(10,255), -1.0, -0.50, 1, 0.2, 0.2, 0.1, 0.6);
show_dhudmessage(id, "%L", id, "RM_INFO_SHIELD");
if(get_pcvar_num(RM_TIMER_ENABLED) == 1){
g_ReloadTime[id] = time() + get_pcvar_num(RM_TIMER_TIME) //Активируем счетчик времени
}
if(get_pcvar_num(RM_SOUND_GLOBAL) == 1){
SendAudio(id, fmt("sound/%s", RM_SND_YES));
}
if(get_pcvar_num(RM_LIMITER) == 1){
g_limit_sh[id]++;
}
}
else
{
if(get_pcvar_num(RM_LIMITER_USER) == 1)
{
if(!is_user_alive(id)){
client_print_color(id, print_team_default, "%L", id, "RM_DEAD_INFO")
return PLUGIN_HANDLED;
}
if(get_pcvar_num(RM_LM_SHIELD_USER) <= g_lm_sh_user[id]){
client_print_color(id, print_team_default, "%L", id, "RM_LIMITER_INFO")
if(get_pcvar_num(RM_SOUND_GLOBAL) == 1){
SendAudio(id, fmt("sound/%s", RM_SND_NO));
}
showMenu(id);
return PLUGIN_HANDLED;
}
give_item(id, "weapon_shield")
set_dhudmessage(random_num(10,255), random_num(10,255), random_num(10,255), -1.0, -0.50, 1, 0.2, 0.2, 0.1, 0.6);
show_dhudmessage(id, "%L", id, "RM_INFO_SHIELD");
if(get_pcvar_num(RM_TIMER_ENABLED) == 1){
g_ReloadTime[id] = time() + get_pcvar_num(RM_TIMER_TIME) //Активируем счетчик времени
}
if(get_pcvar_num(RM_SOUND_GLOBAL) == 1){
SendAudio(id, fmt("sound/%s", RM_SND_YES));
}
if(get_pcvar_num(RM_LIMITER_USER) == 1){
g_lm_sh_user[id]++;
}
if(is_user_connected(id)){
set_task(5.0, "rm_limiter_us_info", id);
}
}
else
{
set_dhudmessage(random_num(10,255), random_num(10,255), random_num(10,255), -1.0, -0.45, 3, 1.0, 3.0, 0.1, 1.5);
show_dhudmessage(id, "%L", id, "RM_INFO_OFF");
if(get_pcvar_num(RM_SOUND_GLOBAL) == 1){
SendAudio(id, fmt("sound/%s", RM_SND_NO));
}
return PLUGIN_HANDLED;
}
}
}
else if(key == 5)
{
if(sFlagUsers & GL_FLAG)
{
if(!is_user_alive(id)){
client_print_color(id, print_team_default, "%L", id, "RM_DEAD_INFO")
return PLUGIN_HANDLED;
}
if(get_pcvar_num(RM_LIMITER) == 1 && get_pcvar_num(RM_LIMITER_GRAVITY) <= g_limit_gr[id]){
client_print_color(id, print_team_default, "%L", id, "RM_LIMITER_INFO")
if(get_pcvar_num(RM_SOUND_GLOBAL) == 1){
SendAudio(id, fmt("sound/%s", RM_SND_NO));
}
showMenu(id);
return PLUGIN_HANDLED;
}
set_user_gravity(id, get_pcvar_float(RM_GRAVITY));
set_dhudmessage(random_num(10,255), random_num(10,255), random_num(10,255), -1.0, -0.50, 1, 0.2, 0.2, 0.1, 0.6);
show_dhudmessage(id, "%L", id, "RM_INFO_GRAVITY_ON");
if(get_pcvar_num(RM_ABILITIES_ENABLED) == 1){
if(is_user_connected(id)){
client_print_color(id, print_team_default, "%L", id, "RM_ABILITIES_INFO", get_pcvar_num(RM_ABILITIES_GRAVITY))
g_abilities_gr[id] = true;
set_task(get_pcvar_float(RM_ABILITIES_GRAVITY), "abilitiesOff", id);
}
}
if(get_pcvar_num(RM_TIMER_ENABLED) == 1){
g_ReloadTime[id] = time() + get_pcvar_num(RM_TIMER_TIME) //Активируем счетчик времени
}
if(get_pcvar_num(RM_SOUND_GLOBAL) == 1){
SendAudio(id, fmt("sound/%s", RM_SND_YES));
}
if(get_pcvar_num(RM_LIMITER) == 1){
g_limit_gr[id]++;
}
}
else
{
if(get_pcvar_num(RM_LIMITER_USER) == 1)
{
if(!is_user_alive(id)){
client_print_color(id, print_team_default, "%L", id, "RM_DEAD_INFO")
return PLUGIN_HANDLED;
}
if(get_pcvar_num(RM_LM_GRAVITY_USER) <= g_lm_gr_user[id]){
client_print_color(id, print_team_default, "%L", id, "RM_LIMITER_INFO")
if(get_pcvar_num(RM_SOUND_GLOBAL) == 1){
SendAudio(id, fmt("sound/%s", RM_SND_NO));
}
showMenu(id);
return PLUGIN_HANDLED;
}
set_user_gravity(id, get_pcvar_float(RM_GRAVITY));
set_dhudmessage(random_num(10,255), random_num(10,255), random_num(10,255), -1.0, -0.50, 1, 0.2, 0.2, 0.1, 0.6);
show_dhudmessage(id, "%L", id, "RM_INFO_GRAVITY_ON");
if(get_pcvar_num(RM_ABILITIES_ENABLED) == 1){
if(is_user_connected(id)){
client_print_color(id, print_team_default, "%L", id, "RM_ABILITIES_INFO", get_pcvar_num(RM_ABILITIES_GRAVITY))
g_abilities_gr[id] = true;
set_task(get_pcvar_float(RM_ABILITIES_GRAVITY), "abilitiesOff", id);
}
}
if(get_pcvar_num(RM_TIMER_ENABLED) == 1){
g_ReloadTime[id] = time() + get_pcvar_num(RM_TIMER_TIME) //Активируем счетчик времени
}
if(get_pcvar_num(RM_SOUND_GLOBAL) == 1){
SendAudio(id, fmt("sound/%s", RM_SND_YES));
}
if(get_pcvar_num(RM_LIMITER_USER) == 1){
g_lm_gr_user[id]++;
}
if(is_user_connected(id)){
set_task(5.0, "rm_limiter_us_info", id);
}
}
else
{
set_dhudmessage(random_num(10,255), random_num(10,255), random_num(10,255), -1.0, -0.45, 3, 1.0, 3.0, 0.1, 1.5);
show_dhudmessage(id, "%L", id, "RM_INFO_OFF");
if(get_pcvar_num(RM_SOUND_GLOBAL) == 1){
SendAudio(id, fmt("sound/%s", RM_SND_NO));
}
return PLUGIN_HANDLED;
}
}
}
else if(key == 6)
{
if(sFlagUsers & GL_FLAG || get_pcvar_num(RM_LIMITER_USER) == 1)
{
if(!is_user_alive(id)){
client_print_color(id, print_team_default, "%L", id, "RM_DEAD_INFO")
return PLUGIN_HANDLED;
}
set_user_gravity(id, 1.0);
set_dhudmessage(random_num(10,255), random_num(10,255), random_num(10,255), -1.0, -0.50, 1, 0.2, 0.2, 0.1, 0.6);
show_dhudmessage(id, "%L", id, "RM_INFO_GRAVITY_OFF");
if(get_pcvar_num(RM_SOUND_GLOBAL) == 1){
SendAudio(id, fmt("sound/%s", RM_SND_YES));
}
}
else
{
set_dhudmessage(random_num(10,255), random_num(10,255), random_num(10,255), -1.0, -0.45, 3, 1.0, 3.0, 0.1, 1.5);
show_dhudmessage(id, "%L", id, "RM_INFO_OFF");
if(get_pcvar_num(RM_SOUND_GLOBAL) == 1){
SendAudio(id, fmt("sound/%s", RM_SND_NO));
}
return PLUGIN_HANDLED;
}
}
else if(key == 7)
{
if(sFlagUsers & GL_FLAG)
{
if(!is_user_alive(id)){
client_print_color(id, print_team_default, "%L", id, "RM_DEAD_INFO")
return PLUGIN_HANDLED;
}
if(get_pcvar_num(RM_LIMITER) == 1 && get_pcvar_num(RM_LIMITER_NOCLIP) <= g_limit_nc[id]){
client_print_color(id, print_team_default, "%L", id, "RM_LIMITER_INFO")
if(get_pcvar_num(RM_SOUND_GLOBAL) == 1){
SendAudio(id, fmt("sound/%s", RM_SND_NO));
}
showMenu(id);
return PLUGIN_HANDLED;
}
set_user_noclip(id, 1);
set_dhudmessage(random_num(10,255), random_num(10,255), random_num(10,255), -1.0, -0.50, 1, 0.2, 0.2, 0.1, 0.6);
show_dhudmessage(id, "%L", id, "RM_INFO_NOCLIP_ON");
if(get_pcvar_num(RM_ABILITIES_ENABLED) == 1){
if(is_user_connected(id)){
client_print_color(id, print_team_default, "%L", id, "RM_ABILITIES_INFO", get_pcvar_num(RM_ABILITIES_NOCLIP))
g_abilities_nc[id] = true;
set_task(get_pcvar_float(RM_ABILITIES_NOCLIP), "abilitiesOff", id);
}
}
if(get_pcvar_num(RM_TIMER_ENABLED) == 1){
g_ReloadTime[id] = time() + get_pcvar_num(RM_TIMER_TIME) //Активируем счетчик времени
}
if(get_pcvar_num(RM_SOUND_GLOBAL) == 1){
SendAudio(id, fmt("sound/%s", RM_SND_YES));
}
if(get_pcvar_num(RM_LIMITER) == 1){
g_limit_nc[id]++;
}
}
else
{
if(get_pcvar_num(RM_LIMITER_USER) == 1)
{
if(!is_user_alive(id)){
client_print_color(id, print_team_default, "%L", id, "RM_DEAD_INFO")
return PLUGIN_HANDLED;
}
if(get_pcvar_num(RM_LM_NOCLIP_USER) <= g_lm_nc_user[id]){
client_print_color(id, print_team_default, "%L", id, "RM_LIMITER_INFO")
if(get_pcvar_num(RM_SOUND_GLOBAL) == 1){
SendAudio(id, fmt("sound/%s", RM_SND_NO));
}
showMenu(id);
return PLUGIN_HANDLED;
}
set_user_noclip(id, 1);
set_dhudmessage(random_num(10,255), random_num(10,255), random_num(10,255), -1.0, -0.50, 1, 0.2, 0.2, 0.1, 0.6);
show_dhudmessage(id, "%L", id, "RM_INFO_NOCLIP_ON");
if(get_pcvar_num(RM_ABILITIES_ENABLED) == 1){
if(is_user_connected(id)){
client_print_color(id, print_team_default, "%L", id, "RM_ABILITIES_INFO", get_pcvar_num(RM_ABILITIES_NOCLIP))
g_abilities_nc[id] = true;
set_task(get_pcvar_float(RM_ABILITIES_NOCLIP), "abilitiesOff", id);
}
}
if(get_pcvar_num(RM_TIMER_ENABLED) == 1){
g_ReloadTime[id] = time() + get_pcvar_num(RM_TIMER_TIME) //Активируем счетчик времени
}
if(get_pcvar_num(RM_SOUND_GLOBAL) == 1){
SendAudio(id, fmt("sound/%s", RM_SND_YES));
}
if(get_pcvar_num(RM_LIMITER_USER) == 1){
g_lm_nc_user[id]++;
}
if(is_user_connected(id)){
set_task(5.0, "rm_limiter_us_info", id);
}
}
else
{
set_dhudmessage(random_num(10,255), random_num(10,255), random_num(10,255), -1.0, -0.45, 3, 1.0, 3.0, 0.1, 1.5);
show_dhudmessage(id, "%L", id, "RM_INFO_OFF");
if(get_pcvar_num(RM_SOUND_GLOBAL) == 1){
SendAudio(id, fmt("sound/%s", RM_SND_NO));
}
return PLUGIN_HANDLED;
}
}
}
return PLUGIN_HANDLED;
}
public nextMenu(id, key)
{
new sFlagUsers = get_user_flags(id)
if(key == 8)
{
g_NextMenu[id] = 0;
showMenu(id);
}
if(key == 9)
{
g_NextMenu[id] = 0;
return PLUGIN_HANDLED;
}
if(get_pcvar_num(RM_TIMER_ENABLED) == 1 && g_ReloadTime[id] > time()){
client_print_color(id, print_team_default, "%L", id, "RM_TIMER_INFO", g_ReloadTime[id] - time())
showMenu(id);
return PLUGIN_HANDLED;
}
if(key == 0)
{
if(sFlagUsers & GL_FLAG || get_pcvar_num(RM_LIMITER_USER) == 1)
{
if(!is_user_alive(id)){
client_print_color(id, print_team_default, "%L", id, "RM_DEAD_INFO")
return PLUGIN_HANDLED;
}
set_user_noclip(id, 0);
set_dhudmessage(random_num(10,255), random_num(10,255), random_num(10,255), -1.0, -0.50, 1, 0.2, 0.2, 0.1, 0.6);
show_dhudmessage(id, "%L", id, "RM_INFO_NOCLIP_OFF");
if(get_pcvar_num(RM_SOUND_GLOBAL) == 1){
SendAudio(id, fmt("sound/%s", RM_SND_YES));
}
g_NextMenu[id] = 0;
}
else
{
set_dhudmessage(random_num(10,255), random_num(10,255), random_num(10,255), -1.0, -0.45, 3, 1.0, 3.0, 0.1, 1.5);
show_dhudmessage(id, "%L", id, "RM_INFO_OFF");
if(get_pcvar_num(RM_SOUND_GLOBAL) == 1){
SendAudio(id, fmt("sound/%s", RM_SND_NO));
}
g_NextMenu[id] = 0;
return PLUGIN_HANDLED;
}
}
else if(key == 1)
{
if(sFlagUsers & GL_FLAG)
{
if(!is_user_alive(id)){
client_print_color(id, print_team_default, "%L", id, "RM_DEAD_INFO")
return PLUGIN_HANDLED;
}
if(get_pcvar_num(RM_LIMITER) == 1 && get_pcvar_num(RM_LIMITER_SPAWN) <= g_limit_spw[id]){
client_print_color(id, print_team_default, "%L", id, "RM_LIMITER_INFO")
if(get_pcvar_num(RM_SOUND_GLOBAL) == 1){
SendAudio(id, fmt("sound/%s", RM_SND_NO));
}
showMenu(id);
return PLUGIN_HANDLED;
}
spawn(id);
set_dhudmessage(random_num(10,255), random_num(10,255), random_num(10,255), -1.0, -0.50, 1, 0.2, 0.2, 0.1, 0.6);
show_dhudmessage(id, "%L", id, "RM_INFO_SPAWN");
g_NextMenu[id] = 0;
if(get_pcvar_num(RM_TIMER_ENABLED) == 1){
g_ReloadTime[id] = time() + get_pcvar_num(RM_TIMER_TIME) //Активируем счетчик времени
}
if(get_pcvar_num(RM_SOUND_GLOBAL) == 1){
SendAudio(id, fmt("sound/%s", RM_SND_YES));
}
if(get_pcvar_num(RM_LIMITER) == 1){
g_limit_spw[id]++;
}
}
else
{
if(get_pcvar_num(RM_LIMITER_USER) == 1)
{
if(!is_user_alive(id)){
client_print_color(id, print_team_default, "%L", id, "RM_DEAD_INFO")
return PLUGIN_HANDLED;
}
if(get_pcvar_num(RM_LM_SPAWN_USER) <= g_lm_spw_user[id]){
client_print_color(id, print_team_default, "%L", id, "RM_LIMITER_INFO")
if(get_pcvar_num(RM_SOUND_GLOBAL) == 1){
SendAudio(id, fmt("sound/%s", RM_SND_NO));
}
showMenu(id);
return PLUGIN_HANDLED;
}
spawn(id);
set_dhudmessage(random_num(10,255), random_num(10,255), random_num(10,255), -1.0, -0.50, 1, 0.2, 0.2, 0.1, 0.6);
show_dhudmessage(id, "%L", id, "RM_INFO_SPAWN");
g_NextMenu[id] = 0;
if(get_pcvar_num(RM_TIMER_ENABLED) == 1){
g_ReloadTime[id] = time() + get_pcvar_num(RM_TIMER_TIME) //Активируем счетчик времени
}
if(get_pcvar_num(RM_SOUND_GLOBAL) == 1){
SendAudio(id, fmt("sound/%s", RM_SND_YES));
}
if(get_pcvar_num(RM_LIMITER_USER) == 1){
g_lm_spw_user[id]++;
}
if(is_user_connected(id)){
set_task(5.0, "rm_limiter_us_info", id);
}
}
else
{
set_dhudmessage(random_num(10,255), random_num(10,255), random_num(10,255), -1.0, -0.45, 3, 1.0, 3.0, 0.1, 1.5);
show_dhudmessage(id, "%L", id, "RM_INFO_OFF");
if(get_pcvar_num(RM_SOUND_GLOBAL) == 1){
SendAudio(id, fmt("sound/%s", RM_SND_NO));
}
return PLUGIN_HANDLED;
}
}
}
else if(key == 2)
{
showMenu(id);
}
else if(key == 3)
{
showMenu(id);
}
else if(key == 4)
{
showMenu(id);
}
else if(key == 5)
{
showMenu(id);
}
else if(key == 6)
{
showMenu(id);
}
else if(key == 7)
{
showMenu(id);
}
return PLUGIN_HANDLED;
}
stock SendAudio(id, audio[], pitch = 100){
static iMsgSendAudio;
if(!iMsgSendAudio){
iMsgSendAudio = get_user_msgid("SendAudio");
}
message_begin(id ? MSG_ONE_UNRELIABLE : MSG_BROADCAST, iMsgSendAudio, .player = id);
write_byte(id);
write_string(audio);
write_short(pitch);
message_end();
}