您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Never try to remove too many items from your SDB again!
当前为
- // ==UserScript==
- // @name [GC] - SDB Removal Improvements
- // @namespace https://www.grundos.cafe
- // @match https://www.grundos.cafe/safetydeposit/*
- // @license MIT
- // @version 1.0
- // @author Cupkait (& shoutout to Josh)
- // @description Never try to remove too many items from your SDB again!
- // ==/UserScript==
- const createInventoryDiv = () => {
- const inventoryDiv = document.createElement('div');
- Object.assign(inventoryDiv.style, {
- position: 'fixed',
- bottom: '10px',
- left: '10px',
- padding: '10px',
- border: '1px solid #ccc',
- });
- document.body.appendChild(inventoryDiv);
- return inventoryDiv;
- };
- const updateInventoryInfo = async () => {
- try {
- const response = await fetch("/inventory/");
- if (!response.ok) throw new Error(`Network response was not ok: ${response.statusText}`);
- const html = await response.text();
- const inventoryHTML = $(html).find('main').find('p').eq(1).text();
- const currentItemCount = inventoryHTML.match(/You currently hold (.*?) items/)[1];
- const maxItemCount = inventoryHTML.match(/The maximum you should hold is (.*?)\./)[1];
- const availableSpaces = maxItemCount - currentItemCount;
- const remainSpaces = availableSpaces - countRemove;
- if (remainSpaces <= 0) {
- if (remainSpaces === 0) {
- inventoryDiv.innerHTML = 'You cannot select anymore!';
- inventoryDiv.style.background = 'orange';
- } else {
- inventoryDiv.innerHTML = 'You have too many selected!';
- inventoryDiv.style.background = 'red';
- }
- } else {
- inventoryDiv.innerHTML = `You can still remove <strong>${remainSpaces}</strong> more items.`;
- inventoryDiv.style.background = '#fff';
- }
- } catch (error) {
- console.error(error);
- }
- };
- let countRemove = 0;
- const updateCountRemove = () => {
- countRemove = Array.from(document.querySelectorAll('input.form-control.rm'))
- .map(input => {
- const listedQuantity = parseInt(input.getAttribute('data-qty')) || 0;
- const enteredValue = parseInt(input.value) || 0;
- return Math.min(enteredValue, listedQuantity);
- })
- .reduce((sum, value) => sum + value, 0);
- console.log('countRemove:', countRemove);
- updateInventoryInfo();
- };
- const inventoryDiv = createInventoryDiv();
- updateInventoryInfo();
- document.querySelectorAll('input.form-control.rm').forEach(input => {
- input.addEventListener('input', updateCountRemove);
- });