-- Variables
local ts = game:GetService("TweenService")
local Destination = 1
local boat = script.Parent.Parent
-- Vector destinations
local placestogo = {Vector3.new(0.782, -7.5, -116.367), Vector3.new(35.282, -7.5, -82.117), Vector3.new(120.5, -7.5, -53.25)}
-- function to tween the boat
function tweenBoat(goal,thingToDo)
if thingToDo == "turn" then
local tweeninfo = TweenInfo.new(8,Enum.EasingStyle.Linear, Enum.EasingDirection.InOut,0,false,0)
local cframeValue = Instance.new("CFrameValue", script.Parent)
cframeValue.Value = script.Parent.CFrame
local tween = ts:Create(cframeValue, tweeninfo, {Value = goal})
tween:Play()
cframeValue.Changed:Connect(function()
script.Parent.Parent:SetPrimaryPartCFrame(cframeValue.Value)
end)
tween.Completed:Wait()
cframeValue:Destroy()
print("Yay!")
elseif thingToDo == "move" then
local tweeninfo = TweenInfo.new(8,Enum.EasingStyle.Linear, Enum.EasingDirection.InOut,0,false,0)
local vectorlookat = Instance.new("Vector3Value", script.Parent)
vectorlookat.Value = goal
local vectorvalue = Instance.new("Vector3Value", script.Parent)
vectorvalue.Value = script.Parent.Position
local tween = ts:Create(vectorvalue, tweeninfo, {Value = goal})
tween:Play()
vectorvalue.Changed:Connect(function()
local positionWithYLeveled = Vector3.new(vectorvalue.Value.X, vectorvalue.Value.Y, vectorvalue.Value.Z)
script.Parent.Parent:SetPrimaryPartCFrame(CFrame.new(positionWithYLeveled, vectorlookat.Value))
end)
tween.Completed:Wait()
vectorlookat:Destroy()
vectorvalue:Destroy()
if script.Parent.Position.Y ~= -7.5 then
script.Parent.CFrame = CFrame.new(Vector3.new(script.Parent.Position.X, -7.5, script.Parent.Position.Z), script.Parent.CFrame.LookVector)
end
print("Yay!")
end
end
-- wait 10
wait(10)
-- loop to iterate over destination points and call the tweenBoat function
while true do
wait(2)
tweenBoat(CFrame.new(script.Parent.Position, placestogo[Destination]), "turn")
wait(2)
tweenBoat(placestogo[Destination], "move")
wait(10)
print("Tween played")
Destination = Destination + 1
if Destination == 4 then
Destination = 1
end
print(Destination)
end
So, the boat keeps going under and then returns without its other parts to destination 1 once it reaches destination 3. How can i fix this? I am not sure what is going wrong.

1 comment
code blocks >:C