local S=script local w=S.Parent local J=nil local Z=w:FindFirstChild("\084\111\114\115\111")local u=Z:FindFirstChild("\082\105\103\104\116 \083\104\111\117\108\100\101\114")local a=Z:FindFirstChild("\076\101\102\116 \083\104\111\117\108\100\101\114")local l=Z:FindFirstChild("\082\105\103\104\116 \072\105\112")local x=Z:FindFirstChild("\076\101\102\116 \072\105\112")local K=Z:FindFirstChild("\078\101\099\107")local v="\083\116\097\110\100\105\110\103"for S,w in pairs(w:GetChildren())do if w.ClassName=="\072\117\109\097\110\111\105\100"then J=w end end function onRunning(S)if S>.001 then v="\082\117\110\110\105\110\103"else v="\083\116\097\110\100\105\110\103"end end function onDied()v="\068\101\097\100"end function onJumping()v="\074\117\109\112\105\110\103"end function onClimbing()v="\067\108\105\109\098\105\110\103"end function onGettingUp()v="\071\101\116\116\105\110\103\085\112"end function onFreeFall()v="\070\114\101\101\070\097\108\108"end function onFallingDown()v="\070\097\108\108\105\110\103\068\111\119\110"end function onSeated()v="\083\101\097\116\101\100"end function moveJump()u.MaxVelocity=.5 a.MaxVelocity=.5 u.DesiredAngle=3.14 a.DesiredAngle=-3.14 l.DesiredAngle=0 x.DesiredAngle=0 end function moveFreeFall()u.MaxVelocity=1 a.MaxVelocity=1 u.DesiredAngle=4 a.DesiredAngle=-4 l.DesiredAngle=1 x.DesiredAngle=1 end function moveSit()u.MaxVelocity=.15 a.MaxVelocity=.15 u.DesiredAngle=1.57 a.DesiredAngle=-1.57 l.DesiredAngle=.5 x.DesiredAngle=-0.5 end function move(S)local w local Z if v=="\074\117\109\112\105\110\103"then moveJump()return end if v=="\070\114\101\101\070\097\108\108"then moveFreeFall()return end if v=="\083\101\097\116\101\100"then moveSit()return end local K=0 if v=="\082\117\110\110\105\110\103"then u.MaxVelocity=.2 a.MaxVelocity=.2 l.MaxVelocity=.2 x.MaxVelocity=.2 if J.WalkSpeed~=35 then w=.4 Z=4 else w=2 Z=12 end elseif v=="\067\108\105\109\098\105\110\103"then u.MaxVelocity=.3 a.MaxVelocity=.3 l.MaxVelocity=1 x.MaxVelocity=1 w=.4 Z=6 K=3.14 else w=.1 Z=1 end local H=w*math.sin(S*Z)if J.WalkSpeed==1 then u.MaxVelocity=.05 a.MaxVelocity=.05 u.DesiredAngle=3.14 a.DesiredAngle=-3.14 end if J.WalkSpeed>10 then u.MaxVelocity=5 a.MaxVelocity=5 u.DesiredAngle=1.57 a.DesiredAngle=-1.57 l.MaxVelocity=3 x.MaxVelocity=3 end if J.WalkSpeed~=1 and J.WalkSpeed~=35 then u.DesiredAngle=H+K a.DesiredAngle=H-K end l.DesiredAngle=-H x.DesiredAngle=-H end J.Died:connect(onDied)J.Running:connect(onRunning)J.Jumping:connect(onJumping)J.Climbing:connect(onClimbing)J.GettingUp:connect(onGettingUp)J.FreeFalling:connect(onFreeFall)J.FallingDown:connect(onFallingDown)J.Seated:connect(onSeated)local H=0 local O=game:service("\082\117\110\083\101\114\118\105\099\101")while Wait(0)do local S=O.Stepped:wait(0)if S>H then move(S)H=S end end
--[[ By: Brutez. ]]
--
local FreeSCP096AnimationScript = script
local FreeSCP096 = FreeSCP096AnimationScript.Parent
local FreeSCP096Humanoid = nil
local FreeSCP096Torso = FreeSCP096:FindFirstChild("Torso")
local RightShoulder = FreeSCP096Torso:FindFirstChild("Right Shoulder")
local LeftShoulder = FreeSCP096Torso:FindFirstChild("Left Shoulder")
local RightHip = FreeSCP096Torso:FindFirstChild("Right Hip")
local LeftHip = FreeSCP096Torso:FindFirstChild("Left Hip")
local Neck = FreeSCP096Torso:FindFirstChild("Neck")
local pose = "Standing"
for _, Child in pairs(FreeSCP096:GetChildren()) do
	if Child.ClassName == "Humanoid" then
		FreeSCP096Humanoid = Child
	end
end
function onRunning(speed)
	if speed > 0.001 then
		pose = "Running"
	else
		pose = "Standing"
	end
end
function onDied()
	pose = "Dead"
end
function onJumping()
	pose = "Jumping"
end
function onClimbing()
	pose = "Climbing"
end
function onGettingUp()
	pose = "GettingUp"
end
function onFreeFall()
	pose = "FreeFall"
end
function onFallingDown()
	pose = "FallingDown"
end
function onSeated()
	pose = "Seated"
end
function moveJump()
	RightShoulder.MaxVelocity = 0.5
	LeftShoulder.MaxVelocity = 0.5
	RightShoulder.DesiredAngle = 3.14
	LeftShoulder.DesiredAngle = -3.14
	RightHip.DesiredAngle = 0
	LeftHip.DesiredAngle = 0
end
function moveFreeFall()
	RightShoulder.MaxVelocity = 1
	LeftShoulder.MaxVelocity = 1
	RightShoulder.DesiredAngle = 4
	LeftShoulder.DesiredAngle = -4
	RightHip.DesiredAngle = 1
	LeftHip.DesiredAngle = 1
end
function moveSit()
	RightShoulder.MaxVelocity = 0.15
	LeftShoulder.MaxVelocity = 0.15
	RightShoulder.DesiredAngle = 3.14 / 2
	LeftShoulder.DesiredAngle = -3.14 / 2
	RightHip.DesiredAngle = 1 / 2
	LeftHip.DesiredAngle = -1 / 2
end
function move(time)
	local amplitude
	local frequency
	if pose == "Jumping" then
		moveJump()
		return
	end
	if pose == "FreeFall" then
		moveFreeFall()
		return
	end
	if pose == "Seated" then
		moveSit()
		return
	end
	local climbFudge = 0
	if pose == "Running" then
		RightShoulder.MaxVelocity = 0.2
		LeftShoulder.MaxVelocity = 0.2
		RightHip.MaxVelocity = 0.2
		LeftHip.MaxVelocity = 0.2
		if FreeSCP096Humanoid.WalkSpeed ~= 35 then
			amplitude = 0.4
			frequency = 4
		else
			amplitude = 2
			frequency = 12
		end
	elseif pose == "Climbing" then
		RightShoulder.MaxVelocity = 0.3
		LeftShoulder.MaxVelocity = 0.3
		RightHip.MaxVelocity = 1
		LeftHip.MaxVelocity = 1
		amplitude = 0.4
		frequency = 6
		climbFudge = 3.14
	else
		amplitude = 0.1
		frequency = 1
	end
	local desiredAngle = amplitude * math.sin(time * frequency)
	if FreeSCP096Humanoid.WalkSpeed == 1 then --Panic
		RightShoulder.MaxVelocity = 0.05
		LeftShoulder.MaxVelocity = 0.05
		RightShoulder.DesiredAngle = 3.14
		LeftShoulder.DesiredAngle = -3.14
	end
	if FreeSCP096Humanoid.WalkSpeed > 10 then
		RightShoulder.MaxVelocity = 5
		LeftShoulder.MaxVelocity = 5
		RightShoulder.DesiredAngle = 1.57
		LeftShoulder.DesiredAngle = -1.57
		RightHip.MaxVelocity = 3
		LeftHip.MaxVelocity = 3
	end
	if FreeSCP096Humanoid.WalkSpeed ~= 1 and FreeSCP096Humanoid.WalkSpeed ~= 35 then
		RightShoulder.DesiredAngle = desiredAngle + climbFudge
		LeftShoulder.DesiredAngle = desiredAngle - climbFudge
	end
	RightHip.DesiredAngle = -desiredAngle
	LeftHip.DesiredAngle = -desiredAngle
end
FreeSCP096Humanoid.Died:connect(onDied)
FreeSCP096Humanoid.Running:connect(onRunning)
FreeSCP096Humanoid.Jumping:connect(onJumping)
FreeSCP096Humanoid.Climbing:connect(onClimbing)
FreeSCP096Humanoid.GettingUp:connect(onGettingUp)
FreeSCP096Humanoid.FreeFalling:connect(onFreeFall)
FreeSCP096Humanoid.FallingDown:connect(onFallingDown)
FreeSCP096Humanoid.Seated:connect(onSeated)
local nextTime = 0
local runService = game:service("RunService")
while Wait(0) do
	local time = runService.Stepped:wait(0)
	if time > nextTime then
		move(time)
		nextTime = time
	end
end
