I am trying to make a script that will make a player throw another character. The character gets thrown correctly but often times not accurate, usually between 20-40 degrees left or right of the intended direction.
I have tried three different ways of applying the velocity, such as vectorforce, bodyvelocity and angularvelocity.
I need it to throw the character correctly, any idea on what is causing this?
-- For animating
local Motor6D = Instance.new("Motor6D",player.Character)
Motor6D.Part0 = player.Character:FindFirstChild("Right Arm")
Motor6D.Part1 = VictimCharacter.PrimaryPart
Motor6D.C0 = RS.Animations:FindFirstChild(animationName):GetAttribute("Offset")
task.wait(RS.Animations:FindFirstChild(animationName):GetAttribute("Time"))
Motor6D:Destroy()
VictimCharacter.PrimaryPart:SetNetworkOwner(nil)
VictimCharacter.Humanoid:SetStateEnabled(Enum.HumanoidStateType.FallingDown, true) --
VictimCharacter.PrimaryPart.AssemblyLinearVelocity = player.Character.PrimaryPart.CFrame.lookVector * 100 + player.Character.PrimaryPart.CFrame.UpVector*50
VictimCharacter.PrimaryPart.AssemblyAngularVelocity = Vector3.new(10,10,10) -- rotating for fling effect, does not seem to affect bug