您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Extract item IDs and names for Garry's Mod to help quickly create a resource.AddWorkshop lua file.
// ==UserScript== // @name resource.AddWorkshop Generator // @version 1.0.1 // @description Extract item IDs and names for Garry's Mod to help quickly create a resource.AddWorkshop lua file. // @author Eggroll & ChatGPT // @match https://steamcommunity.com/sharedfiles/filedetails/?id=* // @grant none // @namespace https://gf.qytechs.cn/users/1248228 // ==/UserScript== (function() { 'use strict'; // Check if the subscribeCollection element is present var subscribeCollection = document.querySelector('.subscribeCollection'); if (subscribeCollection) { // Your code here var mods = Array.from(document.querySelectorAll('[id^="sharedfile_"]')).map(mod => { var modId = mod.id.replace('sharedfile_', ''); var modName = mod.querySelector('.workshopItemTitle').textContent; return { id: modId, name: modName }; }); var luaOutput = mods.map(mod => `resource.AddWorkshop( "${mod.id}" ) -- ${mod.name}`).join('\n'); // Create a button var button = document.createElement('button'); button.textContent = 'Copy GLua List'; // Copy styles from the general_btn subscribe button var referenceButton = document.querySelector('.general_btn.subscribe'); if (referenceButton) { var computedStyles = window.getComputedStyle(referenceButton); for (var i = 0; i < computedStyles.length; i++) { button.style[computedStyles[i]] = computedStyles.getPropertyValue(computedStyles[i]); } } // Explicitly set white-space property to nowrap button.style.whiteSpace = 'nowrap'; // Set text-align to center button.style.textAlign = 'center'; // Attach the button to the subscribeCollection element subscribeCollection.appendChild(button); // Add hover styles button.addEventListener('mouseover', function() { button.style.backgroundColor = '#97C0E3'; button.style.setProperty('-webkit-text-fill-color', '#3C3D3E', 'important'); // Why not just use color? hhh }); // Set padding to 0 on both x and y axes button.style.padding = '0'; button.style.width = '126px'; // Add mouseout styles button.addEventListener('mouseout', function() { button.style.backgroundColor = '#0e1720'; // Revert to default button.style.setProperty('-webkit-text-fill-color', '#939393', 'important'); }); // Add a click event listener to the button button.addEventListener('click', function() { // Print the lua code in console as a fallback in case this fails for some reason console.log(`${luaOutput}`); // Copy luaOutput to clipboard navigator.clipboard.writeText(luaOutput.replace(/^\s*[\r\n]/gm, '')).then(function() { // Need to use replace to remove empty line breaks because for some reason they exist. bug? // Change button text after copying button.textContent = 'Copied!'; // Reset button text after 2 seconds setTimeout(function() { button.textContent = 'Copy Glua List'; }, 2000); }).catch(function(err) { console.error('Unable to copy text to clipboard!!!', err); }); }); } })();
QingJ © 2025
镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址