// ==UserScript== // @name Mxo bot // @name:tr Mxo bot // @namespace https://i.imgur.com/gLazoQg.png // @version 1.5 // @description Fastest PixelPlace.io Bot! // @description:tr Baba Müqemmel Bot Buna Sahip Çıkmayan Türk, Türk Değildir // @author Mqmii#5955 // @match https://pixelplace.io/* // @exclude https://pixelplace.io/forums* // @exclude https://pixelplace.io/blog* // @exclude https://pixelplace.io/api* // @exclude https://pixelplace.io/gold-chart.php // @license MIT // @icon https://r.resimlink.com/kEp1-4bM.png // @run-at document-start // @grant unsafeWindow // @grant GM.info // @require https://greasyfork.org/scripts/461063-mxo-li-brary/code/MXO%20L%C4%B0BRARY.js?version=1158484 // @require https://greasyfork.org/scripts/461221-mxobot-hacktimer-js-by-turuslan/code/MxoBot%20HackTimerjs%20By%20Turuslan.js?version=1157401 // @downloadURL none // ==/UserScript== /* global NevinCore, NevinWaitForElm, NevinProtect, NevinLogger*/ /*jshint esversion: 11 */ // ==Locales== const lang = (navigator.language || navigator.userLanguage) == "tr" ? 1 : 0; const i18n = { setting: ["Bot Settings", "Bot Ayarları"][lang], load: ["Load image", "Resim"][lang], loaded: ["Loaded", "Yüklendi"][lang], nloaded: ["Not Loaded", "Yüklenmedi"][lang], nset: ["Not Set", "Ayarlanmadı"][lang], on: ["On", "Açık"][lang], off: ["Off", "Kapalı"][lang], protect: ["Protect", "Koruma"][lang], coordinate: ["Coordinate", "Koordinat"][lang], strategy: ["Shape", "Şekil"][lang], horizontal: ["Horizontal", "Yatay"][lang], vertical: ["Vertical", "Dikey"][lang], circular: ["Circular", "Dairesel"][lang], chess: ["Chess", "Dama"][lang], random: ["Random", "Rastgele"][lang], experimental: ["Experimental", "Deneysel"][lang], diagonal: ["Diagonal","Diyagonal"][lang], zigzag: ["Zigzag","Zikzaklı"][lang], baklava: ["Baklava","Baklava"][lang], archimedian: ["Archimedian","Arşimet "][lang], logarithmic: ["Logarithmic","Logaritmik "][lang], console: ["Mxo Console", "Mxo Konsolu"][lang], brave_warning: ["Please do not use MxoBot with Brave Browser. Brave Browser can modify image R,G,B values which can result to MxoBot skipping pixels. MxoBot is compatible with Firefox, Edge and Chrome browsers.", "Lütfen Brave Browser kullanma. Brave Browser resminin R,G,B değerlerini değiştirir, bu da botun bazı pixelleri atlamasına neden olabilir. MxoBot Firefox, Edge ve Chrome tarayıcılarıyla kullanabilirsin."][lang], }; // ==/Locales== // ==Brave Browser Check== async function checkBrave() { if (navigator.brave && await navigator.brave.isBrave()) { alert(i18n.brave_warning); } } checkBrave(); // ==/Brave Browser Check== // ==Config== const MXOBOT_EXPERIMENTAL_USE_MULTI_ACC = false; const MXOBOT_EXPERIMENTAL_STORE_LOADED_IMAGES = false; const MXOBOT_EXPERIMENTAL_SAVE_LAST_BOTTING = false; const MXOBOT_ANIMATE_BOT_CANVAS = true; const MXOBOT_CHECK_MAP_DYNAMICALLY = false; const MXOBOT_DO_NOT_DITHER = false; // const MXOBOT_DEBUG_MODE = false; const MXOBOT_TIMEOUT = 20; const MXOBOT_IMG_NOT_LOADED = "https://r.resimlink.com/kI42ijJ6V.png"; const MXOBOT_BOT_TITLE_IMG = "https://r.resimlink.com/Droyb4d1V9.png"; const MXOBOT_FONT = "https://gofile.io/d/Lm3pHQ"; const MXOBOT_DRAWING_STYLES = [ [i18n.horizontal, (a, b) => a[0] + a[1] * 0xfffff - b[0] - b[1] * 0xfffff], [i18n.vertical, (a, b) => a[0] * 0xfffff + a[1] - b[0] * 0xfffff - b[1]], [ i18n.circular, function (a, b) { const origx = coordinates[0] + ~~(nimage.image.width >> 1); const origy = coordinates[1] + ~~(nimage.image.height >> 1); return ( (a[0] - origx) ** 2 + (a[1] - origy) ** 2 - (b[0] - origx) ** 2 - (b[1] - origy) ** 2 ); }, ], [i18n.chess, (a, b) => ((a[0] + a[1]) % 2) - ((b[0] + b[1]) % 2)], [i18n.random, () => 1 - Math.random() * 2], [ i18n.experimental, function (a, b) { const origx = coordinates[0] + ~~(nimage.image.width >> 1); const origy = coordinates[1] + ~~(nimage.image.height >> 1); function calc(x) { unsafeWindow.calc = unsafeWindow.calc || function (x) { return Math.abs(x[0] - origx) ** 3 + Math.abs(x[1] - origy) ** 3; }; return unsafeWindow.calc(x); } return calc(a) - calc(b); }, ], [ i18n.diagonal, (pixel1, pixel2) => pixel1[0] - pixel2[0] + (pixel1[1] - pixel2[1]), ], [ i18n.zigzag, (pixel1, pixel2) => (pixel1[0] + pixel1[1]) % 2 === (pixel2[0] + pixel2[1]) % 2 ? pixel1[0] - pixel2[0] : -(pixel1[0] - pixel2[0]), ], [ i18n.baklava, (pixel1, pixel2) => { var centerX = coordinates[0] + ~~(nimage.image.width >> 1); var centerY = coordinates[1] + ~~(nimage.image.height >> 1); return ( (Math.abs(pixel1[0] - centerX) + Math.abs(pixel1[1] - centerY)) * (1 + 0.1 * Math.cos(Math.atan2(pixel1[1] - centerY, pixel1[0] - centerX))) - (Math.abs(pixel2[0] - centerX) + Math.abs(pixel2[1] - centerY)) * (1 + 0.1 * Math.cos(Math.atan2(pixel2[1] - centerY, pixel2[0] - centerX))) ); }, ], [ i18n.archimedian, (pixel1, pixel2) => { var centerX = coordinates[0] + ~~(nimage.image.width >> 1); var centerY = coordinates[1] + ~~(nimage.image.height >> 1); return ( Math.sqrt((pixel1[0] - centerX) ** 2 + (pixel1[1] - centerY) ** 2) + Math.atan2(pixel1[1] - centerY, pixel1[0] - centerX) - (Math.sqrt((pixel2[0] - centerX) ** 2 + (pixel2[1] - centerY) ** 2) + Math.atan2(pixel2[1] - centerY, pixel2[0] - centerX)) ); }, ], [ i18n.logarithmic, (pixel1, pixel2) => { var centerX = coordinates[0] + ~~(nimage.image.width >> 1); var centerY = coordinates[1] + ~~(nimage.image.height >> 1); return ( Math.log( Math.sqrt((pixel1[0] - centerX) ** 2 + (pixel1[1] - centerY) ** 2) ) + Math.atan2(pixel1[1] - centerY, pixel1[0] - centerX) - (Math.log( Math.sqrt((pixel2[0] - centerX) ** 2 + (pixel2[1] - centerY) ** 2) ) + Math.atan2(pixel2[1] - centerY, pixel2[0] - centerX)) ); }, ], ]; // ==/Config== // ==LibNevin== const core = new NevinCore({ timeout: MXOBOT_TIMEOUT, multibot: MXOBOT_EXPERIMENTAL_USE_MULTI_ACC, }); NevinLogger.LEVEL = NevinLoggerFactory.LEVEL_INFO; // ==/LibNevin== // ==MXObot UI== function draggable(element, draggable_element) { let x, y; // Handle the mousedown event // that's triggered when user drags the element const mouseDownHandler = function (e) { // Get the current mouse position x = e.clientX; y = e.clientY; // Attach the listeners to `document` document.addEventListener("mousemove", mouseMoveHandler); document.addEventListener("mouseup", mouseUpHandler); }; const mouseMoveHandler = function (e) { // How far the mouse has been moved const dx = e.clientX - x; const dy = e.clientY - y; // Set the position of element element.style.top = `${element.offsetTop + dy}px`; element.style.left = `${element.offsetLeft + dx}px`; // Reassign the position of mouse x = e.clientX; y = e.clientY; }; const mouseUpHandler = function () { // Remove the handlers of `mousemove` and `mouseup` document.removeEventListener("mousemove", mouseMoveHandler); document.removeEventListener("mouseup", mouseUpHandler); }; draggable_element.addEventListener("mousedown", mouseDownHandler); } const html = `