Unlock All
Key Required

Unlock All

[CURSOR TRAIL!] Sound Space 🎶 Rhythm Gameghfrgrq8y7tr4q32y7r7ghfrgrq8y7tr4q32y7r7 1.7K views 786 executesUpdated Mar 15, 2026
5.0/ 5(2 votes)
20100% Positive
Lua Script•180 lines (7545 chars)
setthreadidentity(2)
local xkqw9m3vbn = game.Players.LocalPlayer
local jf7tz2rkpq = require(game.ReplicatedFirst.Modules.Data.Player)
local bv8nm4wxcs = require(game.ReplicatedFirst.Modules.GameManager.Run)
local hy6qp1nzdt = require(game.ReplicatedStorage.ContentModule)
local rk3wm9bxfj = require(game.ReplicatedFirst.Modules.Util.Cursor)

repeat task.wait() until hy6qp1nzdt.Items and hy6qp1nzdt.Prices

local tz9fn2vcxq = jf7tz2rkpq:AwaitData()
local gw4mk7rbpn = {}
local qz8xv3hmtk
local dn5rb9wtfc, pj2kn8mxvz, uc7qb4zwtm, lh3xt6ynfp, nm9wk2vbqr

dn5rb9wtfc = hookfunction(bv8nm4wxcs._setUp, newcclosure(function(vf6qx8rnjt, yk4mb3wzpq)
    if tz9fn2vcxq and tz9fn2vcxq.Inventory then
        vf6qx8rnjt.SpecInfo.CursorColor = tz9fn2vcxq.Inventory.CursorColors.Equipped or vf6qx8rnjt.SpecInfo.CursorColor
        vf6qx8rnjt.SpecInfo.BlockMesh = tz9fn2vcxq.Inventory.BlockMeshes.Equipped or vf6qx8rnjt.SpecInfo.BlockMesh
        vf6qx8rnjt.SpecInfo.BlockColor = tz9fn2vcxq.Inventory.BlockColors.Equipped or vf6qx8rnjt.SpecInfo.BlockColor
        vf6qx8rnjt.SpecInfo.NoteEffect = tz9fn2vcxq.Inventory.NoteEffects.Equipped or vf6qx8rnjt.SpecInfo.NoteEffect
        vf6qx8rnjt.SpecInfo.MissSound = tz9fn2vcxq.Inventory.MissSounds.Equipped or vf6qx8rnjt.SpecInfo.MissSound
        vf6qx8rnjt.SpecInfo.HitSound = tz9fn2vcxq.Inventory.HitSounds.Equipped or vf6qx8rnjt.SpecInfo.HitSound
        vf6qx8rnjt.SpecInfo.Space = tz9fn2vcxq.Inventory.Spaces.Equipped or vf6qx8rnjt.SpecInfo.Space
    end
    return dn5rb9wtfc(vf6qx8rnjt, yk4mb3wzpq)
end))

local xr5qb8nvkm = getmetatable(jf7tz2rkpq).__index

pj2kn8mxvz = hookfunction(xr5qb8nvkm.GetData, newcclosure(function(wn7qx3tbmf, cz4rb9vkpx)
    local hq6xt2wnbm = pj2kn8mxvz(wn7qx3tbmf, cz4rb9vkpx)
    if hq6xt2wnbm then
        hq6xt2wnbm.Inventory = tz9fn2vcxq.Inventory
        hq6xt2wnbm.Settings = tz9fn2vcxq.Settings
        hq6xt2wnbm.MemberExpire = tz9fn2vcxq.MemberExpire
    end
    return hq6xt2wnbm
end))

uc7qb4zwtm = hookfunction(xr5qb8nvkm.AwaitData, newcclosure(function(wn7qx3tbmf)
    local hq6xt2wnbm = uc7qb4zwtm(wn7qx3tbmf)
    if hq6xt2wnbm then
        hq6xt2wnbm.Inventory = tz9fn2vcxq.Inventory
        hq6xt2wnbm.Settings = tz9fn2vcxq.Settings
        hq6xt2wnbm.MemberExpire = tz9fn2vcxq.MemberExpire
    end
    return hq6xt2wnbm
end))

