When a player presses a button an event will fire, then a script will read when that event fires and change a value (the vote count), then send an event back to a local script to change the display count on a text button. My count value is called value so that is why I use Value.Value (ik it's weird)
Local script
Value = script.Parent.Value
script.Parent.Text = Value.Value
game.ReplicatedStorage.Vote1.OnClientEvent:Connect(function()
script.Parent.Text = Value.Value
end)
Normal script
game.ReplicatedStorage.Vote.OnServerEvent:Connect(function()
game.StarterGui.ScreenGui.Votes.Value.Value = game.StarterGui.ScreenGui.Votes.Value.Value + 1
game.ReplicatedStorage.Vote1:FireClient()
end)

3 comments
That helped, but I probably should have described it better, the value was changing but the text label wasn't, so the first script worked but there was something wrong with the local because the label wasn't updating
oh
Ok I added something. Did it work?