您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Plugin for the satisfactory map
// ==UserScript== // @name Satisfactory Collectable Tracker // @namespace luxferre.dev // @version 1.0.0 // @description Plugin for the satisfactory map // @author Lux-Ferre // @license MIT // @match *://satisfactory-calculator.com/en/interactive-map* // @grant none // ==/UserScript== class CollectableTracker{ constructor(){ this.found_harddrives = [] this.found_spheres = [] this.found_sloops = [] this.load() setTimeout(() => { ct.init() }, 3000) } init(){ for (const [key, marker] of Object.entries(SCIM.map.availableLayers.hardDrives._layers)) { if (this.found_harddrives.includes(marker.options.pathName)){ SCIM.map.leafletMap.removeLayer(marker) } else { marker.on("click", e=>{ this.mark_found_hd(e) this.refresh_hd_markers() }) } } for (const [key, marker] of Object.entries(SCIM.map.availableLayers.mercerSpheres._layers)) { if (this.found_spheres.includes(marker.options.pathName)){ SCIM.map.leafletMap.removeLayer(marker) } else { marker.on("click", e=>{ this.mark_found_spheres(e) this.refresh_sphere_markers() }) } } for (const [key, marker] of Object.entries(SCIM.map.availableLayers.somersloops._layers)) { if (this.found_spheres.includes(marker.options.pathName)){ SCIM.map.leafletMap.removeLayer(marker) } else { marker.on("click", e=>{ this.mark_found_sloops(e) this.refresh_sloop_markers() }) } } this.refresh_sloop_markers() } save(){ const hd_str = JSON.stringify(this.found_harddrives) localStorage.setItem("plugin_hd_found", hd_str) const sphere_str = JSON.stringify(this.found_spheres) localStorage.setItem("plugin_sphere_found", sphere_str) const sloop_str = JSON.stringify(this.found_sloops) localStorage.setItem("plugin_sloop_found", sloop_str) } load(){ const hd_str = localStorage.getItem("plugin_hd_found") if (hd_str){this.found_harddrives = JSON.parse(hd_str)} const sphere_str = localStorage.getItem("plugin_sphere_found") if (sphere_str){this.found_spheres = JSON.parse(sphere_str)} const sloop_str = localStorage.getItem("plugin_sloop_found") if (sloop_str){this.found_sloops = JSON.parse(sloop_str)} } mark_found_hd(e){ this.found_harddrives.push(e.target.options.pathName) this.save() } refresh_hd_markers(){ for (const [key, marker] of Object.entries(SCIM.map.availableLayers.hardDrives._layers)) { if (this.found_harddrives.includes(marker.options.pathName)){ SCIM.map.leafletMap.removeLayer(marker) } } } mark_found_spheres(e){ this.found_spheres.push(e.target.options.pathName) this.save() } refresh_sphere_markers(){ for (const [key, marker] of Object.entries(SCIM.map.availableLayers.mercerSpheres._layers)) { if (this.found_spheres.includes(marker.options.pathName)){ SCIM.map.leafletMap.removeLayer(marker) } } } mark_found_sloops(e){ this.found_sloops.push(e.target.options.pathName) this.save() } refresh_sloop_markers(){ for (const [key, marker] of Object.entries(SCIM.map.availableLayers.somersloops._layers)) { if (this.found_sloops.includes(marker.options.pathName)){ SCIM.map.leafletMap.removeLayer(marker) } } } } window.ct = new CollectableTracker()
QingJ © 2025
镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址