用户工具

站点工具


tools:muder:tutor

Muder 使用

一. 功能介绍

大部分功能都是可见的,也很容易理解,再补充一些不可见的功能点。

新建的人物角色如果想看到底部的属性变化,需要执行 tune gmcp 相关指令打开gmcp频道 里面有4个,至少需要打开Move和Status,当然都打开最好。

  1. 输入框按上下键可以显示历史指令,但是前提是必须输入至少一个字符才会触发

  2. 输入框会自动获取焦点,其它地方的点击事件触发完后又会回到输入框

  3. 如果配置了小键盘的映射指令,小键盘就无法在输入框输入了,即使输入框有焦点。

  4. 按上下左右键会自动行走,但是进入游戏后需要至少手动行走一步之后才能有效

  5. 配置页面保存配置后配置项都存在config.json 里,可以手动修改,比如安装了一个特殊的字体,但是下拉选择里没有这个字体,就可以手动修改config.json设置自己的字体。

  6. 配置字体里有一项配置字间隔,这个可以为负数,有一些字体选择后字与字之间的宽度特别宽,可以把这个值设置为负数,比如-10之类的,就会有很好的效果。

  7. 有3个log目录,一个是MUD服务返回的原始数据,存在 raw 目录下,一个是处理过的数据(去掉ASCII颜色码),存在 process目录下,还有一个是客户端的日志,里面可以看到GMCP相关的数据。每种日志都会保留3天,每天一个文件。

  8. ctrl+z 会自动回滚文本到最底部,有的时候需要往上滑去查看历史文本,然后按这个快捷键快速回到底部

二. 系统函数

所有系统提供的函数都可以在脚本界面里看到:

如果想在界面上直接执行函数,只需要 ## 后面跟函数完整写法就可以,如下图:

以下是完整系统函数的列表

变量说明(vars)

  • id
    描述:玩家ID
    示例:sys.id

  • name
    描述:玩家名称
    示例:sys.name

  • password
    描述:玩家密码
    示例:sys.password

函数说明(funs)

  • send(cmd)
    描述:发送指令给Mud服务器
    示例:sys.send('ls')

  • note(text, color)
    描述:记事本记事
    示例:sys.note('hello', 'green')

  • timer(index, label, value, iscountdown, format)
    描述:设置不同的定时器到界面上
    示例:sys.timer(1, 'test', 100, true, 'ss')

  • info(msg)
    描述:打印信息在界面上
    示例:sys.info('hello')

  • error(msg)
    描述:打印错误信息在界面上
    示例:sys.error('error: hello')

  • alias(name, command)
    描述:为命令设置别名,可用于简化命令或实现命令的别名
    示例:sys.alias('k', 'killall')

  • action(id, pattern, func, isRaw)
    描述:注册文本或正则触发器
    示例:sys.action('id1','看到了', function(){ sys.send('hi'); })

  • unalias(name)
    描述:移除指定命令别名
    示例:sys.unalias('go')

  • unaction(id)
    描述:移除指定的命令触发器
    示例:sys.unaction(id)

  • enablealias(name)
    描述:启用指定的命令别名
    示例:sys.enablealias('go')

  • disablealias(name)
    描述:暂时禁用指定的命令别名
    示例:sys.disablealias('go')

  • enableaction(id)
    描述:启用指定的命令触发器
    示例:sys.enableaction(id)

  • disableaction(id)
    描述:暂时禁用指定的命令触发器
    示例:sys.disableaction(id)

  • random()
    描述:生成一个随机数(时间戳+随机值)
    示例:sys.random()

  • onSend(id, callback)
    描述:注册发送指令前的回调函数
    示例:sys.onSend('id', function(cmd){ /* ... */ })

  • onReceive(id, callback, isRaw)
    描述:注册接收消息时的回调函数
    示例:sys.onReceive('id', function(msg){ /* ... */ },true)

  • delay(seconds, commandOrFunc)
    描述:延迟执行命令或函数
    示例:sys.delay(2, 'look')

  • undelay(timerId)
    描述:取消延迟执行
    示例:sys.undelay(timerId)

  • tick(seconds, commandOrFunc)
    描述:定时循环执行
    示例:sys.tick(5, 'look')

  • untick(timerId)
    描述:取消定时循环
    示例:sys.untick(timerId)

  • sleep(seconds)
    描述:异步延迟指定秒数
    示例:await sys.sleep(2)

  • actionOnce(pattern, func, timeout)
    描述:只触发一次的命令监听
    示例:sys.actionOnce('你得到了', () => sys.send('get all'), 30)

  • batch(commands[], delaySec)
    描述:批量顺序执行命令
    示例:await sys.batch(['look', 'go east'], 1)

  • reversePath(path)
    描述:反转路径字符串
    示例:sys.reversePath('w;w;s')

  • find(name, desc, timeout)
    描述:在当前房间查找物品或NPC
    示例:await sys.find('小贩', '一个卖东西的小贩', 3)

  • try(command, successText, timeout, failTexts[])
    描述:执行命令并等待匹配文本
    示例:await sys.try('go east', '你到达了东门', 10, ['这里没有路'])

  • retry(command, successText, interval, maxRetry)
    描述:重试执行命令直到成功
    示例:await sys.retry('go east', '你到达了东门', 2, 5)

  • test(text, isRaw)
    描述:模拟文本触发器
    示例:sys.test('看到了',false)

  • reload(scope)
    描述:重新加载脚本,com 或 my
    示例:sys.reload('com')

  • go(location)
    描述:使用逍遥游移动到指定位置
    示例:sys.go('扬州')

  • _send(cmd)
    描述:直接发送指令(不做处理)
    示例:sys._send('look')

  • xy(location, callback)
    描述:使用逍遥游并成功后执行回调
    示例:await sys.xy('扬州城', () => sys.send('look'))

  • status()
    描述:获取当前角色状态对象
    示例:sys.status()

  • isbusy()
    描述:判断是否忙碌
    示例:sys.isbusy()

  • isfighting()
    描述:判断是否战斗中
    示例:sys.isfighting()

  • room()
    描述:获取当前房间对象
    示例:sys.room()

  • closeFullme()
    描述:关闭fullme窗口
    示例:sys.closeFullme()

三. 机器人介绍

参考1 参考2 参考3

n>

tools/muder/tutor.txt · 最后更改: 2025/07/09 07:29 由 wendaokoujin