auto-perk

Auto perk

// ==UserScript==
// @name        auto-perk
// @namespace   https://pablobls.tech/
// @match       *://rivalregions.com/
// @author      Pablo
// @description Auto perk
// @grant       GM_getValue
// @grant       GM_setValue
// @version      0.0.2
// @require https://greasemonkey.github.io/gm4-polyfill/gm4-polyfill.js
// ==/UserScript==

/**
 * Perk:
 * 1 = strength
 * 2 = education
 * 3 = endurance
 *
 * Url:
 * 1 = money
 * 2 = gold
 *
 *
 * - TamperMonkey change the default values BEFORE install (re-install if needed).
 * - ViolentMonkey allows to change them in the 'Values' tab on edit script page.
 */

const firstTime = GM_getValue('first-time', true);

if (firstTime) {
    GM_setValue('perk', 2); // perk
    GM_setValue('url', 1); // url
}

$(document).ready(() => {
    if (firstTime) {
        GM_setValue('first-time', false);
    } else {
        var waitInterval = setInterval(() => {
            if ($('#index_perks_list').length) {
                clearInterval(waitInterval);
                // to check if any perk is already active
                const countdownAmount = $(
                    '#index_perks_list>div>div[perk]>.hasCountdown'
                ).length;
                if (countdownAmount === 0) {
                    upgradePerk();
                } else {
                    console.log('perk already active');

                    setUpgradeTimeout();
                }
            }
        }, 1000);
    }
});

function upgradePerk() {
    const perk = GM_getValue('perk');
    const url = GM_getValue('url');
    $.ajax({
        url: '/perks/up/' + perk + '/' + url,
        data: { c: c_html },
        type: 'POST',
        success: function (data) {
            console.log('perk upgraded', new Date().toLocaleString());
            console.log(data);
            // ajax_action('main/content');

            location.reload();
            
        },
    });
}

function setUpgradeTimeout() {
    let nextPerkText = $('.ib_border>div>.tc>.small')
        .first()
        .text()
        .replace('New skill level: ', '');

    if (nextPerkText.includes('tomorrow')){
        
       
        let tomorrow = new Date();
        tomorrow.setDate(tomorrow.getDate() + 1);
        const date = tomorrow.toDateString();
        const time = nextPerkText.replace('tomorrow ', '');

        nextPerkText = `${date} ${time}`;

    } else if (nextPerkText.includes('today')){

        const date = new Date().toDateString();
        const time = nextPerkText.replace('today ', '');

        nextPerkText = `${date} ${time}`;
    }
    
    const nextPerk = Date.parse(nextPerkText);
    
    const timeout = nextPerk - c();
    // console.log('npt', nextPerkText)
    // console.log('np', nextPerk);
    // console.log('to',timeout)

    addDiv(nextPerkText);

    setTimeout(() => {
        upgradePerk();
    }, timeout + 60000);
}

function addDiv(nextPerkDate) {
    const perks = ['Stregth', 'Education', 'Endurance'];
    const urls = ['Money', 'Gold'];

    const perk = perks[GM_getValue('perk') - 1];
    const url = urls[GM_getValue('url') - 1];

    const div = `   <div class="perk_item ib_border hov pointer">
                        <div class="tc small">${nextPerkDate}</div>
                        <div class="tc small">${perk} - ${url}</div>
                        <div class="tc small">
                            <a target="blank_" href="https://github.com/pbl0/rr-scripts">More scripts</a>
                        </div>
                    </div>`;

    if (window.location.href.includes('#overview')) {
        $('#index_perks_list').append(div);
    }
}

QingJ © 2025

镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址