Found this script that shoots a projectile but its gets more tilted based on how high its fired please help
script.Parent.OnServerEvent:Connect(function(plr,direction,mouseaim) local hrp = plr.Character:WaitForChild("HumanoidRootPart") local Slash = game.ReplicatedStorage.Yoru.YoruX:Clone() Slash.Parent = workspace Slash.CanCollide = false Slash.Anchored = false Slash.CFrame = CFrame.new(hrp.CFrame.p,direction.p) --direction is mouse.hit.p Slash.Orientation = Slash.Orientation + Vector3.new(0,-90,0) Slash.Touched:Connect(function(hit) if hit.Parent:FindFirstChild("Humanoid") and hit.Parent.Name ~= plr.Name then if not hit.Parent.Humanoid:FindFirstChild(plr.Name) then local Damage = math.random(40) hit.Parent.Humanoid:LoadAnimation(script.HitDamage):Play() hit.Parent.Humanoid:TakeDamage(Damage) end end end) local BV = Instance.new("BodyVelocity",Slash) BV.MaxForce = Vector3.new(math.huge,math.huge,math.huge) BV.Velocity = CFrame.new(hrp.Position,mouseaim).LookVector * 125 wait(1.2) for i = 1,10 do wait(0.1) Slash.Transparency = Slash.Transparency + 0.015 end wait(100) Slash:Destroy() end)