LocalScript not updating for server and other clients

I’m trying to make a GUI, where you can put in a decal ID and it would update the decal’s ID on a part.
I have a LocalScript in the GUI that gets the input from a TextBox, puts the input to a StringValue in ReplicatedStorage and fires a RemoteEvent that would take the decal ID from the StringValue and change the decal ID of the part’s decal.
I am obviously doing something wrong and that is probably because the LocalScript only updates for the client using the GUI and not for the server side script.

I didn’t find any solutions anywhere for this exact issue and thought this would be the place to ask.
I am quite the beginner when it comes to scripting so I don’t really know what I am doing so some help would be appreciated! :smiley:

Can you provide any code please?

This is the LocalScript inside of the GUI

    	local input = script.Parent.MainFrame.Input.Text
    	local value = game.ReplicatedStorage.DecalValue
    	value.Value = input

This is the script in ServerScriptService


local model = workspace.ScreenProject
local decalvalue = game.ReplicatedStorage.DecalValue
local screenOne = model.SC1
local screenTwo = model.SC2

local customimage = "rbxassetid://" ..decalvalue.Value
screenOne.Decal.Texture = customimage
screenTwo.Decal.Texture = customimage


You’re changing the value in ReplicatedStorage locally, which means the server cannot see the change. You can :FireServer() with parameters instead of changing the value inside of ReplicatedStorage like so:


Then, on the server you collect it like so:

game.ReplicatedStorage.DecalChange.OnServerEvent:Connect(function(player, input)
Note: The player parameter is always first when doing OnServerEvent

From there, you can do:

local customimage = "rbxassetid://" .. input
screenOne.Decal.Texture = customimage
screenTwo.Decal.Texture = customimage

I hope this helped, if you have any questions don’t hesitate to ask! (:


Thank you so much, everything works perfectly now!