Files
90CNServer/pvf/config/rendering.json
T
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

439 lines
8.6 KiB
JSON

{
"version": 1,
"description": "pvfine built-in script rendering rules",
"rules": [
{
"id": "file.lst",
"match": {
"extensions": [
".lst"
]
},
"target": {
"kind": "file"
},
"format": {
"tokensPerLine": 2
}
},
{
"id": "section.world-drop",
"match": {},
"target": {
"kind": "section",
"section": "world drop"
},
"format": {
"tokensPerLine": 2,
"standaloneValues": [
-1
]
}
},
{
"id": "section.independent-drop",
"match": {},
"target": {
"kind": "section",
"section": "independent drop"
},
"format": {
"tokensPerLine": 17,
"nestedSections": [
"list"
]
}
},
{
"id": "section.list",
"match": {},
"target": {
"kind": "section",
"section": "list"
},
"format": {
"tokensPerLine": 2
}
},
{
"id": "section.skill-data-up",
"match": {},
"target": {
"kind": "section",
"section": "skill data up"
},
"format": {
"tokensPerLine": 7
}
},
{
"id": "section.skill-levelup",
"match": {},
"target": {
"kind": "section",
"section": "skill levelup"
},
"format": {
"tokensPerLine": 3
}
},
{
"id": "section.skill",
"match": {},
"target": {
"kind": "section",
"section": "skill"
},
"format": {
"tokensPerLine": 7,
"offset": 1
}
},
{
"id": "section.level info",
"match": {},
"target": {
"kind": "section",
"section": "level info"
},
"format": {
"tokensPerLine": 1,
"offset": 1,
"tokensPerLineIndex": 0
}
},
{
"id": "section.input item",
"match": {},
"target": {
"kind": "section",
"section": "input item"
},
"format": {
"tokensPerLine": 2
}
},
{
"id": "section.output item",
"match": {},
"target": {
"kind": "section",
"section": "output item"
},
"format": {
"tokensPerLine": 2
}
},
{
"id": "section.basis of rarity dicision.hell",
"match": {
"glob": "etc/itemdropinfo_monster_hell.etc"
},
"target": {
"kind": "section",
"section": "basis of rarity dicision"
},
"format": {
"tokensPerLine": 7,
"tokensPerLineByVersion": {
"90US": 7,
"90CN": 7,
"TW": 6,
"100CN": 8,
"110US": 9,
"115CN": 9
},
"offset": 1
}
},
{
"id": "section.basis of rarity dicision",
"match": {},
"target": {
"kind": "section",
"section": "basis of rarity dicision"
},
"format": {
"tokensPerLine": 7,
"tokensPerLineByVersion": {
"90US": 7,
"90CN": 7,
"TW": 6,
"100CN": 8,
"110US": 9,
"115CN": 9
}
}
},
{
"id": "section.equipment part set",
"match": {},
"target": {
"kind": "section",
"section": "equipment part set"
},
"format": {
"tokensPerLine": 4,
"offset": 3
}
},
{
"id": "etc.upgrade.table",
"match": {
"glob": "etc/upgrade.etc"
},
"target": {
"kind": "section",
"section": "table"
},
"format": {
"tokensPerLine": 17
}
},
{
"id": "etc.upgrade.table-type",
"match": {
"glob": "etc/upgrade.etc"
},
"target": {
"kind": "section",
"section": "table type"
},
"format": {
"tokensPerLine": 24,
"offset": 1
}
},
{
"id": "etc.upgrade.safe-upgrade",
"match": {
"glob": "etc/upgrade.etc"
},
"target": {
"kind": "section",
"section": "safe upgrade"
},
"format": {
"tokensPerLine": 8
}
},
{
"id": "etc.amplify.table",
"match": {
"glob": "etc/amplifyupgrade.etc"
},
"target": {
"kind": "section",
"section": "table"
},
"format": {
"tokensPerLine": 17
}
},
{
"id": "etc.amplify.table-type",
"match": {
"glob": "etc/amplifyupgrade.etc"
},
"target": {
"kind": "section",
"section": "table type"
},
"format": {
"tokensPerLine": 24,
"offset": 1
}
},
{
"id": "etc.amplify.safe-upgrade",
"match": {
"glob": "etc/amplifyupgrade.etc"
},
"target": {
"kind": "section",
"section": "safe upgrade"
},
"format": {
"tokensPerLine": 8
}
},
{
"id": "etc.forge.table",
"match": {
"glob": "etc/upgrade_separate.etc"
},
"target": {
"kind": "section",
"section": "table"
},
"format": {
"tokensPerLine": 4,
"tokensPerLineByVersion": {
"115CN": 6
}
}
},
{
"id": "etc.forge.item-weights-by-grade",
"match": {
"glob": "etc/upgrade_separate.etc"
},
"target": {
"kind": "section",
"section": "item weights by grade"
},
"format": {
"tokensPerLine": 3
}
},
{
"id": "etc.forge.item-weights-by-grade-100lv",
"match": {
"glob": "etc/upgrade_separate.etc"
},
"target": {
"kind": "section",
"section": "item weights by grade 100lv"
},
"format": {
"tokensPerLine": 3
}
},
{
"id": "etc.forge.item-weights-by-rarity",
"match": {
"glob": "etc/upgrade_separate.etc"
},
"target": {
"kind": "section",
"section": "item weights by rarity"
},
"format": {
"tokensPerLine": 9
}
},
{
"id": "etc.forge.item-weights-by-rarity-100lv",
"match": {
"glob": "etc/upgrade_separate.etc"
},
"target": {
"kind": "section",
"section": "item weights by rarity 100lv"
},
"format": {
"tokensPerLine": 9
}
},
{
"id": "etc.forge.stat-weights-by-rarity",
"match": {
"glob": "etc/upgrade_separate.etc"
},
"target": {
"kind": "section",
"section": "stat weights by rarity"
},
"format": {
"tokensPerLine": 9
}
},
{
"id": "etc.forge.separate-upgrade-effect",
"match": {
"glob": "etc/upgrade_separate.etc"
},
"target": {
"kind": "section",
"section": "separate upgrade effect"
},
"format": {
"tokensPerLine": 6
}
},
{
"id": "etc.forge.activestatus-upgrade-dungeon",
"match": {
"glob": "etc/upgrade_separate.etc"
},
"target": {
"kind": "section",
"section": "activestatus upgrade dungeon"
},
"format": {
"tokensPerLine": 1
}
},
{
"id": "etc.forge.activestatus-upgrade-pvp",
"match": {
"glob": "etc/upgrade_separate.etc"
},
"target": {
"kind": "section",
"section": "activestatus upgrade pvp"
},
"format": {
"tokensPerLine": 1
}
},
{
"id": "etc.forge.anti-evil-upgrade",
"match": {
"glob": "etc/upgrade_separate.etc"
},
"target": {
"kind": "section",
"section": "anti evil upgrade"
},
"format": {
"tokensPerLine": 8
}
},
{
"id": "etc.forge.genuine-buffer-option-apply-weapon",
"match": {
"glob": "etc/upgrade_separate.etc"
},
"target": {
"kind": "section",
"section": "genuine buffer option apply weapon"
},
"format": {
"tokensPerLine": 9
}
},
{
"id": "user.rule.aaf15bba-9653-41ae-b16c-17f4fb640e66",
"match": {
"extensions": [
".stk"
]
},
"target": {
"kind": "section",
"section": "cera"
},
"format": {
"tokensPerLine": 3,
"offset": 1
}
},
{
"id": "user.rule.1d7969fe-999b-4129-87bd-161e033bbcb0",
"match": {
"extensions": [
".vm"
]
},
"target": {
"kind": "section",
"section": "output"
},
"format": {
"tokensPerLine": 4
}
}
]
}