您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Shows factory idle income in seconds. Also adds a favicon to the site.
// ==UserScript== // @name Factory Idle Per Second // @namespace http://tampermonkey.net/ // @version 1.4 // @description Shows factory idle income in seconds. Also adds a favicon to the site. // @author Meow // @match http://factoryidle.com/ // @match http://factoryidle.com // @match https://factoryidle.com/ // @match https://factoryidle.com // @grant none // ==/UserScript== (function() { 'use strict'; let main = function() { let ticks = 0 let moneyIncome = 0 let researchIncome = 0 let researchUnlocked = document.getElementById("researchIncome") ? true : false setInterval(function() { ticks = Number((document.getElementById("ticks") || {}).innerHTML) || 0 moneyIncome = Number((document.getElementById("income") || {}).innerHTML) || 0 researchUnlocked = document.getElementById("researchIncome") ? true : false if(researchUnlocked) researchIncome = Number(document.getElementById("researchIncome").innerHTML) || 0 }) let overview = document.querySelector(".overviewBox") let moneyRef = document.querySelector('.money.smallText').nextElementSibling.nextElementSibling function insertAfter(referenceNode, newNode) { referenceNode.parentNode.insertBefore(newNode, referenceNode.nextSibling); } let moneyIncomeTitle = document.createElement('span') moneyIncomeTitle.className = "miniText" moneyIncomeTitle.innerHTML = "Income: " moneyIncomeTitle.style.visibility = "hidden" insertAfter(moneyRef, moneyIncomeTitle) let moneyIncomeSpan = document.createElement('span') moneyIncomeSpan.className = "money smallText" moneyIncomeSpan.innerHTML = `$<span id="money-per-second">0</span>` insertAfter(moneyIncomeTitle, moneyIncomeSpan) let moneyIncomeAfter = document.createElement('span') moneyIncomeAfter.className = "smallText" moneyIncomeAfter.innerHTML = "/second (avg)" insertAfter(moneyIncomeSpan, moneyIncomeAfter) if(researchUnlocked) { let researchRef = document.querySelector('.research.smallText').nextElementSibling.nextElementSibling.nextElementSibling.nextElementSibling.nextElementSibling let researchIncomeTitle = document.createElement('span') researchIncomeTitle.className = "miniText" researchIncomeTitle.innerHTML = "Income: " researchIncomeTitle.style.visibility = "hidden" insertAfter(researchRef, researchIncomeTitle) let researchIncomeSpan = document.createElement('span') researchIncomeSpan.className = "research smallText" researchIncomeSpan.innerHTML = `<span id="research-per-second">0</span>` insertAfter(researchIncomeTitle, researchIncomeSpan) let researchIncomeAfter = document.createElement('span') researchIncomeAfter.className = "smallText" researchIncomeAfter.innerHTML = "/second (avg)" insertAfter(researchIncomeSpan, researchIncomeAfter) insertAfter(researchIncomeAfter, document.createElement('br')) } setInterval(function() { (document.getElementById('money-per-second') || {}).innerHTML = Math.round(10 * ((moneyIncome * ticks) || 0)) / 10; if(researchUnlocked) (document.getElementById('research-per-second') || {}).innerHTML = Math.round(10 * ((researchIncome * ticks) || 0)) / 10; }, 100) } let int = setInterval(function() { if(document.getElementById('money-per-second')) return; if(!document.getElementById('makeScreenShotButton')) return; main() }, 10) let icon = document.createElement("link"); icon.rel = "icon"; icon.href = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAPCAMAAADarb8dAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAAZlBMVEUAAAAEBwgEBwcEBgc+Rlk/R1rLyrs+Rlg/Rllfco3///9fcY1fcY4FBwhgco5hco/NybvLybs9RVjKybpeco9hcY7//v7MyrxecI1fcYxgcI1dcYwFBwfKyrs9R1k/RlpecIzLyb0v7Ub4AAAAAXRSTlMAQObYZgAAAAFiS0dECmjQ9FYAAAAJcEhZcwAACvAAAArwAUKsNJgAAAAHdElNRQfkChERHzVlGdiVAAAAAW9yTlQBz6J3mgAAAKFJREFUCNdNT1luQzEIfAYXU8+E1HGzdE1y/0sWR61UftCsiG17TBHd/o/WJ1ORP1i0+XM3cPeLq1fEvltzXUF9GYfKiJjN4zUZMRtEEH7gkdlT5mnOxfg4dy5HoFuAbhfylA5BvNHC8wqARfA9dTjBPS8lr2Q+0AjLHWU5Uv/AmHOMR+SzOmowMLp92er4rlf35rih3+f6R0RVdCcqRWX7AWXPB/+UJY2iAAAAJXRFWHRkYXRlOmNyZWF0ZQAyMDIwLTEwLTE3VDE3OjMxOjUzKzAwOjAw/PCQagAAACV0RVh0ZGF0ZTptb2RpZnkAMjAyMC0xMC0xN1QxNzozMTo1MyswMDowMI2tKNYAAAAcdEVYdFNvZnR3YXJlAEFkb2JlIEZpcmV3b3JrcyBDUzQGstOgAAAAAElFTkSuQmCC"; document.head.appendChild(icon); })();