Here's the script ( isn't local ) :
local animC = Instance.new("AnimationController")
animC.Parent = script -- // Already tried parenting it to the model, still doesn't work.
local animTr = Instance.new("Animation")
print("Createdthe animation")
animTr.Parent = animC
animTr.AnimationId = "http://www.roblox.com/asset/?id=559959731"
print("Loading the animation.")
local animT = animC:LoadAnimation(animTr)
animT:Play()
if not animT.IsPlaying then
print("It isn't working!")
end
It shows the "Animator" so it plays, but it doesn't do it on the actual npc.
Here's a screenshot of the output :
https://gyazo.com/b7c60a71642fe92cf05959beeb4085b8
Structure of the NPC:

5 comments
I think that your NPC doesn't have a HumanoidRootPart, the Animation was animated on an R6 rig, or there isn't a wait() in the beginning.
Well, it has a HumanoidRootPart it's just the screenshot , I took it bad. I've put a second screenshot.
And also, I've put a wait() and still doesn't work, but the R6 Rig is from Roblox Animation Editor, so it should be R15 compatible?
The R15 Rig is completely different from R6. You either have to create your own rig or use a free modelled one.
Solved, the humanoid had to be removed, derp.