mtz 发表于 2023-1-28 11:17:02

【mudlet】法盲的自定义界面 V1.0 版

自我介绍:      刚接触北侠的新人一个,游戏中的人物名字:法盲,暂入日月神教,1级。(说不定哪天suicide -f,重新开始。)


static/image/hrline/line1.png

一点费话:
      10天前发了0.1版自定义界面,实现了一些简单的功能,边学边写代码比较乱,现在回头看已不忍直视。。。
这些天仍在学习mudlet的API,学习官网的手册,有些收获,有些新的理解,有些新的想法。
于是,重新整理了思路,重构了代码,以方便使用。现在只需要做一些简单的基础设置,拷贝一下原码就可以轻松使用了。
自认为写了详细的注释,喜欢的同学联系我一起玩耍吧。


代码仍不完美,但水平有限,已尽最大努力。未来如果有持续的更新,将以此为基础。

界面简介:   
[*]可见部分主要分四块:底边、左上、可移动的窗口和FULLME。
[*]不可见主要功能是gmcp信息的接收和状态信息的更新。
[*]特点简单设置、方便使用,能代码的全部代码,无须手动设置Frigger。



1、底边
1.1 左中右三个信息显示框,实现信息分类,不刷屏。分别显示聊天信息、玩家移动信息、玩家其它信息。
1.2 左右两个色球,实现气血(红)、精神(蓝)状态显示,接收gmcp信息1%-100%动态显示。
1.3 中间两个色条,实现食物(橙)、饮水(蓝)状态显示,同样接收gmcp信息1%-100%动态显示。
1.4 左中五个按钮,分别打开(或关闭)五个窗口,方便查询聊天、任务、玩家动作、其它等信息。

2、左上
2.1 自定义头像,单击打开状态窗口,显示膂力、根骨等信息,gmcp被动更新。
2.2 横幅,显示门派、职位、姓名、等级信息。
2.3 战、忙状态显示,红、灰两色分别代表true和false。

3、打开的窗口
3.1 可移动位置,退出前保留,退出后重置(暂未实现保存最后的位置)。
3.2 可缩小为标题,或恢复为正常(暂未实现拖动调整大小)。
3.3 后台刷新信息,可随时隐藏、显示。

4、修改版fullme(可选)
4.1 图片放在可调容器中,可鼠标调整大小、位置、隐藏(下一次自动打开,未提供手动打开功能)
4.2 单击图片直接刷新,无需打开浏览器刷新图片
4.3 容器为内置功能,自带记忆,保保存最后位置

5、gmcp信息接收、更新
5.1 接收gmcp信息并处理,更新状态变量值
5.2 更新界面上的状态显示


一张图说明:


来一些动图:
1、登陆和fullme:主要是界面加载和底边四个状态条的变化

2、左上界面:主要是战、忙时状态的机现


3、整体操作:打开一些窗口、移动、缩小、隐藏等
      


具体食用方法:

一、源文件包含:三个文件、一个文件夹
1、mtz_gmcp_event_v1.0.lua    => gmcp相关脚本
2、mtz_ui_v1.0.lua                  => ui相关脚本
3、mtz_fullme.lua                   => fullme(可选)
4、png文件夹                         => 图片素材

二、软件插件包:一个
1、mtz.mpackage

注意:需要游戏中打开gmcp的人物状态(Status)频道。
注意:需要游戏中打开gmcp的人物状态(Status)频道。
    注意:需要游戏中打开gmcp的人物状态(Status)频道。

两种方法2选1:
第一种:拷贝源码(自由)
    1、相关素材图片放在游戏主目录的png文件夹中,png文件夹需要自行创建。
    2、在mudlet软件中,创建触发器和脚本的新组,名称:mtz。(如自定义,请替换脚本中所有的mtz)。
    3、新建2个脚本项目,先拷贝设置mtz_gmcp_event_V1.0(设置详见原文),再拷贝mtz_fullme.lua(设置详见原文)。
    4、mudlet设置-->主要显示-->左边边框宽度:350;底部边框宽度:250。
    5、为保证状态数据不丢失,需要打开变量-->mtz-->zt,选中zt表,使zt表中的所有变量为勾选状态。
    6、保存配置文件,关闭配置文件,重新连接。

第二种:包导入(简单)
   1、相关素材图片放在游戏主目录的png文件夹中,png文件夹需要自行创建。
   2、mudlet软件中,打开包管理器,安装装的软件包,选择包文件,打开。
   3、mudlet设置-->主要显示-->左边边框宽度:350;底部边框宽度:250。
   4、保存配置文件,关闭配置文件,重新连接。
   5、为保证状态数据不丢失,需要打开变量-->mtz-->zt,选中zt表,使zt表中的所有变量为勾选状态。

其它说明:
    >>游戏主窗口大小使用getMainWindowSize()获取,本脚本使用1K屏计算定位(1920*1080)
    >>因软件按钮占用顶部空间,故主窗口实际分辨率为1920*998,
    >>果自定义了按钮,高度再-24,分辨率为1920*974,根据实际情况调整变量bl_mouse_x/bl_mouse_y的值
    >>游戏主目录使用lua getMudletHomeDir()获取
    >>第一次使用,状态数据可能不全,需要耐心gmcp数据推送,原因是断线重连gmcp只推送变化的数据
    >>完整状态数据一般在离线较长时间后,登陆时推送。
    >>主动更新数据功能开发中,待续。。。

相关源文件和素材:
1、
2、
3、
4、
      
导入包:
5、









btfy 发表于 2023-1-28 11:59:37

zeze

imtt 发表于 2023-1-28 12:21:54

我来点个赞

jan 发表于 2023-1-28 12:24:23

酷~~~{:7_280:}

kamuluo 发表于 2023-1-28 14:41:38

我怎么没看到插件包?我新手~救我!{:7_275:}

mtz 发表于 2023-1-28 14:45:32

kamuluo 发表于 2023-1-28 02:41 PM
我怎么没看到插件包?我新手~救我!

补上了,传附件时传漏了。ttk_33

mtz 发表于 2023-1-28 14:47:48

imtt 发表于 2023-1-28 12:21 PM
我来点个赞

欢度试用
前辈多提建议和意见ttk_20

mtz 发表于 2023-1-28 14:48:56

jan 发表于 2023-1-28 12:24 PM
酷~~~

欢迎试用,
有想法要告诉我哦。ttk_11

kamuluo 发表于 2023-1-28 14:52:50

mtz 发表于 2023-1-28 02:45 PM
补上了,传附件时传漏了。

感谢大老的辛苦付出~

mtz 发表于 2023-1-28 15:24:26

kamuluo 发表于 2023-1-28 02:52 PM
感谢大老的辛苦付出~

没什么,个人业余爱好,
有没有用上,有什么问题和建议,回来聊一聊ttk_11
页: [1] 2 3 4
查看完整版本: 【mudlet】法盲的自定义界面 V1.0 版