A Value sent via serverscript not read by a local script

I made a sinking ship game and i want to send a ship name to a gui that the player can use to see the ship name, but it doesnt change the name when a new ship is selected ive tried to change the script of the gui to a server script it also didn’t work if u are able to help me, Please do it would make the game alot better

Part of the serverScript

CallAndNameEvent:FireAllClients(choosemap.CallSign.Value, choosemap.Name)

Part of the Client Script

local BoatName = ""
local CallSign = ""

game.ReplicatedStorage.ChangeShipCallSign.OnClientEvent:Connect(function(NewCallSign, NewName)
	CallSign = NewCallSign
	BoatName = NewName
end)

In the client script you are just changing the variables BoatName and CallSign when the server sends an event and not actually updating any GUI.

This is an example of what is should look like:

local BoatName = ""
local CallSign = ""

game.ReplicatedStorage.ChangeShipCallSign.OnClientEvent:Connect(function(NewCallSign, NewName)
	CallSign = NewCallSign
	BoatName = NewName

    -- You need to update the GUI's too when the event runs
    CallSignFrame.TextLabel.Text = CallSign
    BoatNameFrame.TextLabel.Text = BoatName
end)

wait i forgot to mention this but it uses alot of strings with the callsign and the boatname and if u press a button it updates the gui