janek9971

Untitled

Jul 29th, 2024 (edited)
44
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. // ==UserScript==
  2. // @name         Fejkomat
  3. // @namespace    http://tampermonkey.net/
  4. // @version      0.1
  5. // @description  Nasłuchuje na zmiany wartości w polu input i wyrzuca wiadomość do konsoli.
  6. // @author       You
  7. // @match        https://pl200.plemiona.pl/game.php*screen=place*
  8. // @grant        none
  9. // @run-at document-idle
  10. // ==/UserScript==
  11.  
  12. (function() {
  13.     'use strict';
  14.  
  15.     function getRandomInt(min, max) {
  16.         min = Math.ceil(min);
  17.         max = Math.floor(max);
  18.         return Math.floor(Math.random() * (max - min + 1)) + min;
  19.     }
  20.  
  21.     // Funkcja do klikania przycisku #troop_confirm_submit
  22.     function performConfirmAction() {
  23.         setTimeout(() => {
  24.             const buttonConfirm = document.querySelector('#troop_confirm_submit');
  25.             if (buttonConfirm) {
  26.                 buttonConfirm.click();
  27.                 console.log('Przycisk potwierdzenia został kliknięty.');
  28.                 // Zapisanie stanu do sessionStorage przed przejściem do nowej strony
  29.                 sessionStorage.setItem('awaitingKeyPress', 'true');
  30.                 sessionStorage.removeItem('awaitingConfirm');
  31.             } else {
  32.                 console.log('Przycisk potwierdzenia nie został znaleziony.');
  33.             }
  34.         }, getRandomInt(250, 450)); // Opóźnienie 1 sekundy
  35.     }
  36.  
  37.     // Funkcja do naciśnięcia klawisza 'd'
  38.     function performKeyPressAction() {
  39.         setTimeout(() => {
  40.             var event = new KeyboardEvent('keydown', {
  41.                 key: 'd',
  42.                 code: 'KeyD',
  43.                 keyCode: 68,
  44.                 charCode: 68,
  45.                 which: 68,
  46.                 bubbles: true,
  47.                 cancelable: true
  48.             });
  49.             document.dispatchEvent(event);
  50.             console.log('Klawisz "d" został naciśnięty.');
  51.             sessionStorage.removeItem('awaitingKeyPress');
  52.         }, getRandomInt(250, 480)); // Poczekaj 1 sekundę
  53.     }
  54.  
  55.     // Funkcja do klikania przycisku #target_attack
  56.     function performAttackAction() {
  57.         setTimeout(() => {
  58.             const buttonAttack = document.querySelector('#target_attack');
  59.             if (buttonAttack) {
  60.                 buttonAttack.click();
  61.                 console.log('Przycisk ataku został kliknięty.');
  62.                 // Zapisanie stanu do sessionStorage przed przejściem do nowej strony
  63.                 sessionStorage.setItem('awaitingConfirm', 'true');
  64.             } else {
  65.                 console.log('Przycisk ataku nie został znaleziony.');
  66.             }
  67.         }, getRandomInt(300, 500)); // Opóźnienie 1 sekundy
  68.     }
  69.  
  70.     // Funkcja do nasłuchiwania zmian w polu input
  71.     function listenToInputChange() {
  72.         const inputField = document.querySelector('#place_target > input');
  73.         if (inputField) {
  74.             let lastValue = inputField.value;
  75.             setInterval(() => {
  76.                 if (inputField.value !== lastValue) {
  77.                     console.log('Wartość pola input zmieniona na:', inputField.value);
  78.                     lastValue = inputField.value;
  79.                     performAttackAction();
  80.                 }
  81.             }, 100); // Sprawdza co 100 ms
  82.             console.log('Nasłuchiwanie na zmiany wartości pola input zostało uruchomione.');
  83.         } else {
  84.             console.log('Pole input nie zostało znalezione.');
  85.         }
  86.     }
  87.  
  88.     if (sessionStorage.getItem('awaitingConfirm') === 'true') {
  89.         performConfirmAction();
  90.     } else if (sessionStorage.getItem('awaitingKeyPress') === 'true') {
  91.         performKeyPressAction();
  92.     } else {
  93.         listenToInputChange();
  94.     }
  95. })();
  96.  
Advertisement
Add Comment
Please, Sign In to add comment