Запретить забанить самого себя и администраторов

Тема в разделе "Общие вопросы", создана пользователем pracc, 30 апр 2015.

  1. pracc

    pracc

    Сообщения:
    480
    Симпатии:
    128
    Как заблокировать свой ник в списке бана, чтобы нельзя было себя забанить и нельзя было забанить администраторов с одинаковым иммунитетом?
     
  2. Danyas

    Danyas Спасибо, браток © yand3xmail Модератор

    Сообщения:
    1.721
    Симпатии:
    461
    Переписать исходник банов.
    Добавить проверку иммунитета
     
    pracc нравится это.
  3. pracc

    pracc

    Сообщения:
    480
    Симпатии:
    128
    Ты же можешь мне помочь, я знаю (sm_immunity_mode 2).
     
  4. DarklSide

    DarklSide

    Сообщения:
    685
    Симпатии:
    173
    1 половина (один из методов):

    Редактируя исходники
    например ban.sp -
    PHP:
    DisplayBanTargetMenu(client)
    {
        new 
    Handle:menu CreateMenu(MenuHandler_BanPlayerList);
        
    decl String:title[100];
        
    Format(titlesizeof(title), "%T:""Ban player"client);
        
    SetMenuTitle(menutitle);
        
    SetMenuExitBackButton(menutrue);
        
    AddTargetsToMenu2(menuclientCOMMAND_FILTER_NO_BOTS|COMMAND_FILTER_CONNECTED);
        
    DisplayMenu(menuclientMENU_TIME_FOREVER);
    }
    на
    PHP:
    DisplayBanTargetMenu(client)
    {
        new 
    Handle:menu CreateMenu(MenuHandler_BanPlayerList);
        
    decl String:s_title[100];
        
    Format(s_titlesizeof(s_title), "%T:""Ban player"client);
        
    SetMenuTitle(menus_title);
        
    SetMenuExitBackButton(menutrue);
        
    decl String:s_ids[15], String:s_nick[32];
        for (new 
    1<= MaxClientsi++)
        {
            if (
    IsClientInGame(i) && !IsFakeClient(i))
            {
                
    IntToString(GetClientUserId(i), s_ids15);
                
    s_nick[0] = '\0';
                
    GetClientName(is_nicksizeof(s_nick));
                
    AddMenuItem(menus_idss_nick!= client ITEMDRAW_DEFAULT ITEMDRAW_DISABLED);
            }
        }
        
    DisplayMenu(menuclientMENU_TIME_FOREVER);
    }
    2 половина:
    PHP:
    sm_immunity_mode 2
     
    BatyaMedic и pracc нравится это.