Run it
Copy the script and paste it into your executor.
Players = :()
UserInputService = :()
RunService = :()
player = Players.LocalPlayer
idleId =
forwardWalkId =
backwardWalkId =
sprintAnimId =
altIdleId =
altWalkId =
SPRINT_SPEED =
NORMAL_SPEED =
BACKWARD_SPEED =
SPRINT_ANIMATION_SPEED =
isSprinting =
isAltMode =
character
humanoid
rootPart
animator
idleTrack, forwardTrack, backwardTrack, sprintTrack
altIdleTrack, altForwardTrack, altBackwardTrack
heartbeatConn
speedLoopTask
currentTrack
(track, fadeTime)
track track.IsPlaying
track:(fadeTime )
(track, speedOverride)
track
currentTrack == track
track.IsPlaying
track:(, , speedOverride )
speedOverride
track:(speedOverride)
currentTrack
currentTrack:()
currentTrack = track
track:(, , speedOverride )
speedOverride
track:(speedOverride)
(animationId, priority, looped)
animationId animationId ==
anim = .()
anim.AnimationId = animationId
track = animator:(anim)
track.Priority = priority
track.Looped = looped
track
()
heartbeatConn heartbeatConn:()
speedLoopTask speedLoopTask =
_, track ({idleTrack, forwardTrack, backwardTrack, sprintTrack, altIdleTrack, altForwardTrack, altBackwardTrack})
(track, )
idleTrack = ; forwardTrack = ; backwardTrack = ; sprintTrack =
altIdleTrack = ; altForwardTrack = ; altBackwardTrack =
currentTrack =
character
animate = character:()
animate animate.Enabled =
()
isAltMode
altIdleTrack, altForwardTrack, altBackwardTrack backwardTrack,
idleTrack, forwardTrack, backwardTrack, sprintTrack
()
humanoid rootPart
moveDir = humanoid.MoveDirection
moving = moveDir.Magnitude >
isAltMode
humanoid.WalkSpeed = NORMAL_SPEED
moving
humanoid.WalkSpeed = isSprinting SPRINT_SPEED NORMAL_SPEED
dot = moveDir:(rootPart.CFrame.LookVector)
dot < -
humanoid.WalkSpeed = BACKWARD_SPEED
isSprinting
humanoid.WalkSpeed = SPRINT_SPEED
humanoid.WalkSpeed = NORMAL_SPEED
()
humanoid rootPart
idleT, forwardT, backwardT, sprintT = ()
moveDir = humanoid.MoveDirection
moving = moveDir.Magnitude >
moving
(idleT)
dot = moveDir:(rootPart.CFrame.LookVector)
dot < -
(backwardT)
isAltMode isSprinting sprintT
(sprintT, SPRINT_ANIMATION_SPEED)
(forwardT)
()
animator
idleTrack = (idleId, .AnimationPriority.Action, )
forwardTrack = (forwardWalkId, .AnimationPriority.Action, )
backwardTrack = (backwardWalkId, .AnimationPriority.Action, )
sprintTrack = (sprintAnimId, .AnimationPriority.Action4, )
altIdleTrack = (altIdleId, .AnimationPriority.Action, )
altForwardTrack = (altWalkId, .AnimationPriority.Action, )
altBackwardTrack = (backwardWalkId, .AnimationPriority.Action, )
(char)
()
character = char
.()
humanoid = character:(, )
rootPart = character:(, )
humanoid rootPart
animator = humanoid:() .()
animator.Parent = humanoid
animate = character:()
animate animate.Enabled =
()
()
()
healthConn = humanoid.HealthChanged:((health)
health <=
isAltMode
isAltMode =
()
()
)
speedLoopTask = .(()
character character.Parent humanoid humanoid.Parent
()
.()
)
heartbeatConn = RunService.Heartbeat:(()
character character.Parent
isAltMode isSprinting sprintTrack sprintTrack.IsPlaying
sprintTrack:(SPRINT_ANIMATION_SPEED)
()
)
.(()
character character.Parent .()
healthConn healthConn:()
)
UserInputService.InputBegan:((input, gameProcessed)
gameProcessed
input.KeyCode == .KeyCode.L
isAltMode = isAltMode
()
()
input.KeyCode == .KeyCode.X
isAltMode
isSprinting = isSprinting
()
()
)
player.CharacterAdded:(setupCharacter)
player.CharacterRemoving:(cleanup)
player.Character
.(setupCharacter, player.Character)
about time i think i return with this cool script and updated this. Hello, and Welcome to this script that replaces your animations! Showcase: https://x.com/_Party_exeDYLNz/status/2065939566058426765 Features: Sprint, Injured Animations, and Walking Backwards. Keybinds: X to Sprint (it stops your sprint animations when you're walking backwards) L to switch animations to show that you're injured! (IT DOESNT GO BACK IF YOU'RE LOWER THAN BEING AT 50 HP)

Universal