Initial commit

This commit is contained in:
Abhorrent_Anger 2026-03-12 12:55:33 +02:00
parent 6ed128b9ad
commit 295172e92f
2 changed files with 87 additions and 1 deletions

View File

@ -1,3 +1,16 @@
# RulkaProFortuneWheelSpinner
Claims free daily spins worth ~$0.50
Claims free daily spins worth ~$0.50
## Requirements
* [Violentmonkey](https://chromewebstore.google.com/detail/violentmonkey/jinjaccalgkegednnccohejagnlnfdag) (Chrome)
* [Violentmonkey](https://addons.mozilla.org/en-US/firefox/addon/violentmonkey/) (Firefox)
## Installation
1. Ensure that you have Violentmonkey or other userscript extension installed.
2. Download the script [`RulkaProFortuneWheelSpinner.user.js`](RulkaProFortuneWheelSpinner.user.js).
3. Confirm that you want to install the script.
4. The script should now be installed and ready to use. Open the [Rulka.pro](https://rulka.pro/fortune) fortune wheel page.
## Note
The items need to be wagered.

View File

@ -0,0 +1,73 @@
// ==UserScript==
// @name Rulka Pro Fortune Wheel Spinner
// @namespace https://pube.tk
// @match https://rulka.pro/fortune*
// @icon https://www.google.com/s2/favicons?sz=64&domain=rulka.pro
// @version 2026-03-08
// @author Abhorrent_Anger
// @description Claims free daily spins
// @grant none
// @require https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js
// @require https://cdn.jsdelivr.net/gh/CoeJoder/waitForKeyElements.js@v1.3/waitForKeyElements.js
// @run-at document-end
// ==/UserScript==
const INITIAL_TIMER = 4000;
const RECHECK_TIMER = 12 * 60 * 60 * 1000;
const RELOAD_TIMER = 24 * 60 * 60 * 1000;
const ROLLER_TIMEOUT = 10 * 1000;
const COLLECT_TIMEOUT = 5 * 1000;
const MAIN_WINDOW_SELECTOR = ".content";
const FREE_SPIN_BUTTON = '.wheel .slot .load span';
const ROLLER_RIGHT = '.roller.right';
const COLLECT_HAND = '.wheel-container .center span';
function clickFreeSpin() {
$(FREE_SPIN_BUTTON).click();
console.log('Waiting for the roller button...');
setTimeout(clickRollerRight, ROLLER_TIMEOUT);
}
function clickRollerRight() {
$(ROLLER_RIGHT).click();
console.log('Waiting for the collection button...');
setTimeout(clickCollect, COLLECT_TIMEOUT);
}
function clickCollect() {
$(COLLECT_HAND).click();
console.log('Waiting for the OK button...');
setTimeout(clickOK, COLLECT_TIMEOUT);
}
function clickOK() {
$(COLLECT_HAND).click();
console.log('Clicked the OK button...');
}
function runRoutines() {
console.log('Checking for free spin claims...');
clickFreeSpin();
setTimeout(runRoutines, RECHECK_TIMER);
}
function setupReload() {
console.log('Sleeping for '+RELOAD_TIMER+' seconds...');
setTimeout(reload, RELOAD_TIMER);
}
function getCooldown() {
let time = 0;
time += ($(MINUTE_SELECTOR).text() * 60 * 1000) + 60 * 1000;
return time;
}
function reload() {
console.log('Reloading...');
location.reload();
}
waitForKeyElements(MAIN_WINDOW_SELECTOR, () => {
setTimeout(runRoutines, INITIAL_TIMER);
setTimeout(setupReload, RECHECK_TIMER);
});