Animation Changer v3
Key Required

Animation Changer v3

[⏰FASHIONABLY LATE] Die of DeathBurgerscriptsBurgerscripts 1.9K views 1.2K executesUpdated Mar 7, 2026
Unrated
00
Lua Script•387 lines (17933 chars)
local Players = game:GetService("Players")
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local LocalPlayer = Players.LocalPlayer
local UserInputService = game:GetService("UserInputService")
local StarterGui = game:GetService("StarterGui")
local RunService = game:GetService("RunService")
local ClientAnimationsLOL = game:GetService("Players").LocalPlayer.PlayerScripts.ClientAnimations

local animationsFolder = ReplicatedStorage:WaitForChild("Characters"):WaitForChild("Survivor"):WaitForChild("Civilian"):WaitForChild("Animations")
local deletedCount = 0

for _, item in ipairs(animationsFolder:GetChildren()) do
	if item:IsA("Animation") then
		item:Destroy()
		deletedCount += 1
	end
end

local deletedCount = 0

for _, item in ipairs(animationsFolder:GetChildren()) do
	if item:IsA("Animation") then
		item:Destroy()
		deletedCount += 1
	end
end

if deletedCount > 0 then
	StarterGui:SetCore("SendNotification", {
		Title = "Animations Deleted",
		Text = "We have deleted " .. deletedCount .. " animation(s)",
		Duration = 5
	})
end

print("Deleted " .. deletedCount .. " Animation object(s) from Civilian.Animations")

ClientAnimationsLOL.Enabled = false
task.wait()
ClientAnimationsLOL.Enabled = true

local character = LocalPlayer.Character or player.CharacterAdded:Wait()
local humanoid = character:WaitForChild("Humanoid")

-- Function to stop all currently playing animations
local function stopAllAnimations()
    for _, track in pairs(humanoid:GetPlayingAnimationTracks()) do
        track:Stop()  -- Stops the animation
    end
end

stopAllAnimations()



local animationSets = {
	Pursuer = {
		Zombie_1 = {Idle="108966832512824", Walk="140725165625502", Sprint="74766909298004", Special="133089990054529"},
		HardestGame = {Idle="98065949472006", Walk="86090280531902", Sprint="80622745059905", Special="130969844291143"},
		Derp = {Idle="116882648985413", Walk="116619914860672", Sprint="99710523608673", Special="127615305496836"},
		MISO = {Idle="110261771932085", Walk="77767207227090", Sprint="84579013254629", Special="121553057496251"},
		IQuot = {Idle="129538723059546", Walk="111262064101049", Sprint="133764223100629", Special="139854803244662"},
		Bling_Pursuer = {Idle="90352838780824", Walk="137664000771043", Sprint="118293298340723", Special="87593869628310"},
		Zombie_2 = {Idle="112741812425793", Walk="89072100139011", Sprint="83943871443312", Special="130969844291143"},
		Seesaws = {Idle="105229530451214", Walk="87100633181273", Sprint="76006312248383", Special="115832056782174"},
		Classic = {Idle="98065949472006", Walk="86090280531902", Sprint="80622745059905", Special="130969844291143"},
		The_Stalker = {Idle="140579314892039", Walk="131123864457422", Sprint="113129644775079", Special="134576092674459"},
		Phantasm = {Idle="80974060339218", Walk="80948338059832", Sprint="86509870627165", Special="87593869628310"},
		Zombie = {Idle="80974060339218", Walk="80948338059832", Sprint="86509870627165", Special="87593869628310"},
		Maze_Guy = {Idle="98065949472006", Walk="86090280531902", Sprint="80622745059905", Special="130969844291143"},
		Avoider = {Idle="80974060339218", Walk="80948338059832", Sprint="86509870627165", Special="87593869628310"},
		Clawsguy = {Idle="138700567973746", Walk="96333561042064", Sprint="96136930930416", Special="115832056782174"},
		MeQuot = {Idle="123989154628992", Walk="115493664585359", Sprint="130682734432079", Special="139854803244662"},
		Default = {Idle="80974060339218", Walk="80948338059832", Sprint="86509870627165", Special="87593869628310"},
		Yourself_Pursuer = {Idle="80974060339218", Walk="80948338059832", Sprint="86509870627165", Special="87593869628310"},
	},
	Artful = {
		Innovationful = {Idle="75829922277414", Walk="102669115888825", Sprint="131888686736060", Special="130969844291143"},
		Kind_Gal = {Idle="94558501077182", Walk="136960484622651", Sprint="89260818951530", Special="111012730078117"},
		Devesto = {Idle="75370292739676", Walk="70580402939971", Sprint="91726581626277", Special="118342888066359"},
		Builder = {Idle="94473571249263", Walk="102572617659889", Sprint="100948610539178", Special="118342888066359"},
		Cementful = {Idle="94473571249263", Walk="102572617659889", Sprint="100948610539178", Special="118342888066359"},
		Orchestraful = {Idle="96089657207073", Walk="86166363798441", Sprint="84734698021418", Special="102942152690202"},
		Evil_Guy = {Idle="94558501077182", Walk="136960484622651", Sprint="89260818951530", Special="111012730078117"},
		Noliful = {Idle="94473571249263", Walk="102572617659889", Sprint="100948610539178", Special="118342888066359"},
		Paintful = {Idle="94473571249263", Walk="102572617659889", Sprint="100948610539178", Special="118342888066359"},
		Default = {Idle="94473571249263", Walk="102572617659889", Sprint="100948610539178", Special="118342888066359"},
		Artistry = {Idle="94473571249263", Walk="102572617659889", Sprint="100948610539178", Special="118342888066359"},
		Tixful = {Idle="94473571249263", Walk="102572617659889", Sprint="100948610539178", Special="118342888066359"},
		SoRetro = {Idle="75829922277414", Walk="102669115888825", Sprint="131888686736060", Special="130969844291143"},
		Swapful = {Idle="94473571249263", Walk="102572617659889", Sprint="100948610539178", Special="118342888066359"},
		Seaful = {Idle="94473571249263", Walk="102572617659889", Sprint="100948610539178", Special="118342888066359"},
	},
	Harken = {
		Ena = {Idle="104774777136783", Walk="135226521217628", Sprint="119463021776325", Special="100130178279600"},
		Raigken = {Idle="104774777136783", Walk="135226521217628", Sprint="119463021776325", Special="100130178279600"},
		Ruins = {Idle="104774777136783", Walk="135226521217628", Sprint="119463021776325", Special="100130178279600"},
		Cesus = {Idle="109980283233330", Walk="123324217013146", Sprint="94668334962235", Special="71749363218670"},
		Audie = {Idle="104774777136783", Walk="135226521217628", Sprint="119463021776325", Special="100130178279600"},
		Sonorous = {Idle="104774777136783", Walk="135226521217628", Sprint="119463021776325", Special="100130178279600"},
		Default = {Idle="104774777136783", Walk="135226521217628", Sprint="119463021776325", Special="100130178279600"},
		Conceptual = {Idle="104774777136783", Walk="135226521217628", Sprint="119463021776325", Special="100130178279600"},
		Ancient = {Idle="104774777136783", Walk="135226521217628", Sprint="119463021776325", Special="100130178279600"},
		Hamken = {Idle="104774777136783", Walk="135226521217628", Sprint="119463021776325", Special="100130178279600"},
		Mr_Screwy = {Idle="104774777136783", Walk="135226521217628", Sprint="119463021776325", Special="100130178279600"},
		Discerna = {Idle="104774777136783", Walk="135226521217628", Sprint="119463021776325", Special="100130178279600"},
	},
	MROB = {
		Default = {Idle="128876353799791", Walk="84523208605356", Sprint="134893121838000", Special="87593869628310"},
	},
	Killdroid = {
		AwesomeDroid = {Idle="104698935553828", Walk="134273680881474", Sprint="87612866184239", Special="104679472375564"},
		Turkeydroid = {Idle="90197302481794", Walk="125969711702313", Sprint="123837551946715", Special="126477594063454"},
		Teadroid = {Idle="90197302481794", Walk="125969711702313", Sprint="123837551946715", Special="126477594063454"},
		MLGdroid = {Idle="104698935553828", Walk="134273680881474", Sprint="87612866184239", Special="104679472375564"},
		Jetdroid = {Idle="90197302481794", Walk="125969711702313", Sprint="123837551946715", Special="126477594063454"},
		Default = {Idle="90197302481794", Walk="125969711702313", Sprint="123837551946715", Special="126477594063454"},
		Pixeldroid = {Idle="104698935553828", Walk="134273680881474", Sprint="87612866184239", Special="104679472375564"},
		Eggdroid = {Idle="90197302481794", Walk="125969711702313", Sprint="123837551946715", Special="126477594063454"},
		Deathstar = {Idle="90197302481794", Walk="125969711702313", Sprint="123837551946715", Special="126477594063454"},
		Livedroid = {Idle="90197302481794", Walk="125969711702313", Sprint="123837551946715", Special="126477594063454"},
		Futuristic = {Idle="104698935553828", Walk="134273680881474", Sprint="87612866184239", Special="104679472375564"},
	},
	Badware = {
		Aeroware = {Idle="136507569552573", Walk="83428305423587", Sprint="120893352730955", Special="87704069305565"},
		Cookieware = {Idle="136507569552573", Walk="83428305423587", Sprint="120893352730955", Special="87704069305565"},
		Runicware = {Idle="136507569552573", Walk="83428305423587", Sprint="120893352730955", Special="87704069305565"},
		OMEGAWARE = {Idle="136507569552573", Walk="83428305423587", Sprint="120893352730955", Special="87704069305565"},
		Loveware = {Idle="136507569552573", Walk="83428305423587", Sprint="120893352730955", Special="87704069305565"},
		Devilware = {Idle="136507569552573", Walk="83428305423587", Sprint="120893352730955", Special="87704069305565"},
		Default = {Idle="136507569552573", Walk="83428305423587", Sprint="120893352730955", Special="87704069305565"},
		Spyware = {Idle="136507569552573", Walk="83428305423587", Sprint="120893352730955", Special="87704069305565"},
		Goodware = {Idle="136507569552573", Walk="83428305423587", Sprint="120893352730955", Special="87704069305565"},
		Angelware = {Idle="136507569552573", Walk="83428305423587", Sprint="120893352730955", Special="87704069305565"},
		Wiperware = {Idle="136507569552573", Walk="83428305423587", Sprint="120893352730955", Special="87704069305565"},
	},
	Other = {
		Civilian = {Idle="100930402371608", Walk="84388941697203", Sprint="137375023685630", Special="0"},
		None = {Idle="0", Walk="0", Sprint="0", Special="0"},
		Ghost = {Idle="110395159339100", Walk="133938914809228", Sprint="124260679864309", Special="0"},
		Old_Civilian = {Idle="74309548749074", Walk="138161225743614", Sprint="79488319304371", Special="0"},
		Paranoy = {Idle="134602487982711", Walk="83529184862062", Sprint="88244580627601", Special="0"}
	},
}

local blendTime = 0.2
local activeSetName, activeCategory = nil, nil
local characterData = {}

local tabShortNames = {
	Pursuer = "PR",
	Badware = "BW",
	Harken = "H",
	MROB = "MR",
	Killdroid = "KD",
	Artful = "A",
	Other = "Misc"
}

local function loadAnimationSet(character, category, setName)
	if not character or not category or not setName then return end
	local set = animationSets[category][setName]
	if not set then return end
	local humanoid = character:FindFirstChildOfClass("Humanoid")
	if not humanoid then return end
	local animator = humanoid:FindFirstChildOfClass("Animator") or Instance.new("Animator", humanoid)
	characterData[character] = characterData[character] or {}
	local data = characterData[character]
	if data.connection then data.connection:Disconnect() end
	for _, track in pairs(data.movementTracks or {}) do
		if track and track.IsPlaying then track:Stop(blendTime) end
	end
	local function loadAnim(animId, priority)
		if animId and animId ~= "none" and animId ~= "0" then
			local anim = Instance.new("Animation")
			anim.AnimationId = "rbxassetid://" .. animId
			local track = animator:LoadAnimation(anim)
			if priority then track.Priority = priority end
			return track
		end
	end
	data.movementTracks = {
		Idle = loadAnim(set.Idle, Enum.AnimationPriority.Core),
		Walk = loadAnim(set.Walk, Enum.AnimationPriority.Movement),
		Sprint = loadAnim(set.Sprint, Enum.AnimationPriority.Movement)
	}
	data.currentMovementTrack = nil
	if data.movementTracks.Idle then
		data.movementTracks.Idle:Play(blendTime)
		data.currentMovementTrack = data.movementTracks.Idle
	end
	data.connection = RunService.RenderStepped:Connect(function()
		local moving = humanoid.MoveDirection.Magnitude > 0.1
		local walkSpeed = humanoid.WalkSpeed or 16
		local newTrack
		if moving and walkSpeed > 18 then
			newTrack = data.movementTracks.Sprint
		elseif moving then
			newTrack = data.movementTracks.Walk
		else
			newTrack = data.movementTracks.Idle
		end
		if newTrack ~= data.currentMovementTrack then
			if data.currentMovementTrack and data.currentMovementTrack.IsPlaying then
				data.currentMovementTrack:Stop(blendTime)
			end
			if newTrack then newTrack:Play(blendTime) end
			data.currentMovementTrack = newTrack
		end
	end)
end

local PlayerGui = LocalPlayer:WaitForChild("PlayerGui")
local screenGui = Instance.new("ScreenGui")
screenGui.Name = "AnimationMenuGui"
screenGui.ResetOnSpawn = false
screenGui.Parent = PlayerGui

local toggleButton = Instance.new("TextButton")
toggleButton.Size = UDim2.new(0, 60, 0, 40)
toggleButton.Position = UDim2.new(1, -70, 0.5, -20)
toggleButton.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
toggleButton.TextColor3 = Color3.fromRGB(0, 0, 0)
toggleButton.Font = Enum.Font.Arcade
toggleButton.Text = "Menu"
toggleButton.TextScaled = true
toggleButton.Active = true
toggleButton.Draggable = true
toggleButton.Parent = screenGui
Instance.new("UICorner", toggleButton).CornerRadius = UDim.new(0, 10)

local mainFrame = Instance.new("Frame")
mainFrame.Size = UDim2.new(0, 320, 0, 400)
mainFrame.Position = UDim2.new(1, -340, 0, 20)
mainFrame.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
mainFrame.BorderSizePixel = 0
mainFrame.Active = true
mainFrame.Draggable = true
mainFrame.Visible = false
mainFrame.Parent = screenGui
Instance.new("UICorner", mainFrame).CornerRadius = UDim.new(0, 14)

local titleLabel = Instance.new("TextLabel")
titleLabel.Size = UDim2.new(1, 0, 0, 40)
titleLabel.BackgroundTransparency = 1
titleLabel.Text = "Supa Cool Anims"
titleLabel.TextColor3 = Color3.fromRGB(0, 0, 0)
titleLabel.Font = Enum.Font.Arcade
titleLabel.TextScaled = true
titleLabel.Parent = mainFrame

local closeBtn = Instance.new("TextButton")
closeBtn.Size = UDim2.new(0, 36, 0, 36)
closeBtn.Position = UDim2.new(1, 5, 0, -18)
closeBtn.AnchorPoint = Vector2.new(0, 0)
closeBtn.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
closeBtn.TextColor3 = Color3.fromRGB(0, 0, 0)
closeBtn.Text = "X"
closeBtn.Font = Enum.Font.Arcade
closeBtn.TextScaled = true
closeBtn.Parent = mainFrame
Instance.new("UICorner", closeBtn).CornerRadius = UDim.new(0, 6)

local tabBar = Instance.new("Frame")
tabBar.Size = UDim2.new(1, -20, 0, 30)
tabBar.Position = UDim2.new(0, 10, 0, 50)
tabBar.BackgroundTransparency = 1
tabBar.Parent = mainFrame
local tabList = Instance.new("UIListLayout")
tabList.FillDirection = Enum.FillDirection.Horizontal
tabList.Padding = UDim.new(0, 4)
tabList.Parent = tabBar

local scrollFrame = Instance.new("ScrollingFrame")
scrollFrame.Size = UDim2.new(1, -20, 1, -90)
scrollFrame.Position = UDim2.new(0, 10, 0, 90)
scrollFrame.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
scrollFrame.BorderSizePixel = 0
scrollFrame.ScrollBarThickness = 6
scrollFrame.Parent = mainFrame
local uiListLayout = Instance.new("UIListLayout")
uiListLayout.Padding = UDim.new(0, 6)
uiListLayout.SortOrder = Enum.SortOrder.LayoutOrder
uiListLayout.Parent = scrollFrame

local function clearChildren(parent)
	for _, c in ipairs(parent:GetChildren()) do
		if c:IsA("GuiObject") then c:Destroy() end
	end
end

local function showCategory(category)
	clearChildren(scrollFrame)
	for setName in pairs(animationSets[category]) do
		local btn = Instance.new("TextButton")
		btn.Size = UDim2.new(1, -10, 0, 38)
		btn.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
		btn.TextColor3 = Color3.fromRGB(0, 0, 0)
		btn.Font = Enum.Font.Arcade
		btn.Text = setName
		btn.TextScaled = true
		btn.AutoButtonColor = true
		btn.BorderSizePixel = 0
		btn.Parent = scrollFrame
		Instance.new("UICorner", btn).CornerRadius = UDim.new(0, 10)
		btn.MouseButton1Click:Connect(function()
			activeSetName, activeCategory = setName, category
			loadAnimationSet(LocalPlayer.Character, category, setName)
		end)
	end
	uiListLayout:GetPropertyChangedSignal("AbsoluteContentSize"):Connect(function()
		scrollFrame.CanvasSize = UDim2.new(0, 0, 0, uiListLayout.AbsoluteContentSize.Y + 10)
	end)
end

for category in pairs(animationSets) do
	local tabBtn = Instance.new("TextButton")
	tabBtn.Size = UDim2.new(0, 40, 1, 0)
	tabBtn.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
	tabBtn.TextColor3 = Color3.fromRGB(0, 0, 0)
	tabBtn.Font = Enum.Font.Arcade
	tabBtn.Text = tabShortNames[category] or category:sub(1,2)
	tabBtn.TextScaled = true
	tabBtn.AutoButtonColor = true
	tabBtn.BorderSizePixel = 0
	tabBtn.Parent = tabBar
	Instance.new("UICorner", tabBtn).CornerRadius = UDim.new(0, 6)
	tabBtn.MouseButton1Click:Connect(function()
		showCategory(category)
	end)
end

local firstCategory = next(animationSets)
if firstCategory then
	showCategory(firstCategory)
	activeCategory = firstCategory
end

local function blockCoreAnimations(character)
	if not character then return end
	local animFolder = character:FindFirstChild("Animations")
	if not animFolder then return end
	local blockList = {"Idle", "Walk", "Sprint", "Jump", "Sit", "PassiveAnimation"}
	for _, name in ipairs(blockList) do
		local anim = animFolder:FindFirstChild(name)
		if anim then
			local dummy = Instance.new("Animation")
			dummy.Name = anim.Name
			dummy.AnimationId = ""
			dummy.Parent = animFolder
			anim:Destroy()
		end
	end
end

LocalPlayer.CharacterAdded:Connect(function(char)
	char:WaitForChild("HumanoidRootPart", 5)
	task.wait(0.5)
	blockCoreAnimations(char)
	if activeSetName and activeCategory then
		loadAnimationSet(char, activeCategory, activeSetName)
	end
end)

if LocalPlayer.Character then
	task.delay(1, function()
		blockCoreAnimations(LocalPlayer.Character)
		if activeSetName and activeCategory then
			loadAnimationSet(LocalPlayer.Character, activeCategory, activeSetName)
		end
	end)
end

toggleButton.MouseButton1Click:Connect(function()
	mainFrame.Visible = not mainFrame.Visible
end)

closeBtn.MouseButton1Click:Connect(function()
	mainFrame.Visible = false
end)

UserInputService.InputBegan:Connect(function(input, gp)
	if gp then return end
	if input.KeyCode == Enum.KeyCode.M then
		mainFrame.Visible = not mainFrame.Visible
	end
end)

Features & Information

Credits to klingeris12 for making the original script

Community Comments (1)

Gerson_A50Gerson_A50Mar 9, 2026

ok 🔒: ••••••••••••

More Scripts for [⏰FASHIONABLY LATE] Die of Death