GetPlayerPing: Difference between revisions

From Multi Theft Auto: Wiki
Jump to navigation Jump to search
No edit summary
m (Added clarification that VPN usage won't give incorrect ping (tested))
 
(13 intermediate revisions by 11 users not shown)
Line 1: Line 1:
__NOTOC__
__NOTOC__
==Description==
{{Server client function}}
This function returns the ping (communication time between the client and server) of a specified [[player]].
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 player )</syntaxhighlight>
<syntaxhighlight lang="lua">int getPlayerPing ( player thePlayer )</syntaxhighlight>
{{OOP||[[player]]:getPing|ping|}}
===Required Arguments===
*'''thePlayer''': The [[player]] whose ping you want to determine.


===Required Arguments===
===Returns===
*'''player''': The [[player]] whose ping you want to determine.
Returns the ping as an [[int]], or ''false'' if the player is invalid.


==Example==
==Example==
<syntaxhighlight lang="lua">intPing = getPlayerPing ( findPlayer ( "Someguy" ) )
<section name="Server" class="server" show="true">
outputChatBox ( "Someguy's ping is ", intPing, "." )</syntaxhighlight>
This example checks every players ping every 5 seconds and if it's over 500 they get kicked.
<syntaxhighlight lang="lua">
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.
</syntaxhighlight>
</section>
 
<section name="Client" class="client" show="true">
This example checks the ping of every player entering the 'ping' command and warns him if it's over 100.
<syntaxhighlight lang="lua">
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)
</syntaxhighlight>
</section>
 
==See Also==
{{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