Please disclose if any significant portion of your mod was created using AI tools by adding the 'AI Generated' category. Failing to do so may result in the mod being removed from Thunderstore.
| Date uploaded | 5 months ago |
| Version | 1.5.0 |
| Download link | cn_xc-RandomValueMod-1.5.0.zip |
| Downloads | 42 |
| Dependency string | cn_xc-RandomValueMod-1.5.0 |
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.2100cn_xc-RandomValueLib
已支持至 REPO v0.4.4 版本,交流QQ群573485890, 核心随机价格库,提供确定性随机算法、黑白名单、现金袋保护等规则,供其他模组调用。
Preferred version: 1.0.5README
随机贵重物品的价格 🎮
注:本模组网络同步代码和说明文件由 DeepSeek AI 辅助生成
灵感来源:
- 随机化的想法最初来源于 RandomWeightMod
- 配置同步功能基于 AdvancedREPO.Config 实现
一个为《REPO》游戏设计的独立模组,专注于在第一次抓取贵重物品时随机化其价格,增加游戏的变数和重玩价值!
作者: dyxc666
版本: v1.5.0
最后更新: 2026年2月23日
📢 关于旧版本
重要:本模组是全新发布的独立模组,与先前同样由我发布的
RandomWeightAndValueMod无关。
- 旧版链接: RandomWeightAndValueMod v1.3.9(已弃用)
- 弃用原因: 旧版同时包含重量与价格随机化,因重量修改涉及复杂的物理引擎,维护成本高且易引发兼容性问题。
- 迁移建议: 所有旧版用户请完全卸载旧模组,并使用此全新模组以获得更稳定、更专注的价格随机化体验。
✨ 功能特点
- 🎲 抓取时随机化:物品在被玩家抓取时才触发价格随机化,提供真正的“惊喜”体验,每个物品仅生效一次。
- ⚙️ 高度可配置:价格随机变化范围可自由调节(0.1倍~10.0倍),满足不同难度需求。
- 🛡️ 黑白名单系统:通过关键词精确控制哪些物品被随机化,支持黑/白名单模式。
- 💰 现金袋保护:默认不随机化提取点奖励的现金袋,可通过配置开关启用。
- 🌐 主机强制统一配置:所有玩家的配置(倍率、黑白名单等)由主机自动同步,确保多人游戏中体验完全一致。
- 🚀 零网络开销:基于“确定性随机”算法,每个客户端独立计算相同价格,无需传输价格数值。
- 📋 详细日志:可配置的详细日志输出,便于调试和问题排查。
📥 安装方法
自动安装(推荐)
- 安装 Thunderstore Mod Manager 或 r2modman。
- 在应用内搜索 “随机贵重物品的价格” 并点击安装。
- 安装程序会自动处理所有依赖项(包括
AdvancedREPO.Config)。
手动安装
- 确保已安装 BepInEx 5、REPOConfig 1.2.3+ 和 AdvancedREPO.Config 1.0.2+。
- 下载最新版本的模组压缩包。
- 将其解压到《REPO》的游戏根目录(即包含
BepInEx文件夹的目录)。
⚙️ 配置说明
所有设置均可通过 REPOConfig 图形界面 调整:
- 确保已安装 REPOConfig 模组。
- 进入游戏,打开 REPOConfig 主菜单。
- 在左侧列表中找到并点击 “随机贵重物品的价格”。
- 右侧将显示所有可调节项。
主要配置项说明
| 分类 | 配置项 | 说明与默认值 |
|---|---|---|
| 基础设置 | 随机化物品价格 |
是否随机化贵重物品的价格 (默认: true) |
| 价格设置 | 最小价格倍率 |
价格的最小倍率 (默认: 0.8,即原价的80%) |
最大价格倍率 |
价格的最大倍率 (默认: 2.5,即原价的250%) |
|
| 黑白名单 | 启用黑名单模式 |
启用黑名单,匹配的物品将不被随机化 (默认: true) |
黑名单关键词 |
逗号分隔的关键词列表,留空表示无黑名单 (默认: 空) |
|
启用白名单模式 |
启用白名单,只有匹配白名单的物品才会被随机化 (默认: false) |
|
白名单关键词 |
逗号分隔的关键词列表,留空表示所有物品 (默认: 空) |
|
| 特殊排除规则 | 现金袋随机化 |
如果为true,则现金袋也会被随机化 (默认: false) |
排除高价物品 |
不随机化价格超过阈值的物品 (默认: false) |
|
高价物品阈值 |
价格超过此值的物品不随机化 (默认: 50000) |
|
| 调试设置 | 详细日志输出 |
输出每个物品修改前后的具体数值 (默认: false) |
强制刷新UI |
尝试强制刷新UI显示 (默认: true) |
注意:网络相关配置(如“启用网络同步”、“网络超时”)已移除,因为配置同步由
AdvancedREPO.Config自动处理,无需手动设置。
🎮 使用指南
单人游戏
- 安装模组后启动游戏。
- 进入任意关卡。
- 抓取贵重物品时会自动随机化其价格,并在控制台显示提示。
- 可在游戏内设置菜单中随时调整配置。
多人游戏
⚠️ 重要提示:主机强制统一配置(v1.5.0)
v1.5.0 版本改用 AdvancedREPO.Config 实现配置同步:
- ✅ 主机修改配置:所有更改会自动通过 RPC 同步给所有客户端。
- ✅ 客户端无需额外设置:客户端的配置会跟随主机更新,无需手动修改。
- ✅ 确定性随机:由于配置统一,每个客户端独立计算的价格完全相同,无需传输价格值,零网络延迟。
- 所有玩家必须安装相同版本的模组(包括
AdvancedREPO.Config前置)。 - 主机启动游戏后,其配置即为全房间的统一配置。
- 客户端在游戏中无法修改同步的配置项(修改后会被主机的值覆盖),确保一致性。
- 抓取物品时,每个客户端独立计算价格,结果自然一致。
配置示例
- 轻度随机化:价格倍率
0.9–1.5(适合新手) - 疯狂模式:价格倍率
0.1–10.0(高风险高回报) - 稳定模式:价格倍率
0.5–2.0(平衡体验)
🔧 故障排除
常见问题
Q:模组没有生效?
A:请按顺序检查:
- 游戏启动时是否有BepInEx控制台窗口?
- 是否安装了所有依赖(REPOConfig、AdvancedREPO.Config)?
- 在REPOConfig菜单中是否已启用“随机化物品价格”?
Q:为什么有些物品没有随机化?
A:可能原因:
- 该物品名称匹配了黑名单关键词。
- 该物品是现金袋,且未开启“现金袋随机化”。
- 该物品已被抓取过(每个物品仅生效一次),重新进入关卡会重置。
Q:多人游戏中配置没有同步?
A:请尝试以下步骤:
- 确认所有玩家安装了
AdvancedREPO.Config(版本 ≥ 1.0.2)。 - 主机修改配置后,等待几秒观察客户端是否变化。
- 检查控制台是否有
AdvancedREPO.Config的同步日志(需开启该模组的调试日志)。 - 如果仍不同步,可能是网络问题,尝试重新加入游戏。
Q:这个模组和之前的 RandomWeightAndValueMod 是什么关系?
A:这是一个完全独立的全新模组,专注于价格随机化,不再包含重量修改功能。旧版模组因技术原因已弃用,强烈建议所有玩家使用此新版。旧版链接:RandomWeightAndValueMod v1.3.9(已标记弃用)。
Q:v1.5.0 主要改进了什么?
A:修复了之前版本中调用 Sync.ApplyLocal() 的访问错误,该行代码已被移除(实际为多余调用)。同时将配置系统迁移至 AdvancedREPO.Config,实现了主机强制统一配置,并移除了所有价格同步的网络代码,大幅简化模组结构,提高多人游戏的一致性和稳定性。
📜 更新日志摘要
| 版本 | 重点内容 |
|---|---|
| v1.5.0 | 修复访问错误:移除多余 Sync.ApplyLocal() 调用,完善配置同步机制 |
| v1.4.9 | 重构配置同步:改用 AdvancedREPO.Config,主机统一配置,移除价格网络传输 |
| v1.4.8 | 增强网络同步:预加载组件、超时回退、更详细的调试日志 |
| v1.4.6 | 修复RPC参数错误,多人游戏同步基础功能可用 |
| v1.4.2 | 核心机制改为“抓取时随机化” |
| v1.4.0 | 初始版本发布,专注价格随机化 |
完整更新日志请参阅随模组附带的 CHANGELOG.md 文件。
说明文件由DeepSeekAI辅助生成,如有问题欢迎反馈。
CHANGELOG
更新日志
[2.0.8] - 2026-05-25
适配repo 0.4.4。
[2.0.7] - 2026-05-23
适配repo 0.4.3。
###[2.0.6]
- 更新:更新文档说明。
[2.0.5] - 2026-05-02
回退
- 回退 WZC_UI 联动功能,因该模组日志刷屏,无法获取有效调试信息。
- 功能恢复至 v2.0.4。
说明
- WZC_UI 反射联动技术验证(v2.0.6)已完成,方案可行。
- 因联动模组自身问题,该功能暂时搁置,待其修复后重新评估。
[2.0.4] - 2026-05-02
新增
- 单机日志中显示玩家名字,方便确认模组是否生效。
[2.0.3] - 2026-05-02
新增
- 详细日志中输出抓取物品的玩家名字。
优化
- 日志中的物品名称去除 "Valuable " 前缀和 "(Clone)" 后缀。
[2.0.2] - 2026-05-02
修复
- 修复单机模式下无法触发价格随机的问题。
新增
- 单机模式下使用 InstanceID 替代 ViewID,避免去重冲突。
OnJoinedRoom时自动清空缓存。
[2.0.1] - 2026-05-02
文档
- README 添加 QQ 群信息。
[2.0.0] - 2026-04-17
🚀 重大更新:网络同步彻底重写
- 全新的房主权威同步模式
- 移除旧版
NetSync组件,不再干扰房间初始化。 - 价格由房主统一计算并通过 RPC 广播,确保所有客户端一致。
- 配置通过 Photon 房间自定义属性同步,新玩家自动获取。
- 移除旧版
- 新玩家中途加入自动同步
- 房主会向新加入的玩家补发所有已修改物品的价格。
- 详细日志输出
- 开启
详细日志后,控制台会显示物品名称、原价、新价、倍率。
- 开启
- 稳定性提升
- 修复旧版本导致联机房间卡死的问题。
- 修复客户端与房主价格不一致的问题。
- 延迟初始化 RPC 中继,避免主菜单阶段报错。
v1.9.1 (发布修正)
- 发布: 补传版本,实际代码与 v1.9.0 完全相同。之前忘了上传,现在同步。
v1.9.0 (核心库重构)
- 重构:将核心随机算法、配置模型和规则判断提取为独立库
RandomValueLib,简化主模组代码。 - 优化:主模组现在只负责 Harmony 补丁、网络同步、配置绑定和 UI 相关逻辑。
- 依赖:新增对
cn_xc-RandomValueLib-1.0.0的依赖。 - 兼容性:完全兼容 v1.8.3 所有功能,运行逻辑不变。
v1.8.3 (代码优化与修复)
- 优化:调整网络组件初始化时机,避免在非必要情况下过早创建 PhotonView。
- 修复:解决某些情况下因网络组件未就绪导致的潜在 RPC 调用问题。
- 兼容性:完全兼容 v1.8.2,功能逻辑不变。
v1.8.2 (多人同步 + 局间随机种子)
- 核心新增:多人游戏支持!所有玩家的价格随机化结果一致,配置由主机强制统一。
- 局间变化:每局开始时会根据关卡种子混入随机计算,同一物品在不同关卡中价格倍率不同,增加重复可玩性。
- 同步机制:
- 主机在关卡开始时通过 RPC 广播配置(倍率、黑白名单等)和种子。
- 客户端收到后覆盖本地配置,确保计算一致性。
- 新玩家中途加入时会自动收到当前配置和种子。
- 性能优化:沿用确定性随机算法,无需传输价格值,零网络开销。
- 兼容性:完全兼容 v1.8.1 的单人模式;多人游戏需所有玩家安装此模组。
v1.8.1 (文档更新)
- 文档:在 README 中新增“推荐搭配的模组”章节,列出用户收集整理的可一起使用的 100+ 款模组,并按主题分类。
- 兼容性:在功能特点中明确说明与 Empress Currency 同时使用互不影响。
v1.8.0 (最终稳定版 - 独立重构)
- 核心基线:基于 v1.7.0 的稳定架构,彻底移除所有外部依赖(AdvancedREPO.Config 及其 Reloaded 版本)。
- 抓取时机:回归 抓取时随机化,采用验证成功的补丁签名
GrabStarted(PhysGrabber player),确保价格稳定生效。 - 配置系统:改用 BepInEx 原生配置,支持 REPOConfig 游戏内编辑,无需额外库。
- 性能优化:保留反射缓存机制,加入
modifiedItemIDs确保每个物品只随机一次。 - 代码精简:吸收 v1.7.x 实验分支的经验,选择最简洁稳定的方案。
v1.7.x (实验分支 - 未公开发布)
这一系列版本记录了从 v1.7.0 到 v1.8.0 之间的技术探索,均未公开发布:
- v1.7.3:尝试公共化访问字段,因 DLL 兼容性问题放弃。
- v1.7.4:回退到反射,继续使用 AdvancedREPO.Config Reloaded。
- v1.7.5:尝试将配置同步代码内嵌到模组中。
- v1.7.6:尝试生成时随机化(Awake),被游戏覆盖。
- v1.7.7:尝试生成时随机化延迟帧(Start),效果不稳定。
- v1.7.8:回归抓取时随机化,修正补丁签名,验证成功。
- v1.7.9:优化抓取逻辑,为最终版做准备。
v1.7.2 (文档调整)
- 新增:将抖音群链接提前至 README 靠前位置,并添加“我是代码新手”声明。
- 文档:优化文档结构,提高可读性。
- 兼容性:完全兼容 v1.7.1,未改动任何功能代码。
v1.7.1 (文档调整)
- 更新:更新文档说明,仅文档调整,功能代码与 v1.7.0 完全相同。
v1.7.0 (新增公开 API)
- 新增:公开 API
RandomValueAPI,包含OnItemRandomized事件和GetItemPrice方法。 - 优化:内部代码整理,原有功能完全不变。
- 兼容性:完全兼容 v1.6.3 的所有功能。
v1.6.3
- 移除:不再依赖 REPOConfig,配置同步仅通过 AdvancedREPO.Config 实现。
- 恢复:基于 v1.5.9 稳定版本,确保所有核心功能正常运作。
- 优化:简化依赖列表,降低玩家安装门槛。
v1.6.2 (内部测试版)
- 移除:移除对 REPOConfig 的依赖(未公开发布,仅内部测试)。
v1.6.1 (内部测试版)
- 调整:对颜色反馈代码进行优化(未公开发布,仅内部测试)。
v1.6.0 (内部测试版)
- 新增:价格颜色反馈功能(未公开发布,仅内部测试)。
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。
v1.5.5
- 增强:模组启动时打印当前倍率值,便于确认配置加载。
- 调试:在价格计算函数中添加日志输出(仅在详细日志开启时显示)。
v1.5.4
- 修复:将所有布尔配置项的验证方式从
.Acceptable()改为.Range(false, true)。
v1.5.3
- 修复:为所有布尔配置项添加
.Acceptable(new bool[] { true, false })尝试解决范围验证错误。
v1.5.2
- 更新:更新文档说明。
v1.5.1
- 修复:在
CreateConfigEntries中为每个配置项添加.File("RandomValueMod.cfg")调用,解决空引用异常。
v1.5.0
- 修复:移除了不可访问的
Sync.ApplyLocal()调用,解决编译错误。 - 完善:确保配置同步机制正常工作,所有配置项由 AdvancedREPO.Config 自动管理。
- 版本:提升主版本号至 1.5.0,标志着配置同步架构的成熟稳定。
v1.4.9
- 重大重构:将配置系统迁移至 AdvancedREPO.Config,实现主机强制统一配置。
- 移除:所有手动编写的价格同步网络代码(RPC、超时回退等)。
- 优化:基于“确定性随机”算法,客户端独立计算相同价格,零延迟。
v1.4.8
- 增强:网络同步组件在物品生成时立即添加,确保 PhotonView 及时注册。
- 新增:客户端网络请求超时机制,默认 2 秒后回退到本地计算。
v1.4.7
- 更新:更新文档说明。
v1.4.6
- 修复:修复了 Photon RPC 参数错误,解决多人游戏同步问题。
v1.4.5
- 文档更新:更新 README,添加指向旧版(v1.3.9,含重量随机化)的链接。
- 状态声明:明确声明旧版软件包已被标记为已弃用。
v1.4.4
- 多人游戏优化:改进网络同步机制,添加客户端请求跟踪和重试机制。
- 性能优化:网络请求清理机制,定期清理过期请求。
v1.4.3
- 重大优化:大幅减少 Harmony 补丁数量,只补丁关键的抓取相关方法。
- 性能修复:解决了游戏卡顿问题。
v1.4.2
- 功能重构:将随机化时机从物品生成时改为抓取时。
- 新增功能:抓取时触发价格随机化。
v1.4.1
- 修复:添加详细调试日志,帮助排查抓取物品无反应的问题。
v1.4.0
- 重构:移除所有重量随机化相关代码,专注于价格随机化。
- 说明:重量修改易引发兼容性问题,故删除。
v1.3.13
- 修复:静态类中的 Logger 调用错误,解决编译错误。
v1.3.12
- 改进:网络同步代码,修复了双向同步的逻辑问题。
v1.3.11
- 改进:网络同步组件的双向网络同步机制。
v1.3.10
- 修复:主机与客户端单向同步问题,实现双向网络同步。
v1.3.9
- 更新:更新文档说明。
v1.3.8
- 更新:更新文档说明,增加单独的更新日志。
v1.3.7
- 更新:更新文档说明,增加未来规划。
v1.3.6
- 重构:移除所有重量和价格的默认值设置,完全尊重游戏原始数据。
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
- 初始版本发布:实现抓取时随机化贵重物品重量和价格的核心功能。