您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Default use maximum amount of balls available and select the right options for the billy bucket machine.
// ==UserScript== // @name BvS Pachinko Max Balls // @namespace BvS Pachinko Max Balls // @description Default use maximum amount of balls available and select the right options for the billy bucket machine. // @include http*://*animecubed.com/billy/bvs/partyhouse-pachinkoplay.html // @include http*://*animecubedgaming.com/billy/bvs/partyhouse-pachinkoplay.html // @history 0.05 New domain - animecubedgaming.com - Channel28 // @history 0.04 Now https compatible (Updated by Channel28) // @history 0.03 Be more intelligent with ball use on BillyBucket machine // @history 0.02 Fix possible errors on bawg, added autoselection for billy bucket machine. // @history 0.01 Initial release. // @version 0.05 // @licence MIT; http://www.opensource.org/licenses/mit-license.php // @copyright 2011, BenV // @grant none // ==/UserScript== function fail(error) { // Debug: // alert("Failed: "+error); return 1; } function getTurns(t) { var re = /Turns:\s*(\d+)/; if (match = re.exec(t)) { return parseInt(match[1]); } return fail("Could not determine turns from ["+t+"]"); } function setBalls(i) { var tmp = document.evaluate("//form/input[@name='numdrop']", document, null, XPathResult.ORDERED_NODE_SNAPSHOT_TYPE, null); if (tmp.snapshotLength) { tmp.snapshotItem(0).value = i; return true; } return false; } function main() { // Get amount of balls var balls; var tmp = document.evaluate("//b/i[contains(./text(), 'Pachinko Balls')]/parent::b", document, null, XPathResult.ORDERED_NODE_SNAPSHOT_TYPE, null); if (!tmp.snapshotLength) return fail("Could not detect amount of pachinko balls"); var elm = tmp.snapshotItem(0).textContent; if (elm !== null) { // Pachinko Balls: Electrum: 0 Bronze: 0 Silver: 0 Gold: 2699 var rePattern = /Electrum:\s*(\d+)[\s\S]*Bronze:\s*(\d+)[\s\S]*Silver:\s*(\d+)[\s\S]*Gold:\s*(\d+)/i; if (balls = rePattern.exec(elm)) { balls.shift(); } } // Get type of balls needed. // Uses: <b><i>Gold</i> Balls</b> <-- <form name="dropball" ...> tmp = document.evaluate("//form[@name='dropball']/b/i/text()", document, null, XPathResult.ORDERED_NODE_SNAPSHOT_TYPE, null); var type = 0; if (!tmp.snapshotLength) return fail("Could not determine ball type needed."); type = tmp.snapshotItem(0).textContent; if (type == "Electrum") type = 0; else if (type == "Bronze") type = 1; else if (type == "Silver") type = 2; else if (type == "Gold") type = 3; else { // Can't figure out the type. Script needs update. return fail("Could not determine ball type needed, new ball type? ["+type+"]"); } // Set balls var amount = balls[type]; if (amount > 1000) amount = 1000; setBalls(amount); // For billybucket make sure the checkbox is lit tmp = document.evaluate("//form/input[@name='pmachine']", document, null, XPathResult.ORDERED_NODE_SNAPSHOT_TYPE, null); if (tmp.snapshotLength && parseInt(tmp.snapshotItem(0).value) == 4) { tmp = document.evaluate("//input[@name='pachistopj']", document, null, XPathResult.ORDERED_NODE_SNAPSHOT_TYPE, null); if (tmp.snapshotLength) tmp.snapshotItem(0).checked = 'checked'; // Also set the right slot. First we want locks 1 and 3 open, the 2. // Get open locks: var left = 0; var center = 0; var right = 0; // <b>Timed Opens:</b></font><font style="font-size:12px"><br><b>Right Lock (Lock 3)</b> Open! Turns: 25 tmp = document.evaluate("//b[contains(./text(), 'Right Lock')]/parent::font", document, null, XPathResult.ORDERED_NODE_SNAPSHOT_TYPE, null); if (tmp.snapshotLength) { right = getTurns(tmp.snapshotItem(0).textContent); } tmp = document.evaluate("//b[contains(./text(), 'Left Lock')]/parent::font", document, null, XPathResult.ORDERED_NODE_SNAPSHOT_TYPE, null); if (tmp.snapshotLength) { left = getTurns(tmp.snapshotItem(0).textContent); } tmp = document.evaluate("//b[contains(./text(), 'Center Lock')]/parent::font", document, null, XPathResult.ORDERED_NODE_SNAPSHOT_TYPE, null); if (tmp.snapshotLength) { center = getTurns(tmp.snapshotItem(0).textContent); } // Set the correct gate tmp = document.evaluate("//form/select[@name='wheredrop']", document, null, XPathResult.ORDERED_NODE_SNAPSHOT_TYPE, null); if (!tmp.snapshotLength) return fail("Could not find the wheredrop selection");; // First lock left if (!left) { tmp.snapshotItem(0).selectedIndex = 0; } // Then right else if (!right) { tmp.snapshotItem(0).selectedIndex = 2; } // If those are locked use center. else { tmp.snapshotItem(0).selectedIndex = 1; // Make sure we don't toss too many balls in here once we have a lock var min = left; if (right < min) min = right; if (amount > min) { setBalls(min); } } } } main();
QingJ © 2025
镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址