Hello i kinda have a problem here. the zombies don't run even i have the speed as 2,  they don't do the "Run_Wuzi" Animation. any solution to fix this? 
code: 
ZombieLimit = get("zombies.MaxZombies")-- HOW MANY ZOMBIES SHOULD EXIST AT MAXIMUM?  ZombieStreaming = get("zombies.StreamMethod") -- 1 to constantly stream zombies, 0 to only allow zombies to spawn via createZombie function, 2 to only allow spawning at set spawnpoints  ZombiePedSkins = {13,22,56,67,68,69,70,92,97,105,107,108,126,127,128,152,162,167,188,195,206,209,212,229,230,258,264,277,280,287 } --ALTERNATE SKIN LISTS FOR ZOMBIES (SHORTER LIST IS TEXTURED ZOMBIES ONLY)  --ZombiePedSkins = {7,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,43,44,45,36,37,38,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,66,67,68,69,70,71,72,73,75,76,77,78,79,80,81,82,83,85,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,112,113,114,115,116,117,118,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,150,151,152,153,154,155,156,157,158,159,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,209,210,211,212,213,214,215,216,217,218,219,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,275,276,277,278,279,280,281,282,283,284,285,286,287,288 }  ZombieSpeed = get("zombies.Speed")  if ZombieSpeed == 0 then --super slow zombies (goofy looking)      chaseanim = "WALK_drunk"      checkspeed = 2000  elseif ZombieSpeed == 1 then -- normal speed      chaseanim = "run_old"      checkspeed = 1000  elseif ZombieSpeed == 2 then -- rocket zombies (possibly stressful on server)      chaseanim = "Run_Wuzi"      checkspeed = 680  else -- defaults back to normal      chaseanim = "run_old"      checkspeed = 1000  end  resourceRoot = getResourceRootElement()  moancount =0  moanlimit = 10  everyZombie = { }     --IDLE BEHAVIOUR OF A ZOMBIE  function Zomb_Idle (ped)      if isElement(ped) then          if ( getElementData ( ped, "status" ) == "idle" ) and ( isPedDead ( ped ) == false ) and (getElementData (ped, "zombie") == true) then              local action = math.random( 1, 6 )              if action < 4 then -- walk a random direction                  local rdmangle = math.random( 1, 359 )                  setPedRotation( ped, rdmangle )                  setPedAnimation ( ped, "PED", "Player_Sneak", -1, true, true, true)                  setTimer ( Zomb_Idle, 7000, 1, ped )              elseif action == 4 then -- get on the ground                  setPedAnimation ( ped, "MEDIC", "cpr", -1, false, true, true)                  setTimer ( Zomb_Idle, 4000, 1, ped )              elseif action == 5 then -- stand still doing nothing                  setPedAnimation ( ped )                  setTimer ( Zomb_Idle, 4000, 1, ped )              end          end      end  end     --BEHAVIOUR WHILE CHASING PLAYERS  function Zomb_chase (ped, Zx, Zy, Zz )      if isElement(ped) then          if (getElementData ( ped, "status" ) == "chasing") and (getElementData (ped, "zombie") == true) then              local x, y, z = getElementPosition( ped )              if (getElementData ( ped, "target" ) == nil) and getElementData ( ped, "Tx" ) ~= false then                           local Px = getElementData ( ped, "Tx" )                  local Py = getElementData ( ped, "Ty" )                  local Pz = getElementData ( ped, "Tz" )                  local Pdistance = (getDistanceBetweenPoints3D( Px, Py, Pz, x, y, z ))                  if (Pdistance < 1.5 ) then                      setTimer ( function (ped) if ( isElement ( ped ) ) then setElementData ( ped, "status", "idle" ) end end, 2000, 1, ped )                  end              end              local distance = (getDistanceBetweenPoints3D( x, y, z, Zx, Zy, Zz ))                          if (distance < 1 ) then -- IF THE PED HASNT MOVED                  if (getElementData ( ped, "target" ) == nil) then                      local giveup = math.random( 1, 15 )                      if giveup == 1 then                          setElementData ( ped, "status", "idle" )                      else                          local action = math.random( 1, 2 )                          if action == 1 then                              setPedAnimation ( ped )                              triggerClientEvent ( "Zomb_Punch", getRootElement(), ped )                              setTimer ( function (ped) if ( isElement ( ped ) ) then setPedAnimation ( ped, "ped", chaseanim, -1, true, true, true ) end end, 800, 1, ped )                              setTimer ( Zomb_chase, 2000, 1, ped, x, y, z )                          elseif action == 2 then                              setPedAnimation ( ped )                              triggerClientEvent ( "Zomb_Jump", getRootElement(), ped )                              setTimer ( Zomb_chase, 3500, 1, ped, x, y, z )                          end                      end                  else                       local Ptarget = (getElementData ( ped, "target" ))                      if isElement(Ptarget) then                          local Px, Py, Pz = getElementPosition( Ptarget )                          local Pdistance = (getDistanceBetweenPoints3D( Px, Py, Pz, Zx, Zy, Zz ))                          if (Pdistance < 1.2 ) then -- ATTACK A PLAYER IF THEY ARE CLOSE                              if ( isPedDead ( Ptarget ) ) then --EAT A DEAD PLAYER                                  setPedAnimation ( ped )                                  setPedAnimation ( ped, "MEDIC", "cpr", -1, false, true, false)                                  setTimer ( function (ped) if ( isElement ( ped ) ) then setElementData ( ped, "status", "idle" ) end end, 10000, 1, ped )                                  setTimer ( function (ped) if ( isElement ( ped ) ) then setPedRotation ( ped, getPedRotation(ped)-180) end end, 10000, 1, ped )                                  zmoan(ped)                              else                                  local action = math.random( 1, 6 )                                  if action == 1 then                                      setPedAnimation ( ped)                                      triggerClientEvent ( "Zomb_Jump", getRootElement(), ped )                                      setTimer ( Zomb_chase, 2000, 1, ped, x, y, z )                                  else                                      setPedAnimation ( ped)                                      triggerClientEvent ( "Zomb_Punch", getRootElement(), ped )                                      setTimer ( function (ped) if ( isElement ( ped ) ) then setPedAnimation ( ped, "ped", chaseanim, -1, true, true, true ) end end, 800, 1, ped )                                      setTimer ( Zomb_chase, 2000, 1, ped, x, y, z )                                  end                              end                          else                              if ( isPedDead (Ptarget) ) then                              setTimer ( function (ped) if ( isElement ( ped ) ) then setElementData ( ped, "status", "idle" ) end end, 2000, 1, ped )                              setTimer ( function (ped) if ( isElement ( ped ) ) then setPedRotation ( ped, getPedRotation(ped)-180) end end, 1800, 1, ped )                              else                                  local action = math.random( 1, 2 )                                  if action == 1 then                                      setPedAnimation ( ped)                                      triggerClientEvent ( "Zomb_Punch", getRootElement(), ped )                                      setTimer ( function (ped) if ( isElement ( ped ) ) then setPedAnimation ( ped, "ped", chaseanim, -1, true, true, true ) end end, 800, 1, ped )                                      setTimer ( Zomb_chase, 2000, 1, ped, x, y, z )                                  elseif action == 2 then                                      setPedAnimation ( ped)                                      triggerClientEvent ( "Zomb_Jump", getRootElement(), ped )                                      setTimer ( Zomb_chase, 2000, 1, ped, x, y, z )                                  end                              end                          end                      else                          setElementData ( ped, "status", "idle" )                      end                  end              else                  setPedAnimation ( ped, "ped", chaseanim, -1, true, true, true) --KEEP WALKING                  setTimer ( Zomb_chase, checkspeed, 1, ped, x, y, z ) --CHECK AGAIN              end          end      end  end     --SET THE DIRECTION OF THE ZOMBIE  function setangle ()      for theKey,ped in ipairs(everyZombie) do          if isElement(ped) then              if ( getElementData ( ped, "status" ) == "chasing" ) then                  local x                  local y                  local z                  local px                  local py                  local pz                  if ( getElementData ( ped, "target" ) ~= nil ) then                      local ptarget = getElementData ( ped, "target" )                      if isElement(ptarget) then                          x, y, z = getElementPosition( ptarget )                          px, py, pz = getElementPosition( ped )                      else                          setElementData ( ped, "status", "idle" )                          x, y, z = getElementPosition( ped )                          px, py, pz = getElementPosition( ped )                      end                      zombangle = ( 360 - math.deg ( math.atan2 ( ( x - px ), ( y - py ) ) ) ) % 360 --MAGIC SPELL TO MAKE PEDS LOOK AT YOU                      setPedRotation( ped, zombangle )                  elseif ( getElementData ( ped, "target" ) == nil ) and (getElementData ( ped, "Tx" ) ~= false) then --IF THE PED IS AFTER THE PLAYERS LAST KNOWN WHEREABOUTS                      x = getElementData ( ped, "Tx" )                      y = getElementData ( ped, "Ty" )                      z = getElementData ( ped, "Tz" )                      px, py, pz = getElementPosition( ped )                      zombangle = ( 360 - math.deg ( math.atan2 ( ( x - px ), ( y - py ) ) ) ) % 360 --MAGIC SPELL TO MAKE PEDS LOOK AT YOU                      setPedRotation( ped, zombangle )                  end              end          end      end  end     --SETS THE ZOMBIE ACTIVITY WHEN STATUS CHANGES  addEventHandler ( "onElementDataChange", getRootElement(),  function ( dataName )      if getElementType ( source ) == "ped" and dataName == "status" then          if (getElementData (source, "zombie") == true) then              if ( isPedDead ( source ) == false ) then                  if (getElementData ( source, "status" ) ==  "chasing" ) then                      local Zx, Zy, Zz = getElementPosition( source )                      setTimer ( Zomb_chase, 1000, 1, source, Zx, Zy, Zz )                      local newtarget = (getElementData ( source, "target" ))                      if isElement (newtarget) then                          if getElementType ( newtarget ) == "player" then                              setElementSyncer ( source, newtarget )                          end                      end                      zmoan(source)                  elseif (getElementData ( source, "status" ) ==  "idle" ) then                      setTimer ( Zomb_Idle, 1000, 1, source)                  elseif (getElementData ( source, "status" ) ==  "throatslashing" ) then                      local tx,ty,tz = getElementPosition( source )                      local ptarget = getElementData ( source, "target" )                      if isElement(ptarget) then                          local vx,vy,vz = getElementPosition( ptarget )                          local zombdistance = (getDistanceBetweenPoints3D (tx, ty, tz, vx, vy, vz))                          if (zombdistance < .-- s8) --> then                              zmoan(source)                              setPedAnimation ( source, "knife", "KILL_Knife_Player", -1, false, false, true)                              setPedAnimation ( ptarget, "knife", "KILL_Knife_Ped_Damage", -1, false, false, true)                              setTimer ( Playerthroatbitten, 2300, 1, ptarget, source)                               setTimer ( function (source) if ( isElement ( source ) ) then setElementData ( source, "status", "idle" ) end end, 5000, 1, source )                          else                              setElementData ( source, "status", "idle" )                          end                      else                          setElementData ( source, "status", "idle" )                      end                  end              elseif (getElementData ( source, "status" ) ==  "dead" ) then                  setTimer ( Zomb_delete, 10000, 1, source)              end          end      end  end)     --RESOURCE START/INITIAL SETUP  function outbreak(startedResource)      newZombieLimit = get("" .. getResourceName(startedResource) .. ".Zlimit")      if newZombieLimit ~= false then          if newZombieLimit > ZombieLimit then               newZombieLimit = ZombieLimit          end      else          newZombieLimit = ZombieLimit      end      WoodTimer = setTimer ( WoodSetup, 2000, 1) -- CHECKS FOR BARRIERS      if startedResource == getThisResource() then  --      call(getResourceFromName("scoreboard"), "scoreboardAddColumn", "Zombie kills") --ADDS TO SCOREBOARD          local allplayers = getElementsByType ( "player" )          for pKey,thep in ipairs(allplayers) do              setElementData ( thep, "dangercount", 0 )          end           local alivePlayers = getAlivePlayers ()          for playerKey, playerValue in ipairs(alivePlayers) do              setElementData ( playerValue, "alreadyspawned", true  )          end          if ZombieSpeed == 2 then              MainTimer1 = setTimer ( setangle, 200, 0) -- KEEPS ZOMBIES FACING THE RIGHT DIRECTION (fast)          else              MainTimer1 = setTimer ( setangle, 400, 0) -- KEEPS ZOMBIES FACING THE RIGHT DIRECTION          end          MainTimer3 = setTimer ( clearFarZombies, 3000, 0) --KEEPS ALL THE ZOMBIES CLOSE TO PLAYERS            if ZombieStreaming == 1 then              MainTimer2 = setTimer ( SpawnZombie, 2500, 0 ) --Spawns zombies in random locations          elseif ZombieStreaming == 2 then              MainTimer2 = setTimer ( SpawnpointZombie, 2500, 0 ) --spawns zombies in zombie spawnpoints          end      end  end  addEventHandler("onResourceStart", getRootElement(), outbreak)     function player_Connect()      setElementData ( source, "dangercount", 0 )  end