As @VauItZone said, you shouldnt be asking for entire scripts, but I will provide you with some assistance.
The way I would go about recreating this would be, get the position of where you want the camera to be and using tweening to move the camera to that new position in a smooth manor. Of course, you will need to set the CameraType to scriptable or something that stops the player from moving their camera.`
You will also most likely want to stop the player from moving, heres some code on how I would do that using ContextActionService
local CAS = game:GetService("ContextActionService")
--freeze movement
CAS:BindAction(
"freezeMovement",
function()
return Enum.ContextActionResult.Sink
end,
false,
unpack(Enum.PlayerActions:GetEnumItems())
)
--unfreeze movement
CAS:UnbindAction("freezeMovement")
There are tons of methods of stopping the character from moving but I believe this one is the best, and it doesnt leave any memory leaks laying around like using PlayerModule:GetControls