北大侠客行MUD论坛

 找回密码
 注册
搜索
热搜: 新手 wiki 升级
查看: 134|回复: 8

Muder 完整教程

[复制链接]
发表于 前天 09:19 AM | 显示全部楼层 |阅读模式
本帖最后由 wendaokoujin 于 2026-1-6 10:32 AM 编辑

Muder发布快半年了,也基本功能稳定了,但是没有一个完整的教程说明,我想基于这个帖子完整的分享使用方法,重点也讨论一下基于Muder的机器人编写。
我会分多个部分来整理,最后再汇总到wiki,以下是纲要:

一、概述

二、特点

三、登录

四、首页

五、工具栏

1)脚本

2)聊天

3)识图

4)录图

5)配置

6)地图

六、机器人编写

1)基础篇

2)系统函数介绍

3)高级篇

4)常见任务分析


北大侠客行Mud(pkuxkx.net),最好的中文Mud游戏!
 楼主| 发表于 前天 09:37 AM | 显示全部楼层
本帖最后由 wendaokoujin 于 2026-1-6 10:29 AM 编辑

一、概述

  Muder 是 2025 年基于北大侠客行研发的专属客户端,采用浏览器方式使用,直接部署在 pkuxkx.net 服务器上;访问地址:  http://mud.pkuxkx.net:4000

二、特点

      
  1. 功能完整,常用客户端的主要功能都有。
  2.   
  3. 辅助功能内置集成在一个界面里,不像很多客户端需要搭配多种插件。
  4.   
  5. 访问方便,不需要安装,在任何支持浏览器的系统和设备上都可以随时访问。
  6.   
  7. 使用 JavaScript 作为机器人的脚本,可以利用 AI 来帮忙实现。
  8.   
  9. 机器人脚本存储在服务器上,不需要单独管理和保存。
  10.   
  11. 内置逍遥游,可以实现城市之间的快速移动。

三、登录

1. 登录完整地址

http://mud.pkuxkx.net:4000/login.htm

登录界面

      
  1. 如果没有游戏账户,玩家 ID 输入 new,密码和角色名称都不需要填。
  2.   
  3. 如果有游戏账户,玩家 ID 和密码都必须输入;角色名称最好也填一下,如果不填不影响使用,但是主页面显示名称的地方会有问题。
  4.   
  5. 登录过的账户会保存在底部,下次只需要点击记住的用户就可以自动带出用户 ID 和角色名称,密码每次都需要输入。
  6.   
  7. 账户相关信息不会保存在服务器上,只会保存在浏览器本地存储中(关闭浏览器会清空)。

2. 直接在地址后面加玩家 ID 登录

比如我的玩家 ID 叫 but,则可以直接在浏览器输入地址:

http://mud.pkuxkx.net:4000/index.htm?id=but

直接登录界面:可以在这个页面直接输入密码,就可以登录游戏。


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
北大侠客行Mud(pkuxkx.net),最好的中文Mud游戏!
 楼主| 发表于 前天 10:14 AM | 显示全部楼层
本帖最后由 wendaokoujin 于 2026-1-6 10:16 AM 编辑

四、首页

