new MaxClients; new NULL_STRING[1]; new Float:NULL_VECTOR[3]; new g_iPlSettings[33]; new g_Vault; public __reapi_version_check(majorVersion, minorVersion) { if (majorVersion != 5) { new temp[512]; formatex(temp, 511, "[ReAPI]: Api major version mismatch; expected %d, real %d", 5, majorVersion); set_fail_state(temp); return 0; } if (minorVersion < 19) { new temp[512]; formatex(temp, 511, "[ReAPI]: Api minor version mismatch; expected at least %d, real %d", 19, minorVersion); set_fail_state(temp); return 0; } return 0; } public plugin_init() { register_plugin("Server Menu", "1.0", "Empty Entity"); register_cvar("Empty Entity", "1.0", 4, 0.00); register_concmd("ee_plugins", "EE_Plugins", -1, "", -1, MaxClients); register_forward(FM_AddToFullPack, "fwdAddToFullPack_Post", 1); register_clcmd("chooseteam", "ServerMenu", -1, "", -1, MaxClients); register_clcmd("menu", "ServerMenu", -1, "", -1, MaxClients); register_clcmd("say /menu", "ServerMenu", -1, "", -1, MaxClients); register_clcmd("say_team /menu", "ServerMenu", -1, "", -1, MaxClients); return 0; } public plugin_cfg() { g_Vault = nvault_open("ee_settings"); if (g_Vault == -1) { set_fail_state("Error opening nVault!"); } nvault_prune(g_Vault, 0, get_systime(0) - 2592000); return 0; } public plugin_end() { nvault_close(g_Vault); return 0; } public client_putinserver(id) { !!! Removed Phi new szSteamID[35]; get_user_authid(id, szSteamID, 34); new iValue = nvault_get(g_Vault, szSteamID); if (iValue) { g_iPlSettings[id] = iValue; nvault_touch(g_Vault, szSteamID, -1); } else { g_iPlSettings[id] = 0; } return 0; } public fwdAddToFullPack_Post(es_handle, e, ent, host, hostflags, player, pset) { !!! Removed Phi if (!player) { if (g_iPlSettings[host][0][0] & 1 && FClassnameIs(ent, "func_water")) { set_es(es_handle, ES_Effects, 128); } if (g_iPlSettings[host][0][0] & 2 && (FClassnameIs(ent, "cycler") || FClassnameIs(ent, "cycler_sprite"))) { set_es(es_handle, ES_Effects, 128); } if (g_iPlSettings[host][0][0] & 4 && FClassnameIs(ent, "HatPlayer")) { set_es(es_handle, ES_Effects, 128); } } return 0; } public ServerMenu(id) { new iMenu; fmt(1668, 1756); iMenu = menu_create(Heap_1024, "server_menu_handler", 0); menu_additem(iMenu, "[REJCS] меню", "", 0, -1); menu_additem(iMenu, "[REJCS] привелегии", "", 0, -1); menu_additem(iMenu, "[REJCS] правила", "", 0, -1); menu_additem(iMenu, "[REJCS] настройки", "", 0, -1); menu_additem(iMenu, "[REJCS] статистика", "", 0, -1); menu_additem(iMenu, "Сменить команду", "", 0, -1); MenuSetProp(iMenu); menu_display(id, iMenu, 0, -1); return 1; } public server_menu_handler(id, iMenu, iItem) { if (iItem == -3) { menu_destroy(iMenu); return 1; } menu_destroy(iMenu); switch (iItem) { case 0: { OtherMenu(id); } case 1: { amxclient_cmd(id, "privileges", "", ""); } case 2: { show_motd(id, " ", 3028); } case 3: { SettingsMenu(id); } case 4: { StatsMenu(id); } case 5: { client_cmd(id, "jointeam"); } default: { } } return 1; } public OtherMenu(id) { new iMenu; fmt(3184, 3332); iMenu = menu_create(Heap_1024, "other_menu_handler", 0); menu_additem(iMenu, "Дуэли", "", 0, -1); menu_additem(iMenu, "Ножи", "", 0, -1); menu_additem(iMenu, "Шапки", "", 0, -1); menu_additem(iMenu, "Магазин", "", 0, -1); menu_additem(iMenu, "Анимации", "", 0, -1); menu_additem(iMenu, "Передать деньги", "", 0, -1); menu_additem(iMenu, "Заглушить игрока", "", 0, -1); MenuSetProp(iMenu); menu_display(id, iMenu, 0, -1); return 1; } public other_menu_handler(id, iMenu, iItem) { if (iItem == -3) { menu_destroy(iMenu); return 1; } menu_destroy(iMenu); switch (iItem) { case 0: { amxclient_cmd(id, "duels", "", ""); } case 1: { amxclient_cmd(id, "knife", "", ""); } case 2: { amxclient_cmd(id, "hats", "", ""); } case 3: { amxclient_cmd(id, "shop", "", ""); } case 4: { amxclient_cmd(id, "dance", "", ""); } case 5: { amxclient_cmd(id, "pay", "", ""); } case 6: { amxclient_cmd(id, "say", "/mute", ""); } default: { } } return 1; } public SettingsMenu(id) { new iMenu; fmt(4184, 4312); iMenu = menu_create(Heap_1024, "settings_menu_handler", 0); new var1; if (!g_iPlSettings[id][0][0] & 1) { var1 = 4672; } else { var1 = 4708; } / * ERROR! Не удалось привести тип объекта "Lysis.DSentinel" к типу "Lysis.DReturn". * / function "SettingsMenu" public SettingsMenu(id) public settings_menu_handler(id, iMenu, iItem) { if (iItem == -3) { menu_destroy(iMenu); return 1; } menu_destroy(iMenu); switch (iItem) { case 0: { if (g_iPlSettings[id][0][0] & 1) { new var5 = g_iPlSettings[id]; var5 = var5[0][0] & -2; } else { new var6 = g_iPlSettings[id]; var6 = var6[0][0] | 1; } } case 1: { if (g_iPlSettings[id][0][0] & 2) { new var3 = g_iPlSettings[id]; var3 = var3[0][0] & -3; } else { new var4 = g_iPlSettings[id]; var4 = var4[0][0] | 2; } } case 2: { if (g_iPlSettings[id][0][0] & 4) { new var1 = g_iPlSettings[id]; var1 = var1[0][0] & -5; } else { new var2 = g_iPlSettings[id]; var2 = var2[0][0] | 4; } } case 3: { client_cmd(id, "say /camset"); return 1; } case 4: { amxclient_cmd(id, "grab_rendering", "", ""); return 1; } case 5: { client_cmd(id, "say /hook"); return 1; } default: { } } SettingsSave(id); SettingsMenu(id); return 1; } public SettingsSave(id) { new szSteamID[35]; get_user_authid(id, szSteamID, 34); new szTemp[4]; num_to_str(g_iPlSettings[id][0][0], szTemp, 3); nvault_set(g_Vault, szSteamID, szTemp); return 0; } public StatsMenu(id) { new iMenu; fmt(5712, 5848); iMenu = menu_create(Heap_1024, "stats_menu_handler", 0); menu_additem(iMenu, "Топ игроков", "", 0, -1); menu_additem(iMenu, "Топ дуэлянтов", "", 0, -1); MenuSetProp(iMenu); menu_display(id, iMenu, 0, -1); return 1; } public stats_menu_handler(id, iMenu, iItem) { if (iItem == -3) { menu_destroy(iMenu); return 1; } menu_destroy(iMenu); switch (iItem) { case 0: { client_cmd(id, "say /top10"); } case 1: { amxclient_cmd(id, "say", "/td", ""); } default: { } } return 1; } public TeamMenu(id) { new menu; fmt(6300, 6472); menu = menu_create(Heap_1024, "team_menu_handler", 0); menu_additem(menu, "Террористы", "", 0, -1); menu_additem(menu, "Спецназ", "", 0, -1); menu_addblank2(menu); menu_additem(menu, "Наблюдать", "", 0, -1); MenuSetProp(menu); menu_display(id, menu, 0, -1); return 1; } public team_menu_handler(id, menu, item) { if (item == -3) { menu_destroy(menu); return 1; } menu_destroy(menu); switch (item) { case 0: { func_ChangeTeam(id, TeamName:1); } case 1: { func_ChangeTeam(id, TeamName:2); } case 3: { func_ChangeTeam(id, TeamName:3); } default: { } } return 1; } func_ChangeTeam(id, TeamName:iTeam) { if (is_user_alive(id)) { user_kill(id, 0); } set_member_s(id, "", 0); rg_join_team(id, iTeam); set_member_s(id, "", 0); return 0; } MenuSetProp(menu) { menu_setprop(menu, 10, "\r"); menu_setprop(menu, 2, 6884); menu_setprop(menu, 3, 6928); menu_setprop(menu, 4, 6972); menu_setprop(menu, 6, 1); return 0; } public EE_Plugins(id) { console_print(id, "%s (last update: %s)", "Server Menu", "12.14.2023"); return 0; }