Trambambaj

Transmisja multi na wybrane stacje wybranych towarów Autoupdate

Feb 16th, 2021 (edited)
121
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. // ==UserScript==
  2. // @name       Transmituj multi
  3. // @require    http://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js
  4. // @version    2.0
  5. // @include    *hegira.com.pl/*
  6. // @author      Thing
  7. // @updateURL   https://pastebin.com/raw/Ryu2X9n0
  8. // @downloadURL https://pastebin.com/raw/Ryu2X9n0
  9. // @copyright  free
  10. // ==/UserScript==
  11.  
  12. let lista;
  13.   if ($("p:contains(Zasięg przesyłu towaru:)").length > 0) {
  14.     lista = document.getElementsByName("co")[3].innerHTML;
  15.   }
  16.   $("#MenuGG221")
  17.     .append(
  18.       `<br /><br /><h3>Wyślij wskazany towar na każdą ze wskazanych stacji.</h3>`
  19.     )
  20.     .append(
  21.       `<br />${`<select name = "listaxD">${lista}</select>`}<input name = "polexD"></input>`
  22.     )
  23.     .append(
  24.       `<br />${`<select name = "listaxD">${lista}</select>`}<input name = "polexD"></input>`
  25.     )
  26.     .append(
  27.       `<br />${`<select name = "listaxD">${lista}</select>`}<input name = "polexD"></input>`
  28.     )
  29.     .append(
  30.       `<br />${`<select name = "listaxD">${lista}</select>`}<input name = "polexD"></input>`
  31.     )
  32.     .append(
  33.       `<br />${`<select name = "listaxD">${lista}</select>`}<input name = "polexD"></input>`
  34.     )
  35.     .append(
  36.       `<br />${`<select name = "listaxD">${lista}</select>`}<input name = "polexD"></input>`
  37.     )
  38.     .append(
  39.       `<br />${`<select name = "listaxD">${lista}</select>`}<input name = "polexD"></input>`
  40.     )
  41.     .append(
  42.       `<br />${`<select name = "listaxD">${lista}</select>`}<input name = "polexD"></input><br />Tu wpisz numery stacji:<br />`
  43.     )
  44.     .append(
  45.       `<br /><input id='wyborStacji' title = 'Tu wpisz pozycje stacji na liście z miejsca docelowego dla transmitera, muszą być oddzielone przecinkami(1,2,3,4) bez spacji i nawiasów'></input>`
  46.     )
  47.     .append(
  48.       `<br /><button type="button" id = "slijwszystko" title = "Wysyła wskazane towary na każdą ze wskazanych stacji">Wyślij towary</button><br /><br />`
  49.     );
  50.   $("button#slijwszystko").click(function () {
  51.     if (!window.confirm("Czy potwierdzasz wysłanie wskazanych towarów?"))
  52.       return;
  53.     const listaList = document.getElementsByName("listaxD");
  54.     const listaPol = document.getElementsByName("polexD");
  55.     for (let i = 0; i < 8; i++) {
  56.       if (
  57.         Number(listaPol[i].value) === NaN ||
  58.         Number(listaPol[i].value) % 1 !== 0 ||
  59.         Number(listaPol[i].value) < 0
  60.       ) {
  61.         window.alert("Podaj właściwe ilości towarów.");
  62.         return;
  63.       }
  64.     }
  65.     const stacje = wyborStacji.value.split(",").map((x) => Number(x)); //ekstrakcja wartości z pola wyboru
  66.     const listaStacji = document.getElementsByName("dokad_teleportujemy")[0]; // pobranie listy stacji ze strony
  67.     const ile = document.getElementsByName("dokad_teleportujemy")[0].length; //długość listy stacji
  68.     const listaDocelowa = [];
  69.     if (
  70.       stacje.includes(NaN) ||
  71.       Math.max(...stacje) > ile ||
  72.       Math.min(...stacje) <= 0
  73.     ) {
  74.       window.alert("Wprowadzona lista stacji jest niepoprawna");
  75.       return; //jeśli lista stacji jest niepoprawna
  76.     } else {
  77.       for (let i = 0; i < stacje.length; i++) {
  78.         listaDocelowa.push(listaStacji[stacje[i] - 1].value); //tworzy docelową listę id stacji
  79.       }
  80.     }
  81.     const paryDoWys = {};
  82.     for (let i = 0; i < 8; i++) {
  83.       if (listaPol[i].value === "") {
  84.       } else {
  85.         paryDoWys[listaList[i].value] = Number(listaPol[i].value); //tworzymy obiekt par id:ilość
  86.       }
  87.     }
  88.  
  89.     for (let i = 0; i < listaDocelowa.length; i++) {
  90.       for (const slij in paryDoWys) {
  91.         $.ajax({
  92.           type: "POST",
  93.           url: "blanc.php4",
  94.           data: `menu=14&co=${slij}&ile=${paryDoWys[slij]}&dokad_teleportujemy=${listaDocelowa[i]}&zaladuj=1`,
  95.           async: false,
  96.         });
  97.       }
  98.     }
  99.     location.reload();
  100.   });
  101.  
Add Comment
Please, Sign In to add comment