您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
try to take over the world!
// ==UserScript== // @name Vlad'sScript v2 // @version 0.1.1 // @description try to take over the world! // @author Vlad // @match https://www.edominations.com/* // @grant none // @namespace https://greasyfork.org/users/716749 // ==/UserScript== (function () { 'use strict'; //global vars var currentHref = location.href.split("/")[4]; var welcomeTxt = document.querySelector("#welcometext"); var kills = 1; function login() { if (welcomeTxt != null && currentHref === 'index') { console.log('not logged /index') setTimeout(function () { location.href = 'https://edominations.com/en/login'; }, 2000); } else if (currentHref === 'login') { console.log("in /login") loggingin(); } else { console.log("@login() else") setTimeout(() => { init(); }, 2000); } } function init() { console.log("@init function"); if (currentHref === 'index') { setTimeout(() => { manageEnergy(); }, 3000); } if (currentHref === 'productions') { console.log("@ /productions") setTimeout(() => { console.log("Checking rewards..."); checkRewards(); }, 3000); } if (currentHref === 'battlefield') { console.log("ïn Battlefields if") setTimeout(() => { fightInBattle(); }, 3000); } if (currentHref === 'war') { console.log("picking fight in resistance battle") let resDiv = document.querySelector(".vs150").children; let resBtnHref = resDiv.item(2).href; setTimeout(function () { location.href = resBtnHref; }, 4000); } if (currentHref === 'wars') { console.log("in Wars if") setTimeout(() => { console.log("Picking up a battle") pickUpBattle(); }, 3000); } } function fightInBattle() { console.log("Start fighting...") let currentEnergy = document.getElementById("energyBarT").innerText.split("/")[0]; currentEnergy = parseToInt(currentEnergy) let maxEnergy = document.getElementById("energyBarT").innerText.split("/")[1]; maxEnergy = parseToInt(maxEnergy) console.log(`current energy: ${currentEnergy}`); console.log(`max energy: ${maxEnergy}`); if (currentEnergy < 50) { console.log("Energy < 50 => redirect to index") setTimeout(function () { location.href = 'https://edominations.com/en/index'; }, 4000); } else { let possibleKills = Math.trunc(currentEnergy / 100); console.log(`Possible kills: ${possibleKills}`) attack(possibleKills); } } function attack(possibleKills) { if (kills <= possibleKills) { console.log(`kills: ${kills}`) setTimeout(function () { console.log('kills start') document.querySelector("#battleFight").click(); kills++ attack(possibleKills); }, 7000) } else { console.log('kills stop => going to index') setTimeout(function () { location.href = 'https://edominations.com/en/index'; }, 7000); } } function pickUpBattle() { console.log("Picking up a battle") let fightIndex = 1; let myCampText = document.querySelector(".vs151-2").innerText.split(' ')[0]; if (myCampText === 'Greece' || myCampText === 'North' || myCampText === 'Bulgaria') { console.log('in Greece Campaign') let battleDiv = document.querySelector(".vs151-15"); let numberOfFights = battleDiv.childElementCount / 2 console.log(`Number Of Fights: ${numberOfFights}`) for (let i = fightIndex; i <= numberOfFights * 2; i += 2) { let fight = battleDiv.childNodes[i] let side1 = fight.querySelector(".vs593-1"); let side2 = fight.querySelector(".vs593-2"); let side1__elCount = side1.childElementCount; let side2__elCount = side2.childElementCount; let countSum = side1__elCount + side2__elCount; if (countSum != 7) { let fightHref = fight.getElementsByTagName("a")[1].href console.log(`fight href: ${fightHref}`) console.log("Countsum != 7 -> go fight") window.location = fightHref; break; } else { console.log("countsum = 7 ... go next fight") } } } else { console.log("NOT in Greece/Bulgaria/NorthKorea Campaign") setTimeout(function () { location.href = 'https://edominations.com/en/productions'; }, 2000); } } function checkRewards() { console.log("@checkRewards function") let rewardStatus = []; setTimeout(() => { for (let i = 1; i <= 2; i++) { let btn = document.querySelector("#productions" + i); if (btn === null) { btn = document.querySelector("#productions" + i + "finish"); } let btnTxt = btn.innerText; rewardStatus.push(btnTxt); if (btnTxt === 'START') { console.log('Starting reward') setTimeout(() => { btn.click(); }, 1000); setTimeout(() => { location.reload(); }, 1000); } else if (btnTxt === 'GET REWARD') { console.log('Getting reward') setTimeout(() => { btn.click(); }, 1000); setTimeout(() => { location.reload(); }, 1000); } else { console.log('Reward in progress') } } if (rewardStatus.length == 2) { if (rewardStatus[0] === 'PROGRESS' && rewardStatus[1] === 'PROGRESS') { console.log("Both rewards are in progress..."); console.log("Calling small rewards function") checkSmallRewards() } } }, 3000); } function checkSmallRewards() { console.log("@ checkSmallRewards") for (let i = 1; i <= 5; i++) { let btn = document.querySelector("#farmimage_" + i); let cooldown = document.querySelector("#countdowncollector" + i); let timer = cooldown.firstElementChild.innerText; if (timer == '00:00') { setTimeout(() => { btn.click() console.log('farmbutton clicked!') }, 5000) } if (i == 5) { var refValue = 300000; console.log(`Call refresh after ${refValue} ms`) setTimeout(() => { location.href = 'https://edominations.com/en/index'; }, refValue); } } } function recoverEnergy(btn) { setTimeout(() => { btn.click() console.log("Energy recovered") setTimeout(() => { console.log("Going to next function!") location.href = 'https://edominations.com/en/productions'; }, 2000); }, 3000); } function manageEnergy() { console.log("@manageEnergy") var currentEnergy = document.getElementById("energyBarT").innerText.split("/")[0]; currentEnergy = parseToInt(currentEnergy); var maxEnergy = document.getElementById("energyBarT").innerText.split("/")[1]; maxEnergy = parseToInt(maxEnergy); var recoverableEnergy = document.querySelector("#energyButton > main > .tadda > strong").innerHTML; recoverableEnergy = parseToInt(recoverableEnergy); var energyBtn = document.querySelector('#energyButton'); console.log(`Current energy: ${currentEnergy}`); console.log(`Max energy: ${maxEnergy}`); console.log(`Rec energy: ${recoverableEnergy}`); setTimeout(() => { if (currentEnergy < maxEnergy && recoverableEnergy >= 10) { console.log('Recovering energy...') recoverEnergy(energyBtn) } else { console.log('Energy is full or Rec energy < 10') setTimeout(() => { if (currentEnergy == maxEnergy && recoverableEnergy == maxEnergy) { console.log("current and recoverable = MAX ENE") console.log("going to WARS") setTimeout(function () { location.href = 'https://edominations.com/en/wars'; }, 4000); } else { console.log("current and recoverable != max ene") setTimeout(() => { location.href = 'https://edominations.com/en/productions'; }, 2000); } }, 6000) } }, 5000); } function parseToInt(num) { return Number.parseInt(num) } function loggingin() { window.onload = () => { console.log("in onload login") var pwchange = false var usrchange = false var loginForm = document.querySelector("#login-box-inner > form"); document.querySelector("*[name=password]").onchange = () => { if (usrchange) { console.log("Logging in...") setTimeout(() => { loginForm.submit(); }, 2000); } else { pwchange = true } }; document.querySelector("*[name=email]").onchange = () => { if (pwchange) { console.log("Logging in...") setTimeout(() => { loginForm.submit(); }, 2000); } else { usrchange = true } }; } } login(); })();