11local lowerBound , upperBound = unpack (get (" color_range" ))
22
3- function randomizePlayerColor (player )
3+ local freeroamRunning = false
4+
5+ local function randomizePlayerColor (player )
46 player = player or source
57 local r , g , b = math.random (lowerBound , upperBound ), math.random (lowerBound , upperBound ), math.random (lowerBound , upperBound )
68 setPlayerNametagColor (player , r , g , b )
@@ -16,9 +18,38 @@ local function setAllPlayerColors()
1618 end
1719 end
1820end
19- addEventHandler (" onResourceStart" , resourceRoot , setAllPlayerColors )
20- addEventHandler (" onGamemodeMapStart" , root , setAllPlayerColors ) -- mapmanager resets player colors to white when the map ends
21- addEventHandler (" onResourceStop" , resourceRoot , setAllPlayerColors )
21+ -- mapmanager resets player colors to white when the map ends
22+ addEventHandler (" onGamemodeMapStart" , root , setAllPlayerColors )
23+
24+ local function handleResourceStartStop (res )
25+ if res == resource then
26+ local freeroamResource = getResourceFromName (" freeroam" )
27+ if freeroamResource then
28+ freeroamRunning = getResourceState (freeroamResource ) == " running"
29+ end
30+ setAllPlayerColors ()
31+ elseif getResourceName (res ) == " freeroam" then
32+ freeroamRunning = eventName == " onResourceStart"
33+ end
34+ end
35+ addEventHandler (" onResourceStart" , root , handleResourceStartStop )
36+ addEventHandler (" onResourceStop" , root , handleResourceStartStop )
37+
38+ addEventHandler (' onPlayerChat' , root ,
39+ function (msg , type )
40+ if type == 0 then
41+ if freeroamRunning then
42+ return -- No effect, let freeroam handle chat
43+ end
44+ cancelEvent ()
45+ local r , g , b = getPlayerColor (source )
46+ local name = getPlayerName (source )
47+ msg = msg :gsub (' #%x%x%x%x%x%x' , ' ' )
48+ outputChatBox ( name .. ' : #FFFFFF' .. msg , root , r , g , b , true )
49+ outputServerLog ( " CHAT: " .. name .. " : " .. msg )
50+ end
51+ end
52+ )
2253
2354getPlayerColor = getPlayerNametagColor
2455getPlayerColour = getPlayerNametagColor
0 commit comments