Files
90CNServer/pvf/docs/强化增幅批量编辑.md
hanfuit 645b64fe21 DNF90 服务端与启动器完整源码(含 GM 工具功能增强)
服务端(Go):
- GM 塞背包/带属性装备发放:在线角色推送 op14 增量物品行,背包实时刷新,无需回角色选择界面
- GM 改金币/改等级:去掉在线拒绝,落库后推送 op14 钱包/op37 等级状态,在线实时刷新
- 等级端点统一切换到新版 GMSetCharacterLevel(自带在线刷新)
- 无限/锁死疲劳模式 + 燃烧疲劳:每房间消耗 2 点、打怪与通关经验双倍
- 燃烧疲劳开关时给所有在线角色推送系统提示(op12 mode 0)
- 深渊史诗掉率:GM 全局倍率 + 城镇增益药剂窗口倍率,真实接入掉落结算

启动器(Python/JS):
- 标题栏自绘、窗口 1204x717、禁止拖拽改大小、仅最小化/关闭
- GM 工具:疲劳与燃烧、深渊史诗掉率、拍卖行上架(单一定价对齐)
- 拍卖行上架前端对齐服务端单一价格语义,修复 400 报错
2026-11-04 14:31:55 +08:00

38 lines
3.1 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 强化与增幅批量编辑
在文件 GUI 或工具菜单打开强化/增幅概率,点击“批量设置”。用双端滑块或起止等级输入框选择范围,勾选要更改的项目:成功率、失败操作及降级等级、消耗道具、消耗数量。可同时修改多项,点击“应用到 N 个等级”统一更新草稿,再保存到工作区。
成功率和失败处理仅作用于当前选中的武器或防具;材料 ID 和消耗数量由两类共用。选择“不处理”或“损坏”时,当前装备类型的降级参数自动清零。
## 按等级计算
在 JavaScript 脚本工作区使用 `PVFFile.editUpgrade(options)`。强化文件自动选择 `normal` 表,增幅文件自动选择 `amplify` 表。`equipment` 为 `weapon`(默认)或 `armor`;旧版 17 项表不提供独立防具数据。
```js
const file = pvf.find("etc/upgrade.etc");
if (!file) throw new Error("未找到强化文件");
const count = file.editUpgrade({
equipment: "weapon",
fromLevel: 1,
toLevel: 20,
// level 为目标强化等级;current 为当前成功率(0~100)。
successRate: (level, current) => Math.max(10, 100 - level * 4),
// current 为当前消耗数量,计算结果必须是非负 32 位整数。
costCount: (level, current) => level * 10
});
pvf.log("已计算", count, "个等级");
```
`successRate` 和 `costCount` 也可以直接传数值;省略其中一项时保持该项不变。`fromLevel` 默认 1,`toLevel` 默认表内最后一个可编辑等级。新格式支持全部等级,旧版保留 +1~+31 的编辑范围。
成功率保留到 0.001%,按 `失败值 = round((100 - 成功率) × 1000)` 存储。所有回调完成且返回值校验通过后才写入一次事务;无效结果会拒绝该次编辑。回调应只做计算,勿在回调中修改文件。脚本运行后通过现有预览/应用流程写入工作区,再保存 PVF。
## 安全强化 / 安全增幅编辑
含 `[safe upgrade]` 的强化文件会增加“安全强化”页签,增幅文件则显示“安全增幅”。当前按每条 8 个整数解析,可逐条或按等级范围批量编辑,保留原始值与位置。该 section 的格式异常单独显示,不阻断普通强化编辑。
样例含 12 条记录,首列原始值为 0~11,界面加 1 显示为等级 +1~+12;编辑时保留原始等级值。字段 2 为失败率,分母为 100000,界面按 `失败率 / 1000` 显示百分比,例如 94000 显示为 94%(基础成功率为 6%)。字段 3 为失败补正,暂保留原始值;字段 5/6/7 分别为材料 ID、数量与金币消耗。字段 1、4 的含义及补正单位仍待确认:这两列不显示且保持原值,失败补正按原始整数编辑。
安全强化的批量设置聚合失败率、失败补正、材料 ID、消耗数量和金币消耗,使用双端滑块或起止输入框选择显示等级范围,支持从 +1 开始。只更新勾选的字段和范围内的记录。失败率输入 0~100%,保存时乘以 1000 并取整。应用后更新草稿,点击“保存安全强化”或“保存安全增幅”写入工作区,再保存 PVF。