
Key Required VerifiedUniversal

local Players = game:GetService("Players")
local RunService = game:GetService("RunService")
local player = Players.LocalPlayer
-- Animation IDs
local defaultMoveAnimId = "rbxassetid://108287960442206"
local altMoveAnimId = "rbxassetid://109671225388655"
local idleAnimId = "rbxassetid://135419935358802"
-- GUI Setup (one-time)
local screenGui = Instance.new("ScreenGui")
screenGui.Name = "MoveAnimToggleGui"
screenGui.ResetOnSpawn = false
screenGui.Parent = player:WaitForChild("PlayerGui")
local toggleButton = Instance.new("TextButton")
toggleButton.Name = "ToggleButton"
toggleButton.Size = UDim2.new(0, 140, 0, 40)
toggleButton.Position = UDim2.new(0, 10, 0, 10)
toggleButton.Text = "Using Default Move"
toggleButton.BackgroundColor3 = Color3.fromRGB(50, 50, 50)
toggleButton.TextColor3 = Color3.new(1, 1, 1)
toggleButton.Parent = screenGui
-- Variables
local moveTrack, idleTrack, heartbeatConnection, toggleConnection
local useAltAnim = false
-- Helper to clean up old animation state
local function stopOldTracks()
if idleTrack then idleTrack:Stop() idleTrack:Destroy() end
if moveTrack then moveTrack:Stop() moveTrack:Destroy() end
if heartbeatConnection then heartbeatConnection:Disconnect() end
if toggleConnection then toggleConnection:Disconnect() end
end
-- Animation setup
local function setupAnimations(character)
stopOldTracks()
local humanoid = character:WaitForChild("Humanoid")
-- Disable default Animate script
local animate = character:FindFirstChild("Animate")
if animate then animate.Disabled = true end
-- Idle animation
local idleAnim = Instance.new("Animation")
idleAnim.AnimationId = idleAnimId
idleTrack = humanoid:LoadAnimation(idleAnim)
idleTrack.Priority = Enum.AnimationPriority.Action
idleTrack:Play()
-- Function to load move animation based on current toggle
local function loadMoveTrack()
if moveTrack then moveTrack:Stop() moveTrack:Destroy() end
local moveAnim = Instance.new("Animation")
moveAnim.AnimationId = useAltAnim and altMoveAnimId or defaultMoveAnimId
moveTrack = humanoid:LoadAnimation(moveAnim)
moveTrack.Priority = Enum.AnimationPriority.Movement
end
loadMoveTrack()
-- Movement logic loop
heartbeatConnection = RunService.Heartbeat:Connect(function()
local speed = humanoid.MoveDirection.Magnitude
-- Clean default idle animations
for _, track in pairs(humanoid:GetPlayingAnimationTracks()) do
if track.Animation.AnimationId ~= idleAnimId
and track.Animation.AnimationId ~= moveTrack.Animation.AnimationId then
if track.Priority == Enum.AnimationPriority.Core
or track.Name == "idle"
or track.Animation.AnimationId:lower():find("idle") then
track:Stop()
end
end
end
if speed > 0.01 then
if not moveTrack.IsPlaying then
idleTrack:Stop()
moveTrack:Play()
end
else
if not idleTrack.IsPlaying then
moveTrack:Stop()
idleTrack:Play()
end
end
end)
-- GUI toggle logic
toggleConnection = toggleButton.MouseButton1Click:Connect(function()
useAltAnim = not useAltAnim
toggleButton.Text = useAltAnim and "Using Alt Move" or "Using Default Move"
loadMoveTrack()
end)
end
-- Setup on current and future character loads
if player.Character then
setupAnimations(player.Character)
end
player.CharacterAdded:Connect(function(char)
setupAnimations(char)
end)



Doesn't work
It works for me though? might be since your executor doesnt allow this sort of script.
what executors does this work on?
Usually ones that arent locked to just loadstring or other shortened scripts.
delta?
yeah
Does it work on krnl
what is a safe executor and how would i run the script
yoooo i just made a script with a run animation and binded animation (bind key is b) am also gonna give it on pastebin sense i just made my acc here ;( but yea :D
what executers can this work.on
Honestly I don’t know how to use scripts, how can I make this work?
how do i use scripts?