Advertisement
Guest User

sdsd

a guest
Oct 23rd, 2017
86
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. var curIndex = 0; //do not change
  2. setTimeout(next, 10000); //new char page every 10000 milliseconds
  3. var users = ["artix:a", "tom:a", "james:a", "drakath:a", "alina:a", "daisy:a", "valanoth:a", "oliboli8769:a", "lameon:yes"]; //list of users, use textmechanic.com to reformat
  4. var minLevel = 0; //minimum level you want a char to be
  5. var onlyOneGender = false; //if you only want 1 gender set to true
  6. var prefGender = "M"; //the gender that you only want
  7.  
  8. //Change the below for any achievements you want it to detect
  9. var lookOutForAchievements = ["Founder", "Beta Character", "Beta Tester", "Dragon Hero", "Axe Master", "Chaos Shaper", "Member", "1st Upholder", "2nd Upholder", "3rd Upholder", "4th Upholder", "5th Upholder", "6th Upholder", "7th Upholder", "8th Upholder", "9th Upholder", "PTR Tester"];
  10. //Change the below for any items you want it to detect
  11. var lookOutForItems = ["Red Cape"];
  12.  
  13. //NEEDED FOR FIX
  14. var checkedAccounts = [];
  15.  
  16. //////////////////////////////////////////////////
  17. //MAIN CODE BELOW
  18. //////////////////////////////////////////////////
  19.  
  20. var iframe = document.createElement('iframe');
  21. document.body.appendChild(iframe);
  22.  
  23. var results = document.createElement('textarea');
  24. document.getElementsByClassName("row servers")[0].appendChild(results);
  25.  
  26. var interesting = document.createElement('textarea');
  27. document.getElementsByClassName("row servers")[0].appendChild(interesting);
  28.  
  29. function next() {
  30.     produceList();
  31.     if (curIndex < users.length) {
  32.         console.log("-----------------");
  33.         console.log(cutUsername(users[curIndex]));
  34.         iframe.src = "http://www.aq.com/character.asp?id=" + cutUsername(users[curIndex]);
  35.         curIndex++;
  36.         setTimeout(next, 10000);
  37.         setTimeout(getDetails, 5000);
  38.     } else {
  39.         alert("Bot finished.");
  40.     }
  41. }
  42.  
  43. function produceList()
  44. {
  45.     if (checkedAccounts)
  46.     {
  47.         results.value = "";
  48.         var i = 0;
  49.         while (i < checkedAccounts.length)
  50.         {
  51.             console.log(checkedAccounts[i]);
  52.             if (checkedAccounts[i].ach == true || checkedAccounts[i].item == true)
  53.             {
  54.                 results.value = results.value + checkedAccounts[i].userpass + "\n";
  55.             }
  56.             i++;
  57.         }
  58.     }
  59. }
  60.  
  61. function cutUsername(s) {
  62.     return s.substring(0, s.indexOf(":"));
  63. }
  64.  
  65. function getDetails() {
  66.     var flashes = iframe.contentWindow.flashvars;
  67.     if (flashes) {
  68.         var level = getParameterByName("intLevel", flashes);
  69.         if (level >= minLevel) {
  70.             if (onlyOneGender) {
  71.                 if (prefGender == getParameterByName("strGender", flashes)) {
  72.                     //results.value = results.value + "\n" + users[curIndex - 1];
  73.                     var obj = new Object();
  74.                     obj.userpass = users[curIndex - 1];
  75.                     obj.item = false;
  76.                     obj.ach = false;
  77.                     checkedAccounts.push(obj);
  78.                     getAchs();
  79.                     getItems();
  80.                 }
  81.             } else {
  82.                 //results.value = results.value + "\n" + users[curIndex - 1];
  83.                 var obj = new Object();
  84.                 obj.userpass = users[curIndex - 1];
  85.                 obj.item = false;
  86.                 obj.ach = false;
  87.                 checkedAccounts.push(obj);
  88.                 getAchs();
  89.                 getItems();
  90.             }
  91.         }
  92.     } else {
  93.         console.log("Error.");
  94.     }
  95. }
  96.  
  97. function getItems() {
  98.     var items = iframe.contentDocument.getElementsByClassName("item");
  99.     var i = 0;
  100.     var foundAnItem = false;
  101.     if (items) {
  102.         var list = [];
  103.         while (i < items.length) {
  104.             //console.log(achs[i].attributes[7].value);
  105.             if (items[i].children[0]) {
  106.                 list.push(items[i].children[0].innerText);
  107.                 for (var n = 0, len = lookOutForItems.length; n < len; n++) {
  108.                     if (items[i].children[0].innerText.indexOf(lookOutForItems[n]) != -1) {
  109.                         interesting.value = interesting.value + "\n" + "ITEM: " + cutUsername(users[curIndex - 1]) + " has " + lookOutForItems[n];
  110.                         foundAnItem = true;
  111.                     }
  112.                 }
  113.             }
  114.             i++;
  115.         }
  116.         if (foundAnItem)
  117.         {
  118.             updateChecked(users[curIndex - 1], "item");
  119.         }
  120.         console.log(list);
  121.     }
  122. }
  123.  
  124. function getAchs() {
  125.     var achs = iframe.contentDocument.getElementsByClassName("achievements")[0].children;
  126.     var i = 0;
  127.     var foundAnAch = false;
  128.     if (achs) {
  129.         var list = [];
  130.         while (i < achs.length) {
  131.             list.push(achs[i].attributes[7].value);
  132.             for (var n = 0, len = lookOutForAchievements.length; n < len; n++) {
  133.                 if (achs[i].attributes[7].value == lookOutForAchievements[n]) {
  134.                     interesting.value = interesting.value + "\n" + "ACH: " + cutUsername(users[curIndex - 1]) + " has " + lookOutForAchievements[n];
  135.                     foundAnAch = true;
  136.                 }
  137.             }
  138.             i++;
  139.         }
  140.         if (foundAnAch)
  141.         {
  142.             updateChecked(users[curIndex - 1], "ach");
  143.             //checkedAccounts.splice(checkedAccounts.indexOf(users[curIndex - 1]), 1);
  144.         }
  145.         console.log(list);
  146.     }
  147. }
  148.  
  149. function updateChecked(u, t)
  150. {
  151.     var i = 0;
  152.     while (i < checkedAccounts.length)
  153.     {
  154.         if (checkedAccounts[i].userpass == u)
  155.         {
  156.             if (t == "ach")
  157.             {
  158.                 checkedAccounts[i].ach = true;
  159.             }
  160.             if (t == "item")
  161.             {
  162.                 checkedAccounts[i].item = true;
  163.             }
  164.         }
  165.         i++;
  166.     }
  167. }
  168.  
  169. function getParameterByName(name, url) {
  170.     if (!url) url = window.location.href;
  171.     name = name.replace(/[\[\]]/g, "\\$&");
  172.     var regex = new RegExp("[?&]" + name + "(=([^&#]*)|&|#|$)"),
  173.         results = regex.exec(url);
  174.     if (!results) return null;
  175.     if (!results[2]) return '';
  176.     return decodeURIComponent(results[2].replace(/\+/g, " "));
  177. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement