您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
description
当前为
- // ==UserScript==
- // @name Faction Challenge Totals
- // @namespace namespace
- // @version 0.7.1
- // @description description
- // @author tos
- // @grant GM_setClipboard
- // @match *.torn.com/factions.php*
- // ==/UserScript==
- const rowDelim = '\t'
- const colDelim = '\n'
- let copyEx = localStorage.getItem('copy_ex_members') || false
- const copy = (res) => {
- let clipboard = `User ID${rowDelim}Name${rowDelim}${res.upgrade.icon}${colDelim}`
- for (const group of res.contributors) {
- for (const member of Object.keys(group)) {
- if(!copyEx && group[member].exmember) continue
- clipboard += group[member].userid + rowDelim
- clipboard += group[member].playername + rowDelim
- clipboard += group[member].total.replace(',', '') + colDelim
- }
- }
- return clipboard
- }
- $(document).ajaxComplete((event, jqXHR, ajaxObj) => {
- if (ajaxObj.data && ajaxObj.data.includes('step=upgradeConfirm')) {
- const resp = JSON.parse(jqXHR.responseText)
- const buttonWrap = document.querySelector('#stu-confirmation .buttons-wrap')
- let challenge_total = 0
- if (resp.contributors) {
- for (const group of resp.contributors)
- for (const member of Object.keys(group))
- challenge_total += parseInt(group[member].total.replace(',', ''))
- buttonWrap.insertAdjacentHTML('beforeend', `<div class="name">Challenge Total: ${numberWithCommas(challenge_total)}</div>`)
- buttonWrap.insertAdjacentHTML('beforeend', `<div class="buttons"><span class="name link">Copy to clipboard</span></div>`)
- buttonWrap.insertAdjacentHTML('beforeend', `<span style="color: gray; padding-right: 5px;">copy exMembers</span><input id="exMembers_ck" type="checkbox">`)
- document.querySelector('#stu-confirmation .buttons-wrap .name.link').addEventListener('click', () => {GM_setClipboard(copy(resp))})
- const exBox = document.querySelector('#stu-confirmation .buttons-wrap #exMembers_ck')
- exBox.checked = copyEx
- exBox.addEventListener('change', (e) => {
- copyEx = e.target.checked
- localStorage.setItem('copy_ex_members', e.target.checked)
- })
- }
- }
- })
- function numberWithCommas(x) {
- var parts = x.toString().split(".");
- return parts[0].replace(/\B(?=(\d{3})+(?=$))/g, ",") + (parts[1] ? "." + parts[1] : "");
- }