local function a()Status="\066\108\111\099\107\105\110\103";(game:GetService("\083\111\117\110\100\083\101\114\118\105\099\101")).SFX.Combat.ActivateBlock:Play()local a=plr.PlayerGui.Vignette.ImageLabel;((game:GetService("\084\119\101\101\110\083\101\114\118\105\099\101")):Create(a,TweenInfo.new(1,Enum.EasingStyle.Sine,Enum.EasingDirection.InOut,0,false,0),{ImageTransparency=0})):Play()BlockingRemote:FireServer();(game.TweenService:Create(workspace.CurrentCamera,TweenInfo.new(.3,Enum.EasingStyle.Linear,Enum.EasingDirection.Out,0,false,0),{FieldOfView=60})):Play()hum.WalkSpeed=7 gaurdingAnimation:Play()end local function Z()Status="\110\105\108";(game:GetService("\083\111\117\110\100\083\101\114\118\105\099\101")).SFX.Combat.ActivateBlock:Play()local a=plr.PlayerGui.Vignette.ImageLabel;((game:GetService("\084\119\101\101\110\083\101\114\118\105\099\101")):Create(a,TweenInfo.new(1,Enum.EasingStyle.Sine,Enum.EasingDirection.InOut,0,false,0),{ImageTransparency=1})):Play()debounce=true RemoveBlocking:FireServer();(game.TweenService:Create(workspace.CurrentCamera,TweenInfo.new(.3,Enum.EasingStyle.Linear,Enum.EasingDirection.Out,0,false,0),{FieldOfView=70})):Play()hum.WalkSpeed=16 gaurdingAnimation:Stop()CooldownModule.New("\066\108\111\099\107",CD)task.wait(CD)debounce=false end UserInputService.InputBegan:Connect(function(Z,T)if T then return end if Z.KeyCode==Enum.KeyCode.F then if not char.Values:FindFirstChild("\083\116\117\110\110\101\100")and not debounce then if Status=="\110\105\108"then a()end end end end)UserInputService.InputEnded:Connect(function(a)if a.KeyCode==Enum.KeyCode.F and Status=="\066\108\111\099\107\105\110\103"then Z()end end)

local function startBlocking()
	Status = "Blocking"
	game:GetService("SoundService").SFX.Combat.ActivateBlock:Play()

	local vignetteImageLabel = plr.PlayerGui.Vignette.ImageLabel
	game:GetService("TweenService"):Create(vignetteImageLabel, TweenInfo.new(1, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut, 0, false, 0), {ImageTransparency = 0}):Play()

	BlockingRemote:FireServer()
	game.TweenService:Create(workspace.CurrentCamera, TweenInfo.new(.3, Enum.EasingStyle.Linear, Enum.EasingDirection.Out, 0, false, 0), {FieldOfView = 60}):Play()
	hum.WalkSpeed = 7
	gaurdingAnimation:Play()
end

local function stopBlocking()
	Status = "nil"
	game:GetService("SoundService").SFX.Combat.ActivateBlock:Play()

	local vignetteImageLabel = plr.PlayerGui.Vignette.ImageLabel
	game:GetService("TweenService"):Create(vignetteImageLabel, TweenInfo.new(1, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut, 0, false, 0), {ImageTransparency = 1}):Play()

	debounce = true
	RemoveBlocking:FireServer()
	game.TweenService:Create(workspace.CurrentCamera, TweenInfo.new(.3, Enum.EasingStyle.Linear, Enum.EasingDirection.Out, 0, false, 0), {FieldOfView = 70}):Play()
	hum.WalkSpeed = 16
	gaurdingAnimation:Stop()
	CooldownModule.New("Block", CD)
	task.wait(CD)
	debounce = false
end

UserInputService.InputBegan:Connect(function(input, isProcessed)
	if isProcessed then return end

	if input.KeyCode == Enum.KeyCode.F then
		if not char.Values:FindFirstChild("Stunned") and not debounce then
			if Status == "nil" then
				startBlocking()
			end
		end
	end
end)

UserInputService.InputEnded:Connect(function(input)
	if input.KeyCode == Enum.KeyCode.F and Status == "Blocking" then
		stopBlocking()
	end
end)