首页面
首页主要分为 9 个区域(对应 main.png 的编号),便于一眼掌握输出、指令输入与常用功能入口:
  1. 角色信息面板:显示当前角色名、等级、经验、潜能几个关键数值,便于随时确认状态。数据会自动更新。
  2. 记事区:用于放置不经常变化的数据。我一般用来记录当前所有经验加成的任务列表,一般每 2 小时切换一次。修改内容可以通过系统函数 sys.note() 来更新。
  3. 日志区(游戏信息流):一般用于显示游戏里的动态信息(战斗、任务提示等)。比如任务 NPC 会告知做任务的地点,记录在这个区,否则聊天刷过去后就得往前翻主输出区才能看到。修改内容可以通过系统函数 sys.log() 来更新。
  4. 右上工具栏(常用功能入口):集中放置常用开关与入口(例如消息/频道、地图/导航、设置等)。这个后续会单独讲解。
  5. 状态条(核心资源):底部彩色条展示主要资源的当前值/上限(如气血、精力、内力等),方便战斗与恢复时快速判断风险。数据会自动刷新。
  6. 位置信息:显示当前所在地点名称,配合逍遥游等移动功能用于确认移动是否成功。当移动到能开始执行 walk 指令和逍遥游指令的位置时,会显示很多可达的其它位置点;可以用鼠标点击这些位置,迅速到达对应地点。walk 点位
  7. 计时/统计区域:展示计时或倒计时,主要用于辅助多任务场景。后续做任务的速度很快,做完一个任务需要等待 CD 若干秒,可以记录倒计时,便于一到时间立刻去接新的任务。修改内容可以通过系统函数 sys.timer() 来更新。这个区域总共提供 5 个倒计时。
  8. 命令输入框
    • 左边是历史记录按钮,点击会弹出最近输入的所有指令;点击某条指令会自动在输入框带出该指令。
      历史记录
    • 中间是输入框,用于输入游戏指令(例如 lookhelpsay 你好)。回车发送;支持多指令用 ; 隔开。
    • 指令如果以 ## 开头表示执行函数,比如 ##sys.info('test')
      系统指令
    • 执行完一个指令后输入框会清空;但可以连续按回车键,重复执行最后一次的指令。
    • 输入至少一个字母后,再按上下键,可以选择以该字母或已输入文字开头的历史记录。
    • 输入框为空白时,按上下左右键会实现行走。上下左右只有 4 个方向,但游戏里有十几种方向;其实是根据当前房间的所有出口来动态判断“上下左右”分别映射到哪个方向;极少数情况下仍需要手动敲方向指令。
    • 输入框还支持截图 Ctrl+V 粘贴输入,但一般只能用于在 QQ 频道里发截图;在 chat 频道里发也可以,但对方必须也使用 Muder 才能看到。图片输入后会自动变成一个特殊格式的文本。图片输入
  9. 主区域
    • 这是 MUD 的主输出区域,支持向上翻页查看历史输出,但历史记录并非无限保存。
    • 不支持右键复制内容;只支持选中文本后按 Ctrl+C 复制。复制后会自动将复制内容回填到输入框,便于二次编辑/转发。
    • 输出内容的样式(字体大小、颜色等)可以在设置里修改。




本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
北大侠客行Mud(pkuxkx.net),最好的中文Mud游戏!
发表于 前天 10:27 AM | 显示全部楼层
支持!现在各个客户端都有,上手都有难度,muder至少登录没问题,如果能把机器人学好就跟完美了。
北大侠客行Mud(pkuxkx.net),最好的中文Mud游戏!
 楼主| 发表于 16 小时前 | 显示全部楼层
本帖最后由 wendaokoujin 于 2026-1-8 07:24 AM 编辑

五、工具栏

1)脚本

玩家可以在这个界面设置别名、触发器等与机器人相关的脚本。这里的功能比较多也比较复杂,我们先介绍基本能力,后续会在“机器人编写”章节里再详细展开。

如图,脚本管理包含 3 个子页面,以及右上角的导入/导出按钮:

1.1 系统子页面

这一页不能编辑,只提供系统函数的查询/帮助文档。

1.2 通用子页面

用于管理多角色公用的机器人脚本。

1.3 玩家子页面

用于管理当前角色独有的机器人脚本。

1.4 导入/导出按钮

可以将机器人脚本导出为 JSON 文件,并在另一个角色登录后从脚本界面导入该 JSON 文件。

“通用子页面”和“玩家子页面”的划分是为了适配多角色场景:多数玩家会有多个角色,脚本里往往存在大量复用逻辑。“通用”用来存放可复用的脚本;“玩家”则记录该角色特有的脚本。

2)聊天

聊天功能比较直观:用于显示多个频道的内容。底部有按钮可选择显示哪些频道(前提是相应频道已打开)。比较特殊的一点是:聊天界面可以显示聊天对应的图片,这是其它客户端没有的能力。

