When this prompt is triggered, I want a tool named “Tire” to be destroyed. Would like to be able to delete it from the backpack and from the player incase it is equipped
local function getToolsOf(object: Instance?): {Tool}
if not object then return {} end
local tools = {}
for _, tool in pairs(object:GetChildren()) do
if tool:IsA("Tool") then table.insert(tools, tool) end
end
return tools
end
local function deleteFirstTool(tools: {Tool}, name: string): boolean
for _, tool in pairs(tools) do
if tool.Name == name then tool:Destroy() return true end
end
return false
end
local function deleteToolByName(player: Player, toolName: string): ()
local backpack = player:FindFirstChildWhichIsA("Backpack")
if deleteFirstTool(getToolsOf(backpack), toolName) then return end
deleteFirstTool(getToolsOf(player.Character), toolName)
end
--when you want it to run:
deleteToolByName(player, "Tire")
This function should delete the first tool named “Tire” it finds, prioritizing the player backpack over their character(meaning that if two Tire tools exist, one equipped and one in the backpack, the backpack one will be deleted).
The player object that triggers a proximity prompt can be fetched as follows: