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

  1. function init()
  2. {
  3.    if(runOnce)
  4.    {
  5.       return undefined;
  6.    }
  7.    this.runOnce = true;
  8.    this.weapon = 3;
  9.    this.hp = 100;
  10.    if(_root.cheats_imp)
  11.    {
  12.       this.mp = 100;
  13.    }
  14.    else
  15.    {
  16.       this.mp = 0;
  17.    }
  18.    this.dir = 1;
  19.    this.power = 5;
  20.    this.hitable = true;
  21.    this.level = _Y;
  22.    this.nLevel = _Y;
  23.    this.charName = "Saraswati";
  24.    this.lives = _root.player1Lives;
  25.    if(_name.substr(0,6) == "player")
  26.    {
  27.       setKey(_root.player1Left,_root.player1Right,_root.player1Jump,_root.player1Duck,_root.player1Attack,_root.player1Special);
  28.    }
  29.    this.left = false;
  30.    this.right = false;
  31.    this.jump = false;
  32.    this.duck = false;
  33.    this.attack = false;
  34.    this.intro = false;
  35.    gotoAndStop(getIdleState());
  36. }
  37. function setKey(keyLeft, keyRight, keyJump, keyDuck, keyAttack, keySpecial)
  38. {
  39.    if(keyLeft == undefined)
  40.    {
  41.       keyLeft = 37;
  42.    }
  43.    if(keyRight == undefined)
  44.    {
  45.       keyRight = 39;
  46.    }
  47.    if(keyJump == undefined)
  48.    {
  49.       keyJump = 83;
  50.    }
  51.    if(keyDuck == undefined)
  52.    {
  53.       keyDuck = 40;
  54.    }
  55.    if(keyAttack == undefined)
  56.    {
  57.       keyAttack = 65;
  58.    }
  59.    if(keySpecial == undefined)
  60.    {
  61.       keySpecial = 68;
  62.    }
  63.    control = new Object();
  64.    control.onKeyDown = function()
  65.    {
  66.       if(Key.isDown(keyLeft) && !Key.isDown(keyRight))
  67.       {
  68.          left = true;
  69.          right = false;
  70.       }
  71.       else if(Key.isDown(keyRight) && !Key.isDown(keyLeft))
  72.       {
  73.          right = true;
  74.          left = false;
  75.       }
  76.       else if(Key.isDown(keyLeft) && Key.isDown(keyRight))
  77.       {
  78.          left = false;
  79.          right = false;
  80.       }
  81.       if(Key.isDown(keyJump) && !Key.isDown(keyDuck))
  82.       {
  83.          jump = true;
  84.          duck = false;
  85.       }
  86.       else if(Key.isDown(keyDuck) && !Key.isDown(keyJump))
  87.       {
  88.          duck = true;
  89.          jump = false;
  90.       }
  91.       else if(Key.isDown(keyJump) && Key.isDown(keyDuck))
  92.       {
  93.          jump = false;
  94.          duck = false;
  95.       }
  96.       if(Key.isDown(keyAttack))
  97.       {
  98.          attack = true;
  99.       }
  100.       if(Key.isDown(keySpecial))
  101.       {
  102.          special = true;
  103.       }
  104.    };
  105.    control.onKeyUp = function()
  106.    {
  107.       if(!Key.isDown(keyLeft))
  108.       {
  109.          if(Key.isDown(keyRight))
  110.          {
  111.             right = true;
  112.          }
  113.          left = false;
  114.       }
  115.       if(!Key.isDown(keyRight))
  116.       {
  117.          if(Key.isDown(keyLeft))
  118.          {
  119.             left = true;
  120.          }
  121.          right = false;
  122.       }
  123.       if(!Key.isDown(keyJump))
  124.       {
  125.          jump = false;
  126.       }
  127.       if(!Key.isDown(keyDuck))
  128.       {
  129.          duck = false;
  130.       }
  131.       if(!Key.isDown(keyAttack))
  132.       {
  133.          attack = false;
  134.       }
  135.       if(!Key.isDown(keySpecial))
  136.       {
  137.          special = false;
  138.       }
  139.    };
  140.    Key.addListener(control);
  141. }
  142. function moveRight()
  143. {
  144.    speed = !duck ? 16 : 6;
  145.    if(dir < 0)
  146.    {
  147.       _X = !duck ? _X - 59 : _X - 30;
  148.       _xscale = _xscale * -1;
  149.    }
  150.    dir = 1;
  151.    gotoAndStop(!duck ? "fRun" : "fDuckWalk");
  152. }
  153. function moveLeft()
  154. {
  155.    speed = !duck ? 16 : 6;
  156.    if(dir > 0)
  157.    {
  158.       _X = !duck ? _X + 59 : _X + 30;
  159.       _xscale = _xscale * -1;
  160.    }
  161.    dir = -1;
  162.    gotoAndStop(!duck ? "fRun" : "fDuckWalk");
  163. }
  164. function jumpRight()
  165. {
  166.    speed = 16;
  167.    if(dir < 0)
  168.    {
  169.       _X = _X - 59;
  170.       _xscale = _xscale * -1;
  171.    }
  172.    dir = 1;
  173.    gotoAndStop(31);
  174. }
  175. function jumpLeft()
  176. {
  177.    speed = 16;
  178.    if(dir > 0)
  179.    {
  180.       _X = _X + 59;
  181.       _xscale = _xscale * -1;
  182.    }
  183.    dir = -1;
  184.    gotoAndStop(31);
  185. }
  186. function jumpUp()
  187. {
  188.    speed = 0;
  189.    gotoAndStop(31);
  190. }
  191. function attCombo(number)
  192. {
  193.    if(number == undefined)
  194.    {
  195.       trace("err: Combo number undefined!");
  196.       return undefined;
  197.    }
  198.    gotoAndStop(weapon <= 0 ? "fAttack0" + number : "fAttackWeapon0" + number);
  199. }
  200. function attJump()
  201. {
  202.    gotoAndStop(21);
  203. }
  204. function attDuck()
  205. {
  206.    gotoAndStop(20);
  207. }
  208. function attSpecial()
  209. {
  210.    if(mp < 40)
  211.    {
  212.       return undefined;
  213.    }
  214.    if(!_root.cheats_imp)
  215.    {
  216.       mp -= 40;
  217.    }
  218.    gotoAndStop(25);
  219. }
  220. function inStage()
  221. {
  222.    if(_parent.isScroll)
  223.    {
  224.       if(dir == 1 && _X + 50 < Stage.width / 2)
  225.       {
  226.          return true;
  227.       }
  228.       if(dir == -1 && _X - 50 > 0)
  229.       {
  230.          return true;
  231.       }
  232.       return false;
  233.    }
  234.    if(dir == 1 && _X + 50 < Stage.width)
  235.    {
  236.       return true;
  237.    }
  238.    if(dir == -1 && _X - 50 > 0)
  239.    {
  240.       return true;
  241.    }
  242.    return false;
  243. }
  244. function dirValue(number)
  245. {
  246.    return dir * number;
  247. }
  248. function sqrValue(g, x, h)
  249. {
  250.    if(x == undefined || g == undefined || h == undefined)
  251.    {
  252.       trace("err: sqrValue(g,x,h) undefined!");
  253.       return undefined;
  254.    }
  255.    g = Math.ceil(g / 2);
  256.    return level -= h * (g - x);
  257. }
  258. function duckDown()
  259. {
  260.    gotoAndStop(2);
  261. }
  262. function getHit(power, hard, object)
  263. {
  264.    this.hitter = object;
  265.    if(power == undefined)
  266.    {
  267.       trace("err: Hit power undefined!");
  268.       power = 0;
  269.    }
  270.    tempHp = hp;
  271.    if(!_root.cheats_inv)
  272.    {
  273.       hp -= power;
  274.    }
  275.    if(hp > 0)
  276.    {
  277.       if(_Y >= nLevel)
  278.       {
  279.          gotoAndStop(!hard ? "fHit01" : "fHit02");
  280.       }
  281.       else
  282.       {
  283.          gotoAndStop(_Y >= nLevel ? "fHit01" : "fHit02");
  284.       }
  285.    }
  286.    else
  287.    {
  288.       gotoAndStop(35);
  289.    }
  290. }
  291. function pickup()
  292. {
  293.    gotoAndStop(36);
  294. }
  295. function releaseWeapon(hitObject)
  296. {
  297.    temp = _parent.spawnObject("oWeapon" + _parent.getWeaponName(weapon),_X + dirValue(50));
  298.    if(hitObject)
  299.    {
  300.       temp.tempGetHit = true;
  301.    }
  302.    special = false;
  303.    weapon = 0;
  304. }
  305. function getIdleState()
  306. {
  307.    return weapon <= 0 ? "fIdle" : "fIdleWeapon";
  308. }
  309. this.onLoad = init();
  310. stop();
  311.