Description

This is an open source script and after executing it with xeno you will get auto dismantle option at the top and you can turn that on.

Features

  • + Auto dismantle

Script

Add Xeno Scripts as a preferred source
local RS = game:GetService("ReplicatedStorage")
local EquipSvc = RS.Packages.Knit.Services.EquipmentService
local Players = game:GetService("Players")

-- Items to dismantle
local targetItems = {
    "ShadowSteelGreaves",
    "ShadowSteelChestplate",
    "Your item"
}

local function isTarget(itemType)
    for _, t in ipairs(targetItems) do
        if itemType == t then return true end
    end
    return false
end

-- GUI
local CoreGui = game:GetService("CoreGui")
if CoreGui:FindFirstChild("AutoDismantle") then CoreGui.AutoDismantle:Destroy() end

local gui = Instance.new("ScreenGui", CoreGui)
gui.Name = "AutoDismantle"
gui.ResetOnSpawn = false

local btn = Instance.new("TextButton", gui)
btn.Size = UDim2.new(0, 180, 0, 45)
btn.Position = UDim2.new(0.5, -90, 0, 10)
btn.BackgroundColor3 = Color3.fromRGB(180, 50, 50)
btn.TextColor3 = Color3.new(1, 1, 1)
btn.Font = Enum.Font.GothamBold
btn.TextSize = 16
btn.Text = "Auto Dismantle: OFF"
Instance.new("UICorner", btn).CornerRadius = UDim.new(0, 8)

local statusLabel = Instance.new("TextLabel", gui)
statusLabel.Size = UDim2.new(0, 180, 0, 25)
statusLabel.Position = UDim2.new(0.5, -90, 0, 58)
statusLabel.BackgroundTransparency = 1
statusLabel.TextColor3 = Color3.fromRGB(200, 200, 200)
statusLabel.Font = Enum.Font.Gotham
statusLabel.TextSize = 13
statusLabel.Text = "Waiting..."

local claimLabel = Instance.new("TextLabel", gui)
claimLabel.Size = UDim2.new(0, 180, 0, 25)
claimLabel.Position = UDim2.new(0.5, -90, 0, 83)
claimLabel.BackgroundTransparency = 1
claimLabel.TextColor3 = Color3.fromRGB(0, 200, 150)
claimLabel.Font = Enum.Font.Gotham
claimLabel.TextSize = 13
claimLabel.Text = "Claim: Waiting..."

-- Logic
local enabled = false

btn.MouseButton1Click:Connect(function()
    enabled = not enabled
    btn.Text = "Auto Dismantle: " .. (enabled and "ON" or "OFF")
    btn.BackgroundColor3 = enabled and Color3.fromRGB(50, 180, 50) or Color3.fromRGB(180, 50, 50)
    if not enabled then statusLabel.Text = "Waiting..." claimLabel.Text = "Claim: Waiting..." end
end)

-- Dismantle loop (every 5 seconds)
task.spawn(function()
    while true do
        task.wait(5)
        if not enabled then continue end

        local data = EquipSvc.RF.GetEquipmentData:InvokeServer()
        local items = data.Items
        local count = 0

        for itemId, itemData in pairs(items) do
            if type(itemData) ~= "table" then continue end
            if not itemData.Type then continue end
            if itemData.Equipped == true or itemData.Locked == true then continue end
            if not isTarget(itemData.Type) then continue end

            local result = EquipSvc.RF.Dismantle:InvokeServer({[itemId] = itemData})
            if result then count += 1 end
            task.wait(0.5)
        end

        statusLabel.Text = "Dismantled " .. count .. " | " .. os.date("%H:%M:%S")
    end
end)

-- Claim loop (every 5 minutes)
task.spawn(function()
    while true do
        task.wait(300)
        if not enabled then continue end

        local result = EquipSvc.RF.ClaimPendingDismantleRewards:InvokeServer()
        claimLabel.Text = "Claimed: " .. os.date("%H:%M:%S")
        print("Claim result: " .. tostring(result))
    end
end)
Script worked? 🚀 Boost it to #1 so others find it too.

Comments (0)

Log in to add a comment.