Ping_Control добавить варны игроку

Статус
В этой теме нельзя размещать новые ответы.
Сообщения
460
Реакции
68
Помог
7 раз(а)
Всем привет. Помогите прикрепить вот эту строку
PHP:
ChatColor(players, "Предупреждение %i/%i: ваш пинг %d, макс. допустимый пинг на сервере %i", g_iWarning[players], MAX_WARNING_CHECK, iPing, MAX_ALLOWED_PING);
cюда
PHP:
#include <amxmodx>

#define ACCESS_LEVEL_IMMUNITY     (ADMIN_RESERVATION|ADMIN_RESERVATION)     // Уровень доступа позволяющий пропускать проверку на пинг.
#define MAX_ALLOWED_PING     150                 // Максимально допустимый пинг, превышение этого значения выкидывает игрока с сервера.
#define MAX_FLUX        30            // Максимальные скачки пинга, если привышение то выкидывает с сервера
#define MAX_ALLOWED_LOSS     30             // Максимально допустимая потеря пакетов loss, превышение этого значения выкидывает игрока с сервера.
#define MAX_WARNING_CHECK     5            // Количество предупреждений после которых последует наказание.
#define INTERVAL_CHECK         10.0             // Интервал между проверками, чем меньше значение, тем больше нагрузка на сервер.

#define is_immunity(%0) ((get_user_flags(%0) & ACCESS_LEVEL_IMMUNITY) || is_user_bot(%0) || is_user_hltv(%0))

#if AMXX_VERSION_NUM < 183                                                                                        
    #include <colorchat>
#endif

#define    get_bit(%1,%2)    (%1 & (1 << (%2 & 31)))
#define    set_bit(%1,%2)    %1 |= (1 << (%2 & 31))
#define    clr_bit(%1,%2)    %1 &= ~(1 << (%2 & 31))

new g_iWarning[33], g_iCountCheck[33], g_iLastPing[33], g_iBitValid;

public plugin_init()
{
    register_plugin("Ping Control", "1.4", "neygomon");
    set_task(INTERVAL_CHECK, "PingCheck", .flags = "b");
}

public client_putinserver(id)
{
    if(is_immunity(id)) return;
    set_bit(g_iBitValid, id);
    g_iWarning[id] = g_iCountCheck[id] = 0;
        set_task(7.0, "uvedomlenie", id)
}

public uvedomlenie(id)
{
       if(!is_user_connected(id)) return;
        client_print_color (id, print_team_default, "^1[^4PingControl^1] Игроки с пингом выше %d и потерями больше %d будут отпизжены и удалены с сервера!", MAX_ALLOWED_PING, MAX_ALLOWED_LOSS)
}

public client_disconnected(id)
    clr_bit(g_iBitValid, id);

public PingCheck()
{
    static i, iPing, iLoss, players[32], pcount;
    get_players(players, pcount, "ch")
   
    for(i=0; i < pcount; i++)
    {
        if(!get_bit(g_iBitValid, players[i])) continue;
        if(++g_iCountCheck[players[i]] < MAX_WARNING_CHECK + 1)
        {
            get_user_ping(players[i], iPing, iLoss)
           
            if(iPing >= MAX_ALLOWED_PING || iLoss > MAX_ALLOWED_LOSS || abs(iPing - g_iLastPing[players[i]]) > MAX_FLUX)
            {
                if(++g_iWarning[players[i]] >= MAX_WARNING_CHECK)
                {                  
                    static name[32]; get_user_name(players[i], name, charsmax(name));
                              client_print_color (0, print_team_default, "^1[^4Сервер^1] Игрок ^3%s ^1был удален с сервера из-за нестабильного или высокого пинга!", name);
                                server_cmd("kick #%d ^"Кик из-за нестабильного или высокого Пинга!^"", get_user_userid(players[i]));
                }
            }
            else if(g_iWarning[players[i]]) g_iWarning[players[i]]--;
            g_iLastPing[players[i]] = iPing;  
        }
    }
}
кому не трудно а то у меня каша выходит. Заранее спасибо.
 
Сообщения
460
Реакции
68
Помог
7 раз(а)
wopox1337, получается как и тот раз что я побывал. Я прост не скриптер но шо то начудить пытаюсь :D
1524226616909.png
 
Сообщения
94
Реакции
64
Помог
5 раз(а)
Best777, попробуй так
Код:
client_print_color(players[i], print_team_default, "Предупреждение %i/%i: ваш пинг %d, макс. допустимый пинг на сервере %i", g_iWarning[players[i]], MAX_WARNING_CHECK, iPing, MAX_ALLOWED_PING);
 
Сообщения
94
Реакции
64
Помог
5 раз(а)
Best777, пишет где-то забыл скобку закрыть
 
Сообщения
460
Реакции
68
Помог
7 раз(а)
Почти вышло ток вот 1524227094708.png
 

RockTheStreet

Саппорт года
Сообщения
1,743
Реакции
345
Помог
40 раз(а)
Обратите внимание, если вы хотите заключить сделку с этим пользователем, он заблокирован
Best777, Добавь после:
Код:
 if(iPing >= MAX_ALLOWED_PING || iLoss > MAX_ALLOWED_LOSS || abs(iPing - g_iLastPing[players[i]]) > MAX_FLUX)
У меня скомпилировалось, но предупреждения выдаёт :D
 
Сообщения
460
Реакции
68
Помог
7 раз(а)
melfyk, пост номер 7 так же как у вас )
Я что то не могу понять или туплю.
 
Сообщения
94
Реакции
64
Помог
5 раз(а)
Best777, это просто предупреждение, которое не влияет на работу плагина, относится к стилистике кода, в той строке или перед ней, например, поставил таб вместо 4 пробелов или наоборот
 
Сообщения
460
Реакции
68
Помог
7 раз(а)
Ребята о всё вот так надо было. Можно закрыть)))
PHP:
            get_user_ping(players[i], iPing, iLoss)
          
            if(iPing >= MAX_ALLOWED_PING || iLoss > MAX_ALLOWED_LOSS || abs(iPing - g_iLastPing[players[i]]) > MAX_FLUX)
            {
          
                client_print_color(players[i], print_team_default, "Предупреждение %i/%i: ваш пинг %d, макс. допустимый пинг на сервере %i", g_iWarning[players[i]], MAX_WARNING_CHECK, iPing, MAX_ALLOWED_PING);         
                if(++g_iWarning[players[i]] >= MAX_WARNING_CHECK)
                {
1524227672258.png
 
Статус
В этой теме нельзя размещать новые ответы.

Пользователи, просматривающие эту тему

Сейчас на форуме нет ни одного пользователя.
Сверху Снизу