so before this i asked about this but it was about the players leaving, this time its when a new player joins and the gui has to update but the gui doesn't add the player in the gui if they havent loaded in. here is the script(sorry if it looks bad ik but i did my best):

local players = game.Players
local left = game.Players.PlayerRemoving
local list = script.Parent.Scroll.Player:Clone()
local find = script.Parent.Scroll.Player
local you = script.Parent.Parent.Parent.Parent.Parent.Name
wait(0.02)
script.Parent.Scroll.Player:Destroy()

function start()
	for _,target in pairs(players:GetPlayers()) do
	if target.PlayerGui:FindFirstChild('oofer_gang(Beta)') then
		local added = list:Clone()
		added.Parent = script.Parent.Scroll
		added.Name = target.Name
		added.Text = target.Name
		if target.Name == 'mahid786' then
			if added.Text == 'mahid786' then
				added.Text = 'Nitro7256 [Owner/Creator]'
				added.Name = 'Nitro7256'
			end
		end
		if target.Name == 'GameTime_Studio' then
			if added.Text == 'GameTime_Studio' then
				added.Text = 'GameTime_Studio [Developer]'
				added.Name = target.Name
			end
		end
	end
end
end

function refreshPlayers()
	for _,target in pairs(players:GetPlayers()) do
	if target.PlayerGui:FindFirstChild('oofer_gang(Beta)') then
		local added = list:Clone()
		script.Parent.Scroll:GetChildren():Destroy()
		game.Players:WaitForChild(target)
		workspace:WaitForChild(target.Name)
		workspace[target.Name]:WaitForChild("Huminoid")
		added.Parent = script.Parent.Scroll
		added.Name = target.Name
		added.Text = target.Name
		if target.Name == 'mahid786' then
			if added.Text == 'mahid786' then
				added.Text = 'Nitro7256 [Owner/Creator]'
				added.Name = 'Nitro7256'
			end
		end
		if target.Name == 'GameTime_Studio' then
			if added.Text == 'GameTime_Studio' then
				added.Text = 'GameTime_Studio [Developer]'
				added.Name = target.Name
			end
		end
	end
end
end

function leftPlayer(Player)
	local removing = script.Parent.Scroll
	removing:FindFirstChild(Player.Name).Text = 'Player Left.'
	wait(3)
	removing:FindFirstChild(Player.Name):Destroy()
end

wait()
start()

game.Players.PlayerAdded:Connect(refreshPlayers)
game.Players.PlayerRemoving:Connect(leftPlayer)

so like before i cant get it to work, please help i cant do it.