All I want is for the part to face where the humanoidrootpart is facing then thrust it forward on same direction.
(function()
local Part = Storm:Clone()
Part.CFrame = Character.Head.CFrame * CFrame.new(0, 0, -5) -- Spawn part in front of player. (Head so it doesn't clip below)
Part.CanCollide = false
Part.Anchored = false
Part.Parent = workspace
Part:SetNetworkOwner(nil)
local AP = Instance.new("LinearVelocity")
AP.MaxForce = math.huge
AP.RelativeTo = Enum.ActuatorRelativeTo.Attachment0
AP.Attachment0 = Part.Attachment
AP.VectorVelocity = Vector3.new(0, 0, 100) * Character.Head.CFrame.LookVector -- Go forward in a medium speed
AP.Parent = Part
game:GetService("Debris"):AddItem(Part, 4)
end)()
Instead of adding Vector3.new(0, 0, 100) which will always make it go in the same direction, try: AP.VectorVelocity = Character.HumanoidRootPart.CFrame.LookVector * 100
Make sure not to use the Head’s LookVector instead of HumanoidRootPart’s as it may make the projectile go down on the Y axis depending on your walk animation.
This fixes it but I have another concern, in the video, there’s a slight delay before LinearVelocity takes effect, why? I thought network ownership fixes it but it does not.