Universal Script – Dextroll - Verified script for Universal Roblox
Key RequiredUniversal

Universal Script – Dextroll

Universal ScriptNumero_ModifieldNumero_Modifield 849 views 3.5K executesUpdated Oct 21, 2026
Unrated
00
Lua Script•661 lines (17311 chars)
--==================================================
-- DEXTROLL
-- PC + MOBILE | PRETO E VERMELHO
-- 50 LINHAS INVISIVEIS EM CADA ABA
-- SALUTE R6 ADICIONADO
--==================================================

local Players = game:GetService("Players")
local RunService = game:GetService("RunService")
local UIS = game:GetService("UserInputService")
local LP = Players.LocalPlayer

local gui = Instance.new("ScreenGui")
gui.Name = "Dextroll"
gui.Parent = (gethui and gethui()) or LP:WaitForChild("PlayerGui")
gui.ResetOnSpawn = false
gui.DisplayOrder = 999
gui.ZIndexBehavior = Enum.ZIndexBehavior.Sibling

local LOGO_ID = "rbxassetid://109344748296552"
local FLY_SPEED = 60

-- TOGGLE
local toggle = Instance.new("ImageButton")
toggle.Parent = gui
toggle.Name = "DextrollToggle"
toggle.Image = LOGO_ID
toggle.Size = UDim2.new(0, 60, 0, 60)
toggle.Position = UDim2.new(0, 20, 0.7, 0)
toggle.BackgroundTransparency = 1
toggle.BorderSizePixel = 0
toggle.Active = true
toggle.ScaleType = Enum.ScaleType.Fit
toggle.AutoButtonColor = false
toggle.ZIndex = 10

local borda = Instance.new("UIStroke")
borda.Color = Color3.fromRGB(255, 0, 0)
borda.Thickness = 3
borda.Parent = toggle

local brilho = Instance.new("UIStroke")
brilho.Color = Color3.fromRGB(255, 0, 0)
brilho.Thickness = 7
brilho.Transparency = 0.55
brilho.Parent = toggle

-- MENU PRINCIPAL
local menu = Instance.new("Frame")
menu.Parent = gui
menu.Name = "DextrollMenu"
menu.Size = UDim2.new(0, 280, 0, 380)
menu.Position = UDim2.new(0, 115, 0, 20)
menu.BackgroundColor3 = Color3.fromRGB(0, 0, 0)
menu.BorderSizePixel = 0
menu.Visible = false
menu.Active = true
menu.Draggable = true
menu.ZIndex = 2

Instance.new("UICorner", menu).CornerRadius = UDim.new(0, 12)

local title = Instance.new("TextLabel")
title.Parent = menu
title.Size = UDim2.new(1, 0, 0, 45)
title.Text = "DEXTROLL"
title.TextColor3 = Color3.fromRGB(255, 255, 255)
title.BackgroundColor3 = Color3.fromRGB(0, 0, 0)
title.BorderSizePixel = 0
title.Font = Enum.Font.GothamBlack
title.TextSize = 18
title.ZIndex = 3

local titleLine = Instance.new("Frame")
titleLine.Parent = menu
titleLine.Size = UDim2.new(1, -20, 0, 2)
titleLine.Position = UDim2.new(0, 10, 0, 44)
titleLine.BackgroundColor3 = Color3.fromRGB(255, 0, 0)
titleLine.BorderSizePixel = 0
titleLine.ZIndex = 3

-- ABAS
local tabs = Instance.new("Frame")
tabs.Parent = menu
tabs.Position = UDim2.new(0, 8, 0, 52)
tabs.Size = UDim2.new(1, -16, 0, 35)
tabs.BackgroundTransparency = 1
tabs.ZIndex = 4

local tabsLayout = Instance.new("UIListLayout")
tabsLayout.Parent = tabs
tabsLayout.FillDirection = Enum.FillDirection.Horizontal
tabsLayout.HorizontalAlignment = Enum.HorizontalAlignment.Center
tabsLayout.Padding = UDim.new(0, 6)
tabsLayout.SortOrder = Enum.SortOrder.LayoutOrder

local content = Instance.new("Frame")
content.Parent = menu
content.Position = UDim2.new(0, 0, 0, 92)
content.Size = UDim2.new(1, 0, 1, -97)
content.BackgroundTransparency = 1
content.ZIndex = 3

