How To Put Items On A Player's Back? (Like a Sword)

So I made it again and kept getting errors, so I kept fixing it and now it has no errors but it’s not working, do you notice anything wrong with it? I also want the tool to be visible to everyone even when it’s unequipped.

Tool = script.Parent
Handle = Tool.Handle	
character = Tool.parent
local BackBodyAttachment = Instance.new("Attachment")
BackBodyAttachment.Parent = Handle
BackBodyAttachment.Name = "BackBodyAttachment"
BackBodyAttachment.Position = character.Parent.Character.Torso.Position
Tool.Equipped:Connect(function()
	Tool.Equipped:Connect(function ()
	end)

	Tool.Unequipped:Connect(function ()
		local weld = Instance.new("Weld")
		weld.Part0 = Handle
		weld.Part1  = character.Parent.Character.Torso
		weld.C0 = weld.Part0.CFrame
		weld.C1 = weld.Part1.CFrame
	end)
end)

Please check my replies thoroughly. If you’re following through with my methods, then you need to read the posts as well and not skim them. There are still a lot of mistakes present.

  • BodyBackAttachment will already exist in R6 and R15 rigs, your script should not be creating them.

  • Your Equipped and Unequipped connections are still wrapped in an outer Equipped event.

  • Character should still be in the inner Equipped event, don’t move it out.

  • The Weld C0 and C1 are meant to be the CFrame of the attachments in either Part0 and Part1, not the CFrames of the parts themselves.

  • I thought you said to put an attachment in the handle that’s named the same thing as the attachment in the character’s torso, (BodyBackAttachment) so they can align with each other

  • I don’t know what that means. You mean because all the welding and stuff is done after it’s unequipped?

  • K I’ll put it back

  • So I do I do this?

        weld.Part0 = Handle
		weld.Part1  = character.Parent.Character.Torso
		weld.C0 = Handle.CFrame
		weld.C1 = character.Parent.Character.Torso.CFrame

quite easy ngl, just use Motor6d and determine the cframe on how you want it to weld on the back.

local motor6d = Instance.new("Motor6D")
motor6d.Parent = target
motor6d.Part1 = character.Parent.Character.Torso
motor6d.Part0 = Handle
motor6d.C0 = CFrame.new(0,0, -2) -- -2 here determine the z CFrame, set it up yourself in studio on how you want it to weld. you can also use the X, Y if you want it move and settle better. good luck
motor6d.C1 = CFrame.new(0,0,0)
7 Likes