Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // ==UserScript==
- // @name AntyDuch by SM
- // @namespace http://tampermonkey.net/
- // @version 0.30
- // @description Skrypt minimalizujący ryzyko wywołania antybota po wyjściu z dusza
- // @author MiensnyTrzaski
- // @match *://*.margonem.pl/
- // @exclude https://www.margonem.pl/
- // @grant none
- // ==/UserScript==
- let classHandler;
- class heroLife {
- constructor() {
- this.heroX = hero.x;
- this.heroY = hero.y;
- this.retryCount = 0;
- // Powiązanie metod z instancją klasy
- this.wakeUp = this.wakeUp.bind(this);
- this.simulateActivity = this.simulateActivity.bind(this);
- }
- goTo(x, y) {
- console.log(`Moving to coordinates: (${x}, ${y})`);
- window.hero.searchPath(x, y);
- }
- hasCollision(x, y) {
- return map.col[map.x * y + x] === "1" ? true : false;
- }
- findFreeCoords(minRange = 3, maxRange = 7) {
- const range = Math.floor(Math.random() * (maxRange - minRange + 1)) + minRange;
- const startX = this.heroX - range,
- endX = this.heroX + range,
- startY = this.heroY - range,
- endY = this.heroY + range,
- allCoords = [];
- for (let i = startX; i <= endX; i++) {
- for (let j = startY; j <= endY; j++) {
- if (i === this.heroX && j === this.heroY) continue;
- if (!this.hasCollision(i, j)) {
- allCoords.push([i, j]);
- }
- }
- }
- // Losowe przetasowanie współrzędnych
- return allCoords.sort(() => Math.random() - 0.5);
- }
- sleep(ms) {
- return new Promise(res => setTimeout(() => res(1), ms));
- }
- async simulateActivity() {
- const off = $("#ground").offset();
- const randomX = Math.random() * window.innerWidth;
- const randomY = Math.random() * window.innerHeight;
- const newObj = {
- clientX: randomX + off.left,
- clientY: randomY + off.top
- };
- console.log("Simulating random click at:", newObj);
- hero.mClick(newObj);
- await this.sleep(Math.random() * 2000 + 1000); // Krótkie opóźnienie po kliknięciu
- }
- async wakeUp() {
- const initialDelay = Math.random() * 90000 + 30000; // Losowe opóźnienie 30-120 sekund
- console.log("Delaying actions to avoid detection...");
- await this.sleep(initialDelay);
- // Symulacja losowych kliknięć przed ruchem
- if (Math.random() < 0.5) {
- console.log("Simulating activity before movement...");
- await this.simulateActivity();
- }
- const dest = this.findFreeCoords(); // Losowe współrzędne w większym zakresie
- console.log("Free coordinates:", dest);
- if (dest.length === 0 || !hero.stasis) {
- console.log("No free coordinates or stasis ended. Returning...");
- return;
- }
- const randomDest = dest[Math.floor(Math.random() * dest.length)]; // Losowy wybór współrzędnych
- console.log("Moving to:", randomDest);
- this.goTo(...randomDest);
- await this.sleep(Math.random() * 10000 + 5000); // Opóźnienie 5-15 sekund po ruchu
- if (!hero.stasis) {
- console.log("Stasis ended during movement. Stopping actions.");
- return;
- }
- this.retryCount++;
- if (this.retryCount > 3) {
- console.log("Max retries reached. Stopping...");
- return;
- }
- }
- }
- setTimeout(() => {
- const originalParseInput = parseInput;
- parseInput = (a, b, c) => {
- originalParseInput(a, b, c);
- if (isset(a.h) && a.h.hasOwnProperty("stasis") && a.h.stasis && !g.battle && !g.dead) {
- if (!classHandler) {
- classHandler = new heroLife();
- console.log("Starting heroLife handler...");
- }
- setTimeout(() => {
- if (classHandler) classHandler.wakeUp();
- }, Math.random() * 3000 + 2000); // Opóźnienie 2-5 sekund
- }
- };
- if (hero.stasis && !classHandler) {
- classHandler = new heroLife();
- console.log("Hero in stasis. Initializing...");
- setTimeout(() => {
- if (classHandler) classHandler.wakeUp();
- }, Math.random() * 3000 + 2000); // Opóźnienie 2-5 sekund
- }
- }, 10000); // Opóźnienie inicjalizacji skryptu o 10 sekund
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement