Look CLOSELY at this line:
Camera.CFrame = Cinematic.Elements.Cam1.CFrame
TweenService:Create(Camera, TweenInfo.new(Settings.VoteTime, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut, 0, true)
{CFrame = Cinematic.Elements.Cam2.CFrame})
Still don't see it?
TweenService:Create(Camera, TweenInfo.new(Settings.VoteTime, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut, 0, true){CFrame = Cinematic.Elements.Cam2.CFrame})
You're trying to call the TweenInfo object returned by TweenInfo.new!
Remember that when you are calling a function, parentheses are optional if the first argument is a string or table literal, but it only works for one argument.
That is, the following examples are valid:
fn"string";
fn{...};
But these are not:
local s = "string";
local t = {...};
fn s
fn t
fn"string", ...;
This is syntactic sugar for a function call. Lua just thought that this was sugar for a function call.
TweenService:Create(Camera, TweenInfo.new(Settings.VoteTime, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut, 0, true), {CFrame = Cinematic.Elements.Cam2.CFrame})
You forgot your comma to separate the arguments.
I personally like having the tweenInfo in a variable, so it gets less messy. This also allows to reuse it with ease if you need to
Sort of like this:
local info = TweenInfo.new(...);
local tween = TweenService:Create(Camera, info, {CFrame = Cinematic.Elements.Cam2.CFrame});
tween:Play();