Skip to content

EFT 现实主义数值生成器使用指南(v3.5)

字数
1014 字
阅读时间
4 分钟

本文用于快速上手 generate_realism_patch.py,并说明 GUI 调参、输入格式、规则入口与常见问题。

1. 当前工具包含什么

当前工作流由两部分组成:

  • generate_realism_patch.py:主生成器,负责读取 input、应用规则、导出 output
  • rule_range_editor.py:图形化规则编辑器,负责浏览和修改规则范围,并可直接触发生成

当前版本能力:

  • 支持 CURRENT_PATCH、STANDARD、CLONE、ITEMTOCLONE、VIR、TEMPLATE_ID 六类输入
  • 输出按源文件导出,并保留 input 相对目录结构
  • 每次生成前自动清空 output
  • 武器、附件、弹药、装备规则均已独立配置
  • GUI 支持字段解释、自动备份和一键生成补丁

2. 环境要求

  • Python 3.8 及以上
  • 建议使用项目内 .venv
  • Windows 可直接双击 现实主义数值生成器.bat 或 规则范围编辑器.bat

3. 快速开始

方式 A:直接生成

  1. 将待处理 JSON 放入 input/
  2. 双击 现实主义数值生成器.bat 或运行 generate_realism_patch.py
  3. 到 output/ 查看结果

方式 B:先用 GUI 调规则再生成

  1. 双击 规则范围编辑器.bat
  2. 在左侧选择规则类别和档位
  3. 在右侧双击范围值修改
  4. 查看下方字段说明,确认字段语义和方向
  5. 点击“保存全部”,自动备份被修改的规则文件
  6. 点击“生成补丁”,直接输出到 output/

命令行入口:

powershell
.\.venv\Scripts\python.exe generate_realism_patch.py
.\.venv\Scripts\python.exe rule_range_editor.py

4. 输入格式

脚本会自动识别以下格式:

  1. CURRENT_PATCH:包含 $type 与 ItemID,直接以输入对象为基线重算
  2. STANDARD:包含 parentId 或 itemTplToClone
  3. CLONE:包含 clone
  4. ITEMTOCLONE:包含 ItemToClone
  5. VIR:包含 item._id 与 item._parent
  6. TEMPLATE_ID:包含 TemplateID 或模板引用

5. 输出规则

  • 输出根目录固定为 output/
  • 目录结构与 input/ 保持一致
  • 每次生成前会清空 output/

命名规则:

  • 默认输出:原文件名_realism_patch.json
  • 某源文件内 CURRENT_PATCH 占比大于 50%:保持原文件名输出

6. 规则调整入口

如果你只改范围值,优先用 GUI。

如果你要手工改文件,入口通常是:

  • weapon_rule_ranges.py:武器基础区间
  • weapon_refinement_rules.py:武器口径与枪托精修
  • attachment_rule_ranges.py:附件规则
  • ammo_rule_ranges.py:弹药三层规则
  • gear_rule_ranges.py:装备规则
  • generator_static_data.py:静态映射、默认模板、特殊补字段

7. GUI 编辑器当前支持什么

  • 按规则类别和档位浏览范围项
  • 双击修改最小值和最大值
  • 选中字段时查看字段作用、方向提示和规则类别说明
  • 保存时自动备份本次修改涉及的规则文件
  • 直接运行生成器并给出结果摘要

8. 常见问题

输出为空

  • 检查 input/ 是否包含合法 JSON
  • 检查输入是否满足支持格式之一

部分物品被跳过

  • 查看终端中的跳过原因
  • 常见原因是模板缺失、格式不可识别、关键字段不足

调参后不确定有没有生效

  • 先只改一个小区间
  • 重新生成后检查对应 output 文件中的目标字段
  • 必要时再跑审计脚本确认是否落在规则范围内

想回滚误改的规则

  • GUI 保存时会自动在 backups/rule_range_editor/时间戳 下创建备份
  • 直接从对应备份目录恢复即可

9. 推荐维护顺序

  1. 先用 GUI 或规则文件调整小范围配置
  2. 跑一次生成器
  3. 查看 output/ 对应结果
  4. 跑 audit_output_rule_violations.py
  5. 如涉及输入格式或名称回填,再跑 tests.test_name_extraction
  6. 确认无误后再处理全量输入

贡献者

The avatar of contributor named as SamuelNOTCuriousMeow SamuelNOTCuriousMeow

文件历史

撰写