GUI not in the right place

Hello,
I have a typewriter dialogue GUI. In studio, it appears where it needs to be (centre bottom of the screen, nearly completely offscreen). On the client though, it appears in the top right (0,0,0,0). Here is my script.

local frame = script.Parent
frame.Position = UDim2.new({0.171, 0},{0.998, 0})
local prox = game.Workspace.man.Prox
local text = script.Parent.text
local sound1 = game.Workspace.Sounds.one
local sound2 = game.Workspace.Sounds.two
local sound3 = game.Workspace.Sounds.three
local sound4 = game.Workspace.Sounds.four
local sound5 = game.Workspace.Sounds.five
local rand = 0
frame.Position = UDim2.new({0.171, 0},{0.998, 0})
local function appear()
	frame.Position = UDim2.new({0.171, 0},{0.998, 0})
	text.Text = " "
	for j = 0.998, 0.754, -0.002 do
		frame.Position = UDim2.new({0.171, 0},{j, 0})
	end
	wait(0.5)
end
local function type(words)
	local speed = 0.05
	for i = 1, #words, 1 do
		text.Text = string.sub(words, 1, i)
		rand = math.random(1,5)
		text.MouseButton1Down:Connect(function()
			speed = 0.02
		end)
		text.MouseButton1Up:Connect(function()
			speed = 0.05
		end)
		wait(speed)
		if rand == 1 then
			sound1:Play()
		elseif rand == 2 then
			sound2:Play()
		elseif rand == 3 then
			sound3:Play()
		elseif rand == 4 then
			sound4:Play()
		elseif rand == 5 then
			sound5:Play()
		end
	end
end

prox.Triggered:Connect(function()
	prox.Enabled = false
	appear()
	type("hey, i'm the man")
	wait(1)
	type("if you hold down on this text while its being written, it'll write faster")
	wait(1)
	type("cool")
	prox.Enabled = true
end)

Fixed, I had to remove the curly brackets.