You are viewing a potentially older version of this package.
View all versions.
| Date uploaded | 2 days ago |
| Version | 1.6.3 |
| Download link | cn_xc-RandomValueMod-1.6.3.zip |
| Downloads | 244 |
| Dependency string | cn_xc-RandomValueMod-1.6.3 |
This mod requires the following mods to function
BepInEx-BepInExPack
BepInEx pack for Mono Unity games. Preconfigured and ready to use.
Preferred version: 5.4.2100PotatoePet-AdvancedREPO_Config
Configuration framework capable of synchronizing host configuration with connected clients.
Preferred version: 1.0.2README
随机贵重物品的价格
作者: dyxc666
版本: v1.6.3
最后更新: 2026年3月3日
注:本模组代码由 DeepSeek AI 辅助生成。
📖 概述
一个为《REPO》游戏设计的独立模组,专注于在第一次抓取贵重物品时随机化其价格,增加游戏的变数和重玩价值!主机配置自动同步给所有客户端,确保多人游戏中体验完全一致。
✨ 功能特点
- 🎲 抓取时随机化:物品在被玩家抓取时才触发价格随机化,每个物品仅生效一次。
- ⚙️ 高度可配置:价格随机变化范围可自由调节(0.1倍~10.0倍)。
- 🛡️ 黑白名单系统:通过关键词精确控制哪些物品被随机化。
- 💰 现金袋保护:默认不随机化提取点奖励的现金袋(可配置)。
- 🌐 主机强制统一配置:所有玩家的配置(倍率、黑白名单等)由主机自动同步。
- 🚀 零网络开销:基于“确定性随机”算法,每个客户端独立计算相同价格,无需传输价格值。
- 📋 详细日志:可配置的详细日志输出,便于调试。
📥 安装方法
自动安装(推荐)
- 安装 Thunderstore Mod Manager 或 r2modman。
- 搜索 随机贵重物品的价格 作者 dyxc666 并安装。
- 启动游戏一次以生成配置文件,然后关闭游戏。
手动安装
- 安装 BepInEx 5(版本 5.4.2100 或更高)。
- 确保已安装依赖:AdvancedREPO.Config 1.0.2+
- 将本模组的
RandomValueMod.dll放入BepInEx/plugins/文件夹。 - 启动游戏一次以生成配置文件,然后关闭游戏。
⚙️ 配置说明
启动一次游戏后,配置文件位于:
BepInEx/config/RandomValuablePrice/RandomValuablePrice.cfg
| 配置项 | 说明 | 默认值 |
|---|---|---|
随机化物品价格 |
是否随机化贵重物品的价格 | true |
最小价格倍率 |
价格的最小倍率(0.1–5.0) | 0.5 |
最大价格倍率 |
价格的最大倍率(0.5–10.0) | 2.0 |
启用黑名单模式 |
启用黑名单,匹配的物品将不被随机化 | true |
黑名单关键词 |
逗号分隔的关键词列表(如 keycard,computer) |
空 |
启用白名单模式 |
启用白名单,只有匹配白名单的物品才会被随机化 | false |
白名单关键词 |
逗号分隔的关键词列表 | 空 |
排除高价物品 |
不随机化价格超过阈值的物品 | false |
高价物品阈值 |
价格超过此值的物品不随机化 | 50000 |
现金袋随机化 |
如果为true,则现金袋也会被随机化 | false |
详细日志输出 |
输出每个物品修改前后的具体数值 | false |
强制刷新UI |
尝试强制刷新UI显示 | true |
注意:本模组已移除对 REPOConfig 的依赖,所有配置均通过独立的配置文件进行。如需修改,请直接编辑上述文件。
🎮 使用方法
单人游戏
- 安装模组后启动游戏。
- 进入任意关卡。
- 抓取贵重物品时会自动随机化其价格,并显示提示。
多人游戏
- 主机安装并配置模组,其配置会自动同步给所有客户端。
- 客户端无需安装模组(但安装后也可获得配置同步)。
- 所有玩家独立计算价格,结果一致(无需网络传输价格值)。
❓ 常见问题
问:为什么我的配置项不在 REPOConfig 里显示?
答:本模组已移除对 REPOConfig 的依赖,配置项存储在独立配置文件中,请直接编辑 BepInEx/config/RandomValuablePrice/RandomValuablePrice.cfg。
🙏 致谢
- AdvancedREPO.Config 模组(作者:PotatoePet)提供的配置同步框架
- AI 辅助来自 DeepSeek
如有问题,请在模组页面反馈。
CHANGELOG
📜 更新日志
v1.6.3 (最新稳定版 - 回归基础,移除 REPOConfig和颜色反馈)
- 移除: 不再依赖 REPOConfig,配置同步仅通过 AdvancedREPO.Config 实现
- 恢复: 基于 v1.5.9 稳定版本,确保所有核心功能正常运作
- 优化: 简化依赖列表,降低玩家安装门槛
- 文档: 更新 README,说明配置方式变更
v1.6.2 (内部测试版 - 清理依赖)
- 移除: 移除对 REPOConfig 的依赖(未公开发布,仅内部测试)
v1.6.1 (内部测试版 - 调整颜色反馈)
- 调整: 对颜色反馈代码进行优化(未公开发布,仅内部测试)
v1.6.0 (内部测试版 - 新增颜色反馈)
- 新增: 价格颜色反馈功能!涨价时抓取光束变绿,亏钱时变红(灵感来自 CustomGrabColour 模组)
- 新增: 配置项
价格颜色反馈(默认开启) - 优化: 抓取结束后自动重置光束颜色
- 说明: 此版本为功能试验版本,未正式发布
v1.5.9
- 修复: 修正了提示信息中倍率计算错误的问题,现在倍率会正确显示原价到新价的变化倍数
- 优化: 代码中传递原价给日志函数,确保计算准确
v1.5.8
- 修复: 将价格字段读写方式从
FieldRef回退为传统反射,确保修改成功 - 增强: 在价格修改前后添加详细日志输出(需开启详细日志),便于定位问题
v1.5.7
- 性能优化: 尝试使用
FieldRef代替反射读写价格字段(发现兼容性问题,v1.5.8 已回退) - 代码精简: 添加辅助方法
CreateBoolConfig和CreateFloatConfig,简化配置创建 - 可维护性: 统一注释风格,添加静态字段引用初始化
...(后续版本日志保持不变)
v1.5.6 (最新版本 - 调整默认倍率为稳定模式)
- 调整: 将默认最小倍率从
0.8改为0.5,默认最大倍率从2.5改为2.0,对应稳定模式(平衡体验) - 文档: 更新 README,在配置示例中明确“稳定模式”为默认配置
- 保留: 延续 v1.5.5 的调试日志功能,便于排查问题
- 版本: 提升至 v1.5.6,推荐所有用户更新以获得更平衡的默认体验
v1.5.5
- 增强: 在模组启动时打印当前最小/最大倍率值,便于确认配置是否正确加载
- 调试: 在
GetDeterministicRandomPrice中添加日志输出(仅在EnableVerboseLogging为 true 时),显示min、max和实际乘数 - 优化: 确保配置系统正确读取文件中的值,避免倍率默认为 0 导致随机化失效
v1.5.4
- 修复: 将所有布尔配置项的验证方式从
.Acceptable()改为.Range(false, true),确保minValue < maxValue,彻底解决ArgumentException: minValue has to be lower than maxValue错误 - 文档: 在 README 中增加“为什么不能用 REPOConfig 修改”的详细说明,并指导用户如何手动编辑配置文件
v1.5.3
- 修复: 为所有布尔配置项添加
.Acceptable(new bool[] { true, false })调用,尝试解决范围验证错误(未完全解决) - 版本: 保留记录
v1.5.2
- 更新: 更新文档说明
v1.5.1
- 修复: 在
CreateConfigEntries中为每个配置项添加.File("RandomValuablePrice.cfg")调用,解决ConfigBuilder.Build()中因_File为null引发的空引用异常 - 完善: 确保所有配置项使用同一个配置文件,配置系统正常工作
v1.5.0
- 修复: 移除了不可访问的
Sync.ApplyLocal()调用(该方法为internal,实际为多余代码),解决编译错误 - 完善: 确保配置同步机制正常工作,所有配置项由 AdvancedREPO.Config 自动管理
- 版本: 提升主版本号至 1.5.0,标志着配置同步架构的成熟稳定
v1.4.9
- 重大重构: 将配置系统迁移至 AdvancedREPO.Config,实现主机强制统一配置
- 移除: 所有手动编写的价格同步网络代码(RPC、超时回退、网络组件等)
- 新增: 依赖
AdvancedREPO.Config,配置同步由该框架自动处理 - 优化: 基于“确定性随机”算法,客户端独立计算相同价格,无需网络传输,零延迟
- 改进: 配置项现在支持同步,主机修改后自动广播给所有客户端
- 文档: 更新README,明确新版本特性与安装要求
v1.4.8
- 增强: 网络同步组件现在在物品生成时立即添加,而非抓取时,确保PhotonView及时注册
- 新增: 客户端网络请求超时机制,默认2秒后自动回退到本地计算的价格,避免卡死
- 新增: 配置项
网络超时,可调节等待服务器响应的时间 (1-5秒) - 改进: 主机在广播后立即应用价格,避免主机自身延迟
- 优化: 简化RPC调用,统一使用
RpcTarget.All和RpcTarget.Others逻辑 - 修复: 潜在的主机重复应用问题
- 调试: 增加更详细的网络状态日志,便于排查同步问题
v1.4.7
- 更新: 更新文档说明
v1.4.6
- 修复: 修复了Photon RPC参数错误,解决多人游戏同步问题
- 改进: 将RPC方法参数改为符合Photon规范 (
PhotonMessageInfo作为最后一个参数) - 优化: 更新所有RPC调用,移除不再需要的请求者ID参数
- 兼容性: 确保多人游戏网络同步功能正常工作
v1.4.5
- 文档更新: 更新README,添加指向旧版(v1.3.9,含重量随机化)的链接
- 状态声明: 明确声明旧版软件包已被标记为已弃用 (deprecated)
- 版本维护: 确保版本历史记录的连续性
v1.4.4
- 多人游戏优化: 改进了网络同步机制,添加客户端请求跟踪和重试机制
- 新增功能: 客户端随机化请求记录和清理,避免重复请求
- 网络稳定性: 添加RPC重试机制,提高多人游戏同步成功率
- 调试增强: 更详细的网络调试日志,便于排查多人游戏问题
- 性能优化: 网络请求清理机制,定期清理过期请求避免内存泄漏
- 兼容性: 保持与之前版本的兼容性,单人游戏功能不变
v1.4.3
- 重大优化: 大幅减少Harmony补丁数量,只补丁关键的抓取相关方法(GrabStarted、GrabEnded、GrabLink)
- 性能修复: 解决了游戏卡顿问题,之前版本因补丁过多方法导致性能下降
- 日志优化: 减少了不必要的调试日志输出,避免日志刷屏
- 代码清理: 移除冗余代码,优化性能
v1.4.2
- 功能重构: 将随机化时机从物品生成时改为抓取时,提供真正的"随机化"体验
- 新增功能: 抓取时触发价格随机化,增加游戏惊喜感
- 改进机制: 补丁多个抓取相关方法,确保全面覆盖
- 添加提示: 在日志中显示随机化提示信息
- 性能问题: 存在日志刷屏和游戏卡顿问题(已在v1.4.3修复)
v1.4.1
- 修复: 添加详细调试日志,帮助排查抓取物品无反应的问题
- 改进: 优化日志输出格式,增加关键步骤的调试信息
v1.4.0
- 重构: 移除所有重量随机化相关代码,专注于价格随机化
- 说明: 重量修改涉及复杂的物理引擎和预设系统,容易引发兼容性问题。为了模组的长期稳定性和维护性,我们决定删除重量功能,专注于价格随机化这一核心功能
- 优化: 简化代码结构,减少运行时错误风险
- 更新: 修复所有编译错误,提升代码质量
v1.3.13
- 修复: 静态类中的 Logger 调用错误,解决了所有 CS1061 和 CS0026 编译错误
- 改进: 添加静态 Logger 引用,确保在静态上下文中也能正确记录日志
- 优化: 统一了所有静态方法中的日志调用方式
v1.3.12
- 改进: 网络同步代码,修复了双向同步的逻辑问题
v1.3.11
- 改进: 网络同步组件的双向网络同步机制
- 优化: 客户端主动请求随机化的时机和逻辑
v1.3.10
- 修复: 主机与客户端单向同步问题,实现双向网络同步
- 改进: 配置系统初始化逻辑和错误处理
- 新增: 更详细的初始化状态日志输出
v1.3.9
- 更新: 更新文档说明
v1.3.8
- 更新: 更新文档说明,增加单独的更新日志
v1.3.7
- 更新: 更新文档说明,增加未来规划
v1.3.6
- 重构: 移除所有重量和价格的默认值设置,完全尊重游戏原始数据
- 改进: 重量获取逻辑,只在游戏本身设置了重量值时才进行随机化
- 优化: 物品跟踪机制,减少重复随机化的可能性
- 新增: 当物品重量或价格为0时的跳过逻辑和警告日志
v1.3.5
- 修复: 重量随机化中的NaN计算问题
- 修复: 单机模式下的网络警告问题
- 改进: 重复修改防护机制
- 优化: 配置验证和错误处理
- 新增: 日志工具类和更详细的调试信息
v1.3.4
- 恢复: 完整的网络同步功能,包含RPC广播机制
- 改进: 增强错误处理和日志系统
- 更新: 优化配置项说明和默认值
v1.3.3
- 修复: 模组加载时的依赖检测问题
- 修复: 移除重复集合定义,避免逻辑冲突
- 改进: 统一网络状态检查方法
- 清理: 删除未使用的导入和冗余代码
v1.3.2
- 新增: 完整的网络同步功能框架
- 优化: 代码结构,提高编译稳定性
- 改进: 配置项说明和默认值
- 更新: 更新文档说明
v1.3.1
- 修复: 程序集引用问题,确保稳定编译
- 改进: 日志系统和错误处理
- 优化: 配置界面显示
v1.3.0
- 重构: 代码架构,提高了稳定性
- 新增: 网络同步框架(实验性)
- 改进: 预设共享检测机制
v1.2.2
- 更新: 更新文档说明
v1.2.0
- 新增: 现金袋随机化开关配置
- 优化: 黑白名单系统关键词默认留空
- 简化: 高级设置配置选项
v1.1.0
- 新增: 完整的黑白名单系统,支持关键词匹配
- 改进: 预设共享检测和修复机制
- 新增: 更多调试日志选项
v1.0.0
- 初始版本发布: 实现抓取时随机化贵重物品重量和价格的核心功能