Inserting anything after "variable." crashes studio (CRITICAL BUG)

In my module script, if I try to get a member/property of any variable/instance, studio crashes, I don’t have access to the bug reports channel so I’m putting this here

Video showing bug

My script:

local module = {}

--[[
Things to work with:
{
Entity = Player Model
Humanoid = Humanoid of Player Model
Speed = WalkSpeed
JumpPower = JumpPower



}


]]

module.Basics = {
	BGColor = Color3.fromRGB(0, 121, 24);
	Name = "Sticky";
	Description = "Use your slime as a rope!";
	Image = "http://www.roblox.com/asset/?id=120638621427727";
}

function module:Local(data)
	local entity = data.Entity
	local humanoid = data.Humanoid
	local speed = data.Speed
	local jumpower = data.JumpPower
	local mouse = game.Players.LocalPlayer:GetMouse()
	game.Players.LocalPlayer.PlayerGui.Sticky.Button.Visible = true
	if game.Players.LocalPlayer.PlayerGui.Metaverse.Viewport:FindFirstChild("StickyIndicator") then
		game.Players.LocalPlayer.PlayerGui.Metaverse.Viewport.StickyIndicator:Destroy()
	end
	local part = Instance.new("Part",game.Players.LocalPlayer.PlayerGui.Metaverse.Viewport)
	part.Name = "StickyIndicator"
	part.Size = Vector3.new(3,3,3)
	part.Anchored = true
	part.CanCollide = false
	part.BrickColor = BrickColor.new("Sea green")
	part.Position = Vector3.new(10000,10000,10000)
	part.Shape = Enum.PartType.Ball
	part.TopSurface = Enum.SurfaceType.Smooth
	part.BottomSurface = Enum.SurfaceType.Smooth
	mouse.TargetFilter = workspace.Spawns
	local waitpls = false
	local oldHit
	local temp2,temp3
	local conec
	local conec2,conec3
	local clicked = false
	local locked = false
	local temp = task.spawn(function()
		workspace.ChildAdded:Connect(function(child)
			task.wait()
			local a,b = pcall(function()
				if child.Name == game.Players.LocalPlayer.Name.."-Sticky" then
					child.StickyGUI.AlwaysOnTop = true
				end
			end)
		end)
		temp2 = task.spawn(function()
			while entity do
				task.wait()
				if workspace:FindFirstChild(game.Players.LocalPlayer.Name.."-Sticky") then
					part.Transparency = 1
				else
					part.Transparency = 0.5
				end
				local assist = game.Players.LocalPlayer.Settings["Slime Assist"].Value
				if assist == false then
					if mouse.Hit and mouse.Target and clicked == false then
						local hit = mouse.Hit.Position
						temp3 = task.spawn(function()
							task.wait(0.03)
							if waitpls == true then
								task.wait(0.05)
							end
							local a,b = pcall(function()
								if locked == false then
									part.Position = hit
								end
							end)
						end)
					end
				else
					local num = game.Players.LocalPlayer.General.CurrentStage.Value
					if num < 10 then
						num = "00"..num
					elseif num < 100 then
						num = "0"..num
					else
						num = tostring(num)
					end
					if workspace.Stages[num]:FindFirstChild("Ball") then
						local balls = {}
						for i,v in workspace.Stages[num]:GetDescendants() do
							if v.Name == "Ball" and v:IsA("BasePart") then
								table.insert(balls,v)
							end
						end
						local a,b = pcall(function()
							local closestball = balls[1]
							local closestnum = (closestball.Position - game.Players.LocalPlayer.Character.Entity.Position).Magnitude
							for i,v in balls do
								if v.
							end
						end)
					elseif mouse.Hit and mouse.Target and clicked == false then
						local hit = mouse.Hit.Position
						temp3 = task.spawn(function()
							task.wait(0.03)
							if waitpls == true then
								task.wait(0.05)
							end
							local a,b = pcall(function()
								if locked == false then
									part.Position = hit
								end
							end)
						end)
					end
				end
			end
		end)
		conec3 = game.Players.LocalPlayer:GetMouse().Button1Down:Connect(function()
			if mouse.Hit and mouse.Target and game.Players.LocalPlayer.Device.Value == "Computer" then
				clicked = true
				task.wait(0.8)
				clicked = false
			elseif mouse.Hit and mouse.Target and game.Players.LocalPlayer.Device.Value == "Mobile" then
				if mouse.Target.Name == "Ball" then
					clicked = true
					task.wait(0.8)
					clicked = false
				end
			end
		end)
		local function Trigger()
			if mouse.Hit then
				game.Players.LocalPlayer.PlayerGui.Sticky.RemoteEvent:FireServer(part.CFrame)
			end
		end
		local UIS = game:GetService("UserInputService")
		conec = UIS.InputEnded:Connect(function(input,typing)
			if typing then return end
			if input.KeyCode == Enum.KeyCode.F then
				Trigger()
			elseif input.KeyCode == Enum.KeyCode.ButtonY then
				Trigger()
			end
		end)
		conec2 = game.Players.LocalPlayer.PlayerGui.Sticky.Button.MouseButton1Down:Connect(function()
			waitpls = true
			if mouse.Hit then
				if workspace:FindFirstChild(game.Players.LocalPlayer.Name.."-Sticky") then
					locked = true
					task.spawn(function()
						task.wait(0.15)
						locked = false
					end)
				end
				game.Players.LocalPlayer.PlayerGui.Sticky.RemoteEvent:FireServer(part.CFrame)
				task.wait(0.1)
				waitpls = false
			end
		end)
	end)

	game.Players.LocalPlayer.Attributes.ChildRemoved:Connect(function()
		if not game.Players.LocalPlayer.Attributes:FindFirstChild(module.Basics.Name) then
			task.cancel(temp)
			local a,b = pcall(function()
				task.cancel(temp2)
			end)
			local a,b = pcall(function()
				task.cancel(temp3)
			end)
			local a,b = pcall(function()
				conec:Disconnect()
			end)
			local a,b = pcall(function()
				conec2:Disconnect()
			end)
			local a,b = pcall(function()
				conec3:Disconnect()
			end)
			part:Destroy()
			game.Players.LocalPlayer.PlayerGui.Sticky.Button.Visible = false
		end
	end)
end

return module

This makes it impossible for me to edit this script, I just wanna code for my game man…

You should put this in #bug-reports:studio-bugs, this is very weird though.

I don’t have access to that category

How to post a Bug Report, You can look at this if you want to be able to, but most I can recommend is reinstalling studio if the issue continues.