In a game that I am making, I wanted the players to be able to throw other characters in the direction that the player is facing using a tool. I got the tool to send the characters upwards but I don't know how to get them to go forwards. I tried using the mouse's location and multiplying that by the amount of force that I had wanted, but it sent them all over the place, instead of where I had wanted them to go. I tried using cframe and multiplying the force with different values of different objects.I'm just stumped on how to get this to work. Help would be greatly appreciated, thank you in advance, here is the script:
repeat wait() until game.Players.LocalPlayer.Character local plr = game.Players.LocalPlayer local MyBody = plr.Character local mouse = plr:GetMouse() local dist = 17 mouse.Button1Down:connect(function() local pos = script.Parent.Parent:findFirstChild("Torso") local Debounce = false local b = script.Parent.Parent:GetChildren() local dir = mouse.Hit.p for index, item in pairs(b) do if Debounce == false then if item.Name == "Pikmin" and item.Available.Value == true and (pos.Position - item.Leaf.Position).magnitude < dist then Debounce = true item.Available.Value = false item:MoveTo(script.Parent.Parent.Head.Position) local launch = Instance.new("BodyForce") item.Available.Charge.Disabled = false launch.Parent = item.Leaf launch.Force = script.Parent.Force.Value wait(.5) launch:remove() end else return end end end)