How I can make the TagColor rainbow (chat tags color)

Like is here any way for make one loop inside it without getting all things from PlayerGui and stuff like that.?

Do you, mean chat tag, rainbow, or chat color.
?

1 Like

This is the only method I know as of now, you could research for your own methods.

Chat tag (TagColor) I was looking for make a loop on the table for make the rainbow effect

the thing is I cant do this:

Why not? That method should work just fine.

yes Ik it works I saw something like that but I cant do it in a local script into the main script.

I’ve made a chat tag rainbow, and chat color.

What i did was code inside when you player makes a message, detect the name.

1 Like

The problem is not for change the color I can change the color but I was trying to make something like the RGB effect but I need to loop parts inside the chat but I dont know how I can do it.

{TagText = "CREATOR", TagColor = Color3.fromRGB(255, 0, 4)} --here you change the color

So, You Mean It turns rainbow color.

I am trying to make rainbow but I cant do it.

Okay, What i will do.

Is I will make it for you.

yes but how I can loop in the main script if I cant use PlayerGui in SSS (serverscriptservice)

something like this: Can you create wavy rainbow chat tag on Roblox's default chat? - #9 by rokec123

Can you send me the full script?

local ServerScriptService = game:GetService("ServerScriptService")
local MarketplaceService = game:GetService("MarketplaceService")

local ChatServiceRunner = ServerScriptService:WaitForChild("ChatServiceRunner")
local ChatService = require(ChatServiceRunner.ChatService)
 
local OwnerTag = {
	[660698828] = {
		ChatColor = Color3.new(255, 255, 255),
		Tags = {
			{TagText = "CREATOR", TagColor = Color3.fromRGB(0, 0, 0)},
		}
	},
}

local VIP_CHAT_DATA = {
	ChatColor = Color3.fromRGB(255, 255, 255),
	Tags = {
		{TagText = "πŸ‘‘V.I.PπŸ‘‘", TagColor = Color3.fromRGB(255, 255, 0)},
	},
}

-----------------------------------------------------------------------------
local GAME_PASS_ID = 21918888
-----------------------------------------------------------------------------
	
local function applyExtraDataForSpeaker(speaker, dataTable)
	for key, value in pairs(dataTable) do
		speaker:SetExtraData(key, value)
	end
end

local function speakerAdded(speakerName)
	local speaker = ChatService:GetSpeaker(speakerName)
	local player = speaker:GetPlayer()

	if player then
		local dataAddressed = false
		local specialData = OwnerTag[player.UserId]

		if specialData then
			applyExtraDataForSpeaker(speaker, specialData)
			dataAddressed = true
		end
		-------------------------------------------------------------------------
		if not dataAddressed then
			local isVIP = MarketplaceService:UserOwnsGamePassAsync(player.UserId, GAME_PASS_ID)
			if isVIP then
				applyExtraDataForSpeaker(speaker, VIP_CHAT_DATA)
			end
		end
	end
end

ChatService.SpeakerAdded:Connect(speakerAdded)
for _, speakerName in pairs(ChatService:GetSpeakerList()) do
	speakerAdded(speakerName)
end