I know how to change the colors of the new bubble chat, but is it possible to change the color per player?
You can fork the corescript responsible for bubble chat and add conditional statements on the function that creates the BillboardGui checking their rank/userid (or something of the sort) and setting the color there.
1 Like
You could do something like this:
local players = game:GetService("Players");
local currentColors = {};
function player_Added(player)
local isFoundAvailableColor = false;
repeat wait()
chosenColor = Color3.fromRGB(math.random(1, 255), math.random(1, 255), math.random(1, 255));
local loopedThroughAll = false;
for ind, v in ipairs(currentColors) do
if v ~= chosenColor then
isFoundAvailableColor = true
end
if #currentColors == ind then
loopedThroughAll = true
end
end
until isFoundAvailableColor == true and loopedThroughAll == true
-- Set the bubble chat's message to the chosen color
local index = #currentColors + 1
table.insert(currentColors, index, chosenColor)
local function player_Removing(instancePlayer)
if instancePlayer == player then
table.remove(currentColors, index)
end
end;
players.PlayerRemoving:Connect(player_Removing)
end;
players.PlayerAdded:Connect(player_Added)
(I did not test that so I do not know if it works)
1 Like