I was anticipating on using a .Changed event to detect a Bool Value changing to true but it cant find a .Changed event inside of the Value?
To put it simply, yes, you can detect changes from a Boolean value.
There are multiple reasons why you could be having trouble detecting changes from a Boolean:
Are you changing the Boolean value from the client, and then trying to detect a change signal on the server?
If this is the case, then you need to rethink your method. Client changes will not replicate to the server.
Are you trying to detect change signals from the property or the actual object itself?
You should not try and detect a change signal from the actual value itself. For example:
This is the incorrect method, but quite common amongst new programmers.
game:GetService("ReplicatedStorage").BooleanValue.Value.Changed:Connect(function() end)
This is the correct method.
game:GetService("ReplicatedStorage").BooleanValue.Changed:Connect(function() end)
That should sum up your question. Also, have you heard of :GetPropertyChangeSignal(). It is extremely useful because you can specify exactly which property you would like listen for change signals on. In your case you could put the Value
property inside of the parameters.
Boolean:GetPropertyChangeSignal("Value"):Connect(function() end)
Yes, only instances have a changed event. If you wish to listen for a specific property of an instance to change you will have to use GetPropertyChangedSignal.
Its quite simple so I wont go too in depth.
Object:GetPropertyChangedSignal("<DesiredProperty>"):Connect(function())
Replace <DesiredProperty>
with the property you wish to listen to and Object
with the object that has the property.