3)识图

fullme 是北大侠客行特有的功能:无论是手动执行 fullme,还是被动自动触发 fullme,这个界面都会自动弹出。关闭方式除了手动点关闭外,还可以通过系统函数 sys.closeFullme() 关闭。

界面上方还有左右 2 个按钮,可用来查看历史 fullme 图片。

4)录图

“录制路径”不是绘制地图,而是用来手动录制行走路径。它支持图形化录制,可以很直观地看到路线;同时会给出起点到终点的最短路径。例如:先走 north 一步,再走 south 两步,实际行走指令是 north;south;south,但起点到终点的最短路径是 south

基本操作:

  • 点击 开始录制
  • 通过上下左右键或直接输入方向指令进行行走(路径会自动记录)
  • 点击 停止录制
  • 点击 复制路径,再选择需要的路径,按 Ctrl+C 复制

5)配置

配置包括几个主要功能:

5.1 显示配置

  • 主题选择:配置附带了近百种主题,每个主题会修改多种元素的颜色搭配;玩家可以用上下键实时预览不同主题的效果。

  • 字体:配置附带了 20+ 种字体,但有些字体并不是选了就立刻生效,需要先下载安装到操作系统里才会生效。比如我一直使用的字体 Maple Mono。如果你有喜欢的字体不在列表中,可以找我,我会更新列表增加新字体选项。

  • 字体大小
  • 线高:行间距,通常为 1
  • 普通字体粗细:普通/粗体,玩家可以自行选择查看效果
  • 粗体字体粗细:普通/粗体,玩家可以自行选择查看效果
  • 字间隔:有不少字体显示时字与字之间间隔偏大,可以设置成负数,效果会更紧凑

5.2 小键盘配置

上下左右键用来行走已经很方便了,但仍有一些玩家更习惯使用键盘右侧的小键盘区域来行走。这里可以配置每个按键对应的指令;这些指令不止于方向,也可以是任何指令。

5.3 下载日志

点击后会下载最近 3 天的所有游戏日志,包括:屏幕显示的文本、原始文本(带颜色)、以及 GMCP 数据。这些数据可用于分析与编写更复杂的机器人逻辑。

6)地图

地图功能是一套完整的地图文件管理系统:可以自由创建新地图、维护旧地图,并提供强大且灵活的地图编辑能力。编辑器融合了“手动精调”和“自动录制”两种模式,以适应不同使用场景。

在录制模式下,你在游戏中的每一次移动(无论是通过上下左右方向键还是输入移动指令),都会在地图上自动创建对应的房间节点与连线。推荐“先录制,再微调”的工作方式:先通过录制功能快速生成地图草稿,再利用手动编辑功能精修。

地图录制完成后,会提供 2 个基础系统函数用于读取数据;剩余的自动寻路/任务逻辑等,需要玩家基于这些数据自行编写机器人脚本。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
北大侠客行Mud(pkuxkx.net),最好的中文Mud游戏!
 楼主| 发表于 1 小时前 | 显示全部楼层

六、逍遥游

其实更准确的名称应该叫“城际通”。整个大地图由多个城市(city)组成,每个城市里包含许多房间(room)。通常每个城市有 1–2 个“中心房间”,这些中心房间之间可以通过游戏自带的 walk 功能快速行走(但一般仅限两个房间之间的快速到达)。

要实现跨城市移动,则需要客户端支持。目前长期支持“逍遥游/城际通”的客户端主要是 paotin++ 和 Muder。

原理很简单:客户端维护一份“各城市中心房间”的索引表,再用最短路径算法选路。例如从扬州到北京:先到达扬州中心房间“中央广场”,执行 xy 北京,客户端会自动多次 walk 并处理中途过河等步骤,最终到达北京的“永安门”。

侠客行地图会不定期变化,因此索引文件也需要更新。比如新增“佛山镇”后,需要更新索引才能支持通过 xy 佛山镇 快速到达。paotin++ 通常需要玩家手动更新或等待他人分享更新文件;Muder 发布新版本后会自动对所有玩家生效。

