return function(s,N)if _L.Variables.Mobile then return false end local g={}local b local I local D=PlayerGui:FindFirstChild("\084\111\111\108\116\105\112\115\070\111\108\100\101\114")if D==nil then D=Instance.new("\083\099\114\101\101\110\071\117\105")D.Name="\084\111\111\108\116\105\112\115\070\111\108\100\101\114"D.DisplayOrder=999 D.Parent=PlayerGui end local function Q()if b then b:Destroy()b=nil end end local function n()D:ClearAllChildren()b=Instance.new("\084\101\120\116\076\097\098\101\108")b.BorderSizePixel=0 b.BackgroundColor3=Color3.new(.35,.35,.35)b.TextColor3=Color3.new(1,1,1)b.FontSize=Enum.FontSize.Size18 b.Font=Enum.Font.Highway b.Text=N local g=_L.Services.TextService:GetTextSize(b.Text,b.TextSize,b.Font,Vector2.new(175,1000))b.Size=UDim2.new(0,g.X+4,0,g.Y+2)b.Parent=D while not I and(b and(b.Parent and s))do local N,g=(_L.Player.Get("\077\111\117\115\101")).X,(_L.Player.Get("\077\111\117\115\101")).Y local D,Q=s.AbsoluteSize.X,s.AbsoluteSize.Y local n,o=s.AbsolutePosition.X,s.AbsolutePosition.Y if N>n-10 and(N<(n+D)+10 and(g>o-10 and g<(o+Q)+10))then local s=_L.Player.Get("\077\111\117\115\101")b.Position=UDim2.new(0,s.X+17,0,s.Y)else I=true end _L.Services.RunService.RenderStepped:wait()end Q()end g[#g+1]=s.MouseEnter:Connect(function()Q()n()end)g[#g+1]=s.MouseLeave:Connect(function()Q()end)return function()for s,N in ipairs(g)do N:disconnect()end g=nil I=true end end
--- Tooltip

return function(element, tooltipText)
	--- Cancel if this is on mobile
	if _L.Variables.Mobile then
		return false
	end

	--- Variables
	local events = {}
	local tooltip
	local cancel

	--- Create tooltip folder (if it doesn't already exist)
	local tooltipFolder = PlayerGui:FindFirstChild("TooltipsFolder")
	if tooltipFolder == nil then
		tooltipFolder = Instance.new("ScreenGui")
		tooltipFolder.Name = "TooltipsFolder"
		tooltipFolder.DisplayOrder = 999
		tooltipFolder.Parent = PlayerGui
	end

	--- (Function) remove tooltip
	local function remove()
		if tooltip then
			tooltip:Destroy()
			tooltip = nil
		end
	end

	--- (Function) create tooltip
	local function create()
		--- Remove any existing tooltips
		tooltipFolder:ClearAllChildren()

		--- Create tooltip
		tooltip = Instance.new("TextLabel")
		tooltip.BorderSizePixel = 0
		tooltip.BackgroundColor3 = Color3.new(0.35, 0.35, 0.35)
		tooltip.TextColor3 = Color3.new(1, 1, 1)
		tooltip.FontSize = Enum.FontSize.Size18
		tooltip.Font = Enum.Font.Highway
		tooltip.Text = tooltipText

		--- Calculate size
		local textSize =
			_L.Services.TextService:GetTextSize(tooltip.Text, tooltip.TextSize, tooltip.Font, Vector2.new(175, 1000))
		tooltip.Size = UDim2.new(0, textSize.X + 4, 0, textSize.Y + 2)

		--
		tooltip.Parent = tooltipFolder

		--- Main
		while not cancel and tooltip and tooltip.Parent and element do
			--- Get positions
			local mouseX, mouseY = _L.Player.Get("Mouse").X, _L.Player.Get("Mouse").Y
			local guiSizeX, guiSizeY = element.AbsoluteSize.X, element.AbsoluteSize.Y
			local guiPosX, guiPosY = element.AbsolutePosition.X, element.AbsolutePosition.Y

			--- Is mouse still over? Should tooltip stay active?
			if
				(mouseX > guiPosX - 10)
				and (mouseX < guiPosX + guiSizeX + 10)
				and (mouseY > guiPosY - 10)
				and (mouseY < guiPosY + guiSizeY + 10)
			then
				--- Mouse
				local mouse = _L.Player.Get("Mouse")

				--- Change tooltip position (to follow mouse)
				tooltip.Position = UDim2.new(0, (mouse.X + 17), 0, mouse.Y)
			else
				--- Mouse is no longer over. CANCEL!
				cancel = true
			end

			--- Wait
			_L.Services.RunService.RenderStepped:wait()
		end

		--- Dispose
		remove()
	end

	--- Mouse events
	events[#events + 1] = element.MouseEnter:Connect(function()
		--- Mouse entered, create tooltip
		remove()
		create()
	end)
	--
	events[#events + 1] = element.MouseLeave:Connect(function()
		--- Mouse exited, remove tooltip
		remove()
	end)

	--- Return function to cancel this behavior
	return function()
		--- Clear events
		for _, event in ipairs(events) do
			event:disconnect()
		end
		events = nil

		--- Cancel
		cancel = true
	end
end