lh3xt6ynfp = hookfunction(xr5qb8nvkm.HasSSM, newcclosure(function()
    return true
end))

local function bm9wq5txkr(fj4nz8vxqb)
    if type(fj4nz8vxqb) ~= 'table' then return fj4nz8vxqb end
    local kp7xt3wnbm = {}
    for qv2mb9fxzn, ry5kn4wqtx in next, fj4nz8vxqb, nil do
        kp7xt3wnbm[bm9wq5txkr(qv2mb9fxzn)] = bm9wq5txkr(ry5kn4wqtx)
    end
    setmetatable(kp7xt3wnbm, bm9wq5txkr(getmetatable(fj4nz8vxqb)))
    return kp7xt3wnbm
end

local function zx3qn7wmbt(nv6rk9xtbq, wf8qm4znkx)
    if not hy6qp1nzdt.Items[wf8qm4znkx] then return end
    local yt5nb8vxmq = wf8qm4znkx == "Maps" and nv6rk9xtbq[wf8qm4znkx] or (nv6rk9xtbq[wf8qm4znkx] and nv6rk9xtbq[wf8qm4znkx].Owned)
    if not yt5nb8vxmq then return end
    for xb4qm7nzwk in pairs(hy6qp1nzdt.Items[wf8qm4znkx]) do
        if type(xb4qm7nzwk) == "number" and not table.find(yt5nb8vxmq, xb4qm7nzwk) then
            table.insert(yt5nb8vxmq, xb4qm7nzwk)
        end
    end
end

local cw6qx9bnmk = {}

if tz9fn2vcxq and tz9fn2vcxq.Inventory then
    gw4mk7rbpn = bm9wq5txkr(tz9fn2vcxq)
    for _, hj3nq8vxbt in ipairs(tz9fn2vcxq.Inventory.Maps) do
        cw6qx9bnmk[hj3nq8vxbt] = true
    end
    local rp9wn5bxtq = {"BlockColors","CursorColors","BlockMeshes","HitSounds","MissSounds","NoteEffects","Spaces","Nameplates","CursorIcons","Maps"}
    for _, qk7mb4xznw in ipairs(rp9wn5bxtq) do
        zx3qn7wmbt(tz9fn2vcxq.Inventory, qk7mb4xznw)
    end
end

for _, v in next, getgc(true) do
    if typeof(v) == 'table' and rawget(v, "MemberExpire") then
        v.MemberExpire = 9e9
    end
end

for _, v in ipairs(getgc()) do
    if typeof(v) == 'function' and getinfo(v).name == "OnPlayerDataUpdated" then
        qz8xv3hmtk = v
    end
end

if qz8xv3hmtk and tz9fn2vcxq and gw4mk7rbpn then
    qz8xv3hmtk(tz9fn2vcxq, nil, gw4mk7rbpn, nil)
end

for _, v in ipairs(getgc(true)) do
    if typeof(v) == 'table' and rawget(v, "TryStartGame") then
        local mv5xq8bnwk = v.TryStartGame
        v.TryStartGame = function(fq3nb7xwzm, dh9xk2vbtq, ...)
            if fq3nb7xwzm and fq3nb7xwzm > 0 and not cw6qx9bnmk[fq3nb7xwzm] and hy6qp1nzdt.Items.Maps and hy6qp1nzdt.Items.Maps[fq3nb7xwzm] then
                local wt6qx4bnmk = hy6qp1nzdt.Items.Maps[fq3nb7xwzm]
                dh9xk2vbtq = {
                    Data = wt6qx4bnmk.Data,
                    Name = wt6qx4bnmk.Name,
                    Mapper = wt6qx4bnmk.Mapper,
                    Difficulty = wt6qx4bnmk.Difficulty,
                    Rarity = wt6qx4bnmk.Rarity or 0,
                    Paid = false,
                    Icon = wt6qx4bnmk.Icon or "",
                }
                fq3nb7xwzm = -1
            end
            return mv5xq8bnwk(fq3nb7xwzm, dh9xk2vbtq, ...)
        end
        break
    end
