Yue-bin 3099e41a54 feat: 聊天时在屏幕左侧显示历史面板
- 打开聊天输入框时(ChatManager.StartTyping/StopTyping 补丁)在 GameCanvas 显示/隐藏 uGUI 只读滚动面板
- 内存历史缓冲:启动时从当前与已轮换日志文件播种,新消息追加并截断至 HistoryMaxLines
- 新消息仅在面板已贴底时自动滚到底,用户上翻查看历史时不被拉回
- 新增 HistoryMaxLines 配置(默认 50,0 = 不显示历史面板)
- 版本号升至 1.4.0
2026-08-28 04:27:09 +08:00
🎉 init:
2025-02-11 18:04:59 +08:00
🎉 init:
2025-02-11 18:04:59 +08:00

聊天记录

可以把聊天消息记录到本地文件的便利插件

功能

  • 把聊天记录保存到 ...\StickFightTheGame\BepInEx\plugins\ChatRecorder\ChatRecord.txt(插件目录下的独立子目录,不再写入游戏数据目录)
  • 按时间间隔自动轮换文件,避免单个文件无限增长
  • 轮换后的文件命名:
    • 每天 / 每周:ChatRecord-2024-01-08.txt(每周以周一为起点)
    • 每月:ChatRecord-2024-01.txt
  • 自动清理最旧的轮换文件(默认保留最近 100 个)
  • 升级时自动把旧位置 StickFight_Data\ChatRecord.txt 迁移到插件目录
  • 打开聊天输入框时,屏幕左缘显示只读聊天历史面板(宽 1/4 屏、高 1/2 屏、垂直居中,只显示昵称与消息):可滚动查看(跨轮换文件补齐),新消息仅在面板贴底时自动跟随;可在配置中关闭

配置

配置项 默认值 说明
RecordChat true 是否记录聊天消息
RecordTime true 是否记录消息时间
RotationInterval Weekly 文件轮换间隔:Daily 每天 / Weekly 每周 / Monthly 每月
MaxFiles 100 保留的轮换文件最大数量,0 表示不限制
HistoryEnabled true 是否在聊天时显示左侧历史面板
HistoryMaxLines 50 左侧历史面板显示的最大行数,0 表示不显示历史面板
HistoryStickTimeout 10 历史面板自动贴底超时(秒):负数 = 禁用超时,0 = 新消息立即贴底,正数 = 离开底部超过该秒数后自动贴底

更新日志

v1.4.0

  • 新增左侧聊天历史面板:打开聊天输入框时显示,只读可滚动,新消息仅在面板贴底时自动跟随;面板只显示昵称与消息(时间戳与 SteamID 仍完整写入文件)
  • 面板贴屏幕左缘(宽 1/4 屏、高 1/2 屏、垂直居中),新增 HistoryStickTimeout 超时自动贴底(默认 10 秒)
  • 新增配置 HistoryEnabled(默认 true)控制历史面板开关,HistoryMaxLines(默认 50,0 表示不显示历史面板),历史内容跨轮换文件补齐

v1.3.0

  • 新增按时间间隔的日志文件轮换(RotationInterval:每天/每周/每月,默认每周),跨周期后第一条消息触发轮换
  • 新增保留数量限制(MaxFiles,默认 100),超出后自动删除最旧文件
  • 日志目录改为 BepInEx\plugins\ChatRecorder\,不再污染游戏数据目录,旧文件自动迁移
  • 聊天消息补丁改为 Prefix 并设置为最高优先级(Priority.First),先于其它补丁记录原始消息;字段访问改为编译型访问器,不再每条消息反射查找

v1.2.0

限制最长单条消息为128个字符长度,否则会截断为128个字符

v1.1.0

改为patch一个方法然后自行获取发送者

v1.0.3

修补了四个方法的超级大坨插件,不建议使用,可能导致性能大幅下降

S
Description
聊天记录器
Readme
1.9 MiB
Languages
C# 100%