Причина при отключении игрока

Тема в разделе "Counter-Strike: Source", создана пользователем Иван Пяткин, 29 май 2014.

  1. Иван Пяткин

    Иван Пяткин

    Сообщения:
    26
    Симпатии:
    0
    Всем привет. Когда игрок отключается по собственному желанию, в чат выводится причина (disconnect by user.)
    Можно ли эту причину переименовать?
     
  2. R1KO

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

    Сообщения:
    5.972
    Симпатии:
    2.978
    Иван Пяткин, можно
     
  3. Иван Пяткин

    Иван Пяткин

    Сообщения:
    26
    Симпатии:
    0
  4. Иван Пяткин

    Иван Пяткин

    Сообщения:
    26
    Симпатии:
    0
    AlmazON, а другие способы есть? Regex не юзаю...

    Добавлено через 12 минут
    с помощью плагина можно это реализовать?
     
    Последнее редактирование: 29 май 2014
  5. R1KO

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

    Сообщения:
    5.972
    Симпатии:
    2.978
    Иван Пяткин,
    PHP:
    public OnPluginStart() HookEvent("player_disconnect"Event_PlayerDisconnectEventHookMode_Pre);

    public 
    Action:Event_PlayerDisconnect(Handle:hEvent, const String:name[], bool:dontBroadcast)
    {
        
    decl String:sReason[192];
        
    GetEventString(hEvent"reason"sReasonsizeof(sReason));
        if(
    StrEqual(sReason"disconnect by user"false))
        {
            
    strcopy(sReasonsizeof(sReason), "твоя причина");
            return 
    Plugin_Changed;
        }
        return 
    Plugin_Continue;
    }
    P.S. Не проверял
     
  6. Иван Пяткин

    Иван Пяткин

    Сообщения:
    26
    Симпатии:
    0
    R1KO, не работает...
     
  7. Tallanvor

    Tallanvor Красноглазый

    Сообщения:
    1.075
    Симпатии:
    302
    Иван Пяткин, скомпилилось без ошибок?
     
  8. Иван Пяткин

    Иван Пяткин

    Сообщения:
    26
    Симпатии:
    0
    Tallanvor, да, но причина так и не поменялась(
     
  9. HooLIGUN

    HooLIGUN

    Сообщения:
    748
    Симпатии:
    124
  10. Иван Пяткин

    Иван Пяткин

    Сообщения:
    26
    Симпатии:
    0
    HooLIGUN, я этот плагин использую. в нём и пишет что Disconnect by user. А мне просто хочется причину переименовать.
     
  11. Иван Пяткин

    Иван Пяткин

    Сообщения:
    26
    Симпатии:
    0
    AlmazON, вроде и с ботами есть такая причина... скорее всего в игре так заложено сразу
     
  12. PASHTET

    PASHTET

    Сообщения:
    213
    Симпатии:
    16
    SM тут совсем не причем, это вшито в движок сервера
     
  13. R1KO

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

    Сообщения:
    5.972
    Симпатии:
    2.978
    Я знаю что мой код не работает. Там нужно делать по другому
    Нужно kdlp-gameevents чуток изменить и всё.
     
  14. Иван Пяткин

    Иван Пяткин

    Сообщения:
    26
    Симпатии:
    0
    AlmazON, не работает...
     
  15. R1KO

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

    Сообщения:
    5.972
    Симпатии:
    2.978
    AlmazON, не будет работать, нужно отключать стандартное сообщение и выводить свое. Идеально было бы изменить kdlp-gameevents
     
  16. Иван Пяткин

    Иван Пяткин

    Сообщения:
    26
    Симпатии:
    0
    R1KO, а можно из kdlp-gameevents вырезать этот кусок и в отдельный плагин затолкать?
     
  17. R1KO

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

    Сообщения:
    5.972
    Симпатии:
    2.978
    Иван Пяткин,
    PHP:
    public OnPluginStart() HookEvent("player_disconnect"Event_PlayerDisconnectEventHookMode_Pre); 

    public 
    Action:Event_PlayerDisconnect(Handle:hEvent, const String:name[], bool:dontBroadcast

        
    decl String:sReason[192]; 
        
    GetEventString(hEvent"reason"sReasonsizeof(sReason)); 
        if(
    StrEqual(sReason"Disconnect by user."false)) 
        { 
            if (!
    dontBroadcastSetEventBroadcast(hEventtrue);
            
    decl String:sName[MAX_NAME_LENGTH]; 
            
    GetEventString(hEvent"name"sNamesizeof(sName));
            
    PrintToChatAll("Игрок %s отключился (Причина: твоя причина)"sName);
        }
    }
     
    Последнее редактирование: 29 май 2014
  18. R1KO

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

    Сообщения:
    5.972
    Симпатии:
    2.978
    AlmazON, да. Будет блокироваться сообщение в котором есть "disconnect by user".
    А по другому не выйдет. Насколько я понял в этом событии нельзя сделать
    return Plugin_Changed; или return Plugin_Handled;
     
    AlmazON нравится это.
  19. Иван Пяткин

    Иван Пяткин

    Сообщения:
    26
    Симпатии:
    0
    AlmazON, верно, я же юзаю kdlp-gameevents, и хотелось бы чтобы только сама причина изменялась а не всё сообщение..

    Добавлено через 9 минут
    R1KO, т.е. заменить только причину не получится никак?
     
    Последнее редактирование: 29 май 2014
  20. R1KO

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

    Сообщения:
    5.972
    Симпатии:
    2.978