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

37 lines
3.4 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.
# 就地编辑标注与渲染规则
右键脚本中的 Section 标签,或资源管理器中的单个文件、目录,选择菜单末尾的“标注规则…”或“渲染规则…”。多选不提供规则编辑;开始、结束标签定位到同名 Section,字符串和注释中的标签不会触发菜单。
规则列表显示匹配范围、来源、用户覆盖和屏蔽状态。渲染规则还会标明当前文件实际选中的规则;标注的“匹配生效”表示规则进入当前文件、Section 的标注范围,具体 token 是否存在仍由脚本内容决定。高级 JSON 只编辑当前规则,与表单共用 Go 校验。
## 默认范围
- Section:当前文件后缀下的同名 Section;没有后缀则使用精确路径。
- 文件标注:该文件的路径说明;文件渲染:该文件的排版。
- 目录标注:仅目录自身;目录渲染:该目录下的后代文件。
可以切换到当前文件、同后缀、目录、全局或自定义 glob。选择更大的范围会影响其他匹配文件;不同 ID 的规则继续按现有标注叠加、渲染具体度与顺序规则处理。
## 开发与生产存储
开发环境由 Go 的 `!production` 构建标签决定。新增手写标注写入 `config/annotations.json`,新增渲染写入 `config/rendering.json`。编辑、删除已有项写回其实际来源,包括 `paths.json`、`sections.json`。开发环境找不到源目录时拒绝保存,不改写用户配置。
生产环境在 `os.UserConfigDir()/pvfine/` 下维护:
- `annotations.user.json`:`version: 1`、`rules`、可选的 `fields`、`disabledIds`、`disabledFieldIds` 与 `fieldSuppressions`。
- `rendering.user.json`:`version: 1`、`rules` 与可选的 `disabledIds`。
内置项先组装,再应用屏蔽和用户覆盖。同 ID 整条替换并保留原位置,新增用户项追加末尾。编辑内置项创建用户覆盖;删除覆盖恢复内置项;屏蔽内置项使其停止参与匹配;删除用户新增项直接移除。
共享字段修改会影响关联预览和显式引用规则,操作前显示提示。生产环境屏蔽字段会同步停用依赖规则,恢复字段只撤销该字段导致的屏蔽,保留独立规则屏蔽。删除用户新增字段或开发环境字段会同时删除同来源的引用规则;开发环境若存在其他来源的引用,需要先解除引用,以免产生无效配置。关联列表定义不提供编辑入口。
首次生产加载时,如果用户增量文件不存在,会将旧运行时镜像中新增或不同于当前内置的规则、字段迁移为用户项;缺失项不视为删除。旧文件保留,旧关联列表的差异作为只读兼容数据保存。增量文件建立后,旧镜像不会再次自动导入。独立标注编辑器继续编辑原有源配置格式。
## 保存与错误处理
保存前检查配置修订号、校验并编译合并结果,再原子替换文件并激活新引擎。配置被外部修改时拒绝保存;重新加载会读取最新规则,需要确认放弃尚未保存的规则输入。
保存后更新资源树、脚本标注和相关预览。渲染刷新保留未保存的脚本文本,并根据当前草稿重新计算标注位置,不把草稿写入归档。
损坏的用户配置会在启动时显示错误并回退到内置规则,原文件保留;手动重载失败保持当前引擎。损坏配置修复之前禁止通过编辑器覆盖保存。真实 PVF 回归通过 `PVF_TESTFILE` 启用。