Skip to content

Commit e39ac56

Browse files
authored
playercolors: fix colors resetting when map is unloaded by mapmanager (#217)
Also minor code quality improvements
1 parent 94bca7f commit e39ac56

File tree

1 file changed

+12
-15
lines changed

1 file changed

+12
-15
lines changed

[gameplay]/playercolors/playercolors.lua

Lines changed: 12 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,31 +1,28 @@
1-
local lowerBound,upperBound = unpack(get"color_range")
2-
g_Root = getRootElement ()
3-
g_ResourceRoot = getResourceRootElement ( getThisResource () )
1+
local lowerBound, upperBound = unpack(get("color_range"))
42

5-
addEventHandler ( "onResourceStart", g_ResourceRoot,
6-
function()
7-
for i,player in ipairs(getElementsByType"player") do
8-
processPlayer ( player )
9-
end
10-
end
11-
)
12-
13-
function processPlayer ( player )
3+
function randomizePlayerColor(player)
144
player = player or source
155
local r, g, b = math.random(lowerBound, upperBound), math.random(lowerBound, upperBound), math.random(lowerBound, upperBound)
166
setPlayerNametagColor(player, r, g, b)
177
end
18-
addEventHandler ( "onPlayerJoin", g_Root, processPlayer )
8+
addEventHandler("onPlayerJoin", root, randomizePlayerColor)
199

10+
local function randomizeAllPlayerColors()
11+
for _, player in ipairs(getElementsByType("player")) do
12+
randomizePlayerColor(player)
13+
end
14+
end
15+
addEventHandler("onResourceStart", resourceRoot, randomizeAllPlayerColors)
16+
addEventHandler("onGamemodeMapStart", root, randomizeAllPlayerColors) -- mapmanager resets player colors to white when the map ends
2017

21-
addEventHandler('onPlayerChat', g_Root,
18+
addEventHandler('onPlayerChat', root,
2219
function(msg, type)
2320
if type == 0 then
2421
cancelEvent()
2522
local r, g, b = getPlayerColor(source)
2623
local name = getPlayerName(source)
2724
local msg = msg:gsub('#%x%x%x%x%x%x', '')
28-
outputChatBox( name.. ': #FFFFFF' .. msg, g_Root, r, g, b, true)
25+
outputChatBox( name.. ': #FFFFFF' .. msg, root, r, g, b, true)
2926
outputServerLog( "CHAT: " .. name .. ": " .. msg )
3027
end
3128
end

0 commit comments

Comments
 (0)