// ==UserScript==
// @name Warface Winback with Reload (fixed click)
// @namespace http://tampermonkey.net/
// @version 1.1
// @match https://ru.warface.com/promo/winback*
// @grant none
// ==/UserScript==
(function() {
'use strict';
const DONE_KEY = 'winback_fetch_reloaded';
// Функция для клика по кнопке с задержкой
function clickButtonWithDelay() {
setTimeout(() => {
const btn = document.querySelector('.start-roulette__btn');
if (btn && btn.innerText.trim() === '1') {
btn.click();
console.log('[Winback] Кнопка нажата после перезагрузки');
localStorage.removeItem(DONE_KEY);
} else {
console.warn('[Winback] Кнопка не найдена, пробую ещё через 1 сек...');
// Повторная попытка через 1 секунду
setTimeout(() => {
const btn2 = document.querySelector('.start-roulette__btn');
if (btn2 && btn2.innerText.trim() === '1') {
btn2.click();
console.log('[Winback] Кнопка нажата со второй попытки');
localStorage.removeItem(DONE_KEY);
} else {
console.error('[Winback] Кнопка так и не найдена');
}
}, 1000);
}
}, 2000); // Ждём 2 секунды после загрузки страницы
}
// Проверяем, был ли уже выполнен fetch
if (localStorage.getItem(DONE_KEY) === 'true') {
// После перезагрузки: ждём появления кнопки и кликаем
console.log('[Winback] После перезагрузки, ожидаем кнопку...');
clickButtonWithDelay();
return;
}
// Первый заход: ждём 3 секунды, отправляем fetch с правильными заголовками, перезагружаем
setTimeout(async () => {
const formData = new FormData();
formData.append('activity_name', 'wf_bday_2026');
try {
const response = await fetch('https://ru.warface.com/minigames/restorable_progress/api/check-in', {
method: 'POST',
credentials: 'include',
headers: {
'accept': '*/*',
'accept-language': 'ru-RU,ru;q=0.9',
'sec-ch-ua': '"Chromium";v="146", "Not-A.Brand";v="24", "Google Chrome";v="146"',
'sec-ch-ua-mobile': '?0',
'sec-ch-ua-platform': '"Windows"',
'sec-fetch-dest': 'empty',
'sec-fetch-mode': 'cors',
'sec-fetch-site': 'same-origin'
},
body: formData
});
console.log('[Winback] Fetch ответ:', response.status);
} catch (error) {
console.error('[Winback] Ошибка fetch:', error);
}
localStorage.setItem(DONE_KEY, 'true');
console.log('[Winback] Перезагрузка...');
location.reload();
}, 3000);
})();