mirror of
https://github.com/tiennm99/WPlace-AutoBOT.git
synced 2026-10-13 20:14:24 +00:00
Merge pull request #70 from dnrovs/main
This commit is contained in:
2 files changed
+217
-25
No files matched your search
+92
-25
@@ -212,13 +212,19 @@
|
||||
}
|
||||
|
||||
const loadLanguagePreference = () => {
|
||||
try {
|
||||
const saved = localStorage.getItem("wplace_language")
|
||||
if (saved && TEXT[saved]) {
|
||||
state.language = saved
|
||||
}
|
||||
} catch (e) {
|
||||
console.warn("Could not load language preference:", e)
|
||||
const savedLanguage = localStorage.getItem("wplace_language")
|
||||
|
||||
const browserLocale = navigator.language
|
||||
const browserLanguage = browserLocale.split("-")[0]
|
||||
|
||||
if (TEXT[savedLanguage]) { // trying to load saved language
|
||||
state.language = savedLanguage
|
||||
} else if (TEXT[browserLocale]) { // trying to load full locale match (e.g. "zh-CN", "zh-TW" etc)
|
||||
state.language = browserLocale
|
||||
localStorage.setItem("wplace_language", browserLocale)
|
||||
} else if (TEXT[browserLanguage]) { // trying to load base language match (e.g. "en" for "en-US" or "en-GB" etc)
|
||||
state.language = browserLanguage
|
||||
localStorage.setItem("wplace_language", browserLanguage)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -734,7 +740,7 @@
|
||||
automation: "Otomasyon",
|
||||
noChargesThreshold: "⌛ Hakların {threshold} seviyesine ulaşması bekleniyor. Şu anda {current}. Sonraki {time} içinde...",
|
||||
},
|
||||
zh: {
|
||||
"zh-CN": {
|
||||
title: "WPlace 自动图像",
|
||||
toggleOverlay: "切换覆盖层",
|
||||
scanColors: "扫描颜色",
|
||||
@@ -810,7 +816,7 @@
|
||||
automation: "自动化",
|
||||
noChargesThreshold: "⌛ 等待次数达到 {threshold}。当前 {current}。下次在 {time}...",
|
||||
},
|
||||
"zh-tw": {
|
||||
"zh-TW": {
|
||||
title: "WPlace 自動圖像",
|
||||
toggleOverlay: "切換覆蓋層",
|
||||
scanColors: "掃描顏色",
|
||||
@@ -1038,6 +1044,80 @@
|
||||
automation: "자동화",
|
||||
noChargesThreshold: "⌛ 횟수가 {threshold} 에 도달할 때까지 대기 중. 현재 {current}. 다음 {time} 후...",
|
||||
},
|
||||
uk: {
|
||||
title: "WPlace Авто-Зображення",
|
||||
toggleOverlay: "Перемкнути оверлей",
|
||||
scanColors: "Сканувати кольори",
|
||||
uploadImage: "Завантажити зображення",
|
||||
resizeImage: "Змінити розмір зображення",
|
||||
selectPosition: "Вибрати позицію",
|
||||
startPainting: "Почати малювання",
|
||||
stopPainting: "Зупинити малювання",
|
||||
checkingColors: "🔍 Перевірка доступних кольорів...",
|
||||
noColorsFound: "❌ Відкрий палітру кольорів на сайті та спробуй ще раз!",
|
||||
colorsFound: "✅ Знайдено {count} доступних кольорів. Готово до завантаження.",
|
||||
loadingImage: "🖼️ Завантаження зображення...",
|
||||
imageLoaded: "✅ Зображення завантажено. Валідних пікселів: {count}",
|
||||
imageError: "❌ Помилка завантаження зображення",
|
||||
selectPositionAlert: "Намалюй перший піксель у місці, де має починатися арт!",
|
||||
waitingPosition: "👆 Очікування на малювання референсного пікселя...",
|
||||
positionSet: "✅ Позицію успішно встановлено!",
|
||||
positionTimeout: "❌ Час вибору позиції вичерпано",
|
||||
startPaintingMsg: "🎨 Початок малювання...",
|
||||
paintingProgress: "🧱 Прогрес: {painted}/{total} пікселів...",
|
||||
noCharges: "⌛ Немає зарядів. Очікування {time}...",
|
||||
paintingStopped: "⏹️ Малювання зупинено користувачем",
|
||||
paintingComplete: "✅ Малювання завершено! Намальовано {count} пікселів.",
|
||||
paintingError: "❌ Помилка під час малювання",
|
||||
missingRequirements: "❌ Спершу завантаж зображення та вибери позицію",
|
||||
progress: "Прогрес",
|
||||
pixels: "Пікселі",
|
||||
charges: "Заряди",
|
||||
estimatedTime: "Орієнтовний час",
|
||||
initMessage: "Натисни 'Завантажити зображення', щоб почати",
|
||||
waitingInit: "Очікування ініціалізації...",
|
||||
initializingToken: "🔧 Ініціалізація генератора токенів Turnstile...",
|
||||
tokenReady: "✅ Генератор токенів готовий – можна починати малювання!",
|
||||
tokenRetryLater: "⚠️ Генератор токенів повторить спробу за потреби",
|
||||
resizeSuccess: "✅ Зображення змінено до {width}x{height}",
|
||||
paintingPaused: "⏸️ Малювання призупинено на позиції X: {x}, Y: {y}",
|
||||
captchaNeeded: "❗ Не вдалося згенерувати токен. Спробуй трохи пізніше.",
|
||||
saveData: "Зберегти прогрес",
|
||||
loadData: "Завантажити прогрес",
|
||||
saveToFile: "Зберегти у файл",
|
||||
loadFromFile: "Завантажити з файлу",
|
||||
dataManager: "Менеджер даних",
|
||||
autoSaved: "✅ Прогрес збережено автоматично",
|
||||
dataLoaded: "✅ Прогрес успішно завантажено",
|
||||
fileSaved: "✅ Прогрес успішно збережено у файл",
|
||||
fileLoaded: "✅ Прогрес успішно завантажено з файлу",
|
||||
noSavedData: "❌ Не знайдено збереженого прогресу",
|
||||
savedDataFound: "✅ Знайдено збережений прогрес! Завантажити, щоб продовжити?",
|
||||
savedDate: "Збережено: {date}",
|
||||
clickLoadToContinue: "Натисни 'Завантажити прогрес', щоб продовжити.",
|
||||
fileError: "❌ Помилка обробки файлу",
|
||||
invalidFileFormat: "❌ Невірний формат файлу",
|
||||
paintingSpeed: "Швидкість малювання",
|
||||
pixelsPerSecond: "пікселів/секунда",
|
||||
speedSetting: "Швидкість: {speed} пікселів/сек",
|
||||
settings: "Налаштування",
|
||||
botSettings: "Налаштування бота",
|
||||
close: "Закрити",
|
||||
language: "Мова",
|
||||
themeSettings: "Налаштування теми",
|
||||
themeSettingsDesc: "Вибери бажану колірну тему для інтерфейсу.",
|
||||
languageSelectDesc: "Вибери бажану мову. Зміни набудуть чинності одразу.",
|
||||
autoCaptcha: "Авто-CAPTCHA (Turnstile)",
|
||||
autoCaptchaDesc: "Автоматично генерує токени Turnstile за допомогою вбудованого генератора. Використовує автоматизацію браузера у разі потреби.",
|
||||
applySettings: "Застосувати налаштування",
|
||||
settingsSaved: "✅ Налаштування успішно збережено!",
|
||||
cooldownSettings: "Налаштування відновлення",
|
||||
waitCharges: "Очікувати, доки кількість зарядів досягне",
|
||||
captchaSolving: "🔑 Генерація токена Turnstile...",
|
||||
captchaFailed: "❌ Не вдалося згенерувати токен Turnstile. Використовую запасний метод...",
|
||||
automation: "Автоматизація",
|
||||
noChargesThreshold: "⌛ Очікування, доки заряди досягнуть {threshold}. Зараз {current}. Наступне через {time}...",
|
||||
},
|
||||
}
|
||||
|
||||
// GLOBAL STATE
|
||||
@@ -1620,18 +1700,6 @@
|
||||
}
|
||||
});
|
||||
|
||||
async function detectLanguage() {
|
||||
try {
|
||||
const response = await fetch("https://backend.wplace.live/me", {
|
||||
credentials: "include",
|
||||
})
|
||||
const data = await response.json()
|
||||
state.language = data.language === "pt" ? "pt" : "en"
|
||||
} catch {
|
||||
state.language = navigator.language.startsWith("pt") ? "pt" : "en"
|
||||
}
|
||||
}
|
||||
|
||||
// UTILITY FUNCTIONS
|
||||
const Utils = {
|
||||
sleep: (ms) => new Promise((r) => setTimeout(r, ms)),
|
||||
@@ -3261,8 +3329,6 @@
|
||||
|
||||
|
||||
async function createUI() {
|
||||
await detectLanguage()
|
||||
|
||||
const existingContainer = document.getElementById("wplace-image-bot-container")
|
||||
const existingStats = document.getElementById("wplace-stats-container")
|
||||
const existingSettings = document.getElementById("wplace-settings-container")
|
||||
@@ -4989,12 +5055,13 @@
|
||||
<option value="vi" ${state.language === 'vi' ? 'selected' : ''} style="background: #2d3748; color: white;">🇻🇳 Tiếng Việt</option>
|
||||
<option value="id" ${state.language === 'id' ? 'selected' : ''} style="background: #2d3748; color: white;">🇮🇩 Bahasa Indonesia</option>
|
||||
<option value="ru" ${state.language === 'ru' ? 'selected' : ''} style="background: #2d3748; color: white;">🇷🇺 Русский</option>
|
||||
<option value="uk" ${state.language === 'uk' ? 'selected' : ''} style="background: #2d3748; color: white;">🇺🇦 Українська</option>
|
||||
<option value="en" ${state.language === 'en' ? 'selected' : ''} style="background: #2d3748; color: white;">🇺🇸 English</option>
|
||||
<option value="pt" ${state.language === 'pt' ? 'selected' : ''} style="background: #2d3748; color: white;">🇧🇷 Português</option>
|
||||
<option value="fr" ${state.language === 'fr' ? 'selected' : ''} style="background: #2d3748; color: white;">🇫🇷 Français</option>
|
||||
<option value="tr" ${state.language === 'tr' ? 'selected' : ''} style="background: #2d3748; color: white;">🇹🇷 Türkçe</option>
|
||||
<option value="zh" ${state.language === 'zh' ? 'selected' : ''} style="background: #2d3748; color: white;">🇨🇳 简体中文</option>
|
||||
<option value="zh-tw" ${state.language === 'zh-tw' ? 'selected' : ''} style="background: #2d3748; color: white;">🇹🇼 繁體中文</option>
|
||||
<option value="zh-CN" ${state.language === 'zh-CN' ? 'selected' : ''} style="background: #2d3748; color: white;">🇨🇳 简体中文</option>
|
||||
<option value="zh-TW" ${state.language === 'zh-TW' ? 'selected' : ''} style="background: #2d3748; color: white;">🇹🇼 繁體中文</option>
|
||||
<option value="ja" ${state.language === 'ja' ? 'selected' : ''} style="background: #2d3748; color: white;">🇯🇵 日本語</option>
|
||||
<option value="ko" ${state.language === 'ko' ? 'selected' : ''} style="background: #2d3748; color: white;">🇰🇷 한국어</option>
|
||||
</select>
|
||||
|
||||
@@ -0,0 +1,125 @@
|
||||
<p align="center">
|
||||
<img width="300" height="300" alt="image" src="https://github.com/user-attachments/assets/92c38d55-37ef-4e88-bf24-9dba693fa0ab" />
|
||||
</p>
|
||||
|
||||
<p align="center"><strong>WPlace AutoBOT</strong></p>
|
||||
<p align="center">
|
||||
Цей проєкт є форком з https://github.com/DarkModde/WPlace-AutoBOT
|
||||
</p>
|
||||
<p align="center">
|
||||
Завітайте на наш Discord: https://discord.gg/knkNRYyQcm
|
||||
</p>
|
||||
<p align="center">
|
||||
Практичні скрипти з інтуїтивним меню, щоб зробити ваше життя на <a href="https://wplace.live" target="_blank">WPlace</a> простішим!<br>
|
||||
Ідеально для тих, хто хоче автоматично прокачувати рівень або будувати масивні піксель-арти — без витрати часу.
|
||||
|
||||
⚠️ Увага: Це освітній скрипт, створений для демонстрації можливостей на wplace.live. Ми не несемо відповідальності за наслідки його використання.
|
||||
</p>
|
||||
|
||||
<br>
|
||||
|
||||
<p align="center">
|
||||
Якщо ви цікавитеся — так! Скрипти були розроблені командою з Бразилії, В’єтнаму та Індонезії. HUEHUE!</strong></sub>
|
||||
<p align="center">
|
||||
<img src="https://cdn.jsdelivr.net/gh/hjnilsson/country-flags/svg/br.svg" alt="Brazil" width="32"/>
|
||||
|
||||
<img src="https://cdn.jsdelivr.net/gh/hjnilsson/country-flags/svg/vn.svg" alt="Vietnam" width="32"/>
|
||||
|
||||
<img src="https://cdn.jsdelivr.net/gh/hjnilsson/country-flags/svg/id.svg" alt="Indonesia" width="32"/>
|
||||
</p>
|
||||
</p>
|
||||
|
||||
---
|
||||
|
||||
<p align="center"><strong>🚀┃Як користуватися скриптами:</strong></p>
|
||||
|
||||
<p align="center">
|
||||
Це дуже просто: скопіюйте один з кодів нижче, вставте його у панель закладок вашого браузера,<br>
|
||||
та запустіть, коли перебуваєте на wplace.live.
|
||||
</p>
|
||||
|
||||
<br>
|
||||
|
||||
### 🎯┃Авто-Фарм
|
||||
#### AUTOFARM ВИКОРИСТОВУЄ ЧАРДЖІ ДЛЯ ОТРИМАННЯ РІВНІВ, ВІН НЕ МАЛЮЄ ЗОБРАЖЕННЯ. ДЛЯ ЦЬОГО ВИКОРИСТОВУЙТЕ AUTO-IMAGE
|
||||
```js
|
||||
javascript:fetch("https://raw.githubusercontent.com/Wplace-AutoBot/WPlace-AutoBOT/refs/heads/main/Auto-Farm.js").then(t=>t.text()).then(eval);
|
||||
```
|
||||
|
||||
### 🖼️┃Авто-Зображення
|
||||
|
||||
```js
|
||||
javascript:fetch("https://raw.githubusercontent.com/Wplace-AutoBot/WPlace-AutoBOT/refs/heads/main/Auto-Image.js").then(t=>t.text()).then(eval);
|
||||
```
|
||||
|
||||
<details>
|
||||
<summary><h2>📖┃Інструкції</h2></summary>
|
||||
|
||||
---
|
||||
|
||||

|
||||
|
||||
---
|
||||
|
||||

|
||||
|
||||
---
|
||||
|
||||

|
||||
|
||||
</details>
|
||||
|
||||
|
||||
<br>
|
||||
|
||||
> [!IMPORTANT]
|
||||
> <p><sub><strong>1.</strong> Жоден скрипт не працюватиме, якщо ви закриєте вкладку браузера. Вкладка WPlace має залишатися відкритою, навіть у фоні.</sub></p>
|
||||
> <p><sub><strong>2.</strong> Ніколи не запускайте обидва скрипти на одній сторінці — це може зламати WPlace. Якщо це сталося — просто оновіть сторінку!</sub></p>
|
||||
> <p><sub><strong>3.</strong> Якщо скрипт не визначає доступні кольори, натисніть кнопку «Paint», щоб вони з’явилися — лише тоді запускайте Auto-Imager.</sub></p>
|
||||
|
||||
<br>
|
||||
|
||||
### ✨┃Можливості
|
||||
|
||||
- [x] Автоматичне фармлення крапель/рівнів
|
||||
- [x] Пропуск пікселів з правильним кольором
|
||||
- [x] Оверлей (більше не потрібен bluemarble)
|
||||
- [x] Малювання по кількох тайлах
|
||||
- [x] Авто-розв’язувач капчі з генератором токенів Turnstile
|
||||
- [x] Розширена обробка кольорів
|
||||
- [x] Підтримка кількох мов
|
||||
- [x] Багатоакаунтність через функції збереження та завантаження
|
||||
- [x] Працює на мобільних :P
|
||||
|
||||
|
||||
---
|
||||
|
||||
---
|
||||
|
||||
<p align="center">
|
||||
<img src="https://i.imgur.com/lyNQUsY.png" alt="Демонстрація скрипта"/>
|
||||
</p>
|
||||
|
||||
---
|
||||
|
||||
### 📋┃Список завдань
|
||||
|
||||
- [x] Запуск AutoFarm
|
||||
- [ ] Об’єднання обох скриптів в один
|
||||
- [ ] Перемикач акаунтів (у розробці)
|
||||
- [ ] Система черги акаунтів
|
||||
- [x] Додати систему оверлею
|
||||
- [x] Додати підтримку крос-тайлів
|
||||
- [x] Додати авто-розв’язувач капчі
|
||||
- [x] Додати пропуск правильних пікселів
|
||||
- [ ] Винести CSS окремо
|
||||
|
||||
---
|
||||
|
||||
- Контриб’ютори:
|
||||
<img src="https://contrib.rocks/image?repo=Wplace-AutoBot/WPlace-AutoBOT" alt="Contributors" />
|
||||
|
||||
|
||||
<p align="center">
|
||||
<a href="#"><img src="https://komarev.com/ghpvc/?username=WPlace-AutoBOT&style=for-the-badge&label=Перегляди:&color=gray"/></a>
|
||||
</p>
|
||||
Reference in new issue
Block a user