Facebook
From Harmless Mousedeer, 4 Years ago, written in Plain Text.
Embed
Download Paste or View Raw
Hits: 193
  1. // ==UserScript==
  2. // @name         Auto dobijanie + Pościg
  3. // @namespace    http://tampermonkey.net/
  4. // @version      10.0
  5. // @description  try to take over the world!
  6. // @author       You
  7. // @match        *://*.margonem.pl
  8. // @grant        none
  9. // ==/UserScript==
  10.  
  11. ! function(e, t, n, a, i) {
  12.     let r = new Array,
  13.         o = e.createElement("span");
  14.     o.id = "enepere123", o.style = "position: absolute; background: black; color: white; top: 0px; left: 0px; width: auto; height: auto; font-size: 14px", e.body.appendChild(o);
  15.     let l = e.createElement("span");
  16.     l.innerHTML = "UCIECZKA", l.style.fontWeight = "bold", l.tip = "Naciśnij podczas walki, aby po walce automatycznie uciec na Kwieciste Przejście.";
  17.     let c, s = !1;
  18.     window.hero.searchPath1 = function(e, t) {
  19.         if (this.isBlockedSearchPath()) return this.blockedInfoSearchPath();
  20.         for (var n = [], a = 128 & hero.opt ? 8 : 20, i = Math.max(0, Math.min(e, this.x) - a), r = Math.min(map.x - 1, Math.max(e, this.x) + a), o = Math.max(0, Math.min(t, this.y) - a), l = Math.min(map.y - 1, Math.max(t, this.y) + a), c = i - 1; r + 1 >= c; c++) {
  21.             n[c] = [];
  22.             for (var s = o - 1; l + 1 >= s; s++) n[c][s] = !(c >= i && r >= c && s >= o && l >= s) || isset(g.npccol[c + 256 * s]) || map.col && "0" != map.col.charAt(c + s * map.x) ? -2 : -1
  23.         }
  24.         n[this.x][this.y] = 0, b = -1, road = [];
  25.         for (var h = {
  26.                 x: -1,
  27.                 y: -1,
  28.                 dist: 99
  29.             }, d = 1; r - i + l - o + 3 > d; d++)
  30.             for (c = i; r >= c; c++)
  31.                 for (s = o; l >= s; s++) {
  32.                     if (-1 != n[c][s] || n[c][s - 1] != d - 1 && n[c][s + 1] != d - 1 && n[c - 1][s] != d - 1 && n[c + 1][s] != d - 1 || (n[c][s] = d), n[e][t] > 0) {
  33.                         c = r + 1;
  34.                         break
  35.                     }
  36.                     h.dist2 = Math.abs(e - c) + Math.abs(t - s), n[c][s] == d && h.dist2 < h.dist && (h.x = c, h.y = s, h.dist = h.dist2)
  37.                 }
  38.         if (h.hdist = Math.abs(e - hero.x) + Math.abs(t - hero.y), n[e][t] > 0 || h.dist < h.hdist) {
  39.             n[e][t] < 0 && (e > h.x ? b = 2 : e < h.x ? b = 1 : t > h.y ? b = 0 : t < h.y && (b = 3), e = h.x, t = h.y), road[0] = {
  40.                 x: e,
  41.                 y: t
  42.             };
  43.             for (var p = n[e][t] - 1, y = e, u = t; p > 0; p--) n[y][u - 1] == p ? u-- : n[y][u + 1] == p ? u++ : n[y - 1][u] == p ? y-- : n[y + 1][u] == p ? y++ : p = 0, p && (road[n[e][t] - p] = {
  44.                 x: y,
  45.                 y: u
  46.             })
  47.         }
  48.         road.length > 1 && null == g.playerCatcher.follow && $("#target").stop().css({
  49.             left: 32 * e,
  50.             top: 32 * t,
  51.             display: "block",
  52.             opacity: 1
  53.         }).fadeOut(1e3)
  54.     }, l.addEventListener("click", function() {
  55.         if (g.battle)
  56.             if (s) l.style.color = "white", l.innerHTML = "UCIECZKA", s = !1;
  57.             else
  58.                 for (let e in g.item)
  59.                     if ("g" == g.item[e].loc && "Zwój teleportacji na Kwieciste Przejście" == g.item[e].name) {
  60.                         s = !0, c = e, l.style.color = "green", l.innerHTML = "UCIECZKA AKTYWNA";
  61.                         break
  62.                     }
  63.     }), o.appendChild(l);
  64.     let h = e.createElement("span");
  65.     o.appendChild(h);
  66.     let d, p = e.createElement("style");
  67.     p.innerHTML = ".adison9711:hover{background:#686868}", e.head.appendChild(p);
  68.     let y, u, m, f, w = 0,
  69.         x = [];
  70.     e.querySelector("#nick").addEventListener("click", function() {
  71.         0 != w && (w = 0, message("Przerwanie pościgu!"))
  72.     });
  73.     let M = new Audio;
  74.     M.src = "http://www.adiwilk.pl/js/syrena.mp3";
  75.     let k, v = e.createElement("span");
  76.  
  77.     function C(t, n, a, i, r, o, l) {
  78.         let c = e.createElement("span");
  79.         c.classList.add("adison9711"), c.innerHTML = `<br>${t}. `;
  80.         let s = e.createElement("span");
  81.         switch (s.innerHTML = `${a}`, s.tip = "Naciśnij, aby napisać do tej osoby.", s.addEventListener("click", function() {
  82.             chatTo(`${a}`)
  83.         }), s.style.fontWeight = "bold", l > 0 && (s.style.color = "gold"), i) {
  84.             case "fr":
  85.                 s.style.color = "green";
  86.                 break;
  87.             case "en":
  88.                 s.style.color = "red";
  89.                 break;
  90.             case "cl":
  91.                 s.style.color = "lightblue"
  92.         }
  93.         c.appendChild(s);
  94.         let d = e.createElement("span");
  95.         d.innerHTML = ` ${r}${o} `, c.appendChild(d);
  96.         let p = e.createElement("span"),
  97.             y = Math.round(Math.sqrt(Math.pow(g.other[n].x - hero.x, 2) + Math.pow(g.other[n].y - hero.y, 2)));
  98.         p.innerHTML = `[Odl.: ${y}] `, p.tip = "Nacisnij, aby podejsc.", p.addEventListener("click", function() {
  99.             window.hero.searchPath1(g.other[n].x, g.other[n].y)
  100.         }), c.appendChild(p);
  101.         let u = e.createElement("span");
  102.         u.innerHTML = "[ATAKUJ]", u.tip = "Nacisnij, aby aktywowac poscig.", u.addEventListener("click", function() {
  103.             g.battle ? message("Trwa walka!") : 2 == map.pvp ? (w = n, message(`Rozpoczęto pościg za: ${g.other[n].nick}!`)) : message("Nie jesteś na czerwonej mapce!")
  104.         }), c.appendChild(u), c.addEventListener("mouseover", function() {
  105.             ! function() {
  106.                 for (let t in g.other) e.querySelector(`#other${t}`).style.backgroundColor = ""
  107.             }(), e.querySelector(`#other${n}`).style.backgroundColor = "rgb(255, 102, 0, .65)", e.querySelector(`#other${n}`).style.borderRadius = "7px"
  108.         }), c.addEventListener("mouseleave", function() {
  109.             g.other[n] && (e.querySelector(`#other${n}`).style.backgroundColor = "")
  110.         }), h.appendChild(c)
  111.     }
  112.  
  113.     function E(e) {
  114.         let t = g.npc[e];
  115.         if (t.wt > 99) M.play(), v.style.display = "block", message(`<center>Tytan: ${t.nick} ${t.lvl}lvl<br><img src=${t.icon} /><br>[${t.x}, ${t.y}]</center>`);
  116.         else {
  117.             let e = Math.sqrt(Math.pow(Math.abs(hero.x - t.x), 2)) + Math.sqrt(Math.pow(Math.abs(hero.y - t.y), 2));
  118.             !g.battle && e > 8 ? mAlert(`<center>Heros:<br><img src=${t.icon} /><br><b>${t.nick}</b> ${t.lvl}lvl<br>${map.name}(${t.x},${t.y})<br>Czy chcesz podejść?</center>`, 2, [function() {
  119.                 miniMapPlus ? miniMapPlus.searchPath(t.x, t.y) : window.hero.searchPath1(t.x, t.y)
  120.             }, function() {
  121.                 return !1
  122.             }]) : message(`<center>Heros: ${t.nick} ${t.lvl}lvl<br><img src=${t.icon} /><br>[${t.x}, ${t.y}]</center>`)
  123.         }
  124.     }
  125.     v.id = "adison_zarcik", v.style = "position: absolute; background-color: blue; top: 100px; right: 100px; color: white; font-size: 35px; display: none; text-align: center; padding: 10px; cursor: pointer", v.innerHTML = "Wyłącz syrenę", e.body.appendChild(v), v.addEventListener("click", function() {
  126.         v.style.display = "none", M.pause()
  127.     }), parseInput = function(n, a, i) {
  128.         if (t(n, a, i), n.hasOwnProperty("emo"))
  129.             for (let e in n.emo) "battle" != n.emo[e].name || x.includes(n.emo[e].source_id) ? "battle" != n.emo[e].name && x.includes(n.emo[e].source_id) && x.splice(x.indexOf(n.emo[e].source_id), 1) : x.push(n.emo[e].source_id);
  130.         e.querySelector("#enepere123").style.width = e.querySelector("#centerbox").style.left,
  131.             function() {
  132.                 d = 1, h.innerHTML = "";
  133.                 for (let e in g.other) {
  134.                     let t = "";
  135.                     t = d < 10 ? `0${d}` : d;
  136.                     let n = g.other[e];
  137.                     void 0 !== n.nick && (C(t, n.id, n.nick, n.relation, n.lvl, n.prof, n.rights), d++)
  138.                 }
  139.             }()
  140.     }, newNpc = function(e) {
  141.         n(e);
  142.         for (let t in e)
  143.             if (e[t].wt > 79 && 5 != map.mode && "experimental" != g.worldname && !r.includes(e[t].id)) {
  144.                 E(t), r.push(e[t].id);
  145.                 break
  146.             }
  147.     }, hero.run = function() {
  148.         0 != w && g.other[w] && (y = g.other[w].x, u = g.other[w].y, m = hero.x, f = hero.y, g.battle ? (w = 0, message("Jest walka!")) : (Math.abs(m - y) <= 2 && Math.abs(f - u) <= 2 && (x.includes(Number(w)) || _g(`fight&a=attack&id=${w}`)), m == y && f == u || window.hero.searchPath1(y, u))), a.apply(this, arguments)
  149.     }, battleMsg = function(e, t) {
  150.         let n = i(e, t);
  151.         return e.indexOf("winner=") > -1 && (_g("fight&a=quit"), s && (_g(`moveitem&st=1&id=${c}`), s = !1, l.style.color = "white", l.innerHTML = "UCIECZKA"), k = setInterval(function() {
  152.             g.battle ? _g("fight&a=quit") : clearInterval(k)
  153.         }, 100)), n
  154.     }
  155. }(document, parseInput, newNpc, hero.run, battleMsg);