rblxscripts.net
search
/
homeHomelocal_fire_departmentScriptssports_esportsGameslibrary_booksHubsbuildExecutors & Tools
TermsPrivacyDiscordAPI
© 2026 rblxscripts.net
Script No Key Ragdoll Physics ANON | Gamepasses & Sandbox
code
Open Source
smartphone
Mobile Friendly
Ragdoll Physicsgroup32.7K playing

Script No Key Ragdoll Physics ANON | Gamepasses & Sandbox

by
SHARP
1515
Play
visibility376 viewsscheduleCreated 17 hours ago
4
Play game
Swipe to scroll
local Players = game:GetService("Players")
local UserInputService = game:GetService("UserInputService")
local TweenService = game:GetService("TweenService")
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local Shooter = ReplicatedStorage:WaitForChild("Shooter", 20)

local LP = Players.LocalPlayer
local GEN = (rawget(_G, "ANON_SHOOTER_GEN") or 0) + 1
rawset(_G, "ANON_SHOOTER_GEN", GEN)

local function alive()
    return rawget(_G, "ANON_SHOOTER_GEN") == GEN
end

local S = { gp = false, sb = false, passes = 0, err = "" }
local O = {}
local pass
local tearing = false

local function req(name)
    local inst = Shooter and Shooter:FindFirstChild(name)
    if not inst then
        return nil
    end
    local ok, m = pcall(require, inst)
    if ok and type(m) == "table" then
        return m
    end
    return nil
end

local function find_pass()
    -- the shared ctx table every panel module keeps holds the game's own pass object
    local order = { "MinigunTrial", "WeaponsPanel", "SandboxPanel", "HUD", "SideBar", "MainMenu", "Sandbox", "TracerPass" }
    for _, name in ipairs(order) do
        local m = req(name)
        if m then
            for _, fn in pairs(m) do
                if type(fn) == "function" then
                    for i = 1, 40 do
                        local ok, v = pcall(debug.getupvalue, fn, i)
                        if not ok then
                            break
                        end
                        if type(v) == "table" then
                            local c = rawget(v, "ctx")
                            if type(c) == "table" then
                                local p = rawget(c, "pass")
                                if type(p) == "table" and type(rawget(p, "isOwned")) == "function" then
                                    return p
                                end
                            end
                        end
                    end
                end
            end
        end
    end
    return nil
end

local function persist()
    if tearing then
        return
    end
    pcall(function()
        workspace:SetAttribute("ANON_GP", S.gp)
        workspace:SetAttribute("ANON_SB", S.sb)
    end)
end

local function apply_gp(on)
    pass = pass or find_pass()
    if pass then
        if on then
            if not O.is_owned then
                O.is_owned = pass.isOwned
            end
            pass.isOwned = function()
                return true
            end
        elseif O.is_owned then
            pass.isOwned = O.is_owned
        end
    end

    local gate = req("PassGate")
    if gate then
        if on then
            if not O.gate then
                O.gate = { wait = gate.wait, owned = gate.owned, confirm = gate.confirm }
            end
            gate.wait = function()
                return true
            end
            gate.owned = function()
                return true
            end
            gate.confirm = function()
                return true
            end
        elseif O.gate then
            gate.wait, gate.owned, gate.confirm = O.gate.wait, O.gate.owned, O.gate.confirm
        end
    end

    local tracer = req("TracerPass")
    if tracer and type(tracer.isOwned) == "function" then
        if on then
            if not O.tracer then
                O.tracer = tracer.isOwned
            end
            tracer.isOwned = function()
                return true
            end
        elseif O.tracer then
            tracer.isOwned = O.tracer
        end
    end

    S.gp = on
    S.passes = on and 7 or 0
    persist()
end

local function apply_sb(on)
    local sandbox = req("Sandbox")
    if sandbox then
        pcall(sandbox.forceOwned, on)
        pcall(sandbox.setActive, on)
        S.sb = on and sandbox.active == true
    end
    persist()
end

local COL = {
    bg = Color3.fromRGB(17, 19, 23),
    panel = Color3.fromRGB(25, 28, 34),
    line = Color3.fromRGB(48, 53, 64),
    text = Color3.fromRGB(228, 233, 241),
    dim = Color3.fromRGB(128, 136, 151),
    accent = Color3.fromRGB(255, 59, 92),
    on = Color3.fromRGB(61, 220, 132),
    off = Color3.fromRGB(40, 44, 54),
}
local FONT = Enum.Font.GothamBold
local W = 216
local H_HEAD = 30
local ROW_H = 28
local H_FOOT = 18
local H_OPEN = H_HEAD + ROW_H * 2 + H_FOOT + 8

local gui
local frame
local body
local chevron
local footer
local rows = {}
local open = true

local function label(parent, text, size, color, x, y, w, h)
    local t = Instance.new("TextLabel")
    t.BackgroundTransparency = 1
    t.Text = text
    t.Font = FONT
    t.TextSize = size
    t.TextColor3 = color
    t.TextXAlignment = Enum.TextXAlignment.Left
    t.TextYAlignment = Enum.TextYAlignment.Center
    t.Position = UDim2.fromOffset(x, y)
    t.Size = UDim2.fromOffset(w, h)
    t.Parent = parent
    return t
end

local function tween(inst, props)
    TweenService:Create(inst, TweenInfo.new(0.16, Enum.EasingStyle.Quad, Enum.EasingDirection.Out), props):Play()
end

local function refresh()
    for key, row in pairs(rows) do
        local on = S[key] == true
        row.track.BackgroundColor3 = on and COL.on or COL.off
        tween(row.knob, { Position = UDim2.fromOffset(on and 18 or 3, 3) })
        row.label.TextColor3 = on and COL.text or COL.dim
        row.dot.BackgroundColor3 = on and COL.on or COL.off
    end
    if footer then
        footer.Text = S.gp and ("GAMEPASSES " .. S.passes .. " · SANDBOX " .. (S.sb and "ON" or "OFF")) or "idle"
        footer.TextColor3 = (S.gp or S.sb) and COL.dim or COL.off
    end
    if gui then
        gui:SetAttribute("gp", S.gp)
        gui:SetAttribute("sb", S.sb)
    end
end

local function add_row(y, text, key, setter)
    local row = Instance.new("TextButton")
    row.Name = "row_" .. key
    row.BackgroundTransparency = 1
    row.BorderSizePixel = 0
    row.AutoButtonColor = false
    row.Text = ""
    row.Position = UDim2.fromOffset(8, y)
    row.Size = UDim2.new(1, -16, 0, ROW_H)
    row.Parent = body

    local dot = Instance.new("Frame")
    dot.BackgroundColor3 = COL.off
    dot.BorderSizePixel = 0
    dot.Position = UDim2.fromOffset(2, ROW_H / 2 - 3)
    dot.Size = UDim2.fromOffset(6, 6)
    dot.Parent = row
    local dot_corner = Instance.new("UICorner")
    dot_corner.CornerRadius = UDim.new(0.5, 0)
    dot_corner.Parent = dot

    local lab = label(row, text, 11, COL.dim, 14, 0, 130, ROW_H)

    local track = Instance.new("Frame")
    track.BackgroundColor3 = COL.off
    track.BorderSizePixel = 0
    track.AnchorPoint = Vector2.new(1, 0.5)
    track.Position = UDim2.new(1, -2, 0.5, 0)
    track.Size = UDim2.fromOffset(34, 18)
    track.Parent = row
    local track_corner = Instance.new("UICorner")
    track_corner.CornerRadius = UDim.new(0.5, 0)
    track_corner.Parent = track

    local knob = Instance.new("Frame")
    knob.BackgroundColor3 = Color3.fromRGB(236, 240, 246)
    knob.BorderSizePixel = 0
    knob.Position = UDim2.fromOffset(3, 3)
    knob.Size = UDim2.fromOffset(12, 12)
    knob.Parent = track
    local knob_corner = Instance.new("UICorner")
    knob_corner.CornerRadius = UDim.new(0.5, 0)
    knob_corner.Parent = knob

    rows[key] = { label = lab, dot = dot, track = track, knob = knob }

    row.MouseButton1Click:Connect(function()
        if not alive() then
            return
        end
        setter(not S[key])
        refresh()
    end)