注意事项:

  1. 要使用逍遥游,必须先走到当前城市的中心房间。
  2. 刚登录游戏时,即使已经在中心房间,也可能无法立即逍遥游;通常手动走动 1–2 步即可(原因是刚登录时客户端可能尚未获取到准确位置)。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
北大侠客行Mud(pkuxkx.net),最好的中文Mud游戏!
发表于 1 小时前 | 显示全部楼层
北侠各客户端粉丝都比较多。

不建议直接对比其他客户端,容易引来争议。
北大侠客行Mud(pkuxkx.net),最好的中文Mud游戏!
 楼主| 发表于 1 小时前 | 显示全部楼层
jarlyyn 发表于 2026-1-8 09:29 PM
北侠各客户端粉丝都比较多。

不建议直接对比其他客户端,容易引来争议。 ...

我一直不吝对paotin++的赞扬,因为我只用过zmud和paotin++,很多功能都是照抄paotin++
北大侠客行Mud(pkuxkx.net),最好的中文Mud游戏!
 楼主| 发表于 6 分钟前 | 显示全部楼层

七、机器人编写

  1. 创建一个分组
  2. 删除一个分组
  3. 在一个分组下创建一个变量
  4. 在一个分组下创建一个函数
  5. 在一个分组下创建一个别名
  6. 在一个分组下创建一个触发器
  7. 删除一个变量、函数、别名和触发器
  8. 保存对变量、函数、别名和触发器的内容编辑

1)基础篇

最基础的就是别名和触发器,这 2 个概念应该很好理解,我们以实际例子来讲解。

1.1 别名

别名是比较短的字符串,方便在输入框里输入。对应的值可以是字符串,也可以是函数;函数又分同步函数和异步函数(后面会讲解区别)。

例 1:过河的时候,有的时候需要用 ride,有的时候需要 enter boat,所以设置一个别名,让过河时 2 个指令都执行。

'gogo': 'ride;enter boat;',

例 2:答题的时候每次都要输入 answer b 之类的,简化一下,改成 a b。其中 a 是别名,$1 表示第一个不定参数。

'a': 'answer $1',

例 3:把身上的一个绑定的装备取消绑定。比如要把第 2 个戒指解除绑定,正常的指令是:

remove ring 2;
disload ring 2;
yes;

设置成别名 dl,对应的用法就是 dl ring 2

  • arg 表示函数参数,是一个数组;例如 arg[0]ringarg[1]2arg.join(' ') 就是 ring 2
  • sys.send() 是最基础的系统函数:发送一条指令
'dl': function (arg) {
  sys.send('remove ' + arg.join(' '))
  sys.send('disload ' + arg.join(' ') + ';yes;')
},

例 4:在临安给装备安装宝石。比如给第 2 个戒指镶嵌宝石,戒指有 2 个洞,需要先放 2 个宝石到桌子上,然后把装备放到桌子,然后镶嵌宝石;最终希望只输入 xiangqiang 2 ring 2

等同于以下完整指令:

put gem on zhuo;
put gem on zhuo;
put ring 2 on zhuo;
ask shangren about 篆刻铭文;
yes;

这个别名对应的函数对不熟编程的同学可能不太直观,不过可以把这个函数发给 AI 让它帮忙解释,也可以让 AI 按你的需求生成/改写。

'xiangqiang': function (arg) {
  if (arg.length <= 1) { return }
  let count = arg[0] || 1
  let zb = arg[1]
  if (arg.length > 2) { zb = zb + ' ' + arg[2] }
  for (let i = 0; i < count; i++) {
    sys.send('put gem on zhuo')
  }
  sys.send(`put ${zb} on zhuo;ask shangren about 篆刻铭文;yes`)
}


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
北大侠客行Mud(pkuxkx.net),最好的中文Mud游戏!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|北大侠客行MUD ( 京ICP备16065414号-1 )

GMT+8, 2026-1-8 11:17 PM , Processed in 0.013093 second(s), 16 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表