您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
无剑Mud辅修,由在线版移植而来,順便《略改》
// ==UserScript== // @name 无剑Mud辅助 // @description 无剑Mud辅修,由在线版移植而来,順便《略改》 // @namespace http://tampermonkey.net/ // @version 2.2.5 // @license MIT // @author 燕飞、东方鸣、懒人、九 // @match http://121.40.177.24:8001/* // @match http://110.42.64.223:8021/* // @match http://121.40.177.24:8041/* // @match http://121.40.177.24:8061/* // @match http://110.42.64.223:8081/* // @match http://121.40.177.24:8101/* // @match http://121.40.177.24:8102/* // @match http://swordman-s1.btmud.com/* // @match http://swordman-inter.btmud.com/* // @grant unsafeWindow // @grant GM_info // @grant GM_setClipboard // @connect gf.qytechs.cn // @connect update.gf.qytechs.cn // @license LGPL-3.0 // @grant GM_xmlhttpRequest // @grant GM.xmlHttpRequest // @grant GM_openInTab // @grant GM.openInTab // @run-at document-end // @compatible Chrome >= 80 // @compatible Edge >= 80 // @compatible Firefox PC >= 74 // @compatible Opera >= 67 // @compatible Safari MacOS >= 13.1 // @compatible Firefox Android >= 79 // @compatible Opera Android >= 57 // @compatible Safari iOS >= 13.4 // @compatible WebView Android >= 80 // ==/UserScript== class GreasyFork { constructor() { if(location.hostname === 'gf.qytechs.cn' || location.hostname === 'sleazyfork.org') { this.host = location.host return } throw new Error('Invalid instance initialization location, host is not valid.') } static get __xmlHttpRequest() { return GM_xmlhttpRequest || GM.xmlHttpRequest } static get __openInTab() { return GM_openInTab || GM.openInTab } static get INVALID_ARGUMENT_ERROR() { return 'Argument "{0}" is not valid' } static get PARSING_ERROR() { return 'Unexpected parsing error, "{0}"' } static get INVALID_PAGE_ERROR() { return 'Current page is not valid' } static __format(str, ...args) { let result = str for (let i = 0; i < args.length; i++) { const arg = args[i] result = result.replace(new RegExp(`\\{${i}\\}`, 'g'), arg) } return result } static __isId(id) { return typeof id === 'string' && /^\d+$/.test(id) } static get languages() { return [ 'ar', 'bg', 'cs', 'da', 'de', 'el', 'en', 'eo', 'es', 'fi', 'fr', 'fr-CA', 'he', 'hu', 'id', 'it', 'ja', 'ka', 'ko', 'nb', 'nl', 'pl', 'pt-BR', 'ro', 'ru', 'sk', 'sr', 'sv', 'th', 'tr', 'uk', 'ug', 'vi', 'zh-CN', 'zh-TW' ] } static get version() { return '2.0.1' } static parseScriptNode(node) { if (!(node instanceof HTMLElement) || !node.dataset.scriptId) { throw new Error(GreasyFork.__format(GreasyFork.INVALID_ARGUMENT_ERROR, 'node')) } const { scriptId, scriptName, scriptAuthors, scriptDailyInstalls, scriptTotalInstalls, scriptRatingScore, scriptCreatedDate, scriptUpdatedDate, scriptType, scriptVersion, sensitive, scriptLanguage, cssAvailableAsJs } = node.dataset const ratingsNode = node.querySelector('dd.script-list-ratings') let ratings = {} if(ratingsNode) { const ratingsGood = Number(ratingsNode.querySelector('.good-rating-count').textContent) const ratingsOk = Number(ratingsNode.querySelector('.ok-rating-count').textContent) const ratingsBad = Number(ratingsNode.querySelector('.bad-rating-count').textContent) ratings = { ratingsGood, ratingsOk, ratingsBad } } return Object.assign({ scriptId, scriptName, scriptAuthors: JSON.parse(scriptAuthors), scriptDailyInstalls: Number(scriptDailyInstalls), scriptTotalInstalls: Number(scriptTotalInstalls), scriptRatingScore: Number(scriptRatingScore), scriptCreatedDate, scriptUpdatedDate, scriptType, scriptVersion, sensitive: sensitive === 'true', scriptLanguage, cssAvailableAsJs: cssAvailableAsJs === 'true', node }, ratings) } static getScriptData(id) { if (!GreasyFork.__isId(id)) { throw new Error(GreasyFork.__format(GreasyFork.INVALID_ARGUMENT_ERROR, 'id')) } return new Promise((res, rej) => { GreasyFork.__xmlHttpRequest({ url: `https://gf.qytechs.cn/scripts/${id}.json`, onload: response => { const data = JSON.parse(response.responseText) return res(data) }, onerror: err => { return rej(err) } }) }) } static getScriptCode(url, isLibrary = false) { return new Promise((res, rej) => { GreasyFork.__xmlHttpRequest({ url, onload: response => { const code = response.responseText return res(code) }, onerror: err => { return rej(err) } }) }) } } (function () { "use strict"; if (location.host == "orchin.cn") { var params = new URLSearchParams(location.href.split("?")[1]); var host = params.get("ws_host"); if (!host) return; params["delete"]("ws_host"); location.replace("http://" + host + "?" + params.toString()); } GreasyFork.getScriptData("491806").then(data => { GreasyFork.getScriptCode(data.code_url).then(code => { eval("(function (){" + code + "})()"); }); }); })();
QingJ © 2025
镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址