Recently I was working with a script using values and encountered a problem. I noticed that values don't change when using variables. Here is what I mean:
local value = script.TEST.Value --test being an intvalue
value = value +1
I noticed this did not change the value. Value is still 0. However if I write what I think is the exact same thing:
script.TEST.Value = script.TEST.Value +1
Guess what? Value changed! It is now equal to 1.
I have looked online for a bit and not found anything regarding this, I am really confused why this is happening. Could anybody explain?

2 comments
First script is changing the value variable itself, whilst the second script gets the value and adds it to that value.
Also, the first and second script is not the same thing.