Server Script:
remote.OnServerEvent:Connect(function(player,data)
if data and data["P"] then
if data.P == "ChangeID" then
local part = data["Part"]
if part then
for i,v in pairs(part:GetChildren()) do
if v:IsA('Decal') then
v.Texture = ""
v.Texture = "rbxassetid://"..tostring(data["ID"])
end
end
end
end
end
end)
local script:
script.Parent:WaitForChild('TextButton').MouseButton1Click:Connect(function()
game.ReplicatedStorage.MasterRemote:FireServer({["P"]="ChangeID",["ID"]=script.Parent.TextButton.Text,["Part"]=game.Players.LocalPlayer.Character.ProtestFlag.flagpart})
end)
It does change the decal id, it just makes the decal go white. I tried both ways, just putting the ID, and I also tried doing the -1 on the decal ID until the decal image showed up on the web. Nonetheless, both ways make the decal go white.

1 comment
I checked inside the part and into the decal and the texture was "rbxassetid://Set ID"