end

local drag = { active = false, moved = false, start = Vector2.zero, abs = Vector2.zero }
local dragged = false

local function viewport()
    local cam = workspace.CurrentCamera
    return cam and cam.ViewportSize or Vector2.new(1920, 1080)
end

local function clamp_topleft(pos, size)
    local view = viewport()
    return Vector2.new(
        math.clamp(pos.X, 0, math.max(0, view.X - size.X)),
        math.clamp(pos.Y, 0, math.max(0, view.Y - size.Y))
    )
end

local function set_open(state)
    open = state
    body.Visible = open
    chevron.Text = open and "▾" or "▸"
    local h = open and H_OPEN or H_HEAD
    if dragged then
        local p = clamp_topleft(Vector2.new(frame.Position.X.Offset, frame.Position.Y.Offset), Vector2.new(W, h))
        frame.Position = UDim2.fromOffset(p.X, p.Y)
    end
    tween(frame, { Size = UDim2.fromOffset(W, h) })
end

local function build()
    local pg = LP:FindFirstChild("PlayerGui") or LP:WaitForChild("PlayerGui")
    for _, c in ipairs(pg:GetChildren()) do
        if c:IsA("ScreenGui") and c.Name == "ANON_Shooter" then
            c:Destroy()
        end
    end

    gui = Instance.new("ScreenGui")
    gui.Name = "ANON_Shooter"
    gui.ResetOnSpawn = false
    gui.IgnoreGuiInset = true
    gui.DisplayOrder = 200
    gui.ZIndexBehavior = Enum.ZIndexBehavior.Sibling
    gui.Parent = pg

    frame = Instance.new("Frame")
    frame.Name = "Panel"
    frame.BackgroundColor3 = COL.panel
    frame.BorderSizePixel = 0
    frame.ClipsDescendants = true
    frame.AnchorPoint = Vector2.new(0.5, 0.5)
    frame.Position = UDim2.fromScale(0.5, 0.5)
    frame.Size = UDim2.fromOffset(W, H_OPEN)
    frame.Parent = gui
    local fc = Instance.new("UICorner")
    fc.CornerRadius = UDim.new(0, 8)
    fc.Parent = frame
    local fs = Instance.new("UIStroke")
    fs.Color = COL.line
    fs.Thickness = 1
    fs.Parent = frame

    local head = Instance.new("TextButton")
    head.Name = "Head"
    head.BackgroundTransparency = 1
    head.BorderSizePixel = 0
    head.AutoButtonColor = false
    head.Text = ""
    head.Size = UDim2.new(1, 0, 0, H_HEAD)
    head.Parent = frame

    local dot = Instance.new("Frame")
    dot.BackgroundColor3 = COL.accent
    dot.BorderSizePixel = 0
    dot.Position = UDim2.fromOffset(10, H_HEAD / 2 - 3)
    dot.Size = UDim2.fromOffset(6, 6)
    dot.Parent = head
    local dc = Instance.new("UICorner")
    dc.CornerRadius = UDim.new(0.5, 0)
    dc.Parent = dot

    label(head, "ANON", 12, COL.text, 22, 0, 100, H_HEAD)

    chevron = label(head, "▾", 12, COL.dim, W - 26, 0, 16, H_HEAD)
    chevron.TextXAlignment = Enum.TextXAlignment.Center

    body = Instance.new("Frame")
    body.Name = "Body"
    body.BackgroundTransparency = 1
    body.Position = UDim2.fromOffset(0, H_HEAD)
    body.Size = UDim2.fromOffset(W, ROW_H * 2 + H_FOOT + 8)
    body.Parent = frame

    add_row(0, "ALL GAMEPASSES", "gp", apply_gp)
    add_row(ROW_H, "SANDBOX MODE", "sb", apply_sb)

    footer = label(body, "idle", 10, COL.off, 10, ROW_H * 2 + 2, W - 20, H_FOOT)

    head.InputBegan:Connect(function(input)
        if input.UserInputType ~= Enum.UserInputType.MouseButton1 and input.UserInputType ~= Enum.UserInputType.Touch then
            return
        end
        drag.active = true
        drag.moved = false
        drag.start = Vector2.new(input.Position.X, input.Position.Y)
        drag.abs = frame.AbsolutePosition
    end)

    head.MouseButton1Click:Connect(function()
        if drag.moved then
            drag.moved = false
            return
        end
        set_open(not open)
    end)

    UserInputService.InputChanged:Connect(function(input)
        if not drag.active then
            return
        end
        if input.UserInputType ~= Enum.UserInputType.MouseMovement and input.UserInputType ~= Enum.UserInputType.Touch then
            return
        end
        local delta = Vector2.new(input.Position.X, input.Position.Y) - drag.start
        if delta.Magnitude > 4 then
            drag.moved = true
        end
        if drag.moved then
            if not dragged then
                frame.AnchorPoint = Vector2.new(0, 0)
                frame.Position = UDim2.fromOffset(drag.abs.X, drag.abs.Y)
                dragged = true
            end
            local p = clamp_topleft(drag.abs + delta, frame.AbsoluteSize)
            frame.Position = UDim2.fromOffset(p.X, p.Y)
        end
    end)

    UserInputService.InputEnded:Connect(function(input)
        if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch then
            drag.active = false
        end
    end)
