您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Bring an element of surprise to your tank customization experience with the Tank Randomizer,
// ==UserScript== // @name Tank-Randomizer // @author kamarov // @description Bring an element of surprise to your tank customization experience with the Tank Randomizer, // @version 4.0.0 // @namespace https://github.com/kamarov-therussiantank // @license GPL-3.0 // @match https://*.tanktrouble.com/* // @run-at document-end // @grant GM_addStyle // @require https://update.gf.qytechs.cn/scripts/482092/1297984/TankTrouble%20Development%20Library.js // @noframes // ==/UserScript== GM_addStyle(` .randomize-button { margin-bottom: 10px; height: 20px; width: 100px; } .partSelectAccessory, .partSelectPaint { cursor: pointer; outline: none; width: 78%; border: 1px solid var(--jq-borderColorDefault); border-radius: 5px; background: var(--jq-bgColorDefault) var(--jq-widget-button-disabled-hovered-or-active-bg) 50% 50% repeat-x; font-weight: 600; font-size: 11px; color: #555; margin-bottom: 5px; padding: 3px; } .partSelectAccessory:hover { color: #1a1a1a; } .partSelectPaint:hover { color: #1a1a1a; } :root.dark .partSelectAccessory:hover { color: #fff; } :root.dark .partSelectPaint:hover { color: #fff; } :root.dark .partSelectAccessory { color: #e7e7e7; } :root.dark .partSelectPaint { color: #e7e7e7; } .partSelectSection { font-size: 12px; } .partTexts { font-family: TankTrouble; font-size: 12px; color: #e7c811; text-shadow: -1px -1px 0 #000, 1px -1px 0 #000, -1px 1px 0 #000, 1px 1px 0 #000; margin-bottom: 5px; margin-top: 3px; } `); whenContentInitialized().then(() => { var id = Users.getAllPlayerIds()[0]; var turret = []; var back = []; var barrel = []; var front = []; var treads = []; var colours = []; var baseColor = ''; function randomizeTurretPaint() { randomizeTurretColor(); } function randomizeTurretColor() { Backend.getInstance().setColour( function(result) { Users.updateUser(id, true, false); }, null, null, id, 'turret', colours[Math.floor(Math.random() * colours.length)], Caches.getPlayerDetailsCache() ); } function randomizeBasePaint() { randomizeBaseColor(); } function randomizeBaseColor() { Backend.getInstance().setColour( function(result) { Users.updateUser(id, true, false); }, null, null, id, 'base', colours[Math.floor(Math.random() * colours.length)], Caches.getPlayerDetailsCache() ); } function randomizeTreadsPaint() { randomizeTreadsColor(); } function randomizeTreadsColor() { Backend.getInstance().setColour( function(result) { Users.updateUser(id, true, false); }, null, null, id, 'tread', colours[Math.floor(Math.random() * colours.length)], Caches.getPlayerDetailsCache() ); } function randomizeTurretAccessory() { randomizeTurretA(); } function randomizeTurretA() { Backend.getInstance().setAccessory( function(result) { Users.updateUser(id, true, false); }, null, null, id, 'turret', turret[Math.floor(Math.random() * turret.length)], Caches.getPlayerDetailsCache() ); } function randomizeBarrelAccessory() { randomizeBarrelA(); } function randomizeBarrelA() { Backend.getInstance().setAccessory( function(result) { Users.updateUser(id, true, false); }, null, null, id, 'barrel', barrel[Math.floor(Math.random() * barrel.length)], Caches.getPlayerDetailsCache() ); } function randomizeBackAccessory() { randomizeBackA(); } function randomizeBackA() { Backend.getInstance().setAccessory( function(result) { Users.updateUser(id, true, false); }, null, null, id, 'back', back[Math.floor(Math.random() * back.length)], Caches.getPlayerDetailsCache() ); } function randomizeFrontAccessory() { randomizeFrontA(); } function randomizeFrontA() { Backend.getInstance().setAccessory( function(result) { Users.updateUser(id, true, false); }, null, null, id, 'front', front[Math.floor(Math.random() * front.length)], Caches.getPlayerDetailsCache() ); } function randomizeAllPartsAccessories() { randomizeFrontAccessory(); randomizeBackAccessory(); randomizeTurretAccessory(); randomizeBarrelAccessory(); } function randomizeAllPartsPaints() { randomizeTurretPaint(); randomizeBasePaint(); randomizeTreadsPaint(); } Backend.getInstance().getGarageContent( function(result) { var boxes = result['boxes']; for (var box in boxes) { var accessories = boxes[box]['accessories']; var sprays = boxes[box]['sprayCans']; for (var accessory in accessories) { var thing = accessories[accessory]; if (thing['type'] == 'front') { front.push(thing['value']); } if (thing['type'] == 'back') { back.push(thing['value']); } if (thing['type'] == 'tread') { treads.push(thing['value']); } if (thing['type'] == 'barrel') { barrel.push(thing['value']); } if (thing['type'] == 'turret') { turret.push(thing['value']); } } for (var spray in sprays) { var thing = sprays[spray]['colour']; if (thing['type']) { colours.push(thing['rawValue']); } } } baseColor = colours[Math.floor(Math.random() * colours.length)]; }, function(res) {}, function(res) {}, id, Caches.getGarageContentCache() ); var snippet = $(` <div id="randomizerSnippet" class="snippet"> <div class="header">Tank Randomizer</div> <hr> </div> `); var content = $('<div></div>'); var accessoriesButton = $('<button class="randomize-button button" type="button" tabindex="-1">Randomize</button>'); var barrelAccessoryButton = $('<button class="randomize-button button" type="button" tabindex="-1">Randomize</button>'); var turretAccessoryButton = $('<button class="randomize-button button" type="button" tabindex="-1">Randomize</button>'); var frontAccessoryButton = $('<button class="randomize-button button" type="button" tabindex="-1">Randomize</button>'); var backAccessoryButton = $('<button class="randomize-button button" type="button" tabindex="-1">Randomize</button>'); var paintButton = $('<button class="randomize-button button" type="button" tabindex="-1">Randomize</button>'); var turretPaintButton = $('<button class="randomize-button button" type="button" tabindex="-1">Randomize</button>'); var basePaintButton = $('<button class="randomize-button button" type="button" tabindex="-1">Randomize</button>'); var treadsPaintButton = $('<button class="randomize-button button" type="button" tabindex="-1">Randomize</button>'); var accessoryText = $('<div class="partTexts">Accessories</div>'); var paintText = $('<div class="partTexts">Paints</div>'); const createNewWrapper = $('<div class="createNewWrapper"></div>'); const accessoryPartSelect = $("<select class='partSelectAccessory'></select>"); const paintPartSelect = $("<select class='partSelectPaint'></select>"); const allAccessoriesOption = $('<option value="allAccessory">All</option>'); accessoryPartSelect.append(allAccessoriesOption); const barrelAccessoriesOption = $('<option value="barrelAccessory">Barrel</option>'); accessoryPartSelect.append(barrelAccessoriesOption); const turretAccessoriesOption = $('<option value="turretAccessory">Turret</option>'); accessoryPartSelect.append(turretAccessoriesOption); const frontAccessoriesOption = $('<option value="frontAccessory">Front</option>'); accessoryPartSelect.append(frontAccessoriesOption); const backAccessoriesOption = $('<option value="backAccessory">Back</option>'); accessoryPartSelect.append(backAccessoriesOption); const allPaintsOption = $('<option value="allPaints">All</option>'); paintPartSelect.append(allPaintsOption); const turretPaintsOption = $('<option value="turretPaints">Turret</option>'); paintPartSelect.append(turretPaintsOption); const basePaintsOption = $('<option value="basePaints">Base</option>'); paintPartSelect.append(basePaintsOption); const treadsPaintsOption = $('<option value="treadsPaints">Treads</option>'); paintPartSelect.append(treadsPaintsOption); accessoriesButton.on('mouseup', () => randomizeAllPartsAccessories()); barrelAccessoryButton.on('mouseup', () => randomizeBarrelAccessory()); turretAccessoryButton.on('mouseup', () => randomizeTurretAccessory()); frontAccessoryButton.on('mouseup', () => randomizeFrontAccessory()); backAccessoryButton.on('mouseup', () => randomizeBackAccessory()); paintButton.on('mouseup', () => randomizeAllPartsPaints()); turretPaintButton.on('mouseup', () => randomizeTurretPaint()); basePaintButton.on('mouseup', () => randomizeBasePaint()); treadsPaintButton.on('mouseup', () => randomizeTreadsPaint()); // Function to toggle buttons based on selection function toggleButtonsBasedOnSelection() { const selectedAccessoryValue = accessoryPartSelect.val(); const selectedPaintValue = paintPartSelect.val(); // Hide all buttons accessoriesButton.show(); barrelAccessoryButton.hide(); turretAccessoryButton.hide(); frontAccessoryButton.hide(); backAccessoryButton.hide(); paintButton.show(); turretPaintButton.hide(); basePaintButton.hide(); treadsPaintButton.hide(); // Show accessory buttons based on selection if (selectedAccessoryValue === "allAccessories") { accessoriesButton.show(); } else if (selectedAccessoryValue === "barrelAccessory") { barrelAccessoryButton.show(); accessoriesButton.hide(); } else if (selectedAccessoryValue === "turretAccessory") { turretAccessoryButton.show(); accessoriesButton.hide(); } else if (selectedAccessoryValue === "frontAccessory") { frontAccessoryButton.show(); accessoriesButton.hide(); } else if (selectedAccessoryValue === "backAccessory") { backAccessoryButton.show(); accessoriesButton.hide(); } // Show paint buttons based on selection if (selectedPaintValue === "allPaints") { paintButton.show(); } else if (selectedPaintValue === "turretPaints") { turretPaintButton.show(); paintButton.hide(); } else if (selectedPaintValue === "basePaints") { basePaintButton.show(); paintButton.hide(); } else if (selectedPaintValue === "treadsPaints") { treadsPaintButton.show(); paintButton.hide(); } } // Event listeners for selection changes accessoryPartSelect.on('change', toggleButtonsBasedOnSelection); paintPartSelect.on('change', toggleButtonsBasedOnSelection); // Append elements to the DOM createNewWrapper.append(accessoryText); createNewWrapper.append(accessoryPartSelect); createNewWrapper.append(accessoriesButton); createNewWrapper.append(barrelAccessoryButton); createNewWrapper.append(turretAccessoryButton); createNewWrapper.append(frontAccessoryButton); createNewWrapper.append(backAccessoryButton); createNewWrapper.append(paintText); createNewWrapper.append(paintPartSelect); createNewWrapper.append(paintButton); createNewWrapper.append(turretPaintButton); createNewWrapper.append(basePaintButton); createNewWrapper.append(treadsPaintButton); content.append(createNewWrapper); snippet.append(content); $('#secondaryContent').append(snippet); // Initial toggle based on current selection values $(document).ready(function() { toggleButtonsBasedOnSelection(); }); function getRandomColorFromGarage() { return colours[Math.floor(Math.random() * colours.length)]; } });
QingJ © 2025
镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址