when i press w the animation plays but does not stop.
local Player = game.Players.LocalPlayer local Character = Player.Character or script.Parent local Humanoid = Character.Humanoid local UserInputService = game:GetService("UserInputService") local AnimationId = 'rbxassetid://4397242217' local Key = 'W' UserInputService.InputBegan:Connect(function(Input, ItTyping) if ItTyping then return end if Input.KeyCode == Enum.KeyCode[Key] then local Animation = Instance.new("Animation") Animation.AnimationId = AnimationId local LoadAnimation = Humanoid:LoadAnimation(Animation) LoadAnimation:Play() end end) UserInputService.InputEnded:Connect(function(Input, IsTyping) if IsTyping then return end if Input.KeyCode == Enum.KeyCode[Key] then local Animation = Instance.new("Animation") Animation.AnimationId = AnimationId local LoadAnimation = Humanoid:LoadAnimation(Animation) LoadAnimation:Stop() end end)
The reason its not stopping is because in the end you're creating a new one then stopping it so this is how to fix.
local Player = game.Players.LocalPlayer local Character = Player.Character or script.Parent local Humanoid = Character.Humanoid local UserInputService = game:GetService("UserInputService") local AnimationId = 'rbxassetid://4397242217' local Key = 'W' UserInputService.InputBegan:Connect(function(Input, ItTyping) if ItTyping then return end if Input.KeyCode == Enum.KeyCode[Key] then local Animation = Instance.new("Animation") Animation.AnimationId = AnimationId local LoadAnimation = Humanoid:LoadAnimation(Animation) LoadAnimation:Play() Animation.Parent = Character Animation.name = "Animation" end end) UserInputService.InputEnded:Connect(function(Input, IsTyping) if IsTyping then return end if Input.KeyCode == Enum.KeyCode[Key] then if Character:FindFirstChild("Animation") == true then Humanoid:LoadAnimation(Character:FindFirstChild("Animation")):Stop() end end end)