home *** CD-ROM | disk | FTP | other *** search
/ 404 Jogos / CLJG.iso / Aventura / pendekar.swf / scripts / DefineSprite_442_oJagoanAI / frame_1 / DoAction.as
Text File  |  2006-05-08  |  2KB  |  88 lines

  1. function init()
  2. {
  3.    if(runOnce)
  4.    {
  5.       return undefined;
  6.    }
  7.    this.runOnce = true;
  8.    this.pBuffer = _parent._parent.pBuffer;
  9.    this.c = _parent;
  10. }
  11. function action()
  12. {
  13.    if(!c.hitable)
  14.    {
  15.       return undefined;
  16.    }
  17.    if(!c.action)
  18.    {
  19.       return undefined;
  20.    }
  21.    t = getClosestTarget();
  22.    if(t.dir * c.dir < 0)
  23.    {
  24.       tempT = t._x + t.dirValue(50);
  25.       tempC = c._x + c.dirValue(50);
  26.    }
  27.    else
  28.    {
  29.       tempT = t._x;
  30.       tempC = c._x + c.dirValue(50);
  31.    }
  32.    d = tempT - tempC;
  33.    r = random(100) + 1;
  34.    if(r <= c.mobility)
  35.    {
  36.       if(Math.abs(d) > 20)
  37.       {
  38.          if(d < 0)
  39.          {
  40.             c.moveLeft();
  41.          }
  42.          else if(d >= 0)
  43.          {
  44.             c.moveRight();
  45.          }
  46.       }
  47.       else if(r <= c.skill)
  48.       {
  49.          c.attCombo(1);
  50.       }
  51.       else
  52.       {
  53.          c.idle();
  54.       }
  55.    }
  56.    else
  57.    {
  58.       c.idle();
  59.    }
  60. }
  61. function getClosestTarget()
  62. {
  63.    i = 0;
  64.    while(i < pBuffer.length)
  65.    {
  66.       tempDist = Math.abs(pBuffer[i]._x - c._x);
  67.       if(i == 0)
  68.       {
  69.          lastDist = tempDist;
  70.          tempTarget = pBuffer[i];
  71.       }
  72.       else if(tempDist <= lastDist)
  73.       {
  74.          lastDist = tempDist;
  75.          tempTarget = pBuffer[i];
  76.       }
  77.       i++;
  78.    }
  79.    if(tempTarget == undefined)
  80.    {
  81.       trace("err: AI Target not found");
  82.    }
  83.    return tempTarget;
  84. }
  85. this.onLoad = init();
  86. this.onEnterFrame = action();
  87. play();
  88.