Files
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

1.8 KiB

name, description
name description
pvfine-skill-values 通过 pvfine MCP 读取和修改 .skl 技能数值,区分地下城与 PVP、静态数据与等级成长参数。

技能数值

用路径搜索 skill/**/*.skl 或实际目录,并通过名称、职业、lst 与标注定位技能;不要直接把技能 ID 当作文件名。先读取原文件,明确地下城 [dungeon] 或 [pvp],以及目标等级区间与参数含义。二者独立,未要求时不同时改动。

  • 模式中的 [static data] 是平铺静态参数;按标注或说明模板定位零基索引,不能把第一个数统一当作伤害。
  • [level info] 第一项是每级列宽 W,必须为正整数;余下数值数量必须能被 W 整除。第 L 级、第 C 列(L 从 1、C 从 0)对应索引 1+(L-1)*W+C。保留宽度项和未选择的等级/列。
  • [level property] 提供说明模板及参数绑定。先解析字符串引用,再核对占位符与 static/level 数据的对应关系;模板可能在模式内,也可能共享。不要把绑定索引、列宽和说明中的展示数字当成可调技能参数。
  • 重复 static data/level info、非数值、宽度异常时停止自动修改该区域,先解释实际结构。不要默取第一个重复 section。

使用当前 script types 声明选择嵌套 section,读取 values/get 记录旧值,按确定的索引 set,然后 file.write(doc)。保留 integer/float 类型:整数范围和原有小数含义都需要核对。只有明确知道含义才换算百分比、毫秒或倍率;无法判断时用原始值说明并询问。

预览应列出技能路径、模式、等级区间、列/字段、旧值和新值;应用后重新读取,确认另一模式与列宽未被修改。

操作前阅读 MCP 操作流程,按其查询、验证、预览、应用和保存规则执行。