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

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