Difference between revisions of "GetPlayerIdleTime"

From Multi Theft Auto: Wiki
(Syntax: OOP syntax added)
(Example)
 
Line 18: Line 18:
 
This example will kick a player if they don't move for 5 minutes and the resource has access to "function.kickPlayer"
 
This example will kick a player if they don't move for 5 minutes and the resource has access to "function.kickPlayer"
 
<syntaxhighlight lang="lua">
 
<syntaxhighlight lang="lua">
function checkAFKPlayers()
+
setTimer(
    for index, thePlayer in ipairs(getElementsByType("player"))do -- Loop all online players
+
    function()
        if (getPlayerIdleTime(thePlayer) > 300000) then -- Player hasn't moved for 300,000ms (5 minutes)
+
        for _, player in ipairs(getElementsByType("player"))do -- Loop thru every player
            kickPlayer(thePlayer, "Idle for 5 minutes") -- Kick the idle player
+
            if (getPlayerIdleTime(player) > 300000) then -- Player hasn't moved for 300,000ms (5 minutes)
 +
                kickPlayer(player, "Idle for 5 minutes") -- Kick the idling player
 +
            end
 
         end
 
         end
     end
+
     end,
end
+
30000, 0) -- Timer to execute every 30 seconds, checking for idlers
setTimer(checkAFKPlayers, 30000, 0) -- Timer to execute every 30 seconds, checking for idlers
+
 
 
</syntaxhighlight>
 
</syntaxhighlight>
 
</section>
 
</section>

Latest revision as of 11:52, 13 June 2018

This function gets the amount of time in milliseconds that a players position has not changed.

Syntax

int getPlayerIdleTime ( player thePlayer )

OOP Syntax Help! I don't understand this!

Method: player:getIdleTime(...)
Variable: .idleTime

Required Arguments

  • thePlayer: The player you wish to get the idle time of.

Returns

Returns the amount of time in milliseconds that a player has been idle, false otherwise.

Example

Click to collapse [-]
Serverside example

This example will kick a player if they don't move for 5 minutes and the resource has access to "function.kickPlayer"

setTimer(
    function()
        for _, player in ipairs(getElementsByType("player"))do -- Loop thru every player
            if (getPlayerIdleTime(player) > 300000) then -- Player hasn't moved for 300,000ms (5 minutes)
                kickPlayer(player, "Idle for 5 minutes") -- Kick the idling player
            end
        end
    end,
30000, 0) -- Timer to execute every 30 seconds, checking for idlers

Requirements

Minimum supported server 1.1.1-9.03316
Minimum supported client n/a

Note: Using this function requires the resource to have the above minimum version declared in the meta.xml <min_mta_version> section. e.g. <min_mta_version server="1.1.1-9.03316" />

See Also

FROM VERSION 1.5.7 r19626 ONWARDS
FROM VERSION 1.5.7 r19626 ONWARDS