local pages = {}
local currentTab = "FUNÇÕES"

local function createPage(name)
    local page = Instance.new("ScrollingFrame")
    page.Name = name
    page.Parent = content
    page.Size = UDim2.new(1, 0, 1, 0)
    page.BackgroundTransparency = 1
    page.BorderSizePixel = 0
    page.ScrollBarThickness = 5
    page.AutomaticCanvasSize = Enum.AutomaticSize.Y
    page.CanvasSize = UDim2.new(0, 0, 0, 0)
    page.Visible = false
    page.ZIndex = 3

    local layout = Instance.new("UIListLayout")
    layout.Parent = page
    layout.Padding = UDim.new(0, 5)
    layout.SortOrder = Enum.SortOrder.LayoutOrder

    local padding = Instance.new("UIPadding")
    padding.Parent = page
    padding.PaddingTop = UDim.new(0, 5)
    padding.PaddingBottom = UDim.new(0, 10)
    padding.PaddingLeft = UDim.new(0, 10)
    padding.PaddingRight = UDim.new(0, 10)

    pages[name] = page
    return page
end

createPage("FUNÇÕES")
createPage("TOOLS")
createPage("EXTRAS")

local ordem = {}

-- BOTÃO LIGA/DESLIGA
local function criarBotao(nome, funcao, aba)
    aba = aba or "FUNÇÕES"
    ordem[aba] = (ordem[aba] or 0) + 1

    local btn = Instance.new("TextButton")
    btn.Parent = pages[aba]
    btn.Name = nome
    btn.Size = UDim2.new(1, -5, 0, 40)
    btn.BackgroundColor3 = Color3.fromRGB(12, 12, 12)
    btn.TextColor3 = Color3.fromRGB(255, 255, 255)
    btn.Text = nome .. ": OFF"
    btn.Font = Enum.Font.Gotham
    btn.TextSize = 14
    btn.BorderSizePixel = 0
    btn.LayoutOrder = ordem[aba]
    btn.ZIndex = 4

    Instance.new("UICorner", btn).CornerRadius = UDim.new(0, 8)

    local stroke = Instance.new("UIStroke")
    stroke.Color = Color3.fromRGB(255, 0, 0)
    stroke.Thickness = 1
    stroke.Parent = btn

    local estado = false

    btn.Activated:Connect(function()
        local novoEstado = not estado

        local ok, err = pcall(function()
            funcao(novoEstado, btn)
        end)

        if ok then
            estado = novoEstado
            btn.Text = nome .. ": " .. (estado and "ON" or "OFF")
        else
            warn("Erro em " .. nome .. ": " .. tostring(err))
        end
    end)

    return btn
end

-- BOTÃO DE AÇÃO
local function criarBotaoAcao(nome, funcao, aba)
    aba = aba or "EXTRAS"
    ordem[aba] = (ordem[aba] or 0) + 1

    local btn = Instance.new("TextButton")
    btn.Parent = pages[aba]
    btn.Name = nome
    btn.Size = UDim2.new(1, -5, 0, 40)
    btn.BackgroundColor3 = Color3.fromRGB(12, 12, 12)
    btn.TextColor3 = Color3.fromRGB(255, 255, 255)
    btn.Text = nome
    btn.Font = Enum.Font.Gotham
    btn.TextSize = 14
    btn.BorderSizePixel = 0
    btn.LayoutOrder = ordem[aba]
    btn.ZIndex = 4

    Instance.new("UICorner", btn).CornerRadius = UDim.new(0, 8)

    local stroke = Instance.new("UIStroke")
    stroke.Color = Color3.fromRGB(255, 0, 0)
    stroke.Thickness = 1
    stroke.Parent = btn

    btn.Activated:Connect(function()
        local ok, err = pcall(funcao)
        if not ok then
            warn("Erro em " .. nome .. ": " .. tostring(err))
        end
    end)

    return btn
end

