How would I make a tool always equipped

You can write your topic however you want, but you need to answer these questions:

  1. What do you want to achieve? Keep it simple and clear!
    Make a tool always equip
  2. What is the issue? Include screenshots / videos if possible!
    I don’t know any simple way to have a tool always equip.
  3. What solutions have you tried so far? Did you look for solutions on the Developer Hub?
    Welding the tool directly to the hand.
3 Likes

You can disable the normal Roblox backpack, and equip the tool with humanoid instance,

Humanoid:EquipTool(InstanceTool)

If you disable default roblox backpack, they can’t equip other tool or unequip the current one!

8 Likes

So if a tool is unequipped you want to equip it back. Just listen for its AncestryChanged event on the server:

local tool = -- your tool
local character

tool.Equipped:Connect(function()
    character = tool.Parent
end)

tool.AncestryChanged:Connect(function(_, parent)
    tool.Parent = character
end)
4 Likes

Sorry for the bump but this doesn’t work for some reason


https://gyazo.com/0160f64eb33b415b50f599cb039f4705

And yes this is from a server script

2 Likes

Looks like when AncestryChanged fired, the tool was still “in the process of being re-parented”. Perhaps try waiting a heartbeat:

RunService.Heartbeat:Wait()
tool.Parent = character
5 Likes

local Tool = script.Parent

local LocalPlayer = game.Players.LocalPlayer

while wait() do

if Tool.Unequipped then

LocalPlayer.Character.Humanoid:EquipTool(Tool)

end

end

3 Likes