master
- 打开聊天输入框时(ChatManager.StartTyping/StopTyping 补丁)在 GameCanvas 显示/隐藏 uGUI 只读滚动面板 - 内存历史缓冲:启动时从当前与已轮换日志文件播种,新消息追加并截断至 HistoryMaxLines - 新消息仅在面板已贴底时自动滚到底,用户上翻查看历史时不被拉回 - 新增 HistoryMaxLines 配置(默认 50,0 = 不显示历史面板) - 版本号升至 1.4.0
聊天记录
可以把聊天消息记录到本地文件的便利插件
功能
- 把聊天记录保存到
...\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
修补了四个方法的超级大坨插件,不建议使用,可能导致性能大幅下降
Languages
C#
100%