TweenService not reading the LookVector of a part?

I’m trying to use TweenService to change a BodyVelocity to the LookVector of a part. The problem is, the Z value isn’t changing despite having an infinite MaxForce. I have used TweenService in the past and never encountered an issue like this, but I’m sure it’s an easy fix.

I have tried using :Lerp(), but I can’t really “cancel” it

local Seat = script.Parent.BoatMain.Drive
local AheadValues = script.Parent.DriveValues.Ahead
local BodyVelocity =  Seat.BodyVelocity
local TweenService = game:GetService("TweenService")
local Accelerate = TweenInfo.new(0.1,Enum.EasingStyle.Linear)
local AheadTween = TweenService:Create(BodyVelocity, Accelerate, {Velocity = Seat.CFrame.LookVector * 6})

while true do
	if AheadValues.FullAhead.Value == true and EngineRunning == true then
		CancelTweens()
		wait(0.1)
		AheadTween:Play()
	end
end

Help would be greatly appreciated

I don’t think you should use TweenService for this.

You also don’t really need “cancelling”, you can just use your if statement to determine if you should set the Velocity or not:

local Seat = script.Parent.BoatMain.Drive
local AheadValues = script.Parent.DriveValues.Ahead
local BodyVelocity =  Seat.BodyVelocity

while true do
	if AheadValues.FullAhead.Value == true and EngineRunning == true then
		BodyVelocity.Velocity = Seat.CFrame.LookVector * 6
	else
		BodyVelocity.Velocity = Vector3.new(0, 0, 0)
	end
	wait(0.1)
end

I would also replace your while/wait() loop with RunService | Roblox Creator Documentation, but I’ll leave that for you to do.

It works, thank you. But the reason I was using TweenService was to add a sort of “acceleration” effect.