Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- repeat wait () until game.Workspace.CurrentCamera ~= nil
- local c = game.Workspace.CurrentCamera
- local data = LoadLibrary("RbxUtility").DecodeJSON(script.CutsceneData.Value)
- local rs = game:GetService("RunService").RenderStepped
- wait(9)
- function tweenCam(c1,f1,time,fov,roll)
- local c0,f0,fv0,r0,frames = c.CoordinateFrame,c.Focus,c.FieldOfView,c:GetRoll(),time/0.015
- for i = 1,frames do
- c.CameraType = "Scriptable"
- c.CoordinateFrame = CFrame.new(c0.p:lerp(c1.p,i/frames),f0.p:lerp(f1.p,i/frames))
- c.FieldOfView = (fv0+(fov-fv0)*(i*(1/frames)))
- c:SetRoll(r0+(roll-r0)*(i*(1/frames)))
- rs:wait()
- end
- end
- print("Running")
- c.CameraSubject = nil
- c.CameraType = "Scriptable"
- c.CoordinateFrame = CFrame.new(unpack(data[1].c1))
- c.Focus = CFrame.new(unpack(data[1].f1))
- c.FieldOfView = data[1].FOV
- c:SetRoll(data[1].Roll)
- if script:findFirstChild("SkipCutsceneGuiValue") then
- local gui = script.SkipCutsceneGui:clone()
- gui.Parent = game.Players.LocalPlayer.PlayerGui
- gui.Cutscene.Value = script
- gui.Main.Debug.Disabled = false
- script.SkipCutsceneGuiValue.Value = gui
- end
- for i = 2,#data do
- tweenCam(CFrame.new(unpack(data[i].c1)),CFrame.new(unpack(data[i].f1)),data[i].step,data[i].FOV,data[i].Roll)
- end
- c.CameraSubject = game.Players.LocalPlayer.Character.Humanoid
- c.CameraType = "Custom"
- c.FieldOfView = 70
- if script:findFirstChild("SkipCutsceneGuiValue") then
- if script.SkipCutsceneGuiValue.Value ~= nil then
- script.SkipCutsceneGuiValue.Value:Destroy()
- end
- end
- script:Destroy()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement