It prints anim played, does not show any errors with the script and yet does not work.
touched = false repeat wait()until plr.Character.LowerTorso.Anchored == true repeat wait()until plr.Character.LowerTorso.Anchored == false wait(5) while true do wait(.5) if touched == false then for _, descendant in pairs(plr.Character:GetDescendants())do if descendant:IsA("Part") or descendant:IsA("MeshPart") then descendant.Touched:Connect(function(hit) if touched == false then touched = true script.Parent.MidAirAnim.Disabled = true script.Parent.MidAirMovement.Disabled = true plr.Character.Animation:Destroy() plr.Character.LowerTorso.BodyVelocity:Destroy() local CrashLandAnim = Instance.new("Animation", plr.Character) CrashLandAnim.AnimationId = "http://www.roblox.com/asset/?id=2296730026" local humanoid = plr.Character:WaitForChild("Humanoid") local playanim = humanoid:LoadAnimation(CrashLandAnim) playanim:Play() print("anim played") end end) end end end end