Scripting Helpers is winding down operations and is now read-only. More info→
Ad
Log in to vote
0

Welding Union To Player Causes Player's Arm To "Freak Out?"

Asked by 6 years ago
Edited 6 years ago

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

2 answers

Log in to vote
0
Answered by
ax_gold 360 Moderation Voter
6 years ago

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.

Ad
Log in to vote
0
Answered by
wookey12 174
6 years ago
Edited 6 years ago
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

0
C0 is not a valid member of WeldConstraint Wolf5429 15 — 6y
0
oh... wookey12 174 — 6y
0
fixed it wookey12 174 — 6y

Answer this question