Advertisement
Guest User

Untitled

a guest
Jan 23rd, 2020
130
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 11.72 KB | None | 0 0
  1. // ==UserScript==
  2. // @name UCIEKANIE BRUTUS
  3. // @version 1.7
  4. // @description co tu opisywac duzo, fajny dodatek... i przydatny....
  5. // @author adi wilk
  6. // @match http://nomada.margonem.pl/
  7. // @match https://nomada.margonem.pl/
  8. // @grant none
  9. // ==/UserScript==
  10.  
  11. (function(d, _n, _b) {
  12. //graficzne elementy
  13. let box = d.createElement("span");
  14. box.id = "adisonzawodowiec";
  15. box.innerHTML = "Przeciągnij teleport<br>";
  16.  
  17. //chowanie okienka
  18. let box3 = d.createElement("span");
  19. box3.id = "asdasdrewwq";
  20. box3.classList.add("b_buttons");
  21. box3.tip = "Wyświetl okienko od uciekania";
  22. let style1 = d.createElement("style");
  23. style1.innerHTML = "#asdasdrewwq{left:127px;top:115px;background-image:url();opaciy:.7}#asdasdrewwq:hover{opacty:}";
  24. d.querySelector("#panel").appendChild(box3);
  25. d.head.appendChild(style1);
  26. box3.addEventListener("click", function() {
  27. let dane = localStorage.getItem("brutus_position").split("|");
  28. let x = dane[0];
  29. let y = dane[1];
  30. if(dane[2] == 1){
  31. d.querySelector("#adisonzawodowiec").style.display = "none";
  32. localStorage.setItem("brutus_position", `${x}|${y}|0`);
  33. } else {
  34. d.querySelector("#adisonzawodowiec").style.display = "block";
  35. localStorage.setItem("brutus_position", `${x}|${y}|1`);
  36. }
  37. });
  38.  
  39. //dla itemka
  40. let inpTp = d.createElement("div");
  41. inpTp.id = "adison_inpTp";
  42. inpTp.style = "position: relative; left: 77px; width: 32px; height: 32px; background: rgba(40,40,40,0.5); border: 1px solid #333333; margin-bottom: 5px; margin-top: 2px";
  43. box.appendChild(inpTp);
  44.  
  45. let inpLvl = d.createElement("input");
  46. inpLvl.type = "text";
  47. inpLvl.size = "1";
  48. inpLvl.id = "adison_inpLvl";
  49. box.appendChild(inpLvl);
  50. box.innerHTML += "<br>";
  51.  
  52. let inpClan = d.createElement("input");
  53. inpClan.type = "checkbox";
  54. inpClan.name = "adison_inpClan";
  55. box.appendChild(inpClan);
  56. box.innerHTML += "Uciekać znaj/klan?<br>";
  57.  
  58. let inpEscape = d.createElement("input");
  59. inpEscape.type = "checkbox";
  60. inpEscape.name = "adison_inpEscape";
  61. box.appendChild(inpEscape);
  62. let strEscape = d.createElement("span");
  63. strEscape.id = "adison_strEscape";
  64. strEscape.innerHTML = "Uciekanie włączone"
  65. strEscape.style.fontWeight = "bold";
  66. box.appendChild(strEscape);
  67.  
  68. d.body.appendChild(box);
  69.  
  70. let style = d.createElement("style");
  71. style.innerHTML = "#adisonzawodowiec{position:absolute; z-index: 400; width: 188px; height: 110px; background:#b8b8b8;text-align:center;padding:5px;border:2px solid red}input[id=adison_inpLvl]{border:1px solid #86cdda;border-radius:4px;padding:1px}input[id=adison_inpLvl]:hover{background:#dadada;cursor:auto}input[id=adison_inpLvl]:focus{background:#dadada}";
  72. d.head.appendChild(style);
  73.  
  74. //zmienne do tp po walce
  75. let tpAfterFight = false;
  76. let tpItemId = 0;
  77.  
  78. //pozycja okienka
  79. if(!localStorage.getItem("brutus_position")) localStorage.setItem("brutus_position", "0|0|1");
  80. (function(pos, element){
  81. let position = pos.split("|");
  82. let x = position[0] + "px";
  83. let y = position[1] + "px";
  84. if(position[2] == "1"){
  85. element.style.display = "block";
  86. } else if(position[2] == "0"){
  87. element.style.display = "none";
  88. } else {
  89. throw "Error z wyświetlaniem";
  90. }
  91. element.style.top = x;
  92. element.style.left = y;
  93. })(localStorage.getItem("brutus_position"), d.querySelector("#adisonzawodowiec"))
  94.  
  95. //generowanie tipu itemsa
  96. function generateItem(item) {
  97. let tip = itemTip(item);
  98. let html = "";
  99. html += `<div class="item" ctip="t_item" tip="${tip.replace(/"/g, '&quot;')}">`;
  100.  
  101. if(item.stat.indexOf("legendary") > -1) html += `<div class="itemHighlighter t_leg"></div>`;
  102. if(item.stat.indexOf("heroic") > -1) html += `<div class="itemHighlighter t_her"></div>`;
  103. if(item.stat.indexOf("unique") > -1) html += `<div class="itemHighlighter t_uni"></div>`;
  104. if(item.stat.indexOf("upgraded") > -1) html += `<div class="itemHighlighter t_upg"></div>`;
  105. html += `<img src="/obrazki/itemy/${item.icon}">`;
  106.  
  107. html += `</div>`;
  108. return html;
  109. }
  110. //localStorage
  111. g.loadQueue.push({
  112. fun: function() {
  113. //lvl
  114. if (!localStorage.getItem(`brutus${hero.id}_lvl`)) localStorage.setItem(`brutus${hero.id}_lvl`, `-30`);
  115. d.querySelector("#adison_inpLvl").value = localStorage.getItem(`brutus${hero.id}_lvl`);
  116.  
  117. //lastPerson
  118. if (localStorage.getItem(`lastPerson`)) log(localStorage.getItem(`lastPerson`));
  119.  
  120. //tp
  121. if (!localStorage.getItem(`brutus${hero.id}_tp1`)) localStorage.setItem(`brutus${hero.id}_tp1`, JSON.stringify({
  122. name: "Zwój teleportacji na Kwieciste Przejście",
  123. stat: "amount=14;capacity=15;lvl=70;teleport=344,17,60",
  124. icon: "pap/pap44.gif",
  125. pr: 42000,
  126. cl: 16
  127. }));
  128. d.querySelector("#adison_inpTp").innerHTML = generateItem(JSON.parse(localStorage.getItem(`brutus${hero.id}_tp1`)));
  129.  
  130. //clan/znaj
  131. if (!localStorage.getItem(`brutus_clanfr`)) localStorage.setItem(`brutus_clanfr`, true);
  132. d.querySelector("input[name=adison_inpClan]").checked = JSON.parse(localStorage.getItem(`brutus_clanfr`));
  133.  
  134. //ogolny przycisk uciekania
  135. if (!localStorage.getItem(`brutus_escape${hero.id}`)) localStorage.setItem(`brutus_escape${hero.id}`, true);
  136. d.querySelector("input[name=adison_inpEscape]").checked = JSON.parse(localStorage.getItem(`brutus_escape${hero.id}`));
  137. if(JSON.parse(localStorage.getItem(`brutus_escape${hero.id}`))) {
  138. d.querySelector("#adison_strEscape").style.color = "green";
  139. d.querySelector("#adison_strEscape").innerHTML = "Uciekanie włączone";
  140. } else {
  141. d.querySelector("#adison_strEscape").style.color = "red";
  142. d.querySelector("#adison_strEscape").innerHTML = "Uciekanie wyłączone";
  143. }
  144. }
  145. });
  146.  
  147. //zapisywanie ustawien
  148. d.querySelector("#adison_inpTp").addEventListener("keyup", function() {
  149. localStorage.setItem(`brutus${hero.id}_tp1`, this.value);
  150. });
  151. d.querySelector("#adison_inpLvl").addEventListener("keyup", function() {
  152. localStorage.setItem(`brutus${hero.id}_lvl`, this.value);
  153. });
  154. d.querySelector("input[name=adison_inpClan]").addEventListener("change", function() {
  155. localStorage.setItem(`brutus_clanfr`, this.checked);
  156. });
  157. d.querySelector("input[name=adison_inpEscape]").addEventListener("change", function() {
  158. localStorage.setItem(`brutus_escape${hero.id}`, this.checked);
  159. if(this.checked == true){
  160. d.querySelector("#adison_strEscape").style.color = "green";
  161. d.querySelector("#adison_strEscape").innerHTML = "Uciekanie włączone";
  162. } else {
  163. d.querySelector("#adison_strEscape").style.color = "red";
  164. d.querySelector("#adison_strEscape").innerHTML = "Uciekanie wyłączone";
  165. }
  166. });
  167.  
  168. function savePosition(){
  169. let x = parseInt(d.querySelector("#adisonzawodowiec").style.top);
  170. let y = parseInt(d.querySelector("#adisonzawodowiec").style.left);
  171. localStorage.setItem(`brutus_position`, `${x}|${y}|1`);
  172. }
  173. //draggable dla okienka z zapisem pozycji
  174. $("#adisonzawodowiec").draggable({
  175. start: function(){
  176. g.lock.add("adi_zmiana_pozycji");
  177. },
  178. stop: function(){
  179. g.lock.remove("adi_zmiana_pozycji");
  180. message("Zapisano pozycję!");
  181. savePosition();
  182. }
  183. });
  184.  
  185. //droppable dla teleporta
  186. $("#adison_inpTp").droppable({
  187. accept: ".item",
  188. drop: (e, ui) => {
  189. let item = g.item[ui.draggable.attr("id").replace("item", "")];
  190. if(item.cl == 16 && item.loc == "g"){
  191. d.querySelector("#adison_inpTp").innerHTML = generateItem(item);
  192. localStorage.setItem(`brutus${hero.id}_tp1`, JSON.stringify(item));
  193. message("Zapisano");
  194. } else {
  195. message("To nie teleport wtf");
  196. }
  197. }
  198. });
  199. //funkcja szukajaca Tp
  200. function teleport(nazwa, asd){
  201. let Person = g.other[asd];
  202. let content = `Ostatnia osoba przed którą próbowałeś uciekać: ${Person.nick} ${Person.lvl}${Person.prof} lvl`;
  203. localStorage.setItem("lastPerson", content);
  204. for(let i in g.item){
  205. if(g.item[i].loc == "g" && g.item[i].name == nazwa){
  206. let item = parseItemStat(g.item[i].stat);
  207. if(item.timelimit){
  208. let itemsikTime = item.timelimit.split(",");
  209. let ts = unix_time();
  210. let min = itemsikTime[1];
  211. if(min){
  212. if(ts > min){
  213. tpItemId = g.item[i].id;
  214. break;
  215. }
  216. } else {
  217. tpItemId = g.item[i].id;
  218. break;
  219. }
  220. } else {
  221. tpItemId = g.item[i].id;
  222. break;
  223. }
  224. }
  225. }
  226. if(tpItemId != 0){
  227. if(!g.battle){
  228. let t_mapa = map.name;
  229. let t_id = tpItemId;
  230. _g(`moveitem&st=1&id=${tpItemId}`);
  231. tpItemId = 0;
  232. setTimeout(()=>{
  233. if(map.name == t_mapa){
  234. _g(`moveitem&st=1&id=${t_id}`);
  235. }
  236. }, 50);
  237. } else {
  238. message("Teleport zostanie użyty po walce");
  239. tpAfterFight = true;
  240. }
  241. } else {
  242. message("Nie posiadasz teleportu");
  243. }
  244. }
  245. newOther = function(e) {
  246. _n(e);
  247. if(map.pvp == 2){
  248. let obj = JSON.parse(localStorage.getItem(`brutus${hero.id}_tp1`));
  249. let TpName = obj.name;
  250. let leverz = Number(localStorage.getItem(`brutus${hero.id}_lvl`));
  251. let ClanFrEscape = JSON.parse(localStorage.getItem(`brutus_clanfr`));
  252. let Escape = JSON.parse(localStorage.getItem(`brutus_escape${hero.id}`));
  253. let hlvl = hero.lvl;
  254. for (let i in e) {
  255. if(e[i].lvl - hlvl >= leverz && Escape){
  256. if(ClanFrEscape){
  257. teleport(TpName, i);
  258. break;
  259. } else {
  260. if(e[i].relation != "fr" && e[i].relation != "cl"){
  261. teleport(TpName, i);
  262. break;
  263. }
  264. }
  265. }
  266. }
  267. }
  268. }
  269. battleMsg = function(a, b) {
  270. let ret = _b(a, b);
  271. if (a.indexOf("winner=") > -1) {
  272. _g("fight&a=quit");
  273. if(tpAfterFight){
  274. let t_mapa = map.name;
  275. let t_id = tpItemId;
  276. _g(`moveitem&st=1&id=${tpItemId}`);
  277. tpItemId = 0;
  278. setTimeout(()=>{
  279. if(map.name == t_mapa){
  280. _g(`moveitem&st=1&id=${t_id}`);
  281. }
  282. }, 50);
  283. tpAfterFight = false;
  284. }
  285. }
  286. return ret;
  287. }
  288. })(document, newOther, battleMsg)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement