The map changing works and all but the map warning is late and sometimes doesn’t even disappear after it pops up
--Services and variables
local RS = game:GetService("ReplicatedStorage")
local Maps = RS:WaitForChild("Maps")
local SG = game:GetService("StarterGui")
local MapWarning = SG.MapChange:WaitForChild("WarningFrame")
task.wait(1)
--Loop
while true do
for i,v in pairs(Maps:GetChildren()) do
v.Parent = workspace
task.wait(5)
MapWarning.Visible = true
task.wait(5)
MapWarning.Visible = false
task.wait(1)
v.Parent = Maps
end
task.wait(1)
end
while true do
for i,v in pairs(Maps:GetChildren()) do
v.Parent = workspace
task.wait(5)
for i,v in pairs(Plrs) do
if v then
v:WaitForChild("PlayerGui").MapChange:WaitForChild("MapWarning").Visible = true
end
end
task.wait(10)
for i,v in pairs(Plrs) do
if v then
v:WaitForChild("PlayerGui").MapChange:WaitForChild("MapWarning").Visible = false
end
end
v.Parent = Maps
end
task.wait(1)
end
You’re setting StarterGui’s WaringFrame.Visible to true not any players. After StarterGui is replicated to PlayerGuiStarterGui has no affect on PlayerGui's.
I’d do something lik so:
local players = game:GetService("Players")
local playersChildren = players:GetChildren()
local MapWarnings = {}
while true do
playersChildren = players:GetChildren()
for i, v in pairs(playersChildren()) do
if v.PlayerGui.MapChange then
table.insert(MapWarnings, v.PlayerGui.MapChange:WaitForChild("WarningFrame"))
end
end
for i, v in pairs(MapWarinings) do
v.Visible = true
--// Set visible to true then false or whatever idk what your needs are
end
MapWarinings = {}
end