So this is the local script
script.Parent.MouseButton1Click:Connect((function()
local location = game.Players.LocalPlayer.PlayerGui.MaterialGui.Frame
game.ReplicatedStorage.Materials:FireServer(location)
end))
And this is the main script
--Material Handler
game.ReplicatedStorage.Materials.OnServerEvent:Connect(function(player,location)
location.ScrollingFrame.Visible = true
location.ScrollingFrame.Close.MouseButton1Click:connect(function()
location.ScrollingFrame.Visible = false
end)
location.ScrollingFrame.SmoothPlastic.MouseButton1Click:connect(function()
script.Material.Value = "SmoothPlastic"
end)
location.ScrollingFrame.Plastic.MouseButton1Click:connect(function()
script.Material.Value = "Plastic"
end)
location.ScrollingFrame.CobbleStone.MouseButton1Click:connect(function()
script.Material.Value = "Cobblestone"
end)
location.ScrollingFrame.Brick.MouseButton1Click:connect(function()
script.Material.Value = "Brick"
end)
end)
It works in studio but not in game .Help please

4 comments
I hope you aren't trying to change the script's material... You can't be handling the clicks of GUI on a server script, they have to be handled on a local script. I'm not entirely sure what you are trying to do, but I think if you just moved all the Click Events to the local script and made them fire a RemoteEvent with a parameter for Material.Value, it should work as you intend.
Well yes i was trying to change the material of a part through a gui but im new to FE scripting so i dont know alot i only know how to work with remote events a little bit thanks will try
Thank you sir it helped me alot and it worked
No problem! If you need any more help I'd be happy.