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.
remoteevent.OnServerEvent:Connect(function(player, hasgear)
print(player, hasgear)
if hasgear == false then
local gear = shieldgroup:clone()
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)
gear.par2.CFrame = gear.Handle.CFrame * CFrame.new(0.539999008, 0.160001278, 0, 1, 0, 0, 0, -1, 0, 0, 0, -1)
gear.Parent = player.Character
local weld = Instance.new("Weld")
weld.Part0 = gear.Handle
weld.C0 = gear.Handle.CFrame:Inverse()
weld.Part1 = game.Workspace[player.Name]["Left Arm"]
weld.C1 = game.Workspace[player.Name]["Left Arm"].CFrame:Inverse()
weld.Parent = gear.Handle
weld2 = Instance.new("Weld")
weld2.Part0 = gear.par2
weld2.C0 = gear.Handle.CFrame:Inverse()
weld2.Part1 = gear.Handle
weld2.C1 = gear.par2.CFrame:Inverse()
weld2.Parent = gear.par2
end
end)
rme2 = game.Workspace.Part.RemoteEvent2
rme2.OnServerEvent:Connect(function()
for i = 0,.4,.04 do wait()
weld2.C0 = weld2.C0 * CFrame.new(0,i,0)
end
end)
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?
