script.Parent.MouseButton1Click:connect(function()
if game.Players.LocalPlayer.DataReady == true then
local house = game.ReplicatedStorage.AverageHouse:Clone()
--Miscellaneous code
game.Players.LocalPlayer:SaveInstance("House", house)
game.Players.LocalPlayer.PlayerGui.HouseGUI:Destroy()
else print("wait")
end
end)
This script is in a button. When I click the button, a house model should show up in workspace and be saved via data persistence. However, it never works because DataReady never becomes true! What's going on here?

2 comments
Well, that and he never waits for DataReady to become ready, he goes straight into the if then statement. Also, I believe DataReady works on Guests, it just returns nil keys and values (though I could be wrong).
Last time I checked, WaitForDataReady was broken and I had to resort to a repeat loop until DataReady was true.