this is because you are changing it inside a local script, meaning it would only change client sided and would not affect the server. you would have to change it to the server, using remotes sending from client to server.
local currentNumber = mainFrame.Parent.currentNumber
currentNumber.Value += 1
since if you’re gonna do currentNumber = currentNumber + 1 then you are only changing the saved property value (basically, you only should save a variable of a value if you want to read it, since when you save the Value property, you are saving a number instead of the actual instance and the property) but not changing the value’s value. also currentNumber = currentNumber + 1 and currentNumber += 1 just does the same thing.
I know this is resolved already, but why are you doing this?
local player: player = game.Players.LocalPlayer or game:GetService("Players"):WaitForChild("LocalPlayer")
local playerGui: playerGui = player.PlayerGui
local interface: interface = playerGui.SoftServeInterface