end

local function kn4wq7xbmz()
    if not tz9fn2vcxq or not tz9fn2vcxq.Settings then return end
    local vb8qx3nwmk = hy6qp1nzdt.Items.CursorIcons and hy6qp1nzdt.Items.CursorIcons[tz9fn2vcxq.Inventory.CursorIcons.Equipped]
    local xt5mb9nwqk = tz9fn2vcxq.Settings.CursorIcon
    local qr7nx4bwzm = (xt5mb9nwqk and xt5mb9nwqk ~= 2666475169) and xt5mb9nwqk or (vb8qx3nwmk and vb8qx3nwmk.Icon or 2666475169)
    for _, jm6qx9bntw in ipairs(xkqw9m3vbn.PlayerGui:GetChildren()) do
        if jm6qx9bntw:IsA("SurfaceGui") and jm6qx9bntw.Name == "GUI" then
            local wz4qn8bxmk = jm6qx9bntw:FindFirstChild("ImageLabel")
            if wz4qn8bxmk then
                wz4qn8bxmk.Image = "rbxthumb://type=Asset&id=" .. qr7nx4bwzm .. "&w=420&h=420&fmt=png"
            end
        end
    end
    if tz9fn2vcxq.Settings.CursorTrail then rk3wm9bxfj:Trail("GUI") end
end

nm9wk2vbqr = hookmetamethod(game, '__namecall', function(self, ...)
    local fy8qx3nwbm = getnamecallmethod()
    if fy8qx3nwbm == 'InvokeServer' then
        if self.Name == 'Equip' then
            local hk7qb4xnwm = {...}
            local pt3nx8wbqm = tz9fn2vcxq.Inventory[hk7qb4xnwm[1]]
            if pt3nx8wbqm then pt3nx8wbqm.Equipped = hk7qb4xnwm[2] or 1 end
            local zv5qx9nbwm = nm9wk2vbqr(self, ...)
            task.defer(function()
                if qz8xv3hmtk then qz8xv3hmtk(tz9fn2vcxq, nil, tz9fn2vcxq, nil) end
                kn4wq7xbmz()
            end)
            return zv5qx9nbwm
        end
        if self.Name == 'Setting' then
            local hk7qb4xnwm = {...}
            local xb9qn3wmkz, ry6qt4bnwx = hk7qb4xnwm[1], hk7qb4xnwm[2]
            if tz9fn2vcxq and tz9fn2vcxq.Settings then
                if ry6qt4bnwx == nil then
                    tz9fn2vcxq.Settings[xb9qn3wmkz] = not tz9fn2vcxq.Settings[xb9qn3wmkz]
                elseif xb9qn3wmkz == 'CursorIcon' or xb9qn3wmkz == 'AvatarIcon' then
                    tz9fn2vcxq.Settings[xb9qn3wmkz] = tonumber(ry6qt4bnwx) or ry6qt4bnwx
                else
                    tz9fn2vcxq.Settings[xb9qn3wmkz] = ry6qt4bnwx
                end
            end
            task.defer(function()
                if qz8xv3hmtk then qz8xv3hmtk(tz9fn2vcxq, nil, tz9fn2vcxq, nil) end
                kn4wq7xbmz()
            end)
            return nm9wk2vbqr(self, xb9qn3wmkz, tz9fn2vcxq.Settings[xb9qn3wmkz])
        end
    end
    return nm9wk2vbqr(self, ...)
end)

task.defer(kn4wq7xbmz)
setthreadidentity(8)

Features & Information

unlock all notes, note colors, songs, cursors, banners, etc just a reminder, it WILL error the first time u execute just execute again and it will be fine. CLIENT SIDE -- stop commenting omg other people cant see it, NO SHIT, this is for people who play better when they have different cosmetics executer must support setthreadidentity, hookfunction and more so more than likely only paid executers or velocity. thanks.

Community Comments (0)

No comments yet for this script.

More Scripts for [CURSOR TRAIL!] Sound Space 🎶 Rhythm Game