end

local function namecall_hook()
    if STATE and STATE.namecallHook then
        return STATE.namecallHook("UserOwnsGamePassAsync", function()
            if S.gp then
                return true
            end
        end)
    end
    local mt = getrawmetatable(game)
    local old = mt.__namecall
    setreadonly(mt, false)
    local hooked
    hooked = newcclosure(function(self, ...)
        if getnamecallmethod() == "UserOwnsGamePassAsync" and S.gp then
            return true
        end
        return old(self, ...)
    end)
    mt.__namecall = hooked
    setreadonly(mt, true)
    return function()
        setreadonly(mt, false)
        if mt.__namecall == hooked then
            mt.__namecall = old
        end
        setreadonly(mt, true)
    end
end

local function teardown()
    tearing = true
    apply_sb(false)
    apply_gp(false)
    if gui then
        gui:Destroy()
        gui = nil
    end
    rawset(getgenv and getgenv() or _G, "ANON_SHOOTER", nil)
end

local function main()
    build()
    namecall_hook()
    refresh()

    local prev_gp = workspace:GetAttribute("ANON_GP") == true
    local prev_sb = workspace:GetAttribute("ANON_SB") == true
    if prev_gp then
        apply_gp(true)
    end
    if prev_sb then
        apply_sb(true)
    end
    refresh()

    local cam = workspace.CurrentCamera
    if cam then
        cam:GetPropertyChangedSignal("ViewportSize"):Connect(function()
            if dragged then
                local p = clamp_topleft(Vector2.new(frame.Position.X.Offset, frame.Position.Y.Offset), frame.AbsoluteSize)
                frame.Position = UDim2.fromOffset(p.X, p.Y)
            else
                frame.Position = UDim2.fromScale(0.5, 0.5)
            end
        end)
    end

    rawset(getgenv and getgenv() or _G, "ANON_SHOOTER", {
        state = S,
        set_gp = function(on)
            apply_gp(on == true)
            refresh()
        end,
        set_sb = function(on)
            apply_sb(on == true)
            refresh()
        end,
        open = function(state)
            set_open(state ~= false)
        end,
        pass = function()
            return pass
        end,
        teardown = teardown,
    })

    print("[ANON] panel ready · pass=" .. tostring(pass ~= nil))
end

if STATE and STATE.onCleanup then
    STATE.onCleanup(teardown)
end

task.spawn(main)

A completely free and keyless script for the Roblox Ragdoll Physics.

Featuring the minimalist ANON GUI, this lightweight script gives you access to premium features and sandbox tools instantly.

No key system required.

Comments 0

No comments yet. Be the first to share your thoughts!

Popular scripts

rblxscripts.net
Venyx • OP Keyless Steal An Egg Script • Auto Steal • Auto Treadmill • And Another features - Steal An Egg
smartphone
Mobile Friendly
41.2K22
25d ago
Steal An Egg

Venyx • OP Keyless Steal An Egg Script • Auto Steal • Auto Treadmill • And Another features

by
PancakeReal
1111
rblxscripts.net
Keyless rblx.rip hub | Auto Runner, Auto Hunt, Auto Dodge Catchers, Visuals! - Huss Valley
8K19
28d ago
Huss Valley

Keyless rblx.rip hub | Auto Runner, Auto Hunt, Auto Dodge Catchers, Visuals!

by
bugxie
Admin
Admin
Verified User
Verified User
2828
rblxscripts.net
Delfi Gifter - Robux Gamepass Gifter & Roblox Plus + ADMIN!! - Universal
code
Open Source
smartphone
Mobile Friendly
22.4K17
8d ago
Universal

Delfi Gifter - Robux Gamepass Gifter & Roblox Plus + ADMIN!!

by
bugxie
Admin
Admin
Verified User
Verified User
2828
rblxscripts.net
OZIOHUB [OPEN SOURCE] | AUTO RUN, AUTO REVIVE, AUTO CHASE, HELPER - Huss Valley
code
Open Source
smartphone
Mobile Friendly
7K17
1mo ago
Huss Valley

OZIOHUB [OPEN SOURCE] | AUTO RUN, AUTO REVIVE, AUTO CHASE, HELPER

by
supa
Verified User
Verified User
1010
rblxscripts.net
keyless 🔥 Serenity Hub — Break & Steal an Egg | Instant Steal, Instant Auto Bat Target, Demon Event - Break and Steal an Egg
smartphone
Mobile Friendly
6K12
1mo ago
Break and Steal an Egg

keyless 🔥 Serenity Hub — Break & Steal an Egg | Instant Steal, Instant Auto Bat Target, Demon Event

by
SerenityHub
88
rblxscripts.net
Op script virex hub keyless auto parry,auto spam,immortality and more! (made by me) Version 1.4.2 - Blade Ball
code
Open Source
smartphone
Mobile Friendly
9K11
1mo ago
Blade Ball

Op script virex hub keyless auto parry,auto spam,immortality and more! (made by me) Version 1.4.2

by
idkbro
66
rblxscripts.net
[OP] Throw Food For Animals | Keyless | Auto Perfect Throw | Auto Buy | Auto Pull Ups | And More - Throw Food For Animals
smartphone
Mobile Friendly
6.1K11
21d ago
Throw Food For Animals

[OP] Throw Food For Animals | Keyless | Auto Perfect Throw | Auto Buy | Auto Pull Ups | And More

by
Zyphor
1313
rblxscripts.net
NemoHub Auto Steal & Auto Farm | Keyless + Mobile! - Throw Food For Animals
smartphone
Mobile Friendly
3.3K11
8d ago
Throw Food For Animals

NemoHub Auto Steal & Auto Farm | Keyless + Mobile!

by
ONE
99
Browse all scripts