The local script is supposed to fire an event which will then be picked up by a server script which will then tween a frame into its position
Local Script: Located in StarterGui
local cd = game.Workspace.shopclick.ClickDetector
local event = game.ReplicatedStorage.OpenShop
cd.MouseClick:Connect(function()
event:FireServer()
end)
Server Script: Located in StarterGui
local event = game.ReplicatedStorage.OpenShop
event.OnServerEvent:Connect(function(Player)
local frame = script.Parent.Parent.PlayerGui.Main.Shop_UI
frame:TweenPosition(UDim2.new(0.359, 0,0.307, -19), 'Out', 'Back', 1)
end)
I get no errors in the output, and I'm wondering if it's because PlayerGui isn't accessible by the client...
It works fine in PlaySolo but I know that disregards FilteringEnabled...

2 comments
No, PlayerGui is not accessible by the server. Any GUI coding should NEVER be handled by the server.
PlayerGui is accessible by server. ^