NetStats MessagesRecvPerSecond
Материал из Pro-Pawn Wiki
Описание:
Узнаёт количество сетевых сообщений, полученных сервером от игрока за последнюю секунду.
Параметры:
(playerid) |
playerid | ID игрока, интенсивность получения сообщений от которого требуется узнать. |
Возвращаемое значение:
Количество сообщений, отправленных от игрока на сервер за последнюю секунду, либо
0
, если под указанным ID с момента запуска сервера не было ни одного игрока.
Пример использования:
CMD:netstats(playerid, params[])
{
if (0 == IsPlayerAdmin(playerid))
return SendClientMessage(playerid, -1, "Вы не администратор сервера!");
extract params -> new player:targetid; else // sscanf2
return SendClientMessage(playerid, -1, "Использование: /gethp [ID игрока/часть ника]");
if (targetid == INVALID_PLAYER_ID)
return SendClientMessage(playerid, -1, "Игрок не найден.");
new name[MAX_PLAYER_NAME + 1], ip_port[22];
GetPlayerName(targetid, name, sizeof(name));
NetStats_GetIpPort(targetid, ip_port, sizeof(ip_port));
new conntime = NetStats_GetConnectedTime(targetid);
new msgrecv = NetStats_MessagesReceived(targetid);
new bytesrecv = NetStats_BytesReceived(targetid);
new msgsent = NetStats_MessagesSent(targetid);
new bytessent = NetStats_BytesSent(targetid);
new msgrecvps = NetStats_MessagesRecvPerSecond(targetid);
new Float:packetloss = NetStats_PacketLossPercent(targetid);
new string[512];
format(
string, sizeof(string),
"Игрок #%d %s (%s)\n\n" \
"Время подключения: %d мс\n" \
"Сообщений получено: %d\n" \
"Байт получено: %d\n" \
"Сообщений отправлено: %d\n" \
"Байт отправлено: %d\n" \
"Трафик: %d сообщений в секунду\n" \
"Потеря пакетов: %.2f%%",
targetid, name, ip_port, conntime, msgrecv, bytesrecv, msgsent, bytessent, msgrecvps, packetloss
);
printf("len: %d", strlen(string));
return ShowPlayerDialog(playerid, 0, DIALOG_STYLE_MSGBOX, "Сетевая статистика", string, "Закрыть", "");
}
{
if (0 == IsPlayerAdmin(playerid))
return SendClientMessage(playerid, -1, "Вы не администратор сервера!");
extract params -> new player:targetid; else // sscanf2
return SendClientMessage(playerid, -1, "Использование: /gethp [ID игрока/часть ника]");
if (targetid == INVALID_PLAYER_ID)
return SendClientMessage(playerid, -1, "Игрок не найден.");
new name[MAX_PLAYER_NAME + 1], ip_port[22];
GetPlayerName(targetid, name, sizeof(name));
NetStats_GetIpPort(targetid, ip_port, sizeof(ip_port));
new conntime = NetStats_GetConnectedTime(targetid);
new msgrecv = NetStats_MessagesReceived(targetid);
new bytesrecv = NetStats_BytesReceived(targetid);
new msgsent = NetStats_MessagesSent(targetid);
new bytessent = NetStats_BytesSent(targetid);
new msgrecvps = NetStats_MessagesRecvPerSecond(targetid);
new Float:packetloss = NetStats_PacketLossPercent(targetid);
new string[512];
format(
string, sizeof(string),
"Игрок #%d %s (%s)\n\n" \
"Время подключения: %d мс\n" \
"Сообщений получено: %d\n" \
"Байт получено: %d\n" \
"Сообщений отправлено: %d\n" \
"Байт отправлено: %d\n" \
"Трафик: %d сообщений в секунду\n" \
"Потеря пакетов: %.2f%%",
targetid, name, ip_port, conntime, msgrecv, bytesrecv, msgsent, bytessent, msgrecvps, packetloss
);
printf("len: %d", strlen(string));
return ShowPlayerDialog(playerid, 0, DIALOG_STYLE_MSGBOX, "Сетевая статистика", string, "Закрыть", "");
}
См. также: