I have the camera tween around the map when a player joins (like cinematic type stuff)
function CameraManipulation:Intro()
Camera.CameraType = Enum.CameraType.Scriptable
local InfoTween = TweenInfo.new(5, Enum.EasingStyle.Linear, Enum.EasingDirection.Out)
Camera.CFrame = CFrame.new(CameraPoints['1-1'].CFrame.Position)
local Tween = TweenService:Create(Camera, InfoTween, {CFrame = CameraPoints['1-2'].CFrame})
Tween:Play()
if Customising or StopIntro then Tween:Cancel() return end
wait(6)
if Customising or StopIntro then Tween:Cancel() return end
Camera.CFrame = CFrame.new(CameraPoints['2-1'].CFrame.Position)
local Tween = TweenService:Create(Camera, InfoTween, {CFrame = CameraPoints['2-2'].CFrame})
Tween:Play()
if Customising or StopIntro then Tween:Cancel() return end
wait(6)
if Customising or StopIntro then Tween:Cancel() return end
Camera.CFrame = CFrame.new(CameraPoints['3-1'].CFrame.Position)
local Tween = TweenService:Create(Camera, InfoTween, {CFrame = CameraPoints['3-2'].CFrame})
Tween:Play()
if Customising or StopIntro then Tween:Cancel() return end
wait(6)
if Customising or StopIntro then Tween:Cancel() return end
Camera.CFrame = CFrame.new(CameraPoints['4-1'].CFrame.Position)
local Tween = TweenService:Create(Camera, InfoTween, {CFrame = CameraPoints['4-2'].CFrame})
Tween:Play()
end
Now if a player is new, it’ll bring up the customise menu, which sets the camera at a different positon.
function CameraManipulation:StartCustomise()
Customising = true
wait()
Camera.CameraType = Enum.CameraType.Scriptable
Camera.FieldOfView = 60
Camera.CameraSubject = CustomiseRoom.Camera
Camera.CFrame = CustomiseRoom.Camera.CFrame * CFrame.Angles(math.rad(350), 0, 0)
end
Problem is, the camera still stays in the intro tweening. I tried
if Customising or StopIntro then Tween:Cancel() return end
It finishes off the current tween, then just stops.
and stays in the one spot forever
Camera.CameraType = Enum.CameraType.Scriptable
Camera.FieldOfView = 60
Camera.CameraSubject = CustomiseRoom.Camera
Camera.CFrame = CustomiseRoom.Camera.CFrame * CFrame.Angles(math.rad(350), 0, 0)
