您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Adds buttons to pages to allow you to quick use point refills and resets without being on the Supporter page. Change energyBarRefill to true to allow clicking the energy bar with 0 energy using your energy refill
// ==UserScript== // @name Cartel Empire - Quick Refills/Resets // @namespace baccy.ce // @version 0.1.4 // @description Adds buttons to pages to allow you to quick use point refills and resets without being on the Supporter page. Change energyBarRefill to true to allow clicking the energy bar with 0 energy using your energy refill // @author Baccy // @match https://cartelempire.online/* // @icon https://cartelempire.online/images/icon-white.png // @grant GM.setValue // @grant GM.getValue // @license MIT // ==/UserScript== (async function() { 'use strict'; const energyBarRefill = false; //true; // Change to true to allow clicking the energy bar activating your energy refill if it is at 0 energy const now = new Date(); now.setUTCHours(0, 0, 0, 0); const day = now.getUTCDate(); const settings = await GM.getValue('pointsData', {}); function energyBar() { if (settings.refillEnergy && settings.refillEnergy === day) return; const energyBar = document.querySelector('#energyProgress').parentElement; energyBar.addEventListener('click', async () => { const currentEnergy = document.querySelector('#currentEnergy'); if (parseInt(currentEnergy.textContent) === 0) { const response = await fetch('https://cartelempire.online/Supporter/Refill/Energy', { method: 'POST' }); if (response.ok) { settings.refillEnergy = day; await GM.setValue('pointsData', settings); window.location.reload(); } } }); } async function addButtons() { let title = null; let url; let header = 1; let key; switch (location.pathname) { case '/Supporter': title = 'Supporter'; break; case '/PetShop': title = 'Reset Pets'; url = 'https://cartelempire.online/Supporter/ResetPetShop'; key = 'resetPetSlots'; break; case '/Town/Club': title = 'Reset Sicarios'; url = 'https://cartelempire.online/Supporter/ResetClubRecruitment'; key = 'resetSicarioRecruitmentSlots'; break; case '/Casino/Blackjack': title = 'Refill Tokens'; url = 'https://cartelempire.online/Supporter/ResetTokens'; key = 'resetCasinoTokens'; break; case '/Casino/Spinner': title = 'Refill Tokens'; url = 'https://cartelempire.online/Supporter/ResetTokens'; key = 'resetCasinoTokens'; break; case '/Casino/Slots': title = 'Refill Tokens'; url = 'https://cartelempire.online/Supporter/ResetTokens'; key = 'resetCasinoTokens'; break; case '/Casino/Lottery': title = 'Refill Tokens'; url = 'https://cartelempire.online/Supporter/ResetTokens'; key = 'resetCasinoTokens'; header = 3; break; case '/Gym': title = 'Refill Energy'; url = 'https://cartelempire.online/Supporter/Refill/Energy'; key = 'refillEnergy'; header = 0; break; case '/University': title = 'Refill Energy'; url = 'https://cartelempire.online/Supporter/Refill/Energy'; key = 'refillEnergy'; header = 0; break; case '/Hospital': title = 'Refill Life'; url = 'https://cartelempire.online/Supporter/Refill/Life'; key = 'refillLife'; header = 0; break; default: break; } if (title !== null) { if (title === 'Supporter') { const keys = ['resetPetSlots', 'refillLife', 'refillEnergy', 'resetCasinoTokens', 'resetSicarioRecruitmentSlots']; for (const key of keys) { const el = document.getElementById(key); if (el && el.classList.contains('disabled')) { settings[key] = day; } } await GM.setValue('pointsData', settings); } else { if (settings[key] && settings[key] === day) return; const headers = document.querySelectorAll('.header-section'); if (headers[header]) { headers[header].style.cssText = 'display: flex; justify-content: space-between;'; const button = document.createElement('button'); button.textContent = title; button.style.cssText = 'background: #1e1e1e; color: #fff; border: 1px solid #555; padding: 10px 15px; border-radius: 5px; cursor: pointer; font-size: 14px;'; button.addEventListener('click', async () => { button.style.pointerEvents = 'none'; button.style.opacity = '50%'; const response = await fetch(url, { method: 'POST' }); if (response.ok) { settings[key] = day; await GM.setValue('pointsData', settings); window.location.reload(); } else { button.style.pointerEvents = ''; button.style.opacity = '100%'; } }); headers[header].appendChild(button); } } } } if (energyBarRefill) energyBar(); addButtons(); })();