Facebook
From sasa, 2 Years ago, written in Plain Text.
Embed
Download Paste or View Raw
Hits: 58
  1. // ==UserScript==
  2. // @name         AutoX SI
  3. // @version      2.0
  4. // @author       Adriks
  5. // @match        https://*.margonem.pl/
  6. // ==/UserScript==
  7.  
  8. if (getCookie("interface") === "ni") {
  9.     return;
  10. }
  11.  
  12. var isNull, minilvl, maxilvl,bohx,bohy,idmapypowrot,icontype;
  13.  
  14. hero.margoMove=function(a,b){
  15.     if(this.isBlockedSearchPath())return this.blockedInfoSearchPath();
  16.     var c=map.nodes.getNode(hero.x,hero.y),d=map.nodes.getNode(a,b);
  17.     c.hasSameGroup(d)||(map.nodes.clearAllNodes(),c.setScore(0,map.hce8(d,c)),d=map.nodeSetLoop(d,c,map.findStep)),map.nodes.clearAllNodes(),c.setScore(0,map.hce(c,d)),map.nodeSetLoop(c,d,map.mapStep);
  18.     var e=d;for(road=[];null!==e&&e.id!=c.id;)road.push({x:e.x,y:e.y}),e=e.from;
  19.     null!==e&&road.push({x:e.x,y:e.y}),1<road.length&&null==g.playerCatcher.follow&&$("#target").stop().css({left:32*road[0].x,top:32*road[0].y,display:"block",opacity:1}).fadeOut(1e3)
  20. };
  21.  
  22. const attackNearbyOrFollow = player => {
  23.     if (   Math.abs(hero.x - player.x) <= 2
  24.         && Math.abs(hero.y - player.y) <= 2) {
  25.         return _g(`fight&a=attack&id=${player.id}`);
  26.     } else if (document.getElementById('follow').checked) {
  27.         return hero.margoMove(player.x, player.y);
  28.     }
  29. }
  30.  
  31. const checkIfShouldAttack = player => {
  32.     if(g.dead || g.battle) {
  33.         return false;
  34.     }
  35.     if (Math.sqrt(Math.pow(hero.x - player.x, 2) + Math.pow(hero.y - player.y, 2)) > 15) {
  36.         return false;
  37.     }
  38.     if ( (player.relation == "fr" && bicznaj.checked==false)
  39.         || (player.relation == "cl" && bicklan.checked==false)
  40.         || (player.relation == "cl-fr" && bicsoj.checked==false)) {
  41.         return false;
  42.     }
  43.     if (   player.lvl > maxilvl
  44.         || player.lvl < minilvl) {
  45.         return false;
  46.     }
  47.     return true;
  48. }
  49.  
  50.     function css()
  51.     {
  52.                 if(!localStorage.getItem(`autoxkordyokna`)){
  53.         let ihfyasfj = {
  54.             x: 200,
  55.             y: 140
  56.         }
  57.         localStorage.setItem(`autoxkordyokna`, JSON.stringify(ihfyasfj));
  58.                 };
  59.                 const autoxkordyokna = JSON.parse(localStorage.getItem(`autoxkordyokna`));
  60.  
  61.                 if(!localStorage.getItem(`autoxkordyminiokna`)){
  62.         let ihfyasfj = {
  63.             x: 200,
  64.             y: 140
  65.         }
  66.         localStorage.setItem(`autoxkordyminiokna`, JSON.stringify(ihfyasfj));
  67.                 };
  68.                 const autoxkordyminiokna = JSON.parse(localStorage.getItem(`autoxkordyminiokna`));
  69.  
  70.  
  71.         const $container2 = $( '<div id="container2"></div>' );
  72.                 const $titleautox = $('<p class = "tiltle">AutoX</p>');
  73.                 const $authorautox = $('<p class = "authorx">Adriks</p>');
  74.         const $trigger = $('<span class = "tekst3">ON/OFF:</span><input type="checkbox" class="check" id="trigger"></br>');
  75.         const $minlvl = $('<input type="text" class="input" id="minlvl" autocomplete="off" placeholder="Min lvl"></br>');
  76.         const $maxlvl = $('<input type="text" class="input" id="maxlvl" autocomplete="off" placeholder="Max lvl"></br>');
  77.         const $follow = $('<span class = "tekst3">Follow:</span><input type="checkbox" class="check" id="follow"></br>');
  78.                 const $autof = $('<span class = "tekst3">AutoF:</span><input type="checkbox" class="check" id="autof"></br>');
  79.         const $czymabic = $('<span class = "tekst3">Czy ma bić:</br>');
  80.         const $bicklan = $('<span class = "tekst3">Klan:</span><input type="checkbox" class="check" id="bicklan"></br>');
  81.         const $bicznaj = $('<span class = "tekst3">Znaj:</span><input type="checkbox" class="check" id="bicznaj"></br>');
  82.         const $bicsoj = $('<span class = "tekst3">Soj.Klan.:</span><input type="checkbox" class="check" id="bicsoj"></br>');
  83.         const $backChecker = $('<span class = "tekst">Powrót na</br>mapę i kordy</span><span class = "tekst3"></br>ON/OFF:</span><input type="checkbox" class="check" id="backChecker"></br>');
  84.         const $herox = $('<input type="text" class="backInput" id="herox" placeholder="X">');
  85.         const $heroy = $('<input type="text" class="backInput" id="heroy" placeholder="Y"></br>');
  86.                 const $idmapypowrotu = $('<input type="text" class="input" id="idmapypowrotu" placeholder="Id mapy">');
  87.                 const $buttonxy = $('<span class = "tekst3"></br>Get X/Y: </span><input type="button" id="buttonxy"</br>');
  88.                 const $buttonmapid = $('<span class = "tekst3"></br>Get MapId: </span><input type="button" id="buttonmapid"</br>');
  89.  
  90.         $("body").append($container2);
  91.         $("#container2").append($titleautox,$authorautox,$trigger, $minlvl, $maxlvl,$follow,$autof,$czymabic,$bicklan,$bicznaj,$bicsoj, $backChecker, $herox, $heroy,$idmapypowrotu,$buttonxy,$buttonmapid);
  92.  
  93.         $( "#container2" ).css({
  94.             'position': 'absolute',
  95.             'text-align': 'center',
  96.             'width': 'auto',
  97.             'height': 'auto',
  98.                         'box-shadow': '0 0 15px #04387c, 0 0 15px #04387c',
  99.             'background': '#032c63',
  100.                         'color': '#529bfa',
  101.             'top': `${autoxkordyokna.y}px`,
  102.             'left': `${autoxkordyokna.x}px`,
  103.             'border-radius': '3px',
  104.             'border': '1px solid black',
  105.             'z-index': '999'
  106.         });
  107.  
  108.         $( ".tiltle").css({
  109.                         'font-size': '25px',
  110.                         'color': '#ff9933',
  111.             'position': 'relative'
  112.                 });
  113.  
  114.          $( ".check").css({
  115.                         'background': '#b3e8ff',
  116.             'position': 'relative'
  117.                 });
  118.  
  119.                 $( ".tekst").css({
  120.                         'font-size': '15px',
  121.                         'color': '#b3daff',
  122.             'position': 'relative'
  123.                 });
  124.  
  125.         $( ".tekst3").css({
  126.                         'font-size': '15px',
  127.                         'color': '#00b3ff',
  128.             'position': 'relative'
  129.                 });
  130.  
  131.                 $( ".authorx").css({
  132.                         'font-size': '10px',
  133.                         'color': 'gold',
  134.             'position': 'relative'
  135.                 });
  136.  
  137.         $( ".input" ).css({
  138.             'width': '50px',
  139.             'background': '#b3e8ff',
  140.             'position': 'relative',
  141.             'color':'#8000ff',
  142.                         'text-align': 'center'
  143.         });
  144.  
  145.         $( ".backInput" ).css({
  146.             'background': '#b3e8ff',
  147.             'margin-top': '6px',
  148.             'height': '15px',
  149.             'width': '19px',
  150.             'position': 'relative',
  151.             'color':'#8000ff',
  152.                         'text-align': 'center'
  153.         });
  154.  
  155.         $(container2).draggable({
  156.         stop: () => {
  157.             let ihfyasfj = {
  158.                 x: parseInt(container2.style.left),
  159.                 y: parseInt(container2.style.top)
  160.             }
  161.             localStorage.setItem(`autoxkordyokna`, JSON.stringify(ihfyasfj));
  162.         }
  163.                 });
  164.  
  165.                 const $containerminiicon = $( '<div id="containerminiicon"></div>' );
  166.                 $("body").append($containerminiicon);
  167.                 $( "#containerminiicon" ).css({
  168.             'position': 'absolute',
  169.             'width': '32px',
  170.             'height': '32px',
  171.                         'tip': 'AutoX',
  172.             'backgroundImage': `url('https://i.imgur.com/z0FtZm3.gif')`,
  173.             'top': `${autoxkordyminiokna.y}px`,
  174.             'left': `${autoxkordyminiokna.x}px`,
  175.             'z-index': '310'
  176.         });
  177.                 containerminiicon.setAttribute('tip', '<center><b>AutoX</b></center> Kliknij aby pokazać okno');
  178.  
  179.                 $(containerminiicon).draggable({
  180.         stop: () => {
  181.             let ihfyasfj = {
  182.                 x: parseInt(containerminiicon.style.left),
  183.                 y: parseInt(containerminiicon.style.top)
  184.             }
  185.             localStorage.setItem(`autoxkordyminiokna`, JSON.stringify(ihfyasfj));
  186.         }
  187.                 });
  188.  
  189.                 container2.addEventListener('contextmenu', (e)=>{
  190.                         e.preventDefault();
  191.                         icontype = 1;
  192.                         container2.style.display = 'none';
  193.                         localStorage.setItem('adriksautoxikonka', icontype);
  194.                 });
  195.  
  196.                 containerminiicon.addEventListener('contextmenu', (e)=>{
  197.                         e.preventDefault();
  198.                         if(icontype == 1){
  199.                                 container2.style.display = 'block';
  200.                                 icontype = 0;
  201.                         }
  202.                         else if(icontype == 0){
  203.                                 container2.style.display = 'none';
  204.                                 icontype = 1;
  205.                         }
  206.                         localStorage.setItem('adriksautoxikonka', icontype);
  207.                 });
  208.  
  209.                 if(!localStorage.getItem('adriksautoxikonka')){
  210.         let ihfyasfj = 0;
  211.         localStorage.setItem(`adriksautoxikonka`, ihfyasfj);
  212.                 };
  213.  
  214.                 icontype = localStorage.getItem('adriksautoxikonka');
  215.  
  216.                 if (icontype == 0) {
  217.         container2.style.display = 'block';
  218.                 }
  219.                 if (icontype == 1) {
  220.         container2.style.display = 'none';
  221.                 }
  222.  
  223.                 if(localStorage.getItem('wloncznikautox') == 'on'){
  224.         trigger.checked=true;
  225.                 }else{
  226.         trigger.checked=false;
  227.                 }
  228.  
  229.                     trigger.addEventListener('change',()=>{
  230.         if(trigger.checked==true){
  231.             message('AutoX On');
  232.             localStorage.setItem('wloncznikautox','on');
  233.         }else{
  234.             message('AutoX Off');
  235.             localStorage.setItem('wloncznikautox','off');
  236.         }
  237.                 });
  238.  
  239.                 if(localStorage.getItem('wloncznikfollowautox') == 'on'){
  240.         follow.checked=true;
  241.                 }else{
  242.         follow.checked=false;
  243.                 }
  244.  
  245.                     follow.addEventListener('change',()=>{
  246.         if(follow.checked==true){
  247.             message('Follow On');
  248.             localStorage.setItem('wloncznikfollowautox','on');
  249.         }else{
  250.             message('Follow Off');
  251.             localStorage.setItem('wloncznikfollowautox','off');
  252.         }
  253.                 });
  254.  
  255.                 if(localStorage.getItem('wloncznikautofautox') == 'on'){
  256.         autof.checked=true;
  257.                 }else{
  258.         autof.checked=false;
  259.                 }
  260.  
  261.                     autof.addEventListener('change',()=>{
  262.         if(autof.checked==true){
  263.             message('AutoF On');
  264.             localStorage.setItem('wloncznikautofautox','on');
  265.         }else{
  266.             message('AutoF Off');
  267.             localStorage.setItem('wloncznikautofautox','off');
  268.         }
  269.                 });
  270.  
  271.                 if(localStorage.getItem('wloncznikbicklanautox') == 'on'){
  272.         bicklan.checked=true;
  273.                 }else{
  274.         bicklan.checked=false;
  275.                 }
  276.  
  277.                     bicklan.addEventListener('change',()=>{
  278.         if(bicklan.checked==true){
  279.             localStorage.setItem('wloncznikbicklanautox','on');
  280.         }else{
  281.             localStorage.setItem('wloncznikbicklanautox','off');
  282.         }
  283.                 });
  284.  
  285.                 if(localStorage.getItem('wloncznikbicznajautox') == 'on'){
  286.         bicznaj.checked=true;
  287.                 }else{
  288.         bicznaj.checked=false;
  289.                 }
  290.  
  291.                     bicznaj.addEventListener('change',()=>{
  292.         if(bicznaj.checked==true){
  293.             localStorage.setItem('wloncznikbicznajautox','on');
  294.         }else{
  295.             localStorage.setItem('wloncznikbicznajautox','off');
  296.         }
  297.                 });
  298.  
  299.                 if(localStorage.getItem('wloncznikbicsojautox') == 'on'){
  300.         bicsoj.checked=true;
  301.                 }else{
  302.         bicsoj.checked=false;
  303.                 }
  304.  
  305.                     bicsoj.addEventListener('change',()=>{
  306.         if(bicsoj.checked==true){
  307.             localStorage.setItem('wloncznikbicsojautox','on');
  308.         }else{
  309.             localStorage.setItem('wloncznikbicsojautox','off');
  310.         }
  311.                 });
  312.  
  313.         if(localStorage.getItem('wloncznikbackCheckerautox') == 'on'){
  314.         backChecker.checked=true;
  315.                 }else{
  316.         backChecker.checked=false;
  317.                 }
  318.  
  319.         backChecker.addEventListener('change',()=>{
  320.         if(backChecker.checked==true){
  321.             message('Powrót On');
  322.             localStorage.setItem('wloncznikbackCheckerautox','on');
  323.         }else{
  324.             message('Powrót Off');
  325.             localStorage.setItem('wloncznikbackCheckerautox','off');
  326.         }
  327.                 });
  328.  
  329.         document.getElementById('minlvl').value = localStorage.getItem('autoxadriksminlvl');
  330.                 minilvl = document.getElementById('minlvl').value;
  331.                 if(minilvl == ''){minilvl = 0};
  332.  
  333.                 document.getElementById('maxlvl').value = localStorage.getItem('autoxadriksmaxlvl');
  334.                 maxilvl = document.getElementById('maxlvl').value;
  335.                 if(maxilvl == ''){maxilvl = 300};
  336.  
  337.                 minlvl.addEventListener('change', ()=>{
  338.             minilvl = document.getElementById('minlvl').value;
  339.                         localStorage.setItem('autoxadriksminlvl',minilvl);
  340.             if(minilvl == ''){minilvl = 0};
  341.                 });
  342.  
  343.                 maxlvl.addEventListener('change', ()=>{
  344.             maxilvl = document.getElementById('maxlvl').value;
  345.                         localStorage.setItem('autoxadriksmaxlvl',maxilvl);
  346.             if(maxilvl == ''){maxilvl = 300};
  347.                 });
  348.  
  349.                 document.getElementById('herox').value = localStorage.getItem('autoxadriksherox');
  350.                 bohx = document.getElementById('herox').value;
  351.  
  352.                 document.getElementById('heroy').value = localStorage.getItem('autoxadriksheroy');
  353.                 bohy = document.getElementById('heroy').value;
  354.  
  355.                 herox.addEventListener('change', ()=>{
  356.             bohx = document.getElementById('herox').value;
  357.                         localStorage.setItem('autoxadriksherox',bohx);
  358.                 });
  359.  
  360.                 heroy.addEventListener('change', ()=>{
  361.             bohy = document.getElementById('heroy').value;
  362.                         localStorage.setItem('autoxadriksheroy',bohy);
  363.                 });
  364.  
  365.                 buttonxy.addEventListener('click', ()=>{
  366.                         document.getElementById('herox').value=hero.x;
  367.                         bohx = document.getElementById('herox').value;
  368.                         localStorage.setItem('autoxadriksherox',bohx);
  369.                         document.getElementById('heroy').value=hero.y;
  370.                         bohy = document.getElementById('heroy').value;
  371.                         localStorage.setItem('autoxadriksheroy',bohy);
  372.                 });
  373.  
  374.                 document.getElementById('idmapypowrotu').value = localStorage.getItem('autoxadriksidmapypowrotu');
  375.                 idmapypowrot = document.getElementById('idmapypowrotu').value;
  376.  
  377.                 idmapypowrotu.addEventListener('change', ()=>{
  378.             idmapypowrot = document.getElementById('idmapypowrotu').value;
  379.                         localStorage.setItem('autoxadriksidmapypowrotu',idmapypowrot);
  380.                 });
  381.  
  382.                 buttonmapid.addEventListener('click', ()=>{
  383.                         document.getElementById('idmapypowrotu').value=map.id;
  384.             idmapypowrot = document.getElementById('idmapypowrotu').value;
  385.                         localStorage.setItem('autoxadriksidmapypowrotu',idmapypowrot);
  386.                 });
  387.  
  388. setInterval(fun,500);
  389.     }
  390.  
  391. function fun() {
  392.         if(autof.checked==true){
  393.             if($("#autobattleButton").css("display") == "block"){
  394.                 $("#autobattleButton").click()
  395.             };
  396.         }
  397.  
  398.     if (map.pvp == 2 && (document.getElementById('trigger').checked)) {
  399.  
  400.             for (const player of Object.values(g.other)) {
  401.                 if (!checkIfShouldAttack(player)) {
  402.                     continue;
  403.                 }
  404.  
  405.                 attackNearbyOrFollow(player);
  406.             }
  407.             isNull = player ? Object.values( g.other ).every( val => val == null ) : true;
  408.             if(isNull && document.getElementById('backChecker').checked){
  409.                                 if(map.id==idmapypowrot){
  410.                                         hero.margoMove(eval(bohx),eval(bohy));
  411.                                 }else{
  412.                                         let cakskdak = g.gwIds[idmapypowrot].split(`.`);
  413.                                         hero.margoMove(eval(cakskdak[0]),eval(cakskdak[1]));
  414.                                 }
  415.             }
  416.     }
  417. };
  418.  
  419. window.onload = css();