MARVELLOUS PLAYGROUND SCRIPT
Key Required

MARVELLOUS PLAYGROUND SCRIPT

[SPOOKY] Marvellous SmackdownItach1Uch1HaItach1Uch1Ha 5.8K views 2.5K executesUpdated Feb 21, 2026
1.7/ 5(3 votes)
1233% Positive
Lua Script•190 lines (6737 chars)
local Players = game:GetService("Players")
local TweenService = game:GetService("TweenService")
local UIS = game:GetService("UserInputService")
local ReplicatedStorage = game:GetService("ReplicatedStorage")

local LocalPlayer = Players.LocalPlayer
local Character = LocalPlayer.Character or LocalPlayer.CharacterAdded:Wait()
local Root = Character:WaitForChild("HumanoidRootPart")

---------------------------------------------------------------------
-- GUI Setup
---------------------------------------------------------------------
local ScreenGui = Instance.new("ScreenGui")
ScreenGui.Name = "DracoHubScannerV7"
ScreenGui.ResetOnSpawn = false
ScreenGui.Parent = LocalPlayer:WaitForChild("PlayerGui")

local Main = Instance.new("Frame")
Main.Size = UDim2.new(0, 400, 0, 500)
Main.Position = UDim2.new(0.05, 0, 0.2, 0)
Main.BackgroundColor3 = Color3.fromRGB(20, 20, 20)
Main.BorderSizePixel = 0
Main.Parent = ScreenGui

local UIList = Instance.new("UIListLayout")
UIList.SortOrder = Enum.SortOrder.LayoutOrder
UIList.Parent = Main

local Title = Instance.new("TextLabel")
Title.Size = UDim2.new(1, 0, 0, 32)
Title.Text = "DracoHub Character Ability Scanner v7 (Dev)"
Title.BackgroundColor3 = Color3.fromRGB(30, 30, 30)
Title.TextColor3 = Color3.fromRGB(255, 255, 255)
Title.Font = Enum.Font.GothamBold
Title.TextSize = 18
Title.Parent = Main

local Scroll = Instance.new("ScrollingFrame")
Scroll.Size = UDim2.new(1, 0, 1, -32)
Scroll.CanvasSize = UDim2.new(0, 0, 0, 0)
Scroll.ScrollBarThickness = 4
Scroll.BackgroundTransparency = 1
Scroll.Parent = Main

local List = Instance.new("UIListLayout")
List.SortOrder = Enum.SortOrder.LayoutOrder
List.Padding = UDim.new(0, 4)
List.Parent = Scroll

---------------------------------------------------------------------
-- Draggable Window
---------------------------------------------------------------------
local dragging, dragStart, startPos
Main.InputBegan:Connect(function(input)
    if input.UserInputType == Enum.UserInputType.MouseButton1 then
        dragging = true
        dragStart = input.Position
        startPos = Main.Position
    end
end)

Main.InputEnded:Connect(function(input)
    if input.UserInputType == Enum.UserInputType.MouseButton1 then
        dragging = false
    end
end)

UIS.InputChanged:Connect(function(input)
    if dragging and input.UserInputType == Enum.UserInputType.MouseMovement then
        local delta = input.Position - dragStart
        Main.Position = UDim2.new(
            startPos.X.Scale,
            startPos.X.Offset + delta.X,
            startPos.Y.Scale,
            startPos.Y.Offset + delta.Y
        )
    end
end)

---------------------------------------------------------------------
-- UI Helpers
---------------------------------------------------------------------
local function MakeButton(text, callback)
    local B = Instance.new("TextButton")
    B.Size = UDim2.new(1, -6, 0, 28)
    B.BackgroundColor3 = Color3.fromRGB(40, 40, 40)
    B.TextColor3 = Color3.fromRGB(255, 255, 255)
    B.Font = Enum.Font.Gotham
    B.TextSize = 14
    B.Text = text
    B.AutoButtonColor = true
    B.Parent = Scroll
    B.MouseButton1Click:Connect(callback or function() end)
    return B
end

local function MakeCategory(label)
    local L = Instance.new("TextLabel")
    L.Size = UDim2.new(1, -6, 0, 24)
    L.BackgroundColor3 = Color3.fromRGB(50, 20, 80)
    L.TextColor3 = Color3.fromRGB(255, 255, 255)
    L.Font = Enum.Font.GothamBold
    L.TextSize = 14
    L.Text = "== " .. label .. " =="
    L.Parent = Scroll
    return L
end

---------------------------------------------------------------------
-- Character Ability Scanner
---------------------------------------------------------------------
local function ScanCharacterAbilities()
    MakeCategory("CHARACTER ABILITIES")

    local charactersFolder = ReplicatedStorage:FindFirstChild("Characters")
    if not charactersFolder then
        MakeButton("[ERROR] No ReplicatedStorage.Characters folder found", function() end)
        warn("[Scanner] No Characters folder in ReplicatedStorage")
        return
    end

    for _, characterFolder in ipairs(charactersFolder:GetChildren()) do
        -- Accept Folder or Model as character container
        if characterFolder:IsA("Folder") or characterFolder:IsA("Model") then
            MakeCategory(characterFolder.Name)

            local remotesFolder = characterFolder:FindFirstChild("Remotes")
            if not remotesFolder then
                MakeButton("[NO REMOTES] " .. characterFolder.Name, function() end)
            else
                local any = false
                for _, remote in ipairs(remotesFolder:GetChildren()) do
                    if remote:IsA("RemoteEvent") then
                        any = true
                        local abilityName = remote.Name

                        MakeButton("[ABILITY] " .. abilityName, function()
                            -- Equivalent to:
                            -- game:GetService("ReplicatedStorage")
                            --   :WaitForChild("Characters")
                            --   :WaitForChild(characterFolder.Name)
                            --   :WaitForChild("Remotes")
                            --   :WaitForChild(abilityName)
                            --   :FireServer()
                            remote:FireServer()
                            print("Fired ability:", characterFolder.Name, abilityName)
                        end)
                    end
                end

                if not any then
                    MakeButton("[NO REMOTEEVENTS] " .. characterFolder.Name, function() end)
                end
            end
        end
    end
end

---------------------------------------------------------------------
-- Refresh
---------------------------------------------------------------------
local function Refresh()
    for _, child in ipairs(Scroll:GetChildren()) do
        if child:IsA("TextButton") or child:IsA("TextLabel") then
            child:Destroy()
        end
    end

    ScanCharacterAbilities()

    task.wait()
    Scroll.CanvasSize = UDim2.new(0, 0, 0, List.AbsoluteContentSize.Y + 20)
end

Refresh()

print("[DracoHub Character Ability Scanner v7] Loaded.")
---------------------------------------------------------------------
-- MOUSE UNLOCK FIX (WORKS AFTER ESC MENU CLOSES)
---------------------------------------------------------------------
local UIS = game:GetService("UserInputService")
local RunService = game:GetService("RunService")

RunService.RenderStepped:Connect(function()
    -- If your GUI is visible, force mouse to be free
    if ScreenGui.Enabled then
        UIS.MouseBehavior = Enum.MouseBehavior.Default
        UIS.MouseIconEnabled = true
    end
end)

Features & Information

Gives you a list of all the characters and all their moves. *DISCLAIMER* Some moves won't work The script is still op any move that does work you can spam it with no cooldown! IF YOU SPAM THE MOVE TOO MUCH OR ITS A SPECIFIC MOVE THE GAME WILL KICK YOU! I CUSTOMZIED THE SCRIPT TO WHERE IT UNLOCKS YOUR MOUSE ITS ANNOYING, I KNOW :/. ENJOY I GUESS

Community Comments (4)

6nnn6nnnFeb 21, 2026

only for mobile

Replying to @6nnn
Itach1Uch1HaItach1Uch1HaFeb 21, 2026

@6nnn it should work for pc to i just used it today

Replying to @Itach1Uch1Ha
6nnn6nnnFeb 21, 2026

@Itach1Uch1Ha ye but is so hard to unshiftlock to make a move

Replying to @Itach1Uch1Ha
kaysonthomas6790kaysonthomas6790Mar 31, 2026

@Itach1Uch1Ha like 6nn said pls fix this

More Scripts for [SPOOKY] Marvellous Smackdown