Hey devforum, I have made a script which deletes scripts inside an object, but when I try to undo I get this error:
This is the plugin script:
local ChangeHistory = game:GetService("ChangeHistoryService")
local toolbar = plugin:CreateToolbar("DeleteScriptsInsideObject")
local button = toolbar:CreateButton("456342", "Plugin", "rbxassetid://4483361337", "DeleteScripts")
local selected
local amountOfObjectsSelected = 0
button.Click:Connect(function()
selected = game.Selection:Get()
for _, v in pairs(selected) do
amountOfObjectsSelected = amountOfObjectsSelected + 1
ChangeHistory:SetWaypoint("Idk")
print("AddedWaypoint")
end
for i = 1 ,amountOfObjectsSelected, 1 do
for _, v in pairs(selected[i]:GetDescendants()) do
if v.ClassName == "LocalScript" or v.ClassName == "Script" or v.ClassName == "ModuleScript" then
print("Script Deleted")
v.Parent = nil
end
end
end
amountOfObjectsSelected = 0
end)
You probably didn’t select anything in the explorer.
This will work better
button.Click:Connect(function()
selected = game.Selection:Get()
for _, v in pairs(selected) do
for index, object in pairs(v:GetChildren()) do
if object:IsA("Script") or object:IsA("LocalScript") or object:IsA("ModuleScript") then
object:Remove() --if you use remove you can get the object back if you press CTRL + Z
print("Removed")
end
end
end
game:GetService("ChangeHistoryService"):SetWaypoint("blah")
end)