How to check if value is changed inside of a function?

I am having difficulty figuring out how to detect a change in a bool value inside of another function?
Any suggestions thanks!

plrworking.Changed:Connect(function()
	if plrworking.Value == true then
		wait(2.5)
		SpawnDummy()
		
		
		
		done:GetPropertyChangedSignal("Value"):Connect(function()
			print("DOne")
			for i,v in game.Workspace.Dummys do
				v:Destroy()
				print("destroyed")
			end
			DS = false
			SpawnDummy()
		end)
		
		
		
	end
end)

Is this a script/local value or an instance?

it is a script inside of a object

For “Value” Instances you do not need to call GetPropertyChangedSignal. For these Instances the default behavior of Changed is to only fire when the Value is changed. That may cause your problem.

I get this error when i try to do a simple .Changed

attempt to index boolean with ‘Changed’