GetPropertyChangedSignal not working?

There really isn’t much to explain. This is my code.
image
HasNode is a boolvalue. When the boolvalue is changed “HI” is not printed for some reason. Yes all the other parts of my code work fine. The original nodecheck function call BEFORE the getpropertychangedsignal event works meaning the function works as well. Idk whats wrong with this and its very frustrating. Any help is greatly appreciated.

This is a local script and I change “HasNode” on the client.
HasNode is also a boolvalue which is parented to an imagelabel making it a descendant of PlayerGui if that means anything but it shouldn’t.

Can you show us your nodeCheck script? It could have a loop which causes the lines below it not run while the loop is ongoing.

Good call but the lines below it do work. I’ve tested that.
Regardless this is the nodecheck function

local function nodecheck(node)
	if node.HasNode.Value == true then
		print("true")
		node.ImageColor3 = Color3.fromRGB(110, 255, 255)
		ui.Lines[node.Name.."Line"].BackgroundColor3 = Color3.fromRGB(110, 255, 255)
	else
		node.ImageColor3 = Color3.fromRGB(255, 255, 255)
		ui.Lines[node.Name.."Line"].BackgroundColor3 = Color3.fromRGB(255, 255, 255)
	end
end

hmm why not use BaseValue’s (or BoolValue in this case) Changed event instead? Bonus is that it gives the new value as its parameter

v.HasNode.Changed:Connect(function(value)
nodecheck(v) -- you may also pass the value parameter as well: nodecheck(v, value)
end)
2 Likes