GetPlayerPing: Difference between revisions

From Multi Theft Auto: Wiki
Jump to navigation Jump to search
m (Added clarification that VPN usage won't give incorrect ping (tested))
 
(4 intermediate revisions by 4 users not shown)
Line 1: Line 1:
__NOTOC__
__NOTOC__
{{Server client function}}
{{Server client function}}
This function returns the ping of a specified [[player]]. The ping is the number of milliseconds that data takes to travel from the player's client to the server or vice versa.
This function returns the ping of a specified [[player]]. The ping is the number of milliseconds that data takes to travel from the player's client to the server or vice versa. If a player is using a VPN their ping will still be returned correctly.


==Syntax==
==Syntax==
<syntaxhighlight lang="lua">int getPlayerPing ( player thePlayer )</syntaxhighlight>
<syntaxhighlight lang="lua">int getPlayerPing ( player thePlayer )</syntaxhighlight>
 
{{OOP||[[player]]:getPing|ping|}}
===Required Arguments===
===Required Arguments===
*'''thePlayer''': The [[player]] whose ping you want to determine.
*'''thePlayer''': The [[player]] whose ping you want to determine.
Line 14: Line 14:
==Example==
==Example==
<section name="Server" class="server" show="true">
<section name="Server" class="server" show="true">
This example checks thePlayer's ping, and if it's over 500, kicks him/her.
This example checks every players ping every 5 seconds and if it's over 500 they get kicked.
<syntaxhighlight lang="lua">
<syntaxhighlight lang="lua">
function kickPing() -- Creates a function called kickPing
function kickPing() -- Creates a function called kickPing
if (getPlayerPing(thePlayer) >= 500) then -- If thePlayer's ping is over 500
for i, player in ipairs(getElementsByType("player")) do -- Loop every player
kickPlayer(thePlayer, "Ping over 500!") -- Kick them
if (getPlayerPing(player) >= 500) then -- If their ping is over 500
kickPlayer(player, "Ping over 500!") -- Kick them
end
end
end
end
end
Line 29: Line 31:
<syntaxhighlight lang="lua">
<syntaxhighlight lang="lua">
function checkPing()
function checkPing()
         local ping = getPlayerPing(getLocalPlayer())  -- get the ping from the source element (the player who joined)
         local ping = getPlayerPing(localPlayer)  -- get the ping from the source element (the player who joined)
         if (ping > 100) then                          -- if it's higher than 100...
         if (ping > 100) then                          -- if it's higher than 100...
                 outputChatBox("Your ping is pretty high! Please try to lower it if possible.") -- output a message to the player
                 outputChatBox("Your ping is pretty high! Please try to lower it if possible.") -- output a message to the player
Line 40: Line 42:
==See Also==
==See Also==
{{Player functions}}
{{Player functions}}
[[ru:getPlayerPing]]

Latest revision as of 13:31, 15 September 2021

This function returns the ping of a specified player. The ping is the number of milliseconds that data takes to travel from the player's client to the server or vice versa. If a player is using a VPN their ping will still be returned correctly.

Syntax

int getPlayerPing ( player thePlayer )

OOP Syntax Help! I don't understand this!

Method: player:getPing(...)
Variable: .ping


Required Arguments

  • thePlayer: The player whose ping you want to determine.

Returns

Returns the ping as an int, or false if the player is invalid.

Example

Click to collapse [-]
Server

This example checks every players ping every 5 seconds and if it's over 500 they get kicked.

function kickPing() -- Creates a function called kickPing
	for i, player in ipairs(getElementsByType("player")) do -- Loop every player
		if (getPlayerPing(player) >= 500) then -- If their ping is over 500
			kickPlayer(player, "Ping over 500!") -- Kick them
		end
	end
end
setTimer(kickPing, 5000, 0) -- Every 5 seconds, the kickPing function is called.
Click to collapse [-]
Client

This example checks the ping of every player entering the 'ping' command and warns him if it's over 100.

function checkPing()
        local ping = getPlayerPing(localPlayer)  -- get the ping from the source element (the player who joined)
        if (ping > 100) then                          -- if it's higher than 100...
                outputChatBox("Your ping is pretty high! Please try to lower it if possible.") -- output a message to the player
        end
end
addCommandHandler("ping", checkPing)

See Also