jarlyyn 发表于 2024-5-21 21:23:10

hclua-0.20240521版

本帖最后由 jarlyyn 于 2024-5-22 11:06 AM 编辑

一个跨客户端的机器人框架,还附带若干预设的便捷功能。
目前支持mushclient和mudlet

希望能为掌握了基本客户端使用方式的新玩家提供一定助力,能不需要深入研究代码就能解决一定的核心机器的制作。

目前还是预览版,主要还是看是否符合新玩家的需求,接口不保证完全锁定

完整文档见github

由于我现在已经处于AFK状态,平时也不使用mushclient和mudlet两个客户端,同时使用的系统和各位也不一致,如果在使用时发现有任何bug,麻烦各位直接跟帖反馈,我会尽快修复。




jarlyyn 发表于 2024-5-21 21:23:55

本帖最后由 jarlyyn 于 2024-5-22 10:06 AM 编辑

安装说明
Mushclient/CBK

解压代码
将代码解压缩后,src中的hclua目录复制到mcl文件夹下设置加载代码
将代码解压缩后的loader/mush.lua文件复制到mcl文件夹下,并在你的主脚本的合适位置引用。在mush.lua文件中,可以通过注释Hclua:loadModules中的条目,屏蔽某些模块的加载客户端调整
在你脚本的设置(ctrl+shift+6)的Connect和Disconnect事件指定的回调函数中,分别调用 Hclua.world.params.on_connect 和 Hclua.world.params.on_disconnect函数。副作用

[*]脚本会添加一个名为hclua_trigger,触发为^.*$,优先级为1的触发器
[*]脚本会添加一个名为hclua_timer,间隔为0.1秒的触发器
[*]lua全局空间会添加一个hclua表,里面是HCLua的所有相关代码
[*]lua的package.path会添加mcl所在目录(GetInfo(67) .. "/?.lua")
[*]readUserFile和writeUserFile会操作mcl文件夹下,以mcl全名.user.xxx开头的文件,比如c:\mcl\world.mcl读写的data.txt就是 c:\mcl\world.mcl.user.data.txt

参考 https://github.com/hellclient-sc ... ob/main/doc/mush.md


Mudlet/UTF8:


解压代码
将代码解压缩后,src中的hclua目录复制到对应的profile目录下设置加载代码
新建一个名为hclualoader的script将代码解压缩后的loader/mudlet.lua文件复制该script里,并在你的主脚本的合适位置引用。在script里,可以通过注释Hclua:loadModules中的条目,屏蔽某些模块的加载客户端调整
在处理器设置界面,将hclua.online拖到所有其他触发器上方在'首选项'>'颜色视图'中,确保前景色和白色一致,背景色和黑色一致副作用

[*]脚本会添加一个名为hclua.online,触发为^.*$为1的触发器
[*]脚本会添加间隔为0.1秒的临时触发器
[*]lua全局空间会添加一个hclua表,里面是HCLua的所有相关代码
[*]readUserFile和writeUserFile会操作profile文件夹下,以.user.xxx开头的文件,比如c:\modlet\profiles\xxx读写的data.txt就是 c:\modlet\profiles\xxx\user.data.txt

参考:https://github.com/hellclient-scripts/hc-lua/blob/main/doc/mudlet.md


jarlyyn 发表于 2024-5-21 21:24:42

本帖最后由 jarlyyn 于 2024-5-28 04:08 PM 编辑

当前版本的HCLua包含两个主要功能模块

history 历史文本管理history模块的功能包括:
[*]记录了最近的历史行信息,可以从新向旧方向进行截取
[*]提供一个记录器,可以手动开始记录行信息,从旧向新进行截取
[*]提供了列操作,可以将截取出的行信息,根据gbk/utf8显示宽度,进行指定列之间的横向截取
通过history模块,能很方便的进行历史信息分析,多行回答分析,色彩统计,图像比较等功能使用参考:https://www.pkuxkx.com/forum/thread-49189-1-1.html

metronome 节拍器 可编程限流发送队列
metronome模块的功能包括
[*]高效的模拟心跳发送限流,在指令数波动较大时比固定间隔的speedwalk更有效率,在绝大部分场合能取代speedwalk的功能。
[*]提供指令分组功能,将同一组的指令在同一时刻发出,避免固定间隔队列容易遇到的间隔过长场景/npc发生变化的尴尬。
[*]提供暂停/继续/步进/重发等队列控制功能,能在大部分场合下替代指令队列的功能
[*]提供精细的限流控制,可以较为精确地对发送频率进行控制。
[*]提供指令解码功能,可以实现各种自定义指令,比如模拟Zmud的#wait,#t+,#t-指令
[*]提供管道功能,可以将多个不同频率的节拍器重定向到主节拍器上,进行不同频率的限流,可以在不严格的场合实现移动限速等功能。
[*]提供指令转换功能,实现管道重定向多个节拍器时,将不同的指令算做不同的指令数,实现更精确的频率控制
使用参考:https://pkuxkx.com/forum/thread-49204-1-1.html

jarlyyn 发表于 2024-5-21 21:25:35

占楼3

jarlyyn 发表于 2024-5-21 21:26:17

占楼4

jarlyyn 发表于 2024-5-21 21:26:50

占楼5

jarlyyn 发表于 2024-5-21 21:27:22

占楼完毕,明天开始更新说明和使用范例

oakbai 发表于 2024-5-21 21:33:14

赞!

hellfire 发表于 2024-5-24 08:47:37

杰哥牛批

oldxkx 发表于 2024-6-11 12:28:34

作为新人,确实要顶好几下!!!
页: [1] 2
查看完整版本: hclua-0.20240521版