German Herausfinden ob jemand AFK ist

3 replies
Goto Page
To the start Previous 1 Next To the start
Up
AtomKuh
User
Offline Off
Hat jemand eine Idee wie man die ID von AFK-Spielern in einen lua table bekommt? Wenn diese den Server verlassen, sollten die IDs dann auch wieder aus dem table genommen werden.
10.04.19 06:08:14 pm
Up
VADemon
User
Offline Off
Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
-- optional minTime - minimum idle time in seconds
-- returns table with AFK players, IDs are stored as values
function getPlayersAfk(minTime)
   local afkPlayers = {}
   local minTime = minTime or tonumber(game("mp_idletime"))
   local players = players(0, "table")

   for i = 1, #players do
      if player(players[i], "idle") > minTime then
         table.insert(afkPlayers, players[i])
      end
   end
   return afkPlayers
end

cs2d cmd mp_idletime is the regular server setting to control the idle timer. If minTime is not set by you, the default time will be compared.
cs2d cmd player has the "idle" parameter and returns time in seconds. However, it is defined as "idle: idle time (no movement) in seconds" so I think it will trigger on any dead player/spectator, even when they actively chat.

Not tested, up to you

--- Tut mir Leid, ich dachte du hättest die Frage auf Englisch gestellt...
10.04.19 08:49:36 pm
Up
AtomKuh
User
Offline Off
danke für den script

ich muss mal schauen ob die specs auch als idle gelten wenn sie nichts machen
10.04.19 09:16:12 pm
Up
DC
Admin
Online On
Ich glaube der idle-Timer wird nur für lebende Spieler hochgezählt und evtl. sogar auf 0 gesetzt wenn man tot/Spectator ist. Aber ich bin mir nicht sicher.

So oder so wäre es aber besser Zeile 6 einfach zu ersetzen durch
local players = player(0,"tableliving")


So werden überhaupt nur lebende Spieler überprüft.
www.UnrealSoftware.de | www.CS2D.com | www.CarnageContest.com | Use the forum & avoid PMs!
To the start Previous 1 Next To the start