Version / Update: v1.0.0
- Download / Script Link
- 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)[ View More ]
auto dismantleauto dismantles desired items and auto collects crystals. Nothing crazy, if it dont work, idk why, cuz works on my end. Just type in local targetItems, what items u want dismantled (and idk how most items are called so figure that out),