您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Add buttons to set money withdraw/deposit inputs to a target amount.
// ==UserScript== // @name Torn Property Vault Quick Money Input // @namespace http://www.tornradio.com/ // @version 0.1 // @description Add buttons to set money withdraw/deposit inputs to a target amount. // @author tornradio [2851045] // @match https://www.torn.com/properties.php // @grant none // ==/UserScript== (function () { "use strict"; const timer = setInterval(function () { const area = document.querySelector("div.vault-wrap.container-ask"); const leftInput = document.querySelector("form.vault-cont.left input.input-money"); const rightInput = document.querySelector("form.vault-cont.right input.input-money"); if (!(area && leftInput && rightInput)) { return false; } const vaultBalance = parseInt(leftInput.getAttribute("data-money")); const walletBalance = parseInt(rightInput.getAttribute("data-money")); clearInterval(timer); console.log("Found vault input elements."); const fillInputs = (walletBalance, target) => { if (walletBalance > target) { leftInput.value = ""; leftInput.dispatchEvent(new Event("input", { bubbles: true })); rightInput.value = (walletBalance - target).toString(); rightInput.dispatchEvent(new Event("input", { bubbles: true })); } else if (walletBalance < target) { leftInput.value = (target - walletBalance).toString(); leftInput.dispatchEvent(new Event("input", { bubbles: true })); rightInput.value = ""; rightInput.dispatchEvent(new Event("input", { bubbles: true })); } }; const text = document.createElement("span"); text.innerHTML = "Target wallet value: "; text.classList.add("m-top10"); text.classList.add("bold"); area.parentElement.insertBefore(text, area); const zeroBtn = document.createElement("button"); zeroBtn.innerText = "0"; zeroBtn.classList.add("torn-btn"); zeroBtn.onclick = () => { fillInputs(walletBalance, 0); }; area.parentElement.insertBefore(zeroBtn, area); const fiftyKBtn = document.createElement("button"); fiftyKBtn.innerText = "50k"; fiftyKBtn.classList.add("torn-btn"); fiftyKBtn.onclick = () => { fillInputs(walletBalance, 50000); }; area.parentElement.insertBefore(fiftyKBtn, area); const twoHunKBtn = document.createElement("button"); twoHunKBtn.innerText = "200k"; twoHunKBtn.classList.add("torn-btn"); twoHunKBtn.onclick = () => { fillInputs(walletBalance, 200000); }; area.parentElement.insertBefore(twoHunKBtn, area); const oneMBtn = document.createElement("button"); oneMBtn.innerText = "1M"; oneMBtn.classList.add("torn-btn"); oneMBtn.onclick = () => { fillInputs(walletBalance, 1000000); }; area.parentElement.insertBefore(oneMBtn, area); const twoMBtn = document.createElement("button"); twoMBtn.innerText = "2M"; twoMBtn.classList.add("torn-btn"); twoMBtn.onclick = () => { fillInputs(walletBalance, 2000000); }; area.parentElement.insertBefore(twoMBtn, area); const fiveMBtn = document.createElement("button"); fiveMBtn.innerText = "5M"; fiveMBtn.classList.add("torn-btn"); fiveMBtn.onclick = () => { fillInputs(walletBalance, 5000000); }; area.parentElement.insertBefore(fiveMBtn, area); }, 100); })();