I know PrismaticFruits already tried to answer with this and people in his comments correct him. But just so that you see it and understand I will explain it in full.
So GetPropertyChangedSignal(string PropertyName) is a function of Instance that listens to changes made to the specified property and returns an event that you can then connect to. Which in turn allows you to detect changes made to that property.
Example code:
clown:GetPropertyChangedSignal("Value"):Connect(function()
remote:FireClient(plr, "CClown")
end)
10 comments
May I see the code in your LocalScript aswell?
it doesnt get a chance to even fire because the changed event doesnt work when its changed
Did you make a script that changes the Player?? or change a child of the Player...
I'm just chansing now but try to make more variables. One variable for "masterFolder", one for "CharacterData" and one for "Clown"
I think you should do this print(clown) after you local clown and check it nil or not. It will help us easy to know the problem.
Prints before the changed event then doesn't do anything after that
How do you know it doesn't fire the Event? Maybe it does but there's something wrong in your LocalScript so it doesn't detect it?
What happens if you make a print inside the Event?
It wont fire because of the change event i even replaced the event with print("Hi") and nothing happen when the value changed
Then I still suggest expanding your variables as I said before