您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Allows to navigate between rooms using '.' as a shortcut
// ==UserScript== // @name Command alias - go // @namespace https://shinyuu.net // @match https://wolfery.com/* // @grant none // @version 1.0 // @author Shinyuu Wolfy // @description Allows to navigate between rooms using '.' as a shortcut // @license Apache-2.0 // ==/UserScript== function waitForElm(selector) { return new Promise(resolve => { if (document.querySelector(selector)) { return resolve(document.querySelector(selector)); } const observer = new MutationObserver(mutations => { if (document.querySelector(selector)) { observer.disconnect(); resolve(document.querySelector(selector)); } }); observer.observe(document.body, { childList: true, subtree: true }); }); } waitForElm('.console-editor').then(async () => { await app.loadBundle({ tinygo: class { constructor(app) { this.app = app; this.app.require([ 'cmd', 'cmdLists', 'help' ], this._init.bind(this)); } _init(module) { this.module = module; const ListStep = Object.getPrototypeOf(this.module.cmd.cmds._keys.go.next).constructor; this.module.cmd.addCmd({ key: 'tinygo', next: new ListStep('exitId', this.module.cmdLists.getInRoomExits(), { name: "exit", textId: 'exitKey', errRequired: () => new Err('go.exitRequired', "Where do you want to go?"), }), value: this.go.bind(this), symbol: '.', }); } go(ctx, p) { return ctx.char.call('useExit', p.exitId ? { exitId: p.exitId } : { exitKey: p.exitKey }, ); } } }); });