-- BOTÕES DAS ABAS
local function createTabButton(name)
    local btn = Instance.new("TextButton")
    btn.Parent = tabs
    btn.Name = "Tab_" .. name
    btn.Size = UDim2.new(0, 82, 1, 0)
    btn.BackgroundColor3 = Color3.fromRGB(12, 12, 12)
    btn.TextColor3 = Color3.fromRGB(255, 255, 255)
    btn.Text = name
    btn.Font = Enum.Font.Gotham
    btn.TextSize = 11
    btn.BorderSizePixel = 0
    btn.ZIndex = 5

    Instance.new("UICorner", btn).CornerRadius = UDim.new(0, 6)

    local stroke = Instance.new("UIStroke")
    stroke.Color = Color3.fromRGB(255, 0, 0)
    stroke.Thickness = 1
    stroke.Parent = btn

    btn.Activated:Connect(function()
        currentTab = name

        for pageName, page in pairs(pages) do
            page.Visible = (pageName == name)
        end

        for _, child in ipairs(tabs:GetChildren()) do
            if child:IsA("TextButton") then
                child.BackgroundColor3 =
                    child.Name == "Tab_" .. name
                    and Color3.fromRGB(55, 0, 0)
                    or Color3.fromRGB(12, 12, 12)
            end
        end
    end)
end

createTabButton("FUNÇÕES")
createTabButton("TOOLS")
createTabButton("EXTRAS")

pages["FUNÇÕES"].Visible = true
tabs:FindFirstChild("Tab_FUNÇÕES").BackgroundColor3 =
    Color3.fromRGB(55, 0, 0)

-- VARIÁVEIS
local flying = false
local infJump = false
local noclip = false
local bv, bg
local flyConnection
local flyButton

-- PARAR FLY
local function stopFly()
    flying = false

    if flyConnection then
        flyConnection:Disconnect()
        flyConnection = nil
    end

    if bv then
        bv:Destroy()
        bv = nil
    end

    if bg then
        bg:Destroy()
        bg = nil
    end

    if flyButton then
        flyButton.Text = "FLY: OFF"
    end
end

-- FLY
local function Fly(estado)
    if not estado then
        stopFly()
        return
    end

    if flying then return end

    local character = LP.Character
    if not character then return end

    local humanoid = character:FindFirstChildOfClass("Humanoid")
    local root = character:FindFirstChild("HumanoidRootPart")

    if not humanoid or not root then return end

    flying = true

    bv = Instance.new("BodyVelocity")
    bv.Name = "DextrollFlyVelocity"
    bv.MaxForce = Vector3.new(math.huge, math.huge, math.huge)
    bv.Velocity = Vector3.zero
    bv.Parent = root

    bg = Instance.new("BodyGyro")
    bg.Name = "DextrollFlyGyro"
    bg.MaxTorque = Vector3.new(math.huge, math.huge, math.huge)
    bg.P = 9000
    bg.D = 500
    bg.Parent = root

    flyConnection = RunService.RenderStepped:Connect(function()
        if not flying then return end

        if not root.Parent or not humanoid.Parent then
            stopFly()
            return
        end

        local camera = workspace.CurrentCamera
        if not camera then return end

        local direction = Vector3.zero
        local move = humanoid.MoveDirection
        local look = camera.CFrame.LookVector
        local right = camera.CFrame.RightVector

        local flatLook = Vector3.new(look.X, 0, look.Z)
        local flatRight = Vector3.new(right.X, 0, right.Z)

        if flatLook.Magnitude > 0 then
            flatLook = flatLook.Unit
        end

        if flatRight.Magnitude > 0 then
            flatRight = flatRight.Unit
        end

        if move.Magnitude > 0 then
            direction = look * move:Dot(flatLook)
                + right * move:Dot(flatRight)
        end

        if not UIS:GetFocusedTextBox() then
            if UIS:IsKeyDown(Enum.KeyCode.W) then
                direction += look
            end
            if UIS:IsKeyDown(Enum.KeyCode.S) then
                direction -= look
            end
            if UIS:IsKeyDown(Enum.KeyCode.A) then
                direction -= right
            end
            if UIS:IsKeyDown(Enum.KeyCode.D) then
                direction += right
            end
            if UIS:IsKeyDown(Enum.KeyCode.Space) then
                direction += Vector3.yAxis
            end
            if UIS:IsKeyDown(Enum.KeyCode.LeftShift) then
                direction -= Vector3.yAxis
            end
        end

        bv.Velocity = direction.Magnitude > 0
            and direction.Unit * FLY_SPEED
            or Vector3.zero

        bg.CFrame = camera.CFrame
    end)

    if flyButton then
        flyButton.Text = "FLY: ON"
    end
end

