You are viewing a potentially older version of this package. View all versions.
cn_xc-RandomValueMod-1.4.5 icon

RandomValueMod

随机化贵重物品价格,增加游戏变数和重玩价值。可配置黑白名单、现金袋保护等。

By cn_xc
Date uploaded 5 months ago
Version 1.4.5
Download link cn_xc-RandomValueMod-1.4.5.zip
Downloads 224
Dependency string cn_xc-RandomValueMod-1.4.5

This mod requires the following mods to function

BepInEx-BepInExPack-5.4.2100 icon
BepInEx-BepInExPack

BepInEx pack for Mono Unity games. Preconfigured and ready to use.

Preferred version: 5.4.2100
cn_xc-RandomValueLib-1.0.5 icon
cn_xc-RandomValueLib

已支持至 REPO v0.4.4 版本,交流QQ群573485890, 核心随机价格库,提供确定性随机算法、黑白名单、现金袋保护等规则,供其他模组调用。

Preferred version: 1.0.5

README

RandomValueMod 🎮

注:本模组网络同步代码和说明文件由 DeepSeek AI 辅助生成

灵感来源

一个为《REPO》游戏设计的模组,可在你第一次抓取贵重物品时,随机化其价格,增加游戏的变数和重玩价值!

作者: dyxc666
版本: v1.4.5
最后更新: 2026年2月4日


🚀 重要版本变更

v1.4.0:移除重量随机化功能 ⚖️

在 v1.4.0 版本中,我们做出了一个重要的架构调整:移除了重量随机化功能。这是基于以下原因:

  1. 技术稳定性优先

    • 重量修改涉及复杂的物理引擎和预设系统,容易引发不可预测的运行时错误
    • 重量相关的反射代码在多版本游戏更新中频繁出现兼容性问题
    • 网络同步中重量数据的稳定性难以保证
  2. 专注核心体验

    • 价格随机化是玩家更关注的游戏机制
    • 简化代码结构,提升模组整体稳定性
    • 减少配置选项的复杂性,让用户更易理解和配置
  3. 维护性考虑

    • 重量相关代码占据了大量维护时间
    • 每次游戏更新都可能需要重新适配物理引擎修改
    • 删除重量功能后,模组将更轻量、更稳定

当前模组仅保留价格随机化功能,这仍然是模组的核心价值所在。如果你需要重量随机化,建议使用专门的物理修改模组。

📄 关于旧版本 (v1.3.9)

注意:此前在Thunderstore上发布的 v1.3.9 版本 是一个同时包含重量和价格随机化的旧版模组。

  • 旧版链接: RandomWeightAndValueMod v1.3.9
  • 当前状态: 该软件包已被标记为已弃用 (This package has been marked as deprecated)。建议所有用户迁移至本页面提供的最新版本。

v1.4.0 开始,本模组已移除重量随机化功能,专注于提供更稳定、性能更好的价格随机化体验。


✨ 功能特点

  • 抓取时随机化:物品在被玩家抓取时才触发价格随机化,提供真正的"惊喜"体验
  • 高度可配置:价格的随机变化范围可自由调节(0.1倍 - 10.0倍)
  • 一次生效:每个物品只在第一次被抓取时修改,避免重复随机化
  • 黑白名单系统:通过关键词精确控制哪些物品被随机化
  • 现金袋保护:默认不随机化提取点奖励的现金袋(可通过配置开关控制)
  • 多人游戏同步:完整的网络同步功能,支持主机与客户端双向同步
  • 多人游戏优化:RPC重试机制、客户端请求跟踪、定期清理过期请求
  • 高性能设计:仅补丁关键抓取方法,避免游戏卡顿
  • 详细日志:可配置的详细日志输出,便于调试和问题排查
  • 兼容性优化:解决与REPOConfig的依赖问题,与其他主流模组兼容

📥 安装方法

自动安装(推荐)

  1. 安装 Thunderstore Mod Managerr2modman
  2. 在应用内搜索 RandomValueMod 并点击安装

手动安装

  1. 确保已安装 BepInEx 5REPOConfig 1.2.3+
  2. 下载最新版本的模组
  3. 将其解压到《REPO》的游戏根目录(即包含 BepInEx 文件夹的目录)

⚙️ 配置说明

