Отдельное меню плагина перенести, в главное меню ADMIN

KekLol4444

Участник
Сообщения
33
Реакции
4
DEL
спасибо
 
Последнее редактирование:

Allen

love society
Сообщения
352
Реакции
274
  • Команда форума
  • #3
Например установил плагин [CS: Source] - SM WeaponGiver
Теперь чтобы не писать в чат !wg Хочу чтобы это меню было в основной Админке !admin
Например добавить пункт Выдать оружие
Как это Сделать?
В addons/sourcemod/configs/adminmenu_custom.txt вставь.
C-подобный:
"Commands"
{
    "Выдать Оружие"
    {
        "cmd"    "sm_wg"
        "admin"    "sm_kick"
        "execute"    "player"        
     }
}
 

Allen

love society
Сообщения
352
Реакции
274
  • Команда форума
  • #5
Я в этом вообще не разбираюсь
Не могли бы вы мне помочь? Как вставить

C-подобный:
#include <sourcemod>
#include <sdktools>

new String:s_Waponname[33][32] = {"Glock", "USP", "Deagle", "P228", "Five-Seven", "Dual Elites", "M3", "XM1014", "TMP", "MAC-10", "MP5", "UMP", "P90", "FAMAS", "Galil", "Scout", "AK-47", "M4A1", "AUG", "Krieg", "AWP", "SG550",
                                "G3SG1", "Пулемёт", "Нож", "Взрывная граната", "Слеповая граната", "Дымовая граната", "Броня", "Броня+Шлем", "Бомба", "Defuse Kit", "Ночное видение"},
    String:s_Wapon[33][32] = {"weapon_glock", "weapon_usp", "weapon_deagle", "weapon_p228", "weapon_fiveseven", "weapon_elite", "weapon_m3", "weapon_xm1014", "weapon_tmp", "weapon_mac10", "weapon_mp5navy", "weapon_ump45",
                            "weapon_p90", "weapon_famas", "weapon_galil", "weapon_scout", "weapon_ak47", "weapon_m4a1", "weapon_aug", "weapon_sg552", "weapon_awp", "weapon_sg550", "weapon_g3sg1", "weapon_m249", "weapon_knife",
                            "weapon_hegrenade", "weapon_flashbang", "weapon_smokegrenade", "item_kevlar", "item_assaultsuit", "weapon_c4", "item_defuser", "item_nvgs"},

    String:s_Wapons[MAXPLAYERS+1][32];

public Plugin:myinfo =
{
    name = "WeaponGiver",
    author = "",
    description = "Admin menu which gives players weapons and items",
    version = "2.0",
    url = ""
}

public OnPluginStart()
{
    RegAdminCmd("sm_wg", ConsoleCmd, ADMFLAG_ROOT);
}

public Action:ConsoleCmd(client, args)
{
    GiveWapon(client);
 
    return Plugin_Handled;
}

GiveWapon(client)
{
    new Handle:menu = CreateMenu(MenuHandlerWapon);
    SetMenuTitle(menu, "Меню оружия");
    AddMenuItem(menu, "Пистолет", "Пистолет"); // pistols
    AddMenuItem(menu, "Дробовик", "Дробовик"); // shotgun
    AddMenuItem(menu, "Пистолет-Пулемёт", "Пистолет-Пулемёт"); //smg
    AddMenuItem(menu, "Винтовки", "Винтовки"); //rifle
    AddMenuItem(menu, "Пулемёт", "Пулемёт"); //machinegun
    AddMenuItem(menu, "Прочее", "Прочее"); //misc
    SetMenuExitButton(menu, true);
    DisplayMenu(menu, client, MENU_TIME_FOREVER);
}