-- WALL HACK
RunService.Heartbeat:Connect(function()
    if noclip and LP.Character then
        for _, part in ipairs(LP.Character:GetDescendants()) do
            if part:IsA("BasePart") then
                part.CanCollide = false
            end
        end
    end
end)

-- INFINITY JUMP
UIS.JumpRequest:Connect(function()
    if infJump and LP.Character then
        local hum = LP.Character:FindFirstChildOfClass("Humanoid")
        if hum then
            hum:ChangeState(Enum.HumanoidStateType.Jumping)
        end
    end
end)

--==================================================
-- ABA FUNÇÕES
--==================================================

flyButton = criarBotao("FLY", Fly, "FUNÇÕES")

criarBotao("SPEED", function(estado)
    local hum = LP.Character
        and LP.Character:FindFirstChildOfClass("Humanoid")

    if hum then
        hum.WalkSpeed = estado and 100 or 16
    end
end, "FUNÇÕES")

criarBotao("JUMP POWER", function(estado)
    local hum = LP.Character
        and LP.Character:FindFirstChildOfClass("Humanoid")

    if hum then
        hum.UseJumpPower = true
        hum.JumpPower = estado and 150 or 50
    end
end, "FUNÇÕES")

criarBotao("INFINITY JUMP", function(estado)
    infJump = estado
end, "FUNÇÕES")

criarBotao("WALL HACK", function(estado)
    noclip = estado

    if not estado and LP.Character then
        for _, part in ipairs(LP.Character:GetDescendants()) do
            if part:IsA("BasePart") then
                part.CanCollide = true
            end
        end
    end
end, "FUNÇÕES")

--==================================================
-- ABA TOOLS
--==================================================

criarBotaoAcao("TP TOOL", function()
    local backpack = LP:WaitForChild("Backpack")
    local mouse = LP:GetMouse()

    local tool = Instance.new("Tool")
    tool.Name = "TP Tool"
    tool.RequiresHandle = false
    tool.CanBeDropped = false

    tool.Activated:Connect(function()
        local character = LP.Character
        local root = character
            and character:FindFirstChild("HumanoidRootPart")

        if root then
            character:MoveTo(mouse.Hit.Position + Vector3.new(0, 3, 0))
        end
    end)

    tool.Parent = backpack
end, "TOOLS")

criarBotaoAcao("hug TOOL", function()
    loadstring(game:HttpGet(
        "https://scriptblox.com/raw/Universal-Script-Hug-Tool-R6-18959"
    ))()
end, "TOOLS")

-- NOVO BOTÃO: SALUTE R6
criarBotaoAcao("Salute R6", function()
    loadstring(game:HttpGet(
        "https://scriptblox.com/raw/Universal-Script-FE-Salute-R6-38946"
    ))()
end, "TOOLS")

--==================================================
-- ABA EXTRAS
--==================================================

criarBotaoAcao("SYSTEM BROKEN", function()
    loadstring(game:HttpGet(
        "https://rawscripts.net/raw/Ragdoll-Engine-BEST-SCRIPT-WORKING-SystemBroken-7544"
    ))()
end, "EXTRAS")

criarBotaoAcao("shift~lock", function()
    loadstring(game:HttpGet(
        "https://scriptblox.com/raw/Universal-Script-Maxus-Shiftlock-55223"
    ))()
end, "EXTRAS")

criarBotaoAcao("DEXTER HUB", function()
    loadstring(game:HttpGet(
        "https://rawscripts.net/raw/Universal-Script-Fe-r6-animations-I-found-random-tho-47049"
    ))()
end, "EXTRAS")

criarBotaoAcao("dead rails hack (OP)", function()
    getgenv().Auto_load = true

    getgenv().Game_config = {
        Auto_reset = false,
        Auto_teleport = true,
        Only_drop_bond = true
    }

    getgenv().Lobby_config = {
        Players_number = 1,
        Auto_create_party = true,
        Auto_recreate_party = true
    }

    loadstring(game:HttpGet(
        "https://raw.githubusercontent.com/Zynkore/Hub/refs/heads/main/Games/Dead%20Rails/Auto%20bond.luau"
    ))()
end, "EXTRAS")

--==================================================
-- 50 LINHAS INVISÍVEIS EM CADA ABA
--==================================================

