Dual wielding swords?

What animation?
23o0irho2 limit

Roblox default animation does not have any keyframes for the left arm.
The animation literally does not have data for the left arm.

You would have to make your own animation and animate the left arm.

1 Like

I don’t believe it’s possible since it’s not built in. I would recommend using the method I sent earlier it will make your life much easier, I’ve used it in the past, and has worked like a charm. If you want a animation on the left hand you will have to animate it and play it whenever the tool is equipped.

So I would need to parent the animation to the left arm when it’s equipped, then play it, then remove it again once it’s unequipped?

That’s for a single sword though, I didn’t understand it if it was meant for dual swords.

You can equip multiple accessories, so you can have it duel weld.

Doesn’t explain how, so I don’t understand how it’s done due to unclear documentation.

The animation’s parent does not matter, animations are just containers that hold keyframes.

You actually have to make a animation in the Roblox animator (or animator of choice) and upload it, then play that animation ID.

Ok so when you have an accessory and you try to equip it, it will need an attachment. If your accessory has the attachment then it will equip it to whatever attachment it has. So I want to make a sword for the left hand I would get the left-hand attachment and have it as a child of the accessory. Now whenever I want to equip the tool I would get the players humanoid and do :AddAccessory(tool).

I have never animated before, I was looking for one Roblox made, but there’s none for the left arm.

I don’t know where to put the attachment or what position it needs

There’re some scripts that weld guns in a way where the 2nd arm is holding the grip of the weapon, I think there’s something similar you can do with the sword.

Also, this uses welds.

Apparently welds doesn’t work, they say I need an animation to have the same effect.

You can make an animation that plays whenever you equip the tool. The animation needs to be on loop and have a priority of Movement or higher I believe. The animation stops when you unequip the tool.

You may have to start looking into how to make a simple Roblox animation or ask a animator to animate it for you.
You will need a animation for the effect you are trying to get and I doubt if Roblox has a default animation for it.

I see, thanks for the information.

1 Like

the easist way would be to double the swords damage and in the tool model just make 2 swords

oh and you would also have to make the swing swing down both hands at once with a custom swing animiation

R6 Tool None: 182393478
R6 Tool Slash: 129967390
R6 Tool Lunge: 129967478

These are all of the animation IDs that are used by Roblox’s default ‘Animate’ script to animate the ‘Right Arm’ limb when a tool is equipped/activated, ‘toolnone’ is used by all tools, ‘toolslash’ and ‘toollunge’ are typically only used by melee gear, for each of these animations you need to mirror the animation to the ‘Left Arm’ limb, then for dual wield tools you can simply play these animations for the left arm (when necessary), the animations for the right arm will still be played by default.

To give off the appearance of a dual wield tool you could clone the tool’s handle and weld it to the wielder’s ‘Left Arm’ limb when it is equipped and then destroy the clone when/if the tool is subsequently unequipped. Here’s some pseudo-code to assist.

local Script = script --Script inside tool.
local Tool = Script.Parent --Reference to tool.
local Handle = Tool.Handle --Reference to tool's handle.

local function OnEquipped()
	local Character = Tool.Parent
	if not Character then return end
	local LeftArm = Character:FindFirstChild("Left Arm")
	if not LeftArm then return end
	local HandleClone = Handle:Clone()
	HandleClone.Name = "HandleClone"
	
	local Weld = Instance.new("Weld")
	Weld.Name = "LeftGrip"
	Weld.Part0 = HandleClone
	Weld.Part1 = LeftArm
	Weld.C0 = CFrame.new() --You will need to change this.
	Weld.C1 = CFrame.new() --You will need to change this.
	Weld.Parent = HandleClone
	HandleClone.Parent = Tool
end

local function OnUnequipped()
	local HandleClone = Tool:FindFirstChild("HandleClone")
	if HandleClone then HandleClone:Destroy() end
end

Tool.Equipped:Connect(OnEquipped)
Tool.Unequipped:Connect(OnUnequipped)

I also recommend that you look into existing dual wield tools for further inspiration.