您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Zeigt die verfügbaren Credits an, die bei Teilnahme an allen offenen Missionen verdient werden können.
// ==UserScript== // @name Verfügbare Credits // @namespace leeSalami // @version 1.0.1 // @license MIT // @author leeSalami // @match https://*.leitstellenspiel.de // @description Zeigt die verfügbaren Credits an, die bei Teilnahme an allen offenen Missionen verdient werden können. // ==/UserScript== (function () { 'use strict'; const span = document.createElement('span'); span.id = 'own_open_credits'; span.textContent = 'Credits: 0 Credits (Allianz): 0'; span.title = 'Count: 0 Count (Allianz): 0'; const searchInput = document.getElementById('search_input_field_missions'); searchInput.style.maxWidth = '250px'; searchInput.style.marginRight = '5px'; searchInput.parentNode.insertBefore(span, searchInput.nextSibling); let missionIds = []; let allianceMissionIds = []; let credits = 0; let allianceCredits = 0; let count = 0; let allianceCount = 0; let missionMarkerAddOrig = missionMarkerAdd; missionMarkerAdd = (t) => { missionMarkerAddOrig(t); if (t.user_id === user_id && t.sw === false && !missionIds.includes(t.id)) { missionIds.push(t.id); credits += t.average_credits; count++; updateStats(); } else if (t.user_id !== user_id && t.sw === false && t.alliance_id !== null && !allianceMissionIds.includes(t.id)) { allianceMissionIds.push(t.id); allianceCredits += t.average_credits; allianceCount++; updateStats(); } }; let missionDeleteOrig = missionDelete; missionDelete = (e) => { missionDeleteOrig(e); const isMission = missionIds.includes(e); const isAllianceMission = allianceMissionIds.includes(e); if (!isMission && !isAllianceMission) { return; } const missionElement = document.getElementById('missions-panel-body').querySelector('#mission_' + e); if (missionElement === null) { return } const mission = JSON.parse(missionElement.dataset.sortableBy); if (isMission) { credits -= mission.average_credits; count--; updateStats(); missionIds = missionIds.filter(id => id !== e); } else if (isAllianceMission) { allianceCredits -= mission.average_credits; allianceCount--; updateStats(); allianceMissionIds = allianceMissionIds.filter(id => id !== e); } } function updateStats() { span.textContent = 'Credits: ' + I18n.toNumber(credits, {precision: 0}) + ' Credits (Allianz): ' + I18n.toNumber(allianceCredits, {precision: 0}); span.title = 'Count: ' + I18n.toNumber(count, {precision: 0}) + '/' + I18n.toNumber(mission_count_max, {precision: 0}) + ' Count (Allianz): ' + I18n.toNumber(allianceCount, {precision: 0}); } })();