您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Logs Battledome rewards with a button to export
// ==UserScript== // @name Grundo's Battledome Log // @namespace http://tampermonkey.net/ // @version 0.1 // @description Logs Battledome rewards with a button to export // @author Superlink, Gem // @match https://grundos.cafe/* // @match https://www.grundos.cafe/* // @icon https://www.grundos.cafe/static/images/favicon.66a6c5f11278.ico // @grant none // ==/UserScript== /* globals $ */ (function() { 'use strict'; if(window.location.href.match('1p/battle')) { const challenger = (($('#hpbars > table > tbody > tr:nth-child(3) > td:nth-child(3)')[0]).firstChild.nodeValue).slice(1); localStorage.setItem('challenger', challenger); }; if(window.location.href.match('/1p/endbattle')) { const item = $('#prize_blurb > p:first-child > strong').text(); if (item) { const rewardHistoryRaw = localStorage.getItem('bd-reward-history'); const challenger = localStorage.getItem('challenger'); let rewardHistory = {}; if (rewardHistoryRaw) { rewardHistory = JSON.parse(rewardHistoryRaw); } const rewardHistoryForChallenger = rewardHistory[challenger]; if (!rewardHistoryForChallenger) { const rewards = { [item]: 1 }; rewardHistory[challenger] = rewards; } else { console.log(rewardHistoryForChallenger, rewardHistoryForChallenger[item]); const currentFrequency = rewardHistoryForChallenger[item] || 0; rewardHistory[challenger][item] = currentFrequency + 1; } localStorage.setItem('bd-reward-history', JSON.stringify(rewardHistory)); //Set Reward History Since Last Export const currentRewardHistoryRaw = localStorage.getItem('current-bd-reward-history'); let currentRewardHistory = {}; if (currentRewardHistoryRaw) { currentRewardHistory = JSON.parse(currentRewardHistoryRaw); } const currentRewardHistoryForChallenger = currentRewardHistory[challenger]; if (!currentRewardHistoryForChallenger) { const rewards = { [item]: 1 }; currentRewardHistory[challenger] = rewards; } else { console.log(currentRewardHistoryForChallenger, currentRewardHistoryForChallenger[item]); const currentRewardFrequency = currentRewardHistoryForChallenger[item] || 0; currentRewardHistory[challenger][item] = currentRewardFrequency + 1; } localStorage.setItem('current-bd-reward-history', JSON.stringify(currentRewardHistory)); } } let exportButton = document.createElement("button"); exportButton.id = "exportButton"; exportButton.innerHTML = 'Export BD Data'; document.querySelector("#sb_banner").append(exportButton); $("#exportButton").click(() => { window.open().document.write(localStorage.getItem('current-bd-reward-history')); let empty = {}; localStorage.setItem('current-bd-reward-history', JSON.stringify(empty)); }); const customCSS = ` #exportButton { height: fit-content; width: 100%; background-color: orange; border: 1px solid pink; padding: 5px; box-sizing: border-box; margin: 10px 0; }`; $("<style>").prop("type", "text/css").html(customCSS).appendTo("head"); })();