alright so in my game i have a detection for if a player is inside a building when it turns night they will be teleported outside of the building which works fine but it teleports even if they are miles away after touching the part and does it every night instead of just one
script:
script.Parent.Position = Vector3.new(-850.129, 16.661, 90.244)
script.Parent.Size = Vector3.new(30.07, 25.05, 31.28)
local kickbounce = false
local l = game.Lighting
script.Parent.Touched:Connect(function(hit)
if hit.Parent.ClassName == "Accessory" then
local player = game.Players:FindFirstChild(hit.Parent.Parent.Name)
else
local player = game.Players:FindFirstChild(hit.Parent.Name)
while true do
wait(5)
if l.ClockTime >= 6 and l.ClockTime <= 22 then
kickbounce = false
if l.ClockTime == 21 then
local clone = script.NightWarning:Clone()
clone.Parent = player.PlayerGui -- this also doesn't work but doesn't print any errors
end
end
if l.ClockTime <=5.9 or l.ClockTime >= 22.1 then
if kickbounce == false then
player.Character.HumanoidRootPart.CFrame = script.Parent.Parent.PastClosingTimeTele.CFrame
kickbounce = true
end
end
end
end
end)

1 comment
Use :WaitForChild("PlayerGui") when getting the PlayerGui