This is how I weld my Gun’s Handle and Hand together using serverside Function I made.
local motor = Instance.new("Motor6D")
motor.Part1,motor.Part0 = brick1,brick0
motor.C0 = CFrame.new(0,0,0) * CFrame.Angles(math.rad(0),math.rad(0),math.rad(0)) --This is an offset for Weapon and it's not a world position for a weapon
motor.Parent = brick0
When you weld tool you don’t set their rotation by their tool, you set them by their weld’s C0. you can replace motor with weld it doesn’t matter. brick1 is hand and brick0 is weapon’s handle and you must parent them after you finished welded them otherwise it will look weird in some way. I can’t explain clearly cause I didn’t study deep inside these function
There’s a 100x easier way to handle dual wielding weapons, by the way. It involves the use of accessories. I have made a mini tutorial on it in the past and answered a question about making it work with a left hand (for the sake of left-handed tools or dual wielding).
Dude I had no clue that this was possible, thank you so much!
I want to ask if this could be used to make a sort of quad wielding thing? If it was possible to create another set of arms and have there be swords/guns in each hand?
Yes! If you want to add more limbs to the Humanoid, you absolutely can use this method to attach tools to those extra arms. Accessories are great in that way: the way they’re added to Humanoids isn’t hard coded, they only look for matching attachment names in the accessory handle and the character before creating a weld between the two. Check it out:
Also a little cheat code for you: if you want to avoid using accessories or weld the tools yourself in case accessories don’t work for any reason for you, then you absolutely can do that as well. I recently found out how the Humanoid attaches accessories. I still recommend, if possible, using accessories so the engine can take care of the heavy lifting for you.
Accessories are welded to limbs using in this manner: