mirror of
https://github.com/tiennm99/WPlace-AutoBOT.git
synced 2026-10-15 02:16:17 +00:00
Update Auto-Farm.js
This commit is contained in:
1 parent
6fbd932a6d
commit
8cadddce34
1 file changed
+56
-34
+56
-34
@@ -23,7 +23,8 @@
|
||||
lastPixel: null,
|
||||
minimized: false,
|
||||
menuOpen: false,
|
||||
language: 'en'
|
||||
language: 'en',
|
||||
autoRefresh: true
|
||||
};
|
||||
|
||||
const sleep = ms => new Promise(r => setTimeout(r, ms));
|
||||
@@ -158,41 +159,52 @@
|
||||
: '❌ CAPTCHA token expired. Waiting for Paint button...',
|
||||
'error'
|
||||
);
|
||||
const mainPaintBtn = await waitForSelector('button.btn.btn-primary.btn-lg, button.btn-primary.sm\\:btn-xl');
|
||||
if (mainPaintBtn) mainPaintBtn.click();
|
||||
await sleep(500);
|
||||
updateUI(
|
||||
state.language === 'pt' ? 'Selecionando transparente...' : 'Selecting transparent...',
|
||||
'status'
|
||||
);
|
||||
const transBtn = await waitForSelector('button#color-0');
|
||||
if (transBtn) transBtn.click();
|
||||
await sleep(500);
|
||||
const canvas = await waitForSelector('canvas');
|
||||
if (canvas) {
|
||||
const rect = canvas.getBoundingClientRect();
|
||||
const evt = new MouseEvent('click', {
|
||||
clientX: rect.left + rect.width/2,
|
||||
clientY: rect.top + rect.height/2,
|
||||
bubbles: true
|
||||
});
|
||||
canvas.dispatchEvent(evt);
|
||||
}
|
||||
await sleep(500);
|
||||
updateUI(
|
||||
state.language === 'pt' ? 'Confirmando pintura...' : 'Confirming paint...',
|
||||
'status'
|
||||
);
|
||||
let confirmBtn = await waitForSelector(
|
||||
'button.btn.btn-primary.btn-lg, button.btn.btn-primary.sm\\:btn-xl'
|
||||
);
|
||||
if (!confirmBtn) {
|
||||
const allPrimary = Array.from(
|
||||
document.querySelectorAll('button.btn-primary')
|
||||
|
||||
if (state.autoRefresh) {
|
||||
const mainPaintBtn = await waitForSelector('button.btn.btn-primary.btn-lg, button.btn-primary.sm\\:btn-xl');
|
||||
if (mainPaintBtn) mainPaintBtn.click();
|
||||
await sleep(500);
|
||||
updateUI(
|
||||
state.language === 'pt' ? 'Selecionando transparente...' : 'Selecting transparent...',
|
||||
'status'
|
||||
);
|
||||
const transBtn = await waitForSelector('button#color-0');
|
||||
if (transBtn) transBtn.click();
|
||||
await sleep(500);
|
||||
const canvas = await waitForSelector('canvas');
|
||||
if (canvas) {
|
||||
const rect = canvas.getBoundingClientRect();
|
||||
const evt = new MouseEvent('click', {
|
||||
clientX: rect.left + rect.width/2,
|
||||
clientY: rect.top + rect.height/2,
|
||||
bubbles: true
|
||||
});
|
||||
canvas.dispatchEvent(evt);
|
||||
}
|
||||
await sleep(500);
|
||||
updateUI(
|
||||
state.language === 'pt' ? 'Confirmando pintura...' : 'Confirming paint...',
|
||||
'status'
|
||||
);
|
||||
let confirmBtn = await waitForSelector(
|
||||
'button.btn.btn-primary.btn-lg, button.btn.btn-primary.sm\\:btn-xl'
|
||||
);
|
||||
if (!confirmBtn) {
|
||||
const allPrimary = Array.from(
|
||||
document.querySelectorAll('button.btn-primary')
|
||||
);
|
||||
confirmBtn = allPrimary.length ? allPrimary[allPrimary.length - 1] : null;
|
||||
}
|
||||
confirmBtn?.click();
|
||||
} else {
|
||||
updateUI(
|
||||
state.language === 'pt'
|
||||
? 'Auto-refresh desativado. Por favor, clique no botão pintura manualmente.'
|
||||
: 'Auto-refresh disabled. Please click the Paint button manually.',
|
||||
'status'
|
||||
);
|
||||
confirmBtn = allPrimary.length ? allPrimary[allPrimary.length - 1] : null;
|
||||
}
|
||||
confirmBtn?.click();
|
||||
|
||||
await sleep(1000);
|
||||
continue;
|
||||
}
|
||||
@@ -415,6 +427,10 @@
|
||||
<i class="fas fa-play"></i>
|
||||
<span>${t.start}</span>
|
||||
</button>
|
||||
<label style="display:flex; align-items:center; margin-left:10px;">
|
||||
<input type="checkbox" id="autoRefreshCheckbox" ${state.autoRefresh ? 'checked' : ''}/>
|
||||
<span style="margin-left:4px; font-size:14px;">Auto Refresh</span>
|
||||
</label>
|
||||
</div>
|
||||
|
||||
<div class="wplace-stats">
|
||||
@@ -501,6 +517,12 @@
|
||||
minimizeBtn.innerHTML = `<i class="fas fa-${state.minimized ? 'expand' : 'minus'}"></i>`;
|
||||
});
|
||||
|
||||
// add listener for auto-refresh setting
|
||||
const autoRefreshCheckbox = panel.querySelector('#autoRefreshCheckbox');
|
||||
autoRefreshCheckbox.addEventListener('change', () => {
|
||||
state.autoRefresh = autoRefreshCheckbox.checked;
|
||||
});
|
||||
|
||||
window.addEventListener('beforeunload', () => {
|
||||
state.menuOpen = false;
|
||||
});
|
||||
|
||||
Reference in new issue
Block a user