Zum Inhalt springen
Funktioniert

Unlock All Open Source

CLclarkdevlinorg0 AufrufeAdopt Me!26. Juli 2026
Teilen
Unlock All Open Source

Script-Code

Lua
run_on_actor(getactors()[1], [[
    local repStorage = game:GetService('ReplicatedStorage')
    local players = game:GetService('Players')

    local localPlayer = players.LocalPlayer 
    local character = localPlayer.Character 

    local knit = require(repStorage.Packages.Knit)
    local items = require(repStorage.Modules.Items)
    local inventory = require(repStorage.Controllers.UIController.Inventory)
    local store = require(repStorage.Controllers.UIController.Store)
    local visuals = require(repStorage.Controllers.VisualController)

    local economy = knit.GetService('EconomyService')
    local data = knit.GetController('DataController').Data 

    local inventoryFrames = localPlayer.PlayerGui.Main.Inventory
    local storeFrames = localPlayer.PlayerGui.Main.Store.StoreFrames 

    local function WaitForChildWhichIsA(self: Instance, ClassName: string)
        while self:FindFirstChildWhichIsA(ClassName) == nil do 
            task.wait()
        end 
    end 

    local storeButtons = {
        Equipped = {
            Text = 'USING',
            Color = ColorSequence.new(Color3.fromRGB(146, 26, 221), Color3.fromRGB(53, 7, 71)),
            Image = 'rbxassetid://16546841553'
        };
        Equip = {
            Text = 'EQUIP',
            Color = ColorSequence.new(Color3.fromRGB(23, 221, 198), Color3.fromRGB(8, 71, 64)),
            Image = 'rbxassetid://16546837268'
        }
    }

    local function unlockAll() 
        local bannerAssets = game.ReplicatedStorage.Assets.Banners 
        local effectAssets = game.ReplicatedStorage.Assets.Effects 
        local dunks = {}

        for dunk, dunkData in next, items.Dunks do 
            dunks[dunk] = false
        end 
        
        local newInventory = {Skins={},Effects={},Banners={},Emotes={}}

        for category, _ in next, newInventory do 
            for item, _ in next, items[category] do 
                newInventory[category][#newInventory[category]+1] = {item, false}
            end 
        end

        for gamepass, _ in next, data.Gamepasses do 
            data.Gamepasses[gamepass] = true
        end 
        data.Prestige = 3

        for dunk, _ in next, items.Dunks do 
            data.Dunks.Owned[dunk] = true
        end 
        
        data.Inventory = newInventory

        local function unequipAll(category: string) 
            for i,v in next, inventoryFrames[category]:GetChildren() do 
                if v:FindFirstChild('Using') then 
                    v.Using.Visible = false 
                end 
            end  
        end 

        inventory:UpdateInventory(newInventory)
        inventory.UpdateInventory = function() end 
        store.UpdateData = function() end 

        local ball = localPlayer.Character:FindFirstChild('Basketball')
        local currentSkin = nil 
        local currentEffect = nil 
        local currentBanner = nil 
        local currentEmote = nil
        local currentDunk = nil

        local function getItemDataByName(category: string, name: string)
            local nigga = nil 

            for i,v in next, items[category] do 
                if v[1] == name then 
                    nigga = v 
                    break 
                end 
            end 

            return nigga
        end 

        local function getRealItemName(category: string, name: string)
            local nigga = nil 
            local nameIdx = 1 
            if category == 'Dunks' then 
                nameIdx = 2 
            end 

            for i,v in next, items[category] do 
                if v[nameIdx] == name then 
                    nigga = i 
                    break 
                end  
            end 

            return nigga
        end 

        local function getMyWorkspaceBall()
            local nigger = nil 

            for i,v in next, workspace:GetChildren() do 
                if v.Name == 'Basketball' and v:GetAttribute('Owner') == localPlayer.UserId then 
                    nigger = v 
                    break 
                end 
            end 
            
            return nigger   
        end 

        local oldEffects = {}
        local oldBallEffects = {} 

        local function applyBallAppearance(name: string)
            for i,v in next, oldEffects do 
                v.Parent = nil   
                v:Destroy()
            end 

            local realName = getRealItemName('Skins', name)
            if not realName then  return end 

            local effects = repStorage.Assets.Ball:FindFirstChild(realName)
            if not effects then return end 

            for _, possibleEffect in next, effects:GetChildren() do 
                if possibleEffect:IsA('ParticleEmitter') then 
                    local newEffect = possibleEffect:Clone() 
                    newEffect.Parent = ball.Attach:FindFirstChildWhichIsA('SpecialMesh')
                    table.insert(oldEffects, newEffect)
                end  
            end  


            if effects:FindFirstChild('CUSTOM_SKIN_HOLDER') then 
                local skinHolder = effects.CUSTOM_SKIN_HOLDER.CUSTOM_SKIN_HOLDER
                
                for _, skinElement in next, skinHolder:GetChildren() do 
                    if skinElement:IsA('MeshPart') then 
                        local newEffect = skinElement:Clone() 
                        local weld = newEffect:FindFirstChildWhichIsA('WeldConstraint')
                        newEffect.CFrame = ball.Attach.CFrame 
                        weld.Part0 = ball.Attach   
                        newEffect.Parent = ball.Attach 
                        table.insert(oldEffects, newEffect)
                    end 
                end  

                if skinHolder:FindFirstChild('AttHolder') then 
                    for _, attEffect in next, skinHolder.AttHolder:GetChildren() do 
                        local newAttEffect = attEffect:Clone() 
                        newAttEffect.Parent = ball.Attach
                        table.insert(oldEffects, newAttEffect)
                    end  
                end  
            end 

            if effects:FindFirstChild('CUSTOM_AURA') then 

                for _, bodyPart in next, effects.CUSTOM_AURA:GetChildren() do 
                    for _, effect in next, bodyPart:GetChildren() do   
                        if effect:IsA('CFrameValue') then 
                            local attachment = Instance.new('Attachment')
                            attachment.Parent = character[bodyPart.Name]
                            attachment.CFrame = effect.Value
                            for _, cfEffect in next, effect:GetChildren() do 
                                local newCfEffect = cfEffect:Clone() 
                                newCfEffect.Parent = attachment 
                                table.insert(oldEffects, newCfEffect)
                            end 
                            continue
                        end 

                        if effect:IsA('BasePart') then 
                            local newPart = effect:Clone()
                            local weld = Instance.new('WeldConstraint')
                            weld.Parent = newPart 
                            newPart.CFrame = character[bodyPart.Name].CFrame * newPart:GetAttribute('Offset')
                            weld.Part0 = character[bodyPart.Name]
                            weld.Part1 = newPart
                            newPart.Parent = character[bodyPart.Name]
                            table.insert(oldEffects, newPart)
                            continue
                        end 

                        local newEffect = effect:Clone()
                        newEffect.Parent = character[bodyPart.Name]
                        table.insert(oldEffects, newEffect)
                    end 
                end   
            end 
        end   
        local sharedUtil = require(game.ReplicatedStorage.Modules.SharedUtil)
        local function applyBallEffects(name: string, basketball: Instance)
            local effectFolder = effectAssets:FindFirstChild(name)
            if not effectFolder then 
                
                return 
            end  
            local basketball = sharedUtil.Ball:GetClosestBall(localPlayer)
            if basketball:FindFirstChildWhichIsA('Trail') then 
                basketball:FindFirstChildWhichIsA('Trail'):Destroy()
            end 
            
            for i,v in next, effectFolder:GetChildren() do 
                if v:IsA('Trail') then 
                    local a = v:Clone() 
                    a.Enabled = true 
                    a.Attachment0 = basketball.A0 
                    a.Attachment1 = basketball.A1
                    a.Parent = basketball
                    table.insert(oldBallEffects, a)
                end 
                if v.Name == 'EffectAtt' then 
                    for _,effect in next, v:GetChildren() do 
                        local newEffect = effect:Clone() 
                        newEffect.Parent = basketball.A0
                        table.insert(oldBallEffects, newEffect)
                    end  
                end  

                if v.Name == 'EffectAtt2' then 
                    for _,effect in next, v:GetChildren() do 
                        local newEffect = effect:Clone() 
                        newEffect.Parent = basketball.A1
                        table.insert(oldBallEffects, newEffect)
                    end  
                end  

                if v:IsA('ParticleEmitter') then 
                    v.Parent = basketball
                    table.insert(oldBallEffects, v)
                end 
            end 
        end 

        local function changeEmote(name: string)
            local realName = getRealItemName('Emotes', name)
            data.Emotes.Equipped = realName
        end 

        local function changeBallSkin(ball: Tool | Part)
            if ball and currentSkin then 
                local skinData = getItemDataByName('Skins', currentSkin)

                if ball.Parent == character then 
                    ball:WaitForChild('Attach')
                end 

                local attach = ball:FindFirstChild('Attach') or ball

                WaitForChildWhichIsA(attach, 'SpecialMesh')
                
                if typeof(skinData[3]) == 'number' then 
                    attach.Transparency = 0
                    attach:FindFirstChildWhichIsA('SpecialMesh').MeshId = 'rbxassetid://14536927547'
                    attach:FindFirstChildWhichIsA('SpecialMesh').TextureId = 'rbxassetid://' .. skinData[3]
                end

                if typeof(skinData[3]) == 'table' then 
                    attach.Transparency = 1
                    attach:FindFirstChildWhichIsA('SpecialMesh').TextureId = ''
                    attach:FindFirstChildWhichIsA('SpecialMesh').MeshId = 'rbxassetid://' .. skinData[4]
                end  

                if ball.Parent == character then 
                    applyBallAppearance(currentSkin)
                end 
            end 
        end 

        local function changeBanner(name: string)
            local bannerName = getRealItemName('Banners', name)
            local newBg = bannerAssets:FindFirstChild(bannerName)
            if not newBg then 
                
                return 
            end

            local infoUi = character.HumanoidRootPart.Info 
            local currentBg = infoUi.BG
            if infoUi:FindFirstChild('Frame') then 
                infoUi.Frame:Destroy()
            end 

            local score = currentBg.Score.Record.Text
            local streak = currentBg.Streak.Title.Text

            currentBg:Destroy() 

            local newBgFrame = newBg.BG:Clone() 
            local newAnimFrame = newBg:FindFirstChild('Frame')
            if newAnimFrame then 
                newAnimFrame = newAnimFrame:Clone()
                newAnimFrame.ZIndex = 0
                newAnimFrame.Parent = infoUi
            end 

            newBgFrame.UsernameBox.Username.Text = localPlayer.Name 
            newBgFrame.Streak.Title.Text = streak 
            newBgFrame.Score.Record.Text = score
            newBgFrame.Parent = infoUi 
        end 

        local function newEquip(category: string, name: string)
            for i,v in next, data[category].Inventory do 
                if v[1] == name then 
                    data[category].Inventory[i][2] = true 
                else 
                    data[category].Inventory[i][2] = false 
                end 
            end  
        end

        for _, category in next, inventoryFrames:GetChildren() do 
            if not newInventory[category.Name] then continue end 
            for _, item in next, category:GetChildren() do 
                if item:IsA('ImageButton') then 
                    if item.Name:match('Model') then continue end 

                    if category.Name == 'Banners' then 
                        local bannerName = getRealItemName('Banners', item.Name)
                        item.Icon.Image = bannerAssets[bannerName].BG.BasicBanner.Image
                    end 

                    hookfunction(getconnections(item.MouseButton1Click)[1].Function, function() end)

                    item.MouseButton1Click:Connect(function()
                        unequipAll(category.Name)
                        newEquip(category.Name, item.Name)
                        item.Using.Visible = true
                        
                        if category.Name == 'Skins' then 
                            currentSkin = item.Name 
                            changeBallSkin(ball)
                        elseif category.Name == 'Emotes' then 
                            currentEmote = item.Name 
                            changeEmote(currentEmote)
                        elseif category.Name == 'Banners' then 
                            currentBanner = item.Name 
                            changeBanner(currentBanner)
                        elseif category.Name == 'Effects' then 
                            currentEffect = item.Name 
                        end 
                    end)
                end 
            end 
        end 

        local dunkInfo = storeFrames.Dunks.Info
        local equipDunkButton = dunkInfo.Buy 
        for _,dunkItem in next, storeFrames.Dunks.List:GetChildren() do 
            if dunkItem:IsA('ImageButton') then 
                hookfunction(getconnections(dunkItem.MouseButton1Click)[1].Function, function()
                    local dunkName = dunkItem.Name 
                    dunkInfo.Title.Text = dunkItem.Title.Text
                    if dunks[dunkName] then 
                        equipDunkButton.UIGradient.Color = storeButtons.Equipped.Color 
                        equipDunkButton.Title.Text = storeButtons.Equipped.Text 
                        equipDunkbutton.Image = storeButtons.Equipped.Image
                    else
                        equipDunkButton.UIGradient.Color = storeButtons.Equip.Color 
                        equipDunkButton.Title.Text = storeButtons.Equip.Text 
                        equipDunkButton.Image = storeButtons.Equip.Image
                    end 
                end)
            end 
        end 

        oldEquipDunk = hookfunction(getconnections(equipDunkButton.MouseButton1Click)[1].Function, function()
            local dunkName = getRealItemName('Dunks', storeFrames.Dunks.Info.Title.Text)

            for dunkState,_ in next, dunks do 
                dunks[dunkState] = false 
            end 
            
            dunks[dunkName] = true
            data.Dunks.Equipped = dunkName 
            equipDunkButton.UIGradient.Color = storeButtons.Equipped.Color 
            equipDunkButton.Title.Text = storeButtons.Equipped.Text 
        end) 

        local function ballAdded()
            character.ChildAdded:Connect(function(ballObj: Tool)
                if ballObj.Name ~= 'Basketball' then return end 

                ball = ballObj 
                if currentSkin then 
                    changeBallSkin(ball)
                end 

                ball.AncestryChanged:Connect(function()
                    for i,v in next, oldEffects do 
                        v.Parent = nil 
                        v:Destroy()
                    end

                    changeBallSkin(getMyWorkspaceBall())
                end) 
            end)
        end

        localPlayer.CharacterAdded:Connect(ballAdded)
        ballAdded()

        character.ChildAdded:Connect(function(ballObj: Tool)
            if ballObj.Name ~= 'Basketball' then return end 

            ball = ballObj 
            if currentSkin then 
                changeBallSkin(ball)
            end 

            ball.AncestryChanged:Connect(function()
                for i,v in next, oldEffects do 
                    v.Parent = nil 
                    v:Destroy()
                end

                changeBallSkin(getMyWorkspaceBall())
            end) 
        end)
        local c = require(game.ReplicatedStorage.Controllers.VisualController.TOOL_Emotes)

        oldEffect = hookfunction(visuals.Effect, function(self, effect, ...)
            local args = {...}

            if effect == 'StartBallEffect' then 
                local effectOwner = args[3]
                if effectOwner == character.HumanoidRootPart then 
                    local effectName = getRealItemName('Effects', currentEffect) or 'Default'
                    args[1] = effectName or 'Default'
                    
                    local ball = sharedUtil.Ball:GetClosestBall(localPlayer)
                    applyBallEffects(effectName, ball)
                    c:Emote(data.Emotes.Equipped)
                end 
            end 

            if effect == 'BallEffect' then 
                local effectBall = args[3]
                if effectBall == sharedUtil.Ball:GetClosestBall(localPlayer) then 
                    for _, effectObj in next, oldBallEffects do 
                        effectObj.Parent = nil 
                        effectObj:Destroy()
                    end 
                    
                    local effectName = getRealItemName('Effects', currentEffect)
                    args[1] = effectName or 'Default'
                end 
            end 

            return oldEffect(self, effect, unpack(args))
        end)
    end

    unlockAll()
]])

Kommentare (0)

Melde an, um an der Unterhaltung teilzunehmen

  • Sei der Erste, der kommentiert.

Häufig gestellte Fragen

Wie verwende ich den Unlock All Open Source-Script?
Kopiere den obigen Code, öffne deinen Roblox-Executor, füge den Code ein und drücke Ausführen, während du im Spiel bist. Die Funktionen werden sofort aktiviert, sobald der Script läuft.
Ist der Unlock All Open Source-Script kostenlos?
Ja. Dieser Script ist völlig kostenlos zu kopieren und zu verwenden. Wenn er ein Schlüsselsystem nutzt, folge dem Link "Schlüssel erhalten", um ihn kostenlos freizuschalten.
Ist der Unlock All Open Source-Script sicher zu verwenden?
Der vollständige Quellcode wird auf dieser Seite angezeigt, damit du genau lesen kannst, was er tut, bevor du ihn ausführst. Verwende immer einen vertrauenswürdigen Executor, und denke daran, dass die Verwendung von Scripts gegen die Nutzungsbedingungen von Roblox verstößt — verwende sie auf eigene Gefahr.
Welcher Executor funktioniert mit Unlock All Open Source?
Dieser Script funktioniert mit den meisten beliebten Roblox-Executoren. Besuche unsere Executor-Seite, um einen vertrauenswürdigen kostenlosen oder kostenpflichtigen Executor für dein Gerät zu finden.
Unlock All Open Source | BloxScripter