所有设置均可通过 REPOConfig 图形界面 调整:

  1. 确保已安装 REPOConfig 模组
  2. 进入游戏,打开 REPOConfig 主菜单
  3. 在左侧列表中找到并点击 "随机贵重物品的价格"
  4. 右侧将显示所有可调节项

主要配置项说明:

分类 配置项 说明与默认值
基础设置 随机化物品价格 是否随机化贵重物品的价格 (默认: true)
价格设置 最小价格倍率 价格的最小倍率 (默认: 0.8,即原价的80%)
最大价格倍率 价格的最大倍率 (默认: 2.5,即原价的250%)
黑白名单 启用黑名单模式 启用黑名单,匹配的物品将不被随机化 (默认: true)
黑名单关键词 逗号分隔的关键词列表,留空表示无黑名单 (默认: )
启用白名单模式 启用白名单,只有匹配白名单的物品才会被随机化 (默认: false)
白名单关键词 逗号分隔的关键词列表,留空表示所有物品 (默认: )
特殊排除规则 现金袋随机化 如果为true,则现金袋也会被随机化 (默认: false)
排除高价物品 不随机化价格超过阈值的物品 (默认: false)
高价物品阈值 价格超过此值的物品不随机化 (默认: 50000)
网络设置 启用网络同步 多人游戏同步功能 (默认: true)
网络调试日志 输出网络同步的详细日志 (默认: false)
调试设置 详细日志输出 输出每个物品修改前后的具体数值 (默认: false)
强制刷新UI 尝试强制刷新UI显示 (默认: true)

🎮 使用指南

单人游戏

  1. 安装模组后启动游戏
  2. 进入任意关卡
  3. 抓取贵重物品时会自动随机化其价格
  4. 可在游戏内设置菜单中随时调整配置

多人游戏

⚠️⚠️⚠️ 重要提示:多人游戏测试状态

网络同步功能已在 v1.4.4 版本中优化,但尚未经过多人游戏环境下的全面测试。如果您在多人游戏中遇到同步问题,请:

  • 确保所有玩家使用相同版本模组
  • 尝试关闭网络同步功能进行排查
  • 开启网络调试日志查看具体同步过程
  1. 网络同步功能默认启用,确保所有玩家都安装相同版本的模组
  2. 主机随机化物品后,结果会自动同步给所有客户端玩家
  3. 客户端抓取物品时,会请求主机同步随机化结果
  4. 可在设置中关闭网络同步,各客户端将独立计算随机化结果

配置示例

  1. 轻度随机化:价格倍率 0.9-1.5(适合新手)
  2. 疯狂模式:价格倍率 0.1-10.0(高风险高回报)
  3. 稳定模式:价格倍率 0.5-2.0(平衡体验)

🔧 故障排除

常见问题

Q:模组没有生效 A:检查以下内容:

  1. 确认BepInEx正确加载(游戏启动时有BepInEx控制台)
  2. 确认REPOConfig已安装
  3. 在游戏设置中确认模组已启用

Q:为什么有些物品没有随机化? A:

  1. 检查该物品是否在黑名单中
  2. 现金袋默认受保护,可在设置中关闭此选项
  3. 每个物品仅首次抓取时随机化,重新进入关卡会重置

Q:会和修改器或其他模组冲突吗? A:通常情况下不会。如遇到问题,请尝试调整配置或暂时禁用其他模组进行排查。

Q:如何查看模组是否正常工作? A:在配置中将"启用详细日志"设为true,然后在游戏控制台中查看抓取物品时的修改日志。

Q:多人游戏同步失败怎么办? A:

  1. 检查所有玩家是否都安装了此模组
  2. 确保网络同步设置已启用
  3. 开启网络调试日志查看具体同步过程

Q:为什么移除了重量随机化功能? A:重量随机化涉及复杂的物理引擎修改,在多版本更新中频繁出现问题。为了模组的长期稳定性和维护性,我们决定专注于价格随机化这一核心功能。如果你需要重量修改,建议使用专门的物理修改模组。

Q:多人游戏测试过吗? A:v1.4.4版本的网络同步代码已经过优化,包含重试机制和客户端请求跟踪,但尚未在真实多人游戏环境中进行全面测试。我们建议在多人游戏中使用时开启网络调试日志,以便排查可能的同步问题。


说明文件由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 已回退)。
  • 代码精简:添加辅助方法 CreateBoolConfigCreateFloatConfig

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

  • 初始版本发布:实现抓取时随机化贵重物品重量和价格的核心功能。