I am trying to make some boxing gloves that work as a tool. I have the idle animation but, the idle animation by itself, acts weird and has one of the gloves floating and just the Handle part set correctly on the player’s fist.
So I decided to try using welds to fix my mistake and it half-worked but the arm is now all the way in the back and trips the character whenever the Boxing Glove tool is equipped.
Weld Script
local tool = script.Parent
local function weldGlove(glovePart, targetPart)
glovePart.CFrame = targetPart.CFrame
local weld = Instance.new("WeldConstraint")
weld.Part0 = glovePart
weld.Part1 = targetPart
weld.Parent = glovePart
end
tool.Equipped:Connect(function()
local character = tool.Parent
local humanoid = character:FindFirstChild("Humanoid")
if not humanoid then return end
local isR15 = humanoid.RigType == Enum.HumanoidRigType.R15
local leftHand = isR15 and character:FindFirstChild("LeftHand") or character:FindFirstChild("Left Arm")
local rightHand = isR15 and character:FindFirstChild("RightHand") or character:FindFirstChild("Right Arm")
local leftGlove = tool:FindFirstChild("Left Glove Piece")
local rightGlove = tool:FindFirstChild("Right Glove Piece")
if leftHand and leftGlove then
weldGlove(leftGlove, leftHand)
end
end)
Animation Script
local tool = script.Parent
local anim = Instance.new("Animation")
local anim1 = Instance.new("Animation")
anim.Name = "IdleAnim"
anim.AnimationId = "rbxassetid://122089966944224" -- Idle Animaton ID
anim1.Name = "EquipAnim"
anim1.AnimationId = "rbxassetid://122089966944224"-- Equip Tool Animaton ID
local track
local track1
-- When Tool Equipped
tool.Equipped:Connect(function()
track = script.Parent.Parent.Humanoid:LoadAnimation(anim)
track1 = script.Parent.Parent.Humanoid:LoadAnimation(anim1)
track.Priority = Enum.AnimationPriority.Movement
track1.Priority = Enum.AnimationPriority.Movement
track.Looped = true
track:Play()
track1:Play()
end)
-- When Tool UnEqiopped
tool.Unequipped:Connect(function()
if track and track1 then
track:Stop()
track1:Stop()
end
end)