public MenuHandlerWapon(Handle:menu, MenuAction:action, client, param2)
{
    if (action == MenuAction_Select)
    {
        decl String:s_info[32];
        GetMenuItem(menu, param2, s_info, sizeof(s_info));
        new Handle:menus = CreateMenu(MenuHandlerWapon2);
        SetMenuTitle(menus, "Меню оружия- %s", s_info);
        switch(param2)
        {
            case 0:
            {
                for (new j = 0; j < 5; j++)
                    AddMenuItem(menus, s_Wapon[j], s_Waponname[j]);
            }
            case 1:
            {
                for (new j = 6; j < 8; j++)
                    AddMenuItem(menus, s_Wapon[j], s_Waponname[j]);
            }
            case 2:
            {
                for (new j = 9; j < 12; j++)
                    AddMenuItem(menus, s_Wapon[j], s_Waponname[j]);
            }
            case 3:
            {
                for (new j = 13; j < 22; j++)
                    AddMenuItem(menus, s_Wapon[j], s_Waponname[j]);
            }
            case 4:    AddMenuItem(menus, s_Wapon[23], s_Waponname[23]);
            case 5:
            {
                for (new j = 24; j < 33; j++)
                    AddMenuItem(menus, s_Wapon[j], s_Waponname[j]);
            }
        }

        SetMenuExitBackButton(menus, true);
        DisplayMenu(menus, client, MENU_TIME_FOREVER);
    }
    else if (action == MenuAction_Cancel)
        CloseHandle(menu);
}

public MenuHandlerWapon2(Handle:menu, MenuAction:action, client, param2)
{
    if (action == MenuAction_Select)
    {
        GetMenuItem(menu, param2, s_Wapons[client], sizeof(s_Wapons[]));
     
        GiveWaponClient(client)
    }
    else if (action == MenuAction_Cancel)
    {
        if (param2 == MenuCancel_ExitBack)
            GiveWapon(client);
        if (param2 == MenuCancel_Exit)
            CloseHandle(menu);
    }
}

GiveWaponClient(client)
{
    decl String:s_name[64], String:s_target[12];
    new Handle:menu = CreateMenu(MenuHandlerClient);

    SetMenuTitle(menu, "Кому дать оружие");
    for (new i = 1; i <= GetMaxClients(); i++)
    {
        if (IsClientInGame(i) && IsPlayerAlive(i))
        {
            GetClientName(i, s_name, sizeof(s_name));
            IntToString(GetClientUserId(i), s_target, sizeof(s_target));
            AddMenuItem(menu, s_target, s_name);
        }
    }
    SetMenuExitBackButton(menu, true);
    DisplayMenu(menu, client, 0);
}

public MenuHandlerClient(Handle:menu, MenuAction:action, client, param2)
{
    if (action == MenuAction_Select)
    {
        new iTarget;
        decl String:s_info[12],
             String:s_name[64];
        GetMenuItem(menu, param2, s_info, sizeof(s_info));
        iTarget = GetClientOfUserId(StringToInt(s_info));
        GetClientName(iTarget, s_name, sizeof(s_name));
     
        if (IsClientInGame(iTarget))
        {
            GivePlayerItem(iTarget, s_Wapons[client]);
             
            for (new j = 0; j < 33; j++)
                ReplaceString(s_Wapons[client], sizeof(s_Wapons[]), s_Wapon[j], s_Waponname[j]);
         
            PrintToChatAll("\x07008000[\x07ff0000Мини Игры\x07008000] \x01Админ дал \x07ff0033%s \x01игроку \x0734c924%s", s_Wapons[client], s_name);
        }
        GiveWapon(client);
    }
    else if (action == MenuAction_Cancel)
    {
        if (param2 == MenuCancel_ExitBack)
            GiveWapon(client);
        if (param2 == MenuCancel_Exit)
            CloseHandle(menu);
    }
}

--- Добавлено позже ---

не работает
Сервер перезагружал? Сохранял в кодировке UTF-8 Без Boom ?

Попробуй тогда так:
C-подобный:
"Commands"
{
     "PlayerCommands"
     {
         "Выдать Оружие"
         {
             "cmd"    "sm_wg"
             "admin"    "sm_kick"
             "execute"    "player"
         }
     }
}

Пункт добавиться в "Управление Игроками".
 
Сверху Снизу