[Любая игра] Menu Basic Commands

Тема в разделе "Новые плагины", создана пользователем AlmazON, 11 янв 2015.

  1. AlmazON

    AlmazON деревянный © yand3xmail

    Сообщения:
    4.558
    Симпатии:
    1.988
    Menu Basic Commands
    Текущая версия: 1.0.0

    Описание:
    • Специальное меню серверных команд игрока, собранных воедино для удобства:
      [​IMG]

    Требования:
    • SourceMod версии 1.5.0 или выше

    Поддерживаются игры:
    • Любая игра

    Установка:
    • Переместите или скопируйте файл "MenuBasicCommands.sp" в директорию addons\sourcemod\scripting сервера.
    • Скомпилируйте плагин. Переместите или скопируйте полученный файл "MenuBasicCommands.smx" в директорию addons\sourcemod\plugins сервера.

    Команды:
    • !com или !команды.

    Настройка:
    • Код:
      String:s[I]Command[/I][][] = {"[B]nominate[/B]", "[B]rtv[/B]", "[B]voteban[/B]", "[B]votekick[/B]", "[B]votemute[/B]", "[B]!rs[/B]", "[B]!settings[/B]", "[B][/B]"},
      String:s[I]Display[/I][][] = {"[B]Предложить карту[/B]", "[B]Голосовать за смену карты[/B]", "[B]Голосовать за бан игрока[/B]", "[B]Голосовать за кик игрока[/B]", "[B]Голосовать за мут игрока[/B]",
      	"[B]Сбросить свой счёт[/B]", "[B]Настройки игры[/B]", "[B]Меню VIP[/B]"};
      sCommand - команды от плагинов, sDisplay - вписать текст для отображения в меню.
      Если sCommand оставляется пустым, а sDisplay заполнено, то это будет выделенный белым текст/будущее меню.

    PHP:
    v1.0.0  (??.??.2014) - пробная версия (индивидуума);
    v1.0.0  (19.12.2015) - официальная публичная версия.
     

    Вложения:

    Последнее редактирование: 11 янв 2016
    MihailM, FurryPolimorf, Dukuu36 и 5 другим нравится это.
  2. ★$$StOk$$★

    ★$$StOk$$★

    Сообщения:
    648
    Симпатии:
    178
    Re: [SourceMod] ServerInfoMenu (Приват)

    Данный поступок заслуживает уважения.
     
    BatyaMedic, san911, Dima56 и 3 другим нравится это.
  3. SlavON

    SlavON

    Сообщения:
    424
    Симпатии:
    36
    А можно сделать чтобы меню не пропадало после выбора команды?
     
    Последнее редактирование: 30 июн 2015
  4. AlmazON

    AlmazON деревянный © yand3xmail

    Сообщения:
    4.558
    Симпатии:
    1.988
    Нельзя, ибо тогда меню плагина "задавит" другое меню, например, Голосования за кик игрока.
     
  5. SlavON

    SlavON

    Сообщения:
    424
    Симпатии:
    36
    И автобинд делать в кс-го я так понимаю нельзя?
     
  6. AlmazON

    AlmazON деревянный © yand3xmail

    Сообщения:
    4.558
    Симпатии:
    1.988
    Пример: bind f1 "say !com"
     
  7. SlavON

    SlavON

    Сообщения:
    424
    Симпатии:
    36
    Я себе то так и сделал, но я говорю про автобинд игрокам на сервере.
     
  8. AlmazON

    AlmazON деревянный © yand3xmail

    Сообщения:
    4.558
    Симпатии:
    1.988
    Можно, но реализуется дополнительным кодом.
     
  9. SourceSamil

    SourceSamil

    Сообщения:
    121
    Симпатии:
    24
    А разве можно биндить игрокам команды?
     
  10. SlavON

    SlavON

    Сообщения:
    424
    Симпатии:
    36
    В кс 1.6 меню сервера было нормой для сервера, в кс-го я что-то не видел ещё.
     
  11. AlmazON

    AlmazON деревянный © yand3xmail

    Сообщения:
    4.558
    Симпатии:
    1.988
    Именно биндить - нельзя, но выполнять команду от имени клавиши - можно.
    Можно вспомнить и
    PHP:
    forward Action:OnPlayerRunCmd(client, &buttons, &impulseFloat:vel[3], Float:angles[3], &weapon, &subtype, &cmdnum, &tickcount, &seedmouse[2]);
     
  12. Kaptain

    Kaptain Школьник

    Сообщения:
    578
    Симпатии:
    170
    !com не открывает.

    PHP:
    L 11/08/2015 10:38:57: [SMDisplaying call stack trace for plugin "MenuBasicCommands.smx":
    L 11/08/2015 10:38:57: [SM]   [0]  Line 23MenuBasicCommands.sp::OnPluginStart()

    PHP:
    new const String:sMD[][] = {"[ADMIN МЕНЮ]""[VIP TEST]""[VIP МЕНЮ]""[СБРОС СЧЁТА]""[СМЕНА КАРТЫ]",
     
    "[БАН ИГРОКА]""[КИК ИГРОКА]""[МУТ ИГРОКА]""[ПРЕДЛОЖИТЬ КАРТУ]"},
        
    String:sMI[][] = {"!admin""!viptest""!vip""!rs""votemap""voteban""votekick""votemute""nomination"};
    new 
    Handle:hMC;

    public 
    Plugin:myinfo 
    {
        
    name "Menu Basic Commands",
        
    author "AlmazON",
        
    description "Меню основных команд",
        
    version "1.0.0",
        
    url "http://www.hlmod.ru"
    }

    public 
    OnPluginStart()
    {
        if (
    AddCommandListener(SC"say") && AddCommandListener(SC"say_team"))
        {
            
    hMC CreateMenu(SM);
            
    SetMenuTitle(hMC"Команды сервера:\n \n");
            for (new 
    i11i++)
            {
                if (
    sMD[i][0] != '\0'AddMenuItem(hMCsMI[i], sMD[i], sMI[i][0] != '\0' ITEMDRAW_DEFAULT:ITEMDRAW_DISABLED);
            }
        }else 
    SetFailState("AddCommandListener is not available on the current game!");
    }

    public 
    Action:SC(cString:n[], a)
    {
        if (
    && IsClientInGame(c))
        {
            
    decl String:t[16];
            if (
    GetCmdArg(1t16) && !(strcmp(t"!com"false) && strcmp(t"!команды")))
            {
                
    DisplayMenu(hMCc60);
                return 
    Plugin_Handled;
            }
        }return 
    Plugin_Continue;
    }

    public 
    SM(Handle:hMenuAction:aco)
    {
        if (
    == MenuAction_Select)
        {
            
    decl String:b[10];
            if (
    GetMenuItem(hob10)) FakeClientCommand(c"say %s"b);
        }


     
    Последнее редактирование: 8 ноя 2015
  13. AlmazON

    AlmazON деревянный © yand3xmail

    Сообщения:
    4.558
    Симпатии:
    1.988
    Неполный лог. Нет собственно ошибки. Оффтоп
     
  14. R1KO

    R1KO Супер-модератор

    Сообщения:
    5.997
    Симпатии:
    2.991
    Кирилл Спиридонов, кинул не ссаму ошибку, а только её описание
     
  15. Саша Шеин

    Саша Шеин

    Сообщения:
    1.259
    Симпатии:
    191
    Замени на 8.
     
  16. Kaptain

    Kaptain Школьник

    Сообщения:
    578
    Симпатии:
    170
    Больше ничего нет. Скомпилировал на sm 1.7.2. Закинул на сервер,при написании !com не открывается меню.
     
  17. AlmazON

    AlmazON деревянный © yand3xmail

    Сообщения:
    4.558
    Симпатии:
    1.988
    Замените все:
    На
    PHP:
    for (new isizeof(sMI); i++)
    И считать ничего не надо, только заполнять обе "колонки" строк. Оффтоп
     
  18. Kaptain

    Kaptain Школьник

    Сообщения:
    578
    Симпатии:
    170
    Заменил,всё работает! Спасибо большое!
     
  19. AlmazON

    AlmazON деревянный © yand3xmail

    Сообщения:
    4.558
    Симпатии:
    1.988
    Menu Basic Commands v1.0.0 (релиз)

    Обновлено до версии 1.0.0 (оф).
    Изменения:
    Оптимизация всего кода (поддерживается SM от v1.5.0).
    Удобное добавление команд в меню, путём заполнения лишь sCommand (сами команды других плагинов) и sDisplay (текст, отображаемый в меню).
    Если sCommand оставляется пустым, а sDisplay заполнено, то это некая заметка для игроков, типа "Скоро появится" - будущее меню.
    Команды для открытия спецменю (com и команды) теперь могут быть с любым знаком перед собой, например: *Com
     
    Последнее редактирование: 11 янв 2016
  20. BosscoSport

    BosscoSport

    Сообщения:
    72
    Симпатии:
    1
    Кто либо компили плагин? скиньте пожалуйста