Правила форума Гаранты форума
Размещение рекламы AMX-X компилятор

Здравствуйте, гость Вход | Регистрация

Наши новости:

14-дек
24-апр
10-апр
11-апр

Причина отсоединения от сервера ( от Bugsy )

Статус пользователя Sky Cat
сообщение 26.7.2013, 19:12
Сообщение #1
Стаж: 13 лет
Город: Белгород

Сообщений: 1179
Благодарностей: 733
Полезность: 1056

Автор: Bugsy
Перевел описание и кусочек кода: Insamez


Описание:

Данный плагин уведомляет игроков, через чат и консоль о причине по которой игрок покинул сервер ( Время с соединением сервера вышло, клиент покинул сервер, кикнули ). Стандартное, консольное сообщение о том, что игрок вышел не будет показано, если плагин включен. Автор также устранил найденные квары в предыдущей версии, что позволяет контролировать типы уведомлений и методы уведомлений; Все типы отключение от сервера отображаются, как в чате, так и в консоли. Существуют также Forward 'client_disconnect_reason( id , drCode , szReason[] )', который позволяет использовать причины отсоединения от сервера в своих плагинах, смотрите пример ниже. Forward остается включенным независимо от dr_enabled квара, который будет контролировать сообщения чата и консоли.

Квары:

dr_enabled <0/1> - Чат/Консоль уведомления ( вкл/выкл ).
Стандартно: 1 (0=отключено, 1=включено)

Скрытый текст
Forwards

client_disconnect_reason( id , drCode , const szReason[] ) - Forward для client_disconnect причин.
id - игрока ID
drCode - Причина отключения от сервера код
Код
   DR_TIMEDOUT
   DR_DROPPED
   DR_KICKED
   DR_OTHER

szReason - Причины отключения от сервера ( текст ): Timed out, Client sent 'drop', Kicked.


Причины отключения от сервера коды:

Код
enum ReasonCodes
{
    DR_TIMEDOUT,
    DR_DROPPED,
    DR_KICKED,
    DR_OTHER
}


Модули:

Orpheu

Скрытый текст
Установка:

- разместить .amxx закачать в папку с другими плагинами.
- разместить SV_DropClient ( найти в signatures.zip ) в amxmodx\configs\orpheu\functions.
- для Forward в ваших плагин(ах), вы должны оставить плагин включенным ( не #include )


Пример плагина:

Код
#include <amxmodx>

new const Version[] = "0.1";

enum ReasonCodes
{
    DR_TIMEDOUT,
    DR_DROPPED,
    DR_KICKED,
    DR_OTHER
}

public plugin_init()
{
    register_plugin( "Disconnect Reason Example" , Version , "bugsy" );
}

public client_disconnect_reason( id , ReasonCodes:drReason , const szReason[] )
{
    //Отображение информации
    server_print( "id=%d ReasonCode=%d ReasonText=^"%s^"" , id , drReason , szReason );
    
    switch ( drReason )
    {
        case DR_TIMEDOUT: server_print( "Бедняга, время вышло" );
        case DR_DROPPED: server_print( "Ух, другой игрок покинул мой сервер :(" );
        case DR_KICKED: server_print( "Игрок кикнут!" );
        case DR_OTHER: server_print( "хмм, почему он отсоединился от сервера ?" );
    }
}


Отредактировал: insamez, - 26.7.2013, 19:19
Прикрепленные файлы:
Прикрепленный файл  _signature_SV_DropClient.zip ( 346 байт ) Кол-во скачиваний: 10
Прикрепленный файл  disconnect_reason.sma ( 2,59 килобайт ) Кол-во скачиваний: 9


я знаю, что я ничего не знаю
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 3 раз
   Цитировать сообщение
  Ответить в данную темуНачать новую тему
 
0 пользователей и 1 гостей читают эту тему: