Code is below, the script is inside "ServerScriptService"
print("running")
for i, v in pairs(game.Players:GetChildren()) do
local player = v:FindFirstChild("PlayerGui")
local shopgui = Instance.new('ScreenGui', player)
local frame = Instance.new('Frame', player)
local textbutton = Instance.new('TextButton', player)
local imagebutton = Instance.new('ImageButton', player)
imagebutton.Position = UDim2.new(0.98, 0, 0.75, 0)
imagebutton.Size = UDim2.new(0, 250, 0, 100)
end

2 comments
Is FE on? If so, scripts can't access PlayerGui. Also, you should be putting the Fame,TextButton, and ImageButton in the ScreenGui.
FE is enabled, however I have another script that is similar to this one and it is making scripts into PlayerGUI just fine. I see them appear in PlayMode. I did not realize I did not put the Frame inside of ScreenGui, maybe that is why they are not appearing.