SHARE
TWEET

bot na expa ulepszona wersja

a guest Feb 24th, 2020 98 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. // ==UserScript==
  2. // @name         bot na expa ulepszony
  3. // @namespace    http://tampermonkey.net/
  4. // @version      5.00
  5. // @description  Ulepszona wersja
  6. // @author       Adi Wilk
  7. // @match        https://*.margonem.pl
  8. // @grant        none
  9. // ==/UserScript==
  10.  
  11. (function() {
  12.     'use strict';
  13. window.bot = new function() {
  14. $.getScript('http://addons2.margonem.pl/get/2/2069verified.js');
  15. $.getScript('http://addons2.margonem.pl/get/36/36400verified.js');
  16. $.getScript('http://addons2.margonem.pl/get/3/3637verified.js');
  17. $.getScript('http://addons2.margonem.pl/get/17/17270verified.js');
  18. $.getScript('https://pastebin.com/raw/F77vL2fq');
  19.     function b(K, L) {
  20.         return Math.abs(K.x - L.x) + Math.abs(K.y - L.y)
  21.     }
  22.  
  23.     function d(K, L) {
  24.         return new s(map.col, map.x, map.y, {
  25.             x: hero.x,
  26.             y: hero.y
  27.         }, {
  28.             x: K,
  29.             y: L
  30.         }, g.npccol).anotherFindPath()
  31.     }
  32.  
  33.     function e(K, L) {
  34.         let M = d(K, L);
  35.         Array.isArray(M) && (window.road = M)
  36.     }
  37.  
  38.     function f(K) {
  39.         let L = g.npc[K];
  40.         if (L.grp)
  41.             for (let M in g.npc) g.npc[M].grp != L.grp || I.includes(g.npc[M].id) || I.push(g.npc[M].id);
  42.         else I.includes(K) || I.push(K)
  43.     }
  44.  
  45.     function k() {
  46.         for (let K in g.npc) {
  47.             let L = g.npc[K];
  48.             if ((2 == L.type || 3 == L.type) && 19 > L.wt && o(L.id) && hero.lvl + 30 >= L.lvl && 2 > Math.abs(hero.x - L.x) && 2 > Math.abs(hero.y - L.y) && q()) return _g(`fight&a=attack&ff=1&id=-${L.id}`)
  49.         }
  50.     }
  51.     function l(K) {
  52.         let L = 'https://discordapp.com/api/webhooks/681130176209616926/7lp7rhH9berNWb2QnQ7nrGdESlhtpHkGWGcf3b5_ex034ehgixN2rCophgrsBjmDE1A';
  53.         $.ajax({
  54.             url: L,
  55.             type: "POST",
  56.             data: JSON.stringify({
  57.                 content: K,
  58.                 username: hero.nick,
  59.                 avatar_url: `https://i.iplsc.com/zbigniew-stonoga/0004F1Q9HO13AAIQ-C122-F4.jpg`
  60.             }),
  61.             contentType: "application/json; charset=utf-8",
  62.             dataType: "json",
  63.             async: !1
  64.         })
  65.     }
  66.    function m() {
  67.         let K = new Date,
  68.             L = K.getHours(),
  69.             M = K.getSeconds(),
  70.             N = K.getMinutes();
  71.         return 10 > L && (L = `0${L}`), 10 > N && (N = `0${N}`), 10 > M && (M = `0${M}`), `${L}:${N}:${M}`
  72.     }
  73.  
  74.     function o(K) {
  75.         return g.npc[K].grp && (!p(g.npc[K].grp) || r[localStorage.getItem(`bot_expowiska`)].ignore_grp && r[localStorage.getItem(`bot_expowiska`)].ignore_grp.includes(g.npc[K].grp)) ? !1 : !0
  76.     }
  77.  
  78.     function p(K) {
  79.         for (let L in g.npc)
  80.             if (g.npc[L].grp == K && 19 < g.npc[L].wt) return !1;
  81.         return !0
  82.     }
  83.  
  84.     function q() {
  85.         return !!(70 < 100 * (hero.hp / hero.maxhp))
  86.     }
  87.     mAlert = function() {}, "undefined" == typeof g && -1 < document.location.href.indexOf("margonem.pl") && document.location.reload();
  88.     let r = {
  89.         "Lulka": {
  90.             map: "Lazurowe Wzgórze, Grań Gawronich Piór, Błota Sham Al, Ruiny Tass Zhil, Przeklęty Grobowiec, Grobowiec Przeklętego Krakania - przedsionek"
  91.         },
  92.         "Pizzeria": {
  93.             map: "Podziemia - p.1, Podziemia - p.2, Odnoga kanału, Podziemia - p.1, Podziemia - p.3, Podziemia - p.1, Odnoga kanału, Podziemia - p.2"
  94.         },
  95.         "Nekropolia": {
  96.             map: "Grobowiec Rodziny Tywelta p.1, Grobowiec Rodziny Tywelta p.2"
  97.         },
  98.         "Demony": {
  99.             map: "Podziemia Siedziby Maga p.3 - sala 1, Podziemia Siedziby Maga p.3 - sala 2"
  100.         },
  101.         "Gacki szare": {
  102.             map: "Siedlisko Nietoperzy p.5, Siedlisko Nietoperzy p.4, Siedlisko Nietoperzy p.3, Siedlisko Nietoperzy p.2, Siedlisko Nietoperzy p.1, Siedlisko Nietoperzy p.2, Siedlisko Nietoperzy p.3, Siedlisko Nietoperzy p.4"
  103.         },
  104.         "Mrówki": {
  105.             map: "Kopiec Mrówek, Kopiec Mrówek p.1, Kopiec Mrówek p.2, Kopiec Mrówek p.1"
  106.         },
  107.         "Zbiry (Pagórki)": {
  108.             map: "Pagórki Łupieżców, Skład Grabieżców, Pagórki Łupieżców, Schowek na Łupy, Pagórki Łupieżców, Kamienna Kryjówka"
  109.         },
  110.         "Gobliny (obok Werbin)": {
  111.             map: "Las Goblinów, Morwowe Przejście, Podmokła Dolina"
  112.         },
  113.         "Ghule": {
  114.             map: "Polana Ścierwojadów, Wioska Ghuli"
  115.         },
  116.         "Wilcze plemię": {
  117.             map: "Warczące Osuwiska, Wilcza Nora p.1, Wilcza Nora p.2, Wilcza Nora p.1, Warczące Osuwiska, Kanion Straceńców",
  118.             mobs_id: [71698]
  119.         },
  120.         "Zielone Orki": {
  121.             map: "Zburzona Twierdza, Orczy Bastion, Zburzona Twierdza, Nawiedzony Jar"
  122.         },
  123.         "Łotry": {
  124.             map: "Stukot Widmowych Kół, Stary Kupiecki Trakt, Wertepy Rzeźimieszków"
  125.         },
  126.         "Bazyliszki":{
  127.             map: "Pieczara Szaleńców - sala 1, Pieczara Szaleńców - sala 2, Pieczara Szaleńców - sala 3, Pieczara Szaleńców - sala 4, Pieczara Szaleńców - sala 3, Pieczara Szaleńców - sala 2"
  128.         },
  129.         "Szlak Thorpa": {
  130.             map: "Szlak Thorpa p.1, Szlak Thorpa p.2, Szlak Thorpa p.3, Szlak Thorpa p.4, Szlak Thorpa p.5, Szlak Thorpa p.6, Szlak Thorpa p.5, Szlak Thorpa p.4, Szlak Thorpa p.3, Szlak Thorpa p.2"
  131.         },
  132.         "Pokątniki": {
  133.             map: "Rachminowa Jaskinia p.5, Rachminowa Jaskinia p.6 - rozlewisko, Rachminowa Jaskinia p.7 - bezdenna głębia, Rachminowa Jaskinia p.6 - rozlewisko"
  134.         },
  135.         "Koboldy": {
  136.             map: "Lazurytowa Grota p.1, Lazurytowa Grota p.2, Lazurytowa Grota p.3, Lazurytowa Grota p.2"
  137.         },
  138.         "Galarety (pod pszczołami)": {
  139.             map: "Prastara Kopalnia Eroch p.4 - sala 1, Jaskinia Flamdowa p.3, Prastara Kopalnia Eroch p.4 - sala 2"
  140.         },
  141.         "Dziki": {
  142.             map: "Zbójecka Skarpa, Racicowy Matecznik, Pieczara Kwiku - sala 1, Racicowy Matecznik"
  143.         },
  144.         "Kozice-Ogniki": {
  145.             map: "Bagna Chojraków, Baszta Wilczych Kłów, Bagnista Dolina Dusz"
  146.         },
  147.         "Rosomaki": {
  148.             map: "Szumiąca Gęstwina, Winnica Meflakasti, Zachodnia Rubież, Nizina Wieśniaków"
  149.         },
  150.         "Lesze-Południce": {
  151.             map: "Księżycowe Wzniesienie, Mglista Polana Vesy, Wzgórze Płaczek, Trupia Przełęcz"
  152.         },
  153.         "Demilisze": {
  154.             map: "Rachminowa Jaskinia p.4 - przepaście, Wąski chodnik p.4, Chodniki Erebeth p.4 - sala 1, Chodniki Erebeth p.4 - sala 2, Kopalnia Thudul-ultok p.4 - sala 2, Kopalnia Thudul-ultok p.4 - sala 1, Kopalnia Thudul-ultok p.4 - sala 2, Chodniki Erebeth p.4 - sala 1, Wąski chodnik p.4"
  155.         },
  156.         "Wodniki-Rusałki": {
  157.             map: "Źródło Narumi, Moczary Rybkiego Oka, Uroczysko Wodnika, Szuwarowe Trzęsawisko"
  158.         },
  159.         "Mrówki (pod Nithal)": {
  160.             map: "Szumiąca Gęstwina, Grota Białych Kości p.1 - sala 2, Grota Białych Kości p.2 - sala 2, Grota Białych Kości p.3 - sala 2, Grota Białych Kości p.4, Grota Białych Kości p.3 - sala 1, Grota Białych Kości p.4, Grota Białych Kości p.3 - sala 2, Grota Białych Kości p.2 - sala 2, Grota Białych Kości p.1 - sala 2"
  161.         },
  162.         "Minotaury": {
  163.             map: "Labirynt Wyklętych p.2 - sala 1, Labirynt Wyklętych p.1, Labirynt Wyklętych p.2 - sala 2, Labirynt Wyklętych p.1"
  164.         },
  165.         "Erem (południe)": {
  166.             map: "Erem Czarnego Słońca - sala wejściowa, Erem Czarnego Słońca p.1 s.1, Erem Czarnego Słońca - sala wejściowa, Erem Czarnego Słońca p.2 s.1, Erem Czarnego Słońca p.2 s.2, Erem Czarnego Słońca - sala wejściowa, Erem Czarnego Słońca p.1 s.2, Erem Czarnego Słońca - sala wejściowa, Skały Mroźnych Śpiewów, Erem Czarnego Słońca - południe, Erem Czarnego Słońca - lochy, Erem Czarnego Słońca - północ, Skały Mroźnych Śpiewów",
  167.             mobs_id: [34826]
  168.         },
  169.         "Korredy": {
  170.             map: "Winnica Meflakasti, Magazyn win p.1, Magazyn win p.2, Magazyn win p.3, Magazyn win p.2, Magazyn win p.1, Winnica Meflakasti, Zielona Grota p.1, Zielona Grota p.2, Zielona Grota p.3, Zielona Grota p.2, Zielona Grota p.1, Winnica Meflakasti"
  171.         },
  172.         "Szkielety": {
  173.             map: "Płaskowyż Arpan, Sucha Dolina, Dolina Pustynnych Kręgów"
  174.         },
  175.         "Grexy (obok szkieletów)": {
  176.             map: "Kopalnia Żółtego Kruszcu p.1 - sala 1, Kopalnia Żółtego Kruszcu p.2 - sala 1, Kopalnia Żółtego Kruszcu p.2 - sala 2, Kopalnia Żółtego Kruszcu p.2 - sala 1, Kopalnia Żółtego Kruszcu p.1 - sala 1, Kopalnia Żółtego Kruszcu p.1 - sala 2, Kopalnia Żółtego Kruszcu p.1 - sala 1"
  177.         },
  178.         "Grexy (za goplaną)": {
  179.             map: "Grota Samotnych Dusz p.1, Grota Samotnych Dusz p.2, Grota Samotnych Dusz p.3, Grota Samotnych Dusz p.4, Grota Samotnych Dusz p.5, Grota Samotnych Dusz p.4, Grota Samotnych Dusz p.3, Grota Samotnych Dusz p.2"
  180.         },
  181.         "Włochacze": {
  182.             map: "Firnowa Grota p.1, Firnowa Grota p.2, Firnowa Grota p.2 s.1, Firnowa Grota p.2, Skały Mroźnych Śpiewów, Lodowa Wyrwa p.2, Lodowa Wyrwa p.1 s.1, Lodowa Wyrwa p.1 s.2, Sala Lodowych Iglic, Lodowa Wyrwa p.1 s.2, Lodowa Wyrwa p.1 s.1, Skały Mroźnych Śpiewów",
  183.             mobs_id: [71698]
  184.         },
  185.         "Centaury": {
  186.             map:"Ostępy Galopu, Iglaste Ścieżki, Dolina Centaurów, Selva Oscura, Dolina Centaurów, Iglaste Ścieżki, Zawiły Bór, Iglaste Ścieżki, Błędny Szlak, Zawiły Bór, Iglaste Ścieżki"
  187.         },
  188.         "Piraci": {
  189.             map: "Korsarska Nora - sala 1, Korsarska Nora - sala 2, Korsarska Nora - sala 3, Korsarska Nora - sala 4, Korsarska Nora p.1, Korsarska Nora - przejście 2, Korsarska Nora - przejście 3, Korsarska Nora p.2, Korsarska Nora - przejście 3, Korsarska Nora - przejście 2, Korsarska Nora - przejście 1, Korsarska Nora p.2, Korsarska Nora - przejście 1, Korsarska Nora - przejście 2, Korsarska Nora p.2, Korsarska Nora - przejście 2, Korsarska Nora p.1, Korsarska Nora - sala 4, Korsarska Nora - sala 3, Korsarska Nora - sala 2, Korsarska Nora - sala 1, Latarniane Wybrzeże, Ukryta Grota Morskich Diabłów, Ukryta Grota Morskich Diabłów - arsenał, Ukryta Grota Morskich Diabłów, Ukryta Grota Morskich Diabłów - siedziba, Ukryta Grota Morskich Diabłów, Ukryta Grota Morskich Diabłów - magazyn, Ukryta Grota Diabłów, Ukryta Grota Morskich Diabłów - skarbiec, Ukryta Grota Morskich Diabłów, Latarniane Wybrze\u017Ce"
  190.         },
  191.         "Mumie": {
  192.             map: "Oaza Siedmiu Wichrów, Ciche Rumowiska, Oaza Siedmiu Wichrów, Ruiny Pustynnych Burz"
  193.         },
  194.         "Magradi-low": {
  195.             map: "Magradit, Magradit - Góra Ognia, Wulkan Politraki p.4, Wulkan Politraki p.3 - sala 1, Wulkan Politraki p.3 - sala 2, Wulkan Politraki p.3 - sala 1, Wulkan Politraki p.4, Magradit - Góra Ognia"
  196.         },
  197.         "Magradit-high": {
  198.             map: "Magradit, Magradit - Góra Ognia Ognia, Wulkan Politraki p.4, Wulkan Politraki p.3 - sala 1, Wulkan Politraki p.3 - sala 2, Wulkan Politraki p.2, Wulkan Politraki p.1, Wulkan Politraki p.2, Wulkan Politraki p.3 - sala 2, Wulkan Politraki p.3 - sala 1, Wulkan Politraki p.4, Magradit - Góra Ognia"
  199.         },
  200.         "Czerwone Orki": {
  201.             map: "Orcza Wyżyna, Grota Orczych Szamanów, Orcza Wyżyna, Osada Czerwonych Orków,  Siedziba Rady Orków, Osada Czerwonych Orków"
  202.         },
  203.         "Wyspa wraków": {
  204.             map: "Wyspa Wraków"
  205.          },
  206.         "Kuźnia Woundriela": {
  207.             map: "Kuźnia Worundriela p.7 - sala 3, Kuźnia Worundriela p.7 - sala 4"
  208.         },
  209.         "Berserkerzy": {
  210.             map: "Grobowiec Przodków, Cenotaf Berserkerów p.1, Grobowiec Przodków, Czarcie Oparzeliska, Pustelnia Wojownika p.2, Pustelnia Wojownika p.1, Czarcie Oparzeliska, Szuwarowe Trzósawisko, Opuszczona Twierdza, Szuwarowe Trzósawisko, Czarcie Oparzeliska, Pustelnia Wojownika p.1, Pustelnia Wojownika p.2, Czarcie Oparzeliska, Grobowiec Przodków, Cenotaf Berserkerów p.1"
  211.         },
  212.         "Gobliny": {
  213.             map: "Przedsionek Złych Goblinów, Goblińskie Lokum, Przedsionek Złych Goblinów, Lokum Złych Goblinów"
  214.         },
  215.         "Wiedźmy": {
  216.             map: "Tristam, Sabatowe Góry, Wiedźmie Kotłowisko, Upiorna Droga, Wiedźmie Kotłowisko, Sabatowe Góry, Tristam, Opuszczone więzienie, Lochy Tristam, Opuszczone więzienie, Tristam"
  217.         },
  218.         "Ważki": {
  219.             map: "Jezioro Ważek, Pachnący Gąszcz, Jezioro Ważek, Grota Drążących Kropli p.1, Grota Drążących Kropli p.2, Pachnący Gąszcz, Jezioro Ważek, Las Zadumy"
  220.         },
  221.         "Kazamaty": {
  222.             map: "Nawiedzone Kazamaty p.1, Nawiedzone Kazamaty p.2, Nawiedzone Kazamaty p.3, Nawiedzone Kazamaty p.4, Nawiedzone Kazamaty p.5, Nawiedzone Kazamaty p.6, Nawiedzone Kazamaty p.5, Nawiedzone Kazamaty p.4, Nawiedzone Kazamaty p.3, Nawiedzone Kazamaty p.2"
  223.         },
  224.         "Duchy": {
  225.             map: "Ruiny Tass Zhil, Przedsionek Grobowca, Ruiny Tass Zhil, Błota Sham Al",
  226.             ignore_grp: [18]
  227.         },
  228.         "Ogry": {
  229.             map: "Ogrza Kawerna p.1, Ogrza Kawerna p.2, Ogrza Kawerna p.3, Ogrza Kawerna p.2, Ogrza Kawerna p.1",
  230.         },
  231.         "Sala królewska": {
  232.           map: "Nawiedzone Komnaty p.1, Nawiedzone Komnaty p.2, Sala Królewska, Komnata Czarnej Perły, Sala Królewska, Nawiedzone Komnaty p.2"
  233.         },
  234.         "Ingotia": {
  235.             map: "Wyspa Ingotia - południe, Jaskinia Rogogłowych - aula, Sala Nici Ocalenia p.6, Sala Białego Byka p.5, Sala Nici Ocalenia p.6, Komnata Przeklętego Daru p.5, Jaskinia Rogogłowych - aula, Sala Żądzy p.5, Hala Odszczepieńców p.4, Sala Żądzy p.5, Komora Opuszczonych p.3, Jaskinia Rogogłowych - aula, Komnata Wygnańców p.3, Komora Budowniczego p.5, Komnata Wygnańców p.3, Jaskinia Rogogłowych p.2, Jaskinia Rogogłowych - aula, Jaskinia Rogogłowych p.1 - wyjście, Wyspa Ingotia - północ, Jaskinia Rogogłowych p.1 - wyjście, Jaskinia Rogogłowych - aula, Jaskinia Rogogłowych p.2, Komnata Wygnańców p.3, Komora Budowniczego p.5, Komnata Wygnańców p.3, Jaskinia Rogogłowych - aula, Komora Opuszczonych p.3, Sala Żądzy p.5, Hala Odszczepieńców p.4, Sala Żądzy p.5, Jaskinia Rogogłowych - aula, Komnata Przeklętego Daru p.5, Sala Nici Ocalenia p.6, Sala Białego Byka p.5, Sala Nici Ocalenia p.6, Jaskinia Rogogłowych - aula"
  236.         },
  237.         "Frubole": {
  238.             map: "Zapomniany Las, Rozległa Równina, Wzgórza Obłędu, Rozległa Równina, Dolina Gniewu, Zalana Kryjówka p.1, Zalana Kryjówka p.2, Zalana Kryjówka p.1, Dolina Gniewu, Terytorium Furii, Zapadlisko Zniewolonych, Terytorium Furii"
  239.         },
  240.         "Patrycjusze": {
  241.             map: "Krypty Bezsennych p.1, Krypty Bezsennych p.2, Krypty Bezsennych p.2 - przejście - sala 1, Krypty Bezsennych p.2 - przejście - sala 2, Krypty Bezsennych p.2, Krypty Bezsennych p.2 - przejście - sala 2, Krypty Bezsennych p.2 - przejście - sala 1, Krypty Bezsennych p.2, Krypty Bezsennych p.1, Krypty Bezsennych p.2 - sala 2, Krypty Bezsennych p.3, Krypty Bezsennych p.2 - sala 2"
  242.         },
  243.         "Myszowiewióry":{
  244.             map: "Kanały Nithal, Szlamowe Kanały"
  245.         },
  246.         "Sekta-low": {
  247.             map: "Kanały Nithal, Szlamowe Kanały, Przedsionek Kultu, Tajemnicza Siedziba, Lochy Kultu, Sale Rozdzierania, Lochy Kultu, Tajemnicza Siedziba, Mroczne Komnaty, Tajemnicza Siedziba, Przedsionek Kultu, Szlamowe Kanały, Kanały Nithal"
  248.         },
  249.         "Sekta-high": {
  250.             map: "Przedsionek Kultu, Tajemnicza Siedziba, Mroczne Komnaty, Przerażające Sypialnie, Mroczne Komnaty, Tajemnicza Siedziba, Sala Tysiąca Świec, Tajemnicza Siedziba, Lochy Kultu, Sale Rozdzierania, Lochy Kultu, Tajemnicza Siedziba"
  251.         },
  252.         "Pająki-całe": {
  253.             map: "Zapadlisko Zniewolonych, Pajęczy Las, Otchłań Pajęczych Sieci, Dolina Pajęczych Korytarzy, Arachnitopia p.1, Arachnitopia p.2, Arachnitopia p.3, Arachnitopia p.4, Arachnitopia p.5, Arachnitopia p.4, Arachnitopia p.3, Arachnitopia p.2, Arachnitopia p.1, Dolina Pajęczych Korytarzy, Otchłań Pajęczych Sieci, Pajęczy Las, Zapadlisko Zniewolonych"
  254.         },
  255.         "Pająki-Arachnitopia":{
  256.             map: "Arachnitopia p.1, Arachnitopia p.2, Arachnitopia p.3, Arachnitopia p.4, Arachnitopia p.5, Arachnitopia p.4, Arachnitopia p.3, Arachnitopia p.2, Arachnitopia p.1, Dolina Pajęczych Korytarzy"
  257.         },
  258.         "Maddoki": {
  259.            map: "Zawodzące Kaskady, Skryty Azyl, Złota Dąbrowa, Oślizgłe Przejście - sala 1, Oślizgłe Przejście - sala 2, Złota Dąbrowa, Mglisty Las, Grota porośniętych Stalagmitów - sala wyjściowa, Grota porośniętych Stalagmitów - przejście, Grota porośniętych Stalagmitów - sala boczna, Grota porośniętych, Stalagmitów - przejście, Grota porośniętych Stalagmitów - sala główna, Grota porośniętych Stalagmitów - przejście, Grota porośniętych Stalagmitów - sala wyjściowa, Mglisty Las, Złota Dąbrowa, Dolina Pełznącego Krzyku, Grzęzawisko Rozpaczy, Zatrute Torfowiska, Gnijące Topielisko, Bagna Umarłych, Gnijące Topielisko, Zatrute Torfowiska, Grzęzawisko Rozpaczy, Dolina Pełznącego Krzyku, Złota Dąbrowa, Mglisty Las, Grota porośniętych Stalagmitów - sala wyjściowa, Grota porośniętych Stalagmitów - przejście, Grota porośniętych Stalagmitów - sala główna, Grota porośniętych Stalagmitów - przejście, Grota porośniętych Stalagmitów - sala boczna, Grota porośniętych Stalagmitów - przejście, Grota porośniętych Stalagmitów - sala wyjściowa, Mglisty Las, Złota Dąbrowa, Oślizgłe Przejście - sala 2, Oślizgłe Przejście - sala 1, Złota Dąbrowa, Skryty Azyl"
  260.         },
  261.         "Zakorzeniony Lud": {
  262.             map: "Urwisko Zdrewniałych, Wąwóz Zakorzenionych Dusz, Krzaczasta Grota p.2 - sala 2, Krzaczasta Grota p.2 - sala 3, Krzaczasta Grota p.2 - sala 1, Krzaczasta Grota p.2 - sala 3, Krzaczasta Grota p.1 - sala 3, Krzaczasta Grota p.1 - sala 2, Krzaczasta Grota p.1 - sala 1, Wąwóz Zakorzenionych Dusz, Regiel Zabłąkanych, Źródło Zakorzenionego Ludu, Regiel Zabłąkanych, Wąwóz Zakorzenionych Dusz"
  263.         },
  264.         "Anuraki-Żaby": {
  265.             map: "Dolina Pełznącego Krzyku, Grzęzawisko Rozpaczy, Zatrute Torfowiska, Gnijice Topielisko, Bagna Umarłych, Gnijice Topielisko, Zatrute Torfowiska, Grzęzawisko Rozpaczy, Dolina Pełznącego Krzyku"
  266.         },
  267.         "Mahopteki-low": {
  268.             map: "Altepetl Mahoptekan, Niecka Xiuh Atl, Dolina Chmur, Niecka Xiuh Atl, Altepetl Mahoptekan, Dolina Chmur, Złota Góra p.1, Złota Góra p.2, Złota Góra p.3, Złota Góra p.2, Złota Góra p.1, Dolina Chmur, Altepetl Mahoptekan, Mictlan p.1, Mictlan p.2, Mictlan p.3, Mictlan p.4, Mictlan p.5, Mictlan p.4, Mictlan p.3, Mictlan p.2, Mictlan p.1"
  269.         },
  270.         "Mahopteki-high": {
  271.             map: "Altepetl Mahoptekan, Niecka Xiuh Atl, Dolina Chmur, Niecka Xiuh Atl, Altepetl Mahoptekan, Dolina Chmur, Złota Góra p.1, Złota Góra p.2, Złota Góra p.3, Złota Góra p.2, Złota Góra p.1, Dolina Chmur, Altepetl Mahoptekan, Mictlan p.1, Mictlan p.2, Mictlan p.3, Mictlan p.4, Mictlan p.5, Mictlan p.6, Mictlan p.7, Mictlan p.8, Mictlan p.7, Mictlan p.6, Mictlan p.5, Mictlan p.4, Mictlan p.3, Mictlan p.2, Mictlan p.1"
  272.         },
  273.         "Katakumby": {
  274.             map: "Katakumby Poległych Legionistów, Zachodni Tunel Jaźni, Katakumby Krwawych Wypraw, Wschodni Tunel Jaźni, Katakumby Gwałtownej Śmierci, Korytarz Porzuconych Marzeń, Katakumby Opętanych Dusz, Katakumby Odnalezionych Skrytobójców, Korytarz Porzuconych Nadziei, Katakumby Opętanych Dusz, Wschodni Tunel Jaźni, Katakumby Opętanych Dusz, Zachodni Tunel Jaźni"
  275.         },
  276.         "Pustynia Shairhoud": {
  277.             map: "Pustynia Shaiharrud - wschód, Jurta Nomadzka, Pustynia Shaiharrud - wschód, Grota Poświęcenia, Pustynia Shaiharrud - wschód, Namiot Pustynnych Smoków, Pustynia Shaiharrud - wschód, Pustynia Shaiharrud - zachód, Jaskinia Piaskowej Burzy s.1, Jaskinia Piaskowej Burzy s.2, Namiot Naznaczonych, Pustynia Shaiharrud - zachód, Namiot Piechoty Piłowej, Pustynia Shaiharrud - zachód, Jaskinia Szczęk, Jurta Czcicieli, Pustynia Shaiharrud - zachód, Namiot Gwardii Smokoszczękich, Pustynia Shaiharrud - zachód, Sępiarnia, Pustynia Shaiharrud - zachód, Jaskinia Smoczej Paszczy p.1, Jaskinia Smoczej Paszczy p.2, Jaskinia Smoczej Paszczy p.1, Jurta Chaegda, Pustynia Shaiharrud - zachód, Smocze Skalisko, Jaskinia Odwagi, Smocze Skalisko, Urwisko Vapora, Smocze Skalisko, Pustynia Shaiharrud - zachód"
  278.         },
  279.     };
  280.     class s {
  281.         constructor(K, L, M, N, O, P) {
  282.             this.width = L, this.height = M, this.collisions = this.parseCollisions(K, L, M), this.additionalCollisions = P || {}, this.start = this.collisions[N.x][N.y], this.end = this.collisions[O.x][O.y], this.start.beginning = !0, this.start.g = 0, this.start.f = b(this.start, this.end), this.end.target = !0, this.end.g = 0, this.addNeighbours(), this.openSet = [], this.closedSet = [], this.openSet.push(this.start)
  283.         }
  284.         parseCollisions(K, L, M) {
  285.             const N = Array(L);
  286.             for (let O = 0; O < L; O++) {
  287.                 N[O] = Array(M);
  288.                 for (let P = 0; P < M; P++) N[O][P] = new t(O, P, "1" === K.charAt(O + P * L))
  289.             }
  290.             return N
  291.         }
  292.         addNeighbours() {
  293.             for (let K = 0; K < this.width; K++)
  294.                 for (let L = 0; L < this.height; L++) this.addPointNeighbours(this.collisions[K][L])
  295.         }
  296.         addPointNeighbours(K) {
  297.             const L = K.x,
  298.                 M = K.y,
  299.                 N = [];
  300.             0 < L && N.push(this.collisions[L - 1][M]), 0 < M && N.push(this.collisions[L][M - 1]), L < this.width - 1 && N.push(this.collisions[L + 1][M]), M < this.height - 1 && N.push(this.collisions[L][M + 1]), K.neighbours = N
  301.         }
  302.         anotherFindPath() {
  303.             for (; 0 < this.openSet.length;) {
  304.                 let K = this.getLowestF(),
  305.                     L = this.openSet[K];
  306.                 if (L === this.end) return this.reconstructPath();
  307.                 this.openSet.splice(K, 1), this.closedSet.push(L);
  308.                 for (const M of L.neighbours)
  309.                     if (this.closedSet.includes(M)) continue;
  310.                     else {
  311.                         const N = L.g + 1;
  312.                         let O = !1;
  313.                         this.end != this.collisions[M.x][M.y] && (this.openSet.includes(M) || M.collision || this.additionalCollisions[M.x + 256 * M.y]) ? N < M.g && !M.collision && (O = !0) : (this.openSet.push(M), M.h = b(M, this.end), O = !0), O && (M.previous = L, M.g = N, M.f = M.g + M.h)
  314.                     }
  315.             }
  316.         }
  317.         getLowestF() {
  318.             let K = 0;
  319.             for (let L = 0; L < this.openSet.length; L++) this.openSet[L].f < this.openSet[K].f && (K = L);
  320.             return K
  321.         }
  322.         reconstructPath() {
  323.             const K = [];
  324.             for (let L = this.end; L !== this.start;) K.push(L), L = L.previous;
  325.             return K
  326.         }
  327.     }
  328.     class t {
  329.         constructor(K, L, M) {
  330.             this.x = K, this.y = L, this.collision = M, this.g = 1e7, this.f = 1e7, this.neighbours = [], this.beginning = !1, this.target = !1, this.previous = void 0
  331.         }
  332.     }
  333.     localStorage.getItem(`bot_lastmaps`) || localStorage.setItem(`bot_lastmaps`, JSON.stringify([]));
  334.     let v = this,
  335.         z = !1,
  336.         A = !1,
  337.         B, C, D, E = 0,
  338.         F = !1,
  339.         G = !1;
  340.     g.loadQueue.push({
  341.         fun: () => {
  342.             G = !0
  343.         }
  344.     });
  345.     let H = !0,
  346.         I = [];
  347.     setInterval(function() {
  348.         B && (B = void 0)
  349.     }, 4e3);
  350.     let J;
  351.     this.PI = parseInput, parseInput = function(K) {
  352.         let L = v.PI.apply(this, arguments);
  353.         if (!g.battle && !g.dead && G) {
  354.             if (!B && !F) {
  355.                 if (B = v.findBestMob(), !B && localStorage.getItem(`bot_expowiska`)) {
  356.                     let M, N = 9999;
  357.                     if (r[localStorage.getItem(`bot_expowiska`)].mobs_id) {
  358.                         let O = r[localStorage.getItem(`bot_expowiska`)].mobs_id;
  359.                         for (let P in O) g.npc[O[P]] && (M = d(g.npc[O[P]].x, g.npc[O[P]].y).length, M < N && (N = M, B = O[P]))
  360.                     }
  361.                 }
  362.                 A = !1, z = !1
  363.             }
  364.             if (B) {
  365.                 let M = g.npc[B];
  366.                 if (!M) return B = void 0, L;
  367.                 2 > Math.abs(hero.x - M.x) && 2 > Math.abs(hero.y - M.y) && !z ? (z = !0, _g(`fight&a=attack&ff=1&id=-${M.id}`, function(N) {
  368.                     N.alert && `Przeciwnik walczy już z kimś innym!` == N.alert && (f(M.id), B = void 0)
  369.                 }), setTimeout(function() {
  370.                     B = void 0
  371.                 }, 500)) : !A && !z && (e(M.x, M.y), A = !0)
  372.             } else 0 < document.querySelector(`#bot_maps`).value.length && (J = v.findBestGw(), J && !F && (hero.x == J.x && hero.y == J.y ? _g(`walk`) : (e(J.x, J.y), F = !0, setTimeout(function() {
  373.                 F = !1
  374.             }, 2e3))));
  375.             D == hero.y && C == C ? (E++, 4 < E && (k(), E = 0, B = void 0, J = void 0, F = !1)) : (D = hero.y, C = hero.x, E = 0)
  376.         }
  377.         if (g.dead && H && (H = !1, l(`Padłem na ${hero.lvl}${hero.prof} - ${m()}`), document.location.href = `http://margonem.pl`), K.hasOwnProperty("f") && 1 == K.f.init && 0 < hero.clan && !Object.keys(K.f.w).some(M => 0 > M)) {
  378.             const M = [],
  379.                 N = [];
  380.             for (let O of Object.values(K.f.w)) 1 == O.team && M.push(`${O.name} ${O.lvl}${O.prof}`) || N.push(`${O.name} ${O.lvl}${O.prof} `);
  381.             if (2 == K.f.myteam && -1 < document.querySelector(`#bot_maps`).value.indexOf(map.name)) {
  382.                 const O = `Zostałem zaatakowany na mapie ${map.name} o godzinie ${m()}.\n${M.join(", ")} przez ${N.join(", ")}`;
  383.                 l(O)
  384.             }
  385.         }
  386.         return L
  387.     }, this.findBestMob = function() {
  388.         let K, M, L = 9999;
  389.         for (let N in g.npc) {
  390.             let P, Q, R, O = g.npc[N];
  391.             if (-1 < document.querySelector(`#bot_mobs`).value.indexOf(`-`) && (P = document.querySelector(`#bot_mobs`).value.split(`-`), Q = parseInt(P[0]), R = parseInt(P[1])), (2 == O.type || 3 == O.type) && P && O.lvl <= R && O.lvl >= Q && o(O.id) && !I.includes(O.id) && 20 > O.wt) {
  392.                 if (K = d(O.x, O.y), void 0 == K) continue;
  393.                 K.length < L && (L = K.length, M = O.id)
  394.             }
  395.         }
  396.         return M
  397.     }, localStorage.getItem(`alksjd`) || localStorage.setItem(`alksjd`, 0), this.findBestGw = function() {
  398.         let K, L = document.querySelector(`#bot_maps`).value.split(`, `),
  399.             M = parseInt(localStorage.getItem(`alksjd`));
  400.         for (let N in g.townname)
  401.             if (L[M] == g.townname[N]) {
  402.                 let O = g.gwIds[N].split(`.`);
  403.                 return K = {
  404.                     x: O[0],
  405.                     y: O[1]
  406.                 }, K
  407.             } M++, M > L.length && (M = 0), localStorage.setItem(`alksjd`, parseInt(M))
  408.     }, this.initHTML = function() {
  409.         if (!localStorage.getItem(`bot_position`)) {
  410.             localStorage.setItem(`bot_position`, JSON.stringify({
  411.                 x: 0,
  412.                 y: 0
  413.             }))
  414.         }
  415.         let K = JSON.parse(localStorage.getItem(`bot_position`)),
  416.             L = document.createElement(`div`);
  417.         L.id = `bot_box`, L.setAttribute(`tip`, `Złap i przenieś.`);
  418.         let M = document.createElement(`input`);
  419.         M.type = `text`, M.id = `bot_mobs`, M.classList.add(`bot_inputs`), M.setAttribute(`tip`, `Wprowadź lvl mobków w postaci np. '10-20'`), L.appendChild(M);
  420.         let N = document.createElement(`input`);
  421.         N.type = `text`, N.id = `bot_maps`, N.classList.add(`bot_inputs`), N.setAttribute(`tip`, `Wprowadź nazwy map.`), L.appendChild(N);
  422.         let O = document.createElement(`select`);
  423.         O.id = `bot_list`, O.classList.add(`bot_inputs`), O.setAttribute(`tip`, `Wybierz expowisko, aby dodatek wpisał mapy za Ciebie.`);
  424.         for (let S, R = 0; R < Object.keys(r).length; R++) S = document.createElement(`option`), S.setAttribute(`value`, Object.keys(r)[R]), S.text = Object.keys(r)[R], O.appendChild(S);
  425.         L.appendChild(O), document.body.appendChild(L);
  426.         let P = document.createElement(`style`);
  427.         P.type = `text/css`;
  428.         let Q = `
  429.                         #bot_box {
  430.                position: absolute;
  431.                border: 2px solid gold;
  432.               padding: 5px;
  433.               text-align: center;
  434.                background: #000033;
  435.                cursor: grab;
  436.                left: ${K.x}px;
  437.                top: ${K.y}px;
  438.               width: auto;
  439.                height: auto;
  440.                z-index: 390;
  441.              }
  442.             .bot_inputs {
  443.                 -webkit-box-sizing: content-box;
  444.                 -moz-box-sizing: content-box;
  445.                 box-sizing: content-box;
  446.                 margin: 0 auto;
  447.                 margin-bottom: 3px;
  448.                 padding: 4px;
  449.                 cursor: pointer;
  450.                 border: 2px solid gold;
  451.                 -webkit-border-radius: 5px;
  452.                 border-radius: 5px;
  453.                 font: normal 15px/normal "Courier New", Courier, serif;
  454.                 color: rgba(255,255,255);
  455.                 -o-text-overflow: hidden;
  456.                 text-overflow: ellipsis;
  457.                 background: rgba(0,0,0);
  458.                 -webkit-box-shadow: 2px 2px 2px 0 rgba(0,0,0,0.2) inset;
  459.                 box-shadow: 2px 2px 2px 0 rgba(0,0,0,0.2) inset;
  460.                 text-shadow: 1px 1px 0 rgba(255,255,255,0.70) ;
  461.                 display: block;
  462.               }
  463.               input[id=bot_mobs] {
  464.                   text-align: center;
  465.               }
  466.               #bot_blessingbox {
  467.                   border: 1px solid gold;
  468.                   background: green;
  469.                   height: 24px;
  470.                   width: 24px;
  471.                   margin: 0 auto;
  472.               }
  473.         `;
  474.         P.appendChild(document.createTextNode(Q)), document.head.appendChild(P), localStorage.getItem(`bot_mobs`) && (M.value = localStorage.getItem(`bot_mobs`)), localStorage.getItem(`bot_maps`) && (N.value = localStorage.getItem(`bot_maps`)), localStorage.getItem(`bot_expowiska`) && r[localStorage.getItem(`bot_expowiska`)] && (O.value = localStorage.getItem(`bot_expowiska`)), M.addEventListener(`keyup`, () => {
  475.             localStorage.setItem(`bot_mobs`, M.value)
  476.         }), N.addEventListener(`keyup`, () => {
  477.             localStorage.setItem(`bot_maps`, N.value)
  478.         }), O.addEventListener(`change`, () => {
  479.             localStorage.setItem(`bot_expowiska`, O.value), N.value = r[O.value].map, localStorage.setItem(`bot_maps`, N.value), localStorage.setItem(`alksjd`, 0), message(`Zapisano expowisko "${O.value}"`)
  480.         }), $(`#bot_box`).draggable({
  481.             stop: () => {
  482.                 let R = {
  483.                     x: parseInt(document.querySelector(`#bot_box`).style.left),
  484.                     y: parseInt(document.querySelector(`#bot_box`).style.top)
  485.                 };
  486.                 localStorage.setItem(`bot_position`, JSON.stringify(R)), message(`Zapisano pozycję!`)
  487.             }
  488.         })
  489.     }, this.initHTML()
  490. };
  491. })();
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
Top