+Цей проєкт є форком з https://github.com/DarkModde/WPlace-AutoBOT
+
+
+ Завітайте на наш Discord: https://discord.gg/knkNRYyQcm
+
+
+ Практичні скрипти з інтуїтивним меню, щоб зробити ваше життя на WPlace простішим!
+ Ідеально для тих, хто хоче автоматично прокачувати рівень або будувати масивні піксель-арти — без витрати часу.
+
+ ⚠️ Увага: Це освітній скрипт, створений для демонстрації можливостей на wplace.live. Ми не несемо відповідальності за наслідки його використання.
+
+
+
+
+
+ Якщо ви цікавитеся — так! Скрипти були розроблені командою з Бразилії, В’єтнаму та Індонезії. HUEHUE!
+
+
+
+
+
+
+
+
+
+---
+
+
🚀┃Як користуватися скриптами:
+
+
+ Це дуже просто: скопіюйте один з кодів нижче, вставте його у панель закладок вашого браузера,
+ та запустіть, коли перебуваєте на wplace.live.
+
+
+
+
+### 🎯┃Авто-Фарм
+#### 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);
+```
+
+
+
1. Жоден скрипт не працюватиме, якщо ви закриєте вкладку браузера. Вкладка WPlace має залишатися відкритою, навіть у фоні.
+>
2. Ніколи не запускайте обидва скрипти на одній сторінці — це може зламати WPlace. Якщо це сталося — просто оновіть сторінку!
+>
3. Якщо скрипт не визначає доступні кольори, натисніть кнопку «Paint», щоб вони з’явилися — лише тоді запускайте Auto-Imager.
+
+
+
+### ✨┃Можливості
+
+- [x] Автоматичне фармлення крапель/рівнів
+- [x] Пропуск пікселів з правильним кольором
+- [x] Оверлей (більше не потрібен bluemarble)
+- [x] Малювання по кількох тайлах
+- [x] Авто-розв’язувач капчі з генератором токенів Turnstile
+- [x] Розширена обробка кольорів
+- [x] Підтримка кількох мов
+- [x] Багатоакаунтність через функції збереження та завантаження
+- [x] Працює на мобільних :P
+
+
+---
+
+---
+
+
+
+
+
+---
+
+### 📋┃Список завдань
+
+- [x] Запуск AutoFarm
+- [ ] Об’єднання обох скриптів в один
+- [ ] Перемикач акаунтів (у розробці)
+- [ ] Система черги акаунтів
+- [x] Додати систему оверлею
+- [x] Додати підтримку крос-тайлів
+- [x] Додати авто-розв’язувач капчі
+- [x] Додати пропуск правильних пікселів
+- [ ] Винести CSS окремо
+
+---
+
+- Контриб’ютори:
+
+
+
+
+
+
From dc010bd85a13e9be806dc2c3df6f29a8b180bd07 Mon Sep 17 00:00:00 2001
From: Yaroslav <63865083+dnrovs@users.noreply.github.com>
Date: Tue, 26 Aug 2025 19:34:31 +0300
Subject: [PATCH 2/2] =?UTF-8?q?=F0=9F=8C=90=E2=94=83Added=20Ukrainian=20lo?=
=?UTF-8?q?cale=20and=20changed=20language=20detection=20function?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
Auto-Image.js | 117 +++++++++++++++++++++++++++++++++++++++-----------
1 file changed, 92 insertions(+), 25 deletions(-)
diff --git a/Auto-Image.js b/Auto-Image.js
index b4ea565..c9f4c29 100644
--- a/Auto-Image.js
+++ b/Auto-Image.js
@@ -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 @@
+
-
-
+
+