I don't know how else to explain this apart from, the Player's arm freaks out when the Union is welded to it. I have welded many, MANY, other parts to the player in other scripts using the same method and it works fine, but for some reason when I weld a LARGE Union to the Player's hand it causes the Player's arm to freak out, it sends the player flying. I have CanCollide and Anchored turned OFF in the Union and I even went and tried playing around with weights. I have also tried making the Union into a model and welding it via PrimaryPart, I have also tried changing the size of the Union, I have tried changing the Rotation and CFrame position of it when it is welded, I've tried virtually everything I can think of trying, does anyone have any ideas?
The main part that welds the union:
local Blade = game.ReplicatedStorage.AttackThings.BigBlade:Clone() Blade.Parent = player.Character Blade.CFrame = player.Character.RightHand.CFrame*CFrame.new(8, 0, 0) Blade.CFrame = Blade.CFrame*CFrame.Angles(math.rad(90), 0, math.rad(90)) local Weld = Instance.new("WeldConstraint") Weld.Parent = Blade Weld.Part0 = Blade Weld.Part1 = player.Character.RightHand
It's probably because it's a union far larger in weight than the arm. Try separating it and making it into a model instead, then setting the primary part to whaterver, then use Model:SetPrimaryPartCFrame
to set the CFrame, and then make the welds.
local Blade = game.ReplicatedStorage.AttackThings.BigBlade:Clone() Blade.Parent = player.Character local Weld = Instance.new("Weld") Weld.Parent = Blade Weld.Part0 = player.Character.RightHand Weld.Part1 = Blade Weld.C0 = Weld.C0 * CFrame.new (8, 0, 0) Weld.C0 = Weld.C0 * CFrame.Angles(math.rad(90), 0, math.rad(90))
NOT 100% SURE THIS WILL WORK