First off, I’d rewrite the last part using else, something like:
if trash == true then
ihaty.Visible = true
-- stuff to do when it is true
else
ihaty.Visible = false
-- stuff to do when it is false
end
Second, what exactly is happening here? I just wanna understand the problem a little better. Is there any error message or does anything change or does nothing happen at all?
Roblox pitfall #1 is that everything you find in special folders whose names start with “Starter” are items that serve as prototypes which are cloned at Runtime. You don’t ever want to make script references to things in these folders unless you’re manually cloning and parenting them (not something normally done in games, only in special kinds of test places).
Instead, you need to make all your connections to the clones that end up as descendants of the Player. For example, every player has a PlayerGui which is the live copy of what got cloned from StarterGui.