Character not getting thrown in intended direction

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

I did some more research and this fixed it:

VictimCharacter.Humanoid:ChangeState(Enum.HumanoidStateType.Physics)

I also removed the network ownership line

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.