Czogista

materializowanie Margonem

Aug 7th, 2020 (edited)
446
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. // ==UserScript==
  2. // @name         materializowanie Margonem
  3. // @namespace    http://tampermonkey.net/
  4. // @version      0.1
  5. // @description  Materializuje wszystkie itemy wydropione z duchów (prosił bym o feedback czy wszystko w porządku na Czogi#0938)
  6. // @author       Czogi
  7. // @match        http://*.margonem.pl/
  8. // @grant        none
  9. // ==/UserScript==
  10.  
  11. const sleep = (time) => {
  12.   return new Promise((resolve) => setTimeout(resolve, time));
  13. };
  14.  
  15. class Craft {
  16.   constructor() {}
  17.   async craft() {
  18.     while (!window.g.barter) {
  19.       await sleep(200);
  20.     }
  21.     do {
  22.       var cancel = false;
  23.       const barter = window.g.barter;
  24.       const craftItem = barter.barterOwnedData.find((item) => {
  25.                 return barter.items[item[0]].name.includes("Eter");
  26.             });
  27.       if (!craftItem) {
  28.         message("Zakończono materializowanie itemów.");
  29.         break;
  30.       }
  31.  
  32.       const items = Object.values(window.g.item).filter((item) => {
  33.         return item.loc == "g";
  34.       });
  35.       const components = items.filter((item) => {
  36.         return item.name == barter.items[craftItem[0]].name;
  37.       });
  38.  
  39.       const categories = Object.values(g.barter.allCategories).flat();
  40.       const offer = categories.find((item) => {
  41.         return item.required[0][0] == craftItem[0];
  42.       });
  43.  
  44.       const selectedItem = components.find((item) => {
  45.         return item;
  46.       });
  47.       _g(
  48.         "barter&id=" +
  49.           barter.barterId +
  50.           "&offerId=" +
  51.           offer.id +
  52.           "&selectedItems=" +
  53.           selectedItem.id +
  54.           "&action=use&usesCount=1&available=0&desiredItem=" +
  55.           offer.recived[0],
  56.         (response) => {
  57.           if (response.alert && response.alert == "Nie masz tyle złota!") {
  58.             cancel = true;
  59.           }
  60.         }
  61.       );
  62.       await sleep(window.g.delays.limit);
  63.     } while (!cancel);
  64.     if (cancel) {
  65.       message("Wystąpił błąd podczas materializowanie itemów.");
  66.     }
  67.   }
  68. }
  69. const oldTalk = npcTalk;
  70. const craft = new Craft();
  71. window.craft = craft;
  72. npcTalk = (data) => {
  73.   if (data[2] != "60382") {
  74.     return oldTalk(data);
  75.   }
  76.   oldTalk(data);
  77.   const replies = document.getElementsByClassName("replies")[0];
  78.   const repliesArr = replies.innerHTML.split("<li");
  79.   repliesArr.splice(
  80.     repliesArr.length - 1,
  81.     0,
  82.     ` onclick="_g('talk&id=${g.talk.id}&c=${data[11]}');craft.craft();" class="icon LINE_OPTION"><div class="icon LINE_OPTION"></div> Zmaterializuj proszę wszystkie moje przedmioty. </li>`
  83.   );
  84.   replies.innerHTML = repliesArr.join("<li");
  85. };
  86.  
Add Comment
Please, Sign In to add comment