Advertisement
Guest User

Auto Bot code

a guest
Apr 1st, 2013
633
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. import flash.utils.Timer;
  2. import flash.events.MouseEvent;
  3. import flash.events.TimerEvent;
  4. //Array Definitions. These will hold all of the values needed.
  5. var Quests:Array = [0];
  6. var arr:Array = [0];
  7. var drops:Array = [0];
  8. var mapItems:Array = [0];
  9. //Integer definitions. These will work as the position check;
  10. var curQuest:int;
  11. var Pos:int = 0;
  12. var dropID:int;
  13. var drpIndex:int = 0;
  14. var curMap:int;
  15. var mapIndex:int = 0;
  16. //Timer Definitions
  17. //this is the main Timer. Even if your bot will not fight, you need to start it.
  18. var botCore:Timer = new Timer(2500);
  19. //this timer is used for skill management. Don't touch!
  20. var myTimer:Timer;
  21. //same as above
  22. var skill:Timer = new Timer(3500);
  23. //This is the timer handling all of the combat.
  24. var main:Timer = new Timer(3000);
  25. //Boolean Definitions, those values will set wether the bot will activate the functions or not
  26. var enabledQuests:Boolean = false;
  27. var enabledDrops:Boolean = false;
  28. var enabledMapItems:Boolean = false;
  29. var pvpRelated:Boolean = false;
  30.  
  31.  
  32. botCore.addEventListener(TimerEvent.TIMER, coreFunctions);
  33. go.addEventListener(MouseEvent.CLICK, startAction);
  34. function startAction(e:MouseEvent)
  35. {
  36.     go.enabled = false;
  37.     _stop.enabled = true;
  38.     getSkills(Game.world.myAvatar.objData.strClassName);
  39.     switch (curBot.selectedItem.data)
  40.     {
  41.        
  42.         case "1" ://arcangrove
  43.             Quests = [794,795,796,797,798,799,800,801];
  44.             Game.world.getQuests(Quests);
  45.             botCore.start();
  46.             main.start();
  47.             if (Game.world.strMapName == "arcangrove")
  48.             {
  49.                 Game.world.moveToCell("Back", "Right");
  50.             }
  51.             else
  52.             {
  53.                 Game.world.gotoTown("arcangrove-999999", "Back", "Right");
  54.             }
  55.             break;
  56.             //Etherstorm Airstorm Rep;
  57.         case "2" :
  58.             Quests = [1596,1578];
  59.             drops = [10700];
  60.             enabledQuests = true;
  61.             botCore.start();
  62.             main.start();
  63.             Game.world.getQuests(Quests);
  64.             if (Game.world.strMapName == "airstorm")
  65.             {
  66.                 Game.world.moveToCell("r12", "Left");
  67.             }
  68.             else
  69.             {
  70.                 Game.world.gotoTown("airstorm-999999", "r12", "Left");
  71.             }
  72.             break;
  73.             //Alchemy Reagents. Refer here for examples on how to enable drop accepting.
  74.         case "3" :
  75.             drops = [11475,11478];
  76.             main.start();
  77.             enabledDrops = true;
  78.             enabledQuests = false;
  79.             botCore.start();
  80.             if (Game.world.strMapName == "lair")
  81.             {
  82.                 Game.world.moveToCell("Enter", "Spawn");
  83.             }
  84.             else
  85.             {
  86.                 Game.world.gotoTown("lair-9999999", "Enter", "Spawn");
  87.             }
  88.             break;
  89.             //Chronospan Rep;
  90.         case "4" :
  91.             Quests = [2197,2203,2204,2205,2208];
  92.             Game.world.getQuests(Quests);
  93.             enabledQuests = true;
  94.             botCore.start();
  95.             main.start();
  96.             if (Game.world.strMapName == "thespan")
  97.             {
  98.                 Game.world.moveToCell("Enter", "Left");
  99.             }
  100.             else
  101.             {
  102.                 Game.world.gotoTown("thespan-99999999", "Enter", "Left");
  103.             }
  104.             break;
  105.         case "5" :
  106.             main.start();
  107.             if (Game.world.strMapName == "pirates")
  108.             {
  109.                 Game.world.moveToCell("BlackEnd", "Right");
  110.             }
  111.             else
  112.             {
  113.                 Game.world.gotoTown("pirates-99999999", "BlackEnd", "Right");
  114.             }//Undead Pirates XP;
  115.             break;
  116.         case "6" :
  117.             if (Game.world.myAvatar.isUpgraded())
  118.             {
  119.                 Quests = [1009,1010,1013,1014,1006];
  120.                 Game.world.getQuests(Quests);
  121.                 main.start();
  122.                 botCore.start();
  123.                 enabledQuests = true;
  124.                 if (Game.world.strMapName == "skyguard")
  125.                 {
  126.                     Game.world.moveToCell("r2", "Up");
  127.                 }
  128.                 else
  129.                 {
  130.                     Game.world.gotoTown("skyguard-99999999", "r2", "Up");
  131.                 }
  132.             }
  133.             else
  134.             {
  135.                 Game.MsgBox.notify("this is A Member Bot Only");
  136.                 go.enabled = true;
  137.                 _stop.enabled = false;
  138.             }//Skyguard Rep;
  139.             break;
  140.         case "7" ://Horc Rep. Refer here for one map item example
  141.             Quests = [1200,1201,1203,1205,1206,1207,1208,1209,1210];
  142.             mapItems = [500,502,505,513];
  143.             Game.world.getQuests(Quests);
  144.             enabledQuests = true;
  145.             enabledMapItems = true;
  146.             botCore.start();
  147.             main.start();
  148.             if (Game.world.strMapName == "bloodtusk")
  149.             {
  150.                 Game.world.moveToCell("r15", "Left");
  151.             }
  152.             else
  153.             {
  154.                 Game.world.gotoTown("bloodtusk-9999999", "r15", "Left");
  155.             }
  156.             break;
  157.         case "8"://Troll Rep;
  158.               Quests = [1180,1181,1183,1185,1186];
  159.              mapItems = [500,502,503,505];
  160.              Game.world.getQuests(Quests);
  161.              enabledQuests = true;
  162.              enabledMapItems = true;
  163.              botCore.start();
  164.              main.start();
  165.              if(Game.world.strMapName == "bloodtusk")
  166.              {
  167.                  Game.world.moveToCell("r15", "Left");
  168.                 }
  169.              else
  170.              {
  171.                  Game.world.gotoTown("bloodtusk-99999", "r15", "Left");
  172.                  }
  173.              break;
  174.         case "9":
  175.                Quests = [1071, 1072, 1073, 1074, 1076];
  176.            Game.world.getQuests(Quests);
  177.            mapItems = [424,561,567,568];
  178.            enabledQuests = true;
  179.            enabledMapItems = true;
  180.            main.start();
  181.            botCore.start();
  182.            if(Game.world.strMapName == "doomwood")
  183.            {
  184.                Game.world.moveToCell("r8", "Right");
  185.            }
  186.            else
  187.            {
  188.                Game.world.gotoTown("doomwood-999999", "r8", "Right");  
  189.            }//Doomwood Rep;
  190.            break;
  191.         case "10":
  192.             Quests = [320,321,324,325,327];
  193.         Game.world.getQuests(Quests);
  194.         enabledQuests = true;
  195.         botCore.start();
  196.         main.start();
  197.         if(Game.world.strMapName == "pines")
  198.         {
  199.             Game.world.moveToCell("Enter", "Spawn");
  200.         }else
  201.         {
  202.             Game.world.gotoTown("pines-999999", "Enter", "Spawn");
  203.         }//DwarfHold Rep;
  204.            break;
  205.         case "11"://mythsong rep
  206.            if(Game.world.myAvatar.isUpgraded())
  207.            {
  208.               Quests = [633,634,635,647];
  209.            }
  210.            else
  211.            {
  212.                Quests = [633,634,635];
  213.            }
  214.            Game.world.getQuests(Quests);
  215.            enabledQuests = true;
  216.            main.start();
  217.            botCore.start();
  218.            if(Game.world.strMapName == "mythsong")
  219.            {
  220.                Game.world.moveToCell("Path", "Right");
  221.            }
  222.            else
  223.            {
  224.                Game.world.gotoTown("mythsong-999999", "Path", "Right");
  225.            }
  226.            break;
  227.            case "12"://Tainted Gem bot.
  228.            Quests = [569];
  229.            drops = [4708,4769];
  230.            enabledQuests = true;
  231.            enabledDrops = true;
  232.            Game.world.getQuests(Quests);
  233.            main.start();
  234.            botCore.start();
  235.            if(Game.world.strMapName == "boxes")
  236.            {
  237.                Game.world.moveToCell("Enter", "Spawn");
  238.            }
  239.            else
  240.            {
  241.                Game.world.gotoTown('boxes-999999', 'Enter', 'Spawn');
  242.            }
  243.            break;
  244.            case "13"://Horc + Troll bot.
  245.             Quests = [1200,1201,1203,1180,1181,1183];
  246.            mapItems = [500];
  247.            Game.world.getQuests(Quests);
  248.            enabledQuests = true;
  249.            enabledMapItems = true;
  250.            main.start();
  251.            botCore.start();
  252.            if(Game.world.strMapName == "bloodtusk"){Game.world.moveToCell("r15", "Left");}
  253.            else{Game.world.gotoTown("bloodtusk-99999", "r15", "Left")};
  254.            break;
  255.             }
  256. }
  257. function coreFunctions(e:TimerEvent)
  258. {
  259.     if (enabledQuests)
  260.     {
  261.         curQuest = Quests[Pos];
  262.         Pos++;
  263.         if (! Game.world.isQuestInProgress(curQuest))
  264.         {
  265.             Game.world.acceptQuest(curQuest);
  266.         }
  267.         if (Game.world.isQuestInProgress(curQuest) && Game.world.canTurnInQuest(curQuest))
  268.         {
  269.             Game.world.tryQuestComplete(curQuest);
  270.         }
  271.         if (Pos >= Quests.length)
  272.         {
  273.             Pos = 0;
  274.         }
  275.     }
  276.     if (enabledDrops)// o
  277.     {
  278.         dropID = drops[drpIndex];
  279.         drpIndex++;
  280.         Game.sfc.sendXtMessage("zm", "getDrop", [dropID], "str");
  281.         if (drpIndex >= drops.length)
  282.         {
  283.             drpIndex = 0;
  284.         }
  285.     }
  286.     if (enabledMapItems)
  287.     {
  288.        
  289.         curMap = mapItems[mapIndex];
  290.         mapIndex++;
  291.         Game.world.getMapItem(curMap);
  292.         if (mapIndex >= mapItems.length)
  293.         {
  294.             mapIndex = 0;
  295.         }
  296.     }
  297.  
  298.  
  299. }
  300. _stop.addEventListener(MouseEvent.CLICK, stopAll);
  301. function stopAll(e:MouseEvent)
  302. {
  303.     Quests = [0];
  304.     drops = [0];
  305.     mapItems = [0];
  306.     go.enabled = true;
  307.     _stop.enabled = false;
  308.     botCore.stop();
  309.     main.stop();
  310.     skill.stop();
  311.     enabledDrops = false;
  312.     enabledQuests = false;
  313.     enabledMapItems = false;
  314. }
  315. /////////////////////////////////////////////////////////////////////////;
  316. main.addEventListener(TimerEvent.TIMER, attacK);
  317. function attacK(e:TimerEvent)
  318. {
  319.     if (Game.world.mapLoadInProgress)
  320.     {
  321.         trace("not ready");
  322.         return;
  323.     }
  324.     else
  325.     {
  326.         var restMode:Boolean = false;
  327.         var curTarget:Object;
  328.         var allMon:Object = Game.world.getMonstersByCell(Game.world.strFrame);
  329.         for each (var mon:Object in allMon)
  330.         {
  331.             var monData:Object = mon.dataLeaf;
  332.             if (mon != Game.world.myAvatar.target && monData.MonID != 63 && monData.MonID != 254 && monData.MonID != 355 && monData.MonID != 808 && monData.MonID != 809 && monData.MonID != 938 && monData.intState >= 1)
  333.             {
  334.                 curTarget = mon;
  335.             }
  336.         }
  337.         if (Game.world.myAvatar.dataLeaf.intHP <= 600 && Game.world.myAvatar.dataLeaf.intState == 1)
  338.         {
  339.             Game.world.rest();
  340.             restMode = true;
  341.         }
  342.         if (Game.world.myAvatar.dataLeaf.intHP >= Game.world.myAvatar.dataLeaf.intHPMax)
  343.         {
  344.             restMode = false;
  345.         }
  346.         if (! restMode && Game.world.myAvatar.dataLeaf.intState == 1 && ! restMode && ! Game.world.myAvatar.target)
  347.         {
  348.             Game.world.setTarget(curTarget);
  349.         }
  350.         if (Game.world.myAvatar.target && ! Game.world.myAvatar.target.isMyAvatar && ! restMode)
  351.         {
  352.             Game.world.approachTarget();
  353.             skill.start();
  354.         }
  355.         if (curTarget != null)
  356.         {
  357.             if (curTarget.dataLeaf.intState < 1)
  358.             {
  359.                 curTarget = null;
  360.             }
  361.         }
  362.         if(Game.world.myAvatar.objData.intState <1)
  363.         {
  364.             rp.start();
  365.             skill.stop();
  366.         }
  367.         if (! Game.world.myAvatar.target && ! restMode && curTarget == null && Game.world.strMapName == "curseblue" || ! Game.world.myAvatar.target && ! restMode && curTarget == null && Game.world.strMapName == "mythsong" || ! Game.world.myAvatar.target && ! restMode && curTarget == null && Game.world.strMapName == "thespan"|| ! Game.world.myAvatar.target && ! restMode && curTarget == null && Game.world.strMapName == "boxes")
  368.         {
  369.             MoveToProper();
  370.         }
  371.     }
  372. }
  373.  
  374. function MoveToProper()
  375.     {
  376.         if(Game.world.strMapName == "curseblue"){
  377.         switch (Game.world.strFrame)
  378.         {
  379.             case "Enter" :
  380.                 Game.world.moveToCell("r2", "Left");
  381.                 break;
  382.             case "r2" :
  383.                 Game.world.moveToCell("r3", "Right");
  384.                 break;
  385.             case "r3" :
  386.                 Game.world.moveToCell("r4", "Left");
  387.                 break;
  388.             case "r4" :
  389.                 Game.world.moveToCell("r5", "Left");
  390.                 break;
  391.             case "r5" :
  392.                 Game.world.moveToCell("Enter", "Spawn");
  393.                 break;
  394.             default :
  395.                 break;
  396.         }
  397.         }
  398.         if(Game.world.strMapName == "mythsong")
  399.         {
  400.             switch(Game.world.strFrame)
  401.             {
  402.                 case "Path":
  403.                 //%xt%zm%moveToCell%1317%Cross%Left%
  404.                 Game.world.moveToCell("Cross", "Left");
  405.                 break;
  406.                 case "Cross":
  407.                 Game.world.moveToCell("Path", "Right");
  408.                 break;
  409.                 default:
  410.                 break;
  411.             }
  412.         }
  413.         if(Game.world.strMapName == "thespan")
  414.         {
  415.             switch(Game.world.strFrame)
  416.             {
  417.                 case "Enter":
  418.                 Game.world.moveToCell("r2", "Right");
  419.                 break;
  420.                 case "r2":
  421.                 Game.world.moveToCell("r3", "Up");
  422.                 break;
  423.                 case "r3":
  424.                 Game.world.moveToCell("Enter", "Left");
  425.                 break;
  426.                 default:
  427.                 break;
  428.                
  429.             }
  430.         }
  431.         if(Game.world.strMapName == "battleunderb")
  432.         {
  433.             switch(Game.world.strFrame)
  434.             {
  435.                 case "r1":
  436.                 Game.world.moveToCell("r2", "Left");
  437.                 break;
  438.                 case "r2":
  439.                 Game.world.moveToCell("r1", "Right");
  440.                 break;
  441.                 default:
  442.                 break;
  443.                
  444.                
  445.             }
  446.         }
  447.         if(Game.world.strMapName == "boxes")
  448.         {
  449.             switch(Game.world.strFrame)
  450.             {
  451.                 case "Enter":
  452.                 Game.world.moveToCell("Closet", "Right");
  453.                 break;
  454.                 case "Closet":
  455.                 Game.world.moveToCell("Fort1", "Right");
  456.                 break;
  457.                 case "Fort1":
  458.                 Game.world.moveToCell("Enter", "Spawn");
  459.                 default:
  460.                 break;
  461.                
  462.                
  463.             }
  464.         }
  465. }
  466.  
  467. ///////////////////////////////////////////////
  468.  
  469. skill.addEventListener(TimerEvent.TIMER, useSkillz);
  470. function getSkills(className:String)
  471. {
  472.  
  473.     trace("Getting recommended skills for: " + className);
  474.     var noClass:Array = className.split(" Class");
  475.     className = noClass.join("");
  476.     switch (className)
  477.     {// No Class
  478.         case "No" :
  479.             break;// Healer Classes
  480.         case "Healer" :
  481.         case "Acolyte" :
  482.         case "Witch" :
  483.             arr = [1,3,2];
  484.             break;//Mage Classes
  485.         case "Mage" :
  486.         case "Sorcerer" :
  487.             arr = [2,1];
  488.             break;//Warrior Classes
  489.         case "Warrior" :
  490.         case "Warlord" :
  491.         case "Beast Warrior" :
  492.         case "Pumpkin Lord" :
  493.             arr = [1,1,2];
  494.             break;//Rogue Classes
  495.         case "Rogue" :
  496.         case "Barber" :
  497.         case "Leprechaun" :
  498.         case "Pirate" :
  499.         case "Alpha Pirate" :
  500.         case "Renegade" :
  501.         case "Vampire" :
  502.             arr = [3,1,2];
  503.             break;//Berserker Classes
  504.         case "Berserker" :
  505.         case "Beta Berserker" :
  506.             arr = [4,1,2];
  507.             break;//Ninja Classes
  508.         case "Ninja" :
  509.         case "Assassin" :
  510.             arr = [3,1];
  511.             break;//Rustbucket Classes
  512.         case "Enforcer" :
  513.         case "Rustbucket" :
  514.         case "Protosartorium" :
  515.             arr = [1];
  516.             break;
  517.         case "Elemental Dracomancer" :
  518.             arr = [4,3,2];
  519.             break;
  520.             //Special Classes
  521.         case "Bard" :
  522.             arr = [1,4,3];
  523.             break;
  524.         case "CardClasher" :
  525.             arr = [1,2];
  526.             break;
  527.         case "Chaos Shaper" :
  528.             break;
  529.         case "Chronomancer" :
  530.             break;
  531.         case "ClawSuit" :
  532.             break;
  533.         case "Defender" :
  534.             arr = [1,1,1,2];
  535.             break;
  536.         case "DoomKnight" :
  537.             arr = [1,1,1,2];
  538.             break;
  539.         case "Dragonlord" :
  540.             arr = [2,3];
  541.             break;
  542.         case "Dragonslayer" :
  543.             arr = [1,2];
  544.             break;
  545.         case "Evolved Shaman" :
  546.             arr = [2,3,1];
  547.             break;
  548.         case "Evolved ClawSuit" :
  549.             arr = [1,2];
  550.             break;
  551.         case "Giftbox" :
  552.             break;
  553.         case "Guardian" :
  554.             arr = [1,1,2,3];
  555.             break;
  556.         case "Necromancer" :
  557.             arr = [2,2,2,2,2,4];
  558.             break;
  559.         case "Paladin" :
  560.             arr = [4,1];
  561.             break;
  562.         case "Ranger" :
  563.         case "Troll Spellsmith" :
  564.             arr = [4,4,4,4,4,2,1];
  565.             break;
  566.         case "Shaman" :
  567.             arr = [1,2];
  568.             break;
  569.         case "Starlord" :
  570.             break;
  571.         case "UndeadSlayer" :
  572.             break;
  573.         case "Vindicator Of They" :
  574.             arr = [2,2,3,4];
  575.             break;
  576.         case "MindBreaker" :
  577.             arr = [1,3];
  578.             break;
  579.         default :
  580.             break;
  581.     }
  582.  
  583. }
  584. ////////////////////////////////////////////
  585. var ran:int;
  586. var index:int = 0;
  587. var noSkills:Boolean;
  588. var actObj:Object;
  589. function useSkillz(e:TimerEvent)
  590. {
  591.  
  592.     ran = arr[index];
  593.     index++;
  594.  
  595.  
  596.  
  597.     if (Game.world.myAvatar.objData.intMP <= 20)
  598.     {
  599.         switch (Game.world.myAvatar.objData.strClassName)
  600.         {
  601.             case "Troll Spellsmith Class" :
  602.             case "Necromancer" :
  603.             case "Ninja Class" :
  604.                 actObj = Game.world.actions.active[3];
  605.                 break;
  606.             default :
  607.                 break;
  608.         }
  609.         skill.delay = actObj.cd + 100;
  610.     }
  611.     else
  612.     {
  613.         actObj = Game.world.actions.active[ran];
  614.  
  615.  
  616.  
  617.     }
  618.     if (Game.world.myAvatar.target && ! Game.world.myAvatar.target.isMyAvatar && Game.world.myAvatar.target.dataLeaf.intHP > 1 && Game.world.myAvatar.objData.intMP > actObj.mp)
  619.     {
  620.         if (actObj.isOK && actObj.cd < 15000 && actObj.mp < Game.world.myAvatar.objData.intMP)
  621.         {
  622.             Game.world.testAction(actObj);
  623.             Game.world.approachTarget();
  624.         }
  625.         if (! noSkills && actObj.cd >= 15000 && actObj.isOK)
  626.         {
  627.             noSkills = true;
  628.             trace(noSkills);
  629.             Game.world.testAction(actObj);
  630.             Game.world.approachTarget();
  631.             setup();
  632.         }
  633.  
  634.     }
  635.     if (actObj.cd < 15000)
  636.     {
  637.         skill.delay = actObj.cd;
  638.     }
  639.  
  640.  
  641.     if (index >= arr.length || !Game.world.myAvatar.target)
  642.     {
  643.         index = 0;
  644.     }
  645.  
  646.  
  647.  
  648. }
  649. function setup()
  650. {
  651.     trace("just checking...");
  652.     myTimer = new Timer(actObj.cd);
  653.     myTimer.addEventListener(TimerEvent.TIMER, restoreSkill);
  654.     myTimer.start();
  655. }
  656. function restoreSkill(e:Event)
  657. {
  658.     noSkills = false;//sSelect.visible = true;
  659.     trace("OK.");
  660.     trace("OK.");
  661.     trace("OK.");
  662.     trace("OK.");
  663.     myTimer.stop();
  664. }
  665. ///////////////////////////////////////////
  666. var rp:Timer = new Timer(11500, 1);
  667. rp.addEventListener(TimerEvent.TIMER, reSpawn);
  668. function reSpawn(e:Event){
  669.     var resMC:MovieClip = MovieClip(Game.ui.mcRes);
  670.         resMC.resC = 10;
  671.         resMC.visible = false;
  672.         resMC.gotoAndStop(1);
  673.         Game.world.setSpawnPoint(Game.world.strFrame, Game.world.strPad);
  674.         Game.world.resPlayer();
  675.         //rp.stop();
  676.        
  677. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement