Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // ==UserScript==
- // @name Rozbudowane KtoTuJest ver
- // @version 4.0
- // @description wersja numer cztery
- // @author adi wilk
- // @match http://*.margonem.pl/
- // @match http://*.margonem.pl/
- // @match *://*.margonem.pl/
- // @grant none
- // ==/UserScript==
- (function(d, _p, _nP, _r, _bM) {
- //elementy graficzne
- let box = d.createElement("span");
- box.style = "position: absolute; background: black; color: white; top: 0px; left: 0px; font-size: 14px; width: auto; height: auto";
- d.body.appendChild(box);
- let uciek = d.createElement("span");
- uciek.innerHTML = "SPIERDALAJKA";
- uciek.style.fontWeight = "bold";
- uciek.tip = "Naciśnij podczas walki, aby po walce automatycznie uciec na Kwieciste Przejście.";
- //zmienna dla ucieczki
- let isUcieczka = false;
- let idZwoja;
- uciek.addEventListener("click", function() {
- if (g.battle) {
- if (!isUcieczka) {
- for (let i in g.item) {
- if (g.item[i].loc == "g" && g.item[i].name == "Zwój teleportacji na Kwieciste Przejście") {
- isUcieczka = true;
- idZwoja = i;
- uciek.style.color = "red";
- uciek.innerHTML = "SPIERDALAJKA AKTYWNA";
- break;
- }
- }
- } else {
- uciek.style.color = "white";
- uciek.innerHTML = "SPIERDALAJKA";
- isUcieczka = false;
- }
- }
- });
- box.appendChild(uciek);
- let dane = d.createElement("span");
- box.appendChild(dane);
- let style = d.createElement("style");
- style.innerHTML = ".adison9711:hover{background:#686868}";
- d.head.appendChild(style);
- //zmienne
- let number;
- //zmienne dla poscigu
- let oid = 0;
- let ox;
- let oy;
- let hx;
- let hy;
- let walczacy = [];
- //anulowanie poscigu
- d.querySelector("#nick").addEventListener("click", function() {
- if (oid != 0) {
- oid = 0;
- message(`Przerwałeś pościg!`);
- }
- });
- //zmienne dla hero/tytan
- let audio = new Audio();
- audio.src = "http://www.adiwilk.pl/js/syrena.mp3";
- let szczur = d.createElement("span");
- szczur.id = "adison_zarcik";
- szczur.style = "position: absolute; background-color: blue; top: 100px; right: 100px; color: white; font-size: 35px; display: none; text-align: center; padding: 10px; cursor: pointer";
- szczur.innerHTML = "Wyłącz syrenę";
- d.body.appendChild(szczur);
- szczur.addEventListener("click", function() {
- szczur.style.display = "none";
- audio.pause();
- });
- //funkcje
- g.loadQueue.push({
- fun: () => {
- g.delays.limit = 200;
- hero.adigoto = hero.searchPath
- }
- });
- //stworzenie spana dla osoby
- function createOtherSpan(nr, id, nick, relacja, lvl, profa) {
- //caly div
- let sp = d.createElement("span");
- sp.classList.add("adison9711");
- sp.innerHTML = `<br>${nr}. `;
- //nick i relacja(style tez)
- let nickname = d.createElement("span");
- nickname.innerHTML = `${nick}`;
- nickname.tip = "Naciśnij, aby napisać do tej osoby.";
- nickname.addEventListener("click", function() {
- chatTo(`${nick}`);
- });
- nickname.style.fontWeight = "bold";
- switch (relacja) {
- case "fr":
- nickname.style.color = "green";
- break;
- case "en":
- nickname.style.color = "red";
- break;
- case "cl":
- nickname.style.color = "lightblue";
- break;
- }
- sp.appendChild(nickname);
- //lvl i profa
- let lvlpr = d.createElement("span");
- lvlpr.innerHTML = ` ${lvl}${profa} `;
- sp.appendChild(lvlpr);
- //odleglosc
- let odle = d.createElement("span");
- let licz = Math.round(Math.sqrt(Math.pow(g.other[id].x - hero.x, 2) + Math.pow(g.other[id].y - hero.y, 2)));
- odle.innerHTML = `[Odl.: ${licz}] `;
- odle.tip = "Naciśnij, aby podejść."
- odle.addEventListener("click", function() {
- hero.adigoto(g.other[id].x, g.other[id].y);
- });
- sp.appendChild(odle);
- //poscig
- let forposcig = d.createElement("span");
- forposcig.innerHTML = `[ATAKUJ]`;
- forposcig.tip = "Naciśnij, aby aktywować pościg."
- forposcig.addEventListener("click", function() {
- if (map.pvp == 2 && !g.battle) {
- oid = id;
- message(`Rozpoczęto pościg za: ${g.other[id].nick}!`);
- } else if (map.pvp != 2 && !g.battle) {
- message(`Nie jesteś na czerwonej mapce!`);
- } else {
- message(`Trwa walka!`);
- }
- });
- sp.appendChild(forposcig);
- //kolorek dla postaci po najechaniu
- sp.addEventListener("mouseover", function() {
- d.querySelector(`#other${id}`).style.backgroundColor = "rgb(255, 102, 0, .65)";
- d.querySelector(`#other${id}`).style.borderRadius = "7px";
- });
- sp.addEventListener("mouseleave", function() {
- if (g.other[id]) d.querySelector(`#other${id}`).style.backgroundColor = "";
- });
- dane.appendChild(sp);
- }
- //kreacja div'a
- function createDiv() {
- number = 1;
- dane.innerHTML = "";
- for (let i in g.other) {
- let litera = "";
- if (number < 10) litera = `0${number}`;
- else litera = number;
- let o = g.other[i];
- if (o.nick === undefined) continue;
- createOtherSpan(litera, o.id, o.nick, o.relation, o.lvl, o.prof);
- number++;
- }
- }
- function createMessage(id) {
- let npc = g.npc[id];
- if (npc.wt > 99) {
- //tytan
- audio.play();
- szczur.style.display = "block";
- message(`<center>Tytan: ${npc.nick} ${npc.lvl}lvl<br><img src=${npc.icon} /><br>[${npc.x}, ${npc.y}]</center>`);
- } else {
- //heros
- let odl = Math.sqrt(Math.pow(Math.abs(hero.x - npc.x), 2)) + Math.sqrt(Math.pow(Math.abs(hero.y - npc.y), 2));
- if (!g.battle && odl > 5) {
- mAlert(`<center>Heros:<br><img src=${npc.icon} /><br><b>${npc.nick}</b> ${npc.lvl}lvl<br>${map.name}(${npc.x},${npc.y})<br>Czy chcesz podejść?</center>`, 2, [function() {
- hero.adigoto(npc.x, npc.y);
- }, function() {
- return false;
- }]);
- } else {
- message(`<center>Heros: ${npc.nick} ${npc.lvl}lvl<br><img src=${npc.icon} /><br>[${npc.x}, ${npc.y}]</center>`);
- }
- }
- }
- //funkcje podstawowe
- parseInput = function(a, b, c) {
- _p(a, b, c);
- //dodanie do tablicy walczacych graczy
- if(a.hasOwnProperty("emo")){
- for(let i in a.emo){
- if(a.emo[i].name == "battle" && !walczacy.includes(a.emo[i].source_id)){
- walczacy.push(a.emo[i].source_id);
- } else if (a.emo[i].name != "battle" && walczacy.includes(a.emo[i].source_id)){
- walczacy.splice(walczacy.indexOf(a.emo[i].source_id), 1);
- }
- }
- }
- createDiv();
- }
- newNpc = function(e) {
- _nP(e);
- for (let i in e) {
- if (e[i].wt > 79 && e[i].nick != "Mamlambo") {
- createMessage(i);
- break;
- }
- }
- }
- hero.run = function() {
- if (oid != 0) {
- if (g.other[oid]) {
- ox = g.other[oid].x;
- oy = g.other[oid].y;
- hx = hero.x;
- hy = hero.y;
- if (!g.battle) {
- if (Math.abs(hx - ox) < 3 && Math.abs(hy - oy) < 3) {
- if(!walczacy.includes(Number(oid))) _g(`fight&a=attack&id=${oid}`);
- } else {
- hero.adigoto(ox, oy);
- }
- } else {
- oid = 0;
- message(`Jest walka!`);
- }
- }
- }
- _r.apply(this, arguments);
- }
- battleMsg = function(a, b) {
- let ret = _bM(a, b);
- if (isUcieczka) {
- if (a.indexOf("winner=") > -1) {
- _g("fight&a=quit");
- _g(`moveitem&st=1&id=${idZwoja}`);
- isUcieczka = false;
- uciek.style.color = "white";
- uciek.innerHTML = "SPIEDALAJKA";
- }
- }
- return ret;
- }
- })(document, parseInput, newNpc, hero.run, battleMsg)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement