From ec7c6261e28e99cf05c71ef7b06375fdbdcbbe02 Mon Sep 17 00:00:00 2001 From: Fernando-A-Rocha Date: Sat, 19 Oct 2024 09:20:29 +0100 Subject: [PATCH 1/3] . --- [gameplay]/playercolors/playercolors.lua | 13 ------------- 1 file changed, 13 deletions(-) diff --git a/[gameplay]/playercolors/playercolors.lua b/[gameplay]/playercolors/playercolors.lua index d0de56fc5..656141759 100644 --- a/[gameplay]/playercolors/playercolors.lua +++ b/[gameplay]/playercolors/playercolors.lua @@ -20,18 +20,5 @@ addEventHandler("onResourceStart", resourceRoot, setAllPlayerColors) addEventHandler("onGamemodeMapStart", root, setAllPlayerColors) -- mapmanager resets player colors to white when the map ends addEventHandler("onResourceStop", resourceRoot, setAllPlayerColors) -addEventHandler('onPlayerChat', root, - function(msg, type) - if type == 0 then - cancelEvent() - local r, g, b = getPlayerColor(source) - local name = getPlayerName(source) - msg = msg:gsub('#%x%x%x%x%x%x', '') - outputChatBox( name.. ': #FFFFFF' .. msg, root, r, g, b, true) - outputServerLog( "CHAT: " .. name .. ": " .. msg ) - end - end -) - getPlayerColor = getPlayerNametagColor getPlayerColour = getPlayerNametagColor From a9301c6972ec4ec306357463567b0ef2c0609b8a Mon Sep 17 00:00:00 2001 From: Fernando-A-Rocha Date: Wed, 13 Nov 2024 21:12:35 +0000 Subject: [PATCH 2/3] change playercolors onPlayerChat --- [gameplay]/playercolors/playercolors.lua | 39 +++++++++++++++++++++--- 1 file changed, 35 insertions(+), 4 deletions(-) diff --git a/[gameplay]/playercolors/playercolors.lua b/[gameplay]/playercolors/playercolors.lua index 656141759..72939b4cc 100644 --- a/[gameplay]/playercolors/playercolors.lua +++ b/[gameplay]/playercolors/playercolors.lua @@ -1,6 +1,8 @@ local lowerBound, upperBound = unpack(get("color_range")) -function randomizePlayerColor(player) +local freeroamRunning = false + +local function randomizePlayerColor(player) player = player or source local r, g, b = math.random(lowerBound, upperBound), math.random(lowerBound, upperBound), math.random(lowerBound, upperBound) setPlayerNametagColor(player, r, g, b) @@ -16,9 +18,38 @@ local function setAllPlayerColors() end end end -addEventHandler("onResourceStart", resourceRoot, setAllPlayerColors) -addEventHandler("onGamemodeMapStart", root, setAllPlayerColors) -- mapmanager resets player colors to white when the map ends -addEventHandler("onResourceStop", resourceRoot, setAllPlayerColors) +-- mapmanager resets player colors to white when the map ends +addEventHandler("onGamemodeMapStart", root, setAllPlayerColors) + +local function handleResourceStartStop(res) + if res == resource then + local freeroamResource = getResourceFromName("freeroam") + if freeroamResource then + freeroamRunning = getResourceState(freeroamResource) == "running" + end + setAllPlayerColors() + elseif getResourceName(res) == "freeroam" then + freeroamRunning = eventName == "onResourceStart" + end +end +addEventHandler("onResourceStart", root, handleResourceStartStop) +addEventHandler("onResourceStop", root, handleResourceStartStop) + +addEventHandler('onPlayerChat', root, + function(msg, type) + if type == 0 then + if freeroamRunning then + return -- No effect, let freeroam handle chat + end + cancelEvent() + local r, g, b = getPlayerColor(source) + local name = getPlayerName(source) + msg = msg:gsub('#%x%x%x%x%x%x', '') + outputChatBox( name.. ': #FFFFFF' .. msg, root, r, g, b, true) + outputServerLog( "CHAT: " .. name .. ": " .. msg ) + end + end +) getPlayerColor = getPlayerNametagColor getPlayerColour = getPlayerNametagColor From 1237566a8202a76db1eafe84d9f97bbbdd957601 Mon Sep 17 00:00:00 2001 From: Fernando-A-Rocha Date: Wed, 13 Nov 2024 21:12:52 +0000 Subject: [PATCH 3/3] comment --- [gameplay]/playercolors/playercolors.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/[gameplay]/playercolors/playercolors.lua b/[gameplay]/playercolors/playercolors.lua index 72939b4cc..08bc6ca2d 100644 --- a/[gameplay]/playercolors/playercolors.lua +++ b/[gameplay]/playercolors/playercolors.lua @@ -39,7 +39,7 @@ addEventHandler('onPlayerChat', root, function(msg, type) if type == 0 then if freeroamRunning then - return -- No effect, let freeroam handle chat + return -- Let freeroam handle chat end cancelEvent() local r, g, b = getPlayerColor(source)