Why does this not work?

even tho the int value does change

Value.Changed only fires when the intValue has changed. Also make sure you change the value on the server.

yeah the intvalue does change and i made the value change inside of a server script

the text doesnt change when the value changes

Do you receive any errors in the output or none at all. I’m pretty unsure on what the issue could be atm

no i have zero errors im stumped on this aswell

Also in this script your accessing the StarterGui instead of the PlayerGui. To fix this you can do…

local player = game.Player.LocalPlayer
local plrGui = player:WaitForChild("PlayerGui")
local scoreboard = plrGui:WaitForChild("ScreenGui")

And If this script is a local script updating the value would cause problems.

Ok, I thought something was off about that thank you.

wait this doesnt work, its a server script not a local script

yeah, its a serverscript not a local script

Oh nvm then the only thing I could recommend is trying the scripts and GUI in another project/game as it can be due to something else.

The issue is that value is set to text.Value. That is only a temporary variable and does not update when the value changes. Please revise to this:

local text = script.Parent

text.Changed:Connect(function()
    script.Parent.Text = text.Value
end)