
Description
-- Script Lua para Roblox - Menu de Tuning de Cambagem e Posição (Camber/Offset/Height) -- Correção principal: Drag agora CONTINUA arrastando mesmo se o dedo/mouse sair do botão ou do menu -- (comportamento correto para mobile e PC - só para de arrastar quando você SOLTA o botão/dedo) -- • Drag refeito usando UserInputService global (melhor método do Roblox) -- • Testado: funciona perfeitamente em mobile (dedo sai do botão → continua movendo) e PC -- • Executar com Xeno Executor local Players = game:GetService("Players") local UserInputService = game:GetService("UserInputService") local player = Players.LocalPlayer local workspace = game.Workspace local carsFolder = workspace:FindFirstChild("Cars") or workspace:WaitForChild("Cars", 10) if not carsFolder then warn("Pasta Cars não encontrada") return end local myCar = nil local groups = { front = {right = {}, left = {}}, back = {right = {}, left = {}} } local current_mode = "front" -- Função para coletar Steers local function collectSteers(carModel) local function get(name) local list = {} for _, obj in ipairs(carModel:GetDescendants()) do if obj.Name == name and obj:FindFirstChild("Axel") then local steer = obj.Axel:FindFirstChild("Steer") if steer and steer:IsA("Attachment") then table.insert(list, steer) end end end return list end return { front = {right = get("FR"), left = get("FL")}, back = {right = get("RR"), left = get("RL")} } end -- Função para encontrar o carro atual do player local function updateCurrentCar() local foundCar = nil for _, model in ipairs(carsFolder:GetChildren()) do if model:IsA("Model") then local stats = model:FindFirstChild("Stats") if stats then local owner = stats:FindFirstChild("Owner") if owner then if (owner:IsA("ObjectValue") and owner.Value == player) or (owner:IsA("StringValue") and owner.Value == player.Name) then foundCar = model break end end end end end if foundCar ~= myCar then myCar = foundCar if myCar then local steers = collectSteers(myCar) groups.front = steers.front groups.back = steers.back else groups.front = {right = {}, left = {}} groups.back = {right = {}, left = {}} end updateValues() end end -- Draggable CORRIGIDO (continua arrastando mesmo se sair do botão/menu) local function makeDraggable(frame) local dragging = false local dragStart = nil local startPos = nil local inputConnection = nil frame.InputBegan:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch then dragging = true dragStart = input.Position startPos = frame.Position -- Conecta ao UserInputService global para continuar mesmo se sair do frame inputConnection = UserInputService.InputChanged:Connect(function(input2) if input2.UserInputType == Enum.UserInputType.MouseMovement or input2.UserInputType == Enum.UserInputType.Touch then local delta = input2.Position - dr


![[🎉 RELEASE] Anime Astral Simulator](/images/script/113236157544232-1780333729144.png)
Voxle Hub
