Skip to content

Commit 2b09c14

Browse files
committed
Optimize ready players
1 parent 81dbd3e commit 2b09c14

File tree

2 files changed

+17
-17
lines changed

2 files changed

+17
-17
lines changed

server/classes/conguard.lua

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ function ConGuard:constructor(dimension, settings)
3030
ConGuardInstances[dimension] = self
3131
iprintd("[ConGuard] Created instance in dimension " .. dimension)
3232

33-
triggerClientEvent(READY_PLAYERS, "onConGuardCreated", resourceRoot, dimension, self.settings)
33+
triggerClientEvent(getReadyPlayers(), "onConGuardCreated", resourceRoot, dimension, self.settings)
3434

3535
for i, player in ipairs(getElementsByType("player")) do
3636
if (not isPlayerReady(player)) then
@@ -47,7 +47,7 @@ function ConGuard:destructor()
4747
ConGuardInstances[self.dimension] = nil
4848
iprintd("[ConGuard] Destroyed instance in dimension " .. self.dimension)
4949

50-
triggerClientEvent(READY_PLAYERS, "onConGuardDestroyed", resourceRoot, self.dimension)
50+
triggerClientEvent(getReadyPlayers(), "onConGuardDestroyed", resourceRoot, self.dimension)
5151
end
5252

5353
-- *********************************************
@@ -88,7 +88,7 @@ end
8888
function ConGuard:setSetting(setting, value)
8989
self.settings[setting] = value
9090

91-
triggerClientEvent(READY_PLAYERS, "onConGuardSettingChange", resourceRoot, self.dimension, setting, value)
91+
triggerClientEvent(getReadyPlayers(), "onConGuardSettingChange", resourceRoot, self.dimension, setting, value)
9292

9393
return true
9494
end

server/main.lua

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -52,17 +52,23 @@ end
5252
-- *********************************************
5353

5454
function isPlayerReady(player)
55-
for i, p in ipairs(READY_PLAYERS) do
56-
if (p == player) then
57-
return true
58-
end
59-
end
55+
return READY_PLAYERS[player] and true or false
56+
end
6057

61-
return false
58+
function getReadyPlayers()
59+
local players = {}
60+
for player in pairs(READY_PLAYERS) do
61+
players[#players+1] = player
62+
end
63+
return players
6264
end
6365

6466
function addPlayer(player)
65-
table.insert(READY_PLAYERS, player)
67+
if (READY_PLAYERS[player]) then
68+
return
69+
end
70+
71+
READY_PLAYERS[player] = true
6672
syncAll(player)
6773
end
6874

@@ -74,11 +80,5 @@ function removePlayer()
7480
end
7581

7682
instance:onPlayerNetworkStatus(1)
77-
78-
for i, player in ipairs(READY_PLAYERS) do
79-
if (player == source) then
80-
table.remove(READY_PLAYERS, i)
81-
break
82-
end
83-
end
83+
READY_PLAYERS[source] = nil
8484
end

0 commit comments

Comments
 (0)