[CS: Source] Jail warden (меню командира)

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

  1. FurryPolimorf

    FurryPolimorf

    Сообщения:
    14
    Симпатии:
    5
    Jail Warden (by FoxSerito) v2.5

    [​IMG][​IMG]

    По мере возможности буду исправлять ошибки (буду признателен если кто поможет)
    В начале раунда у Т идет голосование в течении 15 секунд кто будет командовать.
    Если было 0 голосов кт выбирается случайно из живых.
    Командами !w и !c открывается меню и если нет командира то становишся им.
    Во время голосования стать командиром нельзя.

    Основное меню:
    • [◄|►] Открыть все двери
    • Направляющий свет
    • Дополнительно
    • Снять ФД/станд. цвет
    • Дать мирный фридей (1чел)
    • Драка заключенных Вкл./Выкл.
    • NoBlock Вкл./Выкл.
    • Выкл микро заключенным на 15 сек
    • Еще >>
    • [-] Покинуть пост
    • [X] Выйти из меню

    Покинуть пост также можно командами !uw !unwarden !uc !uncommander
    Админ может снять с поста командами !rw !rc

    Дополнительное меню:
    • Покрасить в синий
    • Покрасить в зеленый
    • Отменить все ЛР (2 раза)
    • Взять гранату (25 раз)
    • Игра призрак (В разработке)
    • << Назад


    Игра призрак: (будет доступна позже как отдельный плагин)
    Временные правила:КТ становятся невидимыми и должны убить Т имея только нож и повышенную гравитацию. Т могут брать любое оружие. Т не имеют права сидеть в узких тунелях и нычках где мало места и есть только один вход

    Настройки:
    По пути /cfg/sourcemod/ автоматически создается файл настроек plugin.sm_jail_warden.cfg
    Код:
    GlowLight_Color "0 255 0"                           \\ Цвет направляющего света
    GlowLight_Size "0.6"                                \\ Размер направляющего света
    GlowLight_Texture "sprites/animglow01.vmt"          \\ Текстура направляющего света
    warden_model "models/player/ct_gign.mdl"            \\ Модель командира
    
    Исходник (GitHub)

    Changelog
    v2.5
    1. Убрал лишнее.
    2. Переделал захват чата для установки префикса.
    3. Отвязал плагин NoBlock.
    4. Добавил звуки в некоторые события.
    5. Добавил в меню "Выкл микро заключенным на 15 сек" (повторное использование через 30 сек).
    6. В warden.phrases.txt добавил warden_chat, в нем можно менять префикс чата у командира.

    v2.4
    добавил переключение NoBlock (нужен плагин NoBlock http://bit.ly/1erqnKU)
    убрал все что связано с игрой "призрак" (позже сделаю как отдельный плагин)
    В меню дополнительно добавил Отменить все ЛР (2 раза) и Взять гранату (25 раз).Перенес пункт игры призрак сюда.
    При перекраске в чате пишется имя кого перекрасили и тому кого перекрасили по центру выводится сообщение в какой цвет его покрасили.
    Если у игрока было больше 90 hp то при становлении командиром ему устанавливается 130 hp. Если меньше 90 то hp не добавляются.
    В режим драки заключенных добавил звук старта (звук из МК, позже сделаю отдельным кваром) и на конец.
    + маленькие фиксы

    v2.3.0
    Спасибо White Wolf за оптимизацию кода
    Голосование на командира запускается если за Т больше 2 человек и есть ли живые КТ
     

    Вложения:

    Последнее редактирование: 6 июл 2015
    vanya95, SHAREN, BatyaMedic и ещё 1-му нравится это.
  2. ★$$StOk$$★

    ★$$StOk$$★

    Сообщения:
    648
    Симпатии:
    178
    Исходник бы...
     
  3. FurryPolimorf

    FurryPolimorf

    Сообщения:
    14
    Симпатии:
    5
    Алё гараж :blink: внизу ищи ссылку)
     
  4. R1KO

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

    Сообщения:
    5.972
    Симпатии:
    2.978
    FurryPolimorf,
    PHP:
    #define TEAM_CTS 3
    #define CS_TEAM_T 2
    Как-то в одном стиле назвал бы.

    PHP:
    new String:Title_Menu[] = "[Меню командира] [By FoxSerito] v2.2 :\n \n";
    Нет смысла выносить в отдельную переменную.

    PHP:
    if(option == 1)
                {
                    if (
    floodcontrol == 1)
                    {
                        
    PrintToChat(client,"Не используйте меню так часто!");
                        
    ShowMyPanel(client);
                    }
                    else
                    {
                        
    floodcontrol 1;
                        
    CPrintToChatAll("{springgreen}[КМД] ~ {white}Командир Открыл Джайлы и другие обьекты");
                        
    PrintToServer("Коммандирка ~ Открыты все двери");
                        
    OpenAllDoors();
                        
    ShowMyPanel(client);
                        
    CreateTimer(5.0FLOOD_D_timer);
                    }
                }
                else if(
    option == 2)
                {
                    
    CreateGlowLight(client);
                    
    ShowMyPanel(client);
                }
                else if(
    option == 3)
                {
                    
    MenuPlus(client);
                }
                else if(
    option == 4)
                {
                    
    ColorChangeDef(client);
                    
    ShowMyPanel(client);
                }
                
                else if(
    option == 5)
                {
                    
    // фридей
                    
    FreeDay(client);
                    
    ShowMyPanel(client);
                }
                
                else if(
    option == 6)
                {
                    if (
    floodcontrol == 1)
                    {
                        
    PrintToChat(client,"Не используйте меню так часто!");
                        
    ShowMyPanel(client);
                    }
                    else
                    {
                        
    floodcontrol 1;
                        
    CreateTimer(5.0FLOOD_D_timer);
                        
    friendlyfire();                            // friendlyfire
                        
    ShowMyPanel(client);
                    }
                }
                else if(
    option == 7)
                {
                    
    ShowGhostGameMenu(client);
                }
                else if(
    option == 8)
                {
                    
    CPrintToChatAll("{springgreen}[КМД] ~ {white}Командир покинул пост, возьмите командование!");
                    
    SetEntityModel(clientm_ModelName_before_ward); //возвращаем модельку которая была раньше
                    
    Warden = -1;
                }
                else if (
    action == MenuAction_End)
                {
                    
    CloseHandle(maincmd);
                }
            }
            else 
    // The warden already exist so there is no point setting a new one
            
    {
                
    PrintToChat(client"Вы не КМД");
            }
    PHP:
    switch(option)
    {
    case 
    0:
    {
    //..
    }
    case 
    1:
    {
    //..
    }
    // ...
    }
    В остальных панелях так же.

    Остальное не смотрел.
     
  5. White Wolf

    White Wolf [] (int _n) -> double { return (_n % 2) == 0;}); Супер-модератор

    Сообщения:
    1.186
    Симпатии:
    411
    FurryPolimorf, по поводу
    PHP:
    #define TEAM_CTS 3 
    #define CS_TEAM_T 2 
    Не требуется, так как в sourcemod'e уже назначены следующие определители по умолчанию для cstrike:
    PHP:
    #define CS_TEAM_CT 3
    #define CS_TEAM_T 2
     
    FurryPolimorf нравится это.
  6. Никита Усков

    Никита Усков

    Сообщения:
    3
    Симпатии:
    0
    Ребят, у меня проблемка, захожу в меню КМД с помощью !w, так вот, когда я что то в чате пишу у меня все цветным. Это красиво и всё такое, но он команды не воспринимает когда пишет цветным, например !admin или !shop, поэтому приходится все через консоль писать, а это все муторно, не могли бы вы подсказать, как сделать чтобы было цветным, но команды чтоб тоже работали?
     
  7. MrTonik

    MrTonik

    Сообщения:
    230
    Симпатии:
    20
    На CS GO работает?
     
  8. FurryPolimorf

    FurryPolimorf

    Сообщения:
    14
    Симпатии:
    5
    не тестил
     
  9. Andy Freeman

    Andy Freeman Fatal error Супер-модератор

    Сообщения:
    407
    Симпатии:
    59
    Проверяй :) только проверкой можно узнать работает или нет
     
  10. Никита Усков

    Никита Усков

    Сообщения:
    3
    Симпатии:
    0
    Кто нибудь ответит мне?
     
  11. FurryPolimorf

    FurryPolimorf

    Сообщения:
    14
    Симпатии:
    5
    попробую немного переделать перекрас жди обновления
     
  12. Никита Усков

    Никита Усков

    Сообщения:
    3
    Симпатии:
    0
    Пожалуйста побыстрее! А так плагин на 5!
     
  13. a1m

    a1m

    Сообщения:
    31
    Симпатии:
    1
    Хотелось бы видеть мут кт/т на 30 секунд
     
  14. ★$$StOk$$★

    ★$$StOk$$★

    Сообщения:
    648
    Симпатии:
    178
    Ошибку при компиляции выдаёт
    Код:
    sm_jail_wardens.sp(473) : error 017: undefined symbol "CloseWardenMenu"
    Как поправить ?
     
  15. R1KO

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

    Сообщения:
    5.972
    Симпатии:
    2.978
    ★$$StOk$$★, рылся в inc не нашел этой ф-и. Пришлось просто убрать, т.к. лень было писать свою.
     
    ★$$StOk$$★ нравится это.
  16. AlmazON

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

    Сообщения:
    4.506
    Симпатии:
    1.961
    Наверное имелось ввиду CancelClientMenu(client); - можешь попробовать, заменив на это.
     
    ★$$StOk$$★ нравится это.
  17. R1KO

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

    Сообщения:
    5.972
    Симпатии:
    2.978
    AlmazON, я так и сделал уже.
     
    ★$$StOk$$★ нравится это.
  18. FurryPolimorf

    FurryPolimorf

    Сообщения:
    14
    Симпатии:
    5
    R1KO, да пытался сделать, чтоб закрывалось меню, после тестов забыл убрать
     
  19. SHAREN

    SHAREN Servers-Info.Ru

    Сообщения:
    203
    Симпатии:
    13
    Плагин отличный, добавьте пожалуйста возможность через configs прописывать дополнительное меню и убирать стандартные пункты. (Как в Help Menu v0.3)
    Я бы мог своими кривыми ручками отредактировать скрипт, но у плагина постоянно выходят обновления.

    P.S. Ну и думаю будет полезным дать возможным включать отключать функции через cvar
     
    Последнее редактирование: 11 июл 2015
  20. vanya95

    vanya95

    Сообщения:
    67
    Симпатии:
    0
    Добавь если не сложно функцию создать мяч)

    Добавлено через 1 час 36 минут
    и если возможно измени функцию:изменения цвета)чтобы было примерно так:

    изменить цвет игрокам/игроку:

    1)поделить на две команды,то есть половину синих,половину зеленых
    2)Покрасить 1 в синий
    3)Покрасить 1 в зеленый

    я думаю так будет удобнее.А так плагин отличный, все работает, мне понравился)!!!
     
    Последнее редактирование: 19 июл 2015