I’ve been making a leaderboard for my game and I’ve been trying to add team support so that the background of the leaderboard changes colour. Every time I fire my event, nothing prints and nothing happens. It works on my player added event when the player dies. Any help?
Client
RepStorage.Events.Leaderboard.OnClientEvent:Connect(function(PlayerName, Call)
if Call == "Enter" then
print(PlayerName)
if PlayerName.UserId ~= Player.UserId then
local NewClone = script.LeaderPlayer:Clone()
NewClone.Parent = script.Parent.Leaderboard
NewClone.Items.Title.Text = PlayerName.Name
NewClone.Name = PlayerName.Name
wait(0.1)
if PlayerName.MembershipType == Enum.MembershipType.None and not PlayerName:IsInGroup(1200769) then
NewClone.Items.Icon.Image = ""
elseif PlayerName.MembershipType == Enum.MembershipType.BuildersClub and not PlayerName:IsInGroup(1200769) then
NewClone.Items.Icon.Image = "rbxassetid://124134446"
elseif PlayerName.MembershipType == Enum.MembershipType.TurboBuildersClub and not PlayerName:IsInGroup(1200769) then
NewClone.Items.Icon.Image = "rbxassetid://630159016"
elseif PlayerName.MembershipType == Enum.MembershipType.OutrageousBuildersClub and not PlayerName:IsInGroup(1200769) then
NewClone.Items.Icon.Image = "rbxassetid://67747268"
elseif PlayerName:IsInGroup(1200769) then
NewClone.Items.Icon.Image = "rbxassetid://1310250265"
end
end
if Player.UserId == PlayerName.UserId then
for i, v in pairs(game:GetService("Players"):GetPlayers()) do
local NewerClone = script.LeaderPlayer:Clone()
NewerClone.Parent = script.Parent.Leaderboard
NewerClone.Items.Title.Text = v.Name
NewerClone.Name = v.Name
if v.MembershipType == Enum.MembershipType.None and not v:IsInGroup(1200769) then
NewerClone.Items.Icon.Image = ""
elseif v.MembershipType == Enum.MembershipType.BuildersClub and not v:IsInGroup(1200769) then
NewerClone.Items.Icon.Image = "rbxassetid://124134446"
elseif v.MembershipType == Enum.MembershipType.TurboBuildersClub and not v:IsInGroup(1200769) then
NewerClone.Items.Icon.Image = "rbxassetid://630159016"
elseif v.MembershipType == Enum.MembershipType.OutrageousBuildersClub and not v:IsInGroup(1200769) then
NewerClone.Items.Icon.Image = "rbxassetid://67747268"
elseif v:IsInGroup(1200769) then
NewerClone.Items.Icon.Image = "rbxassetid://1310250265"
end
wait(0.1)
end
end
elseif Call == "Leave" then
script.Parent.Leaderboard[PlayerName.Name]:Destroy()
elseif Call == "TeamColour" then
local TeamsServ = game:GetService("Teams")
for i, v in pairs(game:GetService("Players"):GetPlayers()) do
if v.Team == TeamsServ:FindFirstChild("Red") then
print("red")
script.Parent.Leaderboard[v.Name].Items.ImageColor3 = Color3.fromRGB(255, 35, 15)
script.Parent.Leaderboard[v.Name].Items.Shadow.ImageColor3 = Color3.fromRGB(190, 0, 0)
elseif v.Team == TeamsServ:FindFirstChild("Blue") then
print("blue")
script.Parent.Leaderboard[v.Name].Items.ImageColor3 = Color3.fromRGB(0, 157, 255)
script.Parent.Leaderboard[v.Name].Items.Shadow.ImageColor3 = Color3.fromRGB(0, 123, 190)
elseif v.Team == nil then
print("neut")
script.Parent.Leaderboard[v.Name].Items.ImageColor3 = Color3.fromRGB(217, 217, 217)
script.Parent.Leaderboard[v.Name].Items.Shadow.ImageColor3 = Color3.fromRGB(182, 182, 182)
end
end
end
end)
Server
-- // It prints "neut" here.
PlayerService.PlayerAdded:Connect(function(Plr)
wait(0.1)
Plr.CharacterAdded:Connect(function(Char)
if Char:FindFirstChild("Humanoid") then
Char.Humanoid.WalkSpeed = 25
Char.Humanoid.JumpPower = 70
Char:FindFirstChild("Humanoid").Died:Connect(function()
Plr.Neutral = true
GuiEvent:FireClient(Plr, "CutAway", "In")
Alive.Value = false
wait(0.5)
Rep.Events.Leaderboard:FireAllClients(Plr, "TeamColour")
Plr:LoadCharacter()
wait(0.5)
GuiEvent:FireClient(Plr, "CutAway", "Out")
end)
end
end)
end)
-- // Doesn't work here.
if Mode.ScriptName == "TD" then
local Red = Instance.new("Team", game:GetService("Teams"))
Red.Name = "Red"
Red.AutoAssignable = false
Red.TeamColor = BrickColor.new("Bright red")
local Blue = Instance.new("Team", game:GetService("Teams"))
Blue.Name = "Blue"
Blue.AutoAssignable = false
Blue.TeamColor = BrickColor.new("Electric blue")
RoundTimer = Mode.Round
wait(0.1)
BalanceTeams()
wait(0.1)
for i, Plr in pairs(game:GetService("Players"):GetPlayers()) do
Rep.Events.Leaderboard:FireAllClients(nil, "TeamColour")
end
end
Note:
Rep.Events.Leaderboard:FireAllClients(nil, "TeamColour")
I have tried FireClient(Plr, “TeamColour”) as well.