Why is my part moving in somewhat random directions when I change only the Y?
Hi, I'm making an expandable shield script that is held on the players left hand. When trying to make it extend however, the outermost piece moves in a somewhat random direction relative to the innermost part of the shield.
01 | remoteevent.OnServerEvent:Connect( function (player, hasgear) |
02 | print (player, hasgear) |
03 | if hasgear = = false then |
04 | local gear = shieldgroup:clone() |
05 | gear.Handle.CFrame = workspace:WaitForChild(player.Name) [ "Left Arm" ] .CFrame * CFrame.new(- 0.20616293 , - 0.415015221 , - 0.040222168 , 1 , 0 , 0 , 0 , 0.999999881 , 0 , 0 , 0 , 1 ) |
06 | gear.par 2. CFrame = gear.Handle.CFrame * CFrame.new( 0.539999008 , 0.160001278 , 0 , 1 , 0 , 0 , 0 , - 1 , 0 , 0 , 0 , - 1 ) |
07 | gear.Parent = player.Character |
08 | local weld = Instance.new( "Weld" ) |
09 | weld.Part 0 = gear.Handle |
10 | weld.C 0 = gear.Handle.CFrame:Inverse() |
11 | weld.Part 1 = game.Workspace [ player.Name ] [ "Left Arm" ] |
12 | weld.C 1 = game.Workspace [ player.Name ] [ "Left Arm" ] .CFrame:Inverse() |
13 | weld.Parent = gear.Handle |
14 | weld 2 = Instance.new( "Weld" ) |
15 | weld 2. Part 0 = gear.par 2 |
16 | weld 2. C 0 = gear.Handle.CFrame:Inverse() |
17 | weld 2. Part 1 = gear.Handle |
18 | weld 2. C 1 = gear.par 2. CFrame:Inverse() |
19 | weld 2. Parent = gear.par 2 |
22 | rme 2 = game.Workspace.Part.RemoteEvent 2 |
23 | rme 2. OnServerEvent:Connect( function () |
24 | for i = 0 ,. 4 ,. 04 do wait() |
25 | weld 2. C 0 = weld 2. C 0 * CFrame.new( 0 ,i, 0 ) |
Starting position
After being extended
It doesnt always extend in the same direction, but rarely goes straight up relative to the inner part. What am I doing wrong, how can I fix it?