Активный
- Тема Автор
- #1
Идея и назначение
Система автоматически сообщает админам о игроках с очень большим пингом.
Подходит для серверов, где важно следить за качеством соединения.
Суть реализации
1. Периодически проверяем пинг всех игроков.
2. Если пинг выше порога, отправляем сообщение в админ-чат.
3. Можно добавить лимит по частоте уведомлений.
Реализация
Дополнительные идеи
1. Авто кик за пинг выше критического значения.
2. Игнорировать игроков с временно повышенным пингом.
3. Собирать статистику пинга для анализа.
Система автоматически сообщает админам о игроках с очень большим пингом.
Подходит для серверов, где важно следить за качеством соединения.
Суть реализации
1. Периодически проверяем пинг всех игроков.
2. Если пинг выше порога, отправляем сообщение в админ-чат.
3. Можно добавить лимит по частоте уведомлений.
Реализация
Код:
forward CheckPing();
public OnGameModeInit()
{
SetTimer("CheckPing", 30000, true);
return 1;
}
public CheckPing()
{
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(!IsPlayerConnected(i)) continue;
new ping = GetPlayerPing(i);
if(ping > 300)
{
new name[MAX_PLAYER_NAME], msg[64];
GetPlayerName(i, name, sizeof name);
format(msg, sizeof msg, "[PING] %s[%d] имеет пинг %d.", name, i, ping);
for(new a = 0; a < MAX_PLAYERS; a++)
{
if(!IsPlayerConnected(a)) continue;
// здесь предположена система AdminLevel
// if(AdminLevel[a] <= 0) continue;
SendClientMessage(a, 0xFF6666FF, msg);
}
}
}
return 1;
}
Дополнительные идеи
1. Авто кик за пинг выше критического значения.
2. Игнорировать игроков с временно повышенным пингом.
3. Собирать статистику пинга для анализа.