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)auto dismantle script for Slay a Slime RPG
just set the items u want in targetItems and it’ll dismantle them + auto collect crystals on its own
nothing too fancy, just works. if it doesn’t, probably item name issue so check that
No comments yet. Be the first to comment!
1local RS = game:GetService("ReplicatedStorage")
2local EquipSvc = RS.Packages.Knit.Services.EquipmentService
3local Players = game:GetService("Players")
4
5-- Items to dismantle
6local targetItems = {
7 "ShadowSteelGreaves",
8 "ShadowSteelChestplate",
9 "Your item"
10}
11
12local function isTarget(itemType)
13 for _, t in ipairs(targetItems) do
14 if itemType == t then return true end
15 end
16 return false
17end
18
19-- GUI
20local CoreGui = game:GetService("CoreGui")
21if CoreGui:FindFirstChild("AutoDismantle") then CoreGui.AutoDismantle:Destroy() end
22
23local gui = Instance.new("ScreenGui", CoreGui)
24gui.Name = "AutoDismantle"
25gui.ResetOnSpawn = false
26
27local btn = Instance.new("TextButton", gui)
28btn.Size = UDim2.new(0, 180, 0, 45)
29btn.Position = UDim2.new(0.5, -90, 0, 10)
30btn.BackgroundColor3 = Color3.fromRGB(180, 50, 50)
31btn.TextColor3 = Color3.new(1, 1, 1)
32btn.Font = Enum.Font.GothamBold
33btn.TextSize = 16
34btn.Text = "Auto Dismantle: OFF"
35Instance.new("UICorner", btn).CornerRadius = UDim.new(0, 8)
36
37local statusLabel = Instance.new("TextLabel", gui)
38statusLabel.Size = UDim2.new(0, 180, 0, 25)
39statusLabel.Position = UDim2.new(0.5, -90, 0, 58)
40statusLabel.BackgroundTransparency = 1
41statusLabel.TextColor3 = Color3.fromRGB(200, 200, 200)
42statusLabel.Font = Enum.Font.Gotham
43statusLabel.TextSize = 13
44statusLabel.Text = "Waiting..."
45
46local claimLabel = Instance.new("TextLabel", gui)
47claimLabel.Size = UDim2.new(0, 180, 0, 25)
48claimLabel.Position = UDim2.new(0.5, -90, 0, 83)
49claimLabel.BackgroundTransparency = 1
50claimLabel.TextColor3 = Color3.fromRGB(0, 200, 150)
51claimLabel.Font = Enum.Font.Gotham
52claimLabel.TextSize = 13
53claimLabel.Text = "Claim: Waiting..."
54
55-- Logic
56local enabled = false
57
58btn.MouseButton1Click:Connect(function()
59 enabled = not enabled
60 btn.Text = "Auto Dismantle: " .. (enabled and "ON" or "OFF")
61 btn.BackgroundColor3 = enabled and Color3.fromRGB(50, 180, 50) or Color3.fromRGB(180, 50, 50)
62 if not enabled then statusLabel.Text = "Waiting..." claimLabel.Text = "Claim: Waiting..." end
63end)
64
65-- Dismantle loop (every 5 seconds)
66task.spawn(function()
67 while true do
68 task.wait(5)
69 if not enabled then continue end
70
71 local data = EquipSvc.RF.GetEquipmentData:InvokeServer()
72 local items = data.Items
73 local count = 0
74
75 for itemId, itemData in pairs(items) do
76 if type(itemData) ~= "table" then continue end
77 if not itemData.Type then continue end
78 if itemData.Equipped == true or itemData.Locked == true then continue end
79 if not isTarget(itemData.Type) then continue end
80
81 local result = EquipSvc.RF.Dismantle:InvokeServer({[itemId] = itemData})
82 if result then count += 1 end
83 task.wait(0.5)
84 end
85
86 statusLabel.Text = "Dismantled " .. count .. " | " .. os.date("%H:%M:%S")
87 end
88end)
89
90-- Claim loop (every 5 minutes)
91task.spawn(function()
92 while true do
93 task.wait(300)
94 if not enabled then continue end
95
96 local result = EquipSvc.RF.ClaimPendingDismantleRewards:InvokeServer()
97 claimLabel.Text = "Claimed: " .. os.date("%H:%M:%S")
98 print("Claim result: " .. tostring(result))
99 end
100end)