Автокликер для Turbo Tap
Первым делом потребуется установить расширение Tampermonkey, куда мы будем вставлять скрипт. Таким образом в каждом окне антидетект браузера кликер будет работать независимо.
После установки переходим во вкладку Управление расширениями и включаем режим разработчика. Это требуется для корректной работы Tampermonkey.
Затем нажимаем на расширение и в открывшемся меню выбираем Создать новый скрипт
На открывшейся странице вставляем код приложенный ниже и слегка изменяем числовые значения на указанных строчках
// ==UserScript==
// @name Eclipse Auto Clicker
// @namespace http://tampermonkey.net/
// @version 1.0
// @description Bichok Eclipse Auto Clicker
// @match https://tap.eclipse.xyz/*
// @grant none
// ==/UserScript==
function waitForElements() {
return new Promise(resolve => {
function check() {
const container = document.querySelector('.row-start-1.grid.place-content-start.justify-center.py-8.md\\:col-span-1');
const canvas = document.querySelector('canvas');
if (container && canvas) {
resolve({ container, canvas });
return true;
}
return false;
}
const observer = new MutationObserver(mutations => {
if (check()) {
observer.disconnect();
}
});
observer.observe(document.body, {
childList: true,
subtree: true
});
});
}
function createToggleButton() {
const toggleButton = document.createElement('button');
toggleButton.innerHTML = '🖱️ Start';
toggleButton.style.cssText = `
margin: 20px auto 0;
padding: 8px 16px;
border-radius: 8px;
background: #0B979F;
color: white;
border: none;
cursor: pointer;
font-weight: bold;
opacity: 0.8;
display: block;
`;
return toggleButton;
}
function getRandomCoordinates(element) {
const rect = element.getBoundingClientRect();
const centerX = rect.left + rect.width / 2;
const centerY = rect.top + rect.height / 2;
const radiusX = rect.width * 0.3;
const radiusY = rect.height * 0.3;
const angle = Math.random() * Math.PI * 2;
const distance = Math.random();
const x = centerX + Math.cos(angle) * radiusX * distance;
const y = centerY + Math.sin(angle) * radiusY * distance;
function simulateRealClick(element) {
if (!element) return;
const { x, y } = getRandomCoordinates(element);
const { x: upX, y: upY } = getRandomCoordinates(element);
const mouseDown = new MouseEvent('mousedown', {
view: window,
bubbles: true,
cancelable: true,
clientX: x,
clientY: y,
button: 0,
buttons: 1
});
element.dispatchEvent(mouseDown);
setTimeout(() => {
const mouseUp = new MouseEvent('mouseup', {
view: window,
bubbles: true,
cancelable: true,
clientX: upX,
clientY: upY,
button: 0,
buttons: 0
});
element.dispatchEvent(mouseUp);
setTimeout(() => {
const click = new MouseEvent('click', {
view: window,
bubbles: true,
cancelable: true,
clientX: upX,
clientY: upY,
button: 0,
buttons: 0
});
element.dispatchEvent(click);
}, 5 + Math.random() * 15);
}, 50 + Math.random() * 55);
}
async function initAutoClicker() {
const { container, canvas } = await waitForElements();
const toggleButton = createToggleButton();
container.appendChild(toggleButton);
let isClicking = localStorage.getItem('autoClickerEnabled') === 'true';
let clickTimeout = null;
let reloadTimeout = null;
function performClick() {
if (!isClicking) return;
const shouldTakeLongBreak = Math.random() < 0.002; //шанс срабатывания длинной паузы сейчас 2%
if (shouldTakeLongBreak) {
clickTimeout = setTimeout(performClick, 10000 + Math.random() * 22000); //слегка меняем числа, например ставим 9500 и 21000
} else {
clickTimeout = setTimeout(performClick, 100 + Math.random() * 60); //слегка меняем числа
}
}
function scheduleReload() {
if (!isClicking) return;
reloadTimeout = setTimeout(() => {
localStorage.setItem('autoClickerEnabled', 'true');
location.reload();
}, 30 * 60 * 1200); //слегка меняем числа
}
if (isClicking) {
toggleButton.innerHTML = '🖱️ Stop';
toggleButton.style.background = '#9F0B0B';
setTimeout(() => {
performClick();
scheduleReload();
}, 45000); //слегка меняем число
}
toggleButton.addEventListener('click', () => {
isClicking = !isClicking;
localStorage.setItem('autoClickerEnabled', isClicking);
toggleButton.innerHTML = isClicking ? '🖱️ Stop' : '🖱️ Start';
toggleButton.style.background = isClicking ? '#9F0B0B' : '#0B979F';
if (isClicking) {
performClick();
scheduleReload();
} else {
if (clickTimeout) {
clearTimeout(clickTimeout);
}
if (reloadTimeout) {
clearTimeout(reloadTimeout);
}
}
});
}
initAutoClicker().catch(console.error);
})();
После того как вставили скрипт и изменили значения жмем на кнопку Файл и сохраняем
Если все было выполнено верно, то после обновления страницы с тапалкой должна появиться кнопка старт(если не появилась перезапускаем браузер)
После обновления страницы дожидаемся ее полной загрузки, должно отобразиться количество нафармленной травы, и жмем на кнопку старт
В дискорде проекта очень много сообщений о банах за обычные кликеры, а также известно что банят за более 50 кликов в секунду. Потому желательно использовать данный рандомный кликер слегка меняя значения на каждом аккаунте, чтобы вообще никак не спалили мульты по блокам, либо же прокликивать все самостоятельно...