Witam serdecznie.
Chcę zaprezentować prosty skrypt na sprawdzanie pingu gracza - jeśli przekroczy dopuszczalny ping to go z serwera wyrzuci.
Jeśli wystąpiły jakieś problemy to proszę mnie poprawić, wcześniej programowałem/programuje w innych językach i mogłem się pomylić.
Miłego korzystania.
Chcę zaprezentować prosty skrypt na sprawdzanie pingu gracza - jeśli przekroczy dopuszczalny ping to go z serwera wyrzuci.
Jeśli wystąpiły jakieś problemy to proszę mnie poprawić, wcześniej programowałem/programuje w innych językach i mogłem się pomylić.
Code:
function sendMessageClient( player, hexRGB, text ) // Funkcja dzięki której sobie zrobimy do textu kolor hex.
{
local rgb = hexToRGB(hexRGB);
sendMessage(player, rgb.r, rgb.g, rgb.b, text);
}
function sendMessageClientAll( hexRGB, text ) // Funkcja dzięki której sobie zrobimy do textu kolor hex.
{
local rgb = hexToRGB(hexRGB);
sendMessageToAll(rgb.r, rgb.g, rgb.b, text);
}
function playerUpdate( )
{
local pingWarn = 0;
for(local i = 0; i < getMaxSlots(); i = i + 1)
{
if ( isConnected ( i ) )
{
local ping = getPlayerPing(i);//Pobieramy ping gracza
if( ping >= 700 )//Ustawimy sobie na 700 mingu.
{
pingWarn ++;
switch( pingWarn )
{
case 1..3: sendMessageClient( i, "FF0000", "Masz zbyt wysoki ping. Aby grać na naszym serwerze, zmniejsz ping! ("+ ping +"/700) " );
case 4:
{
sendMessageClientAll( "FF0000", ""+ getPlayerName(i) +" został(a) wyrzucony z serwera z powodu zbyt dużego pingu. ("+ ping +"/700) " );
kick(i);
}
}
}
else pingWarn = 0;
}
}
}
function onInit()
{
setServerWorld("NEWWORLD\\NEWWORLD.ZEN"); // ustawiamy graczu khorinis
setTimer(playerUpdate, 1000, true);//TWORZYMY TIMERA
print("Anty ping by Dejv został załadowany.");
}
Miłego korzystania.