Roblox makes it so when a RemoteEvent is fired, the first parameter is automatically set to the player who fired it I think, defined as "player". So when I use that parameter inside the function, I feel like the script does not recognize it and does not make the GUI visible for the player who fired the event.
game.ReplicatedStorage.OpenShop.OnServerEvent:Connect(function(player)
player.PlayerGui.ScreenGui.Frame.Visible = true
end)
Any solutions to this problem? I appreciate the help.

2 comments
You don't include the player parameter on firing the remote. Also, you're trying to modify the PlayerGui from the server, which is bad practice.
isn't that what you're supposed to do with FE?