for _, nomeAba in ipairs({"FUNÇÕES", "TOOLS", "EXTRAS"}) do
    for i = 1, 50 do
        ordem[nomeAba] = (ordem[nomeAba] or 0) + 1

        local e = Instance.new("Frame")
        e.Parent = pages[nomeAba]
        e.Name = "Espaco_" .. i
        e.Size = UDim2.new(1, -5, 0, 15)
        e.BackgroundTransparency = 1
        e.BorderSizePixel = 0
        e.LayoutOrder = ordem[nomeAba]
    end
end

--==================================================
-- TOGGLE ARRASTÁVEL
--==================================================

local tocando = false
local arrastando = false
local inicioToque
local posicaoInicial
local inputAtivo
local LIMITE_ARRASTO = 10

toggle.InputBegan:Connect(function(input)
    if input.UserInputType == Enum.UserInputType.MouseButton1
    or input.UserInputType == Enum.UserInputType.Touch then
        tocando = true
        arrastando = false
        inicioToque = input.Position
        posicaoInicial = toggle.Position
        inputAtivo = input
    end
end)

UIS.InputChanged:Connect(function(input)
    if not tocando then return end

    local mouseMovendo =
        input.UserInputType == Enum.UserInputType.MouseMovement

    local toqueMovendo =
        input.UserInputType == Enum.UserInputType.Touch
        and input == inputAtivo

    if not mouseMovendo and not toqueMovendo then
        return
    end

    local delta = input.Position - inicioToque

    if delta.Magnitude > LIMITE_ARRASTO then
        arrastando = true
    end

    if arrastando then
        toggle.Position = UDim2.new(
            posicaoInicial.X.Scale,
            posicaoInicial.X.Offset + delta.X,
            posicaoInicial.Y.Scale,
            posicaoInicial.Y.Offset + delta.Y
        )
    end
end)

UIS.InputEnded:Connect(function(input)
    if not tocando then return end

    local mouseSolto =
        input.UserInputType == Enum.UserInputType.MouseButton1

    local toqueSolto =
        input.UserInputType == Enum.UserInputType.Touch
        and input == inputAtivo

    if not mouseSolto and not toqueSolto then
        return
    end

    if not arrastando then
        menu.Visible = not menu.Visible
    end

    tocando = false
    arrastando = false
    inputAtivo = nil
end)

--==================================================
-- PERSONAGEM
--==================================================

local function onCharacterAdded(character)
    stopFly()

    local humanoid = character:WaitForChild("Humanoid")
    humanoid.Died:Connect(stopFly)
end

LP.CharacterAdded:Connect(onCharacterAdded)

if LP.Character then
    onCharacterAdded(LP.Character)
end

--==================================================
-- BRILHO ANIMADO
--==================================================

RunService.RenderStepped:Connect(function()
    local pulse = math.abs(math.sin(os.clock() * 3))
    brilho.Thickness = 6 + pulse * 2
    brilho.Transparency = 0.3 + pulse * 0.35
end)

print("DEXTROLL carregado! Salute R6 adicionado em TOOLS.")

How to Execute Universal Script – Dextroll

Step 1: Copy Code: Click the Copy Code button in the viewer above to grab the clean Lua loadstring.

Step 2: Launch Executor: Open a compatible, unpatched executor. If you need one, check our Roblox Executors Directory.

Step 3: Join Experience: Launch Roblox and join Universal Script.

Step 4: Attach & Run: Attach/inject your executor into the Roblox process, paste the code into the script tab, and press Execute.

Created By

Numero_Modifield
Numero_Modifield
Script User
View Author Profile

Features & Information

Execute Universal Script – Dextroll. Key system required, created by Numero_Modifield, updated Oct 21, 2026. Tested and working on supported executors.

Script Changelog (1)

@Numero_ModifieldOct 21, 2026

Create script

Community Comments (0)

No comments yet for this script.

Frequently Asked Questions

How do I execute Universal Script – Dextroll in Roblox?

To run Universal Script – Dextroll, copy the Lua loadstring from the code viewer above, launch Roblox and join Universal Script, attach a working executor (such as Potassium, Solara, or Delta from our Executors directory), paste the code into your executor console, and click Execute.

Is Universal Script – Dextroll keyless or does it require an access key?

Universal Script – Dextroll requires an access key. You can retrieve the official key directly using the Get Script Key link provided above.

Is Universal Script – Dextroll currently safe and working?

This script is active and operational. Always test scripts using a secondary (alt) Roblox account to safeguard your main profile against anti-cheat bans.