-- Serviços local Players = game:GetService("Players") local UserInputService = game:GetService("UserInputService") local GuiService = game:GetService("GuiService") local RunService = game:GetService("RunService") local LocalPlayer = Players.LocalPlayer -- Criando ScreenGui para o Cursor local ScreenGui = Instance.new("ScreenGui") ScreenGui.Name = "VirtualMouseGui" ScreenGui.ResetOnSpawn = false if gethui then ScreenGui.Parent = gethui() elseif syn and syn.protect_gui then syn.protect_gui(ScreenGui) ScreenGui.Parent = LocalPlayer:WaitForChild("PlayerGui") else ScreenGui.Parent = LocalPlayer:WaitForChild("PlayerGui") end -- Ícone do Cursor de PC local Cursor = Instance.new("ImageLabel") Cursor.Name = "VirtualCursor" Cursor.Size = UDim2.new(0, 18, 0, 18) Cursor.Image = "rbxassetid://6031097225" -- ID da imagem de seta do mouse Cursor.BackgroundTransparency = 1 Cursor.ImageColor3 = Color3.fromRGB(255, 255, 255) Cursor.ZIndex = 1000 Cursor.AnchorPoint = Vector2.new(0, 0) Cursor.Position = UDim2.new(0.5, 0, 0.5, 0) Cursor.Parent = ScreenGui -- Posição do Mouse Virtual local virtualMousePos = Vector2.new( workspace.CurrentCamera.ViewportSize.X / 2, workspace.CurrentCamera.ViewportSize.Y / 2 ) -- Atualização da Posição do Cursor Visual local function updateCursorPosition() Cursor.Position = UDim2.new(0, virtualMousePos.X, 0, virtualMousePos.Y) end updateCursorPosition() -- Lógica do Trackpad (Arrastar na tela move a seta) local lastTouchPos = nil UserInputService.TouchStarted:Connect(function(touch, gameProcessed) lastTouchPos = Vector2.new(touch.Position.X, touch.Position.Y) end) UserInputService.TouchMoved:Connect(function(touch, gameProcessed) if lastTouchPos then local currentTouchPos = Vector2.new(touch.Position.X, touch.Position.Y) local delta = currentTouchPos - lastTouchPos -- Sensibilidade do Trackpad local sensitivity = 1.2 -- Atualizar coordenadas virtuais mantendo dentro da tela local viewportSize = workspace.CurrentCamera.ViewportSize virtualMousePos = Vector2.new( math.clamp(virtualMousePos.X + (delta.X * sensitivity), 0, viewportSize.X), math.clamp(virtualMousePos.Y + (delta.Y * sensitivity), 0, viewportSize.Y) ) updateCursorPosition()