Camera not sticking with character during animation

Whenever I play an animation to the character, the camera doesn’t follow the head, although this wouldn’t be too problematic, this is the exact same script I’ve been using since I made it and it’s worked like a charm. Now, I tried to implement a way to make the player unable to move again while already performing an action, and ever since I did that the camera just…doesn’t work?
You can see in the video below the comparison between the newest version and the old one without the cooldown.

External Media

Is this some sort of engine bug that I’m experiencing or something? I’m COMPLETELY lost!

The current code :

UIS.InputBegan:Connect(function(input)
	
	workspace[player.Name].Head.Transparency = 1
	
	if (UIS:GetFocusedTextBox()) then
		return;
	end
	if actionval.Value == false then --This is new
		
		for i,v in pairs(workspace[player.Name].Humanoid:GetPlayingAnimationTracks()) do
			v:Stop()
		end
		
	if input.KeyCode == Enum.KeyCode.A and workspace.GameValues.PositionValue.Value == "Computer" then
		
			actionval.Value = true --This is new
		
		local walkRightAnim = Instance.new("Animation")
		walkRightAnim.AnimationId = "rbxassetid://13444810007"

	
		local walkAnimTrack = workspace[player.Name].Humanoid.Animator:LoadAnimation(walkRightAnim)
		
		walkAnimTrack:Play()
		script.Footsteps:Play()
		wait(2.25)

		for i,v in pairs(workspace[player.Name]:GetChildren()) do
			if v:IsA("Part") and v.Name ~= "HumanoidRootPart" then
				v.Transparency = 1
			end
		end
		
		local pos = Vector3.new(-197.6, 3.1, 106)
		local cam = workspace.CurrentCamera
		local orientation = Vector3.new(0, 90, 0)
		local changes = {
			CFrame = CFrame.new(pos + Vector3.new(0,1.5,0))*CFrame.fromEulerAnglesXYZ(math.rad(orientation.X),math.rad(orientation.Y),math.rad(orientation.Z))
		}
		local tween = tweenService:Create(cam, tweenInfo, changes)
		tween:Play()
		game.ReplicatedStorage.MoveCharacter:FireServer("LeftHall",pos, orientation)
		wait(0.75)
		actionval.Value = false
		script.Footsteps:Stop()
		for i,v in pairs(workspace[player.Name]:GetChildren()) do
			if v:IsA("Part") and v.Name ~= "HumanoidRootPart" then
				v.Transparency = 0
			end
		end

The previous one :

UIS.InputBegan:Connect(function(input)
	
	workspace[player.Name].Head.Transparency = 1
	
	if (UIS:GetFocusedTextBox()) then
		return;
	end
	
	if input.KeyCode == Enum.KeyCode.A and workspace.GameValues.PositionValue.Value == "Computer" then
		
	
		
		local walkRightAnim = Instance.new("Animation")
		walkRightAnim.AnimationId = "rbxassetid://13444810007"

		
		local walkAnimTrack = workspace[player.Name].Humanoid.Animator:LoadAnimation(walkRightAnim)
		
		walkAnimTrack:Play()
		script.Footsteps:Play()
		wait(2.25)
		
		
		
		for i,v in pairs(workspace[player.Name]:GetChildren()) do
			if v:IsA("Part") and v.Name ~= "HumanoidRootPart" then
				v.Transparency = 1
			end
		end
		
		local pos = Vector3.new(-197.6, 3.1, 106)
		local cam = workspace.CurrentCamera
		local orientation = Vector3.new(0, 90, 0)
		local changes = {
			CFrame = CFrame.new(pos + Vector3.new(0,1.5,0))*CFrame.fromEulerAnglesXYZ(math.rad(orientation.X),math.rad(orientation.Y),math.rad(orientation.Z))
		}
		local tween = tweenService:Create(cam, tweenInfo, changes)
		tween:Play()
		game.ReplicatedStorage.MoveCharacter:FireServer("LeftHall",pos, orientation)
		wait(0.75)
		script.Footsteps:Stop()
		for i,v in pairs(workspace[player.Name]:GetChildren()) do
			if v:IsA("Part") and v.Name ~= "HumanoidRootPart" then
				v.Transparency = 0
			end
		end

I’m honestly completely lost and I can’t tell if I made a mistake of sorts but this is annoying me completely.

Forgot to add, not a single error is shown in the output.