If the LocalScript is in workspace then it cannot work, because the LocalScript doesn’t have an owner.
You can add a tag to the part and call it TeamPart then rename the part to what team it’s supposed to be for, or you could add an attribute. We make it simple by just changing the name.
local player = game:GetSevrice("Players").LocalPlayer
for _, block in next, game:GetService("CollectionService"):GetTagged("TeamPart") do
block.Transparency = block.Name == player.Team.Name and 1 or 0
end
– local script in StarterGui
task.wait(3) -- a pause to take some heat off the repeat loop
-- you're going to burn 3 seconds anyways loading or respawning
local rs = game:GetService("RunService")
local player = game:GetService("Players").LocalPlayer
local teams = game:GetService("Teams")
local block = workspace:WaitForChild("BigBlock") -- your block(s)
-- remove print when/if you know
repeat rs.Stepped:Wait() -- so i don't lagg out or lock up
print(player.Team) -- so i can see what the team is atm, mine sits in Queue at 1st
until(player.Team ~= "Queue")
player.CharacterAdded:Wait() -- wait for char to load in on respawn
if player.Team == teams.Army then
block.Transparency = 0
else
block.Transparency = 1
end