Skip to content

Commit 0547cf7

Browse files
Fix chat messages sent twice (#566)
* . * change playercolors onPlayerChat * comment
1 parent eb94ca3 commit 0547cf7

File tree

1 file changed

+22
-4
lines changed

1 file changed

+22
-4
lines changed

[gameplay]/playercolors/playercolors.lua

Lines changed: 22 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
local 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,13 +18,29 @@ local function setAllPlayerColors()
1618
end
1719
end
1820
end
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)
2237

2338
addEventHandler('onPlayerChat', root,
2439
function(msg, type)
2540
if type == 0 then
41+
if freeroamRunning then
42+
return -- Let freeroam handle chat
43+
end
2644
cancelEvent()
2745
local r, g, b = getPlayerColor(source)
2846
local name = getPlayerName(source)

0 commit comments

Comments
 (0)