Here you go.
-- goro7, csfcaden25413
local plr = game.Players.LocalPlayer
local chatService = game:GetService("Chat")
local vipServerOwnerId = game.ReplicatedStorage.Interactions.Server.GetVIPServerOwnerID:InvokeServer()
local specialColors = {}
-- specialColors["userId"] = Color3.fromRGB(RGB) -- Username
specialColors["900320725"] = Color3.fromRGB(220, 135, 174) -- justyfeelinGood
specialColors["126131894"] = Color3.fromRGB(151, 32, 229) -- iiDxnnyO
specialColors["221567745"] = Color3.fromRGB(0, 255, 0) -- csfcaden25413
specialColors["423458771"] = Color3.fromRGB(89, 136, 235) -- itDann
specialColors["1062476453"] = Color3.fromRGB(121, 245, 137) -- entractive
specialColors["543319226"] = Color3.fromRGB(53, 234, 169) -- AntyDominates
specialColors["1529058538"] = Color3.fromRGB(240,128,128) -- IManyOrphansI
specialColors["1808140304"] = Color3.fromRGB(124, 15, 172) -- V_aeq
specialColors["208994203"] = Color3.fromRGB(255, 40, 77) -- Vital
specialColors["1705867828"] = Color3.fromRGB(255, 94, 0) -- Ieqst
specialColors["115519643"] = Color3.fromRGB(255, 0, 0) -- misreliance
specialColors["322740211"] = Color3.fromRGB(137,255,248) -- JustysStepSis (don't ask)
specialColors["1091469055"] = Color3.fromRGB(83, 108, 193) -- XxsnxwyiixX
specialColors["1996414989"] = Color3.fromRGB(247, 129, 216) -- XxpedaldxX
specialColors["1902722578"] = Color3.fromRGB(136, 222, 41) -- Mandem123g
specialColors["483094618"] = Color3.fromRGB(0, 200, 255) -- Matty
specialColors["1968646950"] = Color3.fromRGB(255, 89, 208) -- Landon
specialColors["311671912"] = Color3.fromRGB(75, 0, 130) -- ivData
specialColors["1126383028"] = Color3.fromRGB(128,0,0) -- Karrinaf12
specialColors["482320358"] = Color3.fromRGB(75,0,130) -- XInsomnic
--// people who won the giveaway (july 17, 2021) [saturday, somewhere around 8 AM] \\--
specialColors["147616853"] = Color3.fromRGB(247, 129, 129) -- DayvmJerry
specialColors["2516735774"] = Color3.fromRGB(206, 206, 246) -- 3m1lysqt
specialColors["213581381"] = Color3.fromRGB(255, 89, 208) -- zvchari
function showChatMessage(msgPlr, msg, specifiedColor)
-- Get player name and color
local plrName
local color
local textStroke
if msgPlr == nil then
plrName = "SERVER"
color = Color3.fromRGB(0, 0, 0)
textStroke = Color3.fromRGB(159, 164, 172)
elseif msgPlr.UserId == vipServerOwnerId then
plrName = "[SERVER OWNER] " .. msgPlr.DisplayName
color = Color3.fromRGB(255, 0, 255)
textStroke = Color3.fromRGB(0, 0, 0)
elseif msgPlr.Stats.GroupRank.Value >= 245 then
if msgPlr.Stats.ChatTagToggled.Value == false then
plrName = "[" .. string.upper(msgPlr.Stats.GroupRole.Value) .. "] " .. msgPlr.DisplayName
color = Color3.fromRGB(255, 0, 0)
for id, c in pairs(specialColors) do
if tostring(msgPlr.UserId) == id then
color = c
end
end
elseif msgPlr.Stats.ChatTagToggled.Value == true then
plrName = msgPlr.DisplayName
color = Color3.fromRGB(255, 255, 255)
end
textStroke = Color3.fromRGB(0, 0, 0)
elseif msgPlr.Stats.IsPremium.Value then
plrName = "[PREMIUM] " .. msgPlr.DisplayName
color = Color3.fromRGB(79, 79, 79)
textStroke = Color3.fromRGB(255, 255, 255)
elseif msgPlr.Stats.IsDiamond.Value then
plrName = "[💎] " .. msgPlr.DisplayName
color = Color3.fromRGB(154, 197, 219)
textStroke = Color3.fromRGB(0, 0, 0)
elseif msgPlr.Stats.IsVIP.Value then
plrName = "[VIP] " .. msgPlr.DisplayName
color = Color3.fromRGB(255, 255, 43)
textStroke = Color3.fromRGB(0, 0, 0)
--[[ elseif msgPlr.Stats.IsHunter.Value then
plrName = "[HUNTER] " .. msgPlr.DisplayName
color = Color3.fromRGB(255, 0, 0)
textStroke = Color3.fromRGB(0, 0, 0)]]
else
plrName = msgPlr.DisplayName
color = Color3.fromRGB(255, 255, 255)
textStroke = Color3.fromRGB(0, 0, 0)
end
-- Create chat entry
local entry = script.Parent.ChatTemplate:clone()
entry.Name = "Entry"
entry.Parent = script.Parent
entry.Position = UDim2.new(0, 0, 1, 0)
entry.PlayerName.Text = plrName .. ":"
entry.PlayerName.TextColor3 = color
entry.PlayerName.TextStrokeColor3 = textStroke
entry.Message.Text = msg
entry.PlayerName.Size = UDim2.new(0, entry.PlayerName.TextBounds.X, 1, 0)
entry.Message.Position = UDim2.new(0, 7 + entry.PlayerName.TextBounds.X, 0, 0)
if not entry.Message.TextFits then
entry.Size = entry.Size + UDim2.new(0, 0, 0, 16)
end
if specifiedColor ~= nil then
entry.Message.TextColor3 = specifiedColor
end
if msgPlr == nil then
entry.MMXLogo.Visible = true
entry.Message.Position = entry.Message.Position + UDim2.new(0, 15, 0, 0)
entry.PlayerName.Position = entry.PlayerName.Position + UDim2.new(0, 15, 0, 0)
entry.Message.Font = Enum.Font.SourceSansBold
end
-- Move all entries up
for _, i in pairs(script.Parent:GetChildren()) do
if i.Name == "Entry" and i ~= entry then
i.Position = i.Position - UDim2.new(0, 0, 0, entry.Size.Y.Offset)
if i.AbsolutePosition.Y < 0 then
i:destroy()
end
end
end
-- Show chat bubble
if msgPlr ~= nil and msgPlr.Character ~= nil and msgPlr.Character:FindFirstChild("Head") then
chatService:Chat(msgPlr.Character.Head, msg, Enum.ChatColor.White)
end
end
game.ReplicatedStorage.Interactions.Client.ShowChatMessage.OnClientEvent:connect(showChatMessage)
script.Parent.ShowChatMessage.Event:connect(showChatMessage)
local Player = game.Players.LocalPlayer
local function Restrict()
script.Parent.Visible = not game.ReplicatedStorage.ChatRestricted:FindFirstChild(tostring(Player.UserId))
end
game.ReplicatedStorage.ChatRestricted.ChildAdded:Connect(Restrict)
Restrict()