This script will work only once, then it doesn't work anymore. The "RedBall" string changes correctly every time. It's something to do with the looping, it only does it once.
while true do
wait()
if game.ReplicatedStorage.RedBall.Value=="true"
then wait()
local newItem = game.ReplicatedStorage.Football:Clone()
newItem.Handle.CFrame = CFrame.new(-189.549, 1.8, -37.55)
newItem.Parent = workspace
newItem.Football.Name = "Handle"
wait(4)
game.ReplicatedStorage.RedBall.Value = "false"
end
end

2 comments
Yeah, but I have an outside script setting the value to true again once I interact with something and it does nothing.
huh, weird. Are you sure you're setting the value correctly? Like setting it to "true" instead of literal true?