I still wonder why this doesn't work:
p=Instance.new("NumberValue",workspace) p.Value=1 e=p.Value e=e+1 print(e,p.Value) -->2, 1
You are assigning a new variable a value equal to p.Value, and not assigning the Value a tag. Remove the .Value and add it to your tags when applicable.
tag = script.Parent.NumberValue tag.Value = tag.Value + 1