I have this ship that tweens to different waypoints that are all at the same height, but when it gets to the rotate part, the model jumps down and tweens back up. I would like to remove this and keep the ship at the same height during the entire tweening phase.
Script:
wait(5)
print('moving')
local TweenService = game:GetService("TweenService")
local waypointheight = 14
for i,v in pairs(game.Workspace.Waypoints:GetChildren()) do
v.Position = Vector3.new(v.Position.X, waypointheight, v.Position.Z)
end
function spawnenemy(start, enemy)
local startpart = start
local enemyclone = enemy:Clone()
local primarypart = enemyclone.PrimaryPart
primarypart.Position = startpart.Position
enemyclone.Parent = workspace.Enemies
return enemyclone
end
function movetowaypoint(waypoint, enemy, timetogettowaypoint)
if waypoint and enemy and timetogettowaypoint then
local waypointpos = waypoint.CFrame
local enemymodel = enemy
local tweeninfo = TweenInfo.new(timetogettowaypoint, Enum.EasingStyle.Linear, Enum.EasingDirection.In, 0, false, 0)
local goal = { CFrame = waypointpos}
local tween = TweenService:Create(enemymodel.PrimaryPart, tweeninfo, goal)
tween:Play()
tween.Completed:Wait()
else
warn('No waypoint or enemy or time set')
end
end
function rotatemodel(startwaypoint, previouswaypoint, model )
local enemymodel = enemy
local tweeninfo = TweenInfo.new(.75, Enum.EasingStyle.Linear, Enum.EasingDirection.In, 0, false, 0)
local tween = TweenService:Create(model.PrimaryPart, tweeninfo, { CFrame = CFrame.new(Vector3.new(startwaypoint.Position.X, waypointheight,startwaypoint.Position.Z),Vector3.new(previouswaypoint.Position.X, waypointheight,previouswaypoint.Position.Z))})
tween:Play()
tween.Completed:Wait()
end
function enemy(enemy)
local enemyclone = spawnenemy(workspace.Waypoints.Spawn, enemy)
movetowaypoint(workspace.Waypoints.P1, enemyclone, 5)
rotatemodel(workspace.Waypoints.P1, workspace.Waypoints.P2, enemyclone)
movetowaypoint(workspace.Waypoints.P2, enemyclone, 5)
rotatemodel(workspace.Waypoints.P2, workspace.Waypoints.P3, enemyclone)
movetowaypoint(workspace.Waypoints.P3, enemyclone, 5)
rotatemodel(workspace.Waypoints.P3, workspace.Waypoints.P4, enemyclone)
movetowaypoint(workspace.Waypoints.P4, enemyclone, 5)
rotatemodel(workspace.Waypoints.P4, workspace.Waypoints.End, enemyclone)
movetowaypoint(workspace.Waypoints.End, enemyclone, 5)
end
enemy(game.ReplicatedStorage.EnemiesFolder.BasicMarineShip)
Video:
External Media
(Video is streamable link I don’t know why it doesn’t show the video itself anymore).
(Don’t worry about the part where the model falls once it reaches the last waypoint).