用户工具

站点工具


tools:pkuxkxvscode:tutor

PKUXKX-VSCode 使用

一. 功能介绍

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

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

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

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

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

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

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

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

  7. 识图里的图片如果太小看不清,可以点击图片,会弹出大图,点击大图会切换到下一张大图,点击空白处会自动关闭。

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

  9. 第一次打开游戏后,会自动创建2个js文件,一个是index.js,是游戏脚本的入口文件,一个init.js,会初始化一些工具函数用于简化机器人代码的编写。另外修改index.js,把自己的账户密码填上,下次就可以自动登录了。

  10. 如果要多开角色,多创建一个扩展名为pkuxkx的文件就可以了,建议文件的名字就和你游戏角色的名称一致,这个比较清晰。

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

  12. 无法正常显示闪烁文本,所以默认所有闪烁文本都改成亮黄色+斜体,其中破阵特殊,背景色也改成蓝色方便区分

二. 系统指令

除了基本游戏指令外,还提供了客户端特有的系统指令,指令都是以 @ 开头。这些指令可以在输入框里输入也可以作为普通指令放在代码里。

  • @reload : 重新加载index.js ,修改了机器人脚本,重新加载
  • @disload:卸载index.js,很少单独使用
  • @go :逍遥游,'@go 北京' 就是从当前位置移动到北京,初次进入游戏,需要手动先移动几步
  • @test: 输出字符串,测试 action
  • @moyu:摸鱼指令,执行后,所有的色彩会隐去
  • @note:记事,会把内容现在屏幕的下方记事区,比如 '@note aaa'就会把aaa记录下来,注意这里是可以用h5的标签,这样就可以用多个样式来记录。
  • @var: 打印api对象下的变量的值,比如 @var api.session.player.data
  • @run: 运行api对象下的一个函数,比如 @run api.echo('hello')

三. 机器人介绍

JavaScript

  1. 提供了一个 api 的对象,这个对象包含了基础的几个函数和一个对象变量

    • api.alias: 设置别名
    • api.unalias: 取消别名
    • api.action: 设置行为触发
    • api.unaction: 取消行为触发
    • api.onGMCP: GMCP事件触发,需要定义这个回调函数
    • api.session.player.data: 这个不是函数,是一个对象,记录用户的基本实时信息,格式如下:
      {"max_qi":490,"qi":490,"name":"我的名字","jingli":474,"food":218,"eff_jing":231,"id":"huxiao",
      "jing":231,"title":"星宿派第二代弟子",
      "family/family_name":"星宿派","combat_exp":120610,"vigour/qi":null,
      "max_jing":231,"level":3,"vigour/yuan":null,
      "max_jingli":237,"neili":358,"water":286,"eff_qi":490,"max_neili":358}
  2. 提供一个 sys 对象,这个对应的源码在第一次打开游戏后自动生成的init.js 里,大家可以看到这里面定义了很多常用的函数,大家可以直接使用这些函数。

更详细的使用方法,参考北大侠客行Vscode版-js机器人示例讲解

Lua

  1. 提供以下事件

    • onSend(text) 发送指令的监听
    • onGMCP(command, data) GMCP消息的监听
    • onReceive(text) 接收消息的监听
    • onReceiveRaw(text) 接收原始消息的监听
  2. 提供以下系统函数,都是以js_开头

    • js_send(text) 发送指令
    • js_echo(text) 输出文本到屏幕
    • js_fullme(name) fullme消息
    • js_test(text) 测试输出
    • js_go(target) 逍遥游
    • js_moyu() 摸鱼
    • js_note(text) 记事
    • js_disload() 取消加载lua脚本
    • js_reload() 重新加载lua脚本
    • js_set_timeout(delay,func) 设置定时器

Python

请先确保python已安装,并且在cmd里执行没有问题(加入了系统Path),如下图

注意:python是独立的程序和主程序交互 ,和对js和lua的支持不一样

1. 提供以下事件

on_send(text) 发送指令的监听

on_gmcp(command, data) GMCP消息的监听

on_receive(text) 接收消息的监听(原始数据)

2. 提供以下系统函数

send_command(text) 发送指令到服务器

echo_message(text) 输出文本到屏幕

fullme(name) fullme消息

test(text) 测试输出

go(target) 逍遥游

moyu() 摸鱼

note(text) 记事

disload() 取消加载python脚本

reload() 重新加载python脚本

set_timeout(delay, callback) 设置定时器

tools/pkuxkxvscode/tutor.txt · 最后更改: 2025/05/04 18:23 由 wendaokoujin