DNF90 服务端与启动器完整源码(含 GM 工具功能增强)
服务端(Go): - GM 塞背包/带属性装备发放:在线角色推送 op14 增量物品行,背包实时刷新,无需回角色选择界面 - GM 改金币/改等级:去掉在线拒绝,落库后推送 op14 钱包/op37 等级状态,在线实时刷新 - 等级端点统一切换到新版 GMSetCharacterLevel(自带在线刷新) - 无限/锁死疲劳模式 + 燃烧疲劳:每房间消耗 2 点、打怪与通关经验双倍 - 燃烧疲劳开关时给所有在线角色推送系统提示(op12 mode 0) - 深渊史诗掉率:GM 全局倍率 + 城镇增益药剂窗口倍率,真实接入掉落结算 启动器(Python/JS): - 标题栏自绘、窗口 1204x717、禁止拖拽改大小、仅最小化/关闭 - GM 工具:疲劳与燃烧、深渊史诗掉率、拍卖行上架(单一定价对齐) - 拍卖行上架前端对齐服务端单一价格语义,修复 400 报错
This commit is contained in:
commit
645b64fe21
4388 files changed
+1405457
No files matched your search
@@ -0,0 +1,37 @@
|
||||
# 强化与增幅批量编辑
|
||||
|
||||
在文件 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。
|
||||
Reference in new issue
Block a user