Skip to content

Repository files navigation

Mil-Plugin

Yunzai Version GitHub issues GitHub license GitHub stars 插件版本 Milthm

介绍

mil-plugin 为查询Milthm信息的插件,包括b20、score、song等Milthm相关功能,有相关的建议和问题可以在Issues中提出,欢迎PR

具体功能可在安装插件后 通过 /mil help 查看详细指令


安装

使用Github

#安装插件本体
git clone --depth=1 https://github.com/Temmie0125/mil-plugin.git ./plugins/mil-plugin/
#进入插件目录
cd ./plugins/mil-plugin/
#安装插件所需依赖
pnpm install

Warning

请使用主人权限执行该指令以下载曲绘,否则相关曲绘将无法正常展示!(可以是标准输入或者其他平台)

/mil downill

Tip

如果安装依赖时速度过慢,运行:

pnpm config set registry https://registry.npmmirror.com

Todo

  • 优化界面设计

  • 定数表

  • 接入云存档系统

  • 指令修改部分设置

  • 谱面标签

  • 猜曲绘、开字母等娱乐功能

功能

以下#均可用/代替,命令头可自定义

功能名称 功能说明
#mil help 查看帮助
直接发送存档文件 导入存档
#mil b20 查询b20
#mil song <曲名或别名> 查询曲目图鉴
#mil alias <曲目> 查看现有别名
#mil score <曲目> 查看单曲成绩
#mil ill <曲目> 查看曲绘
#mil table <定数> 查看定数表
#mil recent 查看最近一次游玩成绩(需要云存档)
#mil delete 删除bot端存档数据
#mil bind 授权云存档(需要自行配置cilent_id和cilent_secret)
#mil update 更新存档数据
#mil unbind 解除授权(不会删除本地存档)
#mil guess 猜曲绘,回答可以直接发送
#mil letter 开字母,#open A翻开字母,#nx XXX猜测

以下为管理功能

功能名称 功能说明
#mil (强制|qz)?(更新|gx) 更新插件
#mil downill 下载或更新曲绘

存档导入方法

1. 本地导入

直接上传你的saves.db给bot即可导入存档。

存档路径:

  1. Android(TapTap):
/storage/emulated/0/Android/data/game.taptap.morizero.milthm/files/data/
  1. Android(Google Play):
/storage/emulated/0/Android/data/com.morizero.milthm/files/data/
  1. IOS:

使用 文件 应用打开 Milthm 文件夹:

data/
  1. Windows
%AppData%\..\LocalLow\Morizero\Milthm\data\
  1. MacOS*
/Library/Application Support/Morizero/Milthm/data/
  1. Linux
~/.config/unity3d/Morizero/Milthm/data/

2.对接云存档

Warning

云端与存档成绩的关系

Milkoud 的在线成绩系统存在以下机制,可能导致云端与本地存档出现差异:

1. 仅在线成绩上传 — 离线游玩的成绩不会被上传到 Milkoud 的 Rank/Recent,且不参与在线 Reality 计算。

2. Touch / Keyboard 双端不互通 — Milkoud 为触摸端(手机/平板)和键盘端(PC)各自维护独立的排行榜。同一曲目在两个端的成绩不会互相覆盖,但本地存档是双端共用的(同一份 saves.db)。

3. 旧版成绩 — v4.0 以前的成绩不会被上传到云端,也不会参与新版本Reality计算。

4. v6.0.0 起 — v2 成绩(game_version < 4.0)不再计入 Reality;Reality 显示改为向下取整;多指谱面不计入 Reality。

v6.0.0 在线/离线模式分离

  • 在线模式(已绑定 Milkloud / Nya Profiler):B20 使用纯云端 Rank 数据,与游戏内显示完全一致
  • 离线模式(未绑定):B20 使用本地存档计算(上传 .db 文件导入)
  • 已绑定用户仍可导入存档,数据仅用于补充详细判定和离线回退
  • 使用 #mil myset 可切换触屏/键盘/合并模式,双端 Reality 独立计算

出现差异时的解决方式:使用 /mil b20/mil update 后查看差异提示,将列出的曲目重新在线游玩一遍即可消除差异。

Warning

云存档功能需要自行配置以下任一内容:

  • Re Nya Profiler API的API Key
  • Milkloud OIDC的Cilent_id和Cilent_secret,可自行前往申请获取,此处不提供获取方式. 注意,如果你一定需要这一项配置,请务必申请Cilent Auth的认证类型,无需回调地址,Bot会自动轮询。

配置完上述内容之后,使用/mil bind,bot会发送一个授权链接,在有效期内完成授权即可。

之后可以使用/mil update更新你的云存档。

Warning

  • Milthm游戏内不会自动同步云存档,首次使用时需要手动上传存档。存档内成绩只做为补充和参考,不会参与在线成绩计算。

  • 后续只会走Rank和Recent接口获取在线成绩,Recent接口最多20条最近记录,只有极少数情况会走下载存档更新。下载存档每日最多5次,请合理使用。

  • 如果你使用Re Nya Profiler API,请注意:

    • API有并发限制每日请求上限,每个用户每天最多请求存档5次。本插件已经做了缓存机制,可自行按需配置缓存有效期,并合理控制请求频率。
    • API只能查询Best20以及Overflow2成绩,以及常规谱面完成的统计情况。如果你需要完整的数据,请使用本地导入或者自行申请Milkloud的OIDC client.

部分功能效果图

感谢phi-plugin提供的设计灵感

帮助菜单

update和b20

曲目图鉴和单曲成绩

最近游玩

贡献者

感谢以下贡献者对本项目做出的贡献

Alt

Star History

Star History Chart

更新日志

v1.1.0 — Milthm 6.0.0 适配

  • 定数表: 现在可以通过#mil table查看定数表。
  • 在线/离线模式分离:已绑定云平台时 B20 使用纯在线数据(与游戏内一致),未绑定时使用本地存档
  • v2 成绩排除:game_version < 4.0 的旧版成绩不再计入 Reality(仍可在单曲查询中查看)
  • 多指谱面排除IsMania 谱面不再参与 B20/Reality 计算
  • 已移除曲目处理tags: ["removed"] 的曲目在图鉴中保留但排除出 B20/统计/小游戏
  • Reality 向下取整:显示值从四舍五入改为 Math.floor(r*100)/100(与 6.0.0 游戏规则一致)
  • ACC 解耦修复:同谱面 v2/v3 并存时 ACC 现在独立取最高值
  • 图鉴增强:已移除曲目标记 + spinfo 补充说明展示
  • 平台模式#mil myset 支持触屏/键盘/合并,双端 Reality 独立
  • OVERFLOW 补充:在线模式下从本地存档补充 B20 以外的成绩条目
  • 支持直接Token绑定: 可前往Milkloud官网-创建令牌获取直接Token

免责声明

  1. 功能仅限内部交流与小范围使用,请勿将Yunzai-Botmil-plugin用于任何以盈利为目的的场景.
  2. 图片与其他素材均来自于网络,仅供交流学习使用,如有侵权请联系,会立即删除.
  3. 存档解析功能由mkzi-nya/milthm-calculator-web改写而来

友情链接

About

适用于Yunzai-V3的Milthm辅助插件,支持查分等功能

Topics

Resources

Stars

9 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages