Nico Yazawa
Бывший MrChester =(
- Сообщения
- 326
- Реакции
- 303
И снова приветствую всех обитателей hlmod.ru. Сегодня я столкнулся проблемой, когда писал свою админ систему. Моей идеей и уникальностью в этом плагине, заключается система уровней и репутации. Когда я начинаю работать с Menu, то происходят странные вещи: Главное меню спокойно отображается, а вот если выбрать в ней пункт, который вызовет еще одно меню, то оно просто не появится. Прикладываю часть кода, список плагинов и версию SourceMod'а.
PHP:
public Action Settings(int iClient, int args)
{
if(Admin_Level[iClient] < 1)
{
PrintToChat(iClient, "Отказано в доступе!");
return;
}
Menu hMenu_Settings = new Menu(MenuHandler_Settings, MenuAction_Cancel|MenuAction_Select|MenuAction_Display|MenuAction_DisplayItem);
char temp[128];
hMenu_Settings.SetTitle("Админ панель\nВаш уровень: %i", Admin_Level[iClient]);
hMenu_Settings.AddItem("Настройка спавна", "Убить игрока", Admin_Level[iClient] > 1 ? ITEMDRAW_DEFAULT : ITEMDRAW_DISABLED);
Format(temp, sizeof(temp), "АвтоРеспавн [%s]", isRespawn ? "Вкл" : "Выкл")
hMenu_Settings.AddItem("Настройка спавна", temp, Admin_Level[iClient] > 3 ? ITEMDRAW_DEFAULT : ITEMDRAW_DISABLED);
hMenu_Settings.Display(iClient, 0);
}
public int MenuHandler_Settings(Menu hMenu, MenuAction action, int iClient, int iItem)
{
switch(action)
{
case MenuAction_Select:
{
if(iItem == 0)
{
PrintToChatAll("Тест 1 успешный");
Menu_AllPlayers_Kill(iClient);
PrintToChatAll("Тест 3 успешный");
hMenu.Cancel();
}
else if(iItem == 1)
{
ChangeSpawn(iClient);
hMenu.Cancel();
Settings(iClient, 0);
}
}
}
}
public void Menu_AllPlayers_Kill(int iClient)
{
Menu hMenu = new Menu(MenuHandler_AllPlayers_Kill, MenuAction_Cancel|MenuAction_Select|MenuAction_Display|MenuAction_DisplayItem);
hMenu.SetTitle("Выберите игрока:");
for(int i = 1; i <= 64; i++)
{
if(IsPlayerAlive(i) && Admin_Level[iClient] > Admin_Level[i])
{
char temp[128];
GetClientName(i, temp, sizeof(temp));
hMenu.AddItem("Клиент", temp);
}
}
hMenu.Display(iClient, 0);
PrintToChatAll("Тест 2 успешный");
}
public int MenuHandler_AllPlayers_Kill(Menu hMenu, MenuAction action, int iClient, int iItem)
{
if(action == MenuAction_Select)
{
ForcePlayerSuicide(iItem - 1);
PrintToChatAll("Администратор: %N убил игрока: %N", iClient, iItem - 1);
hMenu.Cancel();
}
}
01 "Admin File Reader" (1.9.0.6273) by AlliedModders LLC
02 "Admin Help" (1.9.0.6273) by AlliedModders LLC
03 "Admin Menu" (1.9.0.6273) by AlliedModders LLC
04 "[InkCore] AimMod" by inklesspen
05 "Anti-Flood" (1.9.0.6273) by AlliedModders LLC
06 "Basic Ban Commands" (1.9.0.6273) by AlliedModders LLC
07 "Basic Chat" (1.9.0.6273) by AlliedModders LLC
08 "Basic Comm Control" (1.9.0.6273) by AlliedModders LLC
09 "Basic Commands" (1.9.0.6273) by AlliedModders LLC
10 "Basic Info Triggers" (1.9.0.6273) by AlliedModders LLC
11 "Basic Votes" (1.9.0.6273) by AlliedModders LLC
12 "Client Preferences" (1.9.0.6273) by AlliedModders LLC
13 "Fun Commands" (1.9.0.6273) by AlliedModders LLC
14 "Fun Votes" (1.9.0.6273) by AlliedModders LLC
15 "Nextmap" (1.9.0.6273) by AlliedModders LLC
16 "Player Commands" (1.9.0.6273) by AlliedModders LLC
17 "Reserved Slots" (1.9.0.6273) by AlliedModders LLC
18 "respawn_players.smx"
19 "Sound Commands" (1.9.0.6273) by AlliedModders LLC
02 "Admin Help" (1.9.0.6273) by AlliedModders LLC
03 "Admin Menu" (1.9.0.6273) by AlliedModders LLC
04 "[InkCore] AimMod" by inklesspen
05 "Anti-Flood" (1.9.0.6273) by AlliedModders LLC
06 "Basic Ban Commands" (1.9.0.6273) by AlliedModders LLC
07 "Basic Chat" (1.9.0.6273) by AlliedModders LLC
08 "Basic Comm Control" (1.9.0.6273) by AlliedModders LLC
09 "Basic Commands" (1.9.0.6273) by AlliedModders LLC
10 "Basic Info Triggers" (1.9.0.6273) by AlliedModders LLC
11 "Basic Votes" (1.9.0.6273) by AlliedModders LLC
12 "Client Preferences" (1.9.0.6273) by AlliedModders LLC
13 "Fun Commands" (1.9.0.6273) by AlliedModders LLC
14 "Fun Votes" (1.9.0.6273) by AlliedModders LLC
15 "Nextmap" (1.9.0.6273) by AlliedModders LLC
16 "Player Commands" (1.9.0.6273) by AlliedModders LLC
17 "Reserved Slots" (1.9.0.6273) by AlliedModders LLC
18 "respawn_players.smx"
19 "Sound Commands" (1.9.0.6273) by AlliedModders LLC
SourceMod Version: 1.9.0.6273
SourcePawn Engine: 1.9.0.6273, jit-x86 (build 1.9.0.6273)
SourcePawn API: v1 = 4, v2 = 12
Compiled on: Jan 1 2019 12:57:25
Built from: Fix BfRead.BytesLeft not being able to be optional. (fixes #945). · alliedmodders/sourcemod@95027e0
Build ID: 6273:95027e0a
SourceMod: Half-Life 2 Scripting
SourcePawn Engine: 1.9.0.6273, jit-x86 (build 1.9.0.6273)
SourcePawn API: v1 = 4, v2 = 12
Compiled on: Jan 1 2019 12:57:25
Built from: Fix BfRead.BytesLeft not being able to be optional. (fixes #945). · alliedmodders/sourcemod@95027e0
Build ID: 6273:95027e0a
SourceMod: Half-Life 2 Scripting