Hello I’m trying to get this output. I’m trying to make it that it always faces in front with right orientation in the humanoidrootpart.
But this is what it shows
robloxapp-20221015-1826297.wmv (4.3 MB)
I don’t really have the great knowledge of CFrames, also here is the code.
Helping hand would be nice. Thank you 
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local TweenService = game:GetService("TweenService")
ReplicatedStorage.Remotes.QuakeAttack.QuakeAttackEvent.OnClientEvent:Connect(function(player, mouseHit, input)
local character = player.Character
local crack = ReplicatedStorage.QuakeAttack.Crack:Clone()
crack.Size = Vector3.new(1, 1, 0)
crack.CFrame = character.HumanoidRootPart.CFrame + character.HumanoidRootPart.CFrame.LookVector * -5
crack.Parent = workspace.Ignore
local shock = ReplicatedStorage.QuakeAttack.Shock:Clone()
shock.CFrame = character.HumanoidRootPart.CFrame + character.HumanoidRootPart.CFrame.LookVector * 10
shock.Size = Vector3.new(30, 50, 30)
shock.Parent = workspace.Ignore
local wave = ReplicatedStorage.QuakeAttack.Wave:Clone()
wave.CFrame = character.HumanoidRootPart.CFrame + character.HumanoidRootPart.CFrame.LookVector
wave.Size = Vector3.new(20, 20, 20)
wave.Parent = workspace.Ignore
local shockTween = TweenService:Create(shock, TweenInfo.new(2, Enum.EasingStyle.Sine), {Size = Vector3.new(50, 50, 50),CFrame = CFrame.new(0, 0, -10), Transparency = 1})
shockTween:Play()
shockTween.Completed:Connect(function()
shock:Destroy()
end)
local waveTween = TweenService:Create(wave, TweenInfo.new(2, Enum.EasingStyle.Sine), {Size = Vector3.new(30,40,30), CFrame = CFrame.new(0, 0, -10), Transparency = 1})
waveTween:Play()
waveTween.Completed:Connect(function()
wave:Destroy()
end)
local crackTween = TweenService:Create(crack, TweenInfo.new(0.2, Enum.EasingStyle.Sine, Enum.EasingDirection.Out), {Size = Vector3.new(20, 20, 0.2)})
crackTween:Play()
crackTween.Completed:Connect(function()
TweenService:Create(crack, TweenInfo.new(0.5), {Transparency = 1}):Play()
wait(1)
crack:Destroy()
end)
local quakeBall = ReplicatedStorage.QuakeAttack.QuakeBall:Clone()
quakeBall.CFrame = character.HumanoidRootPart.CFrame
quakeBall.Parent = workspace.Ignore
local attachment = Instance.new("Attachment")
attachment.Parent = quakeBall
local lv = Instance.new("LinearVelocity")
lv.Attachment0 = attachment
lv.MaxForce = 1000000
lv.VectorVelocity = CFrame.lookAt(quakeBall.Position, mouseHit.Position).LookVector * 60
lv.Parent = quakeBall
game.Debris:AddItem(quakeBall, 5)
end)
