Essentially, I'm making a system where you need to collect 3 orbs to open a door. Once the value reaches 3, the door doesn't change for some reason. (AmountOfOrbs is a NumberValue in workspace)
--SCRIPT FOR THE DOOR--
if game.Workspace.AmountOfOrbs.Value == 3 then
game.Workspace.Door.CanCollide = false
game.Workspace.Door.Transparency = 0.25
end
(they are in separate scripts in workspace btw)
--SCRIPT FOR THE ORB--
script.Parent.Touched:Connect(function(hit)
game.Workspace.AmountOfOrbs.Value +=1
script.Parent:Destroy()
end)

3 comments
i think for a noob it's better to just merge the scripts together : )
ValueBase instances are equipped with an overridden Instance.Changed event that responds solely to changes in their Value property. Callbacks of this event are also provided with the new state of said property.
^^^ workspace.AmountOfOrbs.Changed:Connect(function(newValue) print("New value:", newValue) end)