{ "version": 1, "description": "pvfine 内置 section 标注(按扩展名的 pvfUtility PvfComments 原始注释,含官方示例)", "rules": [ { "id": "act.section.abs-casting.16ggm7", "match": { "extensions": [ ".act" ] }, "target": { "kind": "section", "section": "abs casting" }, "annotation": { "title": "绝对施法", "content": "绝对施法:即使动作改变也持续生效的施法\n\n#### 官方示例: actionsample.act\n\n```pvf\n**[ABS CASTING]** 5000 2 // 即使动作中途改变,施法也会继续,执行施法时当前动作的行为\n```\n\n绝对施法", "type": "text" }, "group": "act" }, { "id": "act.section.accelerate.17qfpw", "match": { "extensions": [ ".act" ] }, "target": { "kind": "section", "section": "accelerate" }, "annotation": { "title": "加速参数", "content": "加速参数:用于调整移动加速度\n\n#### 官方示例: actionsample.act\n\n```pvf\n[ACCELERATE] 100 //指定移动时的加速度。[TIME]和[DISTANCE]同时指定时为匀速运动,无意义。\n```\n\n加速参数", "type": "text" }, "group": "act" }, { "id": "act.section.add-category.bir40k", "match": { "extensions": [ ".act" ] }, "target": { "kind": "section", "section": "add category" }, "annotation": { "title": "添加对象分类(索引或常量)", "content": "添加对象分类:在 [BEHAVIOR] 中为怪物添加分类属性。如用 [FIXTURE] 添加固定属性使怪物停止移动。\n\n#### 官方示例: actionsample.act\n\n```pvf\n//[ADD CATEGORY] 24 //要插入的分类索引 24: fixture\n **[ADD CATEGORY]** [FIXTURE] //要插入的分类 [FIXTURE]\n```\n\n#### 官方示例: actionsamplebytool.act\n\n```pvf\n{exp}插入怪物的相应目录属性{/exp}[ADD CATEGORY]\n\t\t//mkjung 120703 仅使用FIXTURE\n\t\t//{must1}索引{int(0:)}\n\t\t//mkjung 120511 添加。\n```\n\n添加对象分类(索引或常量)", "type": "text" }, "group": "act" }, { "id": "act.section.add-layer-animation.1408pa", "match": { "extensions": [ ".act" ] }, "target": { "kind": "section", "section": "add layer animation" }, "annotation": { "title": "向指定图层添加动画(尚未完全实现/视引擎支持)", "content": "添加图层动画:在指定图层创建并附加动画资源。警告:未完全实现,且需注意移除时机以避免内存问题。\n\n#### 官方示例: actionsample.act\n\n```pvf\n// **[ADD LAYER ANIMATION]** `` 100 // 在某个图层创建并附加该路径的动画。(未实现)\n```\n\n向指定图层添加动画(尚未完全实现/视引擎支持)", "type": "text" }, "group": "act" }, { "id": "act.section.add-layer.1pyc7a", "match": { "extensions": [ ".act" ] }, "target": { "kind": "section", "section": "add layer" }, "annotation": { "title": "向对象添加渲染/逻辑层", "content": "向对象添加渲染/逻辑层:参数为层索引、动画索引、X、Y\n\n#### 官方示例: actionsample.act\n\n```pvf\n//图层添加移除(action文件)\n **[ADD LAYER]** 100 0 0 0 //图层的索引值, [etc motion]中动画的索引值, x坐标, y坐标\n```\n\n向对象添加渲染/逻辑层", "type": "text" }, "group": "act" }, { "id": "act.section.agamemnon-telekinesis.w8a5im", "match": { "extensions": [ ".act" ] }, "target": { "kind": "section", "section": "agamemnon telekinesis" }, "annotation": { "title": "mkjung 120518 添加", "content": "#### 官方示例: actionsamplebytool.act\n\n```pvf\n//mkjung 120518 添加。\n\t\t{must1}[AGAMEMNON TELEKINESIS]\n```\n\nmkjung 120518 添加", "type": "text" }, "group": "act" }, { "id": "act.section.all-active-status-resistance.1nwrwj", "match": { "extensions": [ ".act" ] }, "target": { "kind": "section", "section": "all active status resistance" }, "annotation": { "title": "所有状态异常抗性", "content": "#### 官方示例: actionsample.act\n\n```pvf\n[all active status resistance] [%] 100.0 // 所有状态异常抗性\n```\n\n所有状态异常抗性", "type": "text" }, "group": "act" }, { "id": "act.section.all-alive.1ccm1v", "match": { "extensions": [ ".act" ] }, "target": { "kind": "section", "section": "all alive" }, "annotation": { "title": "检查项", "content": "检查项:队伍所有成员存活时通过\n\n#### 官方示例: actionsample.act\n\n```pvf\n**[CHECK PARTYMEMBERS STATE]**[ALL ALIVE] // 只有全部存活时通过\n```\n\n检查项", "type": "text" }, "group": "act" }, { "id": "act.section.all-element-attack.1l7djb", "match": { "extensions": [ ".act" ] }, "target": { "kind": "section", "section": "all element attack" }, "annotation": { "title": "所有属性强化", "content": "#### 官方示例: actionsample.act\n\n```pvf\n[all element attack] [+] 100.0 // 所有属性强化\n```\n\n所有属性强化", "type": "text" }, "group": "act" }, { "id": "act.section.all-element.1xmdyh", "match": { "extensions": [ ".act" ] }, "target": { "kind": "section", "section": "all element" }, "annotation": { "title": "所有属性抗性", "content": "#### 官方示例: actionsample.act\n\n```pvf\n[all element] [%] 100.0 // 所有属性抗性\n```\n\n所有属性抗性", "type": "text" }, "group": "act" }, { "id": "act.section.all-our-team.1ffc70", "match": { "extensions": [ ".act" ] }, "target": { "kind": "section", "section": "all our team" }, "annotation": { "title": "目标集合", "content": "目标集合:我方全部对象\n\n#### 官方示例: actionsample.act\n\n```pvf\n[ALL OUR TEAM] // 我方队伍\n```\n\n目标集合", "type": "text" }, "group": "act" }, { "id": "act.section.all.5b8o90", "match": { "extensions": [ ".act" ] }, "target": { "kind": "section", "section": "all" }, "annotation": { "title": "目标集合常量", "content": "目标集合常量:所有对象/所有队伍\n\n#### 官方示例: actionsample.act\n\n```pvf\n[ALL] //目标 [MY TEAM], [ENEMY TEAM], [ALL]\n```\n\n#### 官方示例: actionsamplebytool.act\n\n```pvf\n//mkjung 120704 [ALL] 添加。\n\t\t//参考TuningProc.h确认。\n\t\t//RDARScriptAction.cpp 审核。\n\t\t{must1}{exp}全部{/exp}[ALL]\n```\n\n```pvf\n//{must1}{exp}附加效果ID{/exp}{string}\n\t\t//mkjung 120518 修改。\n\t\t{must1}[ALL]\n```\n\n目标集合常量", "type": "text" }, "group": "act" }, { "id": "act.section.allow-fixture.1cify6", "match": { "extensions": [ ".act" ] }, "target": { "kind": "section", "section": "allow fixture" }, "annotation": { "title": "允许固定型怪物被传送/移动(开关)", "content": "允许固定型传送:在 [TELEPORT] 中使用,允许对固定型(FIXTURE 分类)怪物进行传送操作。默认不允许固定型传送。\n\n#### 官方示例: actionsample.act\n\n```pvf\n//[USE MY DIRECTION] // 决定坐标基准 X 轴移动是否依据自己面对的方向。(默认是目标方向)\n //[USE MY BASEPOS] // 指定相对坐标移动是否以自身坐标为准(默认是目标坐标)\n //[NOT USE OBJECT DIRECTION] // 不进行方向修正\n //[USE MAP POS] // 坐标移动使用地图绝对坐标。\n //[NOT USE OBJECT ZPOS] // 不使用基准对象的 Z 位置\n //[MOVE ME] // 自己移动到该坐标基准处\n //[MOVE TARGET] // 目标移动到该坐标基准处。(默认)\n [ALLOW FIXTURE] // 允许固定型怪物传送\n```\n\n#### 官方示例: actionsamplebytool.act\n\n```pvf\n{opt5}{exp}也允许传送固定型怪物{/exp}{etc}[ALLOW FIXTURE]\n\t\t//mkjung 120518 添加\n```\n\n允许固定型怪物被传送/移动(开关)\n\n官方示例:\n#### 官方示例: actionsample.act\n\n```pvf\n{opt5}{exp}也允", "type": "text" }, "group": "act" }, { "id": "act.section.anger-appendage.1dcbd8", "match": { "extensions": [ ".act" ] }, "target": { "kind": "section", "section": "anger appendage" }, "annotation": { "title": "愤怒槽/爆发类附加效果参数(层级/阈值/持续等)", "content": "愤怒槽效果:在 [BEHAVIOR] 中附加愤怒值系统。参数:感知图层索引、超限伤害、感染计量减少时间、受击上升格数、Alpha减少量、附加状态持续时间(毫秒)。\n\n#### 官方示例: actionsample.act\n\n```pvf\n**[ANGER APPENDAGE]** 1 10000 3000 2 20 50000 // 感知图层索引,超过5格时受到的伤害,感染计量减少一格的时间,受击时上升的格数,Alpha减少量,附加状态持续时间\n```\n\n愤怒槽/爆发类附加效果参数(层级/阈值/持续等)", "type": "text" }, "group": "act" }, { "id": "act.section.anger.1b8iq6", "match": { "extensions": [ ".act" ] }, "target": { "kind": "section", "section": "anger" }, "annotation": { "title": "愤怒/怒气相关参数或检查(语义性标签", "content": "愤怒/怒气相关参数或检查(语义性标签,视上下文使用)\n\n#### 官方示例: actionsample.act\n\n```pvf\n**[CHECK SPECIFIC BUFF]** [ANGER] 2 200 // 只有附带愤怒附加状态且第2层索引的Alpha值超过200时通过!\n```\n\n#### 官方示例: actionsamplebytool.act\n\n```pvf\n{must1}{exp}激怒附加效果{/exp}[ANGER]\n\t\t//mkjung 120516 添加。\n```\n\n愤怒/怒气相关参数或检查(语义性标签", "type": "text" }, "group": "act" }, { "id": "act.section.ani-file.zb2rll", "match": { "extensions": [ ".act" ] }, "target": { "kind": "section", "section": "ani file" }, "annotation": { "title": "动画文件路径", "content": "调用路径 //ANI播放图片路径\n\n#### 官方示例: actionsample.act\n\n```pvf\n[ANI FILE] `Monster/NewMonsters/dimensiongate/blackearth/michaela/animation/cutscene.ani`\n```\n\n#### 官方示例: actionsamplebytool.act\n\n```pvf\n[ANI FILE]\n {must1}{string}\n[!ANI FILE]\n```\n\n调用路径\n\n官方示例:\n#### 官方示例: actionsample.act\n\n#### 官方示例: ultimateskillcutscene.etc\n\n```pvf\n[ANI FILE] `etc/UltimateSkillAni/Ghost_Weapon.Ani` //要使用的动画文件\n```", "type": "text" }, "group": "act" }, { "id": "act.section.ani-path.1y1vfa", "match": { "extensions": [ ".act" ] }, "target": { "kind": "section", "section": "ani path" }, "annotation": { "title": "ani路径", "type": "text" }, "group": "act" }, { "id": "act.section.append-delay-time.k7mknz", "match": { "extensions": [ ".act" ] }, "target": { "kind": "section", "section": "append delay time" }, "annotation": { "title": "附加效果延迟时间(毫秒)", "content": "效果延迟时间:在 [SUFFOCATION APPENDAGE] 等附加效果中设置从附加状态开始到实际生效之间的延迟时间(毫秒)。\n\n#### 官方示例: actionsample.act\n\n```pvf\n[APPEND DELAY TIME] 10000 // 开始受到伤害前的延迟时间\n```\n\n附加效果延迟时间(毫秒)", "type": "text" }, "group": "act" }, { "id": "act.section.append-hit.fjxe2s", "match": { "extensions": [ ".act" ] }, "target": { "kind": "section", "section": "append hit" }, "annotation": { "title": "强制添加命中", "content": "强制添加命中:跳过攻击与判定冲突检测直接触发命中\n\n#### 官方示例: actionlibrary/chocking.act\n\n```pvf\n//[FLIP HOLD ANIMATION]\n[APPEND HIT] 23 -1 70\n```\n\n#### 官方示例: actionsample.act\n\n```pvf\n**[APPEND HIT]** 0 0 0 // 无视攻击判定和伤害判定的碰撞,强制攻击。即,该坐标上的对象无故被 HIT。\n```\n\n强制添加命中", "type": "text" }, "group": "act" }, { "id": "act.section.armor-break.12zcge", "match": { "extensions": [ ".act" ] }, "target": { "kind": "section", "section": "armor break" }, "annotation": { "title": "ACTIVESTATUS_ARMOR_BREAK", "content": "#### 官方示例: actionsample.act\n\n```pvf\n**[ACTIVE STATUS]** [armor break] 100 20 10000 15 // 概率, 等级, 持续时间, 耐久度消耗检查次数\n```\n\n#### 官方示例: actionsamplebytool.act\n\n```pvf\n{must1}{exp}护甲破坏{/exp}[armor break]\t//ACTIVESTATUS_ARMOR_BREAK\n\t\t//mkjung 120704 [ALL] 添加。\n\t\t//参考TuningProc.h确认。\n\t\t//RDARScriptAction.cpp 审核。\n```\n\nACTIVESTATUS_ARMOR_BREAK\n\n官方示例:\n#### 官方示例: actionsample.act\n\n异常效果:防具损坏\n\n//减少防具的耐久度\n\n#### 官方示例: attackinfosample.atk\n\n```pvf\n[active status] [armor break] 100 20 10000 15 // 概率, 等级, 持续时间, 耐久度消耗检查次数\n```", "type": "text" }, "group": "act" }, { "id": "act.section.attack-command.t9u3nr", "match": { "extensions": [ ".act" ] }, "target": { "kind": "section", "section": "attack_command" }, "annotation": { "title": "消息类型", "content": "消息类型:攻击命令(用于 SEND MESSAGE)\n\n#### 官方示例: actionsample.act\n\n```pvf\n//发送消息\n **[SEND MESSAGE]** [ATTACK_COMMAND] 0 //攻击索引\n```\n\n消息类型", "type": "text" }, "group": "act" }, { "id": "act.section.attackablearea-appendage.gek5fr", "match": { "extensions": [ ".act" ] }, "target": { "kind": "section", "section": "attackablearea appendage" }, "annotation": { "title": "设置可攻击区域附加效果", "content": "设置可攻击区域附加效果:模式/基准距离/图像显示距离/反射伤害/持续时间\n\n#### 官方示例: actionsample.act\n\n```pvf\n**[ATTACKABLEAREA APPENDAGE]** 0 200 1000 -1 0 // 可攻击区域附加状态,模式(0. 近战打击模式, 1. 远程打击模式),基准距离,图像输出有效距离,反射伤害% (输入 -1 则一击必杀),持续时间(输入0则无限)\n```\n\n设置可攻击区域附加效果", "type": "text" }, "group": "act" }, { "id": "act.section.autoend.13ti18", "match": { "extensions": [ ".act" ] }, "target": { "kind": "section", "section": "autoend" }, "annotation": { "title": "mkjung 120516 添加", "content": "#### 官方示例: actionsamplebytool.act\n\n```pvf\n//mkjung 120516 添加\n[AUTOEND]\n\t{must1}{int(:)}\n```\n\nmkjung 120516 添加", "type": "text" }, "group": "act" }, { "id": "act.section.axis-index.fwn1co", "match": { "extensions": [ ".act" ] }, "target": { "kind": "section", "section": "axis index" }, "annotation": { "title": "轴索引(碰撞检查轴)", "content": "轴索引:用于 ON MOVE COLLISION 指定检测轴(0=X,1=Y,2=Z)\n\n#### 官方示例: actionsample.act\n\n```pvf\n**[AXIS INDEX]** 0\n// - 与 ON MOVE COLLISION 一起使用,如果没有,则自动检查 x, y 轴的碰撞。\n// - 0 是 x轴 1 是 y轴 2 是 z轴的碰撞检查。\n// - 在发生碰撞的期间会持续检查 ON MOVE COLLISION。\n```\n\n#### 官方示例: actionsamplebytool.act\n\n```pvf\n[AXIS INDEX]\n {must1}{int(0:2)}\n[!AXIS INDEX]\n```\n\n轴索引", "type": "text" }, "group": "act" }, { "id": "act.section.axis.uah3hw", "match": { "extensions": [ ".act" ] }, "target": { "kind": "section", "section": "axis" }, "annotation": { "title": "轴常量", "content": "轴常量:用于直线移动等(X/Y/Z)\n\n#### 官方示例: actionsample.act\n\n```pvf\n[AXIS] [X] //要直线移动的坐标轴 [X],[Y],[Z] 中选一\n```\n\n轴常量", "type": "text" }, "group": "act" }, { "id": "act.section.back-attack.1c533d", "match": { "extensions": [ ".act" ] }, "target": { "kind": "section", "section": "back attack" }, "annotation": { "title": "背后攻击判定开关(1", "content": "背后攻击判定开关(1=生效)\n\n#### 官方示例: actionsample.act\n\n```pvf\n[BACK ATTACK] 1 //背击时是否适用(0:不适用 1:适用)\n```\n\n背后攻击判定开关(1", "type": "text" }, "group": "act" }, { "id": "act.section.balloon.1gp6lu", "match": { "extensions": [ ".act" ] }, "target": { "kind": "section", "section": "balloon" }, "annotation": { "title": "检查控件类型(与 UI 自动化中填写的控件类型字符串相同)", "content": "#### 官方示例: uiactionsample.act\n\n```pvf\n[IS TYPE] [balloon]\t\t\t// 检查控件类型(与 UI 自动化中填写的控件类型字符串相同)\n```\n\n检查控件类型(与 UI 自动化中填写的控件类型字符串相同)", "type": "text" }, "group": "act" }, { "id": "act.section.bless.7h2uhk", "match": { "extensions": [ ".act" ] }, "target": { "kind": "section", "section": "bless" }, "annotation": { "title": "ACTIVESTATUS_BLESS", "content": "#### 官方示例: actionsample.act\n\n```pvf\n**[ACTIVE STATUS]** [bless] 100 10 5000 10 10 10 10 // 概率, 等级, 持续时间, 力量,体力,智力,精神\n```\n\n#### 官方示例: actionsamplebytool.act\n\n```pvf\n{must1}{exp}祝福{/exp}[bless]\t\t//ACTIVESTATUS_BLESS\n\t\t//mkjung 120704 [weakness]--\u003e[element] 更改\n\t\t//参考TuningProc.h确认。\n\t\t//RDARScriptAction.cpp 审核。\n```\n\nACTIVESTATUS_BLESS\n\n官方示例:\n#### 官方示例: actionsample.act\n\n增益效果:祝福\n\n#### 官方示例: attackinfosample.atk\n\n```pvf\n[active status] [bless] 100 10 5000 10 10 10 10 // 概率, 等级, 持续时间, 力量,体力,智力,精神\n```", "type": "text" }, "group": "act" }, { "id": "act.section.blind.4jmh84", "match": { "extensions": [ ".act" ] }, "target": { "kind": "section", "section": "blind" }, "annotation": { "title": "ACTIVESTATUS_BLIND", "content": "#### 官方示例: actionsample.act\n\n```pvf\n//状态异常\n **[ACTIVE STATUS]** [blind] 100 20 3000 10 100 // 概率, 等级, 持续时间, 视野(%), 硬直率增加(+)\n```\n\n#### 官方示例: actionsamplebytool.act\n\n```pvf\n{must1}{exp}失明{/exp}[blind]\t\t//ACTIVESTATUS_BLIND\n```\n\nACTIVESTATUS_BLIND\n\n官方示例:\n#### 官方示例: actionsample.act\n\n异常效果:失明\n\n#### 官方示例: attackinfosample.atk\n\n```pvf\n[active status] [blind] 100 20 3000 10 100 // 概率, 等级, 持续时间, 视野(%), 硬直率增加(+)\n```", "type": "text" }, "group": "act" }, { "id": "act.section.booster-accel.v449pj", "match": { "extensions": [ ".act" ] }, "target": { "kind": "section", "section": "booster accel" }, "annotation": { "title": "推进器加速度配置(数值)", "content": "推进器加速度:在 [BOOSTER APPENDAGE] 中设置推进器的加速度值,省略时默认为 0。\n\n#### 官方示例: actionsample.act\n\n```pvf\n[BOOSTER ACCEL] 0 // 助推器的加速度(省略时初始值:0)\n```\n\n推进器加速度配置(数值)", "type": "text" }, "group": "act" }, { "id": "act.section.booster-appendage.yxhdcs", "match": { "extensions": [ ".act" ] }, "target": { "kind": "section", "section": "booster appendage" }, "annotation": { "title": "推进器属性配置块(加速度、速度、持续时间等)", "content": "推进器属性配置块:在 [BEHAVIOR] 中为对象附加推进器飞行能力。包含 [BOOSTER ACCEL]、[BOOSTER VELOCITY]、[BOOSTER USING TIME]、[BOOSTER RECOVERY TIME]、[EVADE ACCEL]、[GRAVITY]、[HEIGHT] 等子标签。\n\n#### 官方示例: actionsample.act\n\n```pvf\n**[BOOSTER APPENDAGE]** // 助推器附加状态(各子标签可省略)\n [ZPOS CAMERA VIEW] // 是否根据高度跟踪摄像机(省略时初始值:不跟踪)\n [BOOSTER ACCEL] 0 // 助推器的加速度(省略时初始值:0)\n [BOOSTER VELOCITY] 1000 // 助推器的初始速度(省略时初始值:0)\n [BOOSTER USING TIME] 5000 // 助推器能量消耗时间(单位:ms,省略时初始值:5000)\n [BOOSTER RECOVERY TIME] 10000 // 助推器能量恢复时间(单位:ms,省略时初始值:10000)\n [EVADE ACCEL] 1500 // 回避加速度(\u003e 0 省略时初始值:0)\n [GRAVITY] 1500 // 重力加速度(\u003e= 0,省略时初始值:10)\n [FALLING INIT VELOCITY] 1000 // 下落初始速度(\u003e= 0)\n [TERMINAL VELOCITY] 3000 // 终端速度(\u003e 0,省略时初始值:0)\n [HEIGHT] 200000 // 下落初始高度(\u003e 0,省略时初始值:0)\n [LIMIT HEIGHT] 2000 // 下落中为使场景切换,摄像机停止的高度(\u003e 0,省略时初始值:0)\n [INIT POS] 400 120 200000 // 初始位置(依次为 X, Y, Z 位置)\n [LINE GAP] 200 // 移动时各线之间的距离(省略时初始值:200)\n [DISABLE KEYINPUT] // 是否阻止按键输入(省略时可按键输入)\n [DEFAULT ANI] `Character\\Common\\Animation\\fallingeffect_default.ani`\n [BOOSTING ANI] `Character\\Common\\Animation\\fallingeffect_boost.ani`\n **[/BOOSTER APPENDAGE]**\n```\n\n推进器属性配置块(加速度、速度、持续时间等)\n\n```pvf\n**[BOOSTER APPENDAGE]** // 助推器附加状态(各子标签可省略)\n [ZPOS CAMERA VIEW] // 是否根据高度跟踪摄像机(省略时初始值:不跟踪)\n [BOOSTER ACCEL] 0 // 助推器的加速度(省略时初始值:0)\n [BOOSTER VELOCITY] 1000 // 助推器的初始速度(省略时初始值:0)\n [BOOSTER USING TIME] 5000 // 助推器能量消耗时间(单位:ms,省略时初始值:5000)\n [BOOSTER RECOVERY TIME] 10000 // 助推器能量恢复时间(单位:ms,省略时初始值:10000)\n [EVADE ACCEL] 1500 // 回避加速度(\u003e 0 省略时初始值:0)\n [GRAVITY] 1500 // 重力加速度(\u003e= 0,省略时初始值:10)\n [FALLING INIT VELOCITY] 1000 // 下落初始速度(\u003e= 0)\n [TERMINAL VELOCITY] 3000 // 终端速度(\u003e 0,省略时初始值:0)\n [HEIGHT] 200000 // 下落初始高度(\u003e 0,省略时初始值:0)\n [LIMIT HEIGHT] 2000 // 下落中为使场景切换,摄像机停止的高度(\u003e 0,省略时初始值:0)\n [INIT POS] 400 120 200000 // 初始位置(依次为 X, Y, Z 位置)\n [LINE GAP] 200 // 移动时各线之间的距离(省略时初始值:200)\n [DISABLE KEYINPUT] // 是否阻止按键输入(省略时可按键输入)\n [DEFAULT ANI] `Character\\Common\\Animation\\fallingeffect_default.ani`\n [BOOSTING ANI] `Characte", "type": "text" }, "group": "act" }, { "id": "act.section.booster-recovery-time.zvq4nz", "match": { "extensions": [ ".act" ] }, "target": { "kind": "section", "section": "booster recovery time" }, "annotation": { "title": "推进器恢复时间(毫秒)", "content": "推进器恢复时间:在 [BOOSTER APPENDAGE] 中设置推进器能量从耗尽到完全恢复所需的时间(毫秒),省略时默认为 10000ms。\n\n#### 官方示例: actionsample.act\n\n```pvf\n[BOOSTER RECOVERY TIME] 10000 // 助推器能量恢复时间(单位:ms,省略时初始值:10000)\n```\n\n推进器恢复时间(毫秒)", "type": "text" }, "group": "act" }, { "id": "act.section.booster-using-time.roqxu8", "match": { "extensions": [ ".act" ] }, "target": { "kind": "section", "section": "booster using time" }, "annotation": { "title": "推进器消耗时长(毫秒)", "content": "推进器消耗时间:在 [BOOSTER APPENDAGE] 中设置推进器能量消耗的持续时间(毫秒),省略时默认为 5000ms。\n\n#### 官方示例: actionsample.act\n\n```pvf\n[BOOSTER USING TIME] 5000 // 助推器能量消耗时间(单位:ms,省略时初始值:5000)\n```\n\n推进器消耗时长(毫秒)", "type": "text" }, "group": "act" }, { "id": "act.section.booster-velocity.170g9d", "match": { "extensions": [ ".act" ] }, "target": { "kind": "section", "section": "booster velocity" }, "annotation": { "title": "推进器初始速度(数值)", "content": "推进器初始速度:在 [BOOSTER APPENDAGE] 中设置推进器的初始速度值,省略时默认为 0。\n\n#### 官方示例: actionsample.act\n\n```pvf\n[BOOSTER VELOCITY] 1000 // 助推器的初始速度(省略时初始值:0)\n```\n\n推进器初始速度(数值)", "type": "text" }, "group": "act" }, { "id": "act.section.boosting-ani.1tq1q8", "match": { "extensions": [ ".act" ] }, "target": { "kind": "section", "section": "boosting ani" }, "annotation": { "title": "推进中动画路径示例(通常用于 BOOSTER)", "content": "推进中动画路径示例(通常用于 BOOSTER)\n示例:\n`Character\\Common\\Animation\\fallingeffect_boost.ani`\n\n#### 官方示例: actionsample.act\n\n```pvf\n[BOOSTING ANI] `Character\\Common\\Animation\\fallingeffect_boost.ani`\n```\n\n#### 官方示例: actionsamplebytool.act\n\n```pvf\n[BOOSTING ANI]\n {must1}{string}\n[!BOOSTING ANI]\n```\n\n推进中动画路径示例(通常用于 BOOSTER)", "type": "text" }, "group": "act" }, { "id": "act.section.bounce-from-the-wall.1j82y4", "match": { "extensions": [ ".act" ] }, "target": { "kind": "section", "section": "bounce from the wall" }, "annotation": { "title": "墙面反弹行为配置(模式", "content": "墙面反弹行为配置(模式, 反射角等)\n\n#### 官方示例: actionsample.act\n\n```pvf\n**[BOUNCE FROM THE WALL]** 1 30 // 0. 上下墙壁反弹, 1. 左右墙壁反弹, 反弹角(角度以水平线为基准逆时针方向)\n```\n\n墙面反弹行为配置(模式", "type": "text" }, "group": "act" }, { "id": "act.section.call-func.1h9ml2", "match": { "extensions": [ ".act" ] }, "target": { "kind": "section", "section": "call func" }, "annotation": { "title": "执行自定义函数", "content": "#### 官方示例: uiactionsample.act\n\n```pvf\n[CALL FUNC]\t\t\t\t\t\t\t// 执行自定义函数\n\t\t1\t\t\t\t\t\t\t\t// 函数模式(索引)\n\t\t5 3 5\t\t\t\t\t\t\t// 自定义参数(请咨询负责客户端开发人员)\n\t[/CALL FUNC]\n```\n\n执行自定义函数", "type": "text" }, "group": "act" }, { "id": "act.section.camouflage.mjuqld", "match": { "extensions": [ ".act" ] }, "target": { "kind": "section", "section": "camouflage" }, "annotation": { "title": "伪装/隐身参数(数值列表)", "content": "伪装效果:在 [BEHAVIOR] 中添加伪装/隐身效果。参数为两个数值。\n\n#### 官方示例: actionsample.act\n\n```pvf\n//mkjung 120516 add.\n **[CAMOUFLAGE]** 0 0\n```\n\n#### 官方示例: actionsamplebytool.act\n\n```pvf\n//mkjung 120516 添加。\n\t[CAMOUFLAGE]\n\t\t{must1}{int(:)}\n\t\t{must2}{int(:)}\n```\n\n伪装/隐身参数(数值列表)", "type": "text" }, "group": "act" }, { "id": "act.section.casting-ex.1akh4v", "match": { "extensions": [ ".act" ] }, "target": { "kind": "section", "section": "casting ex" }, "annotation": { "title": "扩展施法块", "content": "扩展施法块:支持显示目标/屏幕、显示类型、DO ME 等选项\n\n#### 官方示例: actionsample.act\n\n```pvf\n**[CASTING EX]**\n 2000 // 施法时间\n 3 // 施法后要执行的行为索引\n [NORMAL] // 普通施法(动作改变则施法中断)\n [DISPLAY TARGET] // (或 [DISPLAY ME]) // 在目标身上显示施法条\n [DISPLAY SCREEN] //在屏幕中央下方显示施法条。\n [DO ME] // 施法后调用 behavior 的目标对象(此情况下施法后调用自己的 behavior)\n **[/CASTING EX]**\n```\n\n扩展施法块", "type": "text" }, "group": "act" }, { "id": "act.section.casting.1tsr40", "match": { "extensions": [ ".act" ] }, "target": { "kind": "section", "section": "casting" }, "annotation": { "title": "施法/蓄力", "content": "施法/蓄力:持续时间(毫秒)和后续执行的行为索引\n\n#### 官方示例: actionlibrary/080324ver/buster.act\n\n```pvf\n[CASTING] 1500 2 // 时间, 行为编号.\n```\n\n#### 官方示例: actionsample.act\n\n```pvf\n**[CASTING]** 5000 2 // 出现施法条后自动执行指定的行为。施法条持续时间,行为索引\n```\n\n施法/蓄力\n\n官方示例:\n#### 官方示例: actionlibrary/080324ver/buster.act\n\n铸件\n释放技能\n\n#### 官方示例: equipmentsamplebytool.equ\n\n```pvf\n//1.1.1.8 casting #\n\t[casting]\n\t\t{must1}{exp}施放技能使用时的情况检查{/exp}{int(0:)}\n```", "type": "text" }, "group": "act" }, { "id": "act.section.change-direction-by-target.n13lka", "match": { "extensions": [ ".act" ] }, "target": { "kind": "section", "section": "change direction by target" }, "annotation": { "title": "根据目标方向调整自身朝向(开关)", "content": "朝向目标控制:在 [BEHAVIOR] 中决定怪物是否看向目标。0=保持生成时的初始方向,1=始终看向目标。\n\n#### 官方示例: actionsample.act\n\n```pvf\n**[CHANGE DIRECTION BY TARGET]** 0 //决定怪物是否看向目标的标志(0 :则保持目标刚生成时面对的方向\n```\n\n根据目标方向调整自身朝向(开关)\n\n官方示例:\n#### 官方示例: actionsample.act\n\n#### 官方示例: newmonstersample.mob\n\n```pvf\n[change direction by target] 0 // 1则根据目标位置改变方向。0则只固定一个方向。\n```", "type": "text" }, "group": "act" }, { "id": "act.section.change-disguiser.44z64u", "match": { "extensions": [ ".act" ] }, "target": { "kind": "section", "section": "change disguiser" }, "annotation": { "title": "改变变身/伪装目标为指定怪物索引与持续时间", "content": "变身/伪装:在 [BEHAVIOR] 中将目标变身为指定 ID 的怪物。参数:怪物索引(需源码中预先注册)和变身持续时间(毫秒)。\n\n#### 官方示例: actionsample.act\n\n```pvf\n**[CHANGE DISGUISER]** 63500 10000 // 要变身的怪物索引(必须事先在源码中注册),变身时间\n```\n\n改变变身/伪装目标为指定怪物索引与持续时间", "type": "text" }, "group": "act" }, { "id": "act.section.change-gravity.1twc8o", "match": { "extensions": [ ".act" ] }, "target": { "kind": "section", "section": "change gravity" }, "annotation": { "title": "修改重力值(整型)", "content": "修改重力值:在 [BEHAVIOR] 中将当前对象的重力加速度更改为指定整数值。需每帧持续调用才能维持修改后的重力。\n\n#### 官方示例: actionsample.act\n\n```pvf\n**[CHANGE GRAVITY]** 0 // 将重力值更改为指定的 int 值(需每帧调用才能维持重力值)\n```\n\n修改重力值(整型)", "type": "text" }, "group": "act" }, { "id": "act.section.change-module.r8iujn", "match": { "extensions": [ ".act" ] }, "target": { "kind": "section", "section": "change module" }, "annotation": { "title": "改变模块/任务编号以锁定/解锁成就", "content": "模块/任务编号:在 [LOCK QUEST UNTIL] 中指定要锁定或解锁的任务/模块 ID。\n\n#### 官方示例: actionsample.act\n\n```pvf\n**[LOCK QUEST UNTIL]**[CHANGE MODULE] 6650 // 锁定成就\n```\n\n改变模块/任务编号以锁定/解锁成就", "type": "text" }, "group": "act" }, { "id": "act.section.change-my-target.j3wcrm", "match": { "extensions": [ ".act" ] }, "target": { "kind": "section", "section": "change my target" }, "annotation": { "title": "将行为主体的目标切换为子项指定的对象来源", "content": "切换行为主体目标:在 [BEHAVIOR] 中将行为执行主体的目标更改为子项指定的对象来源(如通过 [DO BEHAVIOR] [LAST ATTACKER] 调用时)。\n\n#### 官方示例: actionsample.act\n\n```pvf\n**[CHANGE MY TARGET]** // 将行为主体更改为目标。例如,通过 [DO BEHAVIOR] [LAST ATTACKER] 调用行为,\n // 则是将最后攻击自己的人设为目标。\n```\n\n将行为主体的目标切换为子项指定的对象来源", "type": "text" }, "group": "act" }, { "id": "act.section.change-ridableskill-pattern.1u8s8n", "match": { "extensions": [ ".act" ] }, "target": { "kind": "section", "section": "change ridableskill pattern" }, "annotation": { "title": "改变可骑乘怪/变身怪的技能模式索引", "content": "切换骑乘技能模式:在 [BEHAVIOR] 中改变可骑乘怪物或变身怪物的技能模式索引。参数为模式索引。\n\n#### 官方示例: actionsample.act\n\n```pvf\n**[CHANGE RIDABLESKILL PATTERN]** 1 // 改变变身怪物的技能模式,模式索引\n```\n\n改变可骑乘怪/变身怪的技能模式索引", "type": "text" }, "group": "act" }, { "id": "act.section.change-sight.oyphjg", "match": { "extensions": [ ".act" ] }, "target": { "kind": "section", "section": "change sight" }, "annotation": { "title": "交换队伍间视野(临时交换)", "content": "交换视野:在 [BEHAVIOR] 中随机交换队伍成员间的视野设置。\n\n#### 官方示例: actionsample.act\n\n```pvf\n**[CHANGE SIGHT]** // 视野交换:随机交换队员间的视野。\n```\n\n交换队伍间视野(临时交换)", "type": "text" }, "group": "act" }, { "id": "act.section.change-size-start.jczvlu", "match": { "extensions": [ ".act" ] }, "target": { "kind": "section", "section": "change size start" }, "annotation": { "title": "尺寸变化", "content": "尺寸变化:起始缩放百分比(100 表示原始大小)\n\n#### 官方示例: actionsample.act\n\n```pvf\n[CHANGE SIZE START] 100 // 100% 起始缩放比例 %。不指定则从上一次设置的值开始。\n```\n\n尺寸变化", "type": "text" }, "group": "act" }, { "id": "act.section.change-team.us0tme", "match": { "extensions": [ ".act" ] }, "target": { "kind": "section", "section": "change team" }, "annotation": { "title": "改变对象队伍(叛变)", "content": "改变对象队伍(叛变):目标队伍号、持续时间、HP 比例等\n\n#### 官方示例: actionsample.act\n\n```pvf\n// 状态保持时间,放置不动时计量条积满的时间,每秒需要晃动的次数,\n // 晃动成功时减少的计量条百分比,计量条积满失败时受到的伤害\n **[CHANGE TEAM]** 1 5000 100 // 背叛:要更换的队伍号(1~4),更换时间,更换的 HP 比率(%)\n```\n\n#### 官方示例: actionsamplebytool.act\n\n```pvf\n{exp}暂时改变队伍{/exp}[CHANGE TEAM]\n\t\t{must1}{exp}背叛:要改变的队伍编号{/exp}{int(1:4)}\n\t\t{must2}{exp}改变的时间(ms){/exp}{int(0:)}\n\t\t//mkjung 120517 修改 遗漏参数添加\n\t\t{must3}{exp}要改变的HP的比率(%){/exp}{int(0:)}\n```\n\n改变对象队伍(叛变)", "type": "text" }, "group": "act" }, { "id": "act.section.character-attacksuccess.1agsig", "match": { "extensions": [ ".act" ] }, "target": { "kind": "section", "section": "character attacksuccess" }, "annotation": { "title": "针对角色的最近攻击成功记录(筛选角色对象)", "content": "角色攻击成功目标:作为目标来源,指向最后攻击成功的角色单位(包含 APC),筛选角色类型对象。\n\n#### 官方示例: actionsample.act\n\n```pvf\n//mkjung 120515 add.\n [CHARACTER ATTACKSUCCESS] // 最后攻击成功的角色\n```\n\n```pvf\n[CHARACTER ATTACKSUCCESS]\n // PROC 动作的命令执行控制部分\n```\n\n#### 官方示例: actionsamplebytool.act\n\n```pvf\n//mkjung 120515 添加。\n\t\t{must1}{exp}自己最后造成伤害的角色(包括APC){/exp}[CHARACTER ATTACKSUCCESS]\n```\n\n```pvf\n//mkjung 120515 [CHARACTER ATTACKSUCCESS] 添加。\n\t\t\t{opt15}{exp}自己最后造成伤害的角色(包括APC){/exp}[CHARACTER ATTACKSUCCESS]\n```\n\n针对角色的最近攻击成功记录(筛选角色对象)", "type": "text" }, "group": "act" }, { "id": "act.section.character-cooltime-reset.12a9au", "match": { "extensions": [ ".act" ] }, "target": { "kind": "section", "section": "character cooltime reset" }, "annotation": { "title": "角色冷却时间复位选项(0", "content": "角色冷却时间复位选项(0: 全部,1: 无CD技能,2: 觉醒技能)\n\n#### 官方示例: actionsample.act\n\n```pvf\n**[CHARACTER COOLTIME RESET]** 0 //0为全部技能,1为无色技能,2为觉醒技能\n```\n\n角色冷却时间复位选项(0", "type": "text" }, "group": "act" }, { "id": "act.section.character-team.1bzmkb", "match": { "extensions": [ ".act" ] }, "target": { "kind": "section", "section": "character team" }, "annotation": { "title": "角色队伍", "content": "队伍常量:角色队伍(玩家侧)\n\n队伍常量", "type": "text" }, "group": "act" }, { "id": "act.section.charged-time.sc80rg", "match": { "extensions": [ ".act" ] }, "target": { "kind": "section", "section": "charged time" }, "annotation": { "title": "充能时间检查", "content": "充能时间检查:支持比较运算符(\u003e, \u003c, \u003e=, \u003c=, =)\n\n#### 官方示例: actionsample.act\n\n```pvf\n**[CHARGED TIME]** [比较符号] 0 // 蓄力时间\n```\n\n充能时间检查", "type": "text" }, "group": "act" }, { "id": "act.section.check-buff.imwfn0", "match": { "extensions": [ ".act" ] }, "target": { "kind": "section", "section": "check buff" }, "annotation": { "title": "检查增益效果", "content": "增益效果检查:在条件判断中筛选当前拥有有益增益效果(Buff)的对象。\n\n#### 官方示例: actionsample.act\n\n```pvf\n**[CHECK BUFF]** //检查是否有增益效果\n```\n\n检查是否存在增益 Buff(布尔检查)", "type": "text" }, "group": "act" }, { "id": "act.section.check-ghost.1rbya4", "match": { "extensions": [ ".act" ] }, "target": { "kind": "section", "section": "check ghost" }, "annotation": { "title": "检查鬼剑系技能", "content": "鬼剑士技能检查:在条件判断中筛选拥有鬼剑士系(Ghost)技能特征的对象。\n\n#### 官方示例: actionsample.act\n\n```pvf\n**[CHECK GHOST]** //检查鬼剑士系技能\n```\n\n检查是否为幽灵/无实体类型技能或对象(布尔检查)", "type": "text" }, "group": "act" }, { "id": "act.section.check-player-num.16tkkg", "match": { "extensions": [ ".act" ] }, "target": { "kind": "section", "section": "check player num" }, "annotation": { "title": "检查队伍/区域内玩家数量的子块(包含 COUNT", "content": "检查队伍/区域内玩家数量的子块(包含 COUNT, INCLUDE DEAD 等)\n\n#### 官方示例: actionsample.act\n\n```pvf\n**[CHECK PLAYER NUM]** // 检查队员数量\n [COUNT] 1 // 指定的队员数量\n [INCLUDE DEAD] 0 // 是否包含已死亡队员(1: 包含, 0: 不包含),标签省略时默认值 = 0\n **[/CHECK PLAYER NUM]**\n```\n\n检查队伍/区域内玩家数量的子块(包含 COUNT", "type": "text" }, "group": "act" }, { "id": "act.section.check-specific-buff.17qzsa", "match": { "extensions": [ ".act" ] }, "target": { "kind": "section", "section": "check specific buff" }, "annotation": { "title": "检查特定增益效果", "content": "特定增益检查:在条件判断中筛选拥有特定 ID 增益状态的对象。参数为附加状态字符串 ID,如 [ANGER]、[DARKSCALP]、[AGAMEMNON TELEKINESIS] 等。\n\n#### 官方示例: actionsample.act\n\n```pvf\n**[CHECK SPECIFIC BUFF]** [附加状态字符串ID] // 检查特定 ID 的附加状态(ID 请咨询负责客户端开发者)\n```\n\n```pvf\n**[CHECK SPECIFIC BUFF]** [ANGER] 2 200 // 只有附带愤怒附加状态且第2层索引的Alpha值超过200时通过!\n```\n\n检查指定 ID 的增益 Buff(需提供附加字符串或 ID)", "type": "text" }, "group": "act" }, { "id": "act.section.check-threat.gg0k5d", "match": { "extensions": [ ".act" ] }, "target": { "kind": "section", "section": "check threat" }, "annotation": { "title": "检查范围内威胁(如地面伤害/技能区域)并返回布尔或计数", "content": "威胁检查:在 [CHECKUP] 中检查指定范围内是否存在带有攻击判定或范围技能的威胁性对象。参数为检查距离(像素)。\n\n#### 官方示例: actionsample.act\n\n```pvf\n**[CHECK THREAT]** 200 // 检查范围区域内是否有范围技能或带有攻击判定等的对象(范围)\n```\n\n检查范围内威胁(如地面伤害/技能区域)并返回布尔或计数", "type": "text" }, "group": "act" }, { "id": "act.section.checked-object.x8hxhl", "match": { "extensions": [ ".act" ] }, "target": { "kind": "section", "section": "checked object" }, "annotation": { "title": "对检查到的角色施放", "content": "通过检查的目标集合:作为 [SET TRACKING MODE] 等跟踪类标签的目标参数,指向通过 [CHECKUP] 条件筛选的所有对象的集合。\n\n#### 官方示例: actionlibrary/shootingstar.act\n\n```pvf\n[DO BEHAVIOR] [CHECKED OBJECT] 0 // 对检查到的角色施放\n```\n\n对检查到的角色施放", "type": "text" }, "group": "act" }, { "id": "act.section.checkup-control.1sx31h", "match": { "extensions": [ ".act" ] }, "target": { "kind": "section", "section": "checkup control" }, "annotation": { "title": "调用 BEHAVIOR", "content": "#### 官方示例: uiactionsample.act\n\n```pvf\n[DO BEHAVIOR][CHECKUP CONTROL] 1\t// 调用 BEHAVIOR,以通过检查的控件为参数\n```\n\n调用 BEHAVIOR", "type": "text" }, "group": "act" }, { "id": "act.section.confuse.w63ybi", "match": { "extensions": [ ".act" ] }, "target": { "kind": "section", "section": "confuse" }, "annotation": { "title": "ACTIVESTATUS_CONFUSE", "content": "#### 官方示例: actionsample.act\n\n```pvf\n**[ACTIVE STATUS]** [confuse] 100 20 3000 1 // 概率, 等级, 持续时间, 1 表示怪物混乱时攻击同伴。\n```\n\n#### 官方示例: actionsamplebytool.act\n\n```pvf\n{must1}{exp}混乱{/exp}[confuse]\t\t//ACTIVESTATUS_CONFUSE\n```\n\nACTIVESTATUS_CONFUSE\n\n官方示例:\n#### 官方示例: actionsample.act\n\n异常效果:混乱\n\n#### 官方示例: attackinfosample.atk\n\n```pvf\n[active status] [confuse] 100 20 3000 1 // 概率, 等级, 持续时间, 为1时怪物陷入混乱,会攻击同伴。\n```", "type": "text" }, "group": "act" }, { "id": "act.section.control.mx9w2m", "match": { "extensions": [ ".act" ] }, "target": { "kind": "section", "section": "control" }, "annotation": { "title": "将控件重置为初始状态", "content": "#### 官方示例: uiactionsample.act\n\n```pvf\n[RESET][CONTROL]\t\t\t\t\t\t\t// 将控件重置为初始状态\n```\n\n将控件重置为初始状态", "type": "text" }, "group": "act" }, { "id": "act.section.count.g0ap6c", "match": { "extensions": [ ".act" ] }, "target": { "kind": "section", "section": "count" }, "annotation": { "title": "数量参数", "content": "数量参数:用于 CHECK PLAYER NUM 等子项指定目标数量\n\n#### 官方示例: actionsample.act\n\n```pvf\n[COUNT] 1 // 指定的队员数量\n```\n\n```pvf\n[COUNT] 12 // 受到伤害时,用于显示逐渐消失的计量条的分割数量(省略时,依据实际 HP 和伤害显示)\n```\n\n数量参数", "type": "text" }, "group": "act" }, { "id": "act.section.create-animation.1l33wj", "match": { "extensions": [ ".act" ] }, "target": { "kind": "section", "section": "create animation" }, "annotation": { "title": "创建动画(官方标记未实现)", "content": "官方样例给出的运行时动画创建接口,参数形态为动画路径与 X/Y 坐标,但源注释明确标记“未实现”。不得作为可用功能复制;如目标版本出现实现差异,必须另做客户端和实机验证。\n\n#### 官方示例: actionsample.act\n\n```pvf\n// **[CREATE ANIMATION]** `` x,y // (未实现)\n```\n\n动态创建动画资源并附着到指定层(引擎需支持)", "type": "text" }, "group": "act" }, { "id": "act.section.create-frequence.11wupt", "match": { "extensions": [ ".act" ] }, "target": { "kind": "section", "section": "create frequence" }, "annotation": { "title": "生成频率配置", "content": "生成频率配置:类型与时间(0=固定频率,1=随机时间)\n\n#### 官方示例: actionsample.act\n\n```pvf\n[CREATE FREQUENCE] 0 500 // 生成频率(类型,时间)\n 1 30000 // 0 :规则地每隔时间生成1个对象。\n // 1:以时间为结束点,随机时机生成对象。\n```\n\n生成频率配置", "type": "text" }, "group": "act" }, { "id": "act.section.create-object.1ywpoh", "match": { "extensions": [ ".act" ] }, "target": { "kind": "section", "section": "create object" }, "annotation": { "title": "在 ON CREATE OBJECT 场景中使用", "content": "在 ON CREATE OBJECT 场景中使用,表示创建的对象来源为事件触发对象\n\n#### 官方示例: actionsample.act\n\n```pvf\n[CREATE OBJECT] // 创建的对象 // 仅在 ON CREATE OBJECT 中使用。\n```\n\n#### 官方示例: actionsamplebytool.act\n\n```pvf\n{must1}{exp}生成的物体{/exp}[CREATE OBJECT]\t//{prereq}[ON CREATE OBJECT]{/prereq}\n```\n\n```pvf\n{opt6}{exp}生成的物体{/exp}[CREATE OBJECT]\t\t//{prereq}[ON CREATE OBJECT]{/prereq}\n```\n\n在 ON CREATE OBJECT 场景中使用", "type": "text" }, "group": "act" }, { "id": "act.section.curse-appendage.1x7l9q", "match": { "extensions": [ ".act" ] }, "target": { "kind": "section", "section": "curse appendage" }, "annotation": { "title": "诅咒类附加效果配置(伤害、范围、间隔、持续等)", "content": "诅咒附加效果:在 [BEHAVIOR] 中附加诅咒效果。参数依次为伤害、范围、伤害间隔、诅咒间隔(均为毫秒)。\n\n#### 官方示例: actionsample.act\n\n```pvf\n**[CURSE APPENDAGE]** 1000 1000 1000 1000 //伤害,范围,伤害间隔,诅咒间隔\n```\n\n诅咒类附加效果配置(伤害、范围、间隔、持续等)", "type": "text" }, "group": "act" }, { "id": "act.section.curse.136x0c", "match": { "extensions": [ ".act" ] }, "target": { "kind": "section", "section": "curse" }, "annotation": { "title": "ACTIVESTATUS_CURSE", "content": "#### 官方示例: actionsample.act\n\n```pvf\n**[ACTIVE STATUS]** [curse] 100 10 5000 20 20 20 20 // 概率, 等级, 持续时间, 力量,体力,智力,精神\n```\n\n#### 官方示例: actionsamplebytool.act\n\n```pvf\n{must1}{exp}诅咒{/exp}[curse]\t\t//ACTIVESTATUS_CURSE\n```\n\nACTIVESTATUS_CURSE\n\n官方示例:\n#### 官方示例: actionsample.act\n\n异常效果:诅咒\n\n#### 官方示例: attackinfosample.atk\n\n```pvf\n[active status] [curse] 37 100 // 最前面是攻击附带的异常状态种类。\n // 从下面中选择一个\n // 第二个是触发概率(写了 `[none] 则随意填写)\n // 第三个是触发强度(写了 `[none] 则随意填写)\n```\n\n```pvf\n[active status] [curse] 100 10 5000 20 20 20 20 // 概率, 等级, 持续时间, 力量,体力,智力,精神\n```\n\n```pvf\n///// 攻击信息 (.atk) /////\n[active status] [curse] 100 10 5000 20 20 20 20\n- 使用方法与 equ 相同,但 `.atk` 文件中不包含 target 信息。\n```", "type": "text" }, "group": "act" }, { "id": "act.section.cut-scene.1mhfqp", "match": { "extensions": [ ".act" ] }, "target": { "kind": "section", "section": "cut scene" }, "annotation": { "title": "削减场景", "content": "削减场景 //[剪切场景]\n\n#### 官方示例: actionsample.act\n\n```pvf\n//mkjung 120514 add.\n **[CUT SCENE]**\n [FLIP TYPE] 1 // 0 :无 1 :根据角色方向 2 :根据角色位置\n [START POSITION] -400 600 // 起始 x,y坐标\n [ANI FILE] `Monster/NewMonsters/dimensiongate/blackearth/michaela/animation/cutscene.ani`\n [MOVE DIR]\n -5 600 500 // 要停止的位置 x,y ,速度(速度 = 1/10 秒移动距离\n 7 600 50 // 要停止的位置 x,y ,速度(速度 = 1/10 秒移动距离\n -5 600 50 // 要停止的位置 x,y ,速度(速度 = 1/10 秒移动距离\n -5 600 800 // 停止,要停止的时间\n 7 600 50 // 要停止的位置 x,y ,速度(速度 = 1/10 秒移动距离\n -400 600 500 // 要停止的位置 x,y ,速度\n -400 600 2000 // 要停止的位置 x,y ,速度\n **[/MOVE DIR]**\n **[/CUT SCENE]**\n```\n\n#### 官方示例: actionsamplebytool.act\n\n```pvf\n//mkjung 120514 添加。\n\t[CUT SCENE]\n\t\t{exp}翻转类型{/exp}[FLIP TYPE]\n\t\t\t{must1}{exp}0:无 1:根据角色方向 2:根据角色位置{/exp}{int(0:2)}\n\t\t[!FLIP TYPE]\n\t\t{exp}起始y坐标{/exp}[START POSITION]\n\t\t\t{must1}{exp}X坐标{/exp}{int(:)}\n\t\t\t{must2}{exp}Y坐标{/exp}{int(:)}\n\t\t[!START POSITION]\n\t\t[ANI FILE]\n\t\t\t{must1}{exp}动画文件路径{/exp}{string}\n\t\t[!ANI FILE]\n\t\t//怎么办?\n\t\t[MOVE DIR]\n\t\t\t{exp}停止的位置X{/exp}{int(:)}\n\t\t\t\t{must1}{exp}停止的位置Y{/exp}{int(:)}\n\t\t\t\t{must2}{exp}速度(1/10秒移动距离){/exp}{int(:)}\n\t\t\t{!int(:)}\n\t\t[/MOVE DIR]\n\t[/CUT SCENE]\n```\n\n削减场景\n\n```pvf\n//mkjung 120514 添加。\n\t[CUT SCENE]\n\t\t{exp}翻转类型{/exp}[FLIP TYPE]\n\t\t\t{must1}{exp}0:无 1:根据角色方向 2:根据角色位置{/exp}{int(0:2)}\n\t\t[!FLIP TYPE]\n\t\t{exp}起始y坐标{/exp}[START POSITION]\n\t\t\t{must1}{exp}X坐标{/exp}{int(:)}\n\t\t\t{must2}{exp}Y坐标{/exp}{int(:)}\n\t\t[!START POSITION]\n\t\t[ANI FILE]\n\t\t\t{must1}{exp}动画文件路径{/exp}{string}\n\t\t[!ANI FILE]\n\t\t//怎么办?\n\t\t[MOVE DIR]\n\t\t\t{exp}停止的位置X{/exp}{int(:)}\n\t\t\t\t{must1}{exp}停止", "type": "text" }, "group": "act" }, { "id": "act.section.damage-appendage.nzcklf", "match": { "extensions": [ ".act" ] }, "target": { "kind": "section", "section": "damage appendage" }, "annotation": { "title": "伤害相关附加效果配置", "content": "伤害相关附加效果配置:计时、减益、外观、数值等\n\n#### 官方示例: actionsample.act\n\n```pvf\n// 施法累积时间,受击间隔,受击时减少的计量条程度(0-100%),轮廓颜色 R, G, B,可攻击时轮廓颜色 R, G, B,最大轮廓粗细,攻击力增加,攻速增加,移速增加\n // 减少速度(输入0则瞬间减少)\n **[DAMAGE APPENDAGE]** 10000 1000 10 100 100 100 255 255 255 5 100 100 100 250\n```\n\n伤害相关附加效果配置", "type": "text" }, "group": "act" }, { "id": "act.section.damage-hp.67mlfc", "match": { "extensions": [ ".act" ] }, "target": { "kind": "section", "section": "damage hp" }, "annotation": { "title": "直线移动结束时对目标造成的 HP 百分比伤害", "content": "移动后 HP 伤害:在 [STRAIGHT MOVE] 中设置移动结束后对目标造成的伤害值(% 单位)。\n\n#### 官方示例: actionsample.act\n\n```pvf\n[DAMAGE HP] 50 //移动后造成伤害。%单位。\n```\n\n直线移动结束时对目标造成的 HP 百分比伤害", "type": "text" }, "group": "act" }, { "id": "act.section.damage-motion.1xvclh", "match": { "extensions": [ ".act" ] }, "target": { "kind": "section", "section": "damage motion" }, "annotation": { "title": "指定的受击动画索引", "content": "受击动画索引:在 [SET ACTION]/[DAMAGE] 中指定使用的伤害动作文件索引(通常为 0 或 1)。\n\n#### 官方示例: actionsample.act\n\n```pvf\n[DAMAGE MOTION] 0 // 伤害动作文件索引\n```\n\n指定的受击动画索引", "type": "text" }, "group": "act" }, { "id": "act.section.dark-element-attack.1a36x7", "match": { "extensions": [ ".act" ] }, "target": { "kind": "section", "section": "dark element attack" }, "annotation": { "title": "暗属性强化", "content": "#### 官方示例: actionsample.act\n\n```pvf\n[dark element attack] [+] 100.0 // 暗属性强化\n```\n\n暗属性强化", "type": "text" }, "group": "act" }, { "id": "act.section.darkscalp-appendage.1dajjo", "match": { "extensions": [ ".act" ] }, "target": { "kind": "section", "section": "darkscalp appendage" }, "annotation": { "title": "特殊区域伤害/反弹附加效果参数集合", "content": "暗鳞附加效果:在 [BEHAVIOR] 中附加暗鳞/暗影伤害反弹效果。参数:总时间、伤害反射%、恢复%、目标怪物索引、初始伤害值、伤害间隔、伤害增加参数1、参数2、附加状态前间隔、附加状态前范围。\n\n#### 官方示例: actionsample.act\n\n```pvf\n// 总时间,伤害反射%,恢复%,目标怪物索引,初始伤害值(未使用),造成伤害的时间间隔,\n // 伤害增加未知项,伤害增加未知项2(超过临界点时),附加状态之前的时间间隔,附加状态之前的范围\n **[DARKSCALP APPENDAGE]** 15000 20 500 56721 0 1000 2 3 10000 300\n```\n\n特殊区域伤害/反弹附加效果参数集合", "type": "text" }, "group": "act" }, { "id": "act.section.darkscalp.18l3ah", "match": { "extensions": [ ".act" ] }, "target": { "kind": "section", "section": "darkscalp" }, "annotation": { "title": "mkjung 120516 添加", "content": "#### 官方示例: actionsamplebytool.act\n\n```pvf\n//mkjung 120516 添加。\n\t\t{must1}[DARKSCALP]\n\t\t//mkjung 120518 添加。\n```\n\nmkjung 120516 添加", "type": "text" }, "group": "act" }, { "id": "act.section.dash.eqs51", "match": { "extensions": [ ".act" ] }, "target": { "kind": "section", "section": "dash" }, "annotation": { "title": "冲刺动作", "content": "动作常量:冲刺动作引用\n\n#### 官方示例: actionsample.act\n\n```pvf\n[DASH] `动作文件名` // 动作常量:冲刺动作\n```\n\n动作常量\n\n官方示例:\n#### 官方示例: actionsample.act\n\n#### 官方示例: newmonstersample.mob\n\n```pvf\n100 [stand] [dash] 0\n// 处于以下特定状态的敌人的奖励 (基于 IRDActiveObject::state_ )\n// [stand], [sit], [sit forever], [damage], [down],\n// [die], [jump], [jump attack], [attack], [hold],\n// [throw], [dash], [dash attack], [get item], [buff]\n// 可以指定多个,只要满足其中1个就加分。\n//最后的无意义的0必须加上。\n```", "type": "text" }, "group": "act" }, { "id": "act.section.dashattack.wcrmul", "match": { "extensions": [ ".act" ] }, "target": { "kind": "section", "section": "dashattack" }, "annotation": { "title": "冲刺攻击动作", "content": "动作常量:冲刺攻击动作引用\n\n#### 官方示例: actionsample.act\n\n```pvf\n[DASHATTACK] `动作文件名` // 动作常量:冲刺攻击动作\n```\n\n动作常量", "type": "text" }, "group": "act" }, { "id": "act.section.debuff-ghost.1u6xiq", "match": { "extensions": [ ".act" ] }, "target": { "kind": "section", "section": "debuff ghost" }, "annotation": { "title": "吞噬/移除幽灵类技能效果的子项", "content": "吞噬鬼剑技:在 [BEHAVIOR] 中吞噬/吸收鬼剑士系技能的效果。\n\n#### 官方示例: actionsample.act\n\n```pvf\n**[DEBUFF GHOST]** //吞噬鬼剑士系技能\n```\n\n吞噬/移除幽灵类技能效果的子项", "type": "text" }, "group": "act" }, { "id": "act.section.debuff.1wutrr", "match": { "extensions": [ ".act" ] }, "target": { "kind": "section", "section": "debuff" }, "annotation": { "title": "移除目标的有利 Buff(去除正面状态)", "content": "移除增益效果:在 [BEHAVIOR] 中移除目标身上的有益 Buff(正面增益状态)。\n\n#### 官方示例: actionsample.act\n\n```pvf\n**[DEBUFF]** //移除目标的增益效果\n```\n\n移除目标的有利 Buff(去除正面状态)", "type": "text" }, "group": "act" }, { "id": "act.section.default-ani.8gqqzg", "match": { "extensions": [ ".act" ] }, "target": { "kind": "section", "section": "default ani" }, "annotation": { "title": "默认下落/效果动画路径示例(通常用于 BOOSTER/掉落效果)", "content": "默认下落/效果动画路径示例(通常用于 BOOSTER/掉落效果)\n示例:\n`Character\\Common\\Animation\\fallingeffect_default.ani`\n\n#### 官方示例: actionsample.act\n\n```pvf\n[DEFAULT ANI] `Character\\Common\\Animation\\fallingeffect_default.ani`\n```\n\n#### 官方示例: actionsamplebytool.act\n\n```pvf\n[DEFAULT ANI]\n {must1}{string}\n[!DEFAULT ANI]\n```\n\n默认下落/效果动画路径示例(通常用于 BOOSTER/掉落效果)", "type": "text" }, "group": "act" }, { "id": "act.section.default-attack-info.8ht26y", "match": { "extensions": [ ".act" ] }, "target": { "kind": "section", "section": "default attack info" }, "annotation": { "title": "默认攻击信息", "content": "别名:恢复使用 DEFAULT ATTACKINFO 中定义的默认攻击信息\n\n#### 官方示例: actionsample.act\n\n```pvf\n**[DEFAULT ATTACKINFO]** `../AttackInfo/sample.atk` // 当前动作中使用的默认攻击信息\n```\n\n别名", "type": "text" }, "group": "act" }, { "id": "act.section.default-sight.56cmjz", "match": { "extensions": [ ".act" ] }, "target": { "kind": "section", "section": "default sight" }, "annotation": { "title": "恢复默认视野配置", "content": "恢复默认视野:在 [BEHAVIOR] 中将视野恢复为默认状态,撤销 [CHANGE SIGHT] 的修改。\n\n#### 官方示例: actionsample.act\n\n```pvf\n**[DEFAULT SIGHT]** // 将视野恢复原状。\n```\n\n恢复默认视野配置", "type": "text" }, "group": "act" }, { "id": "act.section.default-team.d8sfff", "match": { "extensions": [ ".act" ] }, "target": { "kind": "section", "section": "default team" }, "annotation": { "title": "恢复对象队伍为默认值", "content": "恢复默认队伍:在 [BEHAVIOR] 中将对象的队伍归属恢复为默认状态,撤销 [CHANGE TEAM] 的修改。\n\n#### 官方示例: actionsample.act\n\n```pvf\n**[DEFAULT TEAM]** // 将队伍恢复原状。\n```\n\n恢复对象队伍为默认值", "type": "text" }, "group": "act" }, { "id": "act.section.delete-appendage.1agyj8", "match": { "extensions": [ ".act" ] }, "target": { "kind": "section", "section": "delete appendage" }, "annotation": { "title": "删除已附加的属性效果配置块", "content": "移除属性附加:在 [BEHAVIOR] 中移除之前通过 [APPENDAGE] 或 [MASTER APPENDAGE] 附加的特定属性效果。\n\n#### 官方示例: actionsample.act\n\n```pvf\n//mkjung 120511 add.\n **[DELETE APPENDAGE]** 0\n [equipment physical defense] [%] 5000.0 // 物理防御\n [equipment magical defense] [%] 5000.0 // 魔法防御\n [stuck] [%] 30.0 // 硬直率\n **[/DELETE APPENDAGE]**\n```\n\n删除已附加的属性效果配置块", "type": "text" }, "group": "act" }, { "id": "act.section.despair-appendage.ru4wj8", "match": { "extensions": [ ".act" ] }, "target": { "kind": "section", "section": "despair appendage" }, "annotation": { "title": "绝望/拆除类机制参数(伤害门槛/计时/失败后效果)", "content": "绝望机制效果:在 [BEHAVIOR] 中附加绝望/拆除机制。参数:需要互相造成的伤害、可攻击时限(毫秒)、清除失败生成对象索引、炸弹伤害、失败受到的伤害(%)。\n\n#### 官方示例: actionsample.act\n\n```pvf\n**[DESPAIR APPENDAGE]** 500 5000 123 600 50 // 需要互相造成的伤害,可以互相攻击的时间,清除失败时生成的对象,清除失败时炸弹伤害,清除失败时受到的伤害(%)\n```\n\n绝望/拆除类机制参数(伤害门槛/计时/失败后效果)", "type": "text" }, "group": "act" }, { "id": "act.section.destroy-by-force.1ta2r9", "match": { "extensions": [ ".act" ] }, "target": { "kind": "section", "section": "destroy by force" }, "annotation": { "title": "强制销毁(可针对非所有者执行)", "content": "[BEHAVIOR] 中的强制销毁动作。它与 [DESTROY] 类似,但即使执行者不是目标对象的创建者/所有者也可执行;官方明确警告误用可能造成错误动作,目标生命周期和同步需实机验证。\n\n#### 官方示例: actionsample.act\n\n```pvf\n**[DESTROY BY FORCE]** // 与 [DESTROY] 相同,但即使不是该对象的主人也能够执行。\n // 误用可能导致错误动作,因此请尽量克制使用此标签(需要咨询客户端部门)\n```\n\n强制销毁(可针对非所有者执行)", "type": "text" }, "group": "act" }, { "id": "act.section.destroy-object.j4eczg", "match": { "extensions": [ ".act" ] }, "target": { "kind": "section", "section": "destroy object" }, "annotation": { "title": "在 ON DESTROY OBJECT 场景中使用", "content": "在 ON DESTROY OBJECT 场景中使用,表示被销毁的对象来源\n\n#### 官方示例: actionsample.act\n\n```pvf\n[DESTROY OBJECT] // 被破坏的对象 // 仅在 ON DESTROY OBJECT 中使用\n```\n\n#### 官方示例: actionsamplebytool.act\n\n```pvf\n{must1}{exp}被破坏的物体{/exp}[DESTROY OBJECT]\t//{prereq}[ON DESTROY OBJECT]{/prereq}\n```\n\n```pvf\n{opt7}{exp}被破坏的物体{/exp}[DESTROY OBJECT]\t\t//{prereq}[ON DESTROY OBJECT]{/prereq}\n```\n\n在 ON DESTROY OBJECT 场景中使用", "type": "text" }, "group": "act" }, { "id": "act.section.destroy.1ihct3", "match": { "extensions": [ ".act" ] }, "target": { "kind": "section", "section": "destroy" }, "annotation": { "title": "销毁对象(普通销毁)", "content": "销毁对象:在 [BEHAVIOR] 中销毁目标对象,直接消失,不显示碎片或特效。\n\n#### 官方示例: actionsample.act\n\n```pvf\n**[DESTROY]** // 被破坏。不出现碎片等直接消失。\n```\n\n销毁对象(普通销毁)", "type": "text" }, "group": "act" }, { "id": "act.section.die-command.1n2qyt", "match": { "extensions": [ ".act" ] }, "target": { "kind": "section", "section": "die_command" }, "annotation": { "title": "消息类型", "content": "消息类型:死亡命令(参数指定死亡类型行为)\n\n#### 官方示例: actionsample.act\n\n```pvf\n[DIE_COMMAND] 0 //怪物死亡方式 1: 执行最后的动作后死亡。 0: 不执行最后的动作直接死亡\n```\n\n#### 官方示例: actionsamplebytool.act\n\n```pvf\n{must1}[DIE_COMMAND]\n\t\t{must2}{exp}索引{/exp}{int(:)}\n\t\t//mkjung 120512 修改 - 目标、命令持续时间参数,所有命令都进行相应opt处理。\n\t\t//{prereq}[ETC_COMMAND]{/prereq}{must3}{exp}目标(1:发送方,0:接收方){/exp}{int(0:1)}\n\t\t//{prereq}[ETC_COMMAND]{/prereq}{must4}{exp}命令持续时间{/exp}{int(0:)}\n\t\t{opt1}{exp}目标(1:发送方,0:接收方){/exp}{int(0:1)}\n\t\t{opt2}{exp}命令持续时间{/exp}{int(0:)}\n```\n\n消息类型", "type": "text" }, "group": "act" }, { "id": "act.section.die.1o1es4", "match": { "extensions": [ ".act" ] }, "target": { "kind": "section", "section": "die" }, "annotation": { "title": "死亡动作", "content": "动作常量:死亡状态/动作\n\n#### 官方示例: actionsample.act\n\n```pvf\n[DIE] // 动作常量:死亡动作\n```\n\n动作常量", "type": "text" }, "group": "act" }, { "id": "act.section.direction.1pzrnm", "match": { "extensions": [ ".act" ] }, "target": { "kind": "section", "section": "direction" }, "annotation": { "title": "方向子项(LEFT/RIGHT/RANDOM 等)", "content": "伤害方向子项:在 [SET ACTION]/[DAMAGE] 中设置伤害动作的方向。值为 [LEFT]/[RIGHT]/[RANDOM]/[REVERSE]/[MY DIRECTION]/[MY OPPOSITE DIRECTION]。\n\n#### 官方示例: actionsample.act\n\n```pvf\n[DIRECTION] [LEFT] // or [RIGHT] or [RANDOM] or [REVERSE] or [MY DIRECTION] or [MY OPPOSITE DIRECTION]\n```\n\n方向子项(LEFT/RIGHT/RANDOM 等)", "type": "text" }, "group": "act" }, { "id": "act.section.disable-keyinput.gr1dro", "match": { "extensions": [ ".act" ] }, "target": { "kind": "section", "section": "disable keyinput" }, "annotation": { "title": "是否在此期间禁用键盘输入(开关)", "content": "禁用按键输入:在 [BOOSTER APPENDAGE] 中使用此标签时阻止玩家的键盘输入,省略时允许按键操作。\n\n#### 官方示例: actionsample.act\n\n```pvf\n[DISABLE KEYINPUT] // 是否阻止按键输入(省略时可按键输入)\n```\n\n是否在此期间禁用键盘输入(开关)", "type": "text" }, "group": "act" }, { "id": "act.section.disease-appendage.rmtnce", "match": { "extensions": [ ".act" ] }, "target": { "kind": "section", "section": "disease appendage" }, "annotation": { "title": "疾病类效果", "content": "疾病类效果:持续时间、伤害、范围、潜伏时间等\n\n#### 官方示例: actionsample.act\n\n```pvf\n**[DISEASE APPENDAGE]** 30000 300 100 1000 // 疾病持续时间,疾病伤害,疾病感染范围,暴露于疾病 x 秒后感染\n```\n\n疾病类效果", "type": "text" }, "group": "act" }, { "id": "act.section.display-screen.1np5cn", "match": { "extensions": [ ".act" ] }, "target": { "kind": "section", "section": "display screen" }, "annotation": { "title": "在屏幕特定位置显示(如屏幕中央)", "content": "屏幕中央显示施法条:在 [CASTING EX] 中使用,指定在屏幕中央下方显示施法进度条。可与其他显示方式共存。\n\n#### 官方示例: actionsample.act\n\n```pvf\n[DISPLAY SCREEN] //在屏幕中央下方显示施法条。\n```\n\n在屏幕特定位置显示(如屏幕中央)", "type": "text" }, "group": "act" }, { "id": "act.section.display-target.duwvw2", "match": { "extensions": [ ".act" ] }, "target": { "kind": "section", "section": "display target" }, "annotation": { "title": "在目标上显示 UI 元素(如施法条)", "content": "目标显示施法条:在 [CASTING EX] 中使用,指定在目标对象身上显示施法进度条。与 [DISPLAY ME] 互斥。\n\n#### 官方示例: actionsample.act\n\n```pvf\n[DISPLAY TARGET] // (或 [DISPLAY ME]) // 在目标身上显示施法条\n```\n\n在目标上显示 UI 元素(如施法条)", "type": "text" }, "group": "act" }, { "id": "act.section.do-me.zrtfhu", "match": { "extensions": [ ".act" ] }, "target": { "kind": "section", "section": "do me" }, "annotation": { "title": "在施法后执行自身的行为(DO ME 子项)", "content": "施法后执行自身行为:在 [CASTING EX] 中使用,指定施法完成后调用自己的 behavior 而非目标的。\n\n#### 官方示例: actionsample.act\n\n```pvf\n[DO ME] // 施法后调用 behavior 的目标对象(此情况下施法后调用自己的 behavior)\n```\n\n在施法后执行自身的行为(DO ME 子项)", "type": "text" }, "group": "act" }, { "id": "act.section.do-not-pass.sumqlm", "match": { "extensions": [ ".act" ] }, "target": { "kind": "section", "section": "do not pass" }, "annotation": { "title": "不可通行", "content": "#### 官方示例: actionsample.act\n\n```pvf\n[do not pass] // 不可通行\n```\n\n不可通行", "type": "text" }, "group": "act" }, { "id": "act.section.dropout-object.18dayb", "match": { "extensions": [ ".act" ] }, "target": { "kind": "section", "section": "dropout object" }, "annotation": { "title": "目标来源", "content": "目标来源:未通过 CHECKUP 的对象集合\n\n#### 官方示例: actionsample.act\n\n```pvf\n[DROPOUT OBJECT] // 未通过目标条件检查的对象\n```\n\n#### 官方示例: actionsamplebytool.act\n\n```pvf\n//行为索引\n\t\t{prereq}[ME]|[SUMMON MASTER]|[CHECKUP OBJECT]|[DROPOUT OBJECT]|[TARGET]|[LAST ATTACKER]|[LAST ACTIVE ATTACKER]|[LAST ATTACKSUCCESS]|[LAST ATTACKSUCCESSES]{/prereq}{must2}{exp}行为索引{/exp}{rndint(:)}\n\t\t//延迟时间\n```\n\n```pvf\n//延迟时间\n\t\t{prereq}[ME]|[SUMMON MASTER]|[CHECKUP OBJECT]|[DROPOUT OBJECT]|[TARGET]|[LAST ATTACKER]|[LAST ACTIVE ATTACKER]|[LAST ATTACKSUCCESS]|[LAST ATTACKSUCCESSES]{/prereq}{must3}{exp}延迟时间(ms单位){/exp}{int(0:)}\n```\n\n目标来源\n\n官方示例:\n#### 官方示例: actionsample.act\n\n```pvf\n//延迟时间\n\t\t{prereq}[ME]|[SUMMON MASTER]|[CHECKUP OBJECT]|[DROPOUT OBJECT]|[TARGET]|[LAST ATTACKER]|[LAST ACTIVE ATTACKER]|[", "type": "text" }, "group": "act" }, { "id": "act.section.effect-alpha-start.1n4tqo", "match": { "extensions": [ ".act" ] }, "target": { "kind": "section", "section": "effect alpha start" }, "annotation": { "title": "颜色变换", "content": "颜色变换:透明度起始值(0-255)\n\n#### 官方示例: actionsample.act\n\n```pvf\n[EFFECT ALPHA START] //mkjung 120516 add\n```\n\n#### 官方示例: actionsamplebytool.act\n\n```pvf\n//mkjung 120516 [EFFECT ALPHA START] 添加\n\t\t{opt7}{exp}Alpha起始值{/exp}[EFFECT ALPHA START]\n\t\t\t{must1}{exp}不输入数据则为0{/exp}{int(0:255)}\n```\n\n颜色变换", "type": "text" }, "group": "act" }, { "id": "act.section.effect-blue-end.quiej9", "match": { "extensions": [ ".act" ] }, "target": { "kind": "section", "section": "effect blue end" }, "annotation": { "title": "颜色变换", "content": "颜色变换:蓝色结束值(0-255)\n\n#### 官方示例: actionsample.act\n\n```pvf\n[EFFECT BLUE END] //mkjung 120516 add\n```\n\n#### 官方示例: actionsamplebytool.act\n\n```pvf\n//mkjung 120516 [EFFECT BLUE END] 添加。\n\t\t{opt2}{exp}蓝色结束值{/exp}[EFFECT BLUE END]\n\t\t\t{must1}{exp}不输入数据则为0{/exp}{int(0:255)}\n```\n\n颜色变换", "type": "text" }, "group": "act" }, { "id": "act.section.effect-blue-start.p2kxf0", "match": { "extensions": [ ".act" ] }, "target": { "kind": "section", "section": "effect blue start" }, "annotation": { "title": "颜色变换", "content": "颜色变换:蓝色起始值(0-255)\n\n#### 官方示例: actionsample.act\n\n```pvf\n[EFFECT BLUE START] 255 // 蓝色起始值(有 RED GREEN BLUE ALPHA)。不输入数据则为0\n```\n\n颜色变换", "type": "text" }, "group": "act" }, { "id": "act.section.effect-green-end.13dvhl", "match": { "extensions": [ ".act" ] }, "target": { "kind": "section", "section": "effect green end" }, "annotation": { "title": "颜色变换", "content": "颜色变换:绿色结束值(0-255)\n\n#### 官方示例: actionsample.act\n\n```pvf\n[EFFECT GREEN END] //mkjung 120516 add\n```\n\n颜色变换", "type": "text" }, "group": "act" }, { "id": "act.section.effect-green-start.1cjsph", "match": { "extensions": [ ".act" ] }, "target": { "kind": "section", "section": "effect green start" }, "annotation": { "title": "颜色变换", "content": "颜色变换:绿色起始值(0-255)\n\n#### 官方示例: actionsample.act\n\n```pvf\n[EFFECT GREEN START] //mkjung 120516 add\n```\n\n#### 官方示例: actionsamplebytool.act\n\n```pvf\n//mkjung 120516 [EFFECT GREEN START], [EFFECT GREEN END] 添加。\n\t\t{opt5}{exp}红色起始值{/exp}[EFFECT GREEN START]\n\t\t\t{must1}{exp}不输入数据则为0{/exp}{int(0:255)}\n```\n\n颜色变换", "type": "text" }, "group": "act" }, { "id": "act.section.effect-red-start.498h83", "match": { "extensions": [ ".act" ] }, "target": { "kind": "section", "section": "effect red start" }, "annotation": { "title": "颜色变换", "content": "颜色变换:红色起始值(0-255)\n\n#### 官方示例: actionsample.act\n\n```pvf\n[EFFECT RED START] //mkjung 120516 add\n```\n\n#### 官方示例: actionsamplebytool.act\n\n```pvf\n//mkjung 120516 [EFFECT RED START] 添加。\n\t\t{opt3}{exp}红色起始值{/exp}[EFFECT RED START]\n\t\t\t{must1}{exp}不输入数据则为0{/exp}{int(0:255)}\n```\n\n颜色变换", "type": "text" }, "group": "act" }, { "id": "act.section.end-keystroke-mode.estbe0", "match": { "extensions": [ ".act" ] }, "target": { "kind": "section", "section": "end keystroke mode" }, "annotation": { "title": "结束按键连击模式配置", "content": "按键连击模式结束:在 [BEHAVIOR] 中结束由 [START KEYSTROKE MODE] 开启的按键连击判定系统。\n\n#### 官方示例: actionsample.act\n\n```pvf\n//mkjung 120518 add.\n **[END KEYSTROKE MODE]**\n```\n\n#### 官方示例: actionsamplebytool.act\n\n```pvf\n//mkjung 120518 添加。\n\t{etc}[END KEYSTROKE MODE]\n```\n\n结束按键连击模式配置", "type": "text" }, "group": "act" }, { "id": "act.section.end.tkd2ga", "match": { "extensions": [ ".act" ] }, "target": { "kind": "section", "section": "end" }, "annotation": { "title": "动画结束后执行", "content": "执行时序关键字:在动作结束时生效/终结\n\n#### 官方示例: actionsample.act\n\n```pvf\n[NOW] (或 [END]) // 等待当前动作的动画结束后再改变动作\n```\n\n执行时序关键字", "type": "text" }, "group": "act" }, { "id": "act.section.enemy-team.1gmk90", "match": { "extensions": [ ".act" ] }, "target": { "kind": "section", "section": "enemy team" }, "annotation": { "title": "队伍常量", "content": "队伍常量:敌方队伍\n\n#### 官方示例: actionsample.act\n\n```pvf\n**[MASTER APPENDAGE]** 0 300 [ENEMY TEAM] //顺序为 - 时间(0则持续),范围,仅对我方生效则用 [MY TEAM],\n //仅对敌人生效则用[ENEMY TEAM]\n```\n\n队伍常量", "type": "text" }, "group": "act" }, { "id": "act.section.etc-command.14sijz", "match": { "extensions": [ ".act" ] }, "target": { "kind": "section", "section": "etc_command" }, "annotation": { "title": "消息类型", "content": "消息类型:通用命令及参数(用于 SEND MESSAGE)\n\n#### 官方示例: actionsample.act\n\n```pvf\n[ETC_COMMAND] 1 1 5000 //命令索引, 目标指定(1: 发送对象的攻击目标,0: 接收对象的攻击目标), 命令持续时间\n```\n\n消息类型", "type": "text" }, "group": "act" }, { "id": "act.section.even-one-death.1kfums", "match": { "extensions": [ ".act" ] }, "target": { "kind": "section", "section": "even one death" }, "annotation": { "title": "检查项", "content": "检查项:只要存在至少一名死亡成员则通过\n\n#### 官方示例: actionsample.act\n\n```pvf\n**[CHECK PARTYMEMBERS STATE]**[EVEN ONE DEATH] // 只要有一个死亡则通过,否则不通过\n```\n\n检查项", "type": "text" }, "group": "act" }, { "id": "act.section.exchange-hp-rate.1uccwi", "match": { "extensions": [ ".act" ] }, "target": { "kind": "section", "section": "exchange hp rate" }, "annotation": { "title": "与目标交换 HP 比例(选择最大 HP 的目标)", "content": "交换 HP 比例:在 [BEHAVIOR] 中将自己的 HP 比例与目标交换。有多个目标时取 HP 最大的目标进行交换。\n\n#### 官方示例: actionsample.act\n\n```pvf\n**[EXCHANGE HP RATE]** // 交换目标与我的 HP 比率。当有多个目标时,取 HP 最大的目标进行交换。\n```\n\n与目标交换 HP 比例(选择最大 HP 的目标)", "type": "text" }, "group": "act" }, { "id": "act.section.falling-init-velocity.1cqnrv", "match": { "extensions": [ ".act" ] }, "target": { "kind": "section", "section": "falling init velocity" }, "annotation": { "title": "初始下落速度(数值)", "content": "初始下落速度:在 [BOOSTER APPENDAGE] 中设置下落动作的初始速度值(\u003e= 0)。\n\n#### 官方示例: actionsample.act\n\n```pvf\n[FALLING INIT VELOCITY] 1000 // 下落初始速度(\u003e= 0)\n```\n\n初始下落速度(数值)", "type": "text" }, "group": "act" }, { "id": "act.section.fire-element-attack.kxll4v", "match": { "extensions": [ ".act" ] }, "target": { "kind": "section", "section": "fire element attack" }, "annotation": { "title": "火属性强化", "content": "#### 官方示例: actionsample.act\n\n```pvf\n[fire element attack] [+] 100.0 // 火属性强化\n```\n\n火属性强化", "type": "text" }, "group": "act" }, { "id": "act.section.first-arg.6g2g9d", "match": { "extensions": [ ".act" ] }, "target": { "kind": "section", "section": "first arg" }, "annotation": { "title": "第一个参数", "content": "#### 官方示例: uiactionsample.act\n\n```pvf\n[FIRST ARG] -1.0 -1.0\t\t// 第一个参数:插值前 X 比例,插值前 Y 比例(输入 -1.0 则取当前值)\n```\n\n```pvf\n[FIRST ARG] -1.0 -1.0\t\t// 第一个参数:插值前 X 角度(DEGREE),-1.0(不使用)\n```\n\n```pvf\n[FIRST ARG] 255.0 -1.0\t// 第一个参数:插值前 Alpha 值,-1.0(不使用)\n```\n\nFIRST ARG", "type": "text" }, "group": "act" }, { "id": "act.section.fixture.kbvdiq", "match": { "extensions": [ ".act" ] }, "target": { "kind": "section", "section": "fixture" }, "annotation": { "title": "固定位置", "content": "#### 官方示例: actionsample.act\n\n```pvf\n[fixture], // CATEGORY_ETC_FIXTURE\n```\n\n```pvf\n//移除分类\n //[REMOVE CATEGORY] 0 //要删除的分类索引\n **[REMOVE CATEGORY]** [FIXTURE] //要删除的分类 [FIXTURE]\n //[ADD CATEGORY] 24 //要插入的分类索引 24: fixture\n```\n\n```pvf\n//[ADD CATEGORY] 24 //要插入的分类索引 24: fixture\n **[ADD CATEGORY]** [FIXTURE] //要插入的分类 [FIXTURE]\n```\n\n#### 官方示例: actionsamplebytool.act\n\n```pvf\n//mkjung 120703 仅使用FIXTURE\n\t\t//{must1}索引{int(0:)}\n\t\t//mkjung 120514 添加。\n\t\t{must1}{exp}固定型怪物的情况下,静止的怪物会开始移动{/exp}[FIXTURE]\n```\n\n```pvf\n//mkjung 120703 仅使用FIXTURE\n\t\t//{must1}索引{int(0:)}\n\t\t//mkjung 120511 添加。\n\t\t{must1}{exp}具有固定型目录的怪物情况下,怪物会停止{/exp}[FIXTURE]\n```\n\nFIXTURE\n\n官方示例:\n#### 官方示例: actionsample.act\n\n```pvf\n//[ADD CATEGORY] 24 //要插入的分类索引 24: fixture\n **[ADD CATEGORY]** [FIXTURE] //要", "type": "text" }, "group": "act" }, { "id": "act.section.follow-summoner.1e9gag", "match": { "extensions": [ ".act" ] }, "target": { "kind": "section", "section": "follow summoner" }, "annotation": { "title": "跟随召唤者", "content": "召唤物随召唤者移动(1=跟随)\n\n#### 官方示例: actionsample.act\n\n```pvf\n//[FOLLOW SUMMONER] //使用此标签则召唤者穿越地图时跟随,否则不跟随\n```\n\n#### 官方示例: actionsamplebytool.act\n\n```pvf\n{opt11}{etc}[FOLLOW SUMMONER]\n```\n\n召唤物随召唤者移动(1", "type": "text" }, "group": "act" }, { "id": "act.section.force-hit-stun-time.1sl187", "match": { "extensions": [ ".act" ] }, "target": { "kind": "section", "section": "force hit stun time" }, "annotation": { "title": "强制击中眩晕时间(数值)", "content": "强制眩晕时间:在 [SET ACTION]/[DAMAGE] 中无视受击延迟恢复,强制设置眩晕/硬直状态的持续时间(毫秒)。\n\n#### 官方示例: actionsample.act\n\n```pvf\n[FORCE HIT STUN TIME] 0\n```\n\n强制击中眩晕时间(数值)", "type": "text" }, "group": "act" }, { "id": "act.section.frequency-time.1h8r10", "match": { "extensions": [ ".act" ] }, "target": { "kind": "section", "section": "frequency time" }, "annotation": { "title": "频率/间隔时间(毫秒)", "content": "触发间隔:在 [SUFFOCATION APPENDAGE] 等附加效果中设置效果周期性触发的间隔时间(毫秒)。\n\n#### 官方示例: actionsample.act\n\n```pvf\n[FREQUENCY TIME] 1000 // 受到伤害的时间间隔\n```\n\n频率/间隔时间(毫秒)", "type": "text" }, "group": "act" }, { "id": "act.section.generate-area.1i4zet", "match": { "extensions": [ ".act" ] }, "target": { "kind": "section", "section": "generate area" }, "annotation": { "title": "生成区域参数", "content": "生成区域参数:Xstart Xend Ystart Yend Zstart Zend\n\n#### 官方示例: actionsample.act\n\n```pvf\n[GENERATE AREA] -100 100 -100 100 0 0 // 被动对象生成的区域(x坐标起始,x坐标结束,y坐标起始,y坐标结束,z坐标起始,y坐标结束)\n```\n\n生成区域参数", "type": "text" }, "group": "act" }, { "id": "act.section.get-time.t9o7kk", "match": { "extensions": [ ".act" ] }, "target": { "kind": "section", "section": "get time" }, "annotation": { "title": "获取当前系统/动作时间(用于条件判断)", "content": "获取当前时间值:在 [IF] 或 [DIM] 表达式中获取当前动作时间(毫秒),用于时间相关的条件计算。\n\n#### 官方示例: actionsample.act\n\n```pvf\n//mkjung 120511 modi.\n **[DIM]** `time1` [=] [GET TIME] **[/DIM]**\n```\n\n#### 官方示例: actionsamplebytool.act\n\n```pvf\n//mkjung 120511 修改。 {}为必需。\n\t{exp}IF语句。可使用变量和数学式。可用[GET TIME]获取时间{/exp}[IF]\n```\n\n获取当前系统/动作时间(用于条件判断)", "type": "text" }, "group": "act" }, { "id": "act.section.good-hit.qsy8tp", "match": { "extensions": [ ".act" ] }, "target": { "kind": "section", "section": "good hit" }, "annotation": { "title": "硬直率(攻击时)", "content": "#### 官方示例: actionsample.act\n\n```pvf\n[good hit] [%] 100.0 // 硬直率(攻击时)\n```\n\n硬直率(攻击时)", "type": "text" }, "group": "act" }, { "id": "act.section.guard-appendage.18uksk", "match": { "extensions": [ ".act" ] }, "target": { "kind": "section", "section": "guard appendage" }, "annotation": { "title": "守护/防御附加效果", "content": "守护/防御附加效果:包含伤害吸收比例与时间/击退参数\n\n#### 官方示例: actionsamplebytool.act\n\n```pvf\n//mkjung 120517 添加\n\t[GUARD APPENDAGE]\n\t\t[DAMAGE]\n\t\t\t{opt1}[PHYSICAL]\n\t\t\t\t{must1}{exp}物伤{/exp}{int(:)}\n\t\t\t\t{must2}{exp}防御比率(百分比){/exp}{int(:)}\n\t\t\t[!PHYSICAL]\n\t\t\t{opt2}[MAGICAL]\n\t\t\t\t{must1}{exp}魔伤{/exp}{int(:)}\n\t\t\t\t{must2}{exp}防御比率(百分比){/exp}{int(:)}\n\t\t\t[!MAGICAL]\n\t\t[/DAMAGE]\n\n//mkjung 120518 添加。\n\t\t{exp}附加效果附着的时间{/exp}[TIME]\n\t\t\t{must1}{exp}0:无限{/exp}{int(0:)}\n\t\t[!TIME]\n\n[KNOCK BACK]\n\t\t\t{must1}{exp}击退值{/exp}{int(0:)}\n\t\t[!KNOCK BACK]\n\n[BACK ATTACK]\n\t\t\t{must1}{exp}背击时是否适用{/exp}{int(0:1)}\n\t\t[!BACK ATTACK]\n\t[/GUARD APPENDAGE]\n```\n\n守护/防御附加效果", "type": "text" }, "group": "act" }, { "id": "act.section.haste.ep5do0", "match": { "extensions": [ ".act" ] }, "target": { "kind": "section", "section": "haste" }, "annotation": { "title": "ACTIVESTATUS_HASTE", "content": "#### 官方示例: actionsample.act\n\n```pvf\n**[ACTIVE STATUS]** [haste] 100 20 3000 50 50 // 概率, 等级, 持续时间, 移动速度(%), 攻击速度(%)\n```\n\n#### 官方示例: actionsamplebytool.act\n\n```pvf\n{must1}{exp}加速{/exp}[haste]\t\t//ACTIVESTATUS_HASTE\n```\n\nACTIVESTATUS_HASTE\n\n官方示例:\n#### 官方示例: actionsample.act\n\n增益效果:加速\n\n#### 官方示例: attackinfosample.atk\n\n```pvf\n[active status] [haste] 100 20 3000 50 50 // 概率, 等级, 持续时间, 移速(%), 攻速(%)\n```", "type": "text" }, "group": "act" }, { "id": "act.section.height.1nb00u", "match": { "extensions": [ ".act" ] }, "target": { "kind": "section", "section": "height" }, "annotation": { "title": "高度参数(如掉落高度等)", "content": "高度参数:在 [BOOSTER APPENDAGE] 中设置下落初始高度值(\u003e 0),省略时默认为 0。\n\n#### 官方示例: actionsample.act\n\n```pvf\n[HEIGHT] 200000 // 下落初始高度(\u003e 0,省略时初始值:0)\n```\n\n高度参数(如掉落高度等)\n\n官方示例:\n#### 官方示例: actionsample.act\n\n#### 官方示例: newmonstersample.mob\n\n```pvf\n[height] 200 // 被动对象可移动区域的高度。\n```", "type": "text" }, "group": "act" }, { "id": "act.section.hellofheal-appendage.10myyq", "match": { "extensions": [ ".act" ] }, "target": { "kind": "section", "section": "hellofheal appendage" }, "annotation": { "title": "范围内治疗时反弹伤害配置(倍率/间隔)", "content": "治疗反弹伤害:在 [BEHAVIOR] 中附加效果,在恢复范围内造成反弹伤害。参数为伤害倍数(200 则为 2 倍)和应用间隔(毫秒)。需配合 [DISTANCE] 检查使用。\n\n#### 官方示例: actionsample.act\n\n```pvf\n**[HELLOFHEAL APPENDAGE]** 200 1000 // 在范围内恢复时造成伤害。需要用 DISTANCE 检查后使用\n // 倍数(200则为2倍),应用间隔(1000则为1秒)\n```\n\n范围内治疗时反弹伤害配置(倍率/间隔)", "type": "text" }, "group": "act" }, { "id": "act.section.hero.7k0f2x", "match": { "extensions": [ ".act" ] }, "target": { "kind": "section", "section": "hero" }, "annotation": { "title": "英雄难度", "content": "AI / 难度常量:英雄级别\n\n#### 官方示例: actionsample.act\n\n```pvf\n**[CHANGE AI]** [HERO] 2 `Action2.ai`\n```\n\nAI / 难度常量", "type": "text" }, "group": "act" }, { "id": "act.section.hit-delay.xc3ltd", "match": { "extensions": [ ".act" ] }, "target": { "kind": "section", "section": "hit delay" }, "annotation": { "title": "击中延迟(帧或毫秒)", "content": "受击延迟恢复:在 [SET ACTION]/[DAMAGE] 中设置受击后的延迟恢复时间(帧数或毫秒)。\n\n#### 官方示例: actionsample.act\n\n```pvf\n[HIT DELAY] 10\n```\n\n击中延迟(帧或毫秒)", "type": "text" }, "group": "act" }, { "id": "act.section.hp-appendage.gkby3y", "match": { "extensions": [ ".act" ] }, "target": { "kind": "section", "section": "hp appendage" }, "annotation": { "title": "基于范围的生命变化附加效果", "content": "基于范围的生命变化附加效果:时间、范围、目标集合、应用方式、基准与数值/间隔\n\n#### 官方示例: actionsample.act\n\n```pvf\n**[HP APPENDAGE]**\n 5000 //时间\n 300 //范围\n [ALL] //目标 [MY TEAM], [ENEMY TEAM], [ALL]\n [%] //应用方法 [%], [+]\n [HP MAX] //基准 hp [HP MAX], [HP] 两种\n -10 //应用量 //造成伤害用 -,治疗用 +\n 500 //应用间隔\n **[/HP APPENDAGE]**\n```\n\n基于范围的生命变化附加效果", "type": "text" }, "group": "act" }, { "id": "act.section.hp-regen-rate.3kpcwe", "match": { "extensions": [ ".act" ] }, "target": { "kind": "section", "section": "hp regen rate" }, "annotation": { "title": "HP恢复率", "content": "#### 官方示例: actionsample.act\n\n```pvf\n[hp regen rate] [%] 100.0 // HP恢复率\n```\n\nHP恢复率\n\n官方示例:\n#### 官方示例: actionsample.act\n\n每分钟恢复生命值\n\n该标签位于BOSS面板时,左边为战斗状态回复量,右边为脱战回复量(大概是)\n\n0.3 = 每分钟回复30%\n\n#### 官方示例: newmonstersample.mob\n\n```pvf\n[hp regen rate] 0.0 0.0 // 锁定目标时的恢复比率,无目标时的恢复比率。\n// 默认值 0.15f 0.6f。\n```", "type": "text" }, "group": "act" }, { "id": "act.section.ice-appendage.1it4gz", "match": { "extensions": [ ".act" ] }, "target": { "kind": "section", "section": "ice appendage" }, "annotation": { "title": "冰冻类附加伤害", "content": "冰冻类附加伤害:伤害、范围、间隔等\n\n#### 官方示例: actionsample.act\n\n```pvf\n**[ICE APPENDAGE]** 1000 1000 1000 //伤害,范围,伤害间隔\n```\n\n冰冻类附加伤害", "type": "text" }, "group": "act" }, { "id": "act.section.if-fail.1pxgra", "match": { "extensions": [ ".act" ] }, "target": { "kind": "section", "section": "if fail" }, "annotation": { "title": "节奏/判定失败时触发的子项", "content": "节奏/判定失败时触发的子项:生成对象索引及偏移\n\n#### 官方示例: actionsample.act\n\n```pvf\n[IF FAIL] 2 0 0 10 // 失败时生成的对象索引,以对象为基准的 X,Y,Z 坐标\n```\n\n节奏/判定失败时触发的子项", "type": "text" }, "group": "act" }, { "id": "act.section.if-success.1cqqf1", "match": { "extensions": [ ".act" ] }, "target": { "kind": "section", "section": "if success" }, "annotation": { "title": "节奏/判定成功时触发的子项", "content": "节奏/判定成功时触发的子项:生成对象索引及偏移\n\n#### 官方示例: actionsample.act\n\n```pvf\n[IF SUCCESS] 1 0 0 0 // 成功时生成的对象索引,以对象为基准的 X,Y,Z 坐标\n```\n\n节奏/判定成功时触发的子项", "type": "text" }, "group": "act" }, { "id": "act.section.include-dead.1ksety", "match": { "extensions": [ ".act" ] }, "target": { "kind": "section", "section": "include dead" }, "annotation": { "title": "用于队伍/玩家选择", "content": "用于队伍/玩家选择:是否包含死亡成员(1 = 包含,0 = 不包含)\n\n#### 官方示例: actionsample.act\n\n```pvf\n[INCLUDE DEAD] 1 // [INCLUDE DEAD]: 是否检查已死亡队员?1为检查,0为不检查(参数可省略)\n```\n\n```pvf\n[INCLUDE DEAD] 0 // 是否包含已死亡队员(1: 包含, 0: 不包含),标签省略时默认值 = 0\n```\n\n用于队伍/玩家选择", "type": "text" }, "group": "act" }, { "id": "act.section.infection-appendage.jrfgxd", "match": { "extensions": [ ".act" ] }, "target": { "kind": "section", "section": "infection appendage" }, "annotation": { "title": "感染类附加效果", "content": "感染类附加效果:感染 ID, 触发逻辑与持续/间隔参数\n\n#### 官方示例: actionsample.act\n\n```pvf\n// 0. 感知对象索引\n // 1. 对象受击时上升的计量条数值\n // 2. 超过5格时下一次攻击受到的伤害\n // 3. 感染计量减少一格的时间\n // 4. 附加状态持续时间(想设为无限时请给一个非常大的数字)\n **[INFECTION APPENDAGE]** 2123 1 200 4000 10000\n```\n\n感染类附加效果", "type": "text" }, "group": "act" }, { "id": "act.section.init-pos.1p3iif", "match": { "extensions": [ ".act" ] }, "target": { "kind": "section", "section": "init pos" }, "annotation": { "title": "初始化位置坐标(X Y Z)", "content": "初始位置:在 [BOOSTER APPENDAGE] 中设置推进器动作的初始 X、Y、Z 坐标位置。\n\n#### 官方示例: actionsample.act\n\n```pvf\n[INIT POS] 400 120 200000 // 初始位置(依次为 X, Y, Z 位置)\n```\n\n初始化位置坐标(X Y Z)", "type": "text" }, "group": "act" }, { "id": "act.section.is-ai-target.1j3ean", "match": { "extensions": [ ".act" ] }, "target": { "kind": "section", "section": "is ai target" }, "annotation": { "title": "判断当前 AI 是否存在目标(1", "content": "判断当前 AI 是否存在目标(1: 有, 0: 无)\n\n#### 官方示例: actionsample.act\n\n```pvf\n**[IS AI TARGET]** 1 // 检查当前 AI 是否有目标 1 :有则为 true, 0 :无则为 true\n // 目标条件检查部分(大类)\n```\n\n判断当前 AI 是否存在目标(1", "type": "text" }, "group": "act" }, { "id": "act.section.is-direction-to-move.uxek3u", "match": { "extensions": [ ".act" ] }, "target": { "kind": "section", "section": "is direction to move" }, "annotation": { "title": "移动时是否按移动方向面向(1", "content": "移动时是否按移动方向面向(1: 按移动方向,0: 按目标方向)\n\n#### 官方示例: actionsample.act\n\n```pvf\n**[IS DIRECTION TO MOVE]** 1 //1则面向移动方向移动,0则面向目标移动(默认为0)\n (1 :则看向目标)\n```\n\n移动时是否按移动方向面向(1\n\n官方示例:\n#### 官方示例: actionsample.act\n\n#### 官方示例: newmonstersample.mob\n\n```pvf\n[is direction to move] 1 // 1则朝移动的方向看并移动,0则看着目标移动(默认是0)\n```", "type": "text" }, "group": "act" }, { "id": "act.section.is-enable.1st8c8", "match": { "extensions": [ ".act" ] }, "target": { "kind": "section", "section": "is enable" }, "annotation": { "title": "检查是否激活 (1", "content": "#### 官方示例: uiactionsample.act\n\n```pvf\n[IS ENABLE]\t\t1\t\t\t\t// 检查是否激活 (1 : 激活状态则通过,0 : 非激活状态则通过)\n```\n\n检查是否激活 (1", "type": "text" }, "group": "act" }, { "id": "act.section.is-me.1rc31i", "match": { "extensions": [ ".act" ] }, "target": { "kind": "section", "section": "is me" }, "annotation": { "title": "检查是否是我的控件", "content": "#### 官方示例: uiactionsample.act\n\n```pvf\n[IS ME]\t\t\t\t\t\t\t// 检查是否是我的控件\n```\n\n检查是否是我的控件", "type": "text" }, "group": "act" }, { "id": "act.section.is-ourteamattacked.1ilqwx", "match": { "extensions": [ ".act" ] }, "target": { "kind": "section", "section": "is ourteamattacked" }, "annotation": { "title": "检测是否有队友被攻击触发(布尔)", "content": "队友受击感知:在 [CHECKUP] 中感知我方队伍成员是否正在受到攻击(是否处于 DAMAGE 状态)。\n\n#### 官方示例: actionsample.act\n\n```pvf\n**[IS OURTEAMATTACKED]** // 我方被攻击时感知\n```\n\n检测是否有队友被攻击触发(布尔)", "type": "text" }, "group": "act" }, { "id": "act.section.is-type.98tsuv", "match": { "extensions": [ ".act" ] }, "target": { "kind": "section", "section": "is type" }, "annotation": { "title": "检查控件类型(与 UI 自动化中填写的控件类型字符串相同)", "content": "#### 官方示例: uiactionsample.act\n\n```pvf\n[IS TYPE] [balloon]\t\t\t// 检查控件类型(与 UI 自动化中填写的控件类型字符串相同)\n```\n\n检查控件类型(与 UI 自动化中填写的控件类型字符串相同)", "type": "text" }, "group": "act" }, { "id": "act.section.is-visible.1iibog", "match": { "extensions": [ ".act" ] }, "target": { "kind": "section", "section": "is visible" }, "annotation": { "title": "检查是否可见 (1", "content": "#### 官方示例: uiactionsample.act\n\n```pvf\n[IS VISIBLE]\t1\t\t\t\t// 检查是否可见 (1 : 可见则通过,0 : 不可见则通过)\n```\n\n检查是否可见 (1", "type": "text" }, "group": "act" }, { "id": "act.section.jump-to-target.gtjjx3", "match": { "extensions": [ ".act" ] }, "target": { "kind": "section", "section": "jump to target" }, "annotation": { "title": "向目标跳跃的复杂参数集(速度/高度/重力/帧 等)", "content": "向目标跳跃:在 [BEHAVIOR] 中使对象向目标跳跃移动,包含复杂参数:速度、跳跃高度、自定义重力、距离保持比率、最大 X/Y 值、上升帧、下降帧、落地帧。注意:需在 .mob 文件中注册 [jump action]。\n\n#### 官方示例: actionsample.act\n\n```pvf\n**[JUMP TO TARGET]** -1 500 -1500 1.2 1000 600 0 1 2 // 向目标跳跃。根据参数可调整跳跃轨迹。\n // 速度,跳跃高度,自定义重力,与目标距离保持比率,最大X,最大Y,上升时帧,下降时帧,落地时帧\n // (2009/09/28 李元满,功能添加及修改)\n // 注意:.mob文件中必须注册有 [jump action]!\n```\n\n向目标跳跃的复杂参数集(速度/高度/重力/帧 等)", "type": "text" }, "group": "act" }, { "id": "act.section.jump.1ael6v", "match": { "extensions": [ ".act" ] }, "target": { "kind": "section", "section": "jump" }, "annotation": { "title": "动作常量", "content": "动作常量:跳跃动作引用\n\n#### 官方示例: actionsample.act\n\n```pvf\n[MOVING MOTION] [JUMP] //移动中采取的动作。[STAND],[JUMP],[DAMAGE],[SIT],[OVERTURN],[DOWN] 中选一\n```\n\n动作常量", "type": "text" }, "group": "act" }, { "id": "act.section.jumpattack.p5g6et", "match": { "extensions": [ ".act" ] }, "target": { "kind": "section", "section": "jumpattack" }, "annotation": { "title": "动作常量", "content": "动作常量:跳跃攻击动作引用\n\n#### 官方示例: actionsamplebytool.act\n\n```pvf\n{must1}[JUMPATTACK]\n\t\t//mkjung 120515 [OVERTURN], [SIT] 添加。\n```\n\n动作常量", "type": "text" }, "group": "act" }, { "id": "act.section.knock-back-pixel.1xf0ph", "match": { "extensions": [ ".act" ] }, "target": { "kind": "section", "section": "knock back pixel" }, "annotation": { "title": "击退像素值(用于击退位移距离)", "content": "击退像素值:在 [SET ACTION]/[DAMAGE] 中设置受击时击退位移的像素距离。\n\n#### 官方示例: actionsample.act\n\n```pvf\n[KNOCK BACK PIXEL] 0\n```\n\n击退像素值(用于击退位移距离)", "type": "text" }, "group": "act" }, { "id": "act.section.knock-back.hexjkq", "match": { "extensions": [ ".act" ] }, "target": { "kind": "section", "section": "knock back" }, "annotation": { "title": "击退类型常量", "content": "击退类型常量:标准击退\n\n#### 官方示例: actionsample.act\n\n```pvf\n[KNOCK BACK] 1000 //击退值\n```\n\n击退类型常量", "type": "text" }, "group": "act" }, { "id": "act.section.knock.vqplrz", "match": { "extensions": [ ".act" ] }, "target": { "kind": "section", "section": "knock" }, "annotation": { "title": "命中类型", "content": "命中类型:击退/击飞类型常量\n\n#### 官方示例: actionsample.act\n\n```pvf\n[HIT TYPE] [KNOCK] // or [SLASH] or [BURN] or [CUSTOM] or [MANA BURN]\n```\n\n命中类型", "type": "text" }, "group": "act" }, { "id": "act.section.last-active-attacker.8nzj4s", "match": { "extensions": [ ".act" ] }, "target": { "kind": "section", "section": "last active attacker" }, "annotation": { "title": "最近一次以 Active 对象形式攻击本体的攻击者(目标来源)", "content": "最近主动攻击者:作为目标来源,指向最后以主动对象(Active Object)身份攻击自己的攻击者。\n\n#### 官方示例: actionsample.act\n\n```pvf\n[LAST ACTIVE ATTACKER] // 最后攻击自己的攻击者(主动对象)\n```\n\n#### 官方示例: actionsamplebytool.act\n\n```pvf\n//行为索引\n\t\t{prereq}[ME]|[SUMMON MASTER]|[CHECKUP OBJECT]|[DROPOUT OBJECT]|[TARGET]|[LAST ATTACKER]|[LAST ACTIVE ATTACKER]|[LAST ATTACKSUCCESS]|[LAST ATTACKSUCCESSES]{/prereq}{must2}{exp}行为索引{/exp}{rndint(:)}\n\t\t//延迟时间\n```\n\n```pvf\n//延迟时间\n\t\t{prereq}[ME]|[SUMMON MASTER]|[CHECKUP OBJECT]|[DROPOUT OBJECT]|[TARGET]|[LAST ATTACKER]|[LAST ACTIVE ATTACKER]|[LAST ATTACKSUCCESS]|[LAST ATTACKSUCCESSES]{/prereq}{must3}{exp}延迟时间(ms单位){/exp}{int(0:)}\n```\n\n最近一次以 Active 对象形式攻击本体的攻击者(目标来源)\n\n官方示例:\n#### 官方示例: actionsample.act\n\n```pvf\n//行为索引\n\t\t{prereq}[ME]|[SUMMON MASTER]|[CHECKUP OBJECT]|[DROPOUT OBJECT]|[TARGET]|[LAST ATTACKER]|[LAST ACTIVE ATTACKER]|[LAST ATTACKSUCCESS]|[LAST ATTACKSUCCESSES]{/prereq}{must2}{exp}行为索引{/exp}{rndint(:)}", "type": "text" }, "group": "act" }, { "id": "act.section.last-attackers.1ahsjr", "match": { "extensions": [ ".act" ] }, "target": { "kind": "section", "section": "last attackers" }, "annotation": { "title": "在指定时间窗口内攻击过本体的攻击者集合(支持时间与类型参数)", "content": "指定时间内的攻击者集合:作为目标来源,指向指定时间窗口(毫秒)内攻击过自己的攻击者。参数:时间窗口 + 类型(0=攻击者, 1=主动对象)。\n\n#### 官方示例: actionsample.act\n\n```pvf\n[LAST ATTACKERS] 1000 0 // 指定时间内攻击自己的攻击者们 第一个参数是时间,第二个参数为0时取攻击者,为1时取主动对象。\n```\n\n#### 官方示例: actionsamplebytool.act\n\n```pvf\n// 在几秒内攻击过自己的攻击者们。第一个参数是时间,第二个参数为0时是攻击者,为1时是获取主动物体。\n\t\t{prereq}[LAST ATTACKERS]{/prereq}{must2}{exp}时间{/exp}{int(0:)}\n```\n\n```pvf\n{prereq}[LAST ATTACKERS]{/prereq}{must3}{exp}0-攻击者 1-主动物体{/exp}{int(0:1)}\n\t\t// 载入保存的物体并使用。0号是保存时使用的索引。\n```\n\n在指定时间窗口内攻击过本体的攻击者集合(支持时间与类型参数)", "type": "text" }, "group": "act" }, { "id": "act.section.last-attacksuuccess.c2s69", "match": { "extensions": [ ".act" ] }, "target": { "kind": "section", "section": "last attacksuuccess" }, "annotation": { "title": "已被检查对象攻击的目标(原拼写)", "content": "目标条件 token,指向“曾被通过目标条件检查的对象攻击过的敌人”。标签原文拼写为 [LAST ATTACKSUUCCESS],应原样保留,不能静默改成其他拼写。\n\n#### 官方示例: actionsample.act\n\n```pvf\n[LAST ATTACKSUUCCESS] // 通过目标条件检查的对象攻击过的敌人\n```\n\n拼写变体\n\n拼写变体:最近一次成功攻击(注意原文可能含拼写错误,作为别名保留)", "type": "text" }, "group": "act" }, { "id": "act.section.last-target-priority.1kcsap", "match": { "extensions": [ ".act" ] }, "target": { "kind": "section", "section": "last target priority" }, "annotation": { "title": "上次目标优先级设置(LOW/HIGH 等)", "content": "目标优先级设置:在 [CHECKUP] 中设置最后攻击目标的优先级。值为 [LOW]/[HIGH]/[NEVER]/[ALWAYS],影响 AI 的目标选择策略。\n\n#### 官方示例: actionsample.act\n\n```pvf\n//mkjung 120511 add.\n **[LAST TARGET PRIORITY]** [LOW]\n //[LAST ATTACK PRIORITY] [LOW] // ( [LOW] 或 [HIGH] 或 [NEVER] 或 [ALWAYS] )优先级 4 :对最后攻击的优先级\n```\n\n#### 官方示例: actionsamplebytool.act\n\n```pvf\n//mkjung 120511 添加。\n\t\t{exp}最后一次攻击的优先级{/exp}[LAST TARGET PRIORITY]\n```\n\n#### 官方示例: multihit.act\n\n```pvf\n[LAST TARGET PRIORITY] [LOW]\n\t\t//[LAST ATTACK PRIORITY] [LOW] // ( [LOW] or [HIGH] or [NEVER] or [ALWAYS] ) 优先级 4 : 对最后一次攻击的优先级\n```\n\n上次目标优先级设置(LOW/HIGH 等)", "type": "text" }, "group": "act" }, { "id": "act.section.last.rpp1cp", "match": { "extensions": [ ".act" ] }, "target": { "kind": "section", "section": "last" }, "annotation": { "title": "最后动作", "content": "动作常量:最后一个动作/状态引用\n\n#### 官方示例: actionsample.act\n\n```pvf\n[LAST] `动作文件名` // 动作常量:最后动作\n```\n\n动作常量", "type": "text" }, "group": "act" }, { "id": "act.section.lastattack-position.h4891c", "match": { "extensions": [ ".act" ] }, "target": { "kind": "section", "section": "lastattack position" }, "annotation": { "title": "保存最后一次攻击目标的相对位置以便复用", "content": "最后攻击坐标:在 [SET POS FORCE] 或 [SAVE POSITION] 中作为坐标来源使用,引用最后攻击的敌人的相对坐标。\n\n#### 官方示例: actionsample.act\n\n```pvf\n// 可以像上面那样使用,也可以使用 [LOAD POSITION]。\n // 必须使用 [SAVE POSITION] 后才能使用。\n // [LASTATTACK POSITION] 保存最后攻击的敌人的相对坐标\n // 两个标签是一个数字对应一个标签,1:1 匹配。请注意\n [X START][LOAD POSITION] 或是 [LASTATTACK POSITION]\n```\n\n保存最后一次攻击目标的相对位置以便复用", "type": "text" }, "group": "act" }, { "id": "act.section.left.52pxm8", "match": { "extensions": [ ".act" ] }, "target": { "kind": "section", "section": "left" }, "annotation": { "title": "剩下", "content": "#### 官方示例: actionsample.act\n\n```pvf\n[FIX DIRECTION] [LEFT] [RIGHT] [RANDOM] [NEUTRAL] // 指定面对的方向。\n```\n\n```pvf\n**[SET DIRECTION]** [LEFT] (或 [RIGHT] 或 [TO TARGET] 或 [RANDOM] 或 [REVERSE] 或 [MY DIRECTION] 或 [MY OPPOSITE DIRECTION] 或 [MY CURRENT DIRECTION]) // 改变目标的方向\n```\n\n```pvf\n[DIRECTION] [LEFT] // or [RIGHT] or [RANDOM] or [REVERSE] or [MY DIRECTION] or [MY OPPOSITE DIRECTION]\n```\n\nLEFT\n\n官方示例:\n#### 官方示例: actionsample.act\n\n#### 官方示例: newmonstersample.mob\n\n```pvf\n[fix direction] 1 [left] // 怪物生成时是否固定面向方向 (1: 固定, 0: 不固定)\n// 选项:固定时,指定怪物总是要面对的方向(固定型怪物主要使用,左侧: [left] 右侧:[right])\n=======\n```\n\n```pvf\n[fix direction] [left] // 被动对象控制时的方向固定(左侧: [left] 右侧:[right])。\n```", "type": "text" }, "group": "act" }, { "id": "act.section.light-element-attack.14bzmu", "match": { "extensions": [ ".act" ] }, "target": { "kind": "section", "section": "light element attack" }, "annotation": { "title": "光属性强化", "content": "#### 官方示例: actionsample.act\n\n```pvf\n[light element attack] [+] 100.0 // 光属性强化\n```\n\n光属性强化", "type": "text" }, "group": "act" }, { "id": "act.section.limit-height.18msmv", "match": { "extensions": [ ".act" ] }, "target": { "kind": "section", "section": "limit height" }, "annotation": { "title": "高度限制用于相机切换等判定", "content": "相机切换高度:在 [BOOSTER APPENDAGE] 中设置下落过程中因场景切换导致摄像机停止跟踪的高度阈值(\u003e 0),省略时默认为 0。\n\n#### 官方示例: actionsample.act\n\n```pvf\n[LIMIT HEIGHT] 2000 // 下落中为使场景切换,摄像机停止的高度(\u003e 0,省略时初始值:0)\n```\n\n高度限制用于相机切换等判定", "type": "text" }, "group": "act" }, { "id": "act.section.line-gap.t1m6tr", "match": { "extensions": [ ".act" ] }, "target": { "kind": "section", "section": "line gap" }, "annotation": { "title": "行间间距或路线间隔(像素)", "content": "轨迹线间距:在 [BOOSTER APPENDAGE] 中设置推进器移动时各轨迹线之间的距离(像素),省略时默认为 200。\n\n#### 官方示例: actionsample.act\n\n```pvf\n[LINE GAP] 200 // 移动时各线之间的距离(省略时初始值:200)\n```\n\n行间间距或路线间隔(像素)", "type": "text" }, "group": "act" }, { "id": "act.section.lineardodge.11n48v", "match": { "extensions": [ ".act" ] }, "target": { "kind": "section", "section": "lineardodge" }, "annotation": { "title": "更改控件的图形效果", "content": "#### 官方示例: uiactionsample.act\n\n```pvf\n[SET GRAPHICEFFECT][NONE] ([DODGE], [LINEARDODGE])\t\t// 更改控件的图形效果\n```\n\n更改控件的图形效果", "type": "text" }, "group": "act" }, { "id": "act.section.lock-quest-until.s1xhe0", "match": { "extensions": [ ".act" ] }, "target": { "kind": "section", "section": "lock quest until" }, "annotation": { "title": "锁定成就/任务直到指定模块/条件满足", "content": "锁定任务/成就:在 [BEHAVIOR] 中锁定成就或任务的完成条件,直到满足指定条件。配合 [CHANGE MODULE] 使用。\n\n#### 官方示例: actionsample.act\n\n```pvf\n**[LOCK QUEST UNTIL]**[CHANGE MODULE] 6650 // 锁定成就\n```\n\n#### 官方示例: actionsamplebytool.act\n\n```pvf\n//mkjung 120516 添加。\n\t{exp}锁定成就直到{/exp}[LOCK QUEST UNTIL]\n```\n\n锁定成就/任务直到指定模块/条件满足", "type": "text" }, "group": "act" }, { "id": "act.section.magical-back-attack-critical-rate.80xcah", "match": { "extensions": [ ".act" ] }, "target": { "kind": "section", "section": "magical back attack critical rate" }, "annotation": { "title": "魔法背击暴击率", "content": "#### 官方示例: actionsample.act\n\n```pvf\n[magical back attack critical rate] [%] 100.0 // 魔法背击暴击率\n```\n\n魔法背击暴击率", "type": "text" }, "group": "act" }, { "id": "act.section.magical-critical-hit-rate.mrmyxj", "match": { "extensions": [ ".act" ] }, "target": { "kind": "section", "section": "magical critical hit rate" }, "annotation": { "title": "魔法攻击暴击率", "content": "#### 官方示例: actionsample.act\n\n```pvf\n[magical critical hit rate] [%] 100.0 // 魔法攻击暴击率\n```\n\n魔法攻击暴击率", "type": "text" }, "group": "act" }, { "id": "act.section.magical.1mddqq", "match": { "extensions": [ ".act" ] }, "target": { "kind": "section", "section": "magical" }, "annotation": { "title": "魔法伤害", "content": "#### 官方示例: actionsample.act\n\n```pvf\n[magical], // CATEGORY_PASSIVEOBJECT_TYPE_MAGICAL\n```\n\n```pvf\n[MAGICAL] 25.0 //魔防防御比率(百分比)\n```\n\nMAGICAL", "type": "text" }, "group": "act" }, { "id": "act.section.make-vibration.1rd2wc", "match": { "extensions": [ ".act" ] }, "target": { "kind": "section", "section": "make vibration" }, "annotation": { "title": "触发震动效果", "content": "触发震动效果:持续时间(秒), 幅度(像素), 震动 ID\n\n#### 官方示例: actionsample.act\n\n```pvf\n**[MAKE VIBRATION]** 0.2 6.0 `CHAR1_VIBRATION` // 振动持续时间(秒),振幅(像素),振动ID\n```\n\n触发震动效果", "type": "text" }, "group": "act" }, { "id": "act.section.min-move-distance.j3tphz", "match": { "extensions": [ ".act" ] }, "target": { "kind": "section", "section": "min move distance" }, "annotation": { "title": "随机移动时单次最小移动距离阈值", "content": "最小移动距离:在 [MOVE PATTERN] 中设置随机移动时一次移动的最小距离阈值。\n\n#### 官方示例: actionsample.act\n\n```pvf\n[MIN MOVE DISTANCE] // 随机移动时一次移动的最小距离\n```\n\n#### 官方示例: actionsamplebytool.act\n\n```pvf\n//mkjung 120521 修改 etc--\u003eline tag\n\t\t[MIN MOVE DISTANCE]\n\t\t\t{must1}{exp}距离{/exp}{int(0:)}\n```\n\n随机移动时单次最小移动距离阈值", "type": "text" }, "group": "act" }, { "id": "act.section.mind-control-appendage.1n67aa", "match": { "extensions": [ ".act" ] }, "target": { "kind": "section", "section": "mind control appendage" }, "annotation": { "title": "心控类附加效果", "content": "心控类附加效果:控制时间、持续时间等参数\n\n#### 官方示例: actionsample.act\n\n```pvf\n**[MIND CONTROL APPENDAGE]** 10 1000 1000 //等级,朝一定方向移动的时间,持续时间\n```\n\n心控类附加效果", "type": "text" }, "group": "act" }, { "id": "act.section.monster-team.e53ctm", "match": { "extensions": [ ".act" ] }, "target": { "kind": "section", "section": "monster team" }, "annotation": { "title": "怪物队伍", "content": "队伍常量:怪物队伍(用于召唤/范围影响)\n\n队伍常量\n\n怪物团队\n\n#### 官方示例: mapsample.map\n\n```pvf\n[monster team] //地图上出现的怪物的队伍。无特别指定时不需要。\n0 //依次输入。0则为角色队。角色一方。\n100 //100则为怪物队。一般的怪物。\n[/monster team] //输入与怪物数量相同,并且必须用此标签闭合。\n```", "type": "text" }, "group": "act" }, { "id": "act.section.move-accelate.1vm95i", "match": { "extensions": [ ".act" ] }, "target": { "kind": "section", "section": "move accelate" }, "annotation": { "title": "加速移动模式(逐渐加速)", "content": "加速移动模式:在 [SET POS FORCE] 中使用,以逐渐加速的方式向目标坐标移动。与 [MOVE UNIFORM] 和 [MOVE REDUCE] 三选一。\n\n#### 官方示例: actionsample.act\n\n```pvf\n//[MOVE ACCELATE] // 加速移动到目标坐标\n```\n\n#### 官方示例: actionsamplebytool.act\n\n```pvf\n{opt10}{etc}[MOVE ACCELATE]\n```\n\n加速移动模式(逐渐加速)", "type": "text" }, "group": "act" }, { "id": "act.section.move-appendage.1ufx66", "match": { "extensions": [ ".act" ] }, "target": { "kind": "section", "section": "move appendage" }, "annotation": { "title": "移动受限附加效果", "content": "移动受限附加效果:在指定时间未移动时触发伤害等\n\n#### 官方示例: actionsample.act\n\n```pvf\n**[MOVE APPENDAGE]** 200 500 1 20000 -1 //多少秒不动则造成伤害,HP减少的时间,减少的 HP%,附加状态持续时间,目标身上生成的被动对象索引\n```\n\n移动受限附加效果", "type": "text" }, "group": "act" }, { "id": "act.section.move-dir.1vl7xv", "match": { "extensions": [ ".act" ] }, "target": { "kind": "section", "section": "move dir" }, "annotation": { "title": "移动序列子块", "content": "移动序列子块:多组 X Y Speed 或停留时间定义\n\n#### 官方示例: actionsample.act\n\n```pvf\n[MOVE DIR]\n -5 600 500 // 要停止的位置 x,y ,速度(速度 = 1/10 秒移动距离\n 7 600 50 // 要停止的位置 x,y ,速度(速度 = 1/10 秒移动距离\n -5 600 50 // 要停止的位置 x,y ,速度(速度 = 1/10 秒移动距离\n -5 600 800 // 停止,要停止的时间\n 7 600 50 // 要停止的位置 x,y ,速度(速度 = 1/10 秒移动距离\n -400 600 500 // 要停止的位置 x,y ,速度\n -400 600 2000 // 要停止的位置 x,y ,速度\n **[/MOVE DIR]**\n```\n\n#### 官方示例: actionsamplebytool.act\n\n```pvf\n//怎么办?\n\t\t[MOVE DIR]\n\t\t\t{exp}停止的位置X{/exp}{int(:)}\n\t\t\t\t{must1}{exp}停止的位置Y{/exp}{int(:)}\n\t\t\t\t{must2}{exp}速度(1/10秒移动距离){/exp}{int(:)}\n\t\t\t{!int(:)}\n\t\t[/MOVE DIR]\n```\n\n移动序列子块\n\n官方示例:\n#### 官方示例: actionsample.act\n\n```pvf\n/\n\n#### 官方示例: ultimateskillcutscene.etc\n\n```pvf\n[MOVE DIR]\n -5 480 500\t// 停止位置 x,y , 速度 (速度 = 1/10 每秒移动距离)\n 7 480 50\t// 停止位置 x,y , 速度 (速度 = 1/10 每秒移动距离)\n -5 480 50\t// 停止位置 x,y , 速度 (速度 = 1/10 每秒移动距离)\n -5 480 800\t// 停止,停止时间\n 7 480 50\t// 停止位置 x,y , 速度 (速度 = 1/10 每秒移动距离)\n-400 480 500\t// 停止位置 x,y , 速度\n-400 480 2000\t// 停止位置 x,y , 速度\n[/MOVE DIR]\n```", "type": "text" }, "group": "act" }, { "id": "act.section.move-pattern-off.29znqf", "match": { "extensions": [ ".act" ] }, "target": { "kind": "section", "section": "move pattern off" }, "annotation": { "title": "结束/关闭当前 MOVE PATTERN 配置", "content": "结束移动模式:在 [BEHAVIOR] 中结束由 [MOVE PATTERN] 设置的移动模式。\n\n#### 官方示例: actionsample.act\n\n```pvf\n**[MOVE PATTERN OFF]** //结束 [MOVE PATTERN] 标签。\n```\n\n结束/关闭当前 MOVE PATTERN 配置", "type": "text" }, "group": "act" }, { "id": "act.section.move-reduce.1worq0", "match": { "extensions": [ ".act" ] }, "target": { "kind": "section", "section": "move reduce" }, "annotation": { "title": "减速移动模式(逐渐减速)", "content": "减速移动模式:在 [SET POS FORCE] 中使用,以逐渐减速的方式向目标坐标移动。与 [MOVE UNIFORM] 和 [MOVE ACCELATE] 三选一。\n\n#### 官方示例: actionsample.act\n\n```pvf\n//[MOVE REDUCE] // 减速移动到目标坐标。\n```\n\n#### 官方示例: actionsamplebytool.act\n\n```pvf\n{opt10}{etc}[MOVE REDUCE]\n```\n\n减速移动模式(逐渐减速)", "type": "text" }, "group": "act" }, { "id": "act.section.move-to.gqlkj9", "match": { "extensions": [ ".act" ] }, "target": { "kind": "section", "section": "move to" }, "annotation": { "title": "移动指令", "content": "移动指令:将对象移动到目标或指定距离\n\n#### 官方示例: actionsample.act\n\n```pvf\n//mkjung 120511 add.\n **[MOVE TO]** [TARGET] 500\n```\n\n#### 官方示例: actionsamplebytool.act\n\n```pvf\n//mkjung 120511 添加。\n\t[MOVE TO]\n```\n\n移动指令", "type": "text" }, "group": "act" }, { "id": "act.section.move-uniform.16p4wk", "match": { "extensions": [ ".act" ] }, "target": { "kind": "section", "section": "move uniform" }, "annotation": { "title": "线性匀速移动模式", "content": "匀速移动模式:在 [SET POS FORCE] 中使用,以匀速方式向目标坐标线性移动。与 [MOVE ACCELATE] 和 [MOVE REDUCE] 三选一。\n\n#### 官方示例: actionsamplebytool.act\n\n```pvf\n//三者选一\n\t\t{opt10}{exp}向目标坐标匀速移动{/exp}{etc}[MOVE UNIFORM]\n```\n\n线性匀速移动模式", "type": "text" }, "group": "act" }, { "id": "act.section.moveback.and7jz", "match": { "extensions": [ ".act" ] }, "target": { "kind": "section", "section": "moveback" }, "annotation": { "title": "后退动作", "content": "动作常量:回退/返回动作引用\n\n#### 官方示例: actionsample.act\n\n```pvf\n[MOVEBACK] `动作文件名` // 动作常量:后退动作\n```\n\n动作常量", "type": "text" }, "group": "act" }, { "id": "act.section.mp-regen-rate.if4ag9", "match": { "extensions": [ ".act" ] }, "target": { "kind": "section", "section": "mp regen rate" }, "annotation": { "title": "MP恢复率", "content": "#### 官方示例: actionsample.act\n\n```pvf\n[mp regen rate] [%] 100.0 // MP恢复率\n```\n\nMP恢复率", "type": "text" }, "group": "act" }, { "id": "act.section.mucu-limit-control.1p0zkn", "match": { "extensions": [ ".act" ] }, "target": { "kind": "section", "section": "mucu limit control" }, "annotation": { "title": "沉默/技能限制计时控制(毫秒)", "content": "技能限制/沉默:在 [BEHAVIOR] 中设置技能使用限制时间(毫秒),在该时间内目标无法使用技能。\n\n#### 官方示例: actionsample.act\n\n```pvf\n**[MUCU LIMIT CONTROL]** 10000 //沉默,技能使用限制,后面写上时间则在该时间内无法使用技能。\n```\n\n沉默/技能限制计时控制(毫秒)", "type": "text" }, "group": "act" }, { "id": "act.section.my-control.lbi1ky", "match": { "extensions": [ ".act" ] }, "target": { "kind": "section", "section": "my control" }, "annotation": { "title": "我的控制", "content": "#### 官方示例: uiactionsample.act\n\n```pvf\n// 指定特定目标\n\t[WHICH][MY CONTROL]\t\t\t\t\t// 我的控件\n```\n\n```pvf\n[DO BEHAVIOR][MY CONTROL] 0\t// 调用 BEHAVIOR,执行行为的对象,BEHAVIOR 编号\n```\n\nMY CONTROL", "type": "text" }, "group": "act" }, { "id": "act.section.my-current-direction.rg8lnr", "match": { "extensions": [ ".act" ] }, "target": { "kind": "section", "section": "my current direction" }, "annotation": { "title": "当前施法者实时朝向标识", "content": "保持当前朝向:在 [SET DIRECTION] 中使用,表示保持目标的当前朝向不变。\n\n#### 官方示例: actionsample.act\n\n```pvf\n**[SET DIRECTION]** [LEFT] (或 [RIGHT] 或 [TO TARGET] 或 [RANDOM] 或 [REVERSE] 或 [MY DIRECTION] 或 [MY OPPOSITE DIRECTION] 或 [MY CURRENT DIRECTION]) // 改变目标的方向\n```\n\n#### 官方示例: actionsamplebytool.act\n\n```pvf\n//mkjung 120518 添加\n\t\t{must1}[MY CURRENT DIRECTION]\n```\n\n当前施法者实时朝向标识", "type": "text" }, "group": "act" }, { "id": "act.section.my-group.vs3kqo", "match": { "extensions": [ ".act" ] }, "target": { "kind": "section", "section": "my group" }, "annotation": { "title": "属于同一父控件的所有控件", "content": "#### 官方示例: uiactionsample.act\n\n```pvf\n[MY GROUP]\t\t\t\t\t// 属于同一父控件的所有控件\n```\n\n属于同一父控件的所有控件", "type": "text" }, "group": "act" }, { "id": "act.section.my-opposite-direction.m16iqd", "match": { "extensions": [ ".act" ] }, "target": { "kind": "section", "section": "my opposite direction" }, "annotation": { "title": "我的相反方向", "content": "#### 官方示例: actionsample.act\n\n```pvf\n**[SET DIRECTION]** [LEFT] (或 [RIGHT] 或 [TO TARGET] 或 [RANDOM] 或 [REVERSE] 或 [MY DIRECTION] 或 [MY OPPOSITE DIRECTION] 或 [MY CURRENT DIRECTION]) // 改变目标的方向\n```\n\n#### 官方示例: actionsamplebytool.act\n\n```pvf\n{must1}{exp}将目标的方向改为我的相反方向{/exp}[MY OPPOSITE DIRECTION]\n\t\t//mkjung 120518 添加\n```\n\nMY OPPOSITE DIRECTION", "type": "text" }, "group": "act" }, { "id": "act.section.my-team.10n953", "match": { "extensions": [ ".act" ] }, "target": { "kind": "section", "section": "my team" }, "annotation": { "title": "我方队伍", "content": "队伍常量:我方队伍\n\n#### 官方示例: actionsamplebytool.act\n\n```pvf\n[IS TEAM]\n {opt1}[MY TEAM]\n {opt2}[ENEMY TEAM]\n {opt3}[MONSTER TEAM]\n {opt4}[CHARACTER TEAM]\n[!IS TEAM][/IS TEAM]\n```\n\n队伍常量", "type": "text" }, "group": "act" }, { "id": "act.section.name-hide-off.242nyb", "match": { "extensions": [ ".act" ] }, "target": { "kind": "section", "section": "name hide off" }, "annotation": { "title": "显示对象名称", "content": "显示名称:在 [BEHAVIOR] 中恢复显示怪物或 APC 的名字(取消 [NAME HIDE ON] 的效果)。\n\n#### 官方示例: actionsample.act\n\n```pvf\n**[NAME HIDE OFF]** // 显示怪物、APC 的名字。\n```\n\n显示对象名称", "type": "text" }, "group": "act" }, { "id": "act.section.name-hide-on.bis3xb", "match": { "extensions": [ ".act" ] }, "target": { "kind": "section", "section": "name hide on" }, "annotation": { "title": "隐藏对象名称显示", "content": "隐藏名称显示:在 [BEHAVIOR] 中隐藏怪物或 APC 的名字显示。\n\n#### 官方示例: actionsample.act\n\n```pvf\n**[NAME HIDE ON]** // 隐藏怪物、APC 的名字。\n```\n\n隐藏对象名称显示", "type": "text" }, "group": "act" }, { "id": "act.section.neutral.12xcnh", "match": { "extensions": [ ".act" ] }, "target": { "kind": "section", "section": "neutral" }, "annotation": { "title": "方向/队伍常量", "content": "方向/队伍常量:中立\n\n#### 官方示例: actionsample.act\n\n```pvf\n[FIX DIRECTION] [LEFT] [RIGHT] [RANDOM] [NEUTRAL] // 指定面对的方向。\n```\n\n方向/队伍常量", "type": "text" }, "group": "act" }, { "id": "act.section.not-back.1ww1on", "match": { "extensions": [ ".act" ] }, "target": { "kind": "section", "section": "not back" }, "annotation": { "title": "不产生击退效果的常量", "content": "无击退类型:在 [SET ACTION]/[DAMAGE] 的 [KNOCK BACK TYPE] 中使用,设置为不触发向后击退效果。\n\n#### 官方示例: actionsamplebytool.act\n\n```pvf\n[KNOCK BACK TYPE]\n {must3}[NOT BACK]\n```\n\n不产生击退效果的常量", "type": "text" }, "group": "act" }, { "id": "act.section.not-use-direction.1a0io6", "match": { "extensions": [ ".act" ] }, "target": { "kind": "section", "section": "not use direction" }, "annotation": { "title": "不参照方向", "content": "速度/位移不参照方向,使用绝对坐标或绝对速度\n\n#### 官方示例: actionsample.act\n\n```pvf\n//[NOT USE DIRECTION] // 与方向无关时。绝对方向默认向右和向下。\n```\n\n#### 官方示例: actionsamplebytool.act\n\n```pvf\n{opt4}{etc}[NOT USE DIRECTION]\n```\n\n速度/位移不参照方向", "type": "text" }, "group": "act" }, { "id": "act.section.not-use-object-direction.19z7kx", "match": { "extensions": [ ".act" ] }, "target": { "kind": "section", "section": "not use object direction" }, "annotation": { "title": "生成/移动时不参照对象朝向进行修正", "content": "不修正方向:在召唤/传送操作中,不对生成或移动的对象进行方向修正,保持默认方向。\n\n#### 官方示例: actionsamplebytool.act\n\n```pvf\n//mkjung 120517 添加。\n\t\t{opt3}{exp}不进行方向修正{/exp}{etc}[NOT USE OBJECT DIRECTION]\n```\n\n生成/移动时不参照对象朝向进行修正", "type": "text" }, "group": "act" }, { "id": "act.section.not-use-object-zpos.1xngr6", "match": { "extensions": [ ".act" ] }, "target": { "kind": "section", "section": "not use object zpos" }, "annotation": { "title": "移动/传送时不使用参照对象 Z 坐标", "content": "不使用基准 Z 坐标:在 [TELEPORT] 中不跟随基准对象的 Z 坐标,使用目标的原始 Z 位置。\n\n#### 官方示例: actionsample.act\n\n```pvf\n//[NOT USE OBJECT ZPOS] // 不使用基准对象的 Z 位置\n```\n\n#### 官方示例: actionsamplebytool.act\n\n```pvf\n{opt3}{etc}[NOT USE OBJECT ZPOS]\n```\n\n移动/传送时不使用参照对象 Z 坐标", "type": "text" }, "group": "act" }, { "id": "act.section.now.bah8fr", "match": { "extensions": [ ".act" ] }, "target": { "kind": "section", "section": "now" }, "annotation": { "title": "立即执行", "content": "执行时序关键字:立即生效\n\n#### 官方示例: actionsample.act\n\n```pvf\n[NOW] (或 [END]) // 立即改变动作(不等待当前动画结束)\n```\n\n执行时序关键字", "type": "text" }, "group": "act" }, { "id": "act.section.off.1bicsn", "match": { "extensions": [ ".act" ] }, "target": { "kind": "section", "section": "off" }, "annotation": { "title": "设置为关闭状态", "content": "设置为关闭状态:触发器的禁用常量,使触发器处于不可激活状态。常用于 [ENABLE] 和 [TRIGGER] 标签中。\n\n#### 官方示例: actionlibrary/jump.act\n\n```pvf\n[ENABLE] [OFF]\n\t//[CHECK] [ME]\n```\n\n#### 官方示例: actionsample.act\n\n```pvf\n//注意!通过 [CHANGE ACTION FILE] 切换动作并返回原动作时会重置!\n **[ENABLE]** [ON] (或 [OFF]) // 决定触发器的初始 ENABLE 状态\n```\n\n```pvf\n// 目标条件检查部分(大类)\n **[TRIGGER CHECK]** 1 [ON] (或 [OFF]) // 检查1号触发器是否可用。\n```\n\n```pvf\n**[TRIGGER CHECK]** [STAY] 1 [ON] (或 [OFF]) // 检查 stay 动作的1号触发器是否可用。\n```\n\n```pvf\n[MOVE] 0 [ON] (或 [OFF]) // 检查 move 动作的0号触发器是否可用\n```\n\n```pvf\n[DAMAGE] 1 3 [ON] (或 [OFF]) // 检查1号 damage 动作的3号触发器是否可用\n```\n\n```pvf\n[ATTACK] 3 2 [ON] (或 [OFF]) // 检查3号 attack 动作的2号触发器是否可用\n```\n\n```pvf\n**[TRIGGER]** 1 [ON] (或 [OFF] 或 [RESET]) // 触发器 ENABLE 的开关。RESET 是执行次数重置。\n //注意!通过 [CHANGE ACTION FILE] 切换动作并返回原动作时会重置!\n```\n\n```pvf\n[MOVE] 0 [OFF] // 关闭 move 动作的0号触发器\n```\n\n```pvf\n**[ATTACKRECT]** [RESET] (或 [ON] 或 [OFF]) // 开启、关闭或重置攻击判定\n```\n\n```pvf\n**[SET DAMAGE BOX]**[OFF] // 因透明状态而关闭伤害判定\n```\n\n#### 官方示例: actionsamplebytool.act\n\n```pvf\n{must1}{exp}关闭攻击判定框。无法造成打击{/exp}[OFF]\n\t\t//mkjung 120511 添加。\n```\n\n设置为关闭状态", "type": "text" }, "group": "act" }, { "id": "act.section.on-end-behavior.1ezh65", "match": { "extensions": [ ".act" ] }, "target": { "kind": "section", "section": "on end behavior" }, "annotation": { "title": "行为结束时触发的事件", "content": "行为结束事件:在 [TRIGGER] 中标记当行为执行完毕后触发的逻辑,用于行为完成后的清理或后续操作。\n\n#### 官方示例: actionsamplebytool.act\n\n```pvf\n//mkjung 120511 添加。\n\t{etc}[ON END BEHAVIOR]\n```\n\n#### 官方示例: multihit.act\n\n```pvf\n[ON END BEHAVIOR] // behavior结束时执行下方内容\n```\n\n行为结束时触发的事件", "type": "text" }, "group": "act" }, { "id": "act.section.on-lbdown-control.1x9zwk", "match": { "extensions": [ ".act" ] }, "target": { "kind": "section", "section": "on lbdown control" }, "annotation": { "title": "鼠标左键按下事件", "content": "鼠标左键按下控制事件:当鼠标左键在 UI 控件上按下时触发的事件处理逻辑。\n\nON LBDOWN CONTROL", "type": "text" }, "group": "act" }, { "id": "act.section.on-leave-mouse.1cldqk", "match": { "extensions": [ ".act" ] }, "target": { "kind": "section", "section": "on leave mouse" }, "annotation": { "title": "鼠标进入控件后又离开时触发", "content": "#### 官方示例: uiactionsample.act\n\n```pvf\n[ON LEAVE MOUSE]\t\t \t // 鼠标进入控件后又离开时触发\n```\n\n鼠标进入控件后又离开时触发", "type": "text" }, "group": "act" }, { "id": "act.section.on-move-collision.57jjh5", "match": { "extensions": [ ".act" ] }, "target": { "kind": "section", "section": "on move collision" }, "annotation": { "title": "事件", "content": "事件:移动时发生不可通过碰撞\n\n#### 官方示例: actionsample.act\n\n```pvf\n**[ON MOVE COLLISION]** // 撞到无法通行的地方时。\n```\n\n事件", "type": "text" }, "group": "act" }, { "id": "act.section.on-shake-input.1mi0j3", "match": { "extensions": [ ".act" ] }, "target": { "kind": "section", "section": "on shake input" }, "annotation": { "title": "事件", "content": "事件:触发摇动输入时\n\n#### 官方示例: actionsample.act\n\n```pvf\n**[ON SHAKE INPUT]** // 输入晃动指令时\n```\n\n事件", "type": "text" }, "group": "act" }, { "id": "act.section.on-timing.29qc7u", "match": { "extensions": [ ".act" ] }, "target": { "kind": "section", "section": "on timing" }, "annotation": { "title": "时序", "content": "#### 官方示例: uiactionsample.act\n\n```pvf\n// 在动作开始后的时间点执行条件语句\n\t[ON TIMING][START MAP] 100 100 \t// 开始时间和结束时间相同,则仅在该时间执行一次\n```\n\n```pvf\n[ON TIMING][SET ACTION] 1000 1500\t // 从动作设置的时间(控件创建的时间)起,在 1000 ~ 1500 毫秒内触发执行\n```\n\n```pvf\n[ON TIMING][SET ACTION] 1000 -1 \t// 第二个参数为 -1 时,则以 1000 毫秒为周期触发执行\n\t// 可用的起始点模式\n\t// ([SET ACTION] : 控件最初创建时开始,[START MAP] : 地图开始时开始,\n\t// [ENTER MOUSE] : 鼠标进入控件时开始,[LEAVE MOUSE] : 鼠标离开控件时开始,\n \t// [SET VISIBLE] : 控件开始显示时开始 )\n```\n\nON TIMING", "type": "text" }, "group": "act" }, { "id": "act.section.on.qyxx3k", "match": { "extensions": [ ".act" ] }, "target": { "kind": "section", "section": "on" }, "annotation": { "title": "设置为开启状态", "content": "设置为开启状态:触发器的启用常量,使触发器处于可激活状态。常用于 [ENABLE] 和 [TRIGGER] 标签中。\n\n#### 官方示例: actionsample.act\n\n```pvf\n//注意!通过 [CHANGE ACTION FILE] 切换动作并返回原动作时会重置!\n **[ENABLE]** [ON] (或 [OFF]) // 决定触发器的初始 ENABLE 状态\n```\n\n```pvf\n// 目标条件检查部分(大类)\n **[TRIGGER CHECK]** 1 [ON] (或 [OFF]) // 检查1号触发器是否可用。\n```\n\n```pvf\n**[TRIGGER CHECK]** [STAY] 1 [ON] (或 [OFF]) // 检查 stay 动作的1号触发器是否可用。\n```\n\n```pvf\n[MOVE] 0 [ON] (或 [OFF]) // 检查 move 动作的0号触发器是否可用\n```\n\n```pvf\n[DAMAGE] 1 3 [ON] (或 [OFF]) // 检查1号 damage 动作的3号触发器是否可用\n```\n\n```pvf\n[ATTACK] 3 2 [ON] (或 [OFF]) // 检查3号 attack 动作的2号触发器是否可用\n```\n\n```pvf\n**[TRIGGER]** 1 [ON] (或 [OFF] 或 [RESET]) // 触发器 ENABLE 的开关。RESET 是执行次数重置。\n //注意!通过 [CHANGE ACTION FILE] 切换动作并返回原动作时会重置!\n```\n\n```pvf\n//注意!通过 [CHANGE ACTION FILE] 切换动作并返回原动作时会重置!\n **[TRIGGER]** [STAY] 1 [ON] // 打开 stay 动作的1号触发器\n```\n\n```pvf\n**[ATTACKRECT]** [RESET] (或 [ON] 或 [OFF]) // 开启、关闭或重置攻击判定\n```\n\n```pvf\n**[SHAKE INPUT]** [ON] // 也可使用 [OFF]。是否显示晃动输入提示。\n```\n\n#### 官方示例: actionsamplebytool.act\n\n```pvf\n//[X号]触发器 on.off.reset\n\t\t{prereq}{int}{/prereq}{must2}{exp}开启{/exp}[ON]\n```\n\n设置为开启状态\n\n官方示例:\n#### 官方示例: actionsample.act\n\n```pvf\n//注意!通过 [CHANGE ACTION FILE] 切换动作并返回原动作时会重置!\n **[ENABLE]*\n\n显示什么公告\n在下面有公告ID", "type": "text" }, "group": "act" }, { "id": "act.section.out-of-sight.fag1ix", "match": { "extensions": [ ".act" ] }, "target": { "kind": "section", "section": "out of sight" }, "annotation": { "title": "视野外检测", "content": "视野外检测:检查目标是否不在视野中\n\n#### 官方示例: actionsample.act\n\n```pvf\n**[OUT OF SIGHT]** //搜索我背对的怪物和被动对象\n```\n\n视野外检测", "type": "text" }, "group": "act" }, { "id": "act.section.overturn.16zjjx", "match": { "extensions": [ ".act" ] }, "target": { "kind": "section", "section": "overturn" }, "annotation": { "title": "翻转/倒置动作常量", "content": "翻转动作类型:在 [STRAIGHT MOVE] 的 [MOVING MOTION] 中选择翻转动作作为移动中的表现状态。\n\n#### 官方示例: actionsamplebytool.act\n\n```pvf\n//mkjung 120515 [OVERTURN], [SIT] 添加。\n\t\t{must1}[OVERTURN]\n```\n\n翻转/倒置动作常量", "type": "text" }, "group": "act" }, { "id": "act.section.pass-all.ki0amj", "match": { "extensions": [ ".act" ] }, "target": { "kind": "section", "section": "pass all" }, "annotation": { "title": "改变通行类型", "content": "#### 官方示例: actionsample.act\n\n```pvf\n**[SET PASSTYPE]** [pass all] // 改变通行类型。仅被动对象有效。与被动对象脚本的 [pass type] 相同。均可通行\n```\n\n#### 官方示例: actionsamplebytool.act\n\n```pvf\n//{opt1}{string}\n\t\t{opt1}{exp}全部通过{/exp}[pass all]\n```\n\n改变通行类型", "type": "text" }, "group": "act" }, { "id": "act.section.pass-only-float-type.1fpze9", "match": { "extensions": [ ".act" ] }, "target": { "kind": "section", "section": "pass only float type" }, "annotation": { "title": "仅浮空型可通行", "content": "#### 官方示例: actionsample.act\n\n```pvf\n[pass only float type] // 仅浮空型可通行\n```\n\n仅浮空型可通行", "type": "text" }, "group": "act" }, { "id": "act.section.passive-object-index.19g3a4", "match": { "extensions": [ ".act" ] }, "target": { "kind": "section", "section": "passive object index" }, "annotation": { "title": "抛射体", "content": "抛射体,发射什么物品-物品代码\n\n#### 官方示例: actionsample.act\n\n```pvf\n// 1:以时间为结束点,随机时机生成对象。\n [PASSIVE OBJECT INDEX] //要生成的对象列表(编号,数量)\n 10334 100\n 10335 30\n 10336 20\n **[/PASSIVE OBJECT INDEX]**\n```\n\n抛射体\n\n官方示例:\n#### 官方示例: actionsample.act\n\n#### 官方示例: newmonstersample.mob\n\n```pvf\n[passive object index] 30413 // 投掷的对象索引。\n```", "type": "text" }, "group": "act" }, { "id": "act.section.pattern.11iuvj", "match": { "extensions": [ ".act" ] }, "target": { "kind": "section", "section": "pattern" }, "annotation": { "title": "模式索引或引用(如 mob 文件中预设的移动/攻击模式)", "content": "模式索引:在 [SET ACTION]/[PATTERN] 中指定执行 mob 文件中预先注册的模式索引,用于调用预设的攻击或移动模式。\n\n#### 官方示例: actionsample.act\n\n```pvf\n[PATTERN] INDEX // 执行 mob 文件中注册的模式索引\n```\n\n```pvf\n[PATTERN] [RIGHT] 1000 0 // 指令模式方向,输入等待时间,对象的帧号\n```\n\n模式索引或引用(如 mob 文件中预设的移动/攻击模式)\n\n官方示例:\n#### 官方示例: actionsample.act\n\n#### 官方示例: newmonstersample.mob\n\n```pvf\n[pattern] //pattern 索引 0号 // 将动作列表的索引模式化。冷却时间使用相应动作的冷却时间。\n1\n2\n3\n[/pattern]\n```\n\n```pvf\n[pattern] //pattern 索引的 1号\n2\n3\n4\n[/pattern]\n```\n\n#### 官方示例: passiveobjectsample.obj\n\n```pvf\n[pattern] // -\u003e 可以指定模式。也可以有多个。\n[name] `A` // -\u003e 模式的唯一名称。必须是唯一的名称。\n[interval] 500 // -\u003e 对象生成的时间周期。毫秒单位。\n[columns] 3 // -\u003e 一个周期内生成的模式单位数量。\n[data] // -\u003e 在此指定模式数据。0为空位,1表示要生成的被动对象。\n0 1 1 // 省略 [data] 标签时,对象随机出现。\n0 1 0 // 当[columns]值为3时,将数据每3个数字分割一次生成模式。\n1 0 1 // 因此数据数量必须是column的倍数。\n0 1 1\n1 0 1\n[/data]\n[/pattern] // -\u003e 至此为一个模式。\n```\n\n```pvf\n[pattern] `A` 3000 [/pattern] // 第一个参数是模式名称,必须是上面[patterns]标签中指定的名称。\n```\n\n```pvf\n[pattern] `B` 3000 [/pattern] // 第二个参数是模式持续的时间,毫秒单位。\n```\n\n```pvf\n[pattern] `A` 3000 [/pattern] // 示例中,模式以 A-B-A-A-B-R-A 的顺序每3秒变化一次。\n```\n\n```pvf\n[pattern] `A` 3000 [/pattern] // 模式全部结束后,再从开始重复。\n```", "type": "text" }, "group": "act" }, { "id": "act.section.physical-absolute-damage.duof0e", "match": { "extensions": [ ".act" ] }, "target": { "kind": "section", "section": "physical absolute damage" }, "annotation": { "title": "物理绝对伤害 or 物理无视防御伤害", "content": "#### 官方示例: actionsample.act\n\n```pvf\n[physical absolute damage] [+] 100.0 // 物理绝对伤害 or 物理无视防御伤害\n```\n\n物理绝对伤害 or 物理无视防御伤害\n\n官方示例:\n#### 官方示例: actionsample.act\n\n#### 官方示例: equipmentsample.equ\n\n```pvf\n[physical absolute damage] 100\t\t\t// 物理绝对伤害\n```\n\n#### 官方示例: stackablesample-monster_card.stk", "type": "text" }, "group": "act" }, { "id": "act.section.physical-back-attack-critical-rate.ofcga4", "match": { "extensions": [ ".act" ] }, "target": { "kind": "section", "section": "physical back attack critical rate" }, "annotation": { "title": "物理背击暴击率", "content": "#### 官方示例: actionsample.act\n\n```pvf\n[physical back attack critical rate] [%] 100.0 // 物理背击暴击率\n```\n\n物理背击暴击率", "type": "text" }, "group": "act" }, { "id": "act.section.physical-critical-hit-rate.17x98h", "match": { "extensions": [ ".act" ] }, "target": { "kind": "section", "section": "physical critical hit rate" }, "annotation": { "title": "物理攻击暴击率", "content": "#### 官方示例: actionsample.act\n\n```pvf\n[physical critical hit rate] [%] 100.0 // 物理攻击暴击率\n```\n\n物理攻击暴击率", "type": "text" }, "group": "act" }, { "id": "act.section.physical.117gzf", "match": { "extensions": [ ".act" ] }, "target": { "kind": "section", "section": "physical" }, "annotation": { "title": "物理伤害", "content": "#### 官方示例: actionsample.act\n\n```pvf\n[physical], // CATEGORY_PASSIVEOBJECT_TYPE_PHYSICAL\n```\n\n```pvf\n[PHYSICAL] 25.0 //物防防御比率(百分比)\n```\n\nPHYSICAL", "type": "text" }, "group": "act" }, { "id": "act.section.poison.1lejes", "match": { "extensions": [ ".act" ] }, "target": { "kind": "section", "section": "poison" }, "annotation": { "title": "ACTIVESTATUS_POISON", "content": "#### 官方示例: actionsample.act\n\n```pvf\n**[ACTIVE STATUS]** [poison] 100 10 20000 1000 // 概率, 等级, 持续时间, 伤害\n```\n\n#### 官方示例: actionsamplebytool.act\n\n```pvf\n{must1}{exp}中毒{/exp}[poison]\t\t//ACTIVESTATUS_POISON\n```\n\nACTIVESTATUS_POISON\n\n官方示例:\n#### 官方示例: actionsample.act\n\n异常效果:中毒\n\n#### 官方示例: attackinfosample.atk\n\n```pvf\n[active status] [poison] 100 10 20000 1000 // 概率, 等级, 持续时间, 伤害\n```", "type": "text" }, "group": "act" }, { "id": "act.section.pull-appendage-ex.1syq9e", "match": { "extensions": [ ".act" ] }, "target": { "kind": "section", "section": "pull appendage ex" }, "annotation": { "title": "拉拽附加效果扩展", "content": "拉拽附加效果扩展:支持 SPEED, VALIDTIME, USE TARGET, OFFSET POS, MIN DISTANCE 等子项\n\n#### 官方示例: actionsample.act\n\n```pvf\n// 注意!!:请遵守标签顺序!\n **[PULL APPENDAGE EX]** // 将角色队伍拉向目标\n [SPEED] 2.0 0.0 // x轴强度, y轴强度\n [VALIDTIME] 2000\n [USE TARGET] 1 // 是否将拉拽的原点设为目标(1: 目标, 0: 动作父对象)\n [OFFSET POS] 0 0 // 偏移坐标(不写默认为0)\n [MIN DISTANCE] 30 // 拉拽所需的最小范围(不写默认为30)\n **[/PULL APPENDAGE EX]**\n```\n\n拉拽附加效果扩展", "type": "text" }, "group": "act" }, { "id": "act.section.pull-appendage.1dxjsc", "match": { "extensions": [ ".act" ] }, "target": { "kind": "section", "section": "pull appendage" }, "annotation": { "title": "拉拽类附加效果", "content": "拉拽类附加效果:施加拉力使目标靠近\n\n#### 官方示例: actionsample.act\n\n```pvf\n**[PULL APPENDAGE]** // 将角色队伍拉向目标\n //2.0 0.0 2000 //x轴强度, //y轴强度, //时间\n // 注意!!时间输入负值则会变为速度 WIND 模式。速度模式必须设置6以上\n // 例 [PULL APPENDAGE] 6.1 6.1 -200\n```\n\n拉拽类附加效果", "type": "text" }, "group": "act" }, { "id": "act.section.random-generate-passive-object.npgle3", "match": { "extensions": [ ".act" ] }, "target": { "kind": "section", "section": "random generate passive object" }, "annotation": { "title": "在指定区域随机生成被动对象配置块(包含生成区域、频率与对象列表)", "content": "随机生成被动对象块:在 [BEHAVIOR] 中在特定区域内按频率随机生成被动对象。包含 [GENERATE AREA](区域)、[CREATE FREQUENCE](频率)、[PASSIVE OBJECT INDEX](对象列表)等子标签。\n\n#### 官方示例: actionsample.act\n\n```pvf\n**[RANDOM GENERATE PASSIVE OBJECT]** // 在特定区域内随机生成被动对象的功能\n [GENERATE AREA] -100 100 -100 100 0 0 // 被动对象生成的区域(x坐标起始,x坐标结束,y坐标起始,y坐标结束,z坐标起始,y坐标结束)\n [CREATE FREQUENCE] 0 500 // 生成频率(类型,时间)\n 1 30000 // 0 :规则地每隔时间生成1个对象。\n // 1:以时间为结束点,随机时机生成对象。\n [PASSIVE OBJECT INDEX] //要生成的对象列表(编号,数量)\n 10334 100\n 10335 30\n 10336 20\n **[/PASSIVE OBJECT INDEX]**\n [USE TARGET X POS] // 是否将生成 AREA 与目标的 X坐标同步?\n [USE TARGET Y POS] // 是否将生成 AREA 与目标的 Y坐标同步?\n [USE TARGET Z POS] // 是否将生成 AREA 与目标的 Z坐标同步?\n **[/RANDOM GENERATE PASSIVE OBJECT]**\n```\n\n在指定区域随机生成被动对象配置块(包含生成区域、频率与对象列表)\n\n官方示例:\n#### 官方示例: actionsample.act\n\n```pvf\n**[RANDOM GENERATE PASSIVE OBJECT]** // 在特定区域内随机生成被动对象的功能\n [GENERATE AREA] -100 100 -100 100 0 0 // 被动对象生成的区域(x坐标起始,x坐标结束,y坐标起始,y坐标结束,z坐标起始,y坐标结束)\n [CREATE FREQUENCE] 0 500 // 生成频率(类型,时间)\n 1 30000 // 0 :规则地每隔时间生成1个对象。\n // 1:以时间为结束点,随机时机生成对象。\n [PASSIVE OBJECT INDEX]", "type": "text" }, "group": "act" }, { "id": "act.section.realdungeon-checkup.7dqyd0", "match": { "extensions": [ ".act" ] }, "target": { "kind": "section", "section": "realdungeon checkup" }, "annotation": { "title": "mkjung 120516 添加", "content": "#### 官方示例: actionsamplebytool.act\n\n```pvf\n//mkjung 120516 添加。\n\t{exp}快速炮-闪电检查{/exp}[REALDUNGEON CHECKUP]\n\t\t{must1}{int(:)}\n\t\t{must2}{int(:)}\n\t\t{must3}{int(:)}\n```\n\nmkjung 120516 添加", "type": "text" }, "group": "act" }, { "id": "act.section.reflectbuff-appendage.lyh3jc", "match": { "extensions": [ ".act" ] }, "target": { "kind": "section", "section": "reflectbuff appendage" }, "annotation": { "title": "反射 Buff 的附加效果", "content": "反射 Buff 的附加效果:持续时间(毫秒)\n\n#### 官方示例: actionsample.act\n\n```pvf\n**[REFLECTBUFF APPENDAGE]** 1000 // 附加状态异常反射附加状态,持续时间(ms)\n```\n\n反射 Buff 的附加效果", "type": "text" }, "group": "act" }, { "id": "act.section.refresh-moveinfo.fzvhld", "match": { "extensions": [ ".act" ] }, "target": { "kind": "section", "section": "refresh moveinfo" }, "annotation": { "title": "刷新/重算移动相关信息(内部状态刷新)", "content": "刷新移动信息:在 [BEHAVIOR] 中更新/重新计算对象的移动相关信息(内部状态刷新)。\n\n#### 官方示例: actionsample.act\n\n```pvf\n**[REFRESH MOVEINFO]** // 更新移动信息\n```\n\n刷新/重算移动相关信息(内部状态刷新)", "type": "text" }, "group": "act" }, { "id": "act.section.release-motion.sds5sg", "match": { "extensions": [ ".act" ] }, "target": { "kind": "section", "section": "release motion" }, "annotation": { "title": "移动结束后要执行的动作常量", "content": "移动结束动作类型:在 [STRAIGHT MOVE] 中指定直线移动结束后立即采取的动作类型。选项与 [MOVING MOTION] 相同:站立/跳跃/伤害/坐下/翻转/倒地。\n\n#### 官方示例: actionsample.act\n\n```pvf\n[RELEASE MOTION] //移动结束后立即采取的动作。选项与 [MOVING MOTION] 相同。\n```\n\n移动结束后要执行的动作常量", "type": "text" }, "group": "act" }, { "id": "act.section.remove-category.8wh48r", "match": { "extensions": [ ".act" ] }, "target": { "kind": "section", "section": "remove category" }, "annotation": { "title": "移除对象分类(可使用索引或常量如 FIXTURE)", "content": "移除对象分类:在 [BEHAVIOR] 中删除怪物的分类属性。如用 [FIXTURE] 移除固定属性让固定型怪物开始移动。\n\n#### 官方示例: actionsample.act\n\n```pvf\n//移除分类\n //[REMOVE CATEGORY] 0 //要删除的分类索引\n **[REMOVE CATEGORY]** [FIXTURE] //要删除的分类 [FIXTURE]\n //[ADD CATEGORY] 24 //要插入的分类索引 24: fixture\n```\n\n#### 官方示例: actionsamplebytool.act\n\n```pvf\n{exp}删除怪物的相应目录属性{/exp}[REMOVE CATEGORY]\n\t\t//mkjung 120703 仅使用FIXTURE\n\t\t//{must1}索引{int(0:)}\n\t\t//mkjung 120514 添加。\n```\n\n移除对象分类(可使用索引或常量如 FIXTURE)", "type": "text" }, "group": "act" }, { "id": "act.section.remove-layer.1nk8nn", "match": { "extensions": [ ".act" ] }, "target": { "kind": "section", "section": "remove layer" }, "annotation": { "title": "移除指定层的动画或渲染(传入动画索引或层索引)", "content": "移除图层动画:在 [BEHAVIOR] 中根据动画索引移除之前通过 [ADD LAYER] 添加的 [etc motion] 图层动画。\n\n#### 官方示例: actionsample.act\n\n```pvf\n**[REMOVE LAYER]** 0 //[etc motion]中动画的索引值\n```\n\n移除指定层的动画或渲染(传入动画索引或层索引)", "type": "text" }, "group": "act" }, { "id": "act.section.remove-virtualhp.l169l6", "match": { "extensions": [ ".act" ] }, "target": { "kind": "section", "section": "remove virtualhp" }, "annotation": { "title": "移除虚拟 HP 效果", "content": "移除虚拟 HP:在 [BEHAVIOR] 中移除目标身上的虚拟 HP 附加状态。\n\n#### 官方示例: actionsample.act\n\n```pvf\n**[REMOVE VIRTUALHP]** // 移除虚拟 HP\n```\n\n移除虚拟 HP 效果", "type": "text" }, "group": "act" }, { "id": "act.section.resolution-appendage.jtnezc", "match": { "extensions": [ ".act" ] }, "target": { "kind": "section", "section": "resolution appendage" }, "annotation": { "title": "分辨/解析类附加效果", "content": "分辨/解析类附加效果:生成多对象、位置、RPM 等复杂参数\n\n#### 官方示例: actionsample.act\n\n```pvf\n**[RESOLUTION APPENDAGE]**\n 2 // 对象数量\n 221 // 对象索引\n 10 // x\n 10 // y\n 30 // z\n 221 // 对象索引\n -10 // x\n 50 // y\n 30 // z\n 20 // RPM\n 50 // RPM 最大\n 500 // RPM 变化时间0\n 500 // RPM 恢复时间0\n 10 // HP 每减少1%时增加的 RPM 量\n 20 // MIN 半径\n 500 // MAX 半径\n 250 // 距离校准基准因子(例:输入100则距离100时为100% RPM,1000时为10% RPM)\n 0.5f // 半径变化敏感度\n //将目标直线移动的标签。各选项指定顺序无关。\n```\n\n分辨/解析类附加效果\n\n官方示例:\n#### 官方示例: actionsample.act\n\n```pvf\n**[RESOLUTION APPENDAGE]**\n 2 // 对象数量\n 221 // 对象索引\n 10 // x\n 10 // y\n 30 // z\n 221 // 对象索引\n -10 // x\n 50 // y\n 30 // z\n 20 // RPM\n 50 // RPM 最大\n 500 // RPM 变化时间0\n 500 // RPM 恢复时间0\n 10 // HP 每减少1%时增加的 RPM 量\n 20 // MIN 半径\n 500 // MAX 半径\n 250 // 距离校准基准因", "type": "text" }, "group": "act" }, { "id": "act.section.restart-cooltime.j8g41o", "match": { "extensions": [ ".act" ] }, "target": { "kind": "section", "section": "restart cooltime" }, "annotation": { "title": "重启当前动作的冷却计时(刷新冷却)", "content": "重置冷却时间:在 [BEHAVIOR] 中重新开始当前动作的冷却时间计时,相当于刷新冷却。\n\n#### 官方示例: actionsample.act\n\n```pvf\n**[RESTART COOLTIME]** // 重新开始当前动作的冷却时间\n```\n\n重启当前动作的冷却计时(刷新冷却)", "type": "text" }, "group": "act" }, { "id": "act.section.restore-target.2hopy", "match": { "extensions": [ ".act" ] }, "target": { "kind": "section", "section": "restore target" }, "annotation": { "title": "恢复为初始目标(撤销目标变更)", "content": "恢复初始目标:在 [BEHAVIOR] 中将目标恢复为初始设定的目标对象,撤销之前的 [CHANGE MY TARGET] 等目标变更。\n\n#### 官方示例: actionsample.act\n\n```pvf\n**[RESTORE TARGET]** // 变更为初始目标(继续前进)\n```\n\n恢复为初始目标(撤销目标变更)", "type": "text" }, "group": "act" }, { "id": "act.section.return-xpos.1fbe4h", "match": { "extensions": [ ".act" ] }, "target": { "kind": "section", "section": "return xpos" }, "annotation": { "title": "返回点 X 坐标(直线移动后回到的坐标)", "content": "返回点 X 坐标:在 [STRAIGHT MOVE] 中设置移动完成后返回的 X 坐标,不指定则不返回并停留在移动终点。\n\n#### 官方示例: actionsample.act\n\n```pvf\n//移动后返回的坐标。未指定则不返回,停留在移动处。\n [RETURN XPOS] 100 //x坐标\n```\n\n返回点 X 坐标(直线移动后回到的坐标)", "type": "text" }, "group": "act" }, { "id": "act.section.return-zpos.enm0zd", "match": { "extensions": [ ".act" ] }, "target": { "kind": "section", "section": "return zpos" }, "annotation": { "title": "返回点 Z 坐标(直线移动后回到的坐标)", "content": "返回点 Z 坐标:在 [STRAIGHT MOVE] 中设置移动完成后返回的 Z 坐标,不指定则不返回并停留在移动终点。\n\n#### 官方示例: actionsample.act\n\n```pvf\n[RETURN ZPOS] 300 //z坐标\n```\n\n返回点 Z 坐标(直线移动后回到的坐标)", "type": "text" }, "group": "act" }, { "id": "act.section.return.115sm2", "match": { "extensions": [ ".act" ] }, "target": { "kind": "section", "section": "return" }, "annotation": { "title": "结束动作", "content": "#### 官方示例: uiactionsample.act\n\n```pvf\n[RETURN]\t\t\t\t\t\t\t\t\t// 结束动作。(之后所有的触发器和行为不再执行)\n```\n\n结束动作\n\n官方示例:\n#### 官方示例: uiactionsample.act\n\n#### 官方示例: ai_doc/apc function history\n\n```pvf\n[true] [return] `a` // 对2号队伍成员使用a槽中指定的快速治愈技能。\n```\n\n```pvf\n[return] `test` // 可以正常工作\n```\n\n```pvf\n[true] [return] `a`\t// 2번 파티원에게 a슬롯에 지정된 패스트 힐 스킬을 사용한다.\n```\n\n```pvf\n[return] `test`\t// 문제 없이 작동한다\n```\n\n#### 官方示例: ai_doc/how to edit aic\n\n```pvf\n[true] [return] a // 对 2 号队伍成员使用 a 槽中指定的快速治愈技能。\n```\n\n#### 官方示例: ai_doc/how to edit key\n\n```pvf\n[return] 5 // 由于在 1) 中,5号索引对应的按键指向 2号槽位,\n// 因此会使用在 [quick item] 中第二个指定的 1106 号物品。\n```\n\n返回按键索引;-1 / 空 表示不执行任何键", "type": "text" }, "group": "act" }, { "id": "act.section.rewind.1oi7mb", "match": { "extensions": [ ".act" ] }, "target": { "kind": "section", "section": "rewind" }, "annotation": { "title": "倒带", "content": "#### 官方示例: uiactionsample.act\n\n```pvf\n[REWIND]\t\t\t\t\t\t\t\t\t// 倒带动画等控件\n```\n\nREWIND", "type": "text" }, "group": "act" }, { "id": "act.section.rhythm-action.1luf0w", "match": { "extensions": [ ".act" ] }, "target": { "kind": "section", "section": "rhythm action" }, "annotation": { "title": "节奏行动", "content": "#### 官方示例: actionsample.act\n\n```pvf\n**[RHYTHM ACTION]** 4 5000 1021 // 节奏动作 总输入指令数/ 总可输入时间 / 生成的被动对象索引\n [PATTERN] [RIGHT] 1000 0 // 指令模式方向,输入等待时间,对象的帧号\n [PATTERN] [UP] 500 0\n [PATTERN] [LEFT] 800 0\n [PATTERN] [DOWN] 1200 0\n [IF SUCCESS] 1 0 0 0 // 成功时生成的对象索引,以对象为基准的 X,Y,Z 坐标\n [IF FAIL] 2 0 0 10 // 失败时生成的对象索引,以对象为基准的 X,Y,Z 坐标\n **[/RHYTHM ACTION]**\n```\n\nRHYTHM ACTION", "type": "text" }, "group": "act" }, { "id": "act.section.right.xjidwl", "match": { "extensions": [ ".act" ] }, "target": { "kind": "section", "section": "right" }, "annotation": { "title": "右边", "content": "#### 官方示例: actionsample.act\n\n```pvf\n[FIX DIRECTION] [LEFT] [RIGHT] [RANDOM] [NEUTRAL] // 指定面对的方向。\n```\n\n```pvf\n**[SET DIRECTION]** [LEFT] (或 [RIGHT] 或 [TO TARGET] 或 [RANDOM] 或 [REVERSE] 或 [MY DIRECTION] 或 [MY OPPOSITE DIRECTION] 或 [MY CURRENT DIRECTION]) // 改变目标的方向\n```\n\n```pvf\n[PATTERN] [RIGHT] 1000 0 // 指令模式方向,输入等待时间,对象的帧号\n```\n\nRIGHT", "type": "text" }, "group": "act" }, { "id": "act.section.rotation.9cck7z", "match": { "extensions": [ ".act" ] }, "target": { "kind": "section", "section": "rotation" }, "annotation": { "title": "旋转角度", "content": "旋转角度:控制对象或动画的旋转参数值。\n\nROTATION", "type": "text" }, "group": "act" }, { "id": "act.section.save-position.137h0e", "match": { "extensions": [ ".act" ] }, "target": { "kind": "section", "section": "save position" }, "annotation": { "title": "保存当前位置以便后续 LOAD POSITION 使用", "content": "保存当前位置:在 [BEHAVIOR] 中记录当前的 X/Y/Z 坐标到临时存储,之后可通过 [LOAD POSITION] 在 [SET POS FORCE] 中引用。\n\n#### 官方示例: actionsample.act\n\n```pvf\n**[SAVE POSITION]** // 保存当前位置,与 [LOAD POSITION] 标签一起使用\n```\n\n保存当前位置以便后续 LOAD POSITION 使用", "type": "text" }, "group": "act" }, { "id": "act.section.say-speech-with-position.1aafix", "match": { "extensions": [ ".act" ] }, "target": { "kind": "section", "section": "say speech with position" }, "annotation": { "title": "显示台词并指定屏幕/相对位置 X Y", "content": "台词+坐标显示:在 [BEHAVIOR] 中输出台词文本并在指定屏幕坐标(X Y)处显示。与 [SAY SPEECH] 相比增加了位置控制。\n\n#### 官方示例: actionsample.act\n\n```pvf\n**[SAY SPEECH WITH POSITION]**`speech` 10 20 // 输出台词。X坐标, Y坐标\n```\n\n显示台词并指定屏幕/相对位置 X Y", "type": "text" }, "group": "act" }, { "id": "act.section.second-arg.vop4ed", "match": { "extensions": [ ".act" ] }, "target": { "kind": "section", "section": "second arg" }, "annotation": { "title": "第二ARG", "content": "#### 官方示例: uiactionsample.act\n\n```pvf\n[SECOND ARG] 1.0 1.0\t\t// 第二个参数:插值后 X 比例,插值后 Y 比例\n```\n\n```pvf\n[SECOND ARG] 360 -1.0\t// 第二个参数:插值后 X 角度(DEGREE),-1.0(不使用)\n```\n\n```pvf\n[SECOND ARG] 0.0 1.0\t\t// 第二个参数:插值后 Alpha 值,-1.0(不使用)\n```\n\nSECOND ARG", "type": "text" }, "group": "act" }, { "id": "act.section.send-do-behavior.10mcby", "match": { "extensions": [ ".act" ] }, "target": { "kind": "section", "section": "send do behavior" }, "annotation": { "title": "向指定对象发送执行行为消息(常用于中间代理)", "content": "发送行为消息:在 [BEHAVIOR] 中让指定目标执行某个行为的指定索引。与触发器中的 [DO BEHAVIOR] 不同,这是一个行为命令。参数:目标来源 + 行为索引。\n\n#### 官方示例: actionsample.act\n\n```pvf\n**[SEND DO BEHAVIOR]** [CHECKUP OBJECT] 1 // 让目标执行行为(中间是要执行的目标)\n```\n\n向指定对象发送执行行为消息(常用于中间代理)", "type": "text" }, "group": "act" }, { "id": "act.section.send-message.1ivn9t", "match": { "extensions": [ ".act" ] }, "target": { "kind": "section", "section": "send message" }, "annotation": { "title": "发送内部消息(如 ATTACK_COMMAND", "content": "发送内部消息(如 ATTACK_COMMAND, MOVE_COMMAND 等)\n\n#### 官方示例: actionsample.act\n\n```pvf\n//发送消息\n **[SEND MESSAGE]** [ATTACK_COMMAND] 0 //攻击索引\n```\n\n发送内部消息(如 ATTACK_COMMAND", "type": "text" }, "group": "act" }, { "id": "act.section.separate-magical-attack.nfqhce", "match": { "extensions": [ ".act" ] }, "target": { "kind": "section", "section": "separate magical attack" }, "annotation": { "title": "独立魔法攻击力", "content": "#### 官方示例: actionsample.act\n\n```pvf\n[separate magical attack] [+] 100.0 // 独立魔法攻击力\n```\n\n独立魔法攻击力", "type": "text" }, "group": "act" }, { "id": "act.section.separate-physical-attack.1fcj6q", "match": { "extensions": [ ".act" ] }, "target": { "kind": "section", "section": "separate physical attack" }, "annotation": { "title": "独立物理攻击力", "content": "#### 官方示例: actionsample.act\n\n```pvf\n[separate physical attack] [+] 100.0 // 独立物理攻击力\n```\n\n独立物理攻击力", "type": "text" }, "group": "act" }, { "id": "act.section.set-casting-gaugepos.1577jo", "match": { "extensions": [ ".act" ] }, "target": { "kind": "section", "section": "set casting gaugepos" }, "annotation": { "title": "设置施法条显示的相对坐标(X Y Z)", "content": "施法条位置:在 [BEHAVIOR] 中指定施法进度条相对于基准对象的三维显示位置(X Y Z)。\n\n#### 官方示例: actionsample.act\n\n```pvf\n**[SET CASTING GAUGEPOS]** 100 0 100 // 可以指定施法条位置(基准对象位置)\n```\n\n设置施法条显示的相对坐标(X Y Z)", "type": "text" }, "group": "act" }, { "id": "act.section.set-color.o1q9cs", "match": { "extensions": [ ".act" ] }, "target": { "kind": "section", "section": "set color" }, "annotation": { "title": "设置对象渲染颜色(RGB)", "content": "设置渲染颜色:在 [BEHAVIOR] 中设置目标对象的 RGB 颜色值(0-255),用于改变对象的渲染颜色。\n\n#### 官方示例: actionsample.act\n\n```pvf\n**[SET COLOR]** 255 255 255 //RGB颜色值\n```\n\n设置对象渲染颜色(RGB)", "type": "text" }, "group": "act" }, { "id": "act.section.set-damage-check.1bowx1", "match": { "extensions": [ ".act" ] }, "target": { "kind": "section", "section": "set damage check" }, "annotation": { "title": "开启/关闭伤害判定检查", "content": "开启/关闭伤害判定检查,并可设置检查间隔(毫秒)\n\n#### 官方示例: actionsample.act\n\n```pvf\n//伤害检查开始(action文件)\n **[SET DAMAGE CHECK]** 1 1000//1开始伤害检查, 0停止伤害检查 //检查时间设置\n```\n\n开启/关闭伤害判定检查\n\n官方示例:\n#### 官方示例: actionsample.act\n\n#### 官方示例: newmonstersample.mob\n\n```pvf\n[set damage check] 3000 // event.ai 中检查伤害的间隔 // 也可以在动作中开启,但对于从创建开始就要始终检查的怪物,可以用这个标签嵌入到怪物文件中。\n```", "type": "text" }, "group": "act" }, { "id": "act.section.set-grabable.1khs1z", "match": { "extensions": [ ".act" ] }, "target": { "kind": "section", "section": "set grabable" }, "annotation": { "title": "设置对象是否可被抓取(1", "content": "设置对象是否可被抓取(1=可抓取,0=不可抓取)\n\n#### 官方示例: actionsample.act\n\n```pvf\n**[SET GRABABLE]** 1 //1为可被抓取的怪物, 0为不可被抓取的怪物\n```\n\n设置对象是否可被抓取(1", "type": "text" }, "group": "act" }, { "id": "act.section.set-hold-damageani.lnwghx", "match": { "extensions": [ ".act" ] }, "target": { "kind": "section", "section": "set hold damageani" }, "annotation": { "title": "设置被抓取目标的受击动画索引(0/1 可选)", "content": "设置抓取受击动画:在 [BEHAVIOR] 中将被束缚目标的动画更改为指定的伤害动画(1 号或 0 号)。参数为动画索引。\n\n#### 官方示例: actionsample.act\n\n```pvf\n**[SET HOLD DAMAGEANI]** INDEX // 将被束缚目标的动画更改为伤害动画,使用1号或0号。\n```\n\n设置被抓取目标的受击动画索引(0/1 可选)", "type": "text" }, "group": "act" }, { "id": "act.section.set-hold-downani.xa7v2a", "match": { "extensions": [ ".act" ] }, "target": { "kind": "section", "section": "set hold downani" }, "annotation": { "title": "设置被抓取目标的倒地动画索引", "content": "设置抓取倒地动画:在 [BEHAVIOR] 中将被束缚目标的动画更改为倒地(down)动画。\n\n#### 官方示例: actionsample.act\n\n```pvf\n**[SET HOLD DOWNANI]** // 将被束缚目标的动画更改为倒地动画。\n```\n\n设置被抓取目标的倒地动画索引", "type": "text" }, "group": "act" }, { "id": "act.section.set-movevels.1wbzii", "match": { "extensions": [ ".act" ] }, "target": { "kind": "section", "section": "set movevels" }, "annotation": { "title": "设置移动速度分档(X NORMAL", "content": "设置移动速度分档(X NORMAL, X SLANT, Y NORMAL, Y SLANT)\n\n#### 官方示例: actionsample.act\n\n```pvf\n//mkjung 120517 add.\n **[SET MOVEVELS]**\n [X NORMAL] 0\n [X SLANT] 0\n //mkjung 120518 add\n [Y NORMAL] 0\n [Y SLANT] 0\n **[/SET MOVEVELS]**\n```\n\n#### 官方示例: actionsamplebytool.act\n\n```pvf\n//mkjung 120517 添加。\n\t//mkjung 120518 修改。 [Y NORMAL],[Y SLANT]添加。\n\t[SET MOVEVELS]\n\t\t[X NORMAL]\n\t\t\t{must1}{int(:)}\n\t\t[!X NORMAL]\n\t\t[Y NORMAL]\n\t\t\t{must1}{int(:)}\n\t\t[!Y NORMAL]\n\t\t[X SLANT]\n\t\t\t{must1}{int(:)}\n\t\t[!X SLANT]\n\t\t[Y SLANT]\n\t\t\t{must1}{int(:)}\n\t\t[!Y SLANT]\n\t[/SET MOVEVELS]\n```\n\n设置移动速度分档(X NORMAL", "type": "text" }, "group": "act" }, { "id": "act.section.set-outline.8knqex", "match": { "extensions": [ ".act" ] }, "target": { "kind": "section", "section": "set outline" }, "annotation": { "title": "设置描边显示(开关", "content": "设置描边显示(开关, R,G,B, depth)\n\n#### 官方示例: actionsample.act\n\n```pvf\n**[SET OUTLINE]** 1 255 255 255 2 //1为绘制0为擦除, Red, green, blue, depth默认值为2\n```\n\n设置描边显示(开关", "type": "text" }, "group": "act" }, { "id": "act.section.set-overturn.1nl8ko", "match": { "extensions": [ ".act" ] }, "target": { "kind": "section", "section": "set overturn" }, "annotation": { "title": "将被抓取目标替换为翻转(overturn)动画", "content": "设置翻转动画:在 [BEHAVIOR] 中将被束缚/抓取目标的动画更改为翻身(overturn)动画。\n\n#### 官方示例: actionsample.act\n\n```pvf\n// **[ADD LAYER ANIMATION]** `` 100 // 在某个图层创建并附加该路径的动画。(未实现)\n // 但是什么时候移除呢?\n// **[REMOVE ANIMATION]** [SUB] 0 // (未实现)\n// **[REMOVE ANIMATION]** [LAYER] 0 // (未实现)\n// **[CREATE ANIMATION]** `` x,y // (未实现)\n **[SET OVERTURN]** // 将被束缚目标的动画更改为翻身动画。\n```\n\n将被抓取目标替换为翻转(overturn)动画", "type": "text" }, "group": "act" }, { "id": "act.section.set-party-target.l351ic", "match": { "extensions": [ ".act" ] }, "target": { "kind": "section", "section": "set party target" }, "annotation": { "title": "设定党目标", "content": "#### 官方示例: actionsample.act\n\n```pvf\n**[SET PARTY TARGET]** 1 1 // 队伍的索引号(0 ~ 3),没有时是否将下一个位置的成员设为目标?1为变更,0为不变更\n //将目标变更为特定队员\n```\n\n#### 官方示例: actionsamplebytool.act\n\n```pvf\n//该槽索引的队员不存在时\n\t//-0:不对下一位角色进行目标设定。\n\t//-1:(一般设置模式)对下一位角色进行目标设定。\n\t//-2:不对下一位角色进行目标设定。\n\t//-3:(绝对设置模式)对下一位角色进行目标设定。\n\t{exp}将AI目标更改为特定队员{/exp}[SET PARTY TARGET]\n\t\t{must1}{exp}队伍槽(队员)的索引(0~3){/exp}{int(0:3)}\n\t\t{must2}{exp}该索引没有队员时是否对下一位角色进行目标设定(一般设置模式(0:不改变,1:改变),绝对设置模式(2:不改变,3:改变)){/exp}{int(0:3)}\n```\n\nSET PARTY TARGET", "type": "text" }, "group": "act" }, { "id": "act.section.set-passtype.1gn69l", "match": { "extensions": [ ".act" ] }, "target": { "kind": "section", "section": "set passtype" }, "annotation": { "title": "设置通行类型(pass all", "content": "设置通行类型(pass all, pass only float type, do not pass, pass only red team, pass only blue team)\n\n#### 官方示例: actionsample.act\n\n```pvf\n**[SET PASSTYPE]** [pass all] // 改变通行类型。仅被动对象有效。与被动对象脚本的 [pass type] 相同。均可通行\n```\n\n#### 官方示例: actionsamplebytool.act\n\n```pvf\n//mkjung 0521 修改。\n\t{exp}改变路径类型(仅限被动物体){/exp}[SET PASSTYPE]\n\t\t//{opt1}{string}\n```\n\n设置通行类型(pass all", "type": "text" }, "group": "act" }, { "id": "act.section.set-saved-target.z7hpht", "match": { "extensions": [ ".act" ] }, "target": { "kind": "section", "section": "set saved target" }, "annotation": { "title": "设置当前目标为之前保存的目标对象(槽位索引)", "content": "设置已保存目标:在 [BEHAVIOR] 中将当前 TARGET 切换为通过 [SAVE TARGET OBJECT] 保存的指定槽位中的对象。参数为保存槽位索引。\n\n#### 官方示例: actionsample.act\n\n```pvf\n//mkjung 120511 add.\n **[SET SAVED TARGET]** 0\n```\n\n#### 官方示例: actionsamplebytool.act\n\n```pvf\n//mkjung 120511 添加。\n\t[SET SAVED TARGET]\n\t\t{must1}{int(:)}\n```\n\n设置当前目标为之前保存的目标对象(槽位索引)", "type": "text" }, "group": "act" }, { "id": "act.section.set-selected.1u8lbt", "match": { "extensions": [ ".act" ] }, "target": { "kind": "section", "section": "set selected" }, "annotation": { "title": "设置选中状态", "content": "设置选中状态:控制 UI 元素或选项的选择/高亮状态。\n\nSET SELECTED", "type": "text" }, "group": "act" }, { "id": "act.section.set-team.1clhf6", "match": { "extensions": [ ".act" ] }, "target": { "kind": "section", "section": "set team" }, "annotation": { "title": "设置对象团队编号(整数)", "content": "设置队伍编号:在 [BEHAVIOR] 中更改目标对象的队伍归属编号(整数值)。\n\n#### 官方示例: actionsample.act\n\n```pvf\n//mkjung 120514 add.\n **[SET TEAM]** 1000\n```\n\n#### 官方示例: actionsamplebytool.act\n\n```pvf\n//mkjung 120514 添加。\n\t[SET TEAM]\n\t\t{must1}{exp}{/exp}{int(0:)}\n```\n\n设置对象团队编号(整数)\n\n官方示例:\n#### 官方示例: actionsample.act\n\n#### 官方示例: questsample.qst\n\n```pvf\n[think] [set team] -1 // 变更为怪物队伍。\n```", "type": "text" }, "group": "act" }, { "id": "act.section.set-title.19divg", "match": { "extensions": [ ".act" ] }, "target": { "kind": "section", "section": "set title" }, "annotation": { "title": "更改标题(例如", "content": "#### 官方示例: uiactionsample.act\n\n```pvf\n[SET TITLE]\t`确认`\t\t\t\t\t\t\t// 更改标题(例如:按钮)\n```\n\n更改标题(例如", "type": "text" }, "group": "act" }, { "id": "act.section.set-trans-center.bqwg22", "match": { "extensions": [ ".act" ] }, "target": { "kind": "section", "section": "set trans center" }, "annotation": { "title": "指定变换(旋转/缩放)中心点", "content": "#### 官方示例: uiactionsample.act\n\n```pvf\n[SET TRANS CENTER] 0 0\t\t// 指定变换(旋转/缩放)中心点,默认为中心\n```\n\n指定变换(旋转/缩放)中心点", "type": "text" }, "group": "act" }, { "id": "act.section.set-use-homing.8z5174", "match": { "extensions": [ ".act" ] }, "target": { "kind": "section", "section": "set use homing" }, "annotation": { "title": "是否启用追踪(homing)功能(0", "content": "是否启用追踪(homing)功能(0=关闭,1=开启)\n\n#### 官方示例: actionsample.act\n\n```pvf\n**[SET USE HOMING]** 0 // 0. 不使用自动追踪, 1. 使用自动追踪\n```\n\n是否启用追踪(homing)功能(0", "type": "text" }, "group": "act" }, { "id": "act.section.set-visible.k4fn1h", "match": { "extensions": [ ".act" ] }, "target": { "kind": "section", "section": "set visible" }, "annotation": { "title": "设置可见性", "content": "设置可见性:控制 UI 元素或对象的显示(可见)或隐藏状态。\n\nSET VISIBLE", "type": "text" }, "group": "act" }, { "id": "act.section.set-visiblity.1x4t6k", "match": { "extensions": [ ".act" ] }, "target": { "kind": "section", "section": "set visiblity" }, "annotation": { "title": "设置对象渲染可见性(0", "content": "设置对象渲染可见性(0=隐藏,1=显示)\n\n#### 官方示例: actionsample.act\n\n```pvf\n**[SET VISIBLITY]** 1 // 0 : 设为不可见, 1 : 设为可见。\n // 注意!!:请仅在想要完全不可见时使用!\n // 变为不可见状态后,动作检查等可能无法正常工作!\n```\n\n设置对象渲染可见性(0", "type": "text" }, "group": "act" }, { "id": "act.section.set-whole-alpha.uuci50", "match": { "extensions": [ ".act" ] }, "target": { "kind": "section", "section": "set whole alpha" }, "annotation": { "title": "设置对象整体透明度(数值)", "content": "设置整体透明度:在 [BEHAVIOR] 中更改目标对象的整体 Alpha 透明度值(0-255)。\n\n#### 官方示例: actionsample.act\n\n```pvf\n**[SET WHOLE ALPHA]** 150 // 更改目标的Alpha值。\n```\n\n设置对象整体透明度(数值)", "type": "text" }, "group": "act" }, { "id": "act.section.set-whole-damagetype.xsba1", "match": { "extensions": [ ".act" ] }, "target": { "kind": "section", "section": "set whole damagetype" }, "annotation": { "title": "设置整个Damagetype.", "content": "#### 官方示例: actionsample.act\n\n```pvf\n**[SET WHOLE DAMAGETYPE]** 0 // 设置伤害类型(0 普通, 1. 霸体, 2. 无敌)\n```\n\nSET WHOLE DAMAGETYPE", "type": "text" }, "group": "act" }, { "id": "act.section.set-width.114zfw", "match": { "extensions": [ ".act" ] }, "target": { "kind": "section", "section": "set width" }, "annotation": { "title": "设置对象碰撞/判定宽高(xWidth yWidth)", "content": "设置碰撞宽高:在 [BEHAVIOR] 中指定怪物/被动对象的碰撞判定宽高(xWidth yWidth)。警告:怪物无宽度时会穿透地图,需谨慎使用。\n\n#### 官方示例: actionsample.act\n\n```pvf\n**[SET WIDTH]** %d %d // xWidth, yWidth 顺序。可以指定宽度。可用于怪物被动对象。怪物没有宽度时会穿透地图,使用时请注意\n```\n\n设置对象碰撞/判定宽高(xWidth yWidth)", "type": "text" }, "group": "act" }, { "id": "act.section.set-x-speed.102bzo", "match": { "extensions": [ ".act" ] }, "target": { "kind": "section", "section": "set x speed" }, "annotation": { "title": "设置X速度", "type": "text" }, "group": "act" }, { "id": "act.section.shake-input.1g09l5", "match": { "extensions": [ ".act" ] }, "target": { "kind": "section", "section": "shake input" }, "annotation": { "title": "显示/隐藏摇动输入提示(ON/OFF)", "content": "晃动提示开关:在 [BEHAVIOR] 中控制是否在界面上显示晃动输入提示([ON] 显示/[OFF] 隐藏),用于挣脱束缚等交互。\n\n#### 官方示例: actionsample.act\n\n```pvf\n**[SHAKE INPUT]** [ON] // 也可使用 [OFF]。是否显示晃动输入提示。\n```\n\n显示/隐藏摇动输入提示(ON/OFF)", "type": "text" }, "group": "act" }, { "id": "act.section.shaking-gage.1ejxt9", "match": { "extensions": [ ".act" ] }, "target": { "kind": "section", "section": "shaking gage" }, "annotation": { "title": "摇动操作表征(保持/失败/成功 相关参数)", "content": "晃动计量条:在 [BEHAVIOR] 中设置晃动操作机制。参数:状态保持时间、放置积满时间、每秒需晃动次数、成功减少量(%)、失败受到的伤害。玩家需晃动方向键避免计量条积满。\n\n#### 官方示例: actionsample.act\n\n```pvf\n**[SHAKING GAGE]** 50000 10000 5 10 500 // 晃动动作:通过晃动方向键避免计量条积满的动作\n // 状态保持时间,放置不动时计量条积满的时间,每秒需要晃动的次数,\n // 晃动成功时减少的计量条百分比,计量条积满失败时受到的伤害\n```\n\n摇动操作表征(保持/失败/成功 相关参数)", "type": "text" }, "group": "act" }, { "id": "act.section.short-knock-back.12iviz", "match": { "extensions": [ ".act" ] }, "target": { "kind": "section", "section": "short knock back" }, "annotation": { "title": "短距离击退常量", "content": "短距离击退类型:在 [SET ACTION]/[DAMAGE] 的 [KNOCK BACK TYPE] 中使用,设置为向后较小幅度的击退效果。\n\n#### 官方示例: actionsample.act\n\n```pvf\n[KNOCK BACK TYPE] [NORMAL] // or [KNOCK BACK] or [SHORT KNOCK BACK] or [PIXEL WITHOUT DAMAGE TIME] or [NOT BACK]\n```\n\n#### 官方示例: actionsamplebytool.act\n\n```pvf\n[KNOCK BACK TYPE]\n {must3}[SHORT KNOCK BACK]\n```\n\n短距离击退常量", "type": "text" }, "group": "act" }, { "id": "act.section.show-hitgauge.2mjwak", "match": { "extensions": [ ".act" ] }, "target": { "kind": "section", "section": "show hitgauge" }, "annotation": { "title": "显示受击血条分割(支持 COUNT", "content": "显示受击血条分割(支持 COUNT, POS, TIME 子项)\n\n#### 官方示例: actionsample.act\n\n```pvf\n**[SHOW HITGAUGE]**\n [COUNT] 12\n [POS] 0 0\n [TIME] 0\n**[/SHOW HITGAUGE]**\n```\n\n显示受击血条分割(支持 COUNT", "type": "text" }, "group": "act" }, { "id": "act.section.sit.1izn1b", "match": { "extensions": [ ".act" ] }, "target": { "kind": "section", "section": "sit" }, "annotation": { "title": "动作常量", "content": "动作常量:坐下动作上下文\n\n#### 官方示例: actionsamplebytool.act\n\n```pvf\n//[动作]的[X号]触发器on.off.reset\n\t\t\t{prereq}[STAY]|[MOVE]|[SIT]|[DOWN]|[DEFAULT]|[PROC]{/prereq}{must2}{exp}触发器编号{/exp}{int(0:)}\n```\n\n```pvf\n{prereq}[STAY]|[MOVE]|[SIT]|[DOWN]|[DEFAULT]|[PROC]{/prereq}{must3}{exp}重置{/exp}[RESET]\n\t\t\t//[X号] [动作]的[X号]触发器on.off.reset\n```\n\n```pvf\n//[动作]的[X号]触发器 on.off.reset\n\t\t{prereq}[STAY]|[MOVE]|[SIT]|[DOWN]|[DEFAULT]|[PROC]{/prereq}{must2}{exp}触发器编号{/exp}{int(0:)}\n```\n\n```pvf\n{prereq}[STAY]|[MOVE]|[SIT]|[DOWN]|[DEFAULT]|[PROC]{/prereq}{must3}{exp}LIMIT次数重置{/exp}[RESET]\n\t\t//[X号] [动作]的[X号]触发器 on.off.reset\n```\n\n动作常量", "type": "text" }, "group": "act" }, { "id": "act.section.slash.1kg8e0", "match": { "extensions": [ ".act" ] }, "target": { "kind": "section", "section": "slash" }, "annotation": { "title": "斩击类型", "content": "命中类型:斩击\n\n#### 官方示例: actionsample.act\n\n```pvf\n[HIT TYPE] [KNOCK] // or [SLASH] or [BURN] or [CUSTOM] or [MANA BURN]\n```\n\n#### 官方示例: actionsamplebytool.act\n\n```pvf\n[HIT TYPE]\n {must3}[SLASH]\n```\n\n命中类型\n\n官方示例:\n#### 官方示例: actionsample.act\n\n#### 官方示例: attackinfosamplebytool.atk\n\n```pvf\n//mkjung 120531 添加\n {must1}{exp}{/exp}[slash]\n```", "type": "text" }, "group": "act" }, { "id": "act.section.sleep.129m39", "match": { "extensions": [ ".act" ] }, "target": { "kind": "section", "section": "sleep" }, "annotation": { "title": "ACTIVESTATUS_SLEEP", "content": "#### 官方示例: actionsample.act\n\n```pvf\n**[ACTIVE STATUS]** [sleep] 100 20 3000 // 概率, 等级, 持续时间\n```\n\n#### 官方示例: actionsamplebytool.act\n\n```pvf\n{must1}{exp}睡眠{/exp}[sleep]\t\t//ACTIVESTATUS_SLEEP\n```\n\nACTIVESTATUS_SLEEP\n\n官方示例:\n#### 官方示例: actionsample.act\n\n异常效果:睡眠\n\n#### 官方示例: attackinfosample.atk\n\n```pvf\n[active status] [sleep] 100 20 3000 // 概率, 等级, 持续时间\n```", "type": "text" }, "group": "act" }, { "id": "act.section.slow.ueleig", "match": { "extensions": [ ".act" ] }, "target": { "kind": "section", "section": "slow" }, "annotation": { "title": "ACTIVESTATUS_SLOW", "content": "#### 官方示例: actionsample.act\n\n```pvf\n**[ACTIVE STATUS]** [slow] 100 20 10000 50 50 // 概率, 等级, 持续时间, 移动速度(%), 攻击速度(%)\n```\n\n#### 官方示例: actionsamplebytool.act\n\n```pvf\n//mkjung 120704\n\t\t//参考DNF Client Source结构变更。\n\t\t//ACTIVESTATUS_SLOW\n\t\t{must1}{exp}缓慢{/exp}[slow]\n\t\t\t{must1}{exp}概率{/exp}{int(0:)}\n\t\t\t{must2}{exp}等级{/exp}{int(0:)}\n\t\t\t{must3}{exp}持续时间{/exp}{int(0:)}\n\t\t\t{must4}{exp}移动速度(%){/exp}{int(0:)}\n\t\t\t{must5}{exp}攻击速度(%){/exp}{int(0:)}\n```\n\n```pvf\n//mkjung 120521\n\t\t//ActionScript脚本格式统一更改--\u003e('[x]' =\u003e [x])\n\t\t//{must1}{exp}ACTIVE STATUS ID{/exp}{string}-\u003e [tag]\n\t\t//mkjung 120704\n\t\t//参考DNF Client Source\n\t\t{must1}{exp}缓慢{/exp}[slow]\t\t//ACTIVESTATUS_SLOW\n```\n\nACTIVESTATUS_SLOW\n\n官方示例:\n#### 官方示例: actionsample.act\n\n```pvf\n//mkjung 120521\n\t\t//ActionScript脚本格式统一更改--\u003e('[x]' =\u003e [x\n\n异常效果:减速\n\n#### 官方示例: attackinfosample.atk\n\n```pvf\n[active status] [slow] 100 20 10000 50 50 // 概率, 等级, 持续时间, 移速(%), 攻速(%)\n```", "type": "text" }, "group": "act" }, { "id": "act.section.stand.wjjbc3", "match": { "extensions": [ ".act" ] }, "target": { "kind": "section", "section": "stand" }, "annotation": { "title": "站立动作", "content": "动作常量:站立状态或站立动作\n\n#### 官方示例: actionsample.act\n\n```pvf\n[STAND] [NOW] (或 [END]) // 动作常量:站立动作\n```\n\n动作常量\n\n官方示例:\n#### 官方示例: actionsample.act\n\n#### 官方示例: newmonstersample.mob\n\n```pvf\n100 [stand] [dash] 0\n// 处于以下特定状态的敌人的奖励 (基于 IRDActiveObject::state_ )\n// [stand], [sit], [sit forever], [damage], [down],\n// [die], [jump], [jump attack], [attack], [hold],\n// [throw], [dash], [dash attack], [get item], [buff]\n// 可以指定多个,只要满足其中1个就加分。\n//最后的无意义的0必须加上。\n```", "type": "text" }, "group": "act" }, { "id": "act.section.start-keystroke-mode.1mle4m", "match": { "extensions": [ ".act" ] }, "target": { "kind": "section", "section": "start keystroke mode" }, "annotation": { "title": "开启按键连击/连按判定模式并配置参数(索引/模式/阈值等)", "content": "按键连击模式开始:在 [BEHAVIOR] 中开启按键连击/连按判定系统。参数:从属攻击动作索引、终结攻击索引、连击模式(0=瞬时按键/1=累积按键)、执行从属动作需按键次数、从属动作循环次数限制。\n\n#### 官方示例: actionsample.act\n\n```pvf\n**[START KEYSTROKE MODE]** 8 9 0 0 1 // 从属 attack 动作索引,终结 attack 动作索引,连击模式 0: 瞬时按键模式, 1: 累积按键模式,执行一次从属动作需要按下的次数,从属动作循环限制\n```\n\n#### 官方示例: actionsamplebytool.act\n\n```pvf\n//mkjung 120516 添加。\n\t[START KEYSTROKE MODE]\n\t\t{must1}{exp}从属攻击动作索引{/exp}{int(:)}\n\t\t{must2}{exp}结束攻击动作索引{/exp}{int(:)}\n\t\t{must3}{exp}连打模式 0:瞬间按键模式,1:累计按键模式{/exp}{int(:)}\n\t\t{must4}{exp}执行一次从属动作需要按下的次数{/exp}{int(:)}\n\t\t{must5}{exp}从属动作循环上限{/exp}{int(:)}\n```\n\n开启按键连击/连按判定模式并配置参数(索引/模式/阈值等)", "type": "text" }, "group": "act" }, { "id": "act.section.start-position.esoiwy", "match": { "extensions": [ ".act" ] }, "target": { "kind": "section", "section": "start position" }, "annotation": { "title": "START位置", "content": "START位置 //[起始位置]\n\n#### 官方示例: actionsample.act\n\n```pvf\n[START POSITION] -400 600 // 起始 x,y坐标\n```\n\nSTART位置\n\n官方示例:\n#### 官方示例: actionsample.act\n\n#### 官方示例: ultimateskillcutscene.etc\n\n```pvf\n[START POSITION] -400 480\t// 起始 x,y 坐标\n```", "type": "text" }, "group": "act" }, { "id": "act.section.stay.1j02n8", "match": { "extensions": [ ".act" ] }, "target": { "kind": "section", "section": "stay" }, "annotation": { "title": "停留", "content": "#### 官方示例: actionsample.act\n\n```pvf\n[stay], // CATEGORY_ETC_STAY : 在初始位置不移动\n```\n\n```pvf\n**[TRIGGER CHECK]** [STAY] 1 [ON] (或 [OFF]) // 检查 stay 动作的1号触发器是否可用。\n```\n\n```pvf\n//注意!通过 [CHANGE ACTION FILE] 切换动作并返回原动作时会重置!\n **[TRIGGER]** [STAY] 1 [ON] // 打开 stay 动作的1号触发器\n```\n\n#### 官方示例: actionsamplebytool.act\n\n```pvf\n//[动作]的[X号]触发器on.off.reset\n\t\t\t{prereq}[STAY]|[MOVE]|[SIT]|[DOWN]|[DEFAULT]|[PROC]{/prereq}{must2}{exp}触发器编号{/exp}{int(0:)}\n```\n\n```pvf\n{prereq}[STAY]|[MOVE]|[SIT]|[DOWN]|[DEFAULT]|[PROC]{/prereq}{must3}{exp}重置{/exp}[RESET]\n\t\t\t//[X号] [动作]的[X号]触发器on.off.reset\n```\n\n```pvf\n//[动作]的[X号]触发器 on.off.reset\n\t\t{prereq}[STAY]|[MOVE]|[SIT]|[DOWN]|[DEFAULT]|[PROC]{/prereq}{must2}{exp}触发器编号{/exp}{int(0:)}\n```\n\n```pvf\n{prereq}[STAY]|[MOVE]|[SIT]|[DOWN]|[DEFAULT]|[PROC]{/prereq}{must3}{exp}LIMIT次数重置{/exp}[RESET]\n\t\t//[X号] [动作]的[X号]触发器 on.off.reset\n```\n\nSTAY", "type": "text" }, "group": "act" }, { "id": "act.section.stone.1jiqeb", "match": { "extensions": [ ".act" ] }, "target": { "kind": "section", "section": "stone" }, "annotation": { "title": "ACTIVESTATUS_STONE", "content": "#### 官方示例: actionsample.act\n\n```pvf\n**[ACTIVE STATUS]** [stone] 100 20 3000 50 // 概率, 等级, 持续时间, 伤害值(+)\n```\n\n#### 官方示例: actionsamplebytool.act\n\n```pvf\n{must1}{exp}石化{/exp}[stone]\t\t//ACTIVESTATUS_STONE\n```\n\nACTIVESTATUS_STONE\n\n官方示例:\n#### 官方示例: actionsample.act\n\n异常效果:石化\n\n#### 官方示例: attackinfosample.atk\n\n```pvf\n[active status] [stone] 100 20 3000 50 // 概率, 等级, 持续时间, 伤害值(+)\n```", "type": "text" }, "group": "act" }, { "id": "act.section.sub-ani-flag.1t1yff", "match": { "extensions": [ ".act" ] }, "target": { "kind": "section", "section": "sub ani flag" }, "annotation": { "title": "子Ani旗帜", "content": "#### 官方示例: actionsample.act\n\n```pvf\n**[SUB ANI FLAG]** 0 1 //设置是否绘制子动画 [SUB ANI FLAG] 动画索引, 1为使用 0为不使用(初始值为使用)\n```\n\nSUB ANI FLAG", "type": "text" }, "group": "act" }, { "id": "act.section.sub-ani-with-xyz.1ubonv", "match": { "extensions": [ ".act" ] }, "target": { "kind": "section", "section": "sub ani with xyz" }, "annotation": { "title": "mkjung 120517 添加", "content": "#### 官方示例: actionsamplebytool.act\n\n```pvf\n//mkjung 120517 添加\n\t[SUB ANI WITH XYZ]\n\t\t{exp}路径{/exp}{string}\n\t\t\t{must1}{exp}起始帧{/exp}{int(0:)}\n\t\t\t{must2}{exp}图层{/exp}{int(0:)}\n\t\t\t{must3}{exp}X坐标{/exp}{int(:)}\n\t\t\t{must4}{exp}Y坐标{/exp}{int(:)}\n\t\t\t{must5}{exp}Z坐标{/exp}{int(:)}\n\t\t{!string}\n\t[/SUB ANI WITH XYZ]\n```\n\nmkjung 120517 添加", "type": "text" }, "group": "act" }, { "id": "act.section.suffocation-appendage.og7ca7", "match": { "extensions": [ ".act" ] }, "target": { "kind": "section", "section": "suffocation appendage" }, "annotation": { "title": "窒息类附加效果", "content": "窒息类附加效果:等级/延迟/间隔/伤害等\n\n#### 官方示例: actionsample.act\n\n```pvf\n**[SUFFOCATION APPENDAGE]** // 窒息附加状态\n [LEVEL] 70 // 等级\n [APPEND DELAY TIME] 10000 // 开始受到伤害前的延迟时间\n [FREQUENCY TIME] 1000 // 受到伤害的时间间隔\n [DAMAGE] 100 // 伤害\n **[/SUFFOCATION APPENDAGE]**\n```\n\n#### 官方示例: actionsamplebytool.act\n\n```pvf\n//mkjung 120425 添加。\n\t{exp}窒息附加效果{/exp}[SUFFOCATION APPENDAGE]\n\t\t[LEVEL]\n\t\t\t{must1}{exp}等级{/exp}{int(0:)}\n\t\t[!LEVEL]\n\n[APPEND DELAY TIME]\n\t\t\t{must1}{exp}开始受到伤害前要延迟的时间{/exp}{int(0:)}\n\t\t[!APPEND DELAY TIME]\n\n[FREQUENCY TIME]\n\t\t\t{must1}{exp}受到伤害的时间间隔{/exp}{int(:)}\n\t\t[!FREQUENCY TIME]\n\n[DAMAGE]\n\t\t\t{must1}{exp}伤害{/exp}{int(:)}\n\t\t[!DAMAGE]\n\t[/SUFFOCATION APPENDAGE]\n```\n\n窒息类附加效果\n\n官方示例:\n#### 官方示例: actionsample.act\n\n```pvf\n//mkjung 120425 添加。\n\t{exp}窒息附加效果{/exp}[SUFFOCATION APPENDAGE]\n\t\t[LEVEL]\n\t\t\t{must1}{exp}等级{/exp}{int(0:)}", "type": "text" }, "group": "act" }, { "id": "act.section.summon-object.1kmjw3", "match": { "extensions": [ ".act" ] }, "target": { "kind": "section", "section": "summon object" }, "annotation": { "title": "目标", "content": "目标:召唤出的对象(被动/怪物)\n\n#### 官方示例: actionsample.act\n\n```pvf\n[SUMMON OBJECT] // 召唤物(被动对象, 怪物)\n```\n\n#### 官方示例: actionsamplebytool.act\n\n```pvf\n{opt3}{exp}召唤物(被动、怪物){/exp}[SUMMON OBJECT]\n\t\t\t//mkjung 120514 [PASSIVE--\u003e PASSIVE OBJECT] 修改。\n```\n\n目标", "type": "text" }, "group": "act" }, { "id": "act.section.summon-type.17a8zf", "match": { "extensions": [ ".act" ] }, "target": { "kind": "section", "section": "summon type" }, "annotation": { "title": "召唤物类型", "content": "召唤类型选项(WITHOUT SUMMONER NONE/NEUTRAL/DIE 等)\n\n#### 官方示例: actionsample.act\n\n```pvf\n//[SUMMON TYPE] ([WITHOUT SUMMONER NONE] - 召唤者死亡无变化, [WITHOUT SUMMONER NEUTRAL] - 召唤者死亡变为中立, [WITHOUT SUMMONER DIE] - 召唤者死亡则消失)\n```\n\n#### 官方示例: actionsamplebytool.act\n\n```pvf\n[SUMMON TYPE]\n {must1}[WITHOUT SUMMONER NONE]\n {must1}[WITHOUT SUMMONER DIE]\n[!SUMMON TYPE]\n```\n\nSUMMON TYPE", "type": "text" }, "group": "act" }, { "id": "act.section.take-it.58vwyn", "match": { "extensions": [ ".act" ] }, "target": { "kind": "section", "section": "take it" }, "annotation": { "title": "吞噬/吸收目标的参数列表(多达 5 个索引", "content": "吞噬/吸收目标的参数列表(多达 5 个索引,-1 表示空槽)\n\n#### 官方示例: actionsample.act\n\n```pvf\n// 则是将最后攻击自己的人设为目标。\n **[TAKE IT]** 10086 -1 -1 -1 -1 // 将行为主体吞噬。(必须指定5个索引,没有则填 -1)\n```\n\n吞噬/吸收目标的参数列表(多达 5 个索引", "type": "text" }, "group": "act" }, { "id": "act.section.telekinesis-appendage.ml2jo2", "match": { "extensions": [ ".act" ] }, "target": { "kind": "section", "section": "telekinesis appendage" }, "annotation": { "title": "念动力类附加效果", "content": "念动力类附加效果:力场、持续时间、周边伤害等参数\n\n#### 官方示例: actionsample.act\n\n```pvf\n**[TELEKINESIS APPENDAGE]** 25000 1000 30 50 80 100 4000 // 附加状态维持时间(ms),操作失误时能承受的时间(ms),升力变动值0~3(像素/s^2),落地时受到的伤害\n```\n\n念动力类附加效果", "type": "text" }, "group": "act" }, { "id": "act.section.terminal-velocity.1vttub", "match": { "extensions": [ ".act" ] }, "target": { "kind": "section", "section": "terminal velocity" }, "annotation": { "title": "终端速度限制(数值)", "content": "终端速度:在 [BOOSTER APPENDAGE] 中设置下落过程中能达到的最大速度限制(\u003e 0),省略时默认为 0(无限制)。\n\n#### 官方示例: actionsample.act\n\n```pvf\n[TERMINAL VELOCITY] 3000 // 终端速度(\u003e 0,省略时初始值:0)\n```\n\n终端速度限制(数值)", "type": "text" }, "group": "act" }, { "id": "act.section.terror-appendage.41glcc", "match": { "extensions": [ ".act" ] }, "target": { "kind": "section", "section": "terror appendage" }, "annotation": { "title": "恐惧/僵直相关附加效果参数(等级/硬直时间/持续时间)", "content": "恐惧附加效果:在 [BEHAVIOR] 中附加恐惧状态。参数:等级、僵硬所需时间(毫秒)、总持续时间(毫秒)。\n\n#### 官方示例: actionsample.act\n\n```pvf\n**[TERROR APPENDAGE]** 60 5000 10000 // 等级,僵硬所需时间,持续时间\n```\n\n恐惧/僵直相关附加效果参数(等级/硬直时间/持续时间)", "type": "text" }, "group": "act" }, { "id": "act.section.thorns-appendage.1ba625", "match": { "extensions": [ ".act" ] }, "target": { "kind": "section", "section": "thorns appendage" }, "annotation": { "title": "反伤/愤怒相关附加效果参数集合", "content": "荆棘/反伤效果:在 [BEHAVIOR] 中附加荆棘附加状态。参数依次为:愤怒等级增减间隔、火焰反射率(%)、愤怒炸弹连击次数、打击减少间隔、炸弹等级、愤怒下降所需次数、持续时间。\n\n#### 官方示例: actionsample.act\n\n```pvf\n**[THORNS APPENDAGE]** 3000 70 6 2000 99 4 600000 //决定愤怒等级增减的时间间隔,火焰伤害反射率(%),\n //愤怒炸弹爆炸所需的连续打击次数,愤怒炸弹的打击次数减少间隔,\n //愤怒炸弹的等级,愤怒等级下降所需的打击次数,持续时间\n```\n\n反伤/愤怒相关附加效果参数集合", "type": "text" }, "group": "act" }, { "id": "act.section.throw-its-own.1l4q24", "match": { "extensions": [ ".act" ] }, "target": { "kind": "section", "section": "throw its own" }, "annotation": { "title": "将吞噬的对象吐出(释放)", "content": "释放吞噬对象:在 [BEHAVIOR] 中将被 [TAKE IT] 吞噬的对象吐出/释放。与 [TAKE IT] 配对使用。\n\n#### 官方示例: actionsample.act\n\n```pvf\n**[THROW ITS OWN]** // 吐出吞噬的对象。\n```\n\n将吞噬的对象吐出(释放)", "type": "text" }, "group": "act" }, { "id": "act.section.trap-appendage.1f1g6o", "match": { "extensions": [ ".act" ] }, "target": { "kind": "section", "section": "trap appendage" }, "annotation": { "title": "禁锢类附加效果", "content": "禁锢类附加效果:限制目标移动直到触发器消失\n\n#### 官方示例: actionsample.act\n\n```pvf\n**[TRAP APPENDAGE]** // 束缚目标的移动,直到发动的对象消失为止无法移动\n```\n\n禁锢类附加效果", "type": "text" }, "group": "act" }, { "id": "act.section.trigger-questevent.9pha4r", "match": { "extensions": [ ".act" ] }, "target": { "kind": "section", "section": "trigger questevent" }, "annotation": { "title": "触发任务事件索引(用于任务触发)", "content": "触发任务事件:在 [BEHAVIOR] 中触发指定索引的任务事件。\n\n#### 官方示例: actionsamplebytool.act\n\n```pvf\n//mkjung 120516 添加。\n\t[TRIGGER QUESTEVENT]\n\t\t{must1}{int(:)}\n```\n\n触发任务事件索引(用于任务触发)", "type": "text" }, "group": "act" }, { "id": "act.section.true.lk2v39", "match": { "extensions": [ ".act" ] }, "target": { "kind": "section", "section": "true" }, "annotation": { "title": "布尔真值", "content": "布尔真值常量:在条件判断或属性设置中表示逻辑 true 状态。\n\nTRUE\n\n#### 官方示例: ai_doc/apc function history\n\n```pvf\n[true] [return] `a` // 对2号队伍成员使用a槽中指定的快速治愈技能。\n```\n\n```pvf\n[true] // 如果杀意波动开启\n```\n\n```pvf\n[true] [return] `a`\t// 2번 파티원에게 a슬롯에 지정된 패스트 힐 스킬을 사용한다.\n```\n\n```pvf\n[true]\t// 살의의 파동이 켜져 있으면\n```\n\n#### 官方示例: ai_doc/how to edit ai\n\n#### 官方示例: ai_doc/how to edit aic\n\n```pvf\n[true] [return] a // 对 2 号队伍成员使用 a 槽中指定的快速治愈技能。\n```", "type": "text" }, "group": "act" }, { "id": "act.section.unbeatable.1b298m", "match": { "extensions": [ ".act" ] }, "target": { "kind": "section", "section": "unbeatable" }, "annotation": { "title": "mkjung 120620 添加", "content": "#### 官方示例: actionsamplebytool.act\n\n```pvf\n//mkjung 120620 添加。\n\t\t\t{opt42}{exp}无敌{/exp}[unbeatable]\n\t\t\t//mkjung 120621 添加。\n```\n\nmkjung 120620 添加", "type": "text" }, "group": "act" }, { "id": "act.section.unlock-quest.1y19nz", "match": { "extensions": [ ".act" ] }, "target": { "kind": "section", "section": "unlock quest" }, "annotation": { "title": "mkjung 120516 添加", "content": "#### 官方示例: actionsamplebytool.act\n\n```pvf\n//mkjung 120516 添加。\n\t[UNLOCK QUEST]\n\t\t{must1}{int(:)}\n```\n\nmkjung 120516 添加", "type": "text" }, "group": "act" }, { "id": "act.section.up.inuyw0", "match": { "extensions": [ ".act" ] }, "target": { "kind": "section", "section": "up" }, "annotation": { "title": "上方方向", "content": "方向常量:向上\n\n#### 官方示例: actionsample.act\n\n```pvf\n//[JUMP OUT] 0 0 0 [LEFT] [UP]\n// [NEUTRAL] 或 [UP] 或 [DOWN] 或 [RANDOM]\n```\n\n方向常量", "type": "text" }, "group": "act" }, { "id": "act.section.use-my-team.dd3por", "match": { "extensions": [ ".act" ] }, "target": { "kind": "section", "section": "use my team" }, "annotation": { "title": "mkjung 120517 添加", "content": "#### 官方示例: actionsamplebytool.act\n\n```pvf\n//mkjung 120517 添加。\n\t\t{opt2}{etc}[USE MY TEAM]\n```\n\nmkjung 120517 添加", "type": "text" }, "group": "act" }, { "id": "act.section.use-target-pos.1i9w3j", "match": { "extensions": [ ".act" ] }, "target": { "kind": "section", "section": "use target pos" }, "annotation": { "title": "在位移时以目标坐标作为参考(默认行为)", "content": "以目标坐标为基准:在 [SET POS FORCE] 中指定相对坐标移动以目标的坐标为基准,这是默认行为。与 [USE MY BASEPOS] 和 [USE MAP POS] 三选一。\n\n#### 官方示例: actionsample.act\n\n```pvf\n//[USE TARGET POS] // 相对坐标移动以目标的坐标为准。(默认。)\n```\n\n#### 官方示例: actionsamplebytool.act\n\n```pvf\n{opt8}{etc}[USE TARGET POS]\n```\n\n在位移时以目标坐标作为参考(默认行为)", "type": "text" }, "group": "act" }, { "id": "act.section.use-target-x-pos.1r544c", "match": { "extensions": [ ".act" ] }, "target": { "kind": "section", "section": "use target x pos" }, "annotation": { "title": "生成区域与目标 X 坐标同步(开关)", "content": "X 坐标同步目标:在 [RANDOM GENERATE PASSIVE OBJECT] 中指定生成区域的 X 坐标跟随目标的 X 坐标。\n\n#### 官方示例: actionsample.act\n\n```pvf\n[USE TARGET X POS] // 是否将生成 AREA 与目标的 X坐标同步?\n```\n\n生成区域与目标 X 坐标同步(开关)", "type": "text" }, "group": "act" }, { "id": "act.section.use-target-y-pos.179hcn", "match": { "extensions": [ ".act" ] }, "target": { "kind": "section", "section": "use target y pos" }, "annotation": { "title": "生成区域与目标 Y 坐标同步(开关)", "content": "Y 坐标同步目标:在 [RANDOM GENERATE PASSIVE OBJECT] 中指定生成区域的 Y 坐标跟随目标的 Y 坐标。\n\n#### 官方示例: actionsample.act\n\n```pvf\n[USE TARGET Y POS] // 是否将生成 AREA 与目标的 Y坐标同步?\n```\n\n生成区域与目标 Y 坐标同步(开关)", "type": "text" }, "group": "act" }, { "id": "act.section.use-target-z-pos.1kqisy", "match": { "extensions": [ ".act" ] }, "target": { "kind": "section", "section": "use target z pos" }, "annotation": { "title": "生成区域与目标 Z 坐标同步(开关)", "content": "Z 坐标同步目标:在 [RANDOM GENERATE PASSIVE OBJECT] 中指定生成区域的 Z 坐标跟随目标的 Z 坐标。\n\n#### 官方示例: actionsample.act\n\n```pvf\n[USE TARGET Z POS] // 是否将生成 AREA 与目标的 Z坐标同步?\n```\n\n生成区域与目标 Z 坐标同步(开关)", "type": "text" }, "group": "act" }, { "id": "act.section.velocity.dzysky", "match": { "extensions": [ ".act" ] }, "target": { "kind": "section", "section": "velocity" }, "annotation": { "title": "速度参数(像素/毫秒或引擎约定单位)", "content": "移动速度:在 [MOVE PATTERN] 中设置移动速度(像素/s),曲线移动时指平均速度。\n\n#### 官方示例: actionsample.act\n\n```pvf\n[VELOCITY] 400 // 移动速度,(曲线移动时指平均速度)\n```\n\n速度参数(像素/毫秒或引擎约定单位)", "type": "text" }, "group": "act" }, { "id": "act.section.virtualhp-appendage.mb2btr", "match": { "extensions": [ ".act" ] }, "target": { "kind": "section", "section": "virtualhp appendage" }, "annotation": { "title": "虚拟 HP 机制", "content": "虚拟 HP 机制:命中次数/伤害阈值/模式等参数\n\n#### 官方示例: actionsample.act\n\n```pvf\n**[VIRTUALHP APPENDAGE]** 10 50 10 1 // 移除虚拟 HP 所需的打击次数,移除虚拟 HP 所需的伤害,移除虚拟 HP 的条件(0:打击次数, 1:伤害, 2: 两者均满足),虚拟 HP 运作时每次打击减少的 HP\n```\n\n虚拟 HP 机制", "type": "text" }, "group": "act" }, { "id": "act.section.water-element-attack.wby5g4", "match": { "extensions": [ ".act" ] }, "target": { "kind": "section", "section": "water element attack" }, "annotation": { "title": "水属性强化", "content": "#### 官方示例: actionsample.act\n\n```pvf\n[water element attack] [+] 100.0 // 水属性强化\n```\n\n水属性强化", "type": "text" }, "group": "act" }, { "id": "act.section.weapon-break.6obvvq", "match": { "extensions": [ ".act" ] }, "target": { "kind": "section", "section": "weapon break" }, "annotation": { "title": "ACTIVESTATUS_WEAPON_BREAK", "content": "#### 官方示例: actionsample.act\n\n```pvf\n**[ACTIVE STATUS]** [weapon break] 100 20 10000 15 // 概率, 等级, 持续时间, 耐久度消耗检查次数\n```\n\n#### 官方示例: actionsamplebytool.act\n\n```pvf\n{must1}{exp}武器破坏{/exp}[weapon break]\t//ACTIVESTATUS_WEAPON_BREAK\n```\n\nACTIVESTATUS_WEAPON_BREAK\n\n官方示例:\n#### 官方示例: actionsample.act\n\n异常效果:武器损坏\n\n//减少武器的耐久度\n\n#### 官方示例: attackinfosample.atk\n\n```pvf\n[active status] [weapon break] 100 20 10000 15 // 概率, 等级, 持续时间, 耐久度消耗检查次数\n```", "type": "text" }, "group": "act" }, { "id": "act.section.wind-appendage.11vm2j", "match": { "extensions": [ ".act" ] }, "target": { "kind": "section", "section": "wind appendage" }, "annotation": { "title": "风力附加效果", "content": "风力类附加效果:X/Y 速度、方向与持续时间参数\n\n#### 官方示例: actionsample.act\n\n```pvf\n**[WIND APPENDAGE]** 5.0 0.0 2 0 5000\n// X轴移动速度(小数), Y轴移动速度(小数), X轴移动方向, Y轴移动方向, 时间\n// X轴移动方向 - 0: 不移动, 1: 向右, 2: 向左\n// Y轴移动方向 - 0: 不移动, 1: 向上, 2: 向下\n```\n\n风力类附加效果", "type": "text" }, "group": "act" }, { "id": "act.section.without-summoner-die.i3qftv", "match": { "extensions": [ ".act" ] }, "target": { "kind": "section", "section": "without summoner die" }, "annotation": { "title": "召唤者死亡消失", "content": "召唤物消失:在 [SUMMON APC] 的 [SUMMON TYPE] 中使用,指定召唤者死亡时召唤物也随之消失。\n\n#### 官方示例: actionsample.act\n\n```pvf\n// [WITHOUT SUMMONER DIE] - 召唤者死亡则消失\n```\n\n召唤者丢失时召唤物消失", "type": "text" }, "group": "act" }, { "id": "act.section.without-summoner-none.l53xyd", "match": { "extensions": [ ".act" ] }, "target": { "kind": "section", "section": "without summoner none" }, "annotation": { "title": "召唤者死亡无变化", "content": "召唤者丢失时召唤物行为:保持不变\n\n召唤者丢失时召唤物行为", "type": "text" }, "group": "act" }, { "id": "act.section.x-end.12elm4", "match": { "extensions": [ ".act" ] }, "target": { "kind": "section", "section": "x end" }, "annotation": { "title": "结束 X 坐标(用于 SET POS FORCE 等)", "content": "X 终点坐标:在 [SET POS FORCE] 中指定目标强制移动的 X 坐标结束点。不设置则固定在起点位置。可设为随机值。\n\n#### 官方示例: actionsample.act\n\n```pvf\n[X END] 0 // X 终点\n```\n\n结束 X 坐标(用于 SET POS FORCE 等)", "type": "text" }, "group": "act" }, { "id": "act.section.x-normal.12c2kj", "match": { "extensions": [ ".act" ] }, "target": { "kind": "section", "section": "x normal" }, "annotation": { "title": "X 轴正常速度配置", "content": "X 轴正常速度:在 [SET MOVEVELS] 中设置 X 轴方向的正常移动速度值。\n\n#### 官方示例: actionsample.act\n\n```pvf\n**[SET MOVEVELS]**\n [X NORMAL] 0\n```\n\nX 轴正常速度配置", "type": "text" }, "group": "act" }, { "id": "act.section.x-slant.1k93rp", "match": { "extensions": [ ".act" ] }, "target": { "kind": "section", "section": "x slant" }, "annotation": { "title": "X 轴斜向速度配置", "content": "X 轴斜向速度:在 [SET MOVEVELS] 中设置 X 轴方向的斜向移动速度值。\n\n#### 官方示例: actionsample.act\n\n```pvf\n[X SLANT] 0\n //mkjung 120518 add\n```\n\nX 轴斜向速度配置", "type": "text" }, "group": "act" }, { "id": "act.section.x.1y7mkj", "match": { "extensions": [ ".act" ] }, "target": { "kind": "section", "section": "x" }, "annotation": { "title": "轴常量/标识", "content": "X 轴常量/标识\n\n#### 官方示例: actionsample.act\n\n```pvf\n[AXIS] [X] //要直线移动的坐标轴 [X],[Y],[Z] 中选一\n```\n\n轴常量/标识", "type": "text" }, "group": "act" }, { "id": "act.section.y-end.bk4mtt", "match": { "extensions": [ ".act" ] }, "target": { "kind": "section", "section": "y end" }, "annotation": { "title": "结束 Y 坐标(用于 SET POS FORCE 等)", "content": "Y 终点坐标:在 [SET POS FORCE] 中指定目标强制移动的 Y 坐标结束点。不设置则固定在起点位置。可设为随机值。\n\n#### 官方示例: actionsample.act\n\n```pvf\n[Y END] 0 // Y 终点\n```\n\n结束 Y 坐标(用于 SET POS FORCE 等)", "type": "text" }, "group": "act" }, { "id": "act.section.y-normal.1g40om", "match": { "extensions": [ ".act" ] }, "target": { "kind": "section", "section": "y normal" }, "annotation": { "title": "Y 轴正常速度配置", "content": "Y 轴正常速度:在 [SET MOVEVELS] 中设置 Y 轴方向的正常移动速度值。\n\n#### 官方示例: actionsample.act\n\n```pvf\n//mkjung 120518 add\n [Y NORMAL] 0\n```\n\nY 轴正常速度配置", "type": "text" }, "group": "act" }, { "id": "act.section.y-slant.ohkyh0", "match": { "extensions": [ ".act" ] }, "target": { "kind": "section", "section": "y slant" }, "annotation": { "title": "Y 轴斜向速度配置", "content": "Y 轴斜向速度:在 [SET MOVEVELS] 中设置 Y 轴方向的斜向移动速度值。\n\n#### 官方示例: actionsample.act\n\n```pvf\n**[SET MOVEVELS]**\n [Y SLANT] 0\n```\n\nY 轴斜向速度配置", "type": "text" }, "group": "act" }, { "id": "act.section.y.1xxmyu", "match": { "extensions": [ ".act" ] }, "target": { "kind": "section", "section": "y" }, "annotation": { "title": "Y轴", "content": "Y 轴常量/标识\n\n#### 官方示例: actionsample.act\n\n```pvf\n[STRAIGHT MOVE]\n [AXIS] [X] //要直线移动的坐标轴 [X],[Y],[Z] 中选一\n```\n\n轴常量/标识", "type": "text" }, "group": "act" }, { "id": "act.section.z-end.ioawis", "match": { "extensions": [ ".act" ] }, "target": { "kind": "section", "section": "z end" }, "annotation": { "title": "结束 Z 坐标(用于 SET POS FORCE 等)", "content": "Z 终点坐标:在 [SET POS FORCE] 中指定目标强制移动的 Z 坐标结束点。不设置则固定在起点位置。可设为随机值。\n\n#### 官方示例: actionsample.act\n\n```pvf\n[Z END] 0 // Z 终点\n```\n\n结束 Z 坐标(用于 SET POS FORCE 等)", "type": "text" }, "group": "act" }, { "id": "act.section.z.1yrlrx", "match": { "extensions": [ ".act" ] }, "target": { "kind": "section", "section": "z" }, "annotation": { "title": "Z轴", "content": "Z 轴常量/标识\n\n#### 官方示例: actionsample.act\n\n```pvf\n[STRAIGHT MOVE]\n [AXIS] [X] //要直线移动的坐标轴 [X],[Y],[Z] 中选一\n```\n\n轴常量/标识", "type": "text" }, "group": "act" }, { "id": "act.section.zpos-camera-view.1uv2hk", "match": { "extensions": [ ".act" ] }, "target": { "kind": "section", "section": "zpos camera view" }, "annotation": { "title": "按 Zpos 判断是否触发摄像机追踪视图", "content": "摄像机高度跟踪:在 [BOOSTER APPENDAGE] 中使用,设置是否根据对象的 Z 坐标高度来跟踪摄像机视角,省略时默认不跟踪。\n\n#### 官方示例: actionsample.act\n\n```pvf\n[ZPOS CAMERA VIEW] // 是否根据高度跟踪摄像机(省略时初始值:不跟踪)\n```\n\n按 Zpos 判断是否触发摄像机追踪视图", "type": "text" }, "group": "act" }, { "id": "act.section.zspeed.1w8w57", "match": { "extensions": [ ".act" ] }, "target": { "kind": "section", "section": "zspeed" }, "annotation": { "title": "[CHECK] [ME]", "content": "#### 官方示例: actionlibrary/jump.act\n\n```pvf\n//[CHECK] [ME]\n\t[ZSPEED] [\u003c] 0\n```\n\n[CHECK] [ME]", "type": "text" }, "group": "act" }, { "id": "ai.section.check-key-cooltime.11oklz", "match": { "extensions": [ ".ai" ] }, "target": { "kind": "section", "section": "check key cooltime" }, "annotation": { "title": "检查按键冷却时间", "content": "检查指定按键的冷却时间状态。用于判断某个按键输入是否处于冷却中,以便在技能冷却完毕前不重复尝试。用法:`[think] [check key cooltime] 按键索引`\n\ncheck key cooltime", "type": "text" }, "group": "ai" }, { "id": "ai.section.check-skill-on.1jn473", "match": { "extensions": [ ".ai" ] }, "target": { "kind": "section", "section": "check skill on" }, "annotation": { "title": "检查技能开关状态", "content": "检查技能开关状态:检测特定技能当前是开启还是关闭。例如检查杀意波动(Acquiro)的开关状态。\n用法:`[think] [check skill on] 技能编号`。可检查的技能列表请参考官方文档 on off skill list。\n\n#### 官方示例: how to edit ai.rtf\n\n```pvf\n[think] [check skill on] 52 // 检查杀意波动的开启/关闭状态\n [true] // 杀意波动开启\n [return] a\n [false] // 杀意波动关闭\n [return] s\n[/think]\n```\n\n检查技能开关状态\n\n检查技能开关状态:`[think] [check skill on] 52`\n\n官方示例:\n#### 官方示例: how to edit ai.rtf\n\n#### 官方示例: ai_doc/apc function history\n\n```pvf\n[think] [check skill on] 52 // 检查杀意波动的开启/关闭状态\n```\n\n```pvf\n[think] [check skill on] 52\t// 살의의 파동의 온/오프 여부를 체크한다\n```\n\n#### 官方示例: ai_doc/how to edit ai\n\n```pvf\n使用例) [think] [check skill on] 52 // 检查杀意波动的开启/关闭状态\n```\n\n```pvf\n사용예)\t\t[think] [check skill on] 52\t// 살의의 파동의 온/오프 여부를 체크한다\n```", "type": "text" }, "group": "ai" }, { "id": "ai.section.check-use-skill.1bqr65", "match": { "extensions": [ ".ai" ] }, "target": { "kind": "section", "section": "check use skill" }, "annotation": { "title": "检查是否可使用特定技能", "content": "检查是否可使用特定技能 (按技能索引检测技能是否可用)。\n用法:`[think] [check use skill] 技能索引` —— 该技能可用时为true。\n\n#### 官方示例: how to edit ai.rtf\n\n```pvf\n[think] [check use skill] 46\n [true] // 46号技能可以使用\n [false] // 46号技能不可使用(冷却中/未学习等)\n[/think]\n```\n\n检查是否可使用特定技能 (技能索引)", "type": "text" }, "group": "ai" }, { "id": "ai.section.combo.1pm50c", "match": { "extensions": [ ".ai" ] }, "target": { "kind": "section", "section": "combo" }, "annotation": { "title": "比较连击数", "content": "比较连击数 (攻击时 - Event.ai)。用法 `[think] [combo] 比较方式 数值`。\n例:`[think] [combo] \u003e= 10.0` —— 连击数大于等于10时为true。\n\n比较连击数\n\n#### 官方示例: equipmentsamplebytool.equ\n\n```pvf\n//1.1.1.4 after attack #\n\t{prereq}[combo]|[aerial]{/prereq}{exp}仅在与 combo, aerial 标签组合时使用{/exp}[after attack]\n\t\t{must1}{exp}攻击成功时的值{/exp}{int(0:)}\n```\n\n```pvf\n//1.1.2.20 combo #\n\t{exp}指定连击达到数值时{/exp}[combo]\n\t\t{must1}{exp}数值{/exp}{int(0:)}\n```", "type": "text" }, "group": "ai" }, { "id": "ai.section.false.324swo", "match": { "extensions": [ ".ai" ] }, "target": { "kind": "section", "section": "false" }, "annotation": { "title": "条件为假分支", "content": "条件为假分支:当 [think] 中的条件不满足时执行此分支内的逻辑,通常以 [return] 结束。\n\n条件为假分支\n\n#### 官方示例: ai_doc/apc function history\n\n```pvf\n[false] // 如果杀意波动关闭\n```\n\n```pvf\n[false]\t// 살의의 파동이 꺼져 있으면\n```\n\n#### 官方示例: ai_doc/how to edit ai", "type": "text" }, "group": "ai" }, { "id": "ai.section.hit.s76i2", "match": { "extensions": [ ".ai" ] }, "target": { "kind": "section", "section": "hit" }, "annotation": { "title": "受击事件 (Event.ai)", "content": "受击事件:检测自身是否受到敌人攻击 (受到伤害时 - Event.ai)。\n用法:`[think] [hit] 1` —— 受到攻击时为true。\n\n受击事件 (Event.ai)\n\n#### 官方示例: equipmentsamplebytool.equ\n\n```pvf\n//1.1.1.5 hit #\n\t[hit]\n\t\t{must1}{exp}受击时的值{/exp}{int(0:)}\n```\n\n```pvf\n//1.1.2.3 element #\n\t{prereq}[attack success]|[hit]{/prereq}{exp}攻击成功时控制攻击类型{/exp}[element]\n\t\t{must1}{exp}属性{/exp}{string}\n```\n\n```pvf\n//1.1.2.5 distance #\n\t{prereq}[attack success]|[hit]{/prereq}{exp}距离{/exp}[distance]\n\t\t{must1}{exp}{/exp}{int(0:)}\n```\n\n```pvf\n//1.1.2.10 attack type #\n\t{prereq}[attack success]|[hit]{/prereq}{exp}{/exp}[attacker type]\n\t\t{must1}{exp}类型{/exp}{string}\n```\n\n```pvf\n//1.1.2.13 attack condition #\n\t{prereq}[attack success]|[hit]{/prereq}[attack condition]\n\t\t{must1}{exp}攻击条件{/exp}{string}\n```\n\n```pvf\n//1.1.2.14 skill #\n\t{prereq}[attack success]|[hit]{/prereq}[skill]\n\t\t{must1}{exp}职业{/exp}{string}\n\t\t{must2}{exp}技能索引{/exp}{int(0:)}\n```", "type": "text" }, "group": "ai" }, { "id": "ai.section.import-ai.tyljvu", "match": { "extensions": [ ".ai" ] }, "target": { "kind": "section", "section": "import ai" }, "annotation": { "title": "插入一个.ai文件", "content": "插入一个.ai文件,将外部AI逻辑脚本引入当前文件,实现逻辑复用。\n语法:`import ai` `文件名.ai`\n\n插入一个.ai文件\n\n插入一个.ai文件\n`示例.ai`", "type": "text" }, "group": "ai" }, { "id": "ai.section.last-result.146tmh", "match": { "extensions": [ ".ai" ] }, "target": { "kind": "section", "section": "last result" }, "annotation": { "title": "上一条指令的计算结果", "content": "上一条指令写入的计算结果。get random()、enemy number of in attack area()、number of in attack area() 等函数会将结果写入此变量,后续用 `[last result]` 读取。\n\n#### 官方示例: how to edit ai.rtf\n\n```pvf\n[think] [void] get random() 0.0 100.0\n [think] [last result] \u003e= 50.0\n [true] [return] 4\n[/think]\n```\n\nlast result\n\n上一条指令写入的结果 (get random / enemy number of in attack area 等)", "type": "text" }, "group": "ai" }, { "id": "ai.section.my-active-status.1mfnnv", "match": { "extensions": [ ".ai" ] }, "target": { "kind": "section", "section": "my active status" }, "annotation": { "title": "检测自身状态变化", "content": "检测自身状态变化:持续检查 (Action.ai)。用法 `[think] [my active status] 状态变化编号`。\n状态变化编号参考:slow=0, freeze=1, poison=2, stun=3, curse=4, blind=5, lightning=6, stone=7, sleep=8, burn=9, weapon break=10, bleeding=11, haste=12, bless=13, element=14, confuse=15, hold=16, armor break=17, any=18, all=100。\n\n#### 官方示例: how to edit ai.rtf\n\n```pvf\n// 检测自身是否进入了冰冻状态\n[think] [my active status] 1\n [true]... // 自身被冰冻\n[/think]\n```\n\n检测自身状态变化\n\n官方示例:\n#### 官方示例: how to edit ai.rtf\n\n#### 官方示例: equipmentsamplebytool.equ\n\n```pvf\n//1.1.2.6 my active status #\n\t{exp}检查自己的状态变化{/exp}[my active status]\n\t\t{must1}{exp}状态{/exp}{string}\n```", "type": "text" }, "group": "ai" }, { "id": "ai.section.my-hp-down.1dupcg", "match": { "extensions": [ ".ai" ] }, "target": { "kind": "section", "section": "my hp down" }, "annotation": { "title": "检测 HP 降低瞬间", "content": "检测 HP 降低的瞬间:支持百分比模式和绝对值模式。\n用法:`[my hp down] %或+ 数值`。\n例:`[my hp down] % 90` —— 当前HP \u003c= 最大HP的90%时触发。`[my hp down] + 100.0` —— HP降低超过100点时触发。\n\n#### 官方示例: how to edit ai.rtf\n\n```pvf\n[think] [my hp down] % 90\n [true] [return] 1 // HP降到90%以下时触发\n[/think]\n```\n\n检测 HP 降低瞬间\n\n检测 HP 降低瞬间:% 或 + 模式", "type": "text" }, "group": "ai" }, { "id": "ai.section.my-state.9vl6tm", "match": { "extensions": [ ".ai" ] }, "target": { "kind": "section", "section": "my state" }, "annotation": { "title": "检测自身当前状态", "content": "检测自身当前状态:持续检查 (Action.ai)。用法 `[think] [my state] 状态编号`。\n状态编号参考:0=站, 1=坐, 2=持续坐, 3=受击, 4=倒地, 5=死亡, 6=跳, 7=跳攻, 8=攻击, 9=束缚, 10=投掷, 11=冲刺, 12=冲刺攻, 13=拾取, 14=增益。\n\n检测自身当前状态\n\n#### 官方示例: equipmentsamplebytool.equ\n\n```pvf\n//1.1.2.7 my state #\n\t{exp}检查自己的状态{/exp}[my state]\n\t\t{must1}{exp}状态{/exp}{string}\n```", "type": "text" }, "group": "ai" }, { "id": "ai.section.return-str.1fx7i1", "match": { "extensions": [ ".ai" ] }, "target": { "kind": "section", "section": "return str" }, "annotation": { "title": "返回一个字符串", "content": "返回一个字符串值(而非按键索引)。用于需要返回字符串类型值的场景,与 [return] 返回数字相区别。\n\n返回一个字符串", "type": "text" }, "group": "ai" }, { "id": "ai.section.return.115sm2", "match": { "extensions": [ ".ai" ] }, "target": { "kind": "section", "section": "return" }, "annotation": { "title": "返回按键索引", "content": "返回按键索引;-1 或空 表示不执行任何按键。返回值与 .aic 文件中 [key stream] 的按键索引一一对应。\n\n返回按键索引\n\n返回按键索引;-1 / 空 表示不执行任何键\n\n#### 官方示例: ai_doc/apc function history\n\n```pvf\n[true] [return] `a` // 对2号队伍成员使用a槽中指定的快速治愈技能。\n```\n\n```pvf\n[return] `test` // 可以正常工作\n```\n\n```pvf\n[true] [return] `a`\t// 2번 파티원에게 a슬롯에 지정된 패스트 힐 스킬을 사용한다.\n```\n\n```pvf\n[return] `test`\t// 문제 없이 작동한다\n```\n\n#### 官方示例: ai_doc/how to edit aic\n\n```pvf\n[true] [return] a // 对 2 号队伍成员使用 a 槽中指定的快速治愈技能。\n```\n\n#### 官方示例: ai_doc/how to edit key\n\n```pvf\n[return] 5 // 由于在 1) 中,5号索引对应的按键指向 2号槽位,\n// 因此会使用在 [quick item] 中第二个指定的 1106 号物品。\n```\n\n#### 官方示例: uiactionsample.act\n\n```pvf\n[RETURN]\t\t\t\t\t\t\t\t\t// 结束动作。(之后所有的触发器和行为不再执行)\n```", "type": "text" }, "group": "ai" }, { "id": "ai.section.set-bound.13k6yl", "match": { "extensions": [ ".ai" ] }, "target": { "kind": "section", "section": "set bound" }, "annotation": { "title": "设置APC移动边界 (DestinationSelect.ai)", "content": "设置APC的移动范围:指定前、后、上、下四个方向的视野距离(屏幕像素单位)。移动范围限制在指定的矩形区域内。\n用法:`[set bound] 前方视野距离 后方视野距离 上方视野距离 下方视野距离`。\n\n#### 官方示例: destination select.rtf\n\n```pvf\n[set bound] 300.0 100.0 150.0 150.0\n// 前方300像素,后方100像素,上方150像素,下方150像素的移动范围\n```\n\nDestinationSelect\n\nDestinationSelect:设置移动边界 前 后 上 下", "type": "text" }, "group": "ai" }, { "id": "ai.section.set-friend-character.158j6n", "match": { "extensions": [ ".ai" ] }, "target": { "kind": "section", "section": "set friend character" }, "annotation": { "title": "设置友方角色 (DestinationSelect.ai)", "content": "设置友方角色:指定AI角色的编号或名称,用于目的地决策模式5(移动到特定友方角色)和7(在特定友方角色周围移动)。\n用法:`[set friend character] AI角色编号 或 '角色名'`。该设置仅在当前 [think] 到 [/think] 之间有效。\n\n#### 官方示例: destination select.rtf\n\n```pvf\n[think] [set friend character] '索洛多斯'\n ... // 此处友方角色为索洛多斯\n [think] [set friend character] '索洛多斯2'\n ... // 此处友方角色为索洛多斯2\n [/think]\n ... // 此处恢复为索洛多斯\n[/think]\n```\n\nDestinationSelect\n\nDestinationSelect:指定友方角色 AI ID\n\n官方示例:\n#### 官方示例: destination select.rtf\n\n#### 官方示例: ai_doc/destination select\n\n```pvf\n[set friend character] {AI角色}\n - 目前友方角色只能指定AI角色,可通过数字或名称设置。\n - AI角色名称表格在 \\Script\\AICharacterName.lst 中自动生成。\n (用于手动更新表格的GM命令://save list aicharacter)\n - 设置的友方角色在return值为5或7时使用。\n```\n\n```pvf\n[think] [set friend character] `索洛多斯`\n//\tfriend character 是 索洛多斯\n```\n\n```pvf\n[think] [set friend character] `索洛多斯2`\n//\tfriend character 是 索洛多斯2\n```\n\n```pvf\n[set friend character] {AI캐릭터}\n - 현재 아군 캐릭터 지정은 AI캐릭터만 설정할 수 있으며, 숫자 또는 이름으로 설정 가능합니다\n - AI캐릭터 이름 테이블은 \\Script\\AICharacterName.lst 에 자동 생성됩니다\n\t(테이블 수동 갱신을 위한 GM명령어 : //save list aicharacter)\n - 설정된 아군 캐릭터는 5나 7이 return될 때 사용됩니다\n```\n\n```pvf\n[think] [set friend character] `솔로도스`\n//\tfriend character 는 솔로도스\n```\n\n```pvf\n[think] [set friend character] `솔로도스2`\n//\tfriend character 는 솔로도스2\n```", "type": "text" }, "group": "ai" }, { "id": "ai.section.set-friend-object.ddzgp4", "match": { "extensions": [ ".ai" ] }, "target": { "kind": "section", "section": "set friend object" }, "annotation": { "title": "设置友方对象 (DestinationSelect.ai)", "content": "设置友方对象:指定被动对象的编号或名称,用于目的地决策模式8(在特定友方对象周围移动)。\n用法:`[set friend object] 对象编号`。被动对象名称表位于 \\Script\\PassiveObjectName.lst。\n\nsave list passiveobject)\n\n#### 官方示例: ai_doc/destination select\n\n```pvf\n[set friend object] {被动物体}\n - 被动物体可通过数字或名称设置。\n - 被动物体名称表格在 \\Script\\PassiveObjectName.lst 中自动生成。\n (用于手动更新表格的GM命令://save list passiveobject)\n - 设置的物体在return值为8时使用。\n```\n\n```pvf\n[set friend object] {패시브 오브젝트}\n - 패시브 오브젝트는 숫자 또는 이름으로 설정 가능합니다\n - 패시브 오브젝트 이름 테이블은 \\Script\\PassiveObjectName.lst 에 자동 생성됩니다\n\t(테이블 수동 갱신을 위한 GM명령어 : //save list passiveobject)\n - 설정된 오브젝트는 8이 return될 때 사용됩니다\n```\n\nDestinationSelect:指定友方对象 ID", "type": "text" }, "group": "ai" }, { "id": "ai.section.set-target-monster.1pvptr", "match": { "extensions": [ ".ai" ] }, "target": { "kind": "section", "section": "set target monster" }, "annotation": { "title": "设置目标怪物 (DestinationSelect.ai)", "content": "设置目标怪物:指定怪物的编号/名称和队伍属性,用于目的地决策模式6(移动到特定怪物)和9(在特定怪物周围移动)。\n用法:`[set target monster] 怪物编号 队伍(enemy/neutral/friend)`。队伍对应数字:enemy=-1, neutral=0, friend=1。\n\n#### 官方示例: destination select.rtf\n\n```pvf\n[set target monster] 1004 enemy // 指定ID为1004的敌对怪物作为行动目标\n...\n```\n\nDestinationSelect\n\nDestinationSelect:指定目标怪物 ID 与队伍\n\n官方示例:\n#### 官方示例: destination select.rtf\n\n#### 官方示例: ai_doc/destination select\n\n```pvf\n[set target monster] {怪物} {队伍}\n - 怪物可通过数字或名称设置。\n - 怪物名称表格在 \\Script\\MonsterName.lst 中自动生成。\n (用于手动更新表格的GM命令://save list monster)\n - 设置的怪物在return值为6或9时使用。\n - 队伍可通过数字或名称设置,有`enemy`、`neutral`、`friend`三种值。\n (各自对应的数字值为 -1, 0, 1)\n - 若要输入文字形式的队伍,需要覆盖 \\\\ask027\\DNF_TESTRUN\\Script\\OperatingValue.lst 文件。\n```\n\n```pvf\n[set target monster] {몬스터} {팀}\n - 몬스터는 숫자 또는 이름으로 설정 가능합니다\n - 몬스터 이름 테이블은 \\Script\\MonsterName.lst 에 자동 생성됩니다\n\t(테이블 수동 갱신을 위한 GM명령어 : //save list monster)\n - 설정된 몬스터는 6이나 9가 return될 때 사용됩니다\n - 팀은 숫자 또는 이름으로 설정 가능하며, `enemy`, `neutral`, `friend`의 3가지 값이 존재합니다\n\t(각각에 설정된 숫자값은 -1, 0, 1 입니다)\n - 팀을 문자로 입력하기 위해서는 \\\\ask027\\DNF_TESTRUN\\Script\\OperatingValue.lst 를 덮어써야 합니다\n```", "type": "text" }, "group": "ai" }, { "id": "ai.section.target-state.red7ct", "match": { "extensions": [ ".ai" ] }, "target": { "kind": "section", "section": "target state" }, "annotation": { "title": "检测目标当前状态", "content": "检测目标当前状态:可用于 Event.ai (攻击/受击时) 和 Action.ai (持续检查)。用法 `[think] [target state] 状态编号`。\n状态编号参考:0=站, 1=坐, 2=持续坐, 3=受击, 4=倒地, 5=死亡, 6=跳, 7=跳攻, 8=攻击, 9=束缚, 10=投掷, 11=冲刺, 12=冲刺攻, 13=拾取, 14=增益。\n\n检测目标当前状态\n\n#### 官方示例: equipmentsamplebytool.equ\n\n```pvf\n//1.1.2.8 target state #\n\t{exp}检查敌人状态{/exp}[target state]\n\t\t{must1}{exp}状态{/exp}{string}\n```", "type": "text" }, "group": "ai" }, { "id": "ai.section.think.ymeafv", "match": { "extensions": [ ".ai" ] }, "target": { "kind": "section", "section": "think" }, "annotation": { "title": "逻辑判断块", "content": "逻辑判断块:内部比较条件并根据结果进入 [true]/[false] 分支。条件变量和值之间以比较运算符连接(如 [hp] \u003e= 1000.0)。\n\n#### 官方示例: how to edit ai.rtf\n\n```pvf\n[think] [hp] \u003e= 1000.0\n [true] [return] 1\n [false] [return] -1\n[/think]\n```\n\n逻辑判断块\n\n逻辑判断块:内部比较条件并根据结果进入 [true]/[false] 分支\n\n官方示例:\n#### 官方示例: how to edit ai.rtf\n\n#### 官方示例: ai_doc/apc function history\n\n```pvf\n[think] [set party member] 2 // 指定2号注册的队伍成员\n [think] [party member alive]\n [true]\n [think] [party member hp] `%\u003e` 50\n [true] [return] `a` // 对2号队伍成员使用a槽中指定的快速治愈技能。\n [false] [return] -1\n [/think]\n [false]\n [return] -1\n [/think]\n[/think]\n```\n\n```pvf\n[think] [check skill on] 52 // 检查杀意波动的开启/关闭状态\n [true] // 如果杀意波动开启\n [return] `a`\n [false] // 如果杀意波动关闭\n [return] `s`\n [/think]\n```\n\n```pvf\n[think] [set party member] 2\t// 2번에 등록된 파티원을 지정\n\t[think] [party member alive]\n\t\t[true]\n\t\t\t[think] [party member hp] `%\u003e` 50\n\t\t\t\t[true] [return] `a`\t// 2번 파티원에게 a슬롯에 지정된 패스트 힐 스킬을 사용한다.\n\t\t\t\t[false] [return] -1\n\t\t\t[/think]\n\t\t[false]\n\t\t\t[return] -1\n\t[/think]\n[/think]\n```\n\n```pvf\n[think] [check skill on] 52\t// 살의의 파동의 온/오프 여부를 체크한다\n\t\t\t[true]\t// 살의의 파동이 켜져 있으면\n\t\t\t\t[return] `a`\n\t\t\t[false]\t// 살의의 파동이 꺼져 있으면\n\t\t\t\t[return] `s`\n\t\t[/think]\n```\n\n#### 官方示例: ai_doc/destination select\n\n```pvf\n[think] [set friend character] `索洛多斯2`\n//\tfriend character 是 索洛多斯2\n [/think]\n```\n\n```pvf\n[think] [set friend character] `索洛多斯`\n//\tfriend character 是 索洛多斯\n\n[think] [set friend character] `索洛多斯2`\n//\tfriend character 是 索洛多斯2\n [/think]\n\n//\tfriend character 恢复为 索洛多斯\n [/think]\n```\n\n```pvf\n[think] [set friend character] `솔로도스2`\n//\tfriend character 는 솔로도스2\n\t\t[/think]\n```\n\n```pvf\n[think] [set friend character] `솔로도스`\n//\tfriend character 는 솔로도스\n\n[think] [set friend character] `솔로도스2`\n//\tfriend character 는 솔로도스2\n\t\t[/think]\n\n//\tfriend character 는 다시 솔로도스\n\t[/think]\n```\n\n#### 官方示例: ai_doc/how to edit ai\n\n```pvf\n使用例) [think] [check skill on] 52 // 检查杀意波动的开启/关闭状态\n[true] // 如果杀意波动开启\n[return] a\n[false] // 如果杀意波动关闭\n[return] s\n[/think]\n```\n\n```pvf\n사용예)\t\t[think] [check skill on] 52\t// 살의의 파동의 온/오프 여부를 체크한다\n\t\t\t[true]\t// 살의의 파동이 켜져 있으면\n\t\t\t\t[return] `a`\n\t\t\t[false]\t// 살의의 파동이 꺼져 있으면\n\t\t\t\t[return] `s`\n\t\t[/think]\n```\n\n#### 官方示例: ai_doc/how to edit aic\n\n```pvf\n[think] [set party member] 2 // 指定注册在 2 号的队伍成员\n[think] [party member alive]\n[true]\n[think] [party member hp] %\u003e 50\n[true] [return] a // 对 2 号队伍成员使用 a 槽中指定的快速治愈技能。\n[false] [return] -1\n[/think]\n[false]\n[return] -1\n[/think]\n[/think]\n```\n\n#### 官方示例: questsample.qst\n\n```pvf\n[think] [set team] -1 // 变更为怪物队伍。\n[true]\n[return] -1\n[/think]\n```\n\n```pvf\n[think] [check team] 1 // 若是友军。\n[true]\n[think] [set team] -1 // 变更为怪物队伍。\n[true]\n[return] -1\n[/think]\n[/think]\n```\n\n```pvf\n[think] [map index] == 1000 // 若当前地图索引为1000。\n[true]\n[think] [check team] 1 // 若是友军。\n[true]\n[think] [set team] -1 // 变更为怪物队伍。\n[true]\n[return] -1\n[/think]\n[/think]\n[/think]\n```\n\n```pvf\n[think] [event] == 8 // 地图开始时。\n[true]\n[think] [map index] == 1000 // 若当前地图索引为1000。\n[true]\n[think] [check team] 1 // 若是友军。\n[true]\n[think] [set team] -1 // 变更为怪物队伍。\n[true]\n[return] -1\n[/think]\n[/think]\n[/think]\n[/think]\n```", "type": "text" }, "group": "ai" }, { "id": "ai.section.true.lk2v39", "match": { "extensions": [ ".ai" ] }, "target": { "kind": "section", "section": "true" }, "annotation": { "title": "条件为真分支", "content": "条件为真分支:当 [think] 中的条件满足时执行此分支内的逻辑,通常以 [return] 结束。\n\n条件为真分支\n\n#### 官方示例: ai_doc/apc function history\n\n```pvf\n[true] [return] `a` // 对2号队伍成员使用a槽中指定的快速治愈技能。\n```\n\n```pvf\n[true] // 如果杀意波动开启\n```\n\n```pvf\n[true] [return] `a`\t// 2번 파티원에게 a슬롯에 지정된 패스트 힐 스킬을 사용한다.\n```\n\n```pvf\n[true]\t// 살의의 파동이 켜져 있으면\n```\n\n#### 官方示例: ai_doc/how to edit ai\n\n#### 官方示例: ai_doc/how to edit aic\n\n```pvf\n[true] [return] a // 对 2 号队伍成员使用 a 槽中指定的快速治愈技能。\n```", "type": "text" }, "group": "ai" }, { "id": "ai.section.void.k69mxr", "match": { "extensions": [ ".ai" ] }, "target": { "kind": "section", "section": "void" }, "annotation": { "title": "无输入占位符 (void)", "content": "[void] 表示当前条件无输入变量。用于调用 get random()、enemy number of in attack area() 等函数时,不需要传入条件变量的情况。\n\n#### 官方示例: how to edit ai.rtf\n\n```pvf\n[think] [void] get random() 0.0 100.0\n [think] [last result] \u003e= 50.0\n [true] [return] 4\n [false] [return] 3\n[/think]\n```\n\nvoid", "type": "text" }, "group": "ai" }, { "id": "aic.section.attack-damage-rate-special.21djv", "match": { "extensions": [ ".aic" ] }, "target": { "kind": "section", "section": "attack damage rate special" }, "annotation": { "title": "特殊攻击伤害比例", "content": "特殊攻击伤害比例:针对特殊攻击类型的伤害倍率调整。与普通攻击伤害比例独立,用于精细控制APC在特殊技能下的输出强度。\n\nattack damage rate special", "type": "text" }, "group": "aic" }, { "id": "aic.section.character-status-rate-special.1cjut3", "match": { "extensions": [ ".aic" ] }, "target": { "kind": "section", "section": "character status rate special" }, "annotation": { "title": "特殊面板属性倍率", "content": "特殊面板属性倍率:针对特定场景或条件下APC面板属性的额外倍率调整,如特定副本中的属性强化。\n\ncharacter status rate special", "type": "text" }, "group": "aic" }, { "id": "aic.section.custom-skill-level.1p4tte", "match": { "extensions": [ ".aic" ] }, "target": { "kind": "section", "section": "custom skill level" }, "annotation": { "title": "自定义技能等级", "content": "自定义技能等级:允许覆盖APC技能的默认等级,用于精细控制APC每个技能的强度。\n\ncustom skill level", "type": "text" }, "group": "aic" }, { "id": "aic.section.dash-action.riw9o5", "match": { "extensions": [ ".aic" ] }, "target": { "kind": "section", "section": "dash action" }, "annotation": { "title": "冲刺动作文件", "content": "APC 冲刺状态使用的 .act 相对路径。它是动作脚本入口,不是冲刺速度数值。\n\n#### 官方示例: newmonstersample.mob\n\n```pvf\n[dash action] `Dash.act` // 冲刺动作 (目前仅载具对象有效。可扩展)\n```", "type": "text" }, "group": "aic" }, { "id": "aic.section.death-tower-item.1i396z", "match": { "extensions": [ ".aic" ] }, "target": { "kind": "section", "section": "death tower item" }, "annotation": { "title": "死亡之塔物品", "content": "死亡之塔物品:定义APC在死亡之塔副本中的特殊物品掉落或行为规则。\n\ndeath tower item\n\n#### 官方示例: newmonstersample.mob\n\n```pvf\n[death tower item] // 死亡之塔的物品掉落。万分比。\n20020 500\n[/death tower item]\n```", "type": "text" }, "group": "aic" }, { "id": "aic.section.default-equipment.1h4fev", "match": { "extensions": [ ".aic" ] }, "target": { "kind": "section", "section": "default equipment" }, "annotation": { "title": "默认装备", "content": "默认装备:当APC没有被显式配置装备时的默认装备方案,用于快速设置通用装备而不必在每个APC中重复配置。\n\ndefault equipment", "type": "text" }, "group": "aic" }, { "id": "aic.section.doll-special-dungeon.1m1xmj", "match": { "extensions": [ ".aic" ] }, "target": { "kind": "section", "section": "doll special dungeon" }, "annotation": { "title": "APC特殊加成副本", "content": "APC可以得到特殊加成的副本:指定APC在哪些特定地下城中获得额外属性或行为加成。\n\nAPC可以得到特殊加成的副本", "type": "text" }, "group": "aic" }, { "id": "aic.section.drop-avatar-item.1y42t6", "match": { "extensions": [ ".aic" ] }, "target": { "kind": "section", "section": "drop avatar item" }, "annotation": { "title": "掉落的时装物品", "content": "定义APC被击败时掉落的时装物品。用于指定敌人死亡后玩家可以获得的时装道具。\n\ndrop avatar item", "type": "text" }, "group": "aic" }, { "id": "aic.section.far-attack-reaction-rate.1y9u62", "match": { "extensions": [ ".aic" ] }, "target": { "kind": "section", "section": "far attack reaction rate" }, "annotation": { "title": "远程攻击反应率", "content": "远程攻击反应率:APC对远程攻击做出反应的概率或速度。影响远程职业APC主动攻击的积极性。\n\nfar attack reaction rate", "type": "text" }, "group": "aic" }, { "id": "aic.section.hell-monster.262bpw", "match": { "extensions": [ ".aic" ] }, "target": { "kind": "section", "section": "hell monster" }, "annotation": { "title": "深渊模式怪物标记", "content": "深渊模式怪物标记:指定APC的行为是否符合深渊模式规则。深渊怪物有特殊的战斗行为和掉落规则。\n\nhell monster", "type": "text" }, "group": "aic" }, { "id": "aic.section.keep-range-distance-with-target.1uepsk", "match": { "extensions": [ ".aic" ] }, "target": { "kind": "section", "section": "keep range distance with target" }, "annotation": { "title": "扩展距离保持 (多档位)", "content": "扩展距离保持参数:与目的地决策方式14~18配合使用。可定义多组不同的距离保持参数(0、1、2、3、4号档位),对应 DestinationSelect.ai 返回14~18时的行为。支持在接近和远离之间动态调整与目标的距离。\n\n#### 官方示例: destination select.rtf\n\n```pvf\n// 目的地决策14~18为扩展版本,需要配合此参数\n// [keep range distance with target] ← 对应14号模式\n// [keep range distance with target 1] ← 对应15号模式\n// [keep range distance with target 2] ← 对应16号模式\n// [keep range distance with target 3] ← 对应17号模式\n// [keep range distance with target 4] ← 对应18号模式\n```\n\nkeep range distance with target\n\n官方示例:\n#### 官方示例: destination select.rtf\n\n#### 官方示例: newmonstersample.mob\n\n```pvf\n[keep range distance with target] 300 200 10 10 // 与目标保持多少距离?\n// X轴上保持的距离, Y轴上保持的距离, X轴随机半径, Y轴随机半径\n// `DestinationSelect.ai` 中返回11号值时触发。\n```", "type": "text" }, "group": "aic" }, { "id": "aic.section.leave-body.u0teb0", "match": { "extensions": [ ".aic" ] }, "target": { "kind": "section", "section": "leave body" }, "annotation": { "title": "死亡后保留尸体标记", "content": "APC 死亡后是否保留尸体表现的单数值开关候选。已见值为 0;0/1 的精确方向和尸体消失时机需客户端实机确认。\n\n留下身体", "type": "text" }, "group": "aic" }, { "id": "aic.section.no-cooltime.qf2a6a", "match": { "extensions": [ ".aic" ] }, "target": { "kind": "section", "section": "no cooltime" }, "annotation": { "title": "无冷却模式", "content": "无冷却模式:开启后APC的技能不再受冷却时间限制,可以连续无间隔使用技能。用于特殊怪物或Boss行为设计。\n\nno cooltime", "type": "text" }, "group": "aic" }, { "id": "aic.section.on-die.xjmv26", "match": { "extensions": [ ".aic" ] }, "target": { "kind": "section", "section": "on die" }, "annotation": { "title": "死亡时触发", "content": "生命值耗尽/死亡时触发:当APC死亡时执行的逻辑/台词块。\n\n生命值耗尽", "type": "text" }, "group": "aic" }, { "id": "aic.section.on-disappear.9ujxbp", "match": { "extensions": [ ".aic" ] }, "target": { "kind": "section", "section": "on disappear" }, "annotation": { "title": "消失时触发", "content": "消失时触发:当APC从场景中消失时(死亡消失或脚本移除)执行的逻辑/台词块。与 [on appear] 配合使用,如果存在分组机制,[on disappear] 的台词会在 [on appear] 台词结束后接续显示,需要分到同一组。\n\n[on appear]台词结束后接上的话\n\n[on appear]台词结束后接上的话,需要分到同一组", "type": "text" }, "group": "aic" }, { "id": "aic.section.on-key.y1hkz3", "match": { "extensions": [ ".aic" ] }, "target": { "kind": "section", "section": "on key" }, "annotation": { "title": "按键触发", "content": "按键触发:当AI角色执行按键输入时触发的条件/行为块。用于在特定按键被按下时执行额外逻辑。\n\non key", "type": "text" }, "group": "aic" }, { "id": "aic.section.on-stand.1r1jro", "match": { "extensions": [ ".aic" ] }, "target": { "kind": "section", "section": "on stand" }, "annotation": { "title": "处于站立状态时触发", "content": "处于站立状态时触发:当APC处于站立待机状态时执行的逻辑/台词块。\n\n处于站立状态时", "type": "text" }, "group": "aic" }, { "id": "aic.section.overhead-gauge-type.luklu", "match": { "extensions": [ ".aic" ] }, "target": { "kind": "section", "section": "overhead gauge type" }, "annotation": { "title": "头顶计量条类型", "content": "头顶计量条类型:定义APC头顶显示的计量条样式和类型(如HP血条样式、BOSS血条样式、特殊状态条等)。决定角色上方显示的UI元素类型。\n\n攻击时", "type": "text" }, "group": "aic" }, { "id": "aic.section.proc-action.1uhs09", "match": { "extensions": [ ".aic" ] }, "target": { "kind": "section", "section": "proc action" }, "annotation": { "title": "触发动作", "content": "触发动作:定义APC在特定条件下触发的特殊动作或行为模式。常用于配合 buff/debuff 触发额外动画或效果。\n\nproc action\n\n#### 官方示例: newmonstersample.mob\n\n```pvf\n[proc action] `proc.act` // proc动作不检查动画。\n// 尽可能推荐使用事件处理而非循环( [ON DAMAGE] 等)\n```", "type": "text" }, "group": "aic" }, { "id": "aic.section.rarity.ky3yx6", "match": { "extensions": [ ".aic" ] }, "target": { "kind": "section", "section": "rarity" }, "annotation": { "title": "稀有度", "content": "稀有度:定义APC的稀有度等级(如普通、稀有、史诗等),影响掉落品质和战斗奖励。\n\nrarity\n\n0.普通\n1.高级\n2.稀有\n3.神器\n4.史诗\n5.勇者\n6.传说\n7.神话\n\n#### 官方示例: equipmentsample.equ\n\n```pvf\n[rarity] 0\t\t\t\t\t// 稀有度. 0:普通 1:高级 2:稀有 3:神器 4:史诗 5:传说)\n```\n\n#### 官方示例: stackablesample-booster.stk\n\n```pvf\n[rarity] 0\t\t\t\t// 稀有度。 0:普通 1:罕见 2:稀有 3:独特 4:史诗\n```\n\n#### 官方示例: 090302stackablesample.stk\n\n```pvf\n[rarity] 0 // 稀有度\n```\n\n#### 官方示例: stackablesample.stk", "type": "text" }, "group": "aic" }, { "id": "aic.section.skill-data-up.fz337v", "match": { "extensions": [ ".aic" ] }, "target": { "kind": "section", "section": "skill data up" }, "annotation": { "title": "技能数据加成", "content": "技能数据加成:主要出现在异界装备或侍魂装备中,对所持技能的伤害/效果进行额外加成。\n\n技能加成——主要出现在异界或者侍魂装备中\n\n#### 官方示例: equipmentsample.equ\n\n```pvf\n[skill data up]\t\t\t\t\t// 控制技能脚本特定数据的标签\n`[fighter]` 12 `[dungeon]` `[static]` 2 `+` 20\n// 职业\n// 技能索引,\n// 应用到的内容 : dungeon, pvp, all\n// 要更改的数据类型 : static, level, mp, cooltime, skill consume item, casting time\n// 数据索引\n// 数值应用 : `+`, 比率应用 : `%`\n// 数值\n[/skill data up]\n```\n\n#### 官方示例: stackablesample-monster_card.stk\n\n```pvf\n[skill data up] `[fighter]` 12 `[static]` 2 1 200\n\t// 职业\n\t// 技能索引,\n\t// 要更改的数据类型[static data, level info]\n\t// 数据索引\n\t// 数值适用(0),比率适用%(1)\n\t// 数值\n```", "type": "text" }, "group": "aic" }, { "id": "aic.section.summon-monster-status-rate.1dq0g7", "match": { "extensions": [ ".aic" ] }, "target": { "kind": "section", "section": "summon monster status rate" }, "annotation": { "title": "召唤怪物属性倍率", "content": "召唤怪物属性倍率:APC召唤出的怪物属性相对于APC自身属性的比例。影响召唤物的强度。\n\nsummon monster status rate", "type": "text" }, "group": "aic" }, { "id": "als.section.create-draw-only-object.4ww1ew", "match": { "extensions": [ ".als" ] }, "target": { "kind": "section", "section": "create draw only object" }, "annotation": { "title": "创建唯一的绘制对象", "content": "创建唯一的绘制对象,该词条创建的Ani动画不会随着人物当前动作的结束,而销毁该Ani动画。\n\n创建唯一的绘制对象", "type": "text" }, "group": "als" }, { "id": "ani.section.frame001.1seayw", "match": { "extensions": [ ".ani" ] }, "target": { "kind": "section", "section": "frame001" }, "annotation": { "title": "第二帧对应img中的第二张png", "content": "FRAME001第二帧对应img中的第二张png\n\n第二帧对应img中的第二张png", "type": "text" }, "group": "ani" }, { "id": "ani.section.frame002.1rkc5t", "match": { "extensions": [ ".ani" ] }, "target": { "kind": "section", "section": "frame002" }, "annotation": { "title": "第 2 帧定义", "content": "ANI 动画的第 2 帧起始标签。该帧的图像索引、延迟、坐标、裁剪、翻转或颜色等参数由其后的帧字段给出,直到下一个 FRAME 标签开始;帧编号和缺号必须按源文件原样保留,不能自动重排。\n\nFRAME002", "type": "text" }, "group": "ani" }, { "id": "ani.section.frame003.1rubri", "match": { "extensions": [ ".ani" ] }, "target": { "kind": "section", "section": "frame003" }, "annotation": { "title": "第 3 帧定义", "content": "ANI 动画的第 3 帧起始标签。该帧的图像索引、延迟、坐标、裁剪、翻转或颜色等参数由其后的帧字段给出,直到下一个 FRAME 标签开始;帧编号和缺号必须按源文件原样保留,不能自动重排。\n\nFRAME003", "type": "text" }, "group": "ani" }, { "id": "ani.section.frame004.1r0cyf", "match": { "extensions": [ ".ani" ] }, "target": { "kind": "section", "section": "frame004" }, "annotation": { "title": "第 4 帧定义", "content": "ANI 动画的第 4 帧起始标签。该帧的图像索引、延迟、坐标、裁剪、翻转或颜色等参数由其后的帧字段给出,直到下一个 FRAME 标签开始;帧编号和缺号必须按源文件原样保留,不能自动重排。\n\n框架1004.", "type": "text" }, "group": "ani" }, { "id": "ani.section.frame005.1rack4", "match": { "extensions": [ ".ani" ] }, "target": { "kind": "section", "section": "frame005" }, "annotation": { "title": "第 5 帧定义", "content": "ANI 动画的第 5 帧起始标签。该帧的图像索引、延迟、坐标、裁剪、翻转或颜色等参数由其后的帧字段给出,直到下一个 FRAME 标签开始;帧编号和缺号必须按源文件原样保留,不能自动重排。\n\n框架1005.", "type": "text" }, "group": "ani" }, { "id": "ani.section.frame006.1qgdr1", "match": { "extensions": [ ".ani" ] }, "target": { "kind": "section", "section": "frame006" }, "annotation": { "title": "第 6 帧定义", "content": "ANI 动画的第 6 帧起始标签。该帧的图像索引、延迟、坐标、裁剪、翻转或颜色等参数由其后的帧字段给出,直到下一个 FRAME 标签开始;帧编号和缺号必须按源文件原样保留,不能自动重排。\n\n框架1006.", "type": "text" }, "group": "ani" }, { "id": "ani.section.frame007.1qqdcq", "match": { "extensions": [ ".ani" ] }, "target": { "kind": "section", "section": "frame007" }, "annotation": { "title": "第 7 帧定义", "content": "ANI 动画的第 7 帧起始标签。该帧的图像索引、延迟、坐标、裁剪、翻转或颜色等参数由其后的帧字段给出,直到下一个 FRAME 标签开始;帧编号和缺号必须按源文件原样保留,不能自动重排。\n\nFRAME007", "type": "text" }, "group": "ani" }, { "id": "ani.section.frame008.1uc86q", "match": { "extensions": [ ".ani" ] }, "target": { "kind": "section", "section": "frame008" }, "annotation": { "title": "第 8 帧定义", "content": "ANI 动画的第 8 帧起始标签。该帧的图像索引、延迟、坐标、裁剪、翻转或颜色等参数由其后的帧字段给出,直到下一个 FRAME 标签开始;帧编号和缺号必须按源文件原样保留,不能自动重排。\n\nFrame008.", "type": "text" }, "group": "ani" }, { "id": "ani.section.frame009.1um7sf", "match": { "extensions": [ ".ani" ] }, "target": { "kind": "section", "section": "frame009" }, "annotation": { "title": "第 9 帧定义", "content": "ANI 动画的第 9 帧起始标签。该帧的图像索引、延迟、坐标、裁剪、翻转或颜色等参数由其后的帧字段给出,直到下一个 FRAME 标签开始;帧编号和缺号必须按源文件原样保留,不能自动重排。\n\nFRAME009", "type": "text" }, "group": "ani" }, { "id": "ani.section.frame010.1tsc4u", "match": { "extensions": [ ".ani" ] }, "target": { "kind": "section", "section": "frame010" }, "annotation": { "title": "第 10 帧定义", "content": "ANI 动画的第 10 帧起始标签。该帧的图像索引、延迟、坐标、裁剪、翻转或颜色等参数由其后的帧字段给出,直到下一个 FRAME 标签开始;帧编号和缺号必须按源文件原样保留,不能自动重排。\n\n框架010.", "type": "text" }, "group": "ani" }, { "id": "ani.section.frame011.1ticj6", "match": { "extensions": [ ".ani" ] }, "target": { "kind": "section", "section": "frame011" }, "annotation": { "title": "第 11 帧定义", "content": "ANI 动画的第 11 帧起始标签。该帧的图像索引、延迟、坐标、裁剪、翻转或颜色等参数由其后的帧字段给出,直到下一个 FRAME 标签开始;帧编号和缺号必须按源文件原样保留,不能自动重排。", "type": "text" }, "group": "ani" }, { "id": "ani.section.frame012.1ucbc8", "match": { "extensions": [ ".ani" ] }, "target": { "kind": "section", "section": "frame012" }, "annotation": { "title": "第 12 帧定义", "content": "ANI 动画的第 12 帧起始标签。该帧的图像索引、延迟、坐标、裁剪、翻转或颜色等参数由其后的帧字段给出,直到下一个 FRAME 标签开始;帧编号和缺号必须按源文件原样保留,不能自动重排。", "type": "text" }, "group": "ani" }, { "id": "ani.section.frame013.1u2bqj", "match": { "extensions": [ ".ani" ] }, "target": { "kind": "section", "section": "frame013" }, "annotation": { "title": "第 13 帧定义", "content": "ANI 动画的第 13 帧起始标签。该帧的图像索引、延迟、坐标、裁剪、翻转或颜色等参数由其后的帧字段给出,直到下一个 FRAME 标签开始;帧编号和缺号必须按源文件原样保留,不能自动重排。\n\nFRAME013", "type": "text" }, "group": "ani" }, { "id": "ani.section.frame014.1uwajm", "match": { "extensions": [ ".ani" ] }, "target": { "kind": "section", "section": "frame014" }, "annotation": { "title": "第 14 帧定义", "content": "ANI 动画的第 14 帧起始标签。该帧的图像索引、延迟、坐标、裁剪、翻转或颜色等参数由其后的帧字段给出,直到下一个 FRAME 标签开始;帧编号和缺号必须按源文件原样保留,不能自动重排。\n\n框架014.", "type": "text" }, "group": "ani" }, { "id": "ani.section.frame015.1umaxx", "match": { "extensions": [ ".ani" ] }, "target": { "kind": "section", "section": "frame015" }, "annotation": { "title": "第 15 帧定义", "content": "ANI 动画的第 15 帧起始标签。该帧的图像索引、延迟、坐标、裁剪、翻转或颜色等参数由其后的帧字段给出,直到下一个 FRAME 标签开始;帧编号和缺号必须按源文件原样保留,不能自动重排。\n\nFRAME015", "type": "text" }, "group": "ani" }, { "id": "ani.section.frame016.1vg9r0", "match": { "extensions": [ ".ani" ] }, "target": { "kind": "section", "section": "frame016" }, "annotation": { "title": "第 16 帧定义", "content": "ANI 动画的第 16 帧起始标签。该帧的图像索引、延迟、坐标、裁剪、翻转或颜色等参数由其后的帧字段给出,直到下一个 FRAME 标签开始;帧编号和缺号必须按源文件原样保留,不能自动重排。\n\nFrame016", "type": "text" }, "group": "ani" }, { "id": "ani.section.frame017.1v6a5b", "match": { "extensions": [ ".ani" ] }, "target": { "kind": "section", "section": "frame017" }, "annotation": { "title": "第 17 帧定义", "content": "ANI 动画的第 17 帧起始标签。该帧的图像索引、延迟、坐标、裁剪、翻转或颜色等参数由其后的帧字段给出,直到下一个 FRAME 标签开始;帧编号和缺号必须按源文件原样保留,不能自动重排。\n\n框架017.", "type": "text" }, "group": "ani" }, { "id": "ani.section.frame018.1rkfbb", "match": { "extensions": [ ".ani" ] }, "target": { "kind": "section", "section": "frame018" }, "annotation": { "title": "第 18 帧定义", "content": "ANI 动画的第 18 帧起始标签。该帧的图像索引、延迟、坐标、裁剪、翻转或颜色等参数由其后的帧字段给出,直到下一个 FRAME 标签开始;帧编号和缺号必须按源文件原样保留,不能自动重排。\n\nFRAME018", "type": "text" }, "group": "ani" }, { "id": "ani.section.frame019.1rafpm", "match": { "extensions": [ ".ani" ] }, "target": { "kind": "section", "section": "frame019" }, "annotation": { "title": "第 19 帧定义", "content": "ANI 动画的第 19 帧起始标签。该帧的图像索引、延迟、坐标、裁剪、翻转或颜色等参数由其后的帧字段给出,直到下一个 FRAME 标签开始;帧编号和缺号必须按源文件原样保留,不能自动重排。\n\nFRAME019", "type": "text" }, "group": "ani" }, { "id": "ani.section.frame020.p9op34", "match": { "extensions": [ ".ani" ] }, "target": { "kind": "section", "section": "frame020" }, "annotation": { "title": "第 20 帧定义", "content": "ANI 动画的第 20 帧起始标签。该帧的图像索引、延迟、坐标、裁剪、翻转或颜色等参数由其后的帧字段给出,直到下一个 FRAME 标签开始;帧编号和缺号必须按源文件原样保留,不能自动重排。\n\nFrame020.", "type": "text" }, "group": "ani" }, { "id": "ani.section.frame021.pjoas3", "match": { "extensions": [ ".ani" ] }, "target": { "kind": "section", "section": "frame021" }, "annotation": { "title": "第 21 帧定义", "content": "ANI 动画的第 21 帧起始标签。该帧的图像索引、延迟、坐标、裁剪、翻转或颜色等参数由其后的帧字段给出,直到下一个 FRAME 标签开始;帧编号和缺号必须按源文件原样保留,不能自动重排。\n\nFrame021.", "type": "text" }, "group": "ani" }, { "id": "ani.section.frame022.ptnwh2", "match": { "extensions": [ ".ani" ] }, "target": { "kind": "section", "section": "frame022" }, "annotation": { "title": "第 22 帧定义", "content": "ANI 动画的第 22 帧起始标签。该帧的图像索引、延迟、坐标、裁剪、翻转或颜色等参数由其后的帧字段给出,直到下一个 FRAME 标签开始;帧编号和缺号必须按源文件原样保留,不能自动重排。", "type": "text" }, "group": "ani" }, { "id": "ani.section.frame023.q3ni61", "match": { "extensions": [ ".ani" ] }, "target": { "kind": "section", "section": "frame023" }, "annotation": { "title": "第 23 帧定义", "content": "ANI 动画的第 23 帧起始标签。该帧的图像索引、延迟、坐标、裁剪、翻转或颜色等参数由其后的帧字段给出,直到下一个 FRAME 标签开始;帧编号和缺号必须按源文件原样保留,不能自动重排。\n\nFrame023.", "type": "text" }, "group": "ani" }, { "id": "ani.section.frame024.qdn3v0", "match": { "extensions": [ ".ani" ] }, "target": { "kind": "section", "section": "frame024" }, "annotation": { "title": "第 24 帧定义", "content": "ANI 动画的第 24 帧起始标签。该帧的图像索引、延迟、坐标、裁剪、翻转或颜色等参数由其后的帧字段给出,直到下一个 FRAME 标签开始;帧编号和缺号必须按源文件原样保留,不能自动重排。\n\nFrame024.", "type": "text" }, "group": "ani" }, { "id": "ani.section.frame025.qnmpjz", "match": { "extensions": [ ".ani" ] }, "target": { "kind": "section", "section": "frame025" }, "annotation": { "title": "第 25 帧定义", "content": "ANI 动画的第 25 帧起始标签。该帧的图像索引、延迟、坐标、裁剪、翻转或颜色等参数由其后的帧字段给出,直到下一个 FRAME 标签开始;帧编号和缺号必须按源文件原样保留,不能自动重排。", "type": "text" }, "group": "ani" }, { "id": "ani.section.frame026.qxmb8y", "match": { "extensions": [ ".ani" ] }, "target": { "kind": "section", "section": "frame026" }, "annotation": { "title": "第 26 帧定义", "content": "ANI 动画的第 26 帧起始标签。该帧的图像索引、延迟、坐标、裁剪、翻转或颜色等参数由其后的帧字段给出,直到下一个 FRAME 标签开始;帧编号和缺号必须按源文件原样保留,不能自动重排。", "type": "text" }, "group": "ani" }, { "id": "ani.section.frame027.r7lwxx", "match": { "extensions": [ ".ani" ] }, "target": { "kind": "section", "section": "frame027" }, "annotation": { "title": "第 27 帧定义", "content": "ANI 动画的第 27 帧起始标签。该帧的图像索引、延迟、坐标、裁剪、翻转或颜色等参数由其后的帧字段给出,直到下一个 FRAME 标签开始;帧编号和缺号必须按源文件原样保留,不能自动重排。\n\nFrame027.", "type": "text" }, "group": "ani" }, { "id": "ani.section.frame028.rhlimw", "match": { "extensions": [ ".ani" ] }, "target": { "kind": "section", "section": "frame028" }, "annotation": { "title": "第 28 帧定义", "content": "ANI 动画的第 28 帧起始标签。该帧的图像索引、延迟、坐标、裁剪、翻转或颜色等参数由其后的帧字段给出,直到下一个 FRAME 标签开始;帧编号和缺号必须按源文件原样保留,不能自动重排。\n\nFrame028.", "type": "text" }, "group": "ani" }, { "id": "ani.section.frame029.rrl4bv", "match": { "extensions": [ ".ani" ] }, "target": { "kind": "section", "section": "frame029" }, "annotation": { "title": "第 29 帧定义", "content": "ANI 动画的第 29 帧起始标签。该帧的图像索引、延迟、坐标、裁剪、翻转或颜色等参数由其后的帧字段给出,直到下一个 FRAME 标签开始;帧编号和缺号必须按源文件原样保留,不能自动重排。", "type": "text" }, "group": "ani" }, { "id": "ani.section.frame030.1qgalj", "match": { "extensions": [ ".ani" ] }, "target": { "kind": "section", "section": "frame030" }, "annotation": { "title": "第 30 帧定义", "content": "ANI 动画的第 30 帧起始标签。该帧的图像索引、延迟、坐标、裁剪、翻转或颜色等参数由其后的帧字段给出,直到下一个 FRAME 标签开始;帧编号和缺号必须按源文件原样保留,不能自动重排。", "type": "text" }, "group": "ani" }, { "id": "ani.section.frame031.1q6azu", "match": { "extensions": [ ".ani" ] }, "target": { "kind": "section", "section": "frame031" }, "annotation": { "title": "第 31 帧定义", "content": "ANI 动画的第 31 帧起始标签。该帧的图像索引、延迟、坐标、裁剪、翻转或颜色等参数由其后的帧字段给出,直到下一个 FRAME 标签开始;帧编号和缺号必须按源文件原样保留,不能自动重排。", "type": "text" }, "group": "ani" }, { "id": "ani.section.frame032.1pwbe5", "match": { "extensions": [ ".ani" ] }, "target": { "kind": "section", "section": "frame032" }, "annotation": { "title": "第 32 帧定义", "content": "ANI 动画的第 32 帧起始标签。该帧的图像索引、延迟、坐标、裁剪、翻转或颜色等参数由其后的帧字段给出,直到下一个 FRAME 标签开始;帧编号和缺号必须按源文件原样保留,不能自动重排。", "type": "text" }, "group": "ani" }, { "id": "ani.section.frame033.1pmbsg", "match": { "extensions": [ ".ani" ] }, "target": { "kind": "section", "section": "frame033" }, "annotation": { "title": "第 33 帧定义", "content": "ANI 动画的第 33 帧起始标签。该帧的图像索引、延迟、坐标、裁剪、翻转或颜色等参数由其后的帧字段给出,直到下一个 FRAME 标签开始;帧编号和缺号必须按源文件原样保留,不能自动重排。\n\nFrame033.", "type": "text" }, "group": "ani" }, { "id": "ani.section.frame034.1rk90b", "match": { "extensions": [ ".ani" ] }, "target": { "kind": "section", "section": "frame034" }, "annotation": { "title": "第 34 帧定义", "content": "ANI 动画的第 34 帧起始标签。该帧的图像索引、延迟、坐标、裁剪、翻转或颜色等参数由其后的帧字段给出,直到下一个 FRAME 标签开始;帧编号和缺号必须按源文件原样保留,不能自动重排。", "type": "text" }, "group": "ani" }, { "id": "ani.section.frame035.1ra9em", "match": { "extensions": [ ".ani" ] }, "target": { "kind": "section", "section": "frame035" }, "annotation": { "title": "第 35 帧定义", "content": "ANI 动画的第 35 帧起始标签。该帧的图像索引、延迟、坐标、裁剪、翻转或颜色等参数由其后的帧字段给出,直到下一个 FRAME 标签开始;帧编号和缺号必须按源文件原样保留,不能自动重排。", "type": "text" }, "group": "ani" }, { "id": "ani.section.frame036.1r09sx", "match": { "extensions": [ ".ani" ] }, "target": { "kind": "section", "section": "frame036" }, "annotation": { "title": "第 36 帧定义", "content": "ANI 动画的第 36 帧起始标签。该帧的图像索引、延迟、坐标、裁剪、翻转或颜色等参数由其后的帧字段给出,直到下一个 FRAME 标签开始;帧编号和缺号必须按源文件原样保留,不能自动重排。", "type": "text" }, "group": "ani" }, { "id": "ani.section.frame037.1qqa78", "match": { "extensions": [ ".ani" ] }, "target": { "kind": "section", "section": "frame037" }, "annotation": { "title": "第 37 帧定义", "content": "ANI 动画的第 37 帧起始标签。该帧的图像索引、延迟、坐标、裁剪、翻转或颜色等参数由其后的帧字段给出,直到下一个 FRAME 标签开始;帧编号和缺号必须按源文件原样保留,不能自动重排。", "type": "text" }, "group": "ani" }, { "id": "ani.section.frame038.1so7f3", "match": { "extensions": [ ".ani" ] }, "target": { "kind": "section", "section": "frame038" }, "annotation": { "title": "第 38 帧定义", "content": "ANI 动画的第 38 帧起始标签。该帧的图像索引、延迟、坐标、裁剪、翻转或颜色等参数由其后的帧字段给出,直到下一个 FRAME 标签开始;帧编号和缺号必须按源文件原样保留,不能自动重排。", "type": "text" }, "group": "ani" }, { "id": "ani.section.frame039.1se7te", "match": { "extensions": [ ".ani" ] }, "target": { "kind": "section", "section": "frame039" }, "annotation": { "title": "第 39 帧定义", "content": "ANI 动画的第 39 帧起始标签。该帧的图像索引、延迟、坐标、裁剪、翻转或颜色等参数由其后的帧字段给出,直到下一个 FRAME 标签开始;帧编号和缺号必须按源文件原样保留,不能自动重排。", "type": "text" }, "group": "ani" }, { "id": "ani.section.frame040.qe88gm", "match": { "extensions": [ ".ani" ] }, "target": { "kind": "section", "section": "frame040" }, "annotation": { "title": "第 40 帧定义", "content": "ANI 动画的第 40 帧起始标签。该帧的图像索引、延迟、坐标、裁剪、翻转或颜色等参数由其后的帧字段给出,直到下一个 FRAME 标签开始;帧编号和缺号必须按源文件原样保留,不能自动重排。", "type": "text" }, "group": "ani" }, { "id": "ani.section.frame041.qo7u5l", "match": { "extensions": [ ".ani" ] }, "target": { "kind": "section", "section": "frame041" }, "annotation": { "title": "第 41 帧定义", "content": "ANI 动画的第 41 帧起始标签。该帧的图像索引、延迟、坐标、裁剪、翻转或颜色等参数由其后的帧字段给出,直到下一个 FRAME 标签开始;帧编号和缺号必须按源文件原样保留,不能自动重排。", "type": "text" }, "group": "ani" }, { "id": "ani.section.frame042.pu912o", "match": { "extensions": [ ".ani" ] }, "target": { "kind": "section", "section": "frame042" }, "annotation": { "title": "第 42 帧定义", "content": "ANI 动画的第 42 帧起始标签。该帧的图像索引、延迟、坐标、裁剪、翻转或颜色等参数由其后的帧字段给出,直到下一个 FRAME 标签开始;帧编号和缺号必须按源文件原样保留,不能自动重排。", "type": "text" }, "group": "ani" }, { "id": "ani.section.frame043.q48mrn", "match": { "extensions": [ ".ani" ] }, "target": { "kind": "section", "section": "frame043" }, "annotation": { "title": "第 43 帧定义", "content": "ANI 动画的第 43 帧起始标签。该帧的图像索引、延迟、坐标、裁剪、翻转或颜色等参数由其后的帧字段给出,直到下一个 FRAME 标签开始;帧编号和缺号必须按源文件原样保留,不能自动重排。", "type": "text" }, "group": "ani" }, { "id": "ani.section.frame044.ri6n8i", "match": { "extensions": [ ".ani" ] }, "target": { "kind": "section", "section": "frame044" }, "annotation": { "title": "第 44 帧定义", "content": "ANI 动画的第 44 帧起始标签。该帧的图像索引、延迟、坐标、裁剪、翻转或颜色等参数由其后的帧字段给出,直到下一个 FRAME 标签开始;帧编号和缺号必须按源文件原样保留,不能自动重排。", "type": "text" }, "group": "ani" }, { "id": "ani.section.frame045.rs68xh", "match": { "extensions": [ ".ani" ] }, "target": { "kind": "section", "section": "frame045" }, "annotation": { "title": "第 45 帧定义", "content": "ANI 动画的第 45 帧起始标签。该帧的图像索引、延迟、坐标、裁剪、翻转或颜色等参数由其后的帧字段给出,直到下一个 FRAME 标签开始;帧编号和缺号必须按源文件原样保留,不能自动重排。", "type": "text" }, "group": "ani" }, { "id": "ani.section.frame046.qy7fuk", "match": { "extensions": [ ".ani" ] }, "target": { "kind": "section", "section": "frame046" }, "annotation": { "title": "第 46 帧定义", "content": "ANI 动画的第 46 帧起始标签。该帧的图像索引、延迟、坐标、裁剪、翻转或颜色等参数由其后的帧字段给出,直到下一个 FRAME 标签开始;帧编号和缺号必须按源文件原样保留,不能自动重排。", "type": "text" }, "group": "ani" }, { "id": "ani.section.frame047.r871jj", "match": { "extensions": [ ".ani" ] }, "target": { "kind": "section", "section": "frame047" }, "annotation": { "title": "第 47 帧定义", "content": "ANI 动画的第 47 帧起始标签。该帧的图像索引、延迟、坐标、裁剪、翻转或颜色等参数由其后的帧字段给出,直到下一个 FRAME 标签开始;帧编号和缺号必须按源文件原样保留,不能自动重排。\n\nFrame047.", "type": "text" }, "group": "ani" }, { "id": "ani.section.frame048.sm520e", "match": { "extensions": [ ".ani" ] }, "target": { "kind": "section", "section": "frame048" }, "annotation": { "title": "第 48 帧定义", "content": "ANI 动画的第 48 帧起始标签。该帧的图像索引、延迟、坐标、裁剪、翻转或颜色等参数由其后的帧字段给出,直到下一个 FRAME 标签开始;帧编号和缺号必须按源文件原样保留,不能自动重排。", "type": "text" }, "group": "ani" }, { "id": "ani.section.frame049.sw4npd", "match": { "extensions": [ ".ani" ] }, "target": { "kind": "section", "section": "frame049" }, "annotation": { "title": "第 49 帧定义", "content": "ANI 动画的第 49 帧起始标签。该帧的图像索引、延迟、坐标、裁剪、翻转或颜色等参数由其后的帧字段给出,直到下一个 FRAME 标签开始;帧编号和缺号必须按源文件原样保留,不能自动重排。", "type": "text" }, "group": "ani" }, { "id": "ani.section.frame050.s2904f", "match": { "extensions": [ ".ani" ] }, "target": { "kind": "section", "section": "frame050" }, "annotation": { "title": "第 50 帧定义", "content": "ANI 动画的第 50 帧起始标签。该帧的图像索引、延迟、坐标、裁剪、翻转或颜色等参数由其后的帧字段给出,直到下一个 FRAME 标签开始;帧编号和缺号必须按源文件原样保留,不能自动重排。\n\n框架050.", "type": "text" }, "group": "ani" }, { "id": "ani.section.frame051.rs9efg", "match": { "extensions": [ ".ani" ] }, "target": { "kind": "section", "section": "frame051" }, "annotation": { "title": "第 51 帧定义", "content": "ANI 动画的第 51 帧起始标签。该帧的图像索引、延迟、坐标、裁剪、翻转或颜色等参数由其后的帧字段给出,直到下一个 FRAME 标签开始;帧编号和缺号必须按源文件原样保留,不能自动重排。", "type": "text" }, "group": "ani" }, { "id": "ani.section.frame052.sm87id", "match": { "extensions": [ ".ani" ] }, "target": { "kind": "section", "section": "frame052" }, "annotation": { "title": "第 52 帧定义", "content": "ANI 动画的第 52 帧起始标签。该帧的图像索引、延迟、坐标、裁剪、翻转或颜色等参数由其后的帧字段给出,直到下一个 FRAME 标签开始;帧编号和缺号必须按源文件原样保留,不能自动重排。", "type": "text" }, "group": "ani" }, { "id": "ani.section.frame053.sc8lte", "match": { "extensions": [ ".ani" ] }, "target": { "kind": "section", "section": "frame053" }, "annotation": { "title": "第 53 帧定义", "content": "ANI 动画的第 53 帧起始标签。该帧的图像索引、延迟、坐标、裁剪、翻转或颜色等参数由其后的帧字段给出,直到下一个 FRAME 标签开始;帧编号和缺号必须按源文件原样保留,不能自动重排。", "type": "text" }, "group": "ani" }, { "id": "ani.section.frame054.qyalcj", "match": { "extensions": [ ".ani" ] }, "target": { "kind": "section", "section": "frame054" }, "annotation": { "title": "第 54 帧定义", "content": "ANI 动画的第 54 帧起始标签。该帧的图像索引、延迟、坐标、裁剪、翻转或颜色等参数由其后的帧字段给出,直到下一个 FRAME 标签开始;帧编号和缺号必须按源文件原样保留,不能自动重排。", "type": "text" }, "group": "ani" }, { "id": "ani.section.frame055.qoaznk", "match": { "extensions": [ ".ani" ] }, "target": { "kind": "section", "section": "frame055" }, "annotation": { "title": "第 55 帧定义", "content": "ANI 动画的第 55 帧起始标签。该帧的图像索引、延迟、坐标、裁剪、翻转或颜色等参数由其后的帧字段给出,直到下一个 FRAME 标签开始;帧编号和缺号必须按源文件原样保留,不能自动重排。\n\nFrame055.", "type": "text" }, "group": "ani" }, { "id": "ani.section.frame056.ri9sqh", "match": { "extensions": [ ".ani" ] }, "target": { "kind": "section", "section": "frame056" }, "annotation": { "title": "第 56 帧定义", "content": "ANI 动画的第 56 帧起始标签。该帧的图像索引、延迟、坐标、裁剪、翻转或颜色等参数由其后的帧字段给出,直到下一个 FRAME 标签开始;帧编号和缺号必须按源文件原样保留,不能自动重排。", "type": "text" }, "group": "ani" }, { "id": "ani.section.frame057.r8a71i", "match": { "extensions": [ ".ani" ] }, "target": { "kind": "section", "section": "frame057" }, "annotation": { "title": "第 57 帧定义", "content": "ANI 动画的第 57 帧起始标签。该帧的图像索引、延迟、坐标、裁剪、翻转或颜色等参数由其后的帧字段给出,直到下一个 FRAME 标签开始;帧编号和缺号必须按源文件原样保留,不能自动重排。", "type": "text" }, "group": "ani" }, { "id": "ani.section.frame058.ua5to7", "match": { "extensions": [ ".ani" ] }, "target": { "kind": "section", "section": "frame058" }, "annotation": { "title": "第 58 帧定义", "content": "ANI 动画的第 58 帧起始标签。该帧的图像索引、延迟、坐标、裁剪、翻转或颜色等参数由其后的帧字段给出,直到下一个 FRAME 标签开始;帧编号和缺号必须按源文件原样保留,不能自动重排。", "type": "text" }, "group": "ani" }, { "id": "ani.section.frame059.u067z8", "match": { "extensions": [ ".ani" ] }, "target": { "kind": "section", "section": "frame059" }, "annotation": { "title": "第 59 帧定义", "content": "ANI 动画的第 59 帧起始标签。该帧的图像索引、延迟、坐标、裁剪、翻转或颜色等参数由其后的帧字段给出,直到下一个 FRAME 标签开始;帧编号和缺号必须按源文件原样保留,不能自动重排。", "type": "text" }, "group": "ani" }, { "id": "ani.section.frame060.1vgcwi", "match": { "extensions": [ ".ani" ] }, "target": { "kind": "section", "section": "frame060" }, "annotation": { "title": "第 60 帧定义", "content": "ANI 动画的第 60 帧起始标签。该帧的图像索引、延迟、坐标、裁剪、翻转或颜色等参数由其后的帧字段给出,直到下一个 FRAME 标签开始;帧编号和缺号必须按源文件原样保留,不能自动重排。", "type": "text" }, "group": "ani" }, { "id": "ani.section.frame061.1vqci7", "match": { "extensions": [ ".ani" ] }, "target": { "kind": "section", "section": "frame061" }, "annotation": { "title": "第 61 帧定义", "content": "ANI 动画的第 61 帧起始标签。该帧的图像索引、延迟、坐标、裁剪、翻转或颜色等参数由其后的帧字段给出,直到下一个 FRAME 标签开始;帧编号和缺号必须按源文件原样保留,不能自动重排。", "type": "text" }, "group": "ani" }, { "id": "ani.section.frame062.1w0c3w", "match": { "extensions": [ ".ani" ] }, "target": { "kind": "section", "section": "frame062" }, "annotation": { "title": "第 62 帧定义", "content": "ANI 动画的第 62 帧起始标签。该帧的图像索引、延迟、坐标、裁剪、翻转或颜色等参数由其后的帧字段给出,直到下一个 FRAME 标签开始;帧编号和缺号必须按源文件原样保留,不能自动重排。", "type": "text" }, "group": "ani" }, { "id": "ani.section.frame063.1wabpl", "match": { "extensions": [ ".ani" ] }, "target": { "kind": "section", "section": "frame063" }, "annotation": { "title": "第 63 帧定义", "content": "ANI 动画的第 63 帧起始标签。该帧的图像索引、延迟、坐标、裁剪、翻转或颜色等参数由其后的帧字段给出,直到下一个 FRAME 标签开始;帧编号和缺号必须按源文件原样保留,不能自动重排。", "type": "text" }, "group": "ani" }, { "id": "ani.section.frame064.1ucehq", "match": { "extensions": [ ".ani" ] }, "target": { "kind": "section", "section": "frame064" }, "annotation": { "title": "第 64 帧定义", "content": "ANI 动画的第 64 帧起始标签。该帧的图像索引、延迟、坐标、裁剪、翻转或颜色等参数由其后的帧字段给出,直到下一个 FRAME 标签开始;帧编号和缺号必须按源文件原样保留,不能自动重排。", "type": "text" }, "group": "ani" }, { "id": "ani.section.frame065.1ume3f", "match": { "extensions": [ ".ani" ] }, "target": { "kind": "section", "section": "frame065" }, "annotation": { "title": "第 65 帧定义", "content": "ANI 动画的第 65 帧起始标签。该帧的图像索引、延迟、坐标、裁剪、翻转或颜色等参数由其后的帧字段给出,直到下一个 FRAME 标签开始;帧编号和缺号必须按源文件原样保留,不能自动重排。", "type": "text" }, "group": "ani" }, { "id": "ani.section.frame066.1uwdp4", "match": { "extensions": [ ".ani" ] }, "target": { "kind": "section", "section": "frame066" }, "annotation": { "title": "第 66 帧定义", "content": "ANI 动画的第 66 帧起始标签。该帧的图像索引、延迟、坐标、裁剪、翻转或颜色等参数由其后的帧字段给出,直到下一个 FRAME 标签开始;帧编号和缺号必须按源文件原样保留,不能自动重排。", "type": "text" }, "group": "ani" }, { "id": "ani.section.frame067.1v6dat", "match": { "extensions": [ ".ani" ] }, "target": { "kind": "section", "section": "frame067" }, "annotation": { "title": "第 67 帧定义", "content": "ANI 动画的第 67 帧起始标签。该帧的图像索引、延迟、坐标、裁剪、翻转或颜色等参数由其后的帧字段给出,直到下一个 FRAME 标签开始;帧编号和缺号必须按源文件原样保留,不能自动重排。", "type": "text" }, "group": "ani" }, { "id": "ani.section.frame068.1t8g2z", "match": { "extensions": [ ".ani" ] }, "target": { "kind": "section", "section": "frame068" }, "annotation": { "title": "第 68 帧定义", "content": "ANI 动画的第 68 帧起始标签。该帧的图像索引、延迟、坐标、裁剪、翻转或颜色等参数由其后的帧字段给出,直到下一个 FRAME 标签开始;帧编号和缺号必须按源文件原样保留,不能自动重排。", "type": "text" }, "group": "ani" }, { "id": "ani.section.frame069.1tifon", "match": { "extensions": [ ".ani" ] }, "target": { "kind": "section", "section": "frame069" }, "annotation": { "title": "第 69 帧定义", "content": "ANI 动画的第 69 帧起始标签。该帧的图像索引、延迟、坐标、裁剪、翻转或颜色等参数由其后的帧字段给出,直到下一个 FRAME 标签开始;帧编号和缺号必须按源文件原样保留,不能自动重排。", "type": "text" }, "group": "ani" }, { "id": "ani.section.frame070.xluqzx", "match": { "extensions": [ ".ani" ] }, "target": { "kind": "section", "section": "frame070" }, "annotation": { "title": "第 70 帧定义", "content": "ANI 动画的第 70 帧起始标签。该帧的图像索引、延迟、坐标、裁剪、翻转或颜色等参数由其后的帧字段给出,直到下一个 FRAME 标签开始;帧编号和缺号必须按源文件原样保留,不能自动重排。", "type": "text" }, "group": "ani" }, { "id": "ani.section.frame071.xbv5ay", "match": { "extensions": [ ".ani" ] }, "target": { "kind": "section", "section": "frame071" }, "annotation": { "title": "第 71 帧定义", "content": "ANI 动画的第 71 帧起始标签。该帧的图像索引、延迟、坐标、裁剪、翻转或颜色等参数由其后的帧字段给出,直到下一个 FRAME 标签开始;帧编号和缺号必须按源文件原样保留,不能自动重排。", "type": "text" }, "group": "ani" }, { "id": "ani.section.frame072.x1vjlz", "match": { "extensions": [ ".ani" ] }, "target": { "kind": "section", "section": "frame072" }, "annotation": { "title": "第 72 帧定义", "content": "ANI 动画的第 72 帧起始标签。该帧的图像索引、延迟、坐标、裁剪、翻转或颜色等参数由其后的帧字段给出,直到下一个 FRAME 标签开始;帧编号和缺号必须按源文件原样保留,不能自动重排。", "type": "text" }, "group": "ani" }, { "id": "ani.section.frame073.wrvxx0", "match": { "extensions": [ ".ani" ] }, "target": { "kind": "section", "section": "frame073" }, "annotation": { "title": "第 73 帧定义", "content": "ANI 动画的第 73 帧起始标签。该帧的图像索引、延迟、坐标、裁剪、翻转或颜色等参数由其后的帧字段给出,直到下一个 FRAME 标签开始;帧编号和缺号必须按源文件原样保留,不能自动重排。", "type": "text" }, "group": "ani" }, { "id": "ani.section.frame074.whwc81", "match": { "extensions": [ ".ani" ] }, "target": { "kind": "section", "section": "frame074" }, "annotation": { "title": "第 74 帧定义", "content": "ANI 动画的第 74 帧起始标签。该帧的图像索引、延迟、坐标、裁剪、翻转或颜色等参数由其后的帧字段给出,直到下一个 FRAME 标签开始;帧编号和缺号必须按源文件原样保留,不能自动重排。", "type": "text" }, "group": "ani" }, { "id": "ani.section.frame075.w7wqj2", "match": { "extensions": [ ".ani" ] }, "target": { "kind": "section", "section": "frame075" }, "annotation": { "title": "第 75 帧定义", "content": "ANI 动画的第 75 帧起始标签。该帧的图像索引、延迟、坐标、裁剪、翻转或颜色等参数由其后的帧字段给出,直到下一个 FRAME 标签开始;帧编号和缺号必须按源文件原样保留,不能自动重排。\n\nFrame075.", "type": "text" }, "group": "ani" }, { "id": "ani.section.frame076.vxx4u3", "match": { "extensions": [ ".ani" ] }, "target": { "kind": "section", "section": "frame076" }, "annotation": { "title": "第 76 帧定义", "content": "ANI 动画的第 76 帧起始标签。该帧的图像索引、延迟、坐标、裁剪、翻转或颜色等参数由其后的帧字段给出,直到下一个 FRAME 标签开始;帧编号和缺号必须按源文件原样保留,不能自动重排。", "type": "text" }, "group": "ani" }, { "id": "ani.section.frame077.vnxj54", "match": { "extensions": [ ".ani" ] }, "target": { "kind": "section", "section": "frame077" }, "annotation": { "title": "第 77 帧定义", "content": "ANI 动画的第 77 帧起始标签。该帧的图像索引、延迟、坐标、裁剪、翻转或颜色等参数由其后的帧字段给出,直到下一个 FRAME 标签开始;帧编号和缺号必须按源文件原样保留,不能自动重排。", "type": "text" }, "group": "ani" }, { "id": "ani.section.frame078.vdxxg5", "match": { "extensions": [ ".ani" ] }, "target": { "kind": "section", "section": "frame078" }, "annotation": { "title": "第 78 帧定义", "content": "ANI 动画的第 78 帧起始标签。该帧的图像索引、延迟、坐标、裁剪、翻转或颜色等参数由其后的帧字段给出,直到下一个 FRAME 标签开始;帧编号和缺号必须按源文件原样保留,不能自动重排。", "type": "text" }, "group": "ani" }, { "id": "ani.section.frame079.v3ybr6", "match": { "extensions": [ ".ani" ] }, "target": { "kind": "section", "section": "frame079" }, "annotation": { "title": "第 79 帧定义", "content": "ANI 动画的第 79 帧起始标签。该帧的图像索引、延迟、坐标、裁剪、翻转或颜色等参数由其后的帧字段给出,直到下一个 FRAME 标签开始;帧编号和缺号必须按源文件原样保留,不能自动重排。", "type": "text" }, "group": "ani" }, { "id": "ani.section.frame080.1wkwfw", "match": { "extensions": [ ".ani" ] }, "target": { "kind": "section", "section": "frame080" }, "annotation": { "title": "第 80 帧定义", "content": "ANI 动画的第 80 帧起始标签。该帧的图像索引、延迟、坐标、裁剪、翻转或颜色等参数由其后的帧字段给出,直到下一个 FRAME 标签开始;帧编号和缺号必须按源文件原样保留,不能自动重排。", "type": "text" }, "group": "ani" }, { "id": "ani.section.frame081.1wuw1l", "match": { "extensions": [ ".ani" ] }, "target": { "kind": "section", "section": "frame081" }, "annotation": { "title": "第 81 帧定义", "content": "ANI 动画的第 81 帧起始标签。该帧的图像索引、延迟、坐标、裁剪、翻转或颜色等参数由其后的帧字段给出,直到下一个 FRAME 标签开始;帧编号和缺号必须按源文件原样保留,不能自动重排。", "type": "text" }, "group": "ani" }, { "id": "ani.section.frame082.1w0x8i", "match": { "extensions": [ ".ani" ] }, "target": { "kind": "section", "section": "frame082" }, "annotation": { "title": "第 82 帧定义", "content": "ANI 动画的第 82 帧起始标签。该帧的图像索引、延迟、坐标、裁剪、翻转或颜色等参数由其后的帧字段给出,直到下一个 FRAME 标签开始;帧编号和缺号必须按源文件原样保留,不能自动重排。", "type": "text" }, "group": "ani" }, { "id": "ani.section.frame083.1wawu7", "match": { "extensions": [ ".ani" ] }, "target": { "kind": "section", "section": "frame083" }, "annotation": { "title": "第 83 帧定义", "content": "ANI 动画的第 83 帧起始标签。该帧的图像索引、延迟、坐标、裁剪、翻转或颜色等参数由其后的帧字段给出,直到下一个 FRAME 标签开始;帧编号和缺号必须按源文件原样保留,不能自动重排。", "type": "text" }, "group": "ani" }, { "id": "ani.section.frame084.1vgy14", "match": { "extensions": [ ".ani" ] }, "target": { "kind": "section", "section": "frame084" }, "annotation": { "title": "第 84 帧定义", "content": "ANI 动画的第 84 帧起始标签。该帧的图像索引、延迟、坐标、裁剪、翻转或颜色等参数由其后的帧字段给出,直到下一个 FRAME 标签开始;帧编号和缺号必须按源文件原样保留,不能自动重排。", "type": "text" }, "group": "ani" }, { "id": "ani.section.frame085.1vqxmt", "match": { "extensions": [ ".ani" ] }, "target": { "kind": "section", "section": "frame085" }, "annotation": { "title": "第 85 帧定义", "content": "ANI 动画的第 85 帧起始标签。该帧的图像索引、延迟、坐标、裁剪、翻转或颜色等参数由其后的帧字段给出,直到下一个 FRAME 标签开始;帧编号和缺号必须按源文件原样保留,不能自动重排。", "type": "text" }, "group": "ani" }, { "id": "ani.section.frame086.1uwytq", "match": { "extensions": [ ".ani" ] }, "target": { "kind": "section", "section": "frame086" }, "annotation": { "title": "第 86 帧定义", "content": "ANI 动画的第 86 帧起始标签。该帧的图像索引、延迟、坐标、裁剪、翻转或颜色等参数由其后的帧字段给出,直到下一个 FRAME 标签开始;帧编号和缺号必须按源文件原样保留,不能自动重排。", "type": "text" }, "group": "ani" }, { "id": "ani.section.frame087.1v6yff", "match": { "extensions": [ ".ani" ] }, "target": { "kind": "section", "section": "frame087" }, "annotation": { "title": "第 87 帧定义", "content": "ANI 动画的第 87 帧起始标签。该帧的图像索引、延迟、坐标、裁剪、翻转或颜色等参数由其后的帧字段给出,直到下一个 FRAME 标签开始;帧编号和缺号必须按源文件原样保留,不能自动重排。", "type": "text" }, "group": "ani" }, { "id": "ani.section.frame088.1uczmc", "match": { "extensions": [ ".ani" ] }, "target": { "kind": "section", "section": "frame088" }, "annotation": { "title": "第 88 帧定义", "content": "ANI 动画的第 88 帧起始标签。该帧的图像索引、延迟、坐标、裁剪、翻转或颜色等参数由其后的帧字段给出,直到下一个 FRAME 标签开始;帧编号和缺号必须按源文件原样保留,不能自动重排。", "type": "text" }, "group": "ani" }, { "id": "ani.section.frame089.1umz81", "match": { "extensions": [ ".ani" ] }, "target": { "kind": "section", "section": "frame089" }, "annotation": { "title": "第 89 帧定义", "content": "ANI 动画的第 89 帧起始标签。该帧的图像索引、延迟、坐标、裁剪、翻转或颜色等参数由其后的帧字段给出,直到下一个 FRAME 标签开始;帧编号和缺号必须按源文件原样保留,不能自动重排。", "type": "text" }, "group": "ani" }, { "id": "ani.section.frame090.pur06b", "match": { "extensions": [ ".ani" ] }, "target": { "kind": "section", "section": "frame090" }, "annotation": { "title": "第 90 帧定义", "content": "ANI 动画的第 90 帧起始标签。该帧的图像索引、延迟、坐标、裁剪、翻转或颜色等参数由其后的帧字段给出,直到下一个 FRAME 标签开始;帧编号和缺号必须按源文件原样保留,不能自动重排。", "type": "text" }, "group": "ani" }, { "id": "ani.section.frame091.pkrehc", "match": { "extensions": [ ".ani" ] }, "target": { "kind": "section", "section": "frame091" }, "annotation": { "title": "第 91 帧定义", "content": "ANI 动画的第 91 帧起始标签。该帧的图像索引、延迟、坐标、裁剪、翻转或颜色等参数由其后的帧字段给出,直到下一个 FRAME 标签开始;帧编号和缺号必须按源文件原样保留,不能自动重排。", "type": "text" }, "group": "ani" }, { "id": "ani.section.frame092.qeq7k9", "match": { "extensions": [ ".ani" ] }, "target": { "kind": "section", "section": "frame092" }, "annotation": { "title": "第 92 帧定义", "content": "ANI 动画的第 92 帧起始标签。该帧的图像索引、延迟、坐标、裁剪、翻转或颜色等参数由其后的帧字段给出,直到下一个 FRAME 标签开始;帧编号和缺号必须按源文件原样保留,不能自动重排。", "type": "text" }, "group": "ani" }, { "id": "ani.section.frame093.q4qlva", "match": { "extensions": [ ".ani" ] }, "target": { "kind": "section", "section": "frame093" }, "annotation": { "title": "第 93 帧定义", "content": "ANI 动画的第 93 帧起始标签。该帧的图像索引、延迟、坐标、裁剪、翻转或颜色等参数由其后的帧字段给出,直到下一个 FRAME 标签开始;帧编号和缺号必须按源文件原样保留,不能自动重排。", "type": "text" }, "group": "ani" }, { "id": "ani.section.frame094.qypey7", "match": { "extensions": [ ".ani" ] }, "target": { "kind": "section", "section": "frame094" }, "annotation": { "title": "第 94 帧定义", "content": "ANI 动画的第 94 帧起始标签。该帧的图像索引、延迟、坐标、裁剪、翻转或颜色等参数由其后的帧字段给出,直到下一个 FRAME 标签开始;帧编号和缺号必须按源文件原样保留,不能自动重排。", "type": "text" }, "group": "ani" }, { "id": "ani.section.frame095.qopt98", "match": { "extensions": [ ".ani" ] }, "target": { "kind": "section", "section": "frame095" }, "annotation": { "title": "第 95 帧定义", "content": "ANI 动画的第 95 帧起始标签。该帧的图像索引、延迟、坐标、裁剪、翻转或颜色等参数由其后的帧字段给出,直到下一个 FRAME 标签开始;帧编号和缺号必须按源文件原样保留,不能自动重排。", "type": "text" }, "group": "ani" }, { "id": "ani.section.frame096.riomc5", "match": { "extensions": [ ".ani" ] }, "target": { "kind": "section", "section": "frame096" }, "annotation": { "title": "第 96 帧定义", "content": "ANI 动画的第 96 帧起始标签。该帧的图像索引、延迟、坐标、裁剪、翻转或颜色等参数由其后的帧字段给出,直到下一个 FRAME 标签开始;帧编号和缺号必须按源文件原样保留,不能自动重排。", "type": "text" }, "group": "ani" }, { "id": "ani.section.frame097.r8p0n6", "match": { "extensions": [ ".ani" ] }, "target": { "kind": "section", "section": "frame097" }, "annotation": { "title": "第 97 帧定义", "content": "ANI 动画的第 97 帧起始标签。该帧的图像索引、延迟、坐标、裁剪、翻转或颜色等参数由其后的帧字段给出,直到下一个 FRAME 标签开始;帧编号和缺号必须按源文件原样保留,不能自动重排。", "type": "text" }, "group": "ani" }, { "id": "ani.section.frame098.s2ntq3", "match": { "extensions": [ ".ani" ] }, "target": { "kind": "section", "section": "frame098" }, "annotation": { "title": "第 98 帧定义", "content": "ANI 动画的第 98 帧起始标签。该帧的图像索引、延迟、坐标、裁剪、翻转或颜色等参数由其后的帧字段给出,直到下一个 FRAME 标签开始;帧编号和缺号必须按源文件原样保留,不能自动重排。\n\nFrame098.", "type": "text" }, "group": "ani" }, { "id": "ani.section.frame099.rso814", "match": { "extensions": [ ".ani" ] }, "target": { "kind": "section", "section": "frame099" }, "annotation": { "title": "第 99 帧定义", "content": "ANI 动画的第 99 帧起始标签。该帧的图像索引、延迟、坐标、裁剪、翻转或颜色等参数由其后的帧字段给出,直到下一个 FRAME 标签开始;帧编号和缺号必须按源文件原样保留,不能自动重排。", "type": "text" }, "group": "ani" }, { "id": "ani.section.frame100.s7otdp", "match": { "extensions": [ ".ani" ] }, "target": { "kind": "section", "section": "frame100" }, "annotation": { "title": "第 100 帧定义", "content": "ANI 动画的第 100 帧起始标签。该帧的图像索引、延迟、坐标、裁剪、翻转或颜色等参数由其后的帧字段给出,直到下一个 FRAME 标签开始;帧编号和缺号必须按源文件原样保留,不能自动重排。", "type": "text" }, "group": "ani" }, { "id": "ani.section.frame101.rxp7oq", "match": { "extensions": [ ".ani" ] }, "target": { "kind": "section", "section": "frame101" }, "annotation": { "title": "第 101 帧定义", "content": "ANI 动画的第 101 帧起始标签。该帧的图像索引、延迟、坐标、裁剪、翻转或颜色等参数由其后的帧字段给出,直到下一个 FRAME 标签开始;帧编号和缺号必须按源文件原样保留,不能自动重排。", "type": "text" }, "group": "ani" }, { "id": "ani.section.frame102.rnplzr", "match": { "extensions": [ ".ani" ] }, "target": { "kind": "section", "section": "frame102" }, "annotation": { "title": "第 102 帧定义", "content": "ANI 动画的第 102 帧起始标签。该帧的图像索引、延迟、坐标、裁剪、翻转或颜色等参数由其后的帧字段给出,直到下一个 FRAME 标签开始;帧编号和缺号必须按源文件原样保留,不能自动重排。", "type": "text" }, "group": "ani" }, { "id": "ani.section.frame103.rdq0as", "match": { "extensions": [ ".ani" ] }, "target": { "kind": "section", "section": "frame103" }, "annotation": { "title": "第 103 帧定义", "content": "ANI 动画的第 103 帧起始标签。该帧的图像索引、延迟、坐标、裁剪、翻转或颜色等参数由其后的帧字段给出,直到下一个 FRAME 标签开始;帧编号和缺号必须按源文件原样保留,不能自动重排。", "type": "text" }, "group": "ani" }, { "id": "ani.section.frame104.r3qelt", "match": { "extensions": [ ".ani" ] }, "target": { "kind": "section", "section": "frame104" }, "annotation": { "title": "第 104 帧定义", "content": "ANI 动画的第 104 帧起始标签。该帧的图像索引、延迟、坐标、裁剪、翻转或颜色等参数由其后的帧字段给出,直到下一个 FRAME 标签开始;帧编号和缺号必须按源文件原样保留,不能自动重排。", "type": "text" }, "group": "ani" }, { "id": "ani.section.frame105.qtqswu", "match": { "extensions": [ ".ani" ] }, "target": { "kind": "section", "section": "frame105" }, "annotation": { "title": "第 105 帧定义", "content": "ANI 动画的第 105 帧起始标签。该帧的图像索引、延迟、坐标、裁剪、翻转或颜色等参数由其后的帧字段给出,直到下一个 FRAME 标签开始;帧编号和缺号必须按源文件原样保留,不能自动重排。", "type": "text" }, "group": "ani" }, { "id": "ani.section.frame106.qjr77v", "match": { "extensions": [ ".ani" ] }, "target": { "kind": "section", "section": "frame106" }, "annotation": { "title": "第 106 帧定义", "content": "ANI 动画的第 106 帧起始标签。该帧的图像索引、延迟、坐标、裁剪、翻转或颜色等参数由其后的帧字段给出,直到下一个 FRAME 标签开始;帧编号和缺号必须按源文件原样保留,不能自动重排。", "type": "text" }, "group": "ani" }, { "id": "ani.section.frame107.q9rliw", "match": { "extensions": [ ".ani" ] }, "target": { "kind": "section", "section": "frame107" }, "annotation": { "title": "第 107 帧定义", "content": "ANI 动画的第 107 帧起始标签。该帧的图像索引、延迟、坐标、裁剪、翻转或颜色等参数由其后的帧字段给出,直到下一个 FRAME 标签开始;帧编号和缺号必须按源文件原样保留,不能自动重排。", "type": "text" }, "group": "ani" }, { "id": "ani.section.frame108.pzrztx", "match": { "extensions": [ ".ani" ] }, "target": { "kind": "section", "section": "frame108" }, "annotation": { "title": "第 108 帧定义", "content": "ANI 动画的第 108 帧起始标签。该帧的图像索引、延迟、坐标、裁剪、翻转或颜色等参数由其后的帧字段给出,直到下一个 FRAME 标签开始;帧编号和缺号必须按源文件原样保留,不能自动重排。", "type": "text" }, "group": "ani" }, { "id": "ani.section.frame109.ppse4y", "match": { "extensions": [ ".ani" ] }, "target": { "kind": "section", "section": "frame109" }, "annotation": { "title": "第 109 帧定义", "content": "ANI 动画的第 109 帧起始标签。该帧的图像索引、延迟、坐标、裁剪、翻转或颜色等参数由其后的帧字段给出,直到下一个 FRAME 标签开始;帧编号和缺号必须按源文件原样保留,不能自动重排。", "type": "text" }, "group": "ani" }, { "id": "ani.section.frame110.qjo1pw", "match": { "extensions": [ ".ani" ] }, "target": { "kind": "section", "section": "frame110" }, "annotation": { "title": "第 110 帧定义", "content": "ANI 动画的第 110 帧起始标签。该帧的图像索引、延迟、坐标、裁剪、翻转或颜色等参数由其后的帧字段给出,直到下一个 FRAME 标签开始;帧编号和缺号必须按源文件原样保留,不能自动重排。", "type": "text" }, "group": "ani" }, { "id": "ani.section.frame111.qtnnev", "match": { "extensions": [ ".ani" ] }, "target": { "kind": "section", "section": "frame111" }, "annotation": { "title": "第 111 帧定义", "content": "ANI 动画的第 111 帧起始标签。该帧的图像索引、延迟、坐标、裁剪、翻转或颜色等参数由其后的帧字段给出,直到下一个 FRAME 标签开始;帧编号和缺号必须按源文件原样保留,不能自动重排。", "type": "text" }, "group": "ani" }, { "id": "ani.section.frame112.r3n93u", "match": { "extensions": [ ".ani" ] }, "target": { "kind": "section", "section": "frame112" }, "annotation": { "title": "第 112 帧定义", "content": "ANI 动画的第 112 帧起始标签。该帧的图像索引、延迟、坐标、裁剪、翻转或颜色等参数由其后的帧字段给出,直到下一个 FRAME 标签开始;帧编号和缺号必须按源文件原样保留,不能自动重排。", "type": "text" }, "group": "ani" }, { "id": "ani.section.frame113.rdmust", "match": { "extensions": [ ".ani" ] }, "target": { "kind": "section", "section": "frame113" }, "annotation": { "title": "第 113 帧定义", "content": "ANI 动画的第 113 帧起始标签。该帧的图像索引、延迟、坐标、裁剪、翻转或颜色等参数由其后的帧字段给出,直到下一个 FRAME 标签开始;帧编号和缺号必须按源文件原样保留,不能自动重排。", "type": "text" }, "group": "ani" }, { "id": "ani.section.frame114.pfpmy0", "match": { "extensions": [ ".ani" ] }, "target": { "kind": "section", "section": "frame114" }, "annotation": { "title": "第 114 帧定义", "content": "ANI 动画的第 114 帧起始标签。该帧的图像索引、延迟、坐标、裁剪、翻转或颜色等参数由其后的帧字段给出,直到下一个 FRAME 标签开始;帧编号和缺号必须按源文件原样保留,不能自动重排。", "type": "text" }, "group": "ani" }, { "id": "ani.section.frame115.ppp8mz", "match": { "extensions": [ ".ani" ] }, "target": { "kind": "section", "section": "frame115" }, "annotation": { "title": "第 115 帧定义", "content": "ANI 动画的第 115 帧起始标签。该帧的图像索引、延迟、坐标、裁剪、翻转或颜色等参数由其后的帧字段给出,直到下一个 FRAME 标签开始;帧编号和缺号必须按源文件原样保留,不能自动重排。", "type": "text" }, "group": "ani" }, { "id": "ani.section.frame116.pzouby", "match": { "extensions": [ ".ani" ] }, "target": { "kind": "section", "section": "frame116" }, "annotation": { "title": "第 116 帧定义", "content": "ANI 动画的第 116 帧起始标签。该帧的图像索引、延迟、坐标、裁剪、翻转或颜色等参数由其后的帧字段给出,直到下一个 FRAME 标签开始;帧编号和缺号必须按源文件原样保留,不能自动重排。", "type": "text" }, "group": "ani" }, { "id": "ani.section.frame117.q9og0x", "match": { "extensions": [ ".ani" ] }, "target": { "kind": "section", "section": "frame117" }, "annotation": { "title": "第 117 帧定义", "content": "ANI 动画的第 117 帧起始标签。该帧的图像索引、延迟、坐标、裁剪、翻转或颜色等参数由其后的帧字段给出,直到下一个 FRAME 标签开始;帧编号和缺号必须按源文件原样保留,不能自动重排。", "type": "text" }, "group": "ani" }, { "id": "ani.section.frame118.obr864", "match": { "extensions": [ ".ani" ] }, "target": { "kind": "section", "section": "frame118" }, "annotation": { "title": "第 118 帧定义", "content": "ANI 动画的第 118 帧起始标签。该帧的图像索引、延迟、坐标、裁剪、翻转或颜色等参数由其后的帧字段给出,直到下一个 FRAME 标签开始;帧编号和缺号必须按源文件原样保留,不能自动重排。", "type": "text" }, "group": "ani" }, { "id": "ani.section.frame119.olqtv3", "match": { "extensions": [ ".ani" ] }, "target": { "kind": "section", "section": "frame119" }, "annotation": { "title": "第 119 帧定义", "content": "ANI 动画的第 119 帧起始标签。该帧的图像索引、延迟、坐标、裁剪、翻转或颜色等参数由其后的帧字段给出,直到下一个 FRAME 标签开始;帧编号和缺号必须按源文件原样保留,不能自动重排。", "type": "text" }, "group": "ani" }, { "id": "ani.section.frame120.1m6o7a", "match": { "extensions": [ ".ani" ] }, "target": { "kind": "section", "section": "frame120" }, "annotation": { "title": "第 120 帧定义", "content": "ANI 动画的第 120 帧起始标签。该帧的图像索引、延迟、坐标、裁剪、翻转或颜色等参数由其后的帧字段给出,直到下一个 FRAME 标签开始;帧编号和缺号必须按源文件原样保留,不能自动重排。\n\n框架120.", "type": "text" }, "group": "ani" }, { "id": "ani.section.frame121.1lwoll", "match": { "extensions": [ ".ani" ] }, "target": { "kind": "section", "section": "frame121" }, "annotation": { "title": "第 121 帧定义", "content": "ANI 动画的第 121 帧起始标签。该帧的图像索引、延迟、坐标、裁剪、翻转或颜色等参数由其后的帧字段给出,直到下一个 FRAME 标签开始;帧编号和缺号必须按源文件原样保留,不能自动重排。", "type": "text" }, "group": "ani" }, { "id": "ani.section.frame122.1mqneo", "match": { "extensions": [ ".ani" ] }, "target": { "kind": "section", "section": "frame122" }, "annotation": { "title": "第 122 帧定义", "content": "ANI 动画的第 122 帧起始标签。该帧的图像索引、延迟、坐标、裁剪、翻转或颜色等参数由其后的帧字段给出,直到下一个 FRAME 标签开始;帧编号和缺号必须按源文件原样保留,不能自动重排。", "type": "text" }, "group": "ani" }, { "id": "ani.section.frame123.1mgnsz", "match": { "extensions": [ ".ani" ] }, "target": { "kind": "section", "section": "frame123" }, "annotation": { "title": "第 123 帧定义", "content": "ANI 动画的第 123 帧起始标签。该帧的图像索引、延迟、坐标、裁剪、翻转或颜色等参数由其后的帧字段给出,直到下一个 FRAME 标签开始;帧编号和缺号必须按源文件原样保留,不能自动重排。", "type": "text" }, "group": "ani" }, { "id": "ani.section.frame124.1l2psi", "match": { "extensions": [ ".ani" ] }, "target": { "kind": "section", "section": "frame124" }, "annotation": { "title": "第 124 帧定义", "content": "ANI 动画的第 124 帧起始标签。该帧的图像索引、延迟、坐标、裁剪、翻转或颜色等参数由其后的帧字段给出,直到下一个 FRAME 标签开始;帧编号和缺号必须按源文件原样保留,不能自动重排。", "type": "text" }, "group": "ani" }, { "id": "ani.section.frame125.1ksq6t", "match": { "extensions": [ ".ani" ] }, "target": { "kind": "section", "section": "frame125" }, "annotation": { "title": "第 125 帧定义", "content": "ANI 动画的第 125 帧起始标签。该帧的图像索引、延迟、坐标、裁剪、翻转或颜色等参数由其后的帧字段给出,直到下一个 FRAME 标签开始;帧编号和缺号必须按源文件原样保留,不能自动重排。", "type": "text" }, "group": "ani" }, { "id": "ani.section.frame126.1lmozw", "match": { "extensions": [ ".ani" ] }, "target": { "kind": "section", "section": "frame126" }, "annotation": { "title": "第 126 帧定义", "content": "ANI 动画的第 126 帧起始标签。该帧的图像索引、延迟、坐标、裁剪、翻转或颜色等参数由其后的帧字段给出,直到下一个 FRAME 标签开始;帧编号和缺号必须按源文件原样保留,不能自动重排。", "type": "text" }, "group": "ani" }, { "id": "ani.section.frame127.1lcpe7", "match": { "extensions": [ ".ani" ] }, "target": { "kind": "section", "section": "frame127" }, "annotation": { "title": "第 127 帧定义", "content": "ANI 动画的第 127 帧起始标签。该帧的图像索引、延迟、坐标、裁剪、翻转或颜色等参数由其后的帧字段给出,直到下一个 FRAME 标签开始;帧编号和缺号必须按源文件原样保留,不能自动重排。", "type": "text" }, "group": "ani" }, { "id": "ani.section.frame128.1oel0u", "match": { "extensions": [ ".ani" ] }, "target": { "kind": "section", "section": "frame128" }, "annotation": { "title": "第 128 帧定义", "content": "ANI 动画的第 128 帧起始标签。该帧的图像索引、延迟、坐标、裁剪、翻转或颜色等参数由其后的帧字段给出,直到下一个 FRAME 标签开始;帧编号和缺号必须按源文件原样保留,不能自动重排。", "type": "text" }, "group": "ani" }, { "id": "ani.section.frame129.1o4lf5", "match": { "extensions": [ ".ani" ] }, "target": { "kind": "section", "section": "frame129" }, "annotation": { "title": "第 129 帧定义", "content": "ANI 动画的第 129 帧起始标签。该帧的图像索引、延迟、坐标、裁剪、翻转或颜色等参数由其后的帧字段给出,直到下一个 FRAME 标签开始;帧编号和缺号必须按源文件原样保留,不能自动重排。", "type": "text" }, "group": "ani" }, { "id": "ani.section.frame130.l02aue", "match": { "extensions": [ ".ani" ] }, "target": { "kind": "section", "section": "frame130" }, "annotation": { "title": "第 130 帧定义", "content": "ANI 动画的第 130 帧起始标签。该帧的图像索引、延迟、坐标、裁剪、翻转或颜色等参数由其后的帧字段给出,直到下一个 FRAME 标签开始;帧编号和缺号必须按源文件原样保留,不能自动重排。", "type": "text" }, "group": "ani" }, { "id": "ani.section.frame131.la1wjd", "match": { "extensions": [ ".ani" ] }, "target": { "kind": "section", "section": "frame131" }, "annotation": { "title": "第 131 帧定义", "content": "ANI 动画的第 131 帧起始标签。该帧的图像索引、延迟、坐标、裁剪、翻转或颜色等参数由其后的帧字段给出,直到下一个 FRAME 标签开始;帧编号和缺号必须按源文件原样保留,不能自动重排。", "type": "text" }, "group": "ani" }, { "id": "ani.section.frame132.kg33gg", "match": { "extensions": [ ".ani" ] }, "target": { "kind": "section", "section": "frame132" }, "annotation": { "title": "第 132 帧定义", "content": "ANI 动画的第 132 帧起始标签。该帧的图像索引、延迟、坐标、裁剪、翻转或颜色等参数由其后的帧字段给出,直到下一个 FRAME 标签开始;帧编号和缺号必须按源文件原样保留,不能自动重排。", "type": "text" }, "group": "ani" }, { "id": "ani.section.frame133.kq2p5f", "match": { "extensions": [ ".ani" ] }, "target": { "kind": "section", "section": "frame133" }, "annotation": { "title": "第 133 帧定义", "content": "ANI 动画的第 133 帧起始标签。该帧的图像索引、延迟、坐标、裁剪、翻转或颜色等参数由其后的帧字段给出,直到下一个 FRAME 标签开始;帧编号和缺号必须按源文件原样保留,不能自动重排。", "type": "text" }, "group": "ani" }, { "id": "ani.section.frame134.m40pma", "match": { "extensions": [ ".ani" ] }, "target": { "kind": "section", "section": "frame134" }, "annotation": { "title": "第 134 帧定义", "content": "ANI 动画的第 134 帧起始标签。该帧的图像索引、延迟、坐标、裁剪、翻转或颜色等参数由其后的帧字段给出,直到下一个 FRAME 标签开始;帧编号和缺号必须按源文件原样保留,不能自动重排。", "type": "text" }, "group": "ani" }, { "id": "ani.section.frame135.me0bb9", "match": { "extensions": [ ".ani" ] }, "target": { "kind": "section", "section": "frame135" }, "annotation": { "title": "第 135 帧定义", "content": "ANI 动画的第 135 帧起始标签。该帧的图像索引、延迟、坐标、裁剪、翻转或颜色等参数由其后的帧字段给出,直到下一个 FRAME 标签开始;帧编号和缺号必须按源文件原样保留,不能自动重排。", "type": "text" }, "group": "ani" }, { "id": "ani.section.frame136.lk1i8c", "match": { "extensions": [ ".ani" ] }, "target": { "kind": "section", "section": "frame136" }, "annotation": { "title": "第 136 帧定义", "content": "ANI 动画的第 136 帧起始标签。该帧的图像索引、延迟、坐标、裁剪、翻转或颜色等参数由其后的帧字段给出,直到下一个 FRAME 标签开始;帧编号和缺号必须按源文件原样保留,不能自动重排。", "type": "text" }, "group": "ani" }, { "id": "ani.section.frame137.lu13xb", "match": { "extensions": [ ".ani" ] }, "target": { "kind": "section", "section": "frame137" }, "annotation": { "title": "第 137 帧定义", "content": "ANI 动画的第 137 帧起始标签。该帧的图像索引、延迟、坐标、裁剪、翻转或颜色等参数由其后的帧字段给出,直到下一个 FRAME 标签开始;帧编号和缺号必须按源文件原样保留,不能自动重排。", "type": "text" }, "group": "ani" }, { "id": "ani.section.frame138.n7z4e6", "match": { "extensions": [ ".ani" ] }, "target": { "kind": "section", "section": "frame138" }, "annotation": { "title": "第 138 帧定义", "content": "ANI 动画的第 138 帧起始标签。该帧的图像索引、延迟、坐标、裁剪、翻转或颜色等参数由其后的帧字段给出,直到下一个 FRAME 标签开始;帧编号和缺号必须按源文件原样保留,不能自动重排。", "type": "text" }, "group": "ani" }, { "id": "ani.section.frame139.nhyq35", "match": { "extensions": [ ".ani" ] }, "target": { "kind": "section", "section": "frame139" }, "annotation": { "title": "第 139 帧定义", "content": "ANI 动画的第 139 帧起始标签。该帧的图像索引、延迟、坐标、裁剪、翻转或颜色等参数由其后的帧字段给出,直到下一个 FRAME 标签开始;帧编号和缺号必须按源文件原样保留,不能自动重排。\n\n框架139.", "type": "text" }, "group": "ani" }, { "id": "ani.section.frame140.1l24nx", "match": { "extensions": [ ".ani" ] }, "target": { "kind": "section", "section": "frame140" }, "annotation": { "title": "第 140 帧定义", "content": "ANI 动画的第 140 帧起始标签。该帧的图像索引、延迟、坐标、裁剪、翻转或颜色等参数由其后的帧字段给出,直到下一个 FRAME 标签开始;帧编号和缺号必须按源文件原样保留,不能自动重排。", "type": "text" }, "group": "ani" }, { "id": "ani.section.frame141.1ks528", "match": { "extensions": [ ".ani" ] }, "target": { "kind": "section", "section": "frame141" }, "annotation": { "title": "第 141 帧定义", "content": "ANI 动画的第 141 帧起始标签。该帧的图像索引、延迟、坐标、裁剪、翻转或颜色等参数由其后的帧字段给出,直到下一个 FRAME 标签开始;帧编号和缺号必须按源文件原样保留,不能自动重排。", "type": "text" }, "group": "ani" }, { "id": "ani.section.frame142.1ki5gj", "match": { "extensions": [ ".ani" ] }, "target": { "kind": "section", "section": "frame142" }, "annotation": { "title": "第 142 帧定义", "content": "ANI 动画的第 142 帧起始标签。该帧的图像索引、延迟、坐标、裁剪、翻转或颜色等参数由其后的帧字段给出,直到下一个 FRAME 标签开始;帧编号和缺号必须按源文件原样保留,不能自动重排。", "type": "text" }, "group": "ani" }, { "id": "ani.section.frame143.1k85uu", "match": { "extensions": [ ".ani" ] }, "target": { "kind": "section", "section": "frame143" }, "annotation": { "title": "第 143 帧定义", "content": "ANI 动画的第 143 帧起始标签。该帧的图像索引、延迟、坐标、裁剪、翻转或颜色等参数由其后的帧字段给出,直到下一个 FRAME 标签开始;帧编号和缺号必须按源文件原样保留,不能自动重排。", "type": "text" }, "group": "ani" }, { "id": "ani.section.frame144.1m632p", "match": { "extensions": [ ".ani" ] }, "target": { "kind": "section", "section": "frame144" }, "annotation": { "title": "第 144 帧定义", "content": "ANI 动画的第 144 帧起始标签。该帧的图像索引、延迟、坐标、裁剪、翻转或颜色等参数由其后的帧字段给出,直到下一个 FRAME 标签开始;帧编号和缺号必须按源文件原样保留,不能自动重排。", "type": "text" }, "group": "ani" }, { "id": "ani.section.frame145.1lw3h0", "match": { "extensions": [ ".ani" ] }, "target": { "kind": "section", "section": "frame145" }, "annotation": { "title": "第 145 帧定义", "content": "ANI 动画的第 145 帧起始标签。该帧的图像索引、延迟、坐标、裁剪、翻转或颜色等参数由其后的帧字段给出,直到下一个 FRAME 标签开始;帧编号和缺号必须按源文件原样保留,不能自动重排。", "type": "text" }, "group": "ani" }, { "id": "ani.section.frame146.1lm3vb", "match": { "extensions": [ ".ani" ] }, "target": { "kind": "section", "section": "frame146" }, "annotation": { "title": "第 146 帧定义", "content": "ANI 动画的第 146 帧起始标签。该帧的图像索引、延迟、坐标、裁剪、翻转或颜色等参数由其后的帧字段给出,直到下一个 FRAME 标签开始;帧编号和缺号必须按源文件原样保留,不能自动重排。", "type": "text" }, "group": "ani" }, { "id": "ani.section.frame147.1lc49m", "match": { "extensions": [ ".ani" ] }, "target": { "kind": "section", "section": "frame147" }, "annotation": { "title": "第 147 帧定义", "content": "ANI 动画的第 147 帧起始标签。该帧的图像索引、延迟、坐标、裁剪、翻转或颜色等参数由其后的帧字段给出,直到下一个 FRAME 标签开始;帧编号和缺号必须按源文件原样保留,不能自动重排。", "type": "text" }, "group": "ani" }, { "id": "ani.section.frame148.1na1hg", "match": { "extensions": [ ".ani" ] }, "target": { "kind": "section", "section": "frame148" }, "annotation": { "title": "第 148 帧定义", "content": "ANI 动画的第 148 帧起始标签。该帧的图像索引、延迟、坐标、裁剪、翻转或颜色等参数由其后的帧字段给出,直到下一个 FRAME 标签开始;帧编号和缺号必须按源文件原样保留,不能自动重排。", "type": "text" }, "group": "ani" }, { "id": "ani.section.frame149.1n01vr", "match": { "extensions": [ ".ani" ] }, "target": { "kind": "section", "section": "frame149" }, "annotation": { "title": "第 149 帧定义", "content": "ANI 动画的第 149 帧起始标签。该帧的图像索引、延迟、坐标、裁剪、翻转或颜色等参数由其后的帧字段给出,直到下一个 FRAME 标签开始;帧编号和缺号必须按源文件原样保留,不能自动重排。", "type": "text" }, "group": "ani" }, { "id": "ani.section.frame150.1je3w9", "match": { "extensions": [ ".ani" ] }, "target": { "kind": "section", "section": "frame150" }, "annotation": { "title": "第 150 帧定义", "content": "ANI 动画的第 150 帧起始标签。该帧的图像索引、延迟、坐标、裁剪、翻转或颜色等参数由其后的帧字段给出,直到下一个 FRAME 标签开始;帧编号和缺号必须按源文件原样保留,不能自动重排。", "type": "text" }, "group": "ani" }, { "id": "ani.section.frame151.1jo3hy", "match": { "extensions": [ ".ani" ] }, "target": { "kind": "section", "section": "frame151" }, "annotation": { "title": "第 151 帧定义", "content": "ANI 动画的第 151 帧起始标签。该帧的图像索引、延迟、坐标、裁剪、翻转或颜色等参数由其后的帧字段给出,直到下一个 FRAME 标签开始;帧编号和缺号必须按源文件原样保留,不能自动重排。", "type": "text" }, "group": "ani" }, { "id": "ani.section.frame152.1jy33n", "match": { "extensions": [ ".ani" ] }, "target": { "kind": "section", "section": "frame152" }, "annotation": { "title": "第 152 帧定义", "content": "ANI 动画的第 152 帧起始标签。该帧的图像索引、延迟、坐标、裁剪、翻转或颜色等参数由其后的帧字段给出,直到下一个 FRAME 标签开始;帧编号和缺号必须按源文件原样保留,不能自动重排。", "type": "text" }, "group": "ani" }, { "id": "ani.section.frame153.1k82pc", "match": { "extensions": [ ".ani" ] }, "target": { "kind": "section", "section": "frame153" }, "annotation": { "title": "第 153 帧定义", "content": "ANI 动画的第 153 帧起始标签。该帧的图像索引、延迟、坐标、裁剪、翻转或颜色等参数由其后的帧字段给出,直到下一个 FRAME 标签开始;帧编号和缺号必须按源文件原样保留,不能自动重排。", "type": "text" }, "group": "ani" }, { "id": "ani.section.frame154.1ki2b1", "match": { "extensions": [ ".ani" ] }, "target": { "kind": "section", "section": "frame154" }, "annotation": { "title": "第 154 帧定义", "content": "ANI 动画的第 154 帧起始标签。该帧的图像索引、延迟、坐标、裁剪、翻转或颜色等参数由其后的帧字段给出,直到下一个 FRAME 标签开始;帧编号和缺号必须按源文件原样保留,不能自动重排。", "type": "text" }, "group": "ani" }, { "id": "ani.section.frame155.1ks1wq", "match": { "extensions": [ ".ani" ] }, "target": { "kind": "section", "section": "frame155" }, "annotation": { "title": "第 155 帧定义", "content": "ANI 动画的第 155 帧起始标签。该帧的图像索引、延迟、坐标、裁剪、翻转或颜色等参数由其后的帧字段给出,直到下一个 FRAME 标签开始;帧编号和缺号必须按源文件原样保留,不能自动重排。", "type": "text" }, "group": "ani" }, { "id": "ani.section.frame156.1l21if", "match": { "extensions": [ ".ani" ] }, "target": { "kind": "section", "section": "frame156" }, "annotation": { "title": "第 156 帧定义", "content": "ANI 动画的第 156 帧起始标签。该帧的图像索引、延迟、坐标、裁剪、翻转或颜色等参数由其后的帧字段给出,直到下一个 FRAME 标签开始;帧编号和缺号必须按源文件原样保留,不能自动重排。", "type": "text" }, "group": "ani" }, { "id": "ani.section.frame157.1lc144", "match": { "extensions": [ ".ani" ] }, "target": { "kind": "section", "section": "frame157" }, "annotation": { "title": "第 157 帧定义", "content": "ANI 动画的第 157 帧起始标签。该帧的图像索引、延迟、坐标、裁剪、翻转或颜色等参数由其后的帧字段给出,直到下一个 FRAME 标签开始;帧编号和缺号必须按源文件原样保留,不能自动重排。", "type": "text" }, "group": "ani" }, { "id": "ani.section.frame158.1lm0pt", "match": { "extensions": [ ".ani" ] }, "target": { "kind": "section", "section": "frame158" }, "annotation": { "title": "第 158 帧定义", "content": "ANI 动画的第 158 帧起始标签。该帧的图像索引、延迟、坐标、裁剪、翻转或颜色等参数由其后的帧字段给出,直到下一个 FRAME 标签开始;帧编号和缺号必须按源文件原样保留,不能自动重排。", "type": "text" }, "group": "ani" }, { "id": "ani.section.frame159.1lw0bi", "match": { "extensions": [ ".ani" ] }, "target": { "kind": "section", "section": "frame159" }, "annotation": { "title": "第 159 帧定义", "content": "ANI 动画的第 159 帧起始标签。该帧的图像索引、延迟、坐标、裁剪、翻转或颜色等参数由其后的帧字段给出,直到下一个 FRAME 标签开始;帧编号和缺号必须按源文件原样保留,不能自动重排。", "type": "text" }, "group": "ani" }, { "id": "ani.section.frame160.1oe678", "match": { "extensions": [ ".ani" ] }, "target": { "kind": "section", "section": "frame160" }, "annotation": { "title": "第 160 帧定义", "content": "ANI 动画的第 160 帧起始标签。该帧的图像索引、延迟、坐标、裁剪、翻转或颜色等参数由其后的帧字段给出,直到下一个 FRAME 标签开始;帧编号和缺号必须按源文件原样保留,不能自动重排。", "type": "text" }, "group": "ani" }, { "id": "ani.section.frame161.1o46lj", "match": { "extensions": [ ".ani" ] }, "target": { "kind": "section", "section": "frame161" }, "annotation": { "title": "第 161 帧定义", "content": "ANI 动画的第 161 帧起始标签。该帧的图像索引、延迟、坐标、裁剪、翻转或颜色等参数由其后的帧字段给出,直到下一个 FRAME 标签开始;帧编号和缺号必须按源文件原样保留,不能自动重排。", "type": "text" }, "group": "ani" }, { "id": "ani.section.frame162.1oy5em", "match": { "extensions": [ ".ani" ] }, "target": { "kind": "section", "section": "frame162" }, "annotation": { "title": "第 162 帧定义", "content": "ANI 动画的第 162 帧起始标签。该帧的图像索引、延迟、坐标、裁剪、翻转或颜色等参数由其后的帧字段给出,直到下一个 FRAME 标签开始;帧编号和缺号必须按源文件原样保留,不能自动重排。", "type": "text" }, "group": "ani" }, { "id": "ani.section.frame163.1oo5sx", "match": { "extensions": [ ".ani" ] }, "target": { "kind": "section", "section": "frame163" }, "annotation": { "title": "第 163 帧定义", "content": "ANI 动画的第 163 帧起始标签。该帧的图像索引、延迟、坐标、裁剪、翻转或颜色等参数由其后的帧字段给出,直到下一个 FRAME 标签开始;帧编号和缺号必须按源文件原样保留,不能自动重排。", "type": "text" }, "group": "ani" }, { "id": "ani.section.frame164.1pi4m0", "match": { "extensions": [ ".ani" ] }, "target": { "kind": "section", "section": "frame164" }, "annotation": { "title": "第 164 帧定义", "content": "ANI 动画的第 164 帧起始标签。该帧的图像索引、延迟、坐标、裁剪、翻转或颜色等参数由其后的帧字段给出,直到下一个 FRAME 标签开始;帧编号和缺号必须按源文件原样保留,不能自动重排。", "type": "text" }, "group": "ani" }, { "id": "ani.section.frame165.1p850b", "match": { "extensions": [ ".ani" ] }, "target": { "kind": "section", "section": "frame165" }, "annotation": { "title": "第 165 帧定义", "content": "ANI 动画的第 165 帧起始标签。该帧的图像索引、延迟、坐标、裁剪、翻转或颜色等参数由其后的帧字段给出,直到下一个 FRAME 标签开始;帧编号和缺号必须按源文件原样保留,不能自动重排。", "type": "text" }, "group": "ani" }, { "id": "ani.section.frame166.1q23te", "match": { "extensions": [ ".ani" ] }, "target": { "kind": "section", "section": "frame166" }, "annotation": { "title": "第 166 帧定义", "content": "ANI 动画的第 166 帧起始标签。该帧的图像索引、延迟、坐标、裁剪、翻转或颜色等参数由其后的帧字段给出,直到下一个 FRAME 标签开始;帧编号和缺号必须按源文件原样保留,不能自动重排。", "type": "text" }, "group": "ani" }, { "id": "ani.section.frame167.1ps47p", "match": { "extensions": [ ".ani" ] }, "target": { "kind": "section", "section": "frame167" }, "annotation": { "title": "第 167 帧定义", "content": "ANI 动画的第 167 帧起始标签。该帧的图像索引、延迟、坐标、裁剪、翻转或颜色等参数由其后的帧字段给出,直到下一个 FRAME 标签开始;帧编号和缺号必须按源文件原样保留,不能自动重排。", "type": "text" }, "group": "ani" }, { "id": "ani.section.frame168.1m69do", "match": { "extensions": [ ".ani" ] }, "target": { "kind": "section", "section": "frame168" }, "annotation": { "title": "第 168 帧定义", "content": "ANI 动画的第 168 帧起始标签。该帧的图像索引、延迟、坐标、裁剪、翻转或颜色等参数由其后的帧字段给出,直到下一个 FRAME 标签开始;帧编号和缺号必须按源文件原样保留,不能自动重排。", "type": "text" }, "group": "ani" }, { "id": "ani.section.frame169.1lw9s0", "match": { "extensions": [ ".ani" ] }, "target": { "kind": "section", "section": "frame169" }, "annotation": { "title": "第 169 帧定义", "content": "ANI 动画的第 169 帧起始标签。该帧的图像索引、延迟、坐标、裁剪、翻转或颜色等参数由其后的帧字段给出,直到下一个 FRAME 标签开始;帧编号和缺号必须按源文件原样保留,不能自动重排。", "type": "text" }, "group": "ani" }, { "id": "ani.section.frame170.1mq5fk", "match": { "extensions": [ ".ani" ] }, "target": { "kind": "section", "section": "frame170" }, "annotation": { "title": "第 170 帧定义", "content": "ANI 动画的第 170 帧起始标签。该帧的图像索引、延迟、坐标、裁剪、翻转或颜色等参数由其后的帧字段给出,直到下一个 FRAME 标签开始;帧编号和缺号必须按源文件原样保留,不能自动重排。", "type": "text" }, "group": "ani" }, { "id": "ani.section.frame171.1n0519", "match": { "extensions": [ ".ani" ] }, "target": { "kind": "section", "section": "frame171" }, "annotation": { "title": "第 171 帧定义", "content": "ANI 动画的第 171 帧起始标签。该帧的图像索引、延迟、坐标、裁剪、翻转或颜色等参数由其后的帧字段给出,直到下一个 FRAME 标签开始;帧编号和缺号必须按源文件原样保留,不能自动重排。", "type": "text" }, "group": "ani" }, { "id": "ani.section.frame172.1m6687", "match": { "extensions": [ ".ani" ] }, "target": { "kind": "section", "section": "frame172" }, "annotation": { "title": "第 172 帧定义", "content": "ANI 动画的第 172 帧起始标签。该帧的图像索引、延迟、坐标、裁剪、翻转或颜色等参数由其后的帧字段给出,直到下一个 FRAME 标签开始;帧编号和缺号必须按源文件原样保留,不能自动重排。", "type": "text" }, "group": "ani" }, { "id": "ani.section.frame173.1mg5tv", "match": { "extensions": [ ".ani" ] }, "target": { "kind": "section", "section": "frame173" }, "annotation": { "title": "第 173 帧定义", "content": "ANI 动画的第 173 帧起始标签。该帧的图像索引、延迟、坐标、裁剪、翻转或颜色等参数由其后的帧字段给出,直到下一个 FRAME 标签开始;帧编号和缺号必须按源文件原样保留,不能自动重排。", "type": "text" }, "group": "ani" }, { "id": "ani.section.frame174.1lm70t", "match": { "extensions": [ ".ani" ] }, "target": { "kind": "section", "section": "frame174" }, "annotation": { "title": "第 174 帧定义", "content": "ANI 动画的第 174 帧起始标签。该帧的图像索引、延迟、坐标、裁剪、翻转或颜色等参数由其后的帧字段给出,直到下一个 FRAME 标签开始;帧编号和缺号必须按源文件原样保留,不能自动重排。", "type": "text" }, "group": "ani" }, { "id": "ani.section.frame175.1lw6mi", "match": { "extensions": [ ".ani" ] }, "target": { "kind": "section", "section": "frame175" }, "annotation": { "title": "第 175 帧定义", "content": "ANI 动画的第 175 帧起始标签。该帧的图像索引、延迟、坐标、裁剪、翻转或颜色等参数由其后的帧字段给出,直到下一个 FRAME 标签开始;帧编号和缺号必须按源文件原样保留,不能自动重排。", "type": "text" }, "group": "ani" }, { "id": "ani.section.frame176.1l27tf", "match": { "extensions": [ ".ani" ] }, "target": { "kind": "section", "section": "frame176" }, "annotation": { "title": "第 176 帧定义", "content": "ANI 动画的第 176 帧起始标签。该帧的图像索引、延迟、坐标、裁剪、翻转或颜色等参数由其后的帧字段给出,直到下一个 FRAME 标签开始;帧编号和缺号必须按源文件原样保留,不能自动重排。", "type": "text" }, "group": "ani" }, { "id": "ani.section.frame177.1lc7f4", "match": { "extensions": [ ".ani" ] }, "target": { "kind": "section", "section": "frame177" }, "annotation": { "title": "第 177 帧定义", "content": "ANI 动画的第 177 帧起始标签。该帧的图像索引、延迟、坐标、裁剪、翻转或颜色等参数由其后的帧字段给出,直到下一个 FRAME 标签开始;帧编号和缺号必须按源文件原样保留,不能自动重排。", "type": "text" }, "group": "ani" }, { "id": "ani.section.frame178.1oy294", "match": { "extensions": [ ".ani" ] }, "target": { "kind": "section", "section": "frame178" }, "annotation": { "title": "第 178 帧定义", "content": "ANI 动画的第 178 帧起始标签。该帧的图像索引、延迟、坐标、裁剪、翻转或颜色等参数由其后的帧字段给出,直到下一个 FRAME 标签开始;帧编号和缺号必须按源文件原样保留,不能自动重排。", "type": "text" }, "group": "ani" }, { "id": "ani.section.frame179.1p81ut", "match": { "extensions": [ ".ani" ] }, "target": { "kind": "section", "section": "frame179" }, "annotation": { "title": "第 179 帧定义", "content": "ANI 动画的第 179 帧起始标签。该帧的图像索引、延迟、坐标、裁剪、翻转或颜色等参数由其后的帧字段给出,直到下一个 FRAME 标签开始;帧编号和缺号必须按源文件原样保留,不能自动重排。", "type": "text" }, "group": "ani" }, { "id": "ani.section.frame180.nsmlvp", "match": { "extensions": [ ".ani" ] }, "target": { "kind": "section", "section": "frame180" }, "annotation": { "title": "第 180 帧定义", "content": "ANI 动画的第 180 帧起始标签。该帧的图像索引、延迟、坐标、裁剪、翻转或颜色等参数由其后的帧字段给出,直到下一个 FRAME 标签开始;帧编号和缺号必须按源文件原样保留,不能自动重排。", "type": "text" }, "group": "ani" }, { "id": "ani.section.frame181.nin06q", "match": { "extensions": [ ".ani" ] }, "target": { "kind": "section", "section": "frame181" }, "annotation": { "title": "第 181 帧定义", "content": "ANI 动画的第 181 帧起始标签。该帧的图像索引、延迟、坐标、裁剪、翻转或颜色等参数由其后的帧字段给出,直到下一个 FRAME 标签开始;帧编号和缺号必须按源文件原样保留,不能自动重排。", "type": "text" }, "group": "ani" }, { "id": "ani.section.frame182.n8nehr", "match": { "extensions": [ ".ani" ] }, "target": { "kind": "section", "section": "frame182" }, "annotation": { "title": "第 182 帧定义", "content": "ANI 动画的第 182 帧起始标签。该帧的图像索引、延迟、坐标、裁剪、翻转或颜色等参数由其后的帧字段给出,直到下一个 FRAME 标签开始;帧编号和缺号必须按源文件原样保留,不能自动重排。", "type": "text" }, "group": "ani" }, { "id": "ani.section.frame183.mynsss", "match": { "extensions": [ ".ani" ] }, "target": { "kind": "section", "section": "frame183" }, "annotation": { "title": "第 183 帧定义", "content": "ANI 动画的第 183 帧起始标签。该帧的图像索引、延迟、坐标、裁剪、翻转或颜色等参数由其后的帧字段给出,直到下一个 FRAME 标签开始;帧编号和缺号必须按源文件原样保留,不能自动重排。", "type": "text" }, "group": "ani" }, { "id": "ani.section.frame184.moo73t", "match": { "extensions": [ ".ani" ] }, "target": { "kind": "section", "section": "frame184" }, "annotation": { "title": "第 184 帧定义", "content": "ANI 动画的第 184 帧起始标签。该帧的图像索引、延迟、坐标、裁剪、翻转或颜色等参数由其后的帧字段给出,直到下一个 FRAME 标签开始;帧编号和缺号必须按源文件原样保留,不能自动重排。", "type": "text" }, "group": "ani" }, { "id": "ani.section.frame185.meoleu", "match": { "extensions": [ ".ani" ] }, "target": { "kind": "section", "section": "frame185" }, "annotation": { "title": "第 185 帧定义", "content": "ANI 动画的第 185 帧起始标签。该帧的图像索引、延迟、坐标、裁剪、翻转或颜色等参数由其后的帧字段给出,直到下一个 FRAME 标签开始;帧编号和缺号必须按源文件原样保留,不能自动重排。", "type": "text" }, "group": "ani" }, { "id": "ani.section.frame186.m4ozpv", "match": { "extensions": [ ".ani" ] }, "target": { "kind": "section", "section": "frame186" }, "annotation": { "title": "第 186 帧定义", "content": "ANI 动画的第 186 帧起始标签。该帧的图像索引、延迟、坐标、裁剪、翻转或颜色等参数由其后的帧字段给出,直到下一个 FRAME 标签开始;帧编号和缺号必须按源文件原样保留,不能自动重排。", "type": "text" }, "group": "ani" }, { "id": "ani.section.frame187.lupe0w", "match": { "extensions": [ ".ani" ] }, "target": { "kind": "section", "section": "frame187" }, "annotation": { "title": "第 187 帧定义", "content": "ANI 动画的第 187 帧起始标签。该帧的图像索引、延迟、坐标、裁剪、翻转或颜色等参数由其后的帧字段给出,直到下一个 FRAME 标签开始;帧编号和缺号必须按源文件原样保留,不能自动重排。", "type": "text" }, "group": "ani" }, { "id": "ani.section.frame188.q0jffh", "match": { "extensions": [ ".ani" ] }, "target": { "kind": "section", "section": "frame188" }, "annotation": { "title": "第 188 帧定义", "content": "ANI 动画的第 188 帧起始标签。该帧的图像索引、延迟、坐标、裁剪、翻转或颜色等参数由其后的帧字段给出,直到下一个 FRAME 标签开始;帧编号和缺号必须按源文件原样保留,不能自动重排。", "type": "text" }, "group": "ani" }, { "id": "ani.section.frame189.pqjtqi", "match": { "extensions": [ ".ani" ] }, "target": { "kind": "section", "section": "frame189" }, "annotation": { "title": "第 189 帧定义", "content": "ANI 动画的第 189 帧起始标签。该帧的图像索引、延迟、坐标、裁剪、翻转或颜色等参数由其后的帧字段给出,直到下一个 FRAME 标签开始;帧编号和缺号必须按源文件原样保留,不能自动重排。", "type": "text" }, "group": "ani" }, { "id": "ani.section.frame190.m4lu7w", "match": { "extensions": [ ".ani" ] }, "target": { "kind": "section", "section": "frame190" }, "annotation": { "title": "第 190 帧定义", "content": "ANI 动画的第 190 帧起始标签。该帧的图像索引、延迟、坐标、裁剪、翻转或颜色等参数由其后的帧字段给出,直到下一个 FRAME 标签开始;帧编号和缺号必须按源文件原样保留,不能自动重排。", "type": "text" }, "group": "ani" }, { "id": "ani.section.frame191.melfwv", "match": { "extensions": [ ".ani" ] }, "target": { "kind": "section", "section": "frame191" }, "annotation": { "title": "第 191 帧定义", "content": "ANI 动画的第 191 帧起始标签。该帧的图像索引、延迟、坐标、裁剪、翻转或颜色等参数由其后的帧字段给出,直到下一个 FRAME 标签开始;帧编号和缺号必须按源文件原样保留,不能自动重排。", "type": "text" }, "group": "ani" }, { "id": "ani.section.frame192.mol1lu", "match": { "extensions": [ ".ani" ] }, "target": { "kind": "section", "section": "frame192" }, "annotation": { "title": "第 192 帧定义", "content": "ANI 动画的第 192 帧起始标签。该帧的图像索引、延迟、坐标、裁剪、翻转或颜色等参数由其后的帧字段给出,直到下一个 FRAME 标签开始;帧编号和缺号必须按源文件原样保留,不能自动重排。", "type": "text" }, "group": "ani" }, { "id": "ani.section.frame193.myknat", "match": { "extensions": [ ".ani" ] }, "target": { "kind": "section", "section": "frame193" }, "annotation": { "title": "第 193 帧定义", "content": "ANI 动画的第 193 帧起始标签。该帧的图像索引、延迟、坐标、裁剪、翻转或颜色等参数由其后的帧字段给出,直到下一个 FRAME 标签开始;帧编号和缺号必须按源文件原样保留,不能自动重排。", "type": "text" }, "group": "ani" }, { "id": "ani.section.frame194.l0nfg0", "match": { "extensions": [ ".ani" ] }, "target": { "kind": "section", "section": "frame194" }, "annotation": { "title": "第 194 帧定义", "content": "ANI 动画的第 194 帧起始标签。该帧的图像索引、延迟、坐标、裁剪、翻转或颜色等参数由其后的帧字段给出,直到下一个 FRAME 标签开始;帧编号和缺号必须按源文件原样保留,不能自动重排。", "type": "text" }, "group": "ani" }, { "id": "ani.section.frame195.lan14z", "match": { "extensions": [ ".ani" ] }, "target": { "kind": "section", "section": "frame195" }, "annotation": { "title": "第 195 帧定义", "content": "ANI 动画的第 195 帧起始标签。该帧的图像索引、延迟、坐标、裁剪、翻转或颜色等参数由其后的帧字段给出,直到下一个 FRAME 标签开始;帧编号和缺号必须按源文件原样保留,不能自动重排。", "type": "text" }, "group": "ani" }, { "id": "ani.section.frame196.lkmmty", "match": { "extensions": [ ".ani" ] }, "target": { "kind": "section", "section": "frame196" }, "annotation": { "title": "第 196 帧定义", "content": "ANI 动画的第 196 帧起始标签。该帧的图像索引、延迟、坐标、裁剪、翻转或颜色等参数由其后的帧字段给出,直到下一个 FRAME 标签开始;帧编号和缺号必须按源文件原样保留,不能自动重排。", "type": "text" }, "group": "ani" }, { "id": "ani.section.frame197.lum8ix", "match": { "extensions": [ ".ani" ] }, "target": { "kind": "section", "section": "frame197" }, "annotation": { "title": "第 197 帧定义", "content": "ANI 动画的第 197 帧起始标签。该帧的图像索引、延迟、坐标、裁剪、翻转或颜色等参数由其后的帧字段给出,直到下一个 FRAME 标签开始;帧编号和缺号必须按源文件原样保留,不能自动重排。", "type": "text" }, "group": "ani" }, { "id": "ani.section.frame198.ocinro", "match": { "extensions": [ ".ani" ] }, "target": { "kind": "section", "section": "frame198" }, "annotation": { "title": "第 198 帧定义", "content": "ANI 动画的第 198 帧起始标签。该帧的图像索引、延迟、坐标、裁剪、翻转或颜色等参数由其后的帧字段给出,直到下一个 FRAME 标签开始;帧编号和缺号必须按源文件原样保留,不能自动重排。", "type": "text" }, "group": "ani" }, { "id": "ani.section.frame199.omi9gn", "match": { "extensions": [ ".ani" ] }, "target": { "kind": "section", "section": "frame199" }, "annotation": { "title": "第 199 帧定义", "content": "ANI 动画的第 199 帧起始标签。该帧的图像索引、延迟、坐标、裁剪、翻转或颜色等参数由其后的帧字段给出,直到下一个 FRAME 标签开始;帧编号和缺号必须按源文件原样保留,不能自动重排。", "type": "text" }, "group": "ani" }, { "id": "ani.section.frame200.1208xv", "match": { "extensions": [ ".ani" ] }, "target": { "kind": "section", "section": "frame200" }, "annotation": { "title": "第 200 帧定义", "content": "ANI 动画的第 200 帧起始标签。该帧的图像索引、延迟、坐标、裁剪、翻转或颜色等参数由其后的帧字段给出,直到下一个 FRAME 标签开始;帧编号和缺号必须按源文件原样保留,不能自动重排。", "type": "text" }, "group": "ani" }, { "id": "ani.section.frame201.12a8jk", "match": { "extensions": [ ".ani" ] }, "target": { "kind": "section", "section": "frame201" }, "annotation": { "title": "第 201 帧定义", "content": "ANI 动画的第 201 帧起始标签。该帧的图像索引、延迟、坐标、裁剪、翻转或颜色等参数由其后的帧字段给出,直到下一个 FRAME 标签开始;帧编号和缺号必须按源文件原样保留,不能自动重排。", "type": "text" }, "group": "ani" }, { "id": "ani.section.frame202.12k859", "match": { "extensions": [ ".ani" ] }, "target": { "kind": "section", "section": "frame202" }, "annotation": { "title": "第 202 帧定义", "content": "ANI 动画的第 202 帧起始标签。该帧的图像索引、延迟、坐标、裁剪、翻转或颜色等参数由其后的帧字段给出,直到下一个 FRAME 标签开始;帧编号和缺号必须按源文件原样保留,不能自动重排。", "type": "text" }, "group": "ani" }, { "id": "ani.section.frame203.12u7qy", "match": { "extensions": [ ".ani" ] }, "target": { "kind": "section", "section": "frame203" }, "annotation": { "title": "第 203 帧定义", "content": "ANI 动画的第 203 帧起始标签。该帧的图像索引、延迟、坐标、裁剪、翻转或颜色等参数由其后的帧字段给出,直到下一个 FRAME 标签开始;帧编号和缺号必须按源文件原样保留,不能自动重排。", "type": "text" }, "group": "ani" }, { "id": "ani.section.frame204.10waj3", "match": { "extensions": [ ".ani" ] }, "target": { "kind": "section", "section": "frame204" }, "annotation": { "title": "第 204 帧定义", "content": "ANI 动画的第 204 帧起始标签。该帧的图像索引、延迟、坐标、裁剪、翻转或颜色等参数由其后的帧字段给出,直到下一个 FRAME 标签开始;帧编号和缺号必须按源文件原样保留,不能自动重排。", "type": "text" }, "group": "ani" }, { "id": "ani.section.frame205.116a4s", "match": { "extensions": [ ".ani" ] }, "target": { "kind": "section", "section": "frame205" }, "annotation": { "title": "第 205 帧定义", "content": "ANI 动画的第 205 帧起始标签。该帧的图像索引、延迟、坐标、裁剪、翻转或颜色等参数由其后的帧字段给出,直到下一个 FRAME 标签开始;帧编号和缺号必须按源文件原样保留,不能自动重排。", "type": "text" }, "group": "ani" }, { "id": "ani.section.frame206.11g9qh", "match": { "extensions": [ ".ani" ] }, "target": { "kind": "section", "section": "frame206" }, "annotation": { "title": "第 206 帧定义", "content": "ANI 动画的第 206 帧起始标签。该帧的图像索引、延迟、坐标、裁剪、翻转或颜色等参数由其后的帧字段给出,直到下一个 FRAME 标签开始;帧编号和缺号必须按源文件原样保留,不能自动重排。", "type": "text" }, "group": "ani" }, { "id": "ani.section.frame207.11q9c6", "match": { "extensions": [ ".ani" ] }, "target": { "kind": "section", "section": "frame207" }, "annotation": { "title": "第 207 帧定义", "content": "ANI 动画的第 207 帧起始标签。该帧的图像索引、延迟、坐标、裁剪、翻转或颜色等参数由其后的帧字段给出,直到下一个 FRAME 标签开始;帧编号和缺号必须按源文件原样保留,不能自动重排。", "type": "text" }, "group": "ani" }, { "id": "ani.section.frame208.1485rf", "match": { "extensions": [ ".ani" ] }, "target": { "kind": "section", "section": "frame208" }, "annotation": { "title": "第 208 帧定义", "content": "ANI 动画的第 208 帧起始标签。该帧的图像索引、延迟、坐标、裁剪、翻转或颜色等参数由其后的帧字段给出,直到下一个 FRAME 标签开始;帧编号和缺号必须按源文件原样保留,不能自动重排。", "type": "text" }, "group": "ani" }, { "id": "ani.section.frame209.14i5d4", "match": { "extensions": [ ".ani" ] }, "target": { "kind": "section", "section": "frame209" }, "annotation": { "title": "第 209 帧定义", "content": "ANI 动画的第 209 帧起始标签。该帧的图像索引、延迟、坐标、裁剪、翻转或颜色等参数由其后的帧字段给出,直到下一个 FRAME 标签开始;帧编号和缺号必须按源文件原样保留,不能自动重排。", "type": "text" }, "group": "ani" }, { "id": "ani.section.frame210.13o9pj", "match": { "extensions": [ ".ani" ] }, "target": { "kind": "section", "section": "frame210" }, "annotation": { "title": "第 210 帧定义", "content": "ANI 动画的第 210 帧起始标签。该帧的图像索引、延迟、坐标、裁剪、翻转或颜色等参数由其后的帧字段给出,直到下一个 FRAME 标签开始;帧编号和缺号必须按源文件原样保留,不能自动重排。", "type": "text" }, "group": "ani" }, { "id": "ani.section.frame211.13ea3u", "match": { "extensions": [ ".ani" ] }, "target": { "kind": "section", "section": "frame211" }, "annotation": { "title": "第 211 帧定义", "content": "ANI 动画的第 211 帧起始标签。该帧的图像索引、延迟、坐标、裁剪、翻转或颜色等参数由其后的帧字段给出,直到下一个 FRAME 标签开始;帧编号和缺号必须按源文件原样保留,不能自动重排。", "type": "text" }, "group": "ani" }, { "id": "ani.section.frame212.134ai5", "match": { "extensions": [ ".ani" ] }, "target": { "kind": "section", "section": "frame212" }, "annotation": { "title": "第 212 帧定义", "content": "ANI 动画的第 212 帧起始标签。该帧的图像索引、延迟、坐标、裁剪、翻转或颜色等参数由其后的帧字段给出,直到下一个 FRAME 标签开始;帧编号和缺号必须按源文件原样保留,不能自动重排。", "type": "text" }, "group": "ani" }, { "id": "ani.section.frame213.12uawg", "match": { "extensions": [ ".ani" ] }, "target": { "kind": "section", "section": "frame213" }, "annotation": { "title": "第 213 帧定义", "content": "ANI 动画的第 213 帧起始标签。该帧的图像索引、延迟、坐标、裁剪、翻转或颜色等参数由其后的帧字段给出,直到下一个 FRAME 标签开始;帧编号和缺号必须按源文件原样保留,不能自动重排。", "type": "text" }, "group": "ani" }, { "id": "ani.section.frame214.12kbar", "match": { "extensions": [ ".ani" ] }, "target": { "kind": "section", "section": "frame214" }, "annotation": { "title": "第 214 帧定义", "content": "ANI 动画的第 214 帧起始标签。该帧的图像索引、延迟、坐标、裁剪、翻转或颜色等参数由其后的帧字段给出,直到下一个 FRAME 标签开始;帧编号和缺号必须按源文件原样保留,不能自动重排。", "type": "text" }, "group": "ani" }, { "id": "ani.section.frame215.12abp2", "match": { "extensions": [ ".ani" ] }, "target": { "kind": "section", "section": "frame215" }, "annotation": { "title": "第 215 帧定义", "content": "ANI 动画的第 215 帧起始标签。该帧的图像索引、延迟、坐标、裁剪、翻转或颜色等参数由其后的帧字段给出,直到下一个 FRAME 标签开始;帧编号和缺号必须按源文件原样保留,不能自动重排。", "type": "text" }, "group": "ani" }, { "id": "ani.section.frame216.120c3d", "match": { "extensions": [ ".ani" ] }, "target": { "kind": "section", "section": "frame216" }, "annotation": { "title": "第 216 帧定义", "content": "ANI 动画的第 216 帧起始标签。该帧的图像索引、延迟、坐标、裁剪、翻转或颜色等参数由其后的帧字段给出,直到下一个 FRAME 标签开始;帧编号和缺号必须按源文件原样保留,不能自动重排。", "type": "text" }, "group": "ani" }, { "id": "ani.section.frame217.11qcho", "match": { "extensions": [ ".ani" ] }, "target": { "kind": "section", "section": "frame217" }, "annotation": { "title": "第 217 帧定义", "content": "ANI 动画的第 217 帧起始标签。该帧的图像索引、延迟、坐标、裁剪、翻转或颜色等参数由其后的帧字段给出,直到下一个 FRAME 标签开始;帧编号和缺号必须按源文件原样保留,不能自动重排。", "type": "text" }, "group": "ani" }, { "id": "ani.section.frame218.15w6j3", "match": { "extensions": [ ".ani" ] }, "target": { "kind": "section", "section": "frame218" }, "annotation": { "title": "第 218 帧定义", "content": "ANI 动画的第 218 帧起始标签。该帧的图像索引、延迟、坐标、裁剪、翻转或颜色等参数由其后的帧字段给出,直到下一个 FRAME 标签开始;帧编号和缺号必须按源文件原样保留,不能自动重排。", "type": "text" }, "group": "ani" }, { "id": "ani.section.frame219.15m6xe", "match": { "extensions": [ ".ani" ] }, "target": { "kind": "section", "section": "frame219" }, "annotation": { "title": "第 219 帧定义", "content": "ANI 动画的第 219 帧起始标签。该帧的图像索引、延迟、坐标、裁剪、翻转或颜色等参数由其后的帧字段给出,直到下一个 FRAME 标签开始;帧编号和缺号必须按源文件原样保留,不能自动重排。", "type": "text" }, "group": "ani" }, { "id": "ani.section.frame220.5trk0e", "match": { "extensions": [ ".ani" ] }, "target": { "kind": "section", "section": "frame220" }, "annotation": { "title": "第 220 帧定义", "content": "ANI 动画的第 220 帧起始标签。该帧的图像索引、延迟、坐标、裁剪、翻转或颜色等参数由其后的帧字段给出,直到下一个 FRAME 标签开始;帧编号和缺号必须按源文件原样保留,不能自动重排。", "type": "text" }, "group": "ani" }, { "id": "ani.section.frame221.63r5pd", "match": { "extensions": [ ".ani" ] }, "target": { "kind": "section", "section": "frame221" }, "annotation": { "title": "第 221 帧定义", "content": "ANI 动画的第 221 帧起始标签。该帧的图像索引、延迟、坐标、裁剪、翻转或颜色等参数由其后的帧字段给出,直到下一个 FRAME 标签开始;帧编号和缺号必须按源文件原样保留,不能自动重排。", "type": "text" }, "group": "ani" }, { "id": "ani.section.frame222.59scmg", "match": { "extensions": [ ".ani" ] }, "target": { "kind": "section", "section": "frame222" }, "annotation": { "title": "第 222 帧定义", "content": "ANI 动画的第 222 帧起始标签。该帧的图像索引、延迟、坐标、裁剪、翻转或颜色等参数由其后的帧字段给出,直到下一个 FRAME 标签开始;帧编号和缺号必须按源文件原样保留,不能自动重排。", "type": "text" }, "group": "ani" }, { "id": "ani.section.frame223.5jrybf", "match": { "extensions": [ ".ani" ] }, "target": { "kind": "section", "section": "frame223" }, "annotation": { "title": "第 223 帧定义", "content": "ANI 动画的第 223 帧起始标签。该帧的图像索引、延迟、坐标、裁剪、翻转或颜色等参数由其后的帧字段给出,直到下一个 FRAME 标签开始;帧编号和缺号必须按源文件原样保留,不能自动重排。", "type": "text" }, "group": "ani" }, { "id": "ani.section.frame224.6xpysa", "match": { "extensions": [ ".ani" ] }, "target": { "kind": "section", "section": "frame224" }, "annotation": { "title": "第 224 帧定义", "content": "ANI 动画的第 224 帧起始标签。该帧的图像索引、延迟、坐标、裁剪、翻转或颜色等参数由其后的帧字段给出,直到下一个 FRAME 标签开始;帧编号和缺号必须按源文件原样保留,不能自动重排。", "type": "text" }, "group": "ani" }, { "id": "ani.section.frame225.77pkh9", "match": { "extensions": [ ".ani" ] }, "target": { "kind": "section", "section": "frame225" }, "annotation": { "title": "第 225 帧定义", "content": "ANI 动画的第 225 帧起始标签。该帧的图像索引、延迟、坐标、裁剪、翻转或颜色等参数由其后的帧字段给出,直到下一个 FRAME 标签开始;帧编号和缺号必须按源文件原样保留,不能自动重排。", "type": "text" }, "group": "ani" }, { "id": "ani.section.frame226.6dqrec", "match": { "extensions": [ ".ani" ] }, "target": { "kind": "section", "section": "frame226" }, "annotation": { "title": "第 226 帧定义", "content": "ANI 动画的第 226 帧起始标签。该帧的图像索引、延迟、坐标、裁剪、翻转或颜色等参数由其后的帧字段给出,直到下一个 FRAME 标签开始;帧编号和缺号必须按源文件原样保留,不能自动重排。", "type": "text" }, "group": "ani" }, { "id": "ani.section.frame227.6nqd3b", "match": { "extensions": [ ".ani" ] }, "target": { "kind": "section", "section": "frame227" }, "annotation": { "title": "第 227 帧定义", "content": "ANI 动画的第 227 帧起始标签。该帧的图像索引、延迟、坐标、裁剪、翻转或颜色等参数由其后的帧字段给出,直到下一个 FRAME 标签开始;帧编号和缺号必须按源文件原样保留,不能自动重排。", "type": "text" }, "group": "ani" }, { "id": "ani.section.frame228.3luqgm", "match": { "extensions": [ ".ani" ] }, "target": { "kind": "section", "section": "frame228" }, "annotation": { "title": "第 228 帧定义", "content": "ANI 动画的第 228 帧起始标签。该帧的图像索引、延迟、坐标、裁剪、翻转或颜色等参数由其后的帧字段给出,直到下一个 FRAME 标签开始;帧编号和缺号必须按源文件原样保留,不能自动重排。", "type": "text" }, "group": "ani" }, { "id": "ani.section.frame229.3vuc5l", "match": { "extensions": [ ".ani" ] }, "target": { "kind": "section", "section": "frame229" }, "annotation": { "title": "第 229 帧定义", "content": "ANI 动画的第 229 帧起始标签。该帧的图像索引、延迟、坐标、裁剪、翻转或颜色等参数由其后的帧字段给出,直到下一个 FRAME 标签开始;帧编号和缺号必须按源文件原样保留,不能自动重排。", "type": "text" }, "group": "ani" }, { "id": "ani.section.frame230.7hsbo7", "match": { "extensions": [ ".ani" ] }, "target": { "kind": "section", "section": "frame230" }, "annotation": { "title": "第 230 帧定义", "content": "ANI 动画的第 230 帧起始标签。该帧的图像索引、延迟、坐标、裁剪、翻转或颜色等参数由其后的帧字段给出,直到下一个 FRAME 标签开始;帧编号和缺号必须按源文件原样保留,不能自动重排。", "type": "text" }, "group": "ani" }, { "id": "ani.section.frame231.77spz8", "match": { "extensions": [ ".ani" ] }, "target": { "kind": "section", "section": "frame231" }, "annotation": { "title": "第 231 帧定义", "content": "ANI 动画的第 231 帧起始标签。该帧的图像索引、延迟、坐标、裁剪、翻转或颜色等参数由其后的帧字段给出,直到下一个 FRAME 标签开始;帧编号和缺号必须按源文件原样保留,不能自动重排。", "type": "text" }, "group": "ani" }, { "id": "ani.section.frame232.81rj25", "match": { "extensions": [ ".ani" ] }, "target": { "kind": "section", "section": "frame232" }, "annotation": { "title": "第 232 帧定义", "content": "ANI 动画的第 232 帧起始标签。该帧的图像索引、延迟、坐标、裁剪、翻转或颜色等参数由其后的帧字段给出,直到下一个 FRAME 标签开始;帧编号和缺号必须按源文件原样保留,不能自动重排。", "type": "text" }, "group": "ani" }, { "id": "ani.section.frame233.7rrxd6", "match": { "extensions": [ ".ani" ] }, "target": { "kind": "section", "section": "frame233" }, "annotation": { "title": "第 233 帧定义", "content": "ANI 动画的第 233 帧起始标签。该帧的图像索引、延迟、坐标、裁剪、翻转或颜色等参数由其后的帧字段给出,直到下一个 FRAME 标签开始;帧编号和缺号必须按源文件原样保留,不能自动重排。", "type": "text" }, "group": "ani" }, { "id": "ani.section.frame234.6dtwwb", "match": { "extensions": [ ".ani" ] }, "target": { "kind": "section", "section": "frame234" }, "annotation": { "title": "第 234 帧定义", "content": "ANI 动画的第 234 帧起始标签。该帧的图像索引、延迟、坐标、裁剪、翻转或颜色等参数由其后的帧字段给出,直到下一个 FRAME 标签开始;帧编号和缺号必须按源文件原样保留,不能自动重排。", "type": "text" }, "group": "ani" }, { "id": "ani.section.frame235.63ub7c", "match": { "extensions": [ ".ani" ] }, "target": { "kind": "section", "section": "frame235" }, "annotation": { "title": "第 235 帧定义", "content": "ANI 动画的第 235 帧起始标签。该帧的图像索引、延迟、坐标、裁剪、翻转或颜色等参数由其后的帧字段给出,直到下一个 FRAME 标签开始;帧编号和缺号必须按源文件原样保留,不能自动重排。", "type": "text" }, "group": "ani" }, { "id": "ani.section.frame236.6xt4a9", "match": { "extensions": [ ".ani" ] }, "target": { "kind": "section", "section": "frame236" }, "annotation": { "title": "第 236 帧定义", "content": "ANI 动画的第 236 帧起始标签。该帧的图像索引、延迟、坐标、裁剪、翻转或颜色等参数由其后的帧字段给出,直到下一个 FRAME 标签开始;帧编号和缺号必须按源文件原样保留,不能自动重排。", "type": "text" }, "group": "ani" }, { "id": "ani.section.frame237.6ntila", "match": { "extensions": [ ".ani" ] }, "target": { "kind": "section", "section": "frame237" }, "annotation": { "title": "第 237 帧定义", "content": "ANI 动画的第 237 帧起始标签。该帧的图像索引、延迟、坐标、裁剪、翻转或颜色等参数由其后的帧字段给出,直到下一个 FRAME 标签开始;帧编号和缺号必须按源文件原样保留,不能自动重排。", "type": "text" }, "group": "ani" }, { "id": "ani.section.frame238.59vi4f", "match": { "extensions": [ ".ani" ] }, "target": { "kind": "section", "section": "frame238" }, "annotation": { "title": "第 238 帧定义", "content": "ANI 动画的第 238 帧起始标签。该帧的图像索引、延迟、坐标、裁剪、翻转或颜色等参数由其后的帧字段给出,直到下一个 FRAME 标签开始;帧编号和缺号必须按源文件原样保留,不能自动重排。", "type": "text" }, "group": "ani" }, { "id": "ani.section.frame239.4zvwfg", "match": { "extensions": [ ".ani" ] }, "target": { "kind": "section", "section": "frame239" }, "annotation": { "title": "第 239 帧定义", "content": "ANI 动画的第 239 帧起始标签。该帧的图像索引、延迟、坐标、裁剪、翻转或颜色等参数由其后的帧字段给出,直到下一个 FRAME 标签开始;帧编号和缺号必须按源文件原样保留,不能自动重排。", "type": "text" }, "group": "ani" }, { "id": "ani.section.frame240.4p80mw", "match": { "extensions": [ ".ani" ] }, "target": { "kind": "section", "section": "frame240" }, "annotation": { "title": "第 240 帧定义", "content": "ANI 动画的第 240 帧起始标签。该帧的图像索引、延迟、坐标、裁剪、翻转或颜色等参数由其后的帧字段给出,直到下一个 FRAME 标签开始;帧编号和缺号必须按源文件原样保留,不能自动重排。", "type": "text" }, "group": "ani" }, { "id": "ani.section.frame241.4z7mbv", "match": { "extensions": [ ".ani" ] }, "target": { "kind": "section", "section": "frame241" }, "annotation": { "title": "第 241 帧定义", "content": "ANI 动画的第 241 帧起始标签。该帧的图像索引、延迟、坐标、裁剪、翻转或颜色等参数由其后的帧字段给出,直到下一个 FRAME 标签开始;帧编号和缺号必须按源文件原样保留,不能自动重排。", "type": "text" }, "group": "ani" }, { "id": "ani.section.frame242.59780u", "match": { "extensions": [ ".ani" ] }, "target": { "kind": "section", "section": "frame242" }, "annotation": { "title": "第 242 帧定义", "content": "ANI 动画的第 242 帧起始标签。该帧的图像索引、延迟、坐标、裁剪、翻转或颜色等参数由其后的帧字段给出,直到下一个 FRAME 标签开始;帧编号和缺号必须按源文件原样保留,不能自动重排。", "type": "text" }, "group": "ani" }, { "id": "ani.section.frame243.5j6tpt", "match": { "extensions": [ ".ani" ] }, "target": { "kind": "section", "section": "frame243" }, "annotation": { "title": "第 243 帧定义", "content": "ANI 动画的第 243 帧起始标签。该帧的图像索引、延迟、坐标、裁剪、翻转或颜色等参数由其后的帧字段给出,直到下一个 FRAME 标签开始;帧编号和缺号必须按源文件原样保留,不能自动重排。", "type": "text" }, "group": "ani" }, { "id": "ani.section.frame244.5t6fes", "match": { "extensions": [ ".ani" ] }, "target": { "kind": "section", "section": "frame244" }, "annotation": { "title": "第 244 帧定义", "content": "ANI 动画的第 244 帧起始标签。该帧的图像索引、延迟、坐标、裁剪、翻转或颜色等参数由其后的帧字段给出,直到下一个 FRAME 标签开始;帧编号和缺号必须按源文件原样保留,不能自动重排。", "type": "text" }, "group": "ani" }, { "id": "ani.section.frame245.63613r", "match": { "extensions": [ ".ani" ] }, "target": { "kind": "section", "section": "frame245" }, "annotation": { "title": "第 245 帧定义", "content": "ANI 动画的第 245 帧起始标签。该帧的图像索引、延迟、坐标、裁剪、翻转或颜色等参数由其后的帧字段给出,直到下一个 FRAME 标签开始;帧编号和缺号必须按源文件原样保留,不能自动重排。", "type": "text" }, "group": "ani" }, { "id": "ani.section.frame246.6d5msq", "match": { "extensions": [ ".ani" ] }, "target": { "kind": "section", "section": "frame246" }, "annotation": { "title": "第 246 帧定义", "content": "ANI 动画的第 246 帧起始标签。该帧的图像索引、延迟、坐标、裁剪、翻转或颜色等参数由其后的帧字段给出,直到下一个 FRAME 标签开始;帧编号和缺号必须按源文件原样保留,不能自动重排。", "type": "text" }, "group": "ani" }, { "id": "ani.section.frame247.6n58hp", "match": { "extensions": [ ".ani" ] }, "target": { "kind": "section", "section": "frame247" }, "annotation": { "title": "第 247 帧定义", "content": "ANI 动画的第 247 帧起始标签。该帧的图像索引、延迟、坐标、裁剪、翻转或颜色等参数由其后的帧字段给出,直到下一个 FRAME 标签开始;帧编号和缺号必须按源文件原样保留,不能自动重排。", "type": "text" }, "group": "ani" }, { "id": "ani.section.frame248.2hb734", "match": { "extensions": [ ".ani" ] }, "target": { "kind": "section", "section": "frame248" }, "annotation": { "title": "第 248 帧定义", "content": "ANI 动画的第 248 帧起始标签。该帧的图像索引、延迟、坐标、裁剪、翻转或颜色等参数由其后的帧字段给出,直到下一个 FRAME 标签开始;帧编号和缺号必须按源文件原样保留,不能自动重排。", "type": "text" }, "group": "ani" }, { "id": "ani.section.frame249.2rass3", "match": { "extensions": [ ".ani" ] }, "target": { "kind": "section", "section": "frame249" }, "annotation": { "title": "第 249 帧定义", "content": "ANI 动画的第 249 帧起始标签。该帧的图像索引、延迟、坐标、裁剪、翻转或颜色等参数由其后的帧字段给出,直到下一个 FRAME 标签开始;帧编号和缺号必须按源文件原样保留,不能自动重排。", "type": "text" }, "group": "ani" }, { "id": "ani.section.frame250.6d8sap", "match": { "extensions": [ ".ani" ] }, "target": { "kind": "section", "section": "frame250" }, "annotation": { "title": "第 250 帧定义", "content": "ANI 动画的第 250 帧起始标签。该帧的图像索引、延迟、坐标、裁剪、翻转或颜色等参数由其后的帧字段给出,直到下一个 FRAME 标签开始;帧编号和缺号必须按源文件原样保留,不能自动重排。", "type": "text" }, "group": "ani" }, { "id": "ani.section.frame251.6396lq", "match": { "extensions": [ ".ani" ] }, "target": { "kind": "section", "section": "frame251" }, "annotation": { "title": "第 251 帧定义", "content": "ANI 动画的第 251 帧起始标签。该帧的图像索引、延迟、坐标、裁剪、翻转或颜色等参数由其后的帧字段给出,直到下一个 FRAME 标签开始;帧编号和缺号必须按源文件原样保留,不能自动重排。", "type": "text" }, "group": "ani" }, { "id": "ani.section.frame252.5t9kwr", "match": { "extensions": [ ".ani" ] }, "target": { "kind": "section", "section": "frame252" }, "annotation": { "title": "第 252 帧定义", "content": "ANI 动画的第 252 帧起始标签。该帧的图像索引、延迟、坐标、裁剪、翻转或颜色等参数由其后的帧字段给出,直到下一个 FRAME 标签开始;帧编号和缺号必须按源文件原样保留,不能自动重排。", "type": "text" }, "group": "ani" }, { "id": "ani.section.frame253.5j9z7s", "match": { "extensions": [ ".ani" ] }, "target": { "kind": "section", "section": "frame253" }, "annotation": { "title": "第 253 帧定义", "content": "ANI 动画的第 253 帧起始标签。该帧的图像索引、延迟、坐标、裁剪、翻转或颜色等参数由其后的帧字段给出,直到下一个 FRAME 标签开始;帧编号和缺号必须按源文件原样保留,不能自动重排。", "type": "text" }, "group": "ani" }, { "id": "ani.section.frame254.7h772l", "match": { "extensions": [ ".ani" ] }, "target": { "kind": "section", "section": "frame254" }, "annotation": { "title": "第 254 帧定义", "content": "ANI 动画的第 254 帧起始标签。该帧的图像索引、延迟、坐标、裁剪、翻转或颜色等参数由其后的帧字段给出,直到下一个 FRAME 标签开始;帧编号和缺号必须按源文件原样保留,不能自动重排。", "type": "text" }, "group": "ani" }, { "id": "ani.section.frame255.777ldm", "match": { "extensions": [ ".ani" ] }, "target": { "kind": "section", "section": "frame255" }, "annotation": { "title": "第 255 帧定义", "content": "ANI 动画的第 255 帧起始标签。该帧的图像索引、延迟、坐标、裁剪、翻转或颜色等参数由其后的帧字段给出,直到下一个 FRAME 标签开始;帧编号和缺号必须按源文件原样保留,不能自动重排。", "type": "text" }, "group": "ani" }, { "id": "ani.section.frame256.6x7zon", "match": { "extensions": [ ".ani" ] }, "target": { "kind": "section", "section": "frame256" }, "annotation": { "title": "第 256 帧定义", "content": "ANI 动画的第 256 帧起始标签。该帧的图像索引、延迟、坐标、裁剪、翻转或颜色等参数由其后的帧字段给出,直到下一个 FRAME 标签开始;帧编号和缺号必须按源文件原样保留,不能自动重排。", "type": "text" }, "group": "ani" }, { "id": "ani.section.frame257.6n8dzo", "match": { "extensions": [ ".ani" ] }, "target": { "kind": "section", "section": "frame257" }, "annotation": { "title": "第 257 帧定义", "content": "ANI 动画的第 257 帧起始标签。该帧的图像索引、延迟、坐标、裁剪、翻转或颜色等参数由其后的帧字段给出,直到下一个 FRAME 标签开始;帧编号和缺号必须按源文件原样保留,不能自动重排。", "type": "text" }, "group": "ani" }, { "id": "ani.section.frame258.45byqx", "match": { "extensions": [ ".ani" ] }, "target": { "kind": "section", "section": "frame258" }, "annotation": { "title": "第 258 帧定义", "content": "ANI 动画的第 258 帧起始标签。该帧的图像索引、延迟、坐标、裁剪、翻转或颜色等参数由其后的帧字段给出,直到下一个 FRAME 标签开始;帧编号和缺号必须按源文件原样保留,不能自动重排。", "type": "text" }, "group": "ani" }, { "id": "ani.section.frame259.3vcd1y", "match": { "extensions": [ ".ani" ] }, "target": { "kind": "section", "section": "frame259" }, "annotation": { "title": "第 259 帧定义", "content": "ANI 动画的第 259 帧起始标签。该帧的图像索引、延迟、坐标、裁剪、翻转或颜色等参数由其后的帧字段给出,直到下一个 FRAME 标签开始;帧编号和缺号必须按源文件原样保留,不能自动重排。", "type": "text" }, "group": "ani" }, { "id": "ani.section.frame260.819jyi", "match": { "extensions": [ ".ani" ] }, "target": { "kind": "section", "section": "frame260" }, "annotation": { "title": "第 260 帧定义", "content": "ANI 动画的第 260 帧起始标签。该帧的图像索引、延迟、坐标、裁剪、翻转或颜色等参数由其后的帧字段给出,直到下一个 FRAME 标签开始;帧编号和缺号必须按源文件原样保留,不能自动重排。", "type": "text" }, "group": "ani" }, { "id": "ani.section.frame261.8b95nh", "match": { "extensions": [ ".ani" ] }, "target": { "kind": "section", "section": "frame261" }, "annotation": { "title": "第 261 帧定义", "content": "ANI 动画的第 261 帧起始标签。该帧的图像索引、延迟、坐标、裁剪、翻转或颜色等参数由其后的帧字段给出,直到下一个 FRAME 标签开始;帧编号和缺号必须按源文件原样保留,不能自动重排。", "type": "text" }, "group": "ani" }, { "id": "ani.section.frame262.7hackk", "match": { "extensions": [ ".ani" ] }, "target": { "kind": "section", "section": "frame262" }, "annotation": { "title": "第 262 帧定义", "content": "ANI 动画的第 262 帧起始标签。该帧的图像索引、延迟、坐标、裁剪、翻转或颜色等参数由其后的帧字段给出,直到下一个 FRAME 标签开始;帧编号和缺号必须按源文件原样保留,不能自动重排。", "type": "text" }, "group": "ani" }, { "id": "ani.section.frame263.7r9y9j", "match": { "extensions": [ ".ani" ] }, "target": { "kind": "section", "section": "frame263" }, "annotation": { "title": "第 263 帧定义", "content": "ANI 动画的第 263 帧起始标签。该帧的图像索引、延迟、坐标、裁剪、翻转或颜色等参数由其后的帧字段给出,直到下一个 FRAME 标签开始;帧编号和缺号必须按源文件原样保留,不能自动重排。", "type": "text" }, "group": "ani" }, { "id": "ani.section.frame264.6xb56m", "match": { "extensions": [ ".ani" ] }, "target": { "kind": "section", "section": "frame264" }, "annotation": { "title": "第 264 帧定义", "content": "ANI 动画的第 264 帧起始标签。该帧的图像索引、延迟、坐标、裁剪、翻转或颜色等参数由其后的帧字段给出,直到下一个 FRAME 标签开始;帧编号和缺号必须按源文件原样保留,不能自动重排。", "type": "text" }, "group": "ani" }, { "id": "ani.section.frame265.77aqvl", "match": { "extensions": [ ".ani" ] }, "target": { "kind": "section", "section": "frame265" }, "annotation": { "title": "第 265 帧定义", "content": "ANI 动画的第 265 帧起始标签。该帧的图像索引、延迟、坐标、裁剪、翻转或颜色等参数由其后的帧字段给出,直到下一个 FRAME 标签开始;帧编号和缺号必须按源文件原样保留,不能自动重排。", "type": "text" }, "group": "ani" }, { "id": "ani.section.frame266.6dbxso", "match": { "extensions": [ ".ani" ] }, "target": { "kind": "section", "section": "frame266" }, "annotation": { "title": "第 266 帧定义", "content": "ANI 动画的第 266 帧起始标签。该帧的图像索引、延迟、坐标、裁剪、翻转或颜色等参数由其后的帧字段给出,直到下一个 FRAME 标签开始;帧编号和缺号必须按源文件原样保留,不能自动重排。", "type": "text" }, "group": "ani" }, { "id": "ani.section.use-animation.52uq56", "match": { "extensions": [ ".ani" ] }, "target": { "kind": "section", "section": "use animation" }, "annotation": { "title": "将ani文件作为", "content": "use as,将第一行的.ani文件作为第二行的名称使用,可以是数字\n\n将ani文件作为", "type": "text" }, "group": "ani" }, { "id": "apd.section.set-except-reason.1ajv14", "match": { "extensions": [ ".apd" ] }, "target": { "kind": "section", "section": "set except reason" }, "annotation": { "title": "既外原因", "type": "text" }, "group": "apd" }, { "id": "atk.section.arad-royal-rumble.16bjr7", "match": { "extensions": [ ".atk" ] }, "target": { "kind": "section", "section": "arad royal rumble" }, "annotation": { "title": "阿拉德皇家隆隆声", "type": "text" }, "group": "atk" }, { "id": "atk.section.armor-break.12zcge", "match": { "extensions": [ ".atk" ] }, "target": { "kind": "section", "section": "armor break" }, "annotation": { "title": "异常效果", "content": "异常效果:防具损坏\n\n//减少防具的耐久度\n\n#### 官方示例: attackinfosample.atk\n\n```pvf\n[active status] [armor break] 100 20 10000 15 // 概率, 等级, 持续时间, 耐久度消耗检查次数\n```\n\n异常效果\n\n官方示例:\n#### 官方示例: attackinfosample.atk\n\n#### 官方示例: actionsample.act\n\n```pvf\n**[ACTIVE STATUS]** [armor break] 100 20 10000 15 // 概率, 等级, 持续时间, 耐久度消耗检查次数\n```\n\n#### 官方示例: actionsamplebytool.act\n\n```pvf\n{must1}{exp}护甲破坏{/exp}[armor break]\t//ACTIVESTATUS_ARMOR_BREAK\n\t\t//mkjung 120704 [ALL] 添加。\n\t\t//参考TuningProc.h确认。\n\t\t//RDARScriptAction.cpp 审核。\n```", "type": "text" }, "group": "atk" }, { "id": "atk.section.back.pg02oy", "match": { "extensions": [ ".atk" ] }, "target": { "kind": "section", "section": "back" }, "annotation": { "title": "判定方向", "content": "判定方向:身后\n\n判定方向", "type": "text" }, "group": "atk" }, { "id": "atk.section.blind.4jmh84", "match": { "extensions": [ ".atk" ] }, "target": { "kind": "section", "section": "blind" }, "annotation": { "title": "概率", "content": "#### 官方示例: attackinfosample.atk\n\n```pvf\n[active status] [blind] 100 20 3000 10 100 // 概率, 等级, 持续时间, 视野(%), 硬直率增加(+)\n```\n\n概率\n\n官方示例:\n#### 官方示例: attackinfosample.atk\n\n异常效果:失明\n\n#### 官方示例: actionsample.act\n\n```pvf\n//状态异常\n **[ACTIVE STATUS]** [blind] 100 20 3000 10 100 // 概率, 等级, 持续时间, 视野(%), 硬直率增加(+)\n```\n\n#### 官方示例: actionsamplebytool.act\n\n```pvf\n{must1}{exp}失明{/exp}[blind]\t\t//ACTIVESTATUS_BLIND\n```", "type": "text" }, "group": "atk" }, { "id": "atk.section.confuse.w63ybi", "match": { "extensions": [ ".atk" ] }, "target": { "kind": "section", "section": "confuse" }, "annotation": { "title": "概率", "content": "#### 官方示例: attackinfosample.atk\n\n```pvf\n[active status] [confuse] 100 20 3000 1 // 概率, 等级, 持续时间, 为1时怪物陷入混乱,会攻击同伴。\n```\n\n概率\n\n官方示例:\n#### 官方示例: attackinfosample.atk\n\n异常效果:混乱\n\n#### 官方示例: actionsample.act\n\n```pvf\n**[ACTIVE STATUS]** [confuse] 100 20 3000 1 // 概率, 等级, 持续时间, 1 表示怪物混乱时攻击同伴。\n```\n\n#### 官方示例: actionsamplebytool.act\n\n```pvf\n{must1}{exp}混乱{/exp}[confuse]\t\t//ACTIVESTATUS_CONFUSE\n```", "type": "text" }, "group": "atk" }, { "id": "atk.section.curse.136x0c", "match": { "extensions": [ ".atk" ] }, "target": { "kind": "section", "section": "curse" }, "annotation": { "title": "异常效果", "content": "异常效果:诅咒\n\n#### 官方示例: attackinfosample.atk\n\n```pvf\n[active status] [curse] 37 100 // 最前面是攻击附带的异常状态种类。\n // 从下面中选择一个\n // 第二个是触发概率(写了 `[none] 则随意填写)\n // 第三个是触发强度(写了 `[none] 则随意填写)\n```\n\n```pvf\n[active status] [curse] 100 10 5000 20 20 20 20 // 概率, 等级, 持续时间, 力量,体力,智力,精神\n```\n\n```pvf\n///// 攻击信息 (.atk) /////\n[active status] [curse] 100 10 5000 20 20 20 20\n- 使用方法与 equ 相同,但 `.atk` 文件中不包含 target 信息。\n```\n\n异常效果\n\n官方示例:\n#### 官方示例: attackinfosample.atk\n\n#### 官方示例: actionsample.act\n\n```pvf\n**[ACTIVE STATUS]** [curse] 100 10 5000 20 20 20 20 // 概率, 等级, 持续时间, 力量,体力,智力,精神\n```\n\n#### 官方示例: actionsamplebytool.act\n\n```pvf\n{must1}{exp}诅咒{/exp}[curse]\t\t//ACTIVESTATUS_CURSE\n```", "type": "text" }, "group": "atk" }, { "id": "atk.section.fort-damage-rate.5p848l", "match": { "extensions": [ ".atk" ] }, "target": { "kind": "section", "section": "fort damage rate" }, "annotation": { "title": "对建筑(对建筑物)攻击比率", "content": "#### 官方示例: attackinfosample.atk\n\n```pvf\n[fort damage rate] 100.0 // 对建筑(对建筑物)攻击比率。可为小数,%值,默认 100\n```\n\n对建筑(对建筑物)攻击比率\n\n官方示例:\n#### 官方示例: attackinfosample.atk\n\n#### 官方示例: equipmentsample.equ\n\n```pvf\n[fort damage rate] -31.2\t\t\t// 对建筑伤害比率变化值。%值\n```\n\n#### 官方示例: stackablesample-monster_card.stk", "type": "text" }, "group": "atk" }, { "id": "atk.section.human-active-status-rate.g22tn0", "match": { "extensions": [ ".atk" ] }, "target": { "kind": "section", "section": "human active status rate" }, "annotation": { "title": "对人形护甲施加 70", "content": "#### 官方示例: attackinfosample.atk\n\n```pvf\n/// 为决斗场状态修正而添加的内容。\n[human active status rate] 70.0 // 对人形护甲施加 70.0% 的较弱状态变化效果。数值的 1/10\n```\n\n#### 官方示例: attackinfosamplebytool.atk\n\n```pvf\n/// 为决斗场状态修正而添加的内容。\n{exp}对人形护甲施加 X% 的较弱状态变化效果(数值的 1/10){/exp}[human active status rate]\n {must2}{exp}概率{/exp}{float(:)}\n```\n\n对人形护甲施加 70", "type": "text" }, "group": "atk" }, { "id": "atk.section.ignore-diehard.10v3kd", "match": { "extensions": [ ".atk" ] }, "target": { "kind": "section", "section": "ignore diehard" }, "annotation": { "title": "是否无视不死被动", "content": "#### 官方示例: attackinfosample.atk\n\n```pvf\n[ignore diehard] 1 //是否无视不死被动。默认值 0\n```\n\n是否无视不死被动", "type": "text" }, "group": "atk" }, { "id": "atk.section.is-hit-number-increasing.ykz9r0", "match": { "extensions": [ ".atk" ] }, "target": { "kind": "section", "section": "is hit number increasing" }, "annotation": { "title": "1 则受击数增加", "content": "#### 官方示例: attackinfosample.atk\n\n```pvf\n[is hit number increasing] 0 //1 则受击数增加,0 则不增加。\n```\n\n1 则受击数增加", "type": "text" }, "group": "atk" }, { "id": "atk.section.nene.r5dn9l", "match": { "extensions": [ ".atk" ] }, "target": { "kind": "section", "section": "nene" }, "annotation": { "title": "乙烯", "type": "text" }, "group": "atk" }, { "id": "atk.section.no-elemental.1uv8sq", "match": { "extensions": [ ".atk" ] }, "target": { "kind": "section", "section": "no elemental" }, "annotation": { "title": "mkjung 120531 添加", "content": "#### 官方示例: attackinfosamplebytool.atk\n\n```pvf\n//mkjung 120531 添加\n {opt1}[no elemental]\n```\n\nmkjung 120531 添加", "type": "text" }, "group": "atk" }, { "id": "atk.section.poison.1lejes", "match": { "extensions": [ ".atk" ] }, "target": { "kind": "section", "section": "poison" }, "annotation": { "title": "概率", "content": "#### 官方示例: attackinfosample.atk\n\n```pvf\n[active status] [poison] 100 10 20000 1000 // 概率, 等级, 持续时间, 伤害\n```\n\n概率\n\n官方示例:\n#### 官方示例: attackinfosample.atk\n\n异常效果:中毒\n\n#### 官方示例: actionsample.act\n\n```pvf\n**[ACTIVE STATUS]** [poison] 100 10 20000 1000 // 概率, 等级, 持续时间, 伤害\n```\n\n#### 官方示例: actionsamplebytool.act\n\n```pvf\n{must1}{exp}中毒{/exp}[poison]\t\t//ACTIVESTATUS_POISON\n```", "type": "text" }, "group": "atk" }, { "id": "atk.section.set-hp-percent-damage.1acnqe", "match": { "extensions": [ ".atk" ] }, "target": { "kind": "section", "section": "set hp percent damage" }, "annotation": { "title": "设置HP损坏百分比", "type": "text" }, "group": "atk" }, { "id": "atk.section.slash.1kg8e0", "match": { "extensions": [ ".atk" ] }, "target": { "kind": "section", "section": "slash" }, "annotation": { "title": "mkjung 120531 添加", "content": "#### 官方示例: attackinfosamplebytool.atk\n\n```pvf\n//mkjung 120531 添加\n {must1}{exp}{/exp}[slash]\n```\n\nmkjung 120531 添加", "type": "text" }, "group": "atk" }, { "id": "atk.section.sleep.129m39", "match": { "extensions": [ ".atk" ] }, "target": { "kind": "section", "section": "sleep" }, "annotation": { "title": "概率", "content": "#### 官方示例: attackinfosample.atk\n\n```pvf\n[active status] [sleep] 100 20 3000 // 概率, 等级, 持续时间\n```\n\n概率\n\n官方示例:\n#### 官方示例: attackinfosample.atk\n\n异常效果:睡眠\n\n#### 官方示例: actionsample.act\n\n```pvf\n**[ACTIVE STATUS]** [sleep] 100 20 3000 // 概率, 等级, 持续时间\n```\n\n#### 官方示例: actionsamplebytool.act\n\n```pvf\n{must1}{exp}睡眠{/exp}[sleep]\t\t//ACTIVESTATUS_SLEEP\n```", "type": "text" }, "group": "atk" }, { "id": "atk.section.slow.ueleig", "match": { "extensions": [ ".atk" ] }, "target": { "kind": "section", "section": "slow" }, "annotation": { "title": "异常效果", "content": "异常效果:减速\n\n#### 官方示例: attackinfosample.atk\n\n```pvf\n[active status] [slow] 100 20 10000 50 50 // 概率, 等级, 持续时间, 移速(%), 攻速(%)\n```\n\n异常效果\n\n官方示例:\n#### 官方示例: attackinfosample.atk\n\n#### 官方示例: actionsample.act\n\n```pvf\n**[ACTIVE STATUS]** [slow] 100 20 10000 50 50 // 概率, 等级, 持续时间, 移动速度(%), 攻击速度(%)\n```\n\n#### 官方示例: actionsamplebytool.act\n\n```pvf\n//mkjung 120704\n\t\t//参考DNF Client Source结构变更。\n\t\t//ACTIVESTATUS_SLOW\n\t\t{must1}{exp}缓慢{/exp}[slow]\n\t\t\t{must1}{exp}概率{/exp}{int(0:)}\n\t\t\t{must2}{exp}等级{/exp}{int(0:)}\n\t\t\t{must3}{exp}持续时间{/exp}{int(0:)}\n\t\t\t{must4}{exp}移动速度(%){/exp}{int(0:)}\n\t\t\t{must5}{exp}攻击速度(%){/exp}{int(0:)}\n```\n\n```pvf\n//mkjung 120521\n\t\t//ActionScript脚本格式统一更改--\u003e('[x]' =\u003e [x])\n\t\t//{must1}{exp}ACTIVE STATUS ID{/exp}{string}-\u003e [tag]\n\t\t//mkjung 120704\n\t\t//参考DNF Client Source\n\t\t{must1}{exp}缓慢{/exp}[slow]\t\t//ACTIVESTATUS_SLOW\n```", "type": "text" }, "group": "atk" }, { "id": "atk.section.stone.1jiqeb", "match": { "extensions": [ ".atk" ] }, "target": { "kind": "section", "section": "stone" }, "annotation": { "title": "概率", "content": "#### 官方示例: attackinfosample.atk\n\n```pvf\n[active status] [stone] 100 20 3000 50 // 概率, 等级, 持续时间, 伤害值(+)\n```\n\n概率\n\n官方示例:\n#### 官方示例: attackinfosample.atk\n\n异常效果:石化\n\n#### 官方示例: actionsample.act\n\n```pvf\n**[ACTIVE STATUS]** [stone] 100 20 3000 50 // 概率, 等级, 持续时间, 伤害值(+)\n```\n\n#### 官方示例: actionsamplebytool.act\n\n```pvf\n{must1}{exp}石化{/exp}[stone]\t\t//ACTIVESTATUS_STONE\n```", "type": "text" }, "group": "atk" }, { "id": "atk.section.stuck-prob-increase.1gtbuo", "match": { "extensions": [ ".atk" ] }, "target": { "kind": "section", "section": "stuck prob increase" }, "annotation": { "title": "每次攻击命中时硬直率是否增加", "content": "#### 官方示例: attackinfosample.atk\n\n```pvf\n[stuck prob increase] 1 // 每次攻击命中时硬直率是否增加。默认值 0\n```\n\n每次攻击命中时硬直率是否增加", "type": "text" }, "group": "atk" }, { "id": "atk.section.weapon-break.6obvvq", "match": { "extensions": [ ".atk" ] }, "target": { "kind": "section", "section": "weapon break" }, "annotation": { "title": "异常效果", "content": "异常效果:武器损坏\n\n//减少武器的耐久度\n\n#### 官方示例: attackinfosample.atk\n\n```pvf\n[active status] [weapon break] 100 20 10000 15 // 概率, 等级, 持续时间, 耐久度消耗检查次数\n```\n\n异常效果\n\n官方示例:\n#### 官方示例: attackinfosample.atk\n\n#### 官方示例: actionsample.act\n\n```pvf\n**[ACTIVE STATUS]** [weapon break] 100 20 10000 15 // 概率, 等级, 持续时间, 耐久度消耗检查次数\n```\n\n#### 官方示例: actionsamplebytool.act\n\n```pvf\n{must1}{exp}武器破坏{/exp}[weapon break]\t//ACTIVESTATUS_WEAPON_BREAK\n```", "type": "text" }, "group": "atk" }, { "id": "blu.section.boss-dungeon-list.tzqfku", "match": { "extensions": [ ".blu" ] }, "target": { "kind": "section", "section": "boss dungeon list" }, "annotation": { "title": "Boss副本等级映射表", "content": "Boss 副本闭合列表,记录按“最低等级、最高等级、dungeon ID”重复。源文件结束标签拼写为 [/boos dungeon list],必须保留原文;副本 ID 需通过 dungeon registry 解析。\n\n定义为领主级别副本 1-99级可进入3047副本", "type": "text" }, "group": "blu" }, { "id": "blu.section.dice-value.tv75zf", "match": { "extensions": [ ".blu" ] }, "target": { "kind": "section", "section": "dice value" }, "annotation": { "title": "骰子点数范围", "content": "骰子最小值与最大值的双整数参数。随机分布、加成、重掷和服务端判定不由静态范围单独证明。\n\n骰子数1-6", "type": "text" }, "group": "blu" }, { "id": "blu.section.die-count.yuvj2a", "match": { "extensions": [ ".blu" ] }, "target": { "kind": "section", "section": "die count" }, "annotation": { "title": "允许死亡次数", "content": "玩法中的死亡次数限制参数。是否包含复活、队友死亡或单局累计需实机验证。\n\n代表着几颗血量 死亡?", "type": "text" }, "group": "blu" }, { "id": "blu.section.dungeon-difficulty-list.gu5lr2", "match": { "extensions": [ ".blu" ] }, "target": { "kind": "section", "section": "dungeon difficulty list" }, "annotation": { "title": "副本难度映射列表", "content": "按“dungeon ID、难度控制值”重复的闭合列表。dungeon ID 必须通过 dungeon/dungeon.lst 解析;难度数值到具体名称的映射和玩法是否覆盖默认 [dungeon difficulty] 需实机确认。\n\n额外副本难度比王者级低一级", "type": "text" }, "group": "blu" }, { "id": "blu.section.dungeon-difficulty.16i35i", "match": { "extensions": [ ".blu" ] }, "target": { "kind": "section", "section": "dungeon difficulty" }, "annotation": { "title": "默认副本难度参数", "content": "玩法进入副本时使用的默认难度控制值。数值到具体难度名称的映射需按同版本副本系统确认,不能跨版本硬套。\n\n固定副本难度王者级", "type": "text" }, "group": "blu" }, { "id": "blu.section.dungeon-list.1yg9eh", "match": { "extensions": [ ".blu" ] }, "target": { "kind": "section", "section": "dungeon list" }, "annotation": { "title": "普通副本等级映射表", "content": "普通副本闭合列表,记录按“最低等级、最高等级、dungeon ID”重复。dungeon ID 必须通过 dungeon/dungeon.lst 解析;静态映射不证明随机选择或进图成功。\n\n这里是普通副本进入1-99级可进入3001副本\n\n这里是普通副本进入1-99级可进入3001副本,以此类推。", "type": "text" }, "group": "blu" }, { "id": "blu.section.enter-count.13ac2n", "match": { "extensions": [ ".blu" ] }, "target": { "kind": "section", "section": "enter count" }, "annotation": { "title": "可进入次数", "content": "玩法进入次数参数。计数周期、账号/角色归属、重置时间和失败是否扣次需服务端与实机验证。\n\n每日进入次数", "type": "text" }, "group": "blu" }, { "id": "blu.section.enter-level.19a942", "match": { "extensions": [ ".blu" ] }, "target": { "kind": "section", "section": "enter level" }, "annotation": { "title": "最低进入等级", "content": "玩法入口的最低角色等级参数。它只提供静态门槛线索,实际可见性和服务端放行需验证。\n\n输入级别", "type": "text" }, "group": "blu" }, { "id": "blu.section.enter-max-level.31whrp", "match": { "extensions": [ ".blu" ] }, "target": { "kind": "section", "section": "enter max level" }, "annotation": { "title": "最高进入等级", "content": "玩法入口的最高角色等级参数。与 [enter level] 成组读取,静态配置不证明服务端最终采用。\n\n进入最高等级", "type": "text" }, "group": "blu" }, { "id": "blu.section.equipment-upgrade-max.1f95fk", "match": { "extensions": [ ".blu" ] }, "target": { "kind": "section", "section": "equipment upgrade max" }, "annotation": { "title": "装备强化上限", "content": "玩法内装备强化等级上限参数。它不等同普通装备系统的全局强化上限,实际强化、失败和结算需实机确认。\n\n装备最高强化+10", "type": "text" }, "group": "blu" }, { "id": "blu.section.gold-base.u51ej8", "match": { "extensions": [ ".blu" ] }, "target": { "kind": "section", "section": "gold base" }, "annotation": { "title": "金币基础倍率", "content": "玩法金币结算的基础小数参数线索。精确公式、单位和与 [gold multi] 的组合方式需实机验证。\n\n金币基础0.1比例", "type": "text" }, "group": "blu" }, { "id": "blu.section.gold-multi.sqntda", "match": { "extensions": [ ".blu" ] }, "target": { "kind": "section", "section": "gold multi" }, "annotation": { "title": "金币递增倍率", "content": "玩法金币结算的递增/倍乘小数参数线索。不能仅凭字段名推导最终金币公式,需与 [gold base] 和运行结果验证。\n\n金币增加0.3比例", "type": "text" }, "group": "blu" }, { "id": "blu.section.player-max.1i3qy3", "match": { "extensions": [ ".blu" ] }, "target": { "kind": "section", "section": "player max" }, "annotation": { "title": "最大玩家人数", "content": "蓝色大富翁玩法允许的最大玩家人数参数。静态数值不证明组队、匹配、掉线处理或服务端最终限制。\n\n要求进入人数", "type": "text" }, "group": "blu" }, { "id": "blu.section.reward-item.94vs6l", "match": { "extensions": [ ".blu" ] }, "target": { "kind": "section", "section": "reward item" }, "annotation": { "title": "名次奖励道具表", "content": "玩法奖励道具闭合表,数据按“stackable ID、数量”重复;ID 必须通过 stackable/stackable.lst 解析。源文件结束标签拼写为 [/reawrd item],必须保留原文;静态表不证明奖励发放成功。\n\n通关后得到的奖励,这里不是随机,原版是3人才可进入这个是按排名来得奖,最厉害的是第一个,最差的是最后一个得的物品", "type": "text" }, "group": "blu" }, { "id": "blu.section.super-armor-time.16vfob", "match": { "extensions": [ ".blu" ] }, "target": { "kind": "section", "section": "super armor time" }, "annotation": { "title": "霸体持续时间参数", "content": "玩法中的霸体时间参数线索。时间单位、触发条件、作用对象和 PVP/副本行为需实机确认。\n\n限制副本超级霸体时间", "type": "text" }, "group": "blu" }, { "id": "blu.section.tile-pos.qhfk3f", "match": { "extensions": [ ".blu" ] }, "target": { "kind": "section", "section": "tile pos" }, "annotation": { "title": "棋盘格坐标表", "content": "棋盘格位置的闭合坐标列表,按 X、Y 两列重复。坐标系、缩放、格子顺序和客户端布局需验证。\n\n这个32个格子 32个UI img显示位置 X Y轴默认不需要更改", "type": "text" }, "group": "blu" }, { "id": "blu.section.unique-dungeon-list.15ean7", "match": { "extensions": [ ".blu" ] }, "target": { "kind": "section", "section": "unique dungeon list" }, "annotation": { "title": "特殊副本等级映射表", "content": "特殊/唯一副本闭合列表,记录按“最低等级、最高等级、dungeon ID”重复。静态登记不证明选择概率、入口或清算。\n\nunique这里是领取神器后进入的副本1-99级 3048副本", "type": "text" }, "group": "blu" }, { "id": "chr.section.dashattack-info.x8y07n", "match": { "extensions": [ ".chr" ] }, "target": { "kind": "section", "section": "dashattack info" }, "annotation": { "title": "冲刺攻击的攻击信息", "content": "冲刺攻击信息:指定角色冲刺攻击所使用的攻击信息文件(.atk 格式)。定义冲刺攻击的伤害和判定等战斗数据。\n\n#### 官方示例: charactersample.chr\n\n```pvf\n[dashattack info] `DashAttack.atk` // 冲刺攻击的攻击信息\n```\n\n冲刺攻击的攻击信息", "type": "text" }, "group": "chr" }, { "id": "chr.section.jumpattack-info.sjfovv", "match": { "extensions": [ ".chr" ] }, "target": { "kind": "section", "section": "jumpattack info" }, "annotation": { "title": "跳跃攻击的攻击信息", "content": "跳跃攻击信息:指定角色跳跃攻击所使用的攻击信息文件(.atk 格式)。此文件定义跳跃攻击的伤害值、判定范围、硬直时间等战斗数据。若角色无跳跃攻击可不填写。\n\n#### 官方示例: charactersample.chr\n\n```pvf\n// 攻击信息列表。没有的可不填写。或用 `` 表示没有 //\n[jumpattack info] `JumpAttack.atk` // 跳跃攻击的攻击信息\n```\n\n跳跃攻击的攻击信息\n\n官方示例:\n#### 官方示例: charactersample.chr\n\n#### 官方示例: monstersample.mob\n\n```pvf\n// 攻击信息列表。没有的可以不写。或用 `` 输入则视为没有 //\n[jumpattack info] `JumpAttack.atk` // 跳跃攻击的攻击信息\n```", "type": "text" }, "group": "chr" }, { "id": "co.section.add-menu-info.1gypoo", "match": { "extensions": [ ".co" ] }, "target": { "kind": "section", "section": "add menu info" }, "annotation": { "title": "HUD 菜单项注册块", "content": "主 HUD 菜单的闭合注册表,由多条 [info] 记录组成;每条通常包含菜单 ID、窗口 token 以及一组图像/状态索引。列顺序应完整保留。\n\n添加菜单信息", "type": "text" }, "group": "co" }, { "id": "co.section.cancel-skill.1ubxym", "match": { "extensions": [ ".co" ] }, "target": { "kind": "section", "section": "cancel skill" }, "annotation": { "title": "可取消技能表", "content": "客户端职业分块组成的闭合技能取消/重置候选表。每个 [character job] 先给职业与 growtype token,随后列出该职业 registry 下的技能 ID;静态列出不证明服务器允许取消。\n\n取消技能", "type": "text" }, "group": "co" }, { "id": "co.section.character-job.1rzkl1", "match": { "extensions": [ ".co" ] }, "target": { "kind": "section", "section": "character job" }, "annotation": { "title": "技能树职业分块", "content": "客户端技能树、取消技能表或引导文本中的职业分块。开头通常是职业 token 与 growtype/分支 token,后续内容由父文件决定:技能树文件包含 [skill info],取消技能表则直接列出技能 ID。职业与技能 ID 必须通过当前角色及其技能 registry 解析;该客户端静态入口不证明技能可学、可取消或服务端放行。\n\n职业\n\n拥有此词条对象为技能树时,代表这是技能树坐标标签\n//建议搭配工具修改坐标\n\n//示例:\n[character job]\n\t`[gunner]` //选择职业\n\t`none`\t //选择职业分支\n\t[skill info]\n\t\t[index]\n\t\t\t4 //技能编号\n\t\t[icon pos]\n\t\t\t235\t0 //技能坐标\n\t[/skill info]\n[/character job]\n以上代表男枪手的未转职职业拥有1个`膝撞(编号4)`技能,\n该技能位于 X轴235,Y轴0 的技能树位置\n\n职业:\n\t`[swordman]`//男鬼剑\n\t`[gunner]`//男枪手\n\t`[mage]`//女魔法\n\t`[fighter]`//女格斗\n\t`[priest]`//男圣职\n\t`[thief]`//暗夜使者\n\n职业分支:\n\t`none`//\t未转职\n\n`weaponmaster`//剑魂\n\t`soulbringer`//鬼泣\n\t`berserker`//狂战士\n\t`asura`//阿修罗\n\n`ranger`//漫游枪手\n\t`launcher`//枪炮师\n\t`mechanic`//机械师\n\t`spitfire`//弹药专家\n\n`elementalmaster`//元素师\n\t`summoner`//召唤师\n\t`battlemage`//战斗法师\n\t`witch`//魔道学者\n\n`nenmaster`//气功师\n\t`striker`//散打\n\t`streetfighter`//街霸\n\t`grappler`//柔道家\n\n`crusader`//圣骑士\n\t`infighter`//蓝拳圣使\n\t`exorcist`//驱魔师\n\t`avenger`//复仇者\n\n`rogue`//刺客\n\t`necromancer`//死灵术士\n\t`exorcist`//忍者(台改)\n\t`avenger`//影舞者(台改)\n\n取值对照:\n[all] - 所有职业\n[asura] - 阿修罗\n[at fighter] - 格斗家(男)\n[at gunner] - 神枪手(女)\n[at mage] - 魔法师(男)\n[at swordman] - 鬼剑士(女)\n[avenger] - 复仇者\n[battlemage] - 战斗法师\n[berserker] - 狂战士\n[common] - 通用(按实际适用职业解析)\n[creator mage] - 缔造者(外传职业)\n[crusader] - 圣骑士\n[demonic lancer] - 魔枪士\n[demonic swordman] - 黑暗武士\n[elementalmaster] - 元素师\n[exorcist] - 驱魔师\n[fighter] - 女格斗\n[grappler] - 柔道家\n[gunner] - 男枪手\n[infighter] - 蓝拳圣使\n[knight] - 骑士\n[mage] - 女魔法\n[necromancer] - 死灵术士\n[nenmaster] - 气功师\n[none] - 未转职职业\n[priest] - 男圣职\n[rogue] - 刺客\n[soulbringer] - 鬼泣\n[streetfighter] - 街霸\n[striker] - 散打\n[summoner] - 召唤师\n[swordman] - 鬼剑士(男)\n[thief] - 暗夜使者\n[weaponmaster] - 剑魂\n[witch] - 魔道学者\nall - 所有职业\nasura - 阿修罗\nat fighter - 格斗家(男)\nat gunner - 神枪手(女)\nat mage - 魔法师(男)\nat swordman - 鬼剑士(女)\navenger - 复仇者\nbattlemage - 战斗法师\nberserker - 狂战士\ncommon - 通用(按实际适用职业解析)\ncreator mage - 缔造者(外传职业)\ncrusader - 圣骑士\ndemonic lancer - 魔枪士\ndemonic swordman - 黑暗武士\nelementalmaster - 元素师\nexorcist - 驱魔师\nfighter - 女格斗\ngrappler - 柔道家\ngunner - 男枪手\ninfighter - 蓝拳圣使\nknight - 骑士\nmage - 女魔法\nnecromancer - 死灵术士\nnenmaster - 气功师\nnone - 未转职职业\npriest - 男圣职\nrogue - 刺客\nsoulbringer - 鬼泣\nstreetfighter - 街霸\nstriker - 散打\nsummoner - 召唤师\nswordman - 鬼剑士(男)\nthief - 暗夜使者\nweaponmaster - 剑魂\nwitch - 魔道学者", "type": "text" }, "group": "co" }, { "id": "co.section.color.h28rbs", "match": { "extensions": [ ".co" ] }, "target": { "kind": "section", "section": "color" }, "annotation": { "title": "引导文本颜色", "content": "UI 引导项的 RGB 三通道颜色值,通常按红、绿、蓝顺序排列。数值范围和透明度处理需客户端验证。", "type": "text" }, "group": "co" }, { "id": "co.section.common-skill.1cau8p", "match": { "extensions": [ ".co" ] }, "target": { "kind": "section", "section": "common skill" }, "annotation": { "title": "职业通用技能", "content": "职业通用技能,蹲伏,后跳一类的技能编号\n\n职业通用技能", "type": "text" }, "group": "co" }, { "id": "co.section.condition.1made4", "match": { "extensions": [ ".co" ] }, "target": { "kind": "section", "section": "condition" }, "annotation": { "title": "事件触发条件块", "content": "客户端事件触发器的闭合条件块,可组合等级变化、职业、地点、发生时机和重复次数等子字段。各条件通常共同约束同一触发器。", "type": "text" }, "group": "co" }, { "id": "co.section.event.1yj1fo", "match": { "extensions": [ ".co" ] }, "target": { "kind": "section", "section": "event" }, "annotation": { "title": "客户端引导事件", "content": "客户端引导系统的一条闭合事件定义,由 [name] 标识,并包含显示对话或打开任务引导等动作块。它不是服务端事件脚本。\n\n#### 官方示例: aurasample.ora\n\n```pvf\n[event] //1//\n `appendage` 2455 //*// 要触发的事件,1 个以上即可\n `appendage` 2456 //*// 第一个参数在 `appendage`, `passive object`, `aura` 中选择1个\n `aura` 1000 //*// 第二个参数是脚本化的索引号\n `passive object 5121 //*// 例如,此行的内容是生成 5121 号被动对象\n[/event]\n```\n\n任务里代表活动,置顶此任务\n\n#### 官方示例: questsample.qst\n\n```pvf\n[event] 1 // 是否为活动任务。值为1时,拥有任务标记暴露的最高优先级,并变为活动任务标记。\n```\n\n```pvf\n[think] [event] == 8 // 地图开始时。\n```", "type": "text" }, "group": "co" }, { "id": "co.section.except-skill-info.362vmb", "match": { "extensions": [ ".co" ] }, "target": { "kind": "section", "section": "except skill info" }, "annotation": { "title": "公共技能排除表", "content": "公共技能列表的职业例外闭合块,内部 [info] 记录职业 token 与要排除的技能 ID。技能 ID 仍需按对应职业 registry 解析。\n\n除了技能信息", "type": "text" }, "group": "co" }, { "id": "co.section.goguide.12o6o5", "match": { "extensions": [ ".co" ] }, "target": { "kind": "section", "section": "goguide" }, "annotation": { "title": "任务引导动作", "content": "客户端事件中的闭合任务引导动作块,内部以 [quest] 指定任务 ID。任务 ID 必须通过 quest registry 解析;客户端引导存在不证明任务可接取或完成。\n\nGoguide.", "type": "text" }, "group": "co" }, { "id": "co.section.guide.18w1rn", "match": { "extensions": [ ".co" ] }, "target": { "kind": "section", "section": "guide" }, "annotation": { "title": "技能商店引导文本块", "content": "技能商店/技能树 UI 的闭合引导配置,内部按 [character job] 分组并列出若干 [text info]。只控制客户端提示候选。", "type": "text" }, "group": "co" }, { "id": "co.section.icon-pos.1nir1v", "match": { "extensions": [ ".co" ] }, "target": { "kind": "section", "section": "icon pos" }, "annotation": { "title": "技能树的坐标", "content": "技能图标在技能树界面中的显示坐标(X轴, Y轴),单位为像素。\n\n格式示例:235 0 表示技能图标位于技能树的X轴235、Y轴0位置。\n\n技能树的坐标", "type": "text" }, "group": "co" }, { "id": "co.section.ignore-trigger.1txfmk", "match": { "extensions": [ ".co" ] }, "target": { "kind": "section", "section": "ignore_trigger" }, "annotation": { "title": "互斥触发器名称", "content": "当前触发器启用时需要忽略或抑制的其他触发器名称,可重复列出多个。具体互斥持续时间和优先级需客户端验证。\n\nignore_trigger", "type": "text" }, "group": "co" }, { "id": "co.section.import.4rgvys", "match": { "extensions": [ ".co" ] }, "target": { "kind": "section", "section": "import" }, "annotation": { "title": "客户端配置导入", "content": "导入另一份客户端 .co 配置文件的相对 PVF 路径。导入文件仍应作为不可信静态数据读取;路径存在不证明其内容已被运行时加载。\n\n进口", "type": "text" }, "group": "co" }, { "id": "co.section.key.svodbg", "match": { "extensions": [ ".co" ] }, "target": { "kind": "section", "section": "key" }, "annotation": { "title": "按键配置记录", "content": "客户端快捷键或手柄映射的一条按键记录。不同父文件的列形不同:快捷键表可包含显示名、动作编号、类别、左右分组与默认键值;手柄映射中则作为设备输入键。必须按父文件格式解析。\n\n键", "type": "text" }, "group": "co" }, { "id": "co.section.level-range.bz8qn0", "match": { "extensions": [ ".co" ] }, "target": { "kind": "section", "section": "level range" }, "annotation": { "title": "引导文本等级范围", "content": "UI 引导项适用的最低与最高等级候选;已见 -1 作为无上限或缺省端点。端点是否包含需客户端验证。\n\n水平范围", "type": "text" }, "group": "co" }, { "id": "co.section.levelup.xsyly0", "match": { "extensions": [ ".co" ] }, "target": { "kind": "section", "section": "levelup" }, "annotation": { "title": "升级等级条件", "content": "事件触发条件中的升级/等级阈值数值。它与同块 [job]、[where] 或 [when] 等条件联合使用,静态值不证明事件必定触发。\n\n升级", "type": "text" }, "group": "co" }, { "id": "co.section.next-skill.24zgrp", "match": { "extensions": [ ".co" ] }, "target": { "kind": "section", "section": "next skill" }, "annotation": { "title": "关联技能", "content": "关联技能(前置技能连线)\n\n将该词条赋予某个技能的技能树坐标标签内并填写其他技能编号时,\n就会在游戏内技能树自动划线并显示箭头,代表这是其他技能的前置技能\n\n关联技能", "type": "text" }, "group": "co" }, { "id": "co.section.quest.2q1ni5", "match": { "extensions": [ ".co" ] }, "target": { "kind": "section", "section": "quest" }, "annotation": { "title": "引导任务引用", "content": "客户端 [goguide] 动作中的任务 ID。必须通过任务 registry 解析;静态引用不证明任务状态、前置条件或服务端开放。", "type": "text" }, "group": "co" }, { "id": "co.section.raise-event.10zpkl", "match": { "extensions": [ ".co" ] }, "target": { "kind": "section", "section": "raise_event" }, "annotation": { "title": "触发目标事件", "content": "触发器满足条件后抛出的事件名称,可在同一触发器中出现多次。名称应对应某个 [event]/[name] 定义;静态引用不保证目标事件完整。\n\nraing_event.", "type": "text" }, "group": "co" }, { "id": "co.section.repeat-count.1yjlml", "match": { "extensions": [ ".co" ] }, "target": { "kind": "section", "section": "repeat_count" }, "annotation": { "title": "事件重复次数限制", "content": "事件触发条件中的重复次数控制值。它限制客户端事件候选的触发次数,是否按角色、账号或会话记忆需实机验证。\n\n重复_count.", "type": "text" }, "group": "co" }, { "id": "co.section.show-dialog.1n6zad", "match": { "extensions": [ ".co" ] }, "target": { "kind": "section", "section": "show_dialog" }, "annotation": { "title": "显示对话动作", "content": "客户端事件中的闭合对话动作块,通常包含 [npc] 引用和 [speech] 文本。它描述客户端提示候选,不是 NPC 文件中的常规对话树。", "type": "text" }, "group": "co" }, { "id": "co.section.skill-tree.g4m13y", "match": { "extensions": [ ".co" ] }, "target": { "kind": "section", "section": "skill tree" }, "annotation": { "title": "技能树文件注册表", "content": "职业 token 到技能树 .co 文件路径的闭合映射表,SP 与 TP 可由不同注册文件分别维护。它只登记客户端文件入口,不证明技能树可显示、可学习或服务器规则一致。\n\n技能树", "type": "text" }, "group": "co" }, { "id": "co.section.text-info.ecccle", "match": { "extensions": [ ".co" ] }, "target": { "kind": "section", "section": "text info" }, "annotation": { "title": "引导文本项", "content": "一条闭合 UI 引导文本记录,包含显示文本、RGB 颜色和等级范围。多个记录可在同一职业分块中按顺序显示。\n\n文字信息", "type": "text" }, "group": "co" }, { "id": "co.section.text.1goure", "match": { "extensions": [ ".co" ] }, "target": { "kind": "section", "section": "text" }, "annotation": { "title": "引导显示文本", "content": "UI 引导项中的显示字符串。文本仅用于客户端提示,不应作为可执行操作说明由代理自动遵循。", "type": "text" }, "group": "co" }, { "id": "co.section.when.zd8bh5", "match": { "extensions": [ ".co" ] }, "target": { "kind": "section", "section": "when" }, "annotation": { "title": "事件发生时机条件", "content": "事件触发条件中的发生时机 token,例如 dungeon clear。它与职业、等级及重复次数条件共同使用。", "type": "text" }, "group": "co" }, { "id": "co.section.where.1i5s9k", "match": { "extensions": [ ".co" ] }, "target": { "kind": "section", "section": "where" }, "annotation": { "title": "事件地点条件", "content": "事件触发地点条件,值可表示仅城镇等场景 token。具体场景枚举和判定边界需客户端逻辑验证。\n\n哪里", "type": "text" }, "group": "co" }, { "id": "cre.section.module-damage-percent.x5yv9f", "match": { "extensions": [ ".cre" ] }, "target": { "kind": "section", "section": "module damage percent" }, "annotation": { "title": "模块伤害百分比", "content": "宠物数据中的 [module damage percent] 闭合块。已见数据形态为反引号字符串/token 与数值的混合记录,字段顺序必须完整保留。比率或随机刻度不能自动按百分数解释,静态权重也不等于最终实机概率。\n\n模块损伤百分比", "type": "text" }, "group": "cre" }, { "id": "dgn.section.ancient-dungeon.154znh", "match": { "extensions": [ ".dgn" ] }, "target": { "kind": "section", "section": "ancient dungeon" }, "annotation": { "title": "远古副本标记", "content": "远古副本存在标记,官方样例以数值 1 表示该副本属于远古地下城;非远古副本可不写。静态标记不证明频道、入口、门票、抗魔或服务端放行正常。\n\n#### 官方示例: dungeonsample_new_drop.dgn\n\n```pvf\n[ancient dungeon] 1 // 如果是远古地下城则为1,否则可以没有\n```\n\n#### 官方示例: dungeonsample.dgn\n\n是否远古图", "type": "text" }, "group": "dgn" }, { "id": "dgn.section.background-pos.58tmrr", "match": { "extensions": [ ".dgn" ] }, "target": { "kind": "section", "section": "background pos" }, "annotation": { "title": "背景位置参数", "content": "副本背景位置的单数值参数。当前真实样本可见 80,但现有知识未闭合其坐标轴、单位或客户端用途;必须保留原值,并结合同版本副本与客户端表现验证。\n\n背景POS\n\n#### 官方示例: mapsample.map\n\n```pvf\n[background pos] 80 //扩展为800*600时,在原有背景绘制位置上提升该数值进行绘制。通常设置为80\n```", "type": "text" }, "group": "dgn" }, { "id": "dgn.section.basis-level.17ic6o", "match": { "extensions": [ ".dgn" ] }, "target": { "kind": "section", "section": "basis level" }, "annotation": { "title": "副本基础等级", "content": "副本基础等级/难度计算线索,不等同于入场最低等级。当前主目标局部实机样本表明它会影响怪物强度和付费翻牌费用选行;不证明所有副本、奖励池或免费翻牌公式通用。\n\n#### 官方示例: dungeonsample_new_drop.dgn\n\n```pvf\n[basis level] 4 // 怪物的标准等级\n```\n\n#### 官方示例: dungeonsample.dgn\n\n副本内怪物的平均等级", "type": "text" }, "group": "dgn" }, { "id": "dgn.section.battle-spawn-time.by8dch", "match": { "extensions": [ ".dgn" ] }, "target": { "kind": "section", "section": "battle spawn time" }, "annotation": { "title": "战斗产卵时间", "content": "#### 官方示例: dungeonsample_new_drop.dgn\n\n```pvf\n// 战斗限制时间 60000 = 1分钟\n[battle spawn time] 60000\n/////////////////////////////////////////////////////////////////////\n```\n\n#### 官方示例: dungeonsample.dgn\n\n////////////////////////////////////", "type": "text" }, "group": "dgn" }, { "id": "dgn.section.boss-exp-const.1iauzd", "match": { "extensions": [ ".dgn" ] }, "target": { "kind": "section", "section": "boss exp const" }, "annotation": { "title": "首领经验值计算常数", "content": "#### 官方示例: dungeonsample_new_drop.dgn\n\n```pvf\n// 首领经验值计算常数\n[boss exp const] 3000\n```\n\n#### 官方示例: dungeonsample.dgn\n\n首领经验值计算常数", "type": "text" }, "group": "dgn" }, { "id": "dgn.section.boss-item-drop-list.wnqri8", "match": { "extensions": [ ".dgn" ] }, "target": { "kind": "section", "section": "boss item drop list" }, "annotation": { "title": "首领物品掉落列表", "content": "#### 官方示例: dungeonsample_new_drop.dgn\n\n```pvf\n// 首领物品掉落列表\n[boss item drop list]\n2000\n3000\n[/boss item drop list]\n```\n\n#### 官方示例: dungeonsample.dgn\n\n首领物品掉落列表", "type": "text" }, "group": "dgn" }, { "id": "dgn.section.boss-item-drop-prob.prjtcj", "match": { "extensions": [ ".dgn" ] }, "target": { "kind": "section", "section": "boss item drop prob" }, "annotation": { "title": "首领物品掉落率", "content": "#### 官方示例: dungeonsample_new_drop.dgn\n\n```pvf\n// 首领物品掉落率\n[boss item drop prob] 50\n```\n\n#### 官方示例: dungeonsample.dgn\n\n首领物品掉落率", "type": "text" }, "group": "dgn" }, { "id": "dgn.section.boss-room-entrance-condition.1ipl62", "match": { "extensions": [ ".dgn" ] }, "target": { "kind": "section", "section": "boss room entrance condition" }, "annotation": { "title": "首领房间进入条件", "content": "#### 官方示例: dungeonsample_new_drop.dgn\n\n```pvf\n[boss room entrance condition] // 首领房间进入条件\n`[hunt monster]` // 去狩猎怪物!!!!(目前仅此...以后可扩展)\n2 // 怪物数量..\n31 1 1 // 怪物索引 出现数量 需要击杀数量\n22 1 1 // 怪物索引 出现数量 需要击杀数量\n```\n\n#### 官方示例: dungeonsample.dgn\n\n首领房间进入条件", "type": "text" }, "group": "dgn" }, { "id": "dgn.section.champion.1t0uie", "match": { "extensions": [ ".dgn" ] }, "target": { "kind": "section", "section": "champion" }, "annotation": { "title": "冠军怪物数量", "content": "[champion]\n100\t100\t100\t100\t100\n\n普通级、冒险级、勇士级、王者级、英雄级\n出现精英怪的几率\n\n1=1%\n也就是说赋予100时,每个房间必出1个\n\n#### 官方示例: dungeonsample_new_drop.dgn\n\n```pvf\n[champion] 10 15 20 30 // 各难度下整个地下城中将出现的冠军怪物数量\n```\n\n#### 官方示例: dungeonsample.dgn\n\nchampion\n\n官方示例:\n#### 官方示例: dungeonsample_new_drop.dgn\n\n#### 官方示例: mapsample.map\n\n```pvf\n[champion] 11 //冠军怪物数量\n```", "type": "text" }, "group": "dgn" }, { "id": "dgn.section.character-coin-limit.1ld7z3", "match": { "extensions": [ ".dgn" ] }, "target": { "kind": "section", "section": "character coin limit" }, "annotation": { "title": "地下城中复活币限制次数", "content": "#### 官方示例: dungeonsample.dgn\n\n```pvf\n[character coin limit] 3 // 地下城中复活币限制次数。(个人可使用的复活币限制)移除标签或设为-1则无限制\n```\n\n地下城中复活币限制次数", "type": "text" }, "group": "dgn" }, { "id": "dgn.section.clear-daily-challenge-quest.16jcor", "match": { "extensions": [ ".dgn" ] }, "target": { "kind": "section", "section": "clear daily challenge quest" }, "annotation": { "title": "清除日常挑战追求", "type": "text" }, "group": "dgn" }, { "id": "dgn.section.clear-reward-item.8vx2i4", "match": { "extensions": [ ".dgn" ] }, "target": { "kind": "section", "section": "clear reward item" }, "annotation": { "title": "通关时获得物品", "content": "通关时获得物品\n* 6 个数值为一组数据。\n1 0 1002 3 17 -1\t\t// 副本编号, 副本难度, 物品编号,最大数量,出现概率 (%), 最大拥有数量(如果为-1,则表示无限制)\n2 0 1003 2 100 30\t\t// 如果副本难度为-1,则表示所有难度, 0:EASY 1:NORMAL 2:HARD 3:VERYHARD 普通,冒险,勇士,王者\n\n通关时获得物品\n\n#### 官方示例: questsample.qst\n\n```pvf\n[clear reward item] // 任务执行期间出现的地城通关奖励物品。\n1 0 1002 3 17 -1 // 地城索引,地城难度,物品索引,最大物品数,出现概率(%),最大持有数(-1则为无限)。\n2 0 1003 2 100 30 // 地城难度若为-1则所有难度,0:EASY 1:NORMAL 2:HARD 3:VERYHARD。\n[/clear reward item]\n```", "type": "text" }, "group": "dgn" }, { "id": "dgn.section.coin-info.1elyn4", "match": { "extensions": [ ".dgn" ] }, "target": { "kind": "section", "section": "coin info" }, "annotation": { "title": "按难度配置复活币参数", "content": "按难度 token 配置复活币相关参数的闭合块。真实样本可见 easy/medium/hard/ultimate 后接两个整数,但两列的精确含义尚未由当前知识闭合;不得直接命名为次数、消耗或奖励,需同类样本与实机验证。\n\n复活币限制", "type": "text" }, "group": "dgn" }, { "id": "dgn.section.coin-limit.1pq462", "match": { "extensions": [ ".dgn" ] }, "target": { "kind": "section", "section": "coin limit" }, "annotation": { "title": "副本内的复活次数", "content": "副本内的复活次数\n[coin limit]\n 6\n上面这种代表副本内生命值耗尽时可复活6次\n通过移除此标签或将数字改为-1即可不限制复活次数\n\n#### 官方示例: dungeonsample_new_drop.dgn\n\n```pvf\n// 不想指定则移除标签或将物品索引设为65535\n[coin limit] 3 // 地下城中复活币限制使用次数。(队伍全体)移除标签或设为-1则无限制\n```\n\n#### 官方示例: dungeonsample.dgn\n\n副本内的复活次数", "type": "text" }, "group": "dgn" }, { "id": "dgn.section.common-champion-exp-const.85ugrz", "match": { "extensions": [ ".dgn" ] }, "target": { "kind": "section", "section": "common champion exp const" }, "annotation": { "title": "普通冠军经验值计算常数", "content": "#### 官方示例: dungeonsample_new_drop.dgn\n\n```pvf\n// 普通冠军经验值计算常数\n[common champion exp const] 1000\n```\n\n#### 官方示例: dungeonsample.dgn\n\n普通冠军经验值计算常数", "type": "text" }, "group": "dgn" }, { "id": "dgn.section.common-champion-item-drop-list.lvcmol", "match": { "extensions": [ ".dgn" ] }, "target": { "kind": "section", "section": "common champion item drop list" }, "annotation": { "title": "普通冠军物品掉落列表", "content": "#### 官方示例: dungeonsample_new_drop.dgn\n\n```pvf\n// 普通冠军物品掉落列表\n[common champion item drop list]\n1015\n3038\n[/common champion item drop list]\n```\n\n#### 官方示例: dungeonsample.dgn\n\n普通冠军物品掉落列表", "type": "text" }, "group": "dgn" }, { "id": "dgn.section.common-champion-item-drop-prob.1ni0q2", "match": { "extensions": [ ".dgn" ] }, "target": { "kind": "section", "section": "common champion item drop prob" }, "annotation": { "title": "普通冠军物品掉落率", "content": "#### 官方示例: dungeonsample_new_drop.dgn\n\n```pvf\n// 普通冠军物品掉落率\n[common champion item drop prob] 20\n```\n\n#### 官方示例: dungeonsample.dgn\n\n普通冠军物品掉落率", "type": "text" }, "group": "dgn" }, { "id": "dgn.section.common-monster-exp-const.17tsm6", "match": { "extensions": [ ".dgn" ] }, "target": { "kind": "section", "section": "common monster exp const" }, "annotation": { "title": "普通怪物经验值计算常数", "content": "#### 官方示例: dungeonsample_new_drop.dgn\n\n```pvf\n// 普通怪物经验值计算常数\n[common monster exp const] 500\n```\n\n#### 官方示例: dungeonsample.dgn\n\n普通怪物经验值计算常数", "type": "text" }, "group": "dgn" }, { "id": "dgn.section.common-monster-item-drop-list.1jp0iv", "match": { "extensions": [ ".dgn" ] }, "target": { "kind": "section", "section": "common monster item drop list" }, "annotation": { "title": "普通怪物物品掉落列表", "content": "#### 官方示例: dungeonsample_new_drop.dgn\n\n```pvf\n// 普通怪物物品掉落列表\n[common monster item drop list]\n1015\n3037\n[/common monster item drop list]\n```\n\n#### 官方示例: dungeonsample.dgn\n\n普通怪物物品掉落列表", "type": "text" }, "group": "dgn" }, { "id": "dgn.section.common-monster-item-drop-prob.zt4h8h", "match": { "extensions": [ ".dgn" ] }, "target": { "kind": "section", "section": "common monster item drop prob" }, "annotation": { "title": "普通怪物物品掉落率", "content": "#### 官方示例: dungeonsample_new_drop.dgn\n\n```pvf\n// 普通怪物物品掉落率\n[common monster item drop prob] 10\n```\n\n#### 官方示例: dungeonsample.dgn\n\n普通怪物物品掉落率", "type": "text" }, "group": "dgn" }, { "id": "dgn.section.custom-frame-index.r7uywn", "match": { "extensions": [ ".dgn" ] }, "target": { "kind": "section", "section": "custom frame index" }, "annotation": { "title": "自定义框架索引", "type": "text" }, "group": "dgn" }, { "id": "dgn.section.cutscene-image.1v0ypr", "match": { "extensions": [ ".dgn" ] }, "target": { "kind": "section", "section": "cutscene image" }, "annotation": { "title": "进入新城镇时的过场动画图像", "content": "进入新城镇时的过场动画图像\n进图画面\n\n#### 官方示例: dungeonsample_new_drop.dgn\n\n```pvf\n[cutscene image] `CutScene.img` 0 // 过场图像文件名,帧索引\n```\n\n#### 官方示例: dungeonsample.dgn\n\n进入新城镇时的过场动画图像\n\n官方示例:\n#### 官方示例: dungeonsample_new_drop.dgn\n\n#### 官方示例: townsample.twn\n\n```pvf\n[cutscene image] `CutScene.img` 0\t\t\t// 过场图像文件名称,帧索引\n```", "type": "text" }, "group": "dgn" }, { "id": "dgn.section.detect-dungeon.1pqec9", "match": { "extensions": [ ".dgn" ] }, "target": { "kind": "section", "section": "detect dungeon" }, "annotation": { "title": "检测地牢", "type": "text" }, "group": "dgn" }, { "id": "dgn.section.enter-without-fatigue.1tj336", "match": { "extensions": [ ".dgn" ] }, "target": { "kind": "section", "section": "enter without fatigue" }, "annotation": { "title": "没有疲劳进入", "type": "text" }, "group": "dgn" }, { "id": "dgn.section.entering-title.8k3o91", "match": { "extensions": [ ".dgn" ] }, "target": { "kind": "section", "section": "entering title" }, "annotation": { "title": "进入城镇时的标题动画", "content": "进入城镇时的标题动画\n例如:埃尔文防线,赫顿马尔,这些大字\n\n#### 官方示例: dungeonsample_new_drop.dgn\n\n```pvf\n[entering title] `Title.ani` // 用作标题的动画。将动画中心对准屏幕中央。\n```\n\n#### 官方示例: dungeonsample.dgn\n\n进入城镇时的标题动画\n\n官方示例:\n#### 官方示例: dungeonsample_new_drop.dgn\n\n例如:埃尔文防线,赫顿马尔,这些大字\n\n#### 官方示例: townsample.twn\n\n```pvf\n[entering title] `TitleAnimation/HendonMyre.ani`\t// 用作标题的动画。将动画的中心对准屏幕中央。\n```", "type": "text" }, "group": "dgn" }, { "id": "dgn.section.escape-hell.1bnzvw", "match": { "extensions": [ ".dgn" ] }, "target": { "kind": "section", "section": "escape hell" }, "annotation": { "title": "禁用深渊模式标记", "content": "官方说明表示该迷宫不出现深渊模式。它是副本静态开关线索,不证明深渊入口、任务、门票或服务端模式选择的最终行为。\n\n#### 官方示例: dungeonsample_new_drop.dgn\n\n```pvf\n[escape hell] 1 // 在该迷宫中不出现深渊模式\n```\n\n逃脱地狱\n\n```pvf\n[escape hell] 1 // 在该迷宫中不出现地狱模式\n```", "type": "text" }, "group": "dgn" }, { "id": "dgn.section.event-monster.1xeyja", "match": { "extensions": [ ".dgn" ] }, "target": { "kind": "section", "section": "event monster" }, "annotation": { "title": "指定地下城中将出现的事件怪物的标签", "content": "#### 官方示例: dungeonsample_new_drop.dgn\n\n```pvf\n[event monster] //指定地下城中将出现的事件怪物的标签\n2 20000 //怪物选择数量 出现概率(万分率)\n56039 1 300 1 1 //怪物索引 数量 选择概率(相对概率) 拾取次数\n[/event monster]\n```\n\n指定地下城中将出现的事件怪物的标签", "type": "text" }, "group": "dgn" }, { "id": "dgn.section.evil-high-level.uw9ml3", "match": { "extensions": [ ".dgn" ] }, "target": { "kind": "section", "section": "evil high level" }, "annotation": { "title": "高等级抗魔要求参数", "content": "高等级区间使用的抗魔/邪恶值参数序列,官方说明指向 65 级以上语境。真实样本为多列数值;列与难度的对应、门槛计算和服务端采用需目标版本验证。\n\n#### 官方示例: dungeonsample.dgn\n\n```pvf\n[evil high level] 100 150 200 250 270 // 高等级用抗魔力(65级以上)\n```\n\n邪恶的高水平", "type": "text" }, "group": "dgn" }, { "id": "dgn.section.evil-rate.19u20q", "match": { "extensions": [ ".dgn" ] }, "target": { "kind": "section", "section": "evil rate" }, "annotation": { "title": "第一个是最低值", "content": "第一个是最低值,第二个是减少属性,第三个是最高值,第四个是增加属性,如果想要抗磨不够就减少99的属性,抗磨够就增加0的属性就等于99~1~100~100(最后这个100表示百分之1)\n\n#### 官方示例: dungeonsample_new_drop.dgn\n\n```pvf\n[evil rate] // 抗魔力最大最小比率\n0 10 // 0时 10% 的下限\n200 150 // 200 时 150% 的上限\n```\n\n#### 官方示例: dungeonsample.dgn\n\n第一个是最低值", "type": "text" }, "group": "dgn" }, { "id": "dgn.section.evil.2gxmmf", "match": { "extensions": [ ".dgn" ] }, "target": { "kind": "section", "section": "evil" }, "annotation": { "title": "抗魔力数值(按难度)", "content": "#### 官方示例: dungeonsample_new_drop.dgn\n\n```pvf\n[evil] 100 200 300 400 // 抗魔力数值(按难度)\n```\n\n#### 官方示例: dungeonsample.dgn\n\n抗魔力数值(按难度)", "type": "text" }, "group": "dgn" }, { "id": "dgn.section.experience-increasing-point.mpz1n6", "match": { "extensions": [ ".dgn" ] }, "target": { "kind": "section", "section": "experience increasing point" }, "annotation": { "title": "副本内的经验值获取倍率", "content": "副本内的经验值获取倍率\n0.5代表只有50%的获取效率\n\n#### 官方示例: dungeonsample_new_drop.dgn\n\n```pvf\n[experience increasing point] 1.3 // 经验值权重\n```\n\n#### 官方示例: dungeonsample.dgn\n\n副本内的经验值获取倍率", "type": "text" }, "group": "dgn" }, { "id": "dgn.section.gold-card-use.o8ecgo", "match": { "extensions": [ ".dgn" ] }, "target": { "kind": "section", "section": "gold card use" }, "annotation": { "title": "该地下城通关时是否使用黄金卡", "content": "#### 官方示例: dungeonsample.dgn\n\n```pvf\n[gold card use] 0 // 该地下城通关时是否使用黄金卡。0:不使用 1:使用\n```\n\n该地下城通关时是否使用黄金卡", "type": "text" }, "group": "dgn" }, { "id": "dgn.section.gold-drop-prob.1mtojq", "match": { "extensions": [ ".dgn" ] }, "target": { "kind": "section", "section": "gold drop prob" }, "annotation": { "title": "金币掉落率", "content": "#### 官方示例: dungeonsample_new_drop.dgn\n\n```pvf\n// 金币掉落率\n[gold drop prob] 50\n```\n\n#### 官方示例: dungeonsample.dgn\n\n金币掉落率", "type": "text" }, "group": "dgn" }, { "id": "dgn.section.hit-count.1yj9mz", "match": { "extensions": [ ".dgn" ] }, "target": { "kind": "section", "section": "hit count" }, "annotation": { "title": "副本命中次数参数", "content": "副本级命中次数参数序列,真实样本可见五个相同数值。现有静态资料不足以确定它是限制、目标值还是按难度分列;必须整组保留并通过目标玩法与实机验证。\n\n命中次数", "type": "text" }, "group": "dgn" }, { "id": "dgn.section.individual-map-movement.xnls2x", "match": { "extensions": [ ".dgn" ] }, "target": { "kind": "section", "section": "individual map movement" }, "annotation": { "title": "允许独立地图移动标记", "content": "副本中的独立地图移动开关线索,真实样本为单值 1,并与竞速/特殊地图控制字段相邻。静态标记不证明队伍分离、门状态、角色同步或实机移动规则。\n\n进图之后可以独立进图移动", "type": "text" }, "group": "dgn" }, { "id": "dgn.section.join-cost-gold.1e63fv", "match": { "extensions": [ ".dgn" ] }, "target": { "kind": "section", "section": "join cost gold" }, "annotation": { "title": "入场费", "content": "#### 官方示例: dungeonsample_new_drop.dgn\n\n```pvf\n// 入场费\n[join cost gold] 5000\n```\n\n#### 官方示例: dungeonsample.dgn\n\n入场费", "type": "text" }, "group": "dgn" }, { "id": "dgn.section.kill-count-const.1q4mqa", "match": { "extensions": [ ".dgn" ] }, "target": { "kind": "section", "section": "kill count const" }, "annotation": { "title": "各种计算中使用的击杀数常数", "content": "#### 官方示例: dungeonsample_new_drop.dgn\n\n```pvf\n// 各种计算中使用的击杀数常数\n[kill count const] 500\n```\n\n#### 官方示例: dungeonsample.dgn\n\n各种计算中使用的击杀数常数", "type": "text" }, "group": "dgn" }, { "id": "dgn.section.map-specification.vt7ss", "match": { "extensions": [ ".dgn" ] }, "target": { "kind": "section", "section": "map specification" }, "annotation": { "title": "普通房间地图绑定列表", "content": "普通房间地图绑定闭合块。记录以 X、Y 网格坐标开头,后接一个或多个 map ID;未指定网格可由迷宫规则随机选择。map ID 必须通过 map/map.lst 解析,静态绑定不证明房间推进或对象加载。\n\n#### 官方示例: dungeonsample_new_drop.dgn\n\n```pvf\n[map specification] // 指定特定网格中出现的地图列表。未指定的网格随机选择\n1 2 // 坐标(x, y)坐标以左上角为0, 0\n10001 // 地图索引列表\n10002 // 如果是可选作首领地图的网格,则必须包含是首领地图时和不是首领地图时的\n10003 // 所有地图索引。\n[/map specification]\n```\n\n```pvf\n[map specification] // 根据需要重复。\n2 2\n10011\n[/map specification]\n```\n\n#### 官方示例: dungeonsample.dgn\n\n副本指向的map房间,0 1 10069 (第一个数字x轴,第二个数字y轴,第三个数字是房间编号) \n 0 1 2 3 4 5\n0 x x x x x x\n1 x x x x x x\n2 x x x x x x\n3 x x x x x x\n4 x x x x x x\n5 x x x x x x\n\n官方示例:\n#### 官方示例: dungeonsample_new_drop.dgn\n\n```pvf\n[map specification] // 根据需要重复。\n2 2\n10011\n[/map specification]\n``\n\n副本指向的map房间,\n 0 1 2 3 4 5\n0 x x x x x x\n1 x x x x x x\n2 x x x x x x\n3 x x x x x x\n4 x x x x x x\n5 x x x x x x\n\n副本指向的map房间,0 1 \n 0 1 2 3 4 5\n0 x x x x x x\n1 x x x x x x\n2 x x x x x x\n3 x x x x x x\n4 x x x x x x\n5 x x x x x x", "type": "text" }, "group": "dgn" }, { "id": "dgn.section.maze-info.hhilli", "match": { "extensions": [ ".dgn" ] }, "target": { "kind": "section", "section": "maze info" }, "annotation": { "title": "迷宫布局入口", "content": "副本迷宫信息入口,通常与 [size]、[greed]、[map specification]、[start map] 和 [boss map] 成组读取。空标签本身不提供完整走势,必须继续读取相邻布局字段。\n\n#### 官方示例: dungeonsample_new_drop.dgn\n\n```pvf\n[maze info] // 表示一个迷宫信息开始。\n```\n\n#### 官方示例: dungeonsample.dgn\n\n地图走势", "type": "text" }, "group": "dgn" }, { "id": "dgn.section.minimap-image.13z4b7", "match": { "extensions": [ ".dgn" ] }, "target": { "kind": "section", "section": "minimap image" }, "annotation": { "title": "副本中显示的小地图", "content": "副本中显示的小地图\n小地图图像包的文件名\n\n#### 官方示例: dungeonsample_new_drop.dgn\n\n```pvf\n[minimap image] `MiniMap.img` // 小地图图像包的文件名\n```\n\n#### 官方示例: dungeonsample.dgn\n\n副本中显示的小地图", "type": "text" }, "group": "dgn" }, { "id": "dgn.section.minimum-required-level.1kre3d", "match": { "extensions": [ ".dgn" ] }, "target": { "kind": "section", "section": "minimum required level" }, "annotation": { "title": "副本最低进入等级", "content": "副本最低进入等级字段。当前主目标局部实机样本表明提高该值会使低等级角色看不见副本或被列表过滤;不证明服务端最终只检查这一项,也不等同任务等级条件。\n\n#### 官方示例: dungeonsample_new_drop.dgn\n\n```pvf\n[minimum required level] 11 // 进入地下城所需的最低要求等级\n```\n\n#### 官方示例: dungeonsample.dgn\n\n开启地下城的等级", "type": "text" }, "group": "dgn" }, { "id": "dgn.section.mission-title-image-index.1indwk", "match": { "extensions": [ ".dgn" ] }, "target": { "kind": "section", "section": "mission title image index" }, "annotation": { "title": "任务标题图像索引", "type": "text" }, "group": "dgn" }, { "id": "dgn.section.monster-difficulty-bonus.18dff6", "match": { "extensions": [ ".dgn" ] }, "target": { "kind": "section", "section": "monster difficulty bonus" }, "annotation": { "title": "副本怪物难度修正参数块", "content": "副本级怪物难度修正闭合块。已见真实样本为一条扁平数值序列,并非旧注释所写的固定“多行 × 五难度”表;各列与好战性、视野、命中、HP、速度、伤害等属性的映射尚未由知识库闭合。必须整组保留,并以同版本同类副本和实机验证列义。\n\n整个副本怪物属性按倍数翻倍\n\n整个副本怪物属性按倍数翻倍\n五个数值一组代表五个难度\n普通\t冒险\t王者\t地狱级\t未知难度\n[monster difficulty bonus]\n500\t500\t500\t500\t500(好战性?)\n500\t500\t500\t500\t500(视野?)\n1\t1\t1\t1\t1(命中)\n0.1\t0.1\t0.1\t0.1\t0.1(回避率)\n5\t5\t5\t5\t5(血量)\n1\t1\t1\t1\t1(攻速)\n1\t1\t1\t1\t1(移动速度)\n100\t100\t100\t100\t100(异常状态抗性?)\n200\t200\t200\t200\t200(攻击伤害)\n1\t1\t1\t1\t1(防御)\n200\t200\t200\t200\t200(硬直)\n0.1\t0.1\t0.1\t0.1\t0.1(百分比忽略玩家带来的无视攻击力)\n200\t200\t200\t200\t200(对玩家额外伤害)\n[/monster difficulty bonus]", "type": "text" }, "group": "dgn" }, { "id": "dgn.section.monster-type-spawn-cost.1t30mq", "match": { "extensions": [ ".dgn" ] }, "target": { "kind": "section", "section": "monster type spawn cost" }, "annotation": { "title": "普通", "content": "#### 官方示例: dungeonsample_new_drop.dgn\n\n```pvf\n// 怪物类型消耗资源\n[monster type spawn cost] 2 4 6 10 // 普通,普通冠军,超级冠军,首领\n```\n\n#### 官方示例: dungeonsample.dgn\n\n普通", "type": "text" }, "group": "dgn" }, { "id": "dgn.section.monster-type-spawn-prob.mbjp87", "match": { "extensions": [ ".dgn" ] }, "target": { "kind": "section", "section": "monster type spawn prob" }, "annotation": { "title": "普通", "content": "#### 官方示例: dungeonsample_new_drop.dgn\n\n```pvf\n// 怪物类型选择概率\n[monster type spawn prob] 50 20 20 10 // 普通,普通冠军,超级冠军,首领\n```\n\n#### 官方示例: dungeonsample.dgn\n\n普通", "type": "text" }, "group": "dgn" }, { "id": "dgn.section.monsterapc-diff-table.rr42ak", "match": { "extensions": [ ".dgn" ] }, "target": { "kind": "section", "section": "monsterapc diff table" }, "annotation": { "title": "怪物/APC难度修正表路径", "content": "副本自定义 Monster/APC 难度表路径;未配置时可能使用默认表。真实样本引用 .tbl 文件,需继续读取目标表;路径存在不证明倍率列义或实机采用。\n\n#### 官方示例: dungeonsample.dgn\n\n```pvf\n[monsterapc diff table] `Monster/MonsterApcTableForLorien.tbl` // 自定义怪物-APC难度表(不添加此标签则应用默认文件)\n```\n\n副本单独调用全局tbl", "type": "text" }, "group": "dgn" }, { "id": "dgn.section.no-fatigue.1ve2rq", "match": { "extensions": [ ".dgn" ] }, "target": { "kind": "section", "section": "no fatigue" }, "annotation": { "title": "不消耗疲劳标记", "content": "无值存在标记,用于不消耗疲劳的副本线索。静态存在不证明服务端疲劳扣除、活动开关或账号状态最终采用。\n\n不消耗疲劳值", "type": "text" }, "group": "dgn" }, { "id": "dgn.section.pathgate-object.bod1pc", "match": { "extensions": [ ".dgn" ] }, "target": { "kind": "section", "section": "pathgate object" }, "annotation": { "title": "副本中的门", "content": "副本中的门,其实是obj指向,真正的门ani在obj中。一般为10个数据,每个数据代表着一个门,-1代表没有门。\n\n#### 官方示例: dungeonsample_new_drop.dgn\n\n```pvf\n[pathgate object] // 通道被动对象索引。不存在的对象为 -1\n100 101 102 // 左侧普通通道 / 首领通道 / 墙壁\n200 201 202 // 右侧普通通道 / 首领通道 / 墙壁\n300 301 // 上方普通通道 / 首领通道\n400 401 // 下方普通通道 / 首领通道\n```\n\n#### 官方示例: dungeonsample.dgn\n\n副本中的门\n\n官方示例:\n#### 官方示例: dungeonsample_new_drop.dgn\n\n```pvf\n[pathgate object] // 通道被动对象索引。不存在的对象为 -1\n100 101 102 // 左侧普通通道 / 首领通道 / 墙壁\n200 201 202 // 右侧普通通道 / 首领通道 / 墙壁\n300 301 // 上方普通通道 / 首领通道\n400 401 // 下方普通通道", "type": "text" }, "group": "dgn" }, { "id": "dgn.section.player-kc.1rni3e", "match": { "extensions": [ ".dgn" ] }, "target": { "kind": "section", "section": "player kc" }, "annotation": { "title": "玩家之间互相击杀时的 finishPoint 计算常数", "content": "#### 官方示例: dungeonsample_new_drop.dgn\n\n```pvf\n// 玩家之间互相击杀时的 finishPoint 计算常数\n[player kc] 1000\n```\n\n#### 官方示例: dungeonsample.dgn\n\n玩家之间互相击杀时的 finishPoint 计算常数", "type": "text" }, "group": "dgn" }, { "id": "dgn.section.prohibit-practice.112xyw", "match": { "extensions": [ ".dgn" ] }, "target": { "kind": "section", "section": "prohibit practice" }, "annotation": { "title": "是否禁止练习模式(1", "content": "#### 官方示例: dungeonsample_new_drop.dgn\n\n```pvf\n[prohibit practice] 1 // 是否禁止练习模式(1: 禁止,不写标签或写0则不禁止)\n```\n\n是否禁止练习模式(1", "type": "text" }, "group": "dgn" }, { "id": "dgn.section.quest-connection.1v3c28", "match": { "extensions": [ ".dgn" ] }, "target": { "kind": "section", "section": "quest connection" }, "annotation": { "title": "进行0 完成1", "content": "#### 官方示例: dungeonsample.dgn\n\n```pvf\n[quest connection] 0 4003 -1 // 进行0 完成1,任务编号,难度( -1 所有难度,0 普通,1 冒险,2 王者,3 英雄)\n```\n\n进行0 完成1", "type": "text" }, "group": "dgn" }, { "id": "dgn.section.recommended-level.z79wca", "match": { "extensions": [ ".dgn" ] }, "target": { "kind": "section", "section": "recommended level" }, "annotation": { "title": "推荐等级区间", "content": "副本推荐等级范围,真实样本为两个数值(下限、上限)。它用于静态推荐/展示线索,不等同 [minimum required level],也不证明服务端进入限制。\n\n推荐级别", "type": "text" }, "group": "dgn" }, { "id": "dgn.section.required-item.bbimpb", "match": { "extensions": [ ".dgn" ] }, "target": { "kind": "section", "section": "required item" }, "annotation": { "title": "进图门票", "content": "进图门票\n分别为 物品代码,数量,消耗量\n在etc/accountcargo.etc中\n表示升级账号金库所需材料\n\n#### 官方示例: dungeonsample_new_drop.dgn\n\n```pvf\n[required item] 10003 1 1 // 进入地下城所需的物品。索引,数量,是否消耗。消耗为0则不消耗\n // 不想指定则移除标签或将物品索引设为65535\n```\n\n#### 官方示例: dungeonsample.dgn\n\n进图门票", "type": "text" }, "group": "dgn" }, { "id": "dgn.section.revision-table.ybfkh8", "match": { "extensions": [ ".dgn" ] }, "target": { "kind": "section", "section": "revision table" }, "annotation": { "title": "指定修正表路径", "content": "#### 官方示例: dungeonsample.dgn\n\n```pvf\n[revision table] `Dungeon/Act1/table/Lorien.tbl` // 指定修正表路径。\n```\n\n指定修正表路径\n\n官方示例:\n#### 官方示例: dungeonsample.dgn\n\n#### 官方示例: table/lorien.tbl\n\n```pvf\n// 死亡之塔修正表。死亡之塔用户侧。适用于用户角色和用户角色召唤的怪物。召唤物,召唤APC\n// [0]伤害 [1]防御 [2]HP [3]力量 [4]体力 [5]智力 [6]精神\n// [7]物理绝对伤害 [8]物理伤害修正 [9]魔法绝对伤害 [10]魔法伤害修正 [11]状态异常伤害修正 [12] MP\n[Revision Table] `character`\t//`monster` //`apc`\n239.80 \t50\t180.21\t29.72\t29.72\t28.96\t26.21\t4.51\t4.51\t4.51\t4.51\t47.96\t1.0\n145.04 \t25\t138.39\t18.72\t18.74\t18.43\t17.27\t4.06\t4.06\t4.06\t4.06\t29.49\t1.0\n102.35 \t16.67\t112.32\t13.67\t13.68\t13.52\t12.89\t3.69\t3.69\t3.69\t3.69\t21.16\t1.0\n78.08 \t12.5\t94.515\t10.76\t10.77\t10.67\t10.28\t3.38\t3.38\t3.38\t3.38\t16.42\t1.0\n62.44 \t10\t81.585\t8.88\t8.89\t8.82\t8.55\t3.12\t3.12\t3.12\t3.12\t13.36\t1.0\n41.48 \t8.33\t71.775\t7.56\t7.56\t7.51\t7.32\t2.9\t2.9\t2.9\t2.9\t11.23\t1.0\n35.09 \t7.14\t64.065\t6.58\t6.58\t6.54\t6.4\t2.71\t2.71\t2.71\t2.71\t9.66\t1.0\n30.18 \t6.25\t57.84\t5.82\t5.82\t5.8\t5.69\t2.54\t2.54\t2.54\t2.54\t8.45\t1.0\n26.33 \t5.56\t52.725\t5.22\t5.22\t5.2\t5.12\t2.39\t2.39\t2.39\t2.39\t7.5\t1.0\n23.18 \t5\t48.45\t4.73\t4.74\t4.72\t4.65\t2.26\t2.26\t2.26\t2.26\t6.72\t1.0\n15.76 \t4.55\t44.805\t4.33\t4.33\t4.32\t4.26\t2.14\t2.14\t2.14\t2.14\t6.08\t1.0\n14.13 \t4.17\t41.67\t3.99\t3.99\t3.98\t3.93\t2.03\t2.03\t2.03\t2.03\t5.54\t1.0\n12.78 \t3.85\t38.955\t3.7\t3.7\t3.69\t3.65\t1.93\t1.93\t1.93\t1.93\t5.09\t1.0\n11.58 \t3.57\t36.57\t3.45\t3.45\t3.44\t3.41\t1.85\t1.85\t1.85\t1.85\t4.69\t1.0\n10.56 \t3.33\t34.455\t3.23\t3.23\t3.22\t3.19\t1.77\t1.77\t1.77\t1.77\t4.35\t1.0\n8.27 \t3.13\t32.565\t3.03\t3.04\t3.03\t3\t1.69\t1.69\t1.69\t1.69\t4.05\t1.0\n7.60 \t2.94\t30.885\t2.86\t2.86\t2.86\t2.84\t1.62\t1.62\t1.62\t1.62\t3.78\t1.0\n7.01 \t2.78\t29.355\t2.71\t2.71\t2.71\t2.69\t1.56\t1.56\t1.56\t1.56\t3.54\t1.0\n6.49 \t2.63\t27.99\t2.57\t2.57\t2.57\t2.55\t1.5\t1.5\t1.5\t1.5\t3.33\t1.0\n6.02 \t2.5\t26.73\t2.45\t2.45\t2.45\t2.43\t1.45\t1.45\t1.45\t1.45\t3.14\t1.0\n4.73 \t2.38\t25.59\t2.34\t2.34\t2.33\t2.32\t1.4\t1.4\t1.4\t1.4\t2.97\t1.0\n4.42 \t2.27\t24.525\t2.23\t2.23\t2.23\t2.22\t1.35\t1.35\t1.35\t1.35\t2.81\t1.0\n4.14 \t2.17\t23.565\t2.14\t2.14\t2.14\t2.13\t1.31\t1.31\t1.31\t1.31\t2.67\t1.0\n3.89 \t2.08\t22.665\t2.05\t2.05\t2.05\t2.04\t1.27\t1.27\t1.27\t1.27\t2.54\t1.0\n3.65 \t2\t21.84\t1.97\t1.97\t1.97\t1.96\t1.23\t1.23\t1.23\t1.23\t2.42\t1.0\n3.43 \t1.92\t21.06\t1.9\t1.9\t1.9\t1.89\t1.19\t1.19\t1.19\t1.19\t2.3\t1.0\n3.23 \t1.85\t20.34\t1.83\t1.83\t1.83\t1.82\t1.16\t1.16\t1.16\t1.16\t2.2\t1.0\n3.06 \t1.79\t19.68\t1.77\t1.77\t1.77\t1.76\t1.13\t1.13\t1.13\t1.13\t2.11\t1.0\n2.89 \t1.72\t19.05\t1.71\t1.71\t1.71\t1.7\t1.1\t1.1\t1.1\t1.1\t2.02\t1.0\n2.73 \t1.67\t18.45\t1.65\t1.65\t1.65\t1.65\t1.07\t1.07\t1.07\t1.07\t1.94\t1.0\n2.58 \t1.61\t17.91\t1.6\t1.6\t1.6\t1.59\t1.04\t1.04\t1.04\t1.04\t1.86\t1.0\n2.45 \t1.56\t17.385\t1.55\t1.55\t1.55\t1.55\t1.02\t1.02\t1.02\t1.02\t1.79\t1.0\n2.32 \t1.52\t16.89\t1.5\t1.5\t1.5\t1.5\t0.99\t0.99\t0.99\t0.99\t1.72\t1.0\n2.20 \t1.47\t16.425\t1.46\t1.46\t1.46\t1.46\t0.97\t0.97\t0.97\t0.97\t1.66\t1.0\n2.09 \t1.43\t15.99\t1.42\t1.42\t1.42\t1.42\t0.94\t0.94\t0.94\t0.94\t1.6\t1.0\n1.98 \t1.39\t15.57\t1.38\t1.38\t1.38\t1.38\t0.92\t0.92\t0.92\t0.92\t1.54\t1.0\n1.89 \t1.35\t15.165\t1.34\t1.34\t1.34\t1.34\t0.9\t0.9\t0.9\t0.9\t1.49\t1.0\n1.79 \t1.32\t14.79\t1.31\t1.31\t1.31\t1.31\t0.88\t0.88\t0.88\t0.88\t1.44\t1.0\n1.70 \t1.28\t14.43\t1.28\t1.28\t1.28\t1.28\t0.86\t0.86\t0.86\t0.86\t1.39\t1.0\n1.61 \t1.25\t14.1\t1.25\t1.25\t1.25\t1.24\t0.85\t0.85\t0.85\t0.85\t1.34\t1.0\n1.54 \t1.22\t13.77\t1.22\t1.22\t1.22\t1.21\t0.83\t0.83\t0.83\t0.83\t1.3\t1.0\n1.47 \t1.19\t13.455\t1.19\t1.19\t1.19\t1.19\t0.81\t0.81\t0.81\t0.81\t1.26\t1.0\n1.39 \t1.16\t13.155\t1.16\t1.16\t1.16\t1.16\t0.8\t0.8\t0.8\t0.8\t1.22\t1.0\n1.34 \t1.14\t12.87\t1.13\t1.13\t1.13\t1.13\t0.78\t0.78\t0.78\t0.78\t1.19\t1.0\n1.27 \t1.11\t12.6\t1.11\t1.11\t1.11\t1.11\t0.77\t0.77\t0.77\t0.77\t1.15\t1.0\n1.21 \t1.09\t12.345\t1.09\t1.09\t1.09\t1.09\t0.75\t0.75\t0.75\t0.75\t1.12\t1.0\n1.16 \t1.06\t12.09\t1.06\t1.06\t1.06\t1.06\t0.74\t0.74\t0.74\t0.74\t1.09\t1.0\n1.10 \t1.04\t11.85\t1.04\t1.04\t1.04\t1.04\t0.73\t0.73\t0.73\t0.73\t1.06\t1.0\n1.05 \t1.02\t11.625\t1.02\t1.02\t1.02\t1.02\t0.71\t0.71\t0.71\t0.71\t1.03\t1.0\n1\t1\t11.4\t1\t1\t1\t1\t0.7\t0.7\t0.7\t0.7\t1\t1.0\n0.97\t0.98\t11.19\t0.98\t0.98\t0.98\t0.98\t0.69\t0.69\t0.69\t0.69\t0.97\t1.0\n0.95\t0.96\t10.98\t0.96\t0.96\t0.96\t0.96\t0.68\t0.68\t0.68\t0.68\t0.95\t1.0\n0.92\t0.94\t10.785\t0.94\t0.94\t0.94\t0.94\t0.67\t0.67\t0.67\t0.67\t0.92\t1.0\n0.9\t0.93\t10.59\t0.93\t0.93\t0.93\t0.93\t0.65\t0.65\t0.65\t0.65\t0.9\t1.0\n0.88\t0.91\t10.41\t0.91\t0.91\t0.91\t0.91\t0.64\t0.64\t0.64\t0.64\t0.88\t1.0\n0.86\t0.89\t10.23\t0.89\t0.89\t0.89\t0.89\t0.63\t0.63\t0.63\t0.63\t0.86\t1.0\n0.84\t0.88\t10.05\t0.88\t0.88\t0.88\t0.88\t0.62\t0.62\t0.62\t0.62\t0.84\t1.0\n0.82\t0.86\t9.885\t0.86\t0.86\t0.86\t0.86\t0.62\t0.62\t0.62\t0.62\t0.82\t1.0\n0.8\t0.85\t9.72\t0.85\t0.85\t0.85\t0.85\t0.61\t0.61\t0.61\t0.61\t0.8\t1.0\n0.78\t0.83\t9.57\t0.84\t0.84\t0.84\t0.84\t0.6\t0.6\t0.6\t0.6\t0.78\t1.0\n0.76\t0.82\t9.42\t0.82\t0.82\t0.82\t0.82\t0.59\t0.59\t0.59\t0.59\t0.76\t1.0\n0.74\t0.81\t9.27\t0.81\t0.81\t0.81\t0.81\t0.58\t0.58\t0.58\t0.58\t0.74\t1.0\n0.73\t0.79\t9.135\t0.8\t0.8\t0.8\t0.8\t0.57\t0.57\t0.57\t0.57\t0.73\t1.0\n0.71\t0.78\t9\t0.78\t0.78\t0.78\t0.78\t0.56\t0.56\t0.56\t0.56\t0.71\t1.0\n0.7\t0.77\t8.865\t0.77\t0.77\t0.77\t0.77\t0.56\t0.56\t0.56\t0.56\t0.7\t1.0\n0.68\t0.76\t8.73\t0.76\t0.76\t0.76\t0.76\t0.55\t0.55\t0.55\t0.55\t0.68\t1.0\n0.67\t0.75\t8.61\t0.75\t0.75\t0.75\t0.75\t0.54\t0.54\t0.54\t0.54\t0.67\t1.0\n0.65\t0.74\t8.475\t0.74\t0.74\t0.74\t0.74\t0.53\t0.53\t0.53\t0.53\t0.65\t1.0\n0.64\t0.72\t8.37\t0.73\t0.73\t0.73\t0.73\t0.53\t0.53\t0.53\t0.53\t0.64\t1.0\n0.63\t0.71\t8.25\t0.72\t0.72\t0.72\t0.72\t0.52\t0.52\t0.52\t0.52\t0.63\t1.0\n0.61\t0.7\t8.13\t0.71\t0.71\t0.71\t0.71\t0.51\t0.51\t0.51\t0.51\t0.61\t1.0\n0.6\t0.69\t8.025\t0.7\t0.7\t0.7\t0.7\t0.51\t0.51\t0.51\t0.51\t0.6\t1.0\n0.59\t0.68\t7.92\t0.69\t0.69\t0.69\t0.69\t0.5\t0.5\t0.5\t0.5\t0.59\t1.0\n0.58\t0.68\t7.815\t0.68\t0.68\t0.68\t0.68\t0.5\t0.5\t0.5\t0.5\t0.58\t1.0\n0.57\t0.67\t7.71\t0.67\t0.67\t0.67\t0.67\t0.49\t0.49\t0.49\t0.49\t0.57\t1.0\n0.56\t0.66\t7.62\t0.66\t0.66\t0.66\t0.66\t0.48\t0.48\t0.48\t0.48\t0.56\t1.0\n0.54\t0.65\t7.515\t0.65\t0.65\t0.65\t0.65\t0.48\t0.48\t0.48\t0.48\t0.54\t1.0\n0.53\t0.64\t7.425\t0.64\t0.64\t0.64\t0.65\t0.47\t0.47\t0.47\t0.47\t0.53\t1.0\n0.52\t0.63\t7.335\t0.64\t0.64\t0.64\t0.64\t0.47\t0.47\t0.47\t0.47\t0.52\t1.0\n0.52\t0.63\t7.245\t0.63\t0.63\t0.63\t0.63\t0.46\t0.46\t0.46\t0.46\t0.52\t1.0\n0.51\t0.62\t7.155\t0.62\t0.62\t0.62\t0.62\t0.46\t0.46\t0.46\t0.46\t0.51\t1.0\n0.5\t0.61\t7.08\t0.61\t0.61\t0.61\t0.61\t0.45\t0.45\t0.45\t0.45\t0.5\t1.0\n0.49\t0.6\t6.99\t0.61\t0.61\t0.61\t0.61\t0.45\t0.45\t0.45\t0.45\t0.49\t1.0\n0.48\t0.6\t6.915\t0.6\t0.6\t0.6\t0.6\t0.44\t0.44\t0.44\t0.44\t0.48\t1.0\n0.47\t0.59\t6.825\t0.59\t0.59\t0.59\t0.59\t0.44\t0.44\t0.44\t0.44\t0.47\t1.0\n0.46\t0.58\t6.75\t0.58\t0.58\t0.59\t0.59\t0.43\t0.43\t0.43\t0.43\t0.46\t1.0\n0.45\t0.57\t6.675\t0.58\t0.58\t0.58\t0.58\t0.43\t0.43\t0.43\t0.43\t0.45\t1.0\n0.45\t0.57\t6.6\t0.57\t0.57\t0.57\t0.57\t0.42\t0.42\t0.42\t0.42\t0.45\t1.0\n0.44\t0.56\t6.525\t0.57\t0.57\t0.57\t0.57\t0.42\t0.42\t0.42\t0.42\t0.44\t1.0\n0.43\t0.56\t6.465\t0.56\t0.56\t0.56\t0.56\t0.41\t0.41\t0.41\t0.41\t0.43\t1.0\n0.43\t0.55\t6.39\t0.55\t0.55\t0.55\t0.55\t0.41\t0.41\t0.41\t0.41\t0.43\t1.0\n0.42\t0.54\t6.33\t0.55\t0.55\t0.55\t0.55\t0.41\t0.41\t0.41\t0.41\t0.42\t1.0\n0.41\t0.54\t6.255\t0.54\t0.54\t0.54\t0.54\t0.4\t0.4\t0.4\t0.4\t0.41\t1.0\n0.4\t0.53\t6.195\t0.54\t0.54\t0.54\t0.54\t0.4\t0.4\t0.4\t0.4\t0.4\t1.0\n0.4\t0.53\t6.135\t0.53\t0.53\t0.53\t0.53\t0.39\t0.39\t0.39\t0.39\t0.4\t1.0\n0.39\t0.52\t6.06\t0.52\t0.52\t0.52\t0.53\t0.39\t0.39\t0.39\t0.39\t0.39\t1.0\n0.39\t0.52\t6\t0.52\t0.52\t0.52\t0.52\t0.39\t0.39\t0.39\t0.39\t0.39\t1.0\n0.38\t0.51\t5.94\t0.51\t0.51\t0.51\t0.51\t0.38\t0.38\t0.38\t0.38\t0.38\t1.0\n0.37\t0.51\t5.88\t0.51\t0.51\t0.51\t0.51\t0.38\t0.38\t0.38\t0.38\t0.37\t1.0\n[/Revision Table]\n```", "type": "text" }, "group": "dgn" }, { "id": "dgn.section.reward-item-rate.fgjorh", "match": { "extensions": [ ".dgn" ] }, "target": { "kind": "section", "section": "reward item rate" }, "annotation": { "title": "奖励物品比率", "content": "副本数据中的 [reward item rate] 闭合块。已见数据形态为单值或数值序列;列数、单位和取值刻度不能只凭字段名推断。比率或随机刻度不能自动按百分数解释,静态权重也不等于最终实机概率。\n\n回报率的项目", "type": "text" }, "group": "dgn" }, { "id": "dgn.section.risk-dungeon.rgn68s", "match": { "extensions": [ ".dgn" ] }, "target": { "kind": "section", "section": "risk dungeon" }, "annotation": { "title": "风险副本标记", "content": "风险副本的单值标记,真实样本可见 1。旧注释将其直接等同“魂图”缺少当前证据;具体副本分类、UI 和运行规则需同版本样本验证。\n\n是否魂图\n\n是否远古图", "type": "text" }, "group": "dgn" }, { "id": "dgn.section.schedule.1b7lho", "match": { "extensions": [ ".dgn" ] }, "target": { "kind": "section", "section": "schedule" }, "annotation": { "title": "时间表", "content": "时间表\n周一到周日\n`MON`\n`TUE`\n`WED`\n`THU`\n`FRI`\n`SAT`\n`SUN`\n`ALL` 代表每天\n\n时间表", "type": "text" }, "group": "dgn" }, { "id": "dgn.section.seal-door-map-index.15ynqm", "match": { "extensions": [ ".dgn" ] }, "target": { "kind": "section", "section": "seal door map index" }, "annotation": { "title": "封印门地图索引", "content": "封印门/深渊房相关地图索引线索,真实样本为单个数字。该数字应先通过 map/map.lst 复核,不得从编号形状猜路径;静态引用不证明深渊房出现或门逻辑正常。\n\n指向深渊派对map房间", "type": "text" }, "group": "dgn" }, { "id": "dgn.section.size.9vvq70", "match": { "extensions": [ ".dgn" ] }, "target": { "kind": "section", "section": "size" }, "annotation": { "title": "这个在副本中代表 这个副本小地图的大小", "content": "这个在副本中代表 这个副本小地图的大小\n\n[size]\n 4 1\n\n横坐标是4纵坐标是1\n+----------------------+\n| 口 口 口 口 |\n+----------------------+\n副本地图就是一条直线\n\n#### 官方示例: dungeonsample_new_drop.dgn\n\n```pvf\n[size] 3 5 // 横向地图大小,纵向地图大小(最大 50x50)\n```\n\n```pvf\n[size] 5 3 // 横向地图大小,纵向地图大小\n```\n\n#### 官方示例: dungeonsample.dgn", "type": "text" }, "group": "dgn" }, { "id": "dgn.section.spawn-boss-index.1ajmey", "match": { "extensions": [ ".dgn" ] }, "target": { "kind": "section", "section": "spawn boss index" }, "annotation": { "title": "生成的首领索引", "content": "#### 官方示例: dungeonsample_new_drop.dgn\n\n```pvf\n// 生成的首领索引\n[spawn boss index]\n50000\n[/spawn boss index]\n```\n\n#### 官方示例: dungeonsample.dgn\n\n生成的首领索引", "type": "text" }, "group": "dgn" }, { "id": "dgn.section.spawn-common-champion-index.1fad6u", "match": { "extensions": [ ".dgn" ] }, "target": { "kind": "section", "section": "spawn common champion index" }, "annotation": { "title": "生成的普通冠军索引", "content": "#### 官方示例: dungeonsample_new_drop.dgn\n\n```pvf\n// 生成的普通冠军索引\n[spawn common champion index]\n3000\n[/spawn common champion index]\n```\n\n#### 官方示例: dungeonsample.dgn\n\n生成的普通冠军索引", "type": "text" }, "group": "dgn" }, { "id": "dgn.section.spawn-common-monster-index.1q8wn1", "match": { "extensions": [ ".dgn" ] }, "target": { "kind": "section", "section": "spawn common monster index" }, "annotation": { "title": "生成的普通怪物索引", "content": "#### 官方示例: dungeonsample_new_drop.dgn\n\n```pvf\n// 生成的普通怪物索引\n[spawn common monster index]\n1\n[/spawn common monster index]\n```\n\n#### 官方示例: dungeonsample.dgn\n\n生成的普通怪物索引", "type": "text" }, "group": "dgn" }, { "id": "dgn.section.spawn-step-max.15m8ns", "match": { "extensions": [ ".dgn" ] }, "target": { "kind": "section", "section": "spawn step max" }, "annotation": { "title": "最大生成阶段", "content": "#### 官方示例: dungeonsample_new_drop.dgn\n\n```pvf\n// 最大生成阶段\n[spawn step max] 5\n```\n\n#### 官方示例: dungeonsample.dgn\n\n最大生成阶段", "type": "text" }, "group": "dgn" }, { "id": "dgn.section.spawn-step-resource-pool.1oljnl", "match": { "extensions": [ ".dgn" ] }, "target": { "kind": "section", "section": "spawn step resource pool" }, "annotation": { "title": "各生成阶段资源池", "content": "#### 官方示例: dungeonsample_new_drop.dgn\n\n```pvf\n// 各生成阶段资源池,按 [spawn step max] 指定的数量指定\n[spawn step resource pool]\n30\n40\n50\n60\n70\n```\n\n#### 官方示例: dungeonsample.dgn\n\n各生成阶段资源池", "type": "text" }, "group": "dgn" }, { "id": "dgn.section.spawn-super-champion-index.1uqgan", "match": { "extensions": [ ".dgn" ] }, "target": { "kind": "section", "section": "spawn super champion index" }, "annotation": { "title": "生成的超级冠军索引", "content": "#### 官方示例: dungeonsample_new_drop.dgn\n\n```pvf\n// 生成的超级冠军索引\n[spawn super champion index]\n3001\n[/spawn super champion index]\n```\n\n#### 官方示例: dungeonsample.dgn\n\n生成的超级冠军索引", "type": "text" }, "group": "dgn" }, { "id": "dgn.section.special-passive-object-item.yk4i3", "match": { "extensions": [ ".dgn" ] }, "target": { "kind": "section", "section": "special passive object item" }, "annotation": { "title": "特殊被动对象掉落表", "content": "特殊被动对象生成物品信息的闭合块。官方样例按“掉落列表索引、等级指定值(-1 表示跟随副本等级)、物品项数量”开头,随后重复“物品 ID、生成概率”记录;不同列表可连续出现。物品 ID 必须按目标上下文解析正确 registry,概率刻度和对象触发范围需目标样本/实机确认。\n\n#### 官方示例: dungeonsample_new_drop.dgn\n\n```pvf\n//特殊被动对象生成的物品信息\n[special passive object item]\n0 -1 3 //用于掉落列表的索引值(重复则出问题), 等级指定值(-1则跟随地下城等级) 物品列表有几项的计数\n1000 5000 //物品索引 生成概率\n1001 3000\n1002 2000\n\n1 -1 3\n1003 5000\n1004 3000\n1005 2000\n\n2 22 0\n[/special passive object item]\n```\n\n特别被动对象项目\n\n特别被动对象项目\n建筑物掉落\n以格蓝迪为例\n[special passive object item]\n\t0\t-1\t1\t3341(魔刹石)\t2500(目测是概率)\n[/special passive object item]\n\n前三个属性不知道\n自己测试", "type": "text" }, "group": "dgn" }, { "id": "dgn.section.start-map.11wpud", "match": { "extensions": [ ".dgn" ] }, "target": { "kind": "section", "section": "start map" }, "annotation": { "title": "可设置为起始地图的网格列表(x", "content": "#### 官方示例: dungeonsample_new_drop.dgn\n\n```pvf\n[start map] // 可设置为起始地图的网格列表(x, y)\n2 2\n1 2\n0 0\n[/start map]\n```\n\n#### 官方示例: dungeonsample.dgn\n\n可设置为起始地图的网格列表(x\n\n官方示例:\n#### 官方示例: dungeonsample_new_drop.dgn\n\n代表副本的第一个房间\n[map specification]\n0 0\n[map specification]\n这个是起始房间\n[start map]就是0 0\n-----------------------------------------------------------\n另一种\n[map specification]\n1 0\n[map sp\n\n#### 官方示例: uiactionsample.act\n\n```pvf\n// 在动作开始后的时间点执行条件语句\n\t[ON TIMING][START MAP] 100 100 \t// 开始时间和结束时间相同,则仅在该时间执行一次\n```", "type": "text" }, "group": "dgn" }, { "id": "dgn.section.super-champion-exp-const.1k0kk7", "match": { "extensions": [ ".dgn" ] }, "target": { "kind": "section", "section": "super champion exp const" }, "annotation": { "title": "超级冠军经验值计算常数", "content": "#### 官方示例: dungeonsample_new_drop.dgn\n\n```pvf\n// 超级冠军经验值计算常数\n[super champion exp const] 2000\n```\n\n#### 官方示例: dungeonsample.dgn\n\n超级冠军经验值计算常数", "type": "text" }, "group": "dgn" }, { "id": "dgn.section.super-champion-item-drop-list.5ujx9x", "match": { "extensions": [ ".dgn" ] }, "target": { "kind": "section", "section": "super champion item drop list" }, "annotation": { "title": "超级冠军物品掉落列表", "content": "#### 官方示例: dungeonsample_new_drop.dgn\n\n```pvf\n// 超级冠军物品掉落列表\n[super champion item drop list]\n1000\n1001\n[/super champion item drop list]\n```\n\n#### 官方示例: dungeonsample.dgn\n\n超级冠军物品掉落列表", "type": "text" }, "group": "dgn" }, { "id": "dgn.section.super-champion-item-drop-prob.1kntda", "match": { "extensions": [ ".dgn" ] }, "target": { "kind": "section", "section": "super champion item drop prob" }, "annotation": { "title": "超级冠军物品掉落率", "content": "#### 官方示例: dungeonsample_new_drop.dgn\n\n```pvf\n// 超级冠军物品掉落率\n[super champion item drop prob] 40\n```\n\n#### 官方示例: dungeonsample.dgn\n\n超级冠军物品掉落率", "type": "text" }, "group": "dgn" }, { "id": "dgn.section.tournament-dungeon.108wrs", "match": { "extensions": [ ".dgn" ] }, "target": { "kind": "section", "section": "tournament dungeon" }, "annotation": { "title": "武斗场副本标记", "content": "武斗场/竞赛副本的单值标记,真实样本在黄龙大会副本中为 1。静态标记不证明比赛流程、匹配、怪物顺序、奖励或服务端放行。\n\n比赛地牢", "type": "text" }, "group": "dgn" }, { "id": "dgn.section.tower-item-drop.185u4u", "match": { "extensions": [ ".dgn" ] }, "target": { "kind": "section", "section": "tower item drop" }, "annotation": { "title": "死亡之塔中是否掉落物品(1", "content": "#### 官方示例: dungeonsample_new_drop.dgn\n\n```pvf\n/////////////////////////////////////////////////////////////////////\n// 死亡之塔用数据\n[tower item drop] 0 //死亡之塔中是否掉落物品(1: 掉落,0: 不掉落)\n```\n\n死亡之塔中是否掉落物品(1", "type": "text" }, "group": "dgn" }, { "id": "dgn.section.tower-limit-of-stackable-item.rlnj71", "match": { "extensions": [ ".dgn" ] }, "target": { "kind": "section", "section": "tower limit of stackable item" }, "annotation": { "title": "塔内可堆叠道具限制参数", "content": "塔类副本的 stackable 道具使用限制参数,真实样本为单值 1。受限道具范围、例外、客户端提示和服务端执行需目标玩法实机验证。\n\n堆叠的物品的塔极限", "type": "text" }, "group": "dgn" }, { "id": "dgn.section.use-entering-title.pr21bo", "match": { "extensions": [ ".dgn" ] }, "target": { "kind": "section", "section": "use entering title" }, "annotation": { "title": "使用输入标题", "type": "text" }, "group": "dgn" }, { "id": "dgn.section.use-spectator-mode.107z4y", "match": { "extensions": [ ".dgn" ] }, "target": { "kind": "section", "section": "use spectator mode" }, "annotation": { "title": "使用观众模式", "type": "text" }, "group": "dgn" }, { "id": "dgn.section.use-zoom-rate.oic2n3", "match": { "extensions": [ ".dgn" ] }, "target": { "kind": "section", "section": "use zoom rate" }, "annotation": { "title": "副本内镜头缩放倍率", "content": "副本内镜头缩放倍率\n\n1.0=100%", "type": "text" }, "group": "dgn" }, { "id": "dgn.section.warroom-map-index.1lnqwu", "match": { "extensions": [ ".dgn" ] }, "target": { "kind": "section", "section": "warroom map index" }, "annotation": { "title": "竞赛地下城中要使用的地图索引", "content": "#### 官方示例: dungeonsample_new_drop.dgn\n\n```pvf\n// 竞赛地下城中要使用的地图索引\n[warroom map index] 1000\n```\n\n#### 官方示例: dungeonsample.dgn\n\n竞赛地下城中要使用的地图索引", "type": "text" }, "group": "dgn" }, { "id": "dgn.section.worldmap-info.1558mw", "match": { "extensions": [ ".dgn" ] }, "target": { "kind": "section", "section": "worldmap info" }, "annotation": { "title": "要显示在世界地图上的信息", "content": "#### 官方示例: dungeonsample_new_drop.dgn\n\n```pvf\n[worldmap info] // 要显示在世界地图上的信息\n200 302 // 未激活地图的坐标\n210 312 // 已激活地图的坐标\n`Godae.img` // 世界地图中要使用的图像包\n```\n\n#### 官方示例: dungeonsample.dgn\n\n```pvf\n// 注意 [worldmap info] : 旧版本, [worldmap pattern info] : 改版后版本, 只能使用其中一个。\n[worldmap info] // 要显示在世界地图上的信息\n200 302 // 未激活地图的坐标\n210 312 // 已激活地图的坐标\n`Godae.img` // 世界地图中要使用的图像包\n```\n\n要显示在世界地图上的信息", "type": "text" }, "group": "dgn" }, { "id": "dgn.section.worldmap-pattern-info.3ynje3", "match": { "extensions": [ ".dgn" ] }, "target": { "kind": "section", "section": "worldmap pattern info" }, "annotation": { "title": "世界地图图案与槽位信息", "content": "副本在世界地图/选择界面中的图案与槽位配置,真实样本包含图案类型/索引、槽位 IMG 路径和帧/控制值。PVF 引用不证明 UI 正常或客户端 ImagePacks2/NPK 资源完整。\n\n#### 官方示例: dungeonsample.dgn\n\n```pvf\n[worldmap pattern info] 1 5 // 改进版世界地图顺序:图案类型 图案索引(从1开始)\n`WorldMap/Act1/elvengard.img` 0 // 世界地图中要使用的图像包,图像包内的索引\n```\n\n世界地图模式信息", "type": "text" }, "group": "dgn" }, { "id": "equ.section.active-status-control-info.128xl7", "match": { "extensions": [ ".equ" ] }, "target": { "kind": "section", "section": "active status control info" }, "annotation": { "title": "状态控制收益配置", "content": "状态控制收益配置: 名称 概率 提升 持续 额外参数\n`bleeding` 10 20 30 n //流血几率增加(10%)等级增加(20)持续时间增加(30%)其他信息(对于流血的情况,伤害增加率 n%)\n\n#### 官方示例: equipmentsample.equ\n\n```pvf\n[active status control info] `bleeding` 10 20 30 n\t// 出血概率增加(10%) 等级增加(20) 持续时间增加(30%) 其他信息(出血的情况下是伤害增加率 n%)\n\t\t\t\t\t\t\t// freeze, stun, sleep, haste, bless, confuse, hold : 无其他信息\n\t\t\t\t\t\t\t// poison, lightning, stone, bleeding : 其他信息 1个(伤害增加率)\n\t\t\t\t\t\t\t// curse : 其他信息 1个(属性减少比率), weapon break, armor break : 其他信息 1个(耐久度消耗检查次数)\n\t\t\t\t\t\t\t// slow : 其他信息 2个(移动速度减少比率, 攻击速度减少比率), blind : 其他信息 2个(视野减少率,僵直率增加率)\n\t\t\t\t\t\t\t// burn : 其他信息 3个(伤害增加率, 周围伤害, 周围伤害应用间隔)\n```\n\n- 状态控制收益配置\n- 出血概率增加(10%) 等级增加(20) 持续时间增加(30%) 其他信", "type": "text" }, "group": "equ" }, { "id": "equ.section.active-status-resistance.1t5zbi", "match": { "extensions": [ ".equ" ] }, "target": { "kind": "section", "section": "active status resistance" }, "annotation": { "title": "异常状态抗性(then效果)", "content": "官方样例中的异常状态抗性修改效果,参数包含异常状态、单位和数值。状态 token、正负方向和抗性公式需目标版本验证。\n\n#### 官方示例: equipmentsamplebytool.equ\n\n```pvf\n//1.2.20 active status resistance #\n\t[active status resistance]\n\t\t{must1}{exp}状态变化 {/exp}{string}\n\t\t{must2}{exp}数值单位{/exp}{string}\n\t\t{must3}{exp}数值{/exp}{int(0:)}\n```\n\n1", "type": "text" }, "group": "equ" }, { "id": "equ.section.add-absolute-defense-percent.11rib9", "match": { "extensions": [ ".equ" ] }, "target": { "kind": "section", "section": "add absolute defense percent" }, "annotation": { "title": "添加绝对防御百分比", "content": "添加绝对防御百分比\n免伤\n\n添加绝对防御百分比", "type": "text" }, "group": "equ" }, { "id": "equ.section.additional-effect-index.ewfpfx", "match": { "extensions": [ ".equ" ] }, "target": { "kind": "section", "section": "additional effect index" }, "annotation": { "title": "附加效果索引", "content": "装备数据中的 [additional effect index] 字段。已见数据形态为单值或数值序列;列数、单位和取值刻度不能只凭字段名推断。数字索引必须先确定父块所用 registry;裸数字本身不是可确认的对象事实。\n\n附加效果指标", "type": "text" }, "group": "equ" }, { "id": "equ.section.after-attack.1wtjlt", "match": { "extensions": [ ".equ" ] }, "target": { "kind": "section", "section": "after attack" }, "annotation": { "title": "攻击后触发(if条件)", "content": "位于 [if] 的攻击后触发条件,真实样本可与 [combo]、[cooltime] 等条件组合。它只定义触发入口,具体效果仍由对应 [then] 决定。\n\n#### 官方示例: equipmentsamplebytool.equ\n\n```pvf\n//1.1.1.4 after attack #\n\t{prereq}[combo]|[aerial]{/prereq}{exp}仅在与 combo, aerial 标签组合时使用{/exp}[after attack]\n\t\t{must1}{exp}攻击成功时的值{/exp}{int(0:)}\n```\n\n1\n\n官方示例:\n#### 官方示例: equipmentsamplebytool.equ\n\n#### 官方示例: newmonstersample.mob\n\n```pvf\n[after attack] 0 // 相位变化后要攻击的索引。\n```", "type": "text" }, "group": "equ" }, { "id": "equ.section.any-body-equipped.ctfupk", "match": { "extensions": [ ".equ" ] }, "target": { "kind": "section", "section": "any body equipped" }, "annotation": { "title": "任何装备的身体", "type": "text" }, "group": "equ" }, { "id": "equ.section.apply-status-in-range.5c59zv", "match": { "extensions": [ ".equ" ] }, "target": { "kind": "section", "section": "apply status in range" }, "annotation": { "title": "按区间应用属性变化(then效果)", "content": "位于 [then],与 [change status in range] 条件配对,根据资源值区间逐步修改指定属性并限制上限。属性 token、运算符、每步变化值和上限必须按原列保留,换算方向需实机确认。\n\n#### 官方示例: equipmentsamplebytool.equ\n\n```pvf\n//1.1.1.18 change status in range #\n\t{prereq}[apply status in range]{/prereq}{exp}数值1~数值2符合时应用选项{/exp}[change status in range]\n\t\t{must1}{exp}状态{/exp}{string}\n\t\t{must2}{exp}数值1{/exp}{int(0:)}\n\t\t{must3}{exp}数值2{/exp}{int(0:)}\n```\n\n```pvf\n//1.2.32 apply status in range #\n\t[apply status in range]\n\t\t{must1}{exp}状态种类{/exp}{string}\n\t\t{must2}{exp}数值单位{/exp}{string}\n\t\t{must3}{exp}数值1{/exp}{int(0:)}\n\t\t{must4}{exp}数值2{/exp}{int(0:)}\n```\n\n1", "type": "text" }, "group": "equ" }, { "id": "equ.section.attach-pos.oj9j86", "match": { "extensions": [ ".equ" ] }, "target": { "kind": "section", "section": "attach pos" }, "annotation": { "title": "附着位置 (bottom/middle/top)", "content": "[effect] 内的附着位置 token,例如 bottom、middle、top。它是相对位置枚举,客户端层级和实际渲染需验证。\n\n#### 官方示例: equipmentsample.equ\n\n```pvf\n[attach pos] `bottom`\t\t\t//1// `bottom`, `middle`, `top`\n```\n\n```pvf\n[attach pos] `top`\t\t\t\t//1// `bottom`, `middle`, `top`\n```\n\n- 附着位置 (bottom/middle/top)\n- 1//", "type": "text" }, "group": "equ" }, { "id": "equ.section.aurora-graphic-effects.idysf3", "match": { "extensions": [ ".equ" ] }, "target": { "kind": "section", "section": "aurora graphic effects" }, "annotation": { "title": "极光图形效果", "content": "极光图形效果\n示例:\n[aurora graphic effects]\n 1(调用ani的数量)\t0(这里没有怎么搞懂,有写1的有写0的)\n `ani路径` 0(0表示图层在人物模型后,1表示复盖人物模型)\n[/aurora graphic effects]\n\n极光图形效果\n\n极光图形效果\n示例:\n[aurora graphic effects]\n\t1\t0\n\t`Character/Common/Animation/nsss.ani`\t0\n[/aurora graphic effects]\n1(调用的ani的数量)\n`Character/Common/Animation/nsss.ani`\t0(0表示在人物后面,1表示在人物前面)\n\n示例:\n\n[aurora graphic effects]\n\n1(调用ani的数量)\t0(这里没有怎么搞懂,有写1的有写0的)\n\n`ani路径` 0(0表示图层在人物模型后,1表示复盖人物模型)\n\n[/aurora graphic effects]", "type": "text" }, "group": "equ" }, { "id": "equ.section.casting.1tsr40", "match": { "extensions": [ ".equ" ] }, "target": { "kind": "section", "section": "casting" }, "annotation": { "title": "施放技能(if条件)", "content": "施放技能状态检查。在 [if] 块内作为触发条件使用,检查角色是否正在施放技能。\n\n#### 官方示例: equipmentsamplebytool.equ\n\n```pvf\n//1.1.1.8 casting #\n\t[casting]\n\t\t{must1}{exp}施放技能使用时的情况检查{/exp}{int(0:)}\n```\n\n- 铸件\n- 1\n\n铸件\n释放技能\n\n官方示例:\n#### 官方示例: equipmentsamplebytool.equ\n\n施法/蓄力:持续时间(毫秒)和后续执行的行为索引\n\n#### 官方示例: actionlibrary/080324ver/buster.act\n\n```pvf\n[CASTING] 1500 2 // 时间, 行为编号.\n```\n\n#### 官方示例: actionsample.act\n\n```pvf\n**[CASTING]** 5000 2 // 出现施法条后自动执行指定的行为。施法条持续时间,行为索引\n```", "type": "text" }, "group": "equ" }, { "id": "equ.section.change-type-ultimateskillcurscene.1fzufc", "match": { "extensions": [ ".equ" ] }, "target": { "kind": "section", "section": "change type ultimateskillcurscene" }, "annotation": { "title": "觉醒技能 CutScene 类型设置", "content": "觉醒技能过场场景类型的硬编码参数,目标样本可见 0。具体类型枚举和客户端过场行为未定性,必须保留原拼写与数值。\n\n#### 官方示例: equipmentsample.equ\n\n```pvf\n[change type ultimateSkillCurScene]\t0\t//觉醒技能过场图像类型 ( 0: 使徒 )\n//说明: 用于变更觉醒技能过场图像时的类型。\n//追加时必须做的事情:\n//\t第一,添加脚本的同时必须修改 UltimateSkillCutScene.etc 脚本。( 必须与 [CHANGE ULTIMATECUTSCENE ANI FILE] 类型一致 )\n//\t第二,请在源代码中增加 eTYPEULTIMATECUTSCENE 的类型。\n```\n\n- 觉醒技能 CutScene 类型设置\n- 觉醒技能过场图像类型 ( 0", "type": "text" }, "group": "equ" }, { "id": "equ.section.character-item-check.11usl1", "match": { "extensions": [ ".equ" ] }, "target": { "kind": "section", "section": "character item check" }, "annotation": { "title": "检查可否精炼异界气息", "content": "检查可否精炼异界气息\n\n[character item check]\n\t0\t1\t`waist`\n[/character item check]\n\n三个数据为一组:\n\n* 第一个为角色编号;\n\n* 第二个为角色职业(非数据库中的17、18、19、20,而是使用 1 到 4 来代表)。\n\n* 第三个为装备部位,参考 [equipment type]。", "type": "text" }, "group": "equ" }, { "id": "equ.section.character-name-y-revision.7ddxt1", "match": { "extensions": [ ".equ" ] }, "target": { "kind": "section", "section": "character name y revision" }, "annotation": { "title": "角色名称 Y 坐标修正", "content": "角色名称 Y 方向修正参数,目标样本为两个整数。两列对应的状态/场景和客户端坐标单位未定性,需外观实机验证。\n\n#### 官方示例: equipmentsamplebytool.equ\n\n```pvf\n///////////////////////////////////////////////////////////////\n//EquipmentSample.equ/////////////////////////////////////////////\n///////////////////////////////////////////////////////////////\n[character name y revision]\n\t{must1}{int(0:)}\n\t{must2}{int(0:)}\n```\n\n- 角色名称 Y 坐标修正\n- ////////////////////////////////////", "type": "text" }, "group": "equ" }, { "id": "equ.section.check-damage.3laoww", "match": { "extensions": [ ".equ" ] }, "target": { "kind": "section", "section": "check damage" }, "annotation": { "title": "受击伤害%检查(if条件)", "content": "位于 [if] 的受击伤害条件,用于检查单次受击造成的 HP 总扣除百分比是否达到阈值。比较单位和阈值必须按原列保留,并与同一 [if]/[then] 分支一起解释。\n\n#### 官方示例: equipmentsamplebytool.equ\n\n```pvf\n//1.1.1.2 check damage #\n\t{exp}受击时 HP 总扣除伤害 %{/exp}[check damage]\n\t\t{must1}{exp}% 或 +{/exp}{string}\n\t\t{must2}{exp}数值{/exp}{int(0:)}\n```\n\n1", "type": "text" }, "group": "equ" }, { "id": "equ.section.combo.1pm50c", "match": { "extensions": [ ".equ" ] }, "target": { "kind": "section", "section": "combo" }, "annotation": { "title": "连击条件(if条件)", "content": "位于 [if] 的连击数条件,常与 [after attack]、[cooltime] 等条件组合。连击计数范围、重置时机和触发边界需实机确认。\n\n#### 官方示例: equipmentsamplebytool.equ\n\n```pvf\n//1.1.1.4 after attack #\n\t{prereq}[combo]|[aerial]{/prereq}{exp}仅在与 combo, aerial 标签组合时使用{/exp}[after attack]\n\t\t{must1}{exp}攻击成功时的值{/exp}{int(0:)}\n```\n\n```pvf\n//1.1.2.20 combo #\n\t{exp}指定连击达到数值时{/exp}[combo]\n\t\t{must1}{exp}数值{/exp}{int(0:)}\n```\n\n1", "type": "text" }, "group": "equ" }, { "id": "equ.section.creature-magical-attack.1drfb2", "match": { "extensions": [ ".equ" ] }, "target": { "kind": "section", "section": "creature magical attack" }, "annotation": { "title": "宠物魔法攻击力", "content": "宠物装备提供的宠物魔法攻击力修正,不是玩家角色的 [equipment magical attack]。最终宠物面板和伤害效果需实机确认。\n\n#### 官方示例: creaturesample.equ\n\n```pvf\n[creature magical attack] 10 // 宠物魔法攻击力\n```\n\n宠物魔法攻击力", "type": "text" }, "group": "equ" }, { "id": "equ.section.creature-magical-critical-hit.1l5bpd", "match": { "extensions": [ ".equ" ] }, "target": { "kind": "section", "section": "creature magical critical hit" }, "annotation": { "title": "宠物魔法暴击率", "content": "宠物魔法暴击率。官方注释: \"宠物魔法暴击率\"。\n\n#### 官方示例: creaturesample.equ\n\n```pvf\n[creature magical critical hit] 5.0 // 宠物魔法暴击率\n```\n\n- 命中率\n- 宠物魔法暴击率", "type": "text" }, "group": "equ" }, { "id": "equ.section.creature-physical-attack.1533rz", "match": { "extensions": [ ".equ" ] }, "target": { "kind": "section", "section": "creature physical attack" }, "annotation": { "title": "宠物物理攻击力", "content": "宠物装备提供的宠物物理攻击力修正,不是玩家角色的 [equipment physical attack]。最终宠物面板和伤害效果需实机确认。\n\n#### 官方示例: creaturesample.equ\n\n```pvf\n[creature physical attack] 10 // 宠物物理攻击力\n```\n\n宠物物理攻击力", "type": "text" }, "group": "equ" }, { "id": "equ.section.creature-physical-critical-hit.6sxo4j", "match": { "extensions": [ ".equ" ] }, "target": { "kind": "section", "section": "creature physical critical hit" }, "annotation": { "title": "宠物物理暴击率", "content": "宠物物理暴击率修正。它作用于宠物专用属性语境,不能与玩家角色的 [physical critical hit] 直接合并解释。\n\n#### 官方示例: creaturesample.equ\n\n```pvf\n[creature physical critical hit] 5.0 // 宠物物理暴击率\n```\n\n宠物物理暴击率", "type": "text" }, "group": "equ" }, { "id": "equ.section.creature-skill-charge-time-rate.s81tpi", "match": { "extensions": [ ".equ" ] }, "target": { "kind": "section", "section": "creature skill charge time rate" }, "annotation": { "title": "宠物蓄力时间比率(%)", "content": "宠物技能蓄力时间比率修正。真实文件可见负小数值;精确百分比刻度、适用技能和运行效果需实机确认。\n\n#### 官方示例: creaturesample.equ\n\n```pvf\n[creature skill charge time rate] -10.00 // 宠物蓄力时间比率(%)\n```\n\n宠物蓄力时间比率(%)", "type": "text" }, "group": "equ" }, { "id": "equ.section.creature-skill-consume-mp-rate.12ti3c", "match": { "extensions": [ ".equ" ] }, "target": { "kind": "section", "section": "creature skill consume mp rate" }, "annotation": { "title": "宠物技能消耗MP比率(%)", "content": "宠物技能 MP 消耗比率修正。正负值的显示、换算、适用技能范围和实际扣除结果需实机确认。\n\n#### 官方示例: creaturesample.equ\n\n```pvf\n[creature skill consume mp rate] -10.00 // 宠物技能消耗MP比率(%)\n```\n\n宠物技能消耗MP比率(%)", "type": "text" }, "group": "equ" }, { "id": "equ.section.creature-skill-over-charge-time-rate.1hbiw5", "match": { "extensions": [ ".equ" ] }, "target": { "kind": "section", "section": "creature skill over charge time rate" }, "annotation": { "title": "宠物过载蓄力时间比率(%)", "content": "宠物技能过蓄力/超蓄力时间比率修正。真实文件可见该字段,但精确百分比刻度和运行效果需实机确认。\n\n#### 官方示例: creaturesample.equ\n\n```pvf\n[creature skill over charge time rate] -10.00 // 宠物过载蓄力时间比率(%)\n```\n\n宠物过载蓄力时间比率(%)", "type": "text" }, "group": "equ" }, { "id": "equ.section.creature-species.5j85ee", "match": { "extensions": [ ".equ" ] }, "target": { "kind": "section", "section": "creature species" }, "annotation": { "title": "宠物 ID", "content": "链接到宠物所在 ID,宠物属性所在。\n\n#### 官方示例: creaturesample.equ\n\n```pvf\n[creature species] 7 // 种族名索引\n```\n\n- 宠物 ID\n- 种族名索引", "type": "text" }, "group": "equ" }, { "id": "equ.section.creature-stuck.s385qs", "match": { "extensions": [ ".equ" ] }, "target": { "kind": "section", "section": "creature stuck" }, "annotation": { "title": "宠物硬直率", "content": "宠物硬直率。官方注释: \"宠物硬直率\"。注意与 [stuck](命中率) 不同,此标签影响宠物而非角色。\n\n#### 官方示例: creaturesample.equ\n\n```pvf\n[creature stuck] -3.0 // 宠物硬直率\n```\n\n- 闪避\n- 宠物硬直率", "type": "text" }, "group": "equ" }, { "id": "equ.section.deadlystrike-resistance.1xatw3", "match": { "extensions": [ ".equ" ] }, "target": { "kind": "section", "section": "deadlystrike resistance" }, "annotation": { "title": "致命打击抗性(未使用)", "content": "deadlystrike 类罕见/旧式状态抗性的单数值字段,仅在样例型文件中确认。保留原始拼写;不能据此推导致命打击公式或通用抗性机制。\n\n#### 官方示例: equipmentsample.equ\n\n```pvf\n[deadlystrike resistance] 2\t\t\t// 现在不用\n```\n\n- 致命打击抗性(未使用)\n- 现在不用", "type": "text" }, "group": "equ" }, { "id": "equ.section.deelement-resistance.146if4", "match": { "extensions": [ ".equ" ] }, "target": { "kind": "section", "section": "deelement resistance" }, "annotation": { "title": "元素剥离抗性(未使用)", "content": "deelement 类罕见/旧式状态抗性的单数值字段,仅在样例型文件中确认。保留原始拼写;不能仅凭英文名断定“元素剥离”的完整机制或复制为通用字段。\n\n#### 官方示例: equipmentsample.equ\n\n```pvf\n[deelement resistance] 1\t\t\t// 现在不用\n```\n\n- 元素剥离抗性(未使用)\n- 现在不用", "type": "text" }, "group": "equ" }, { "id": "equ.section.disenchant.1lyo2m", "match": { "extensions": [ ".equ" ] }, "target": { "kind": "section", "section": "disenchant" }, "annotation": { "title": "驱散/清除状态(then效果)", "content": "位于 [then] 的驱散效果,真实样本常为单值 1。这里表示解除目标状态或增益,不是装备分解;作用目标、概率和 PVP 修正由同一分支决定。\n\n#### 官方示例: equipmentsamplebytool.equ\n\n```pvf\n//1.2.8 disenchant #\n\t{exp}解除目标所有状态变化和增益{/exp}[disenchant]\n\t\t{must1}{exp}{/exp}{int(1:1)}\n```\n\n1", "type": "text" }, "group": "equ" }, { "id": "equ.section.event-hit.g2gfb6", "match": { "extensions": [ ".equ" ] }, "target": { "kind": "section", "section": "event hit" }, "annotation": { "title": "事件被击中(if条件)", "content": "位于 [if] 的事件型受击条件,真实样本为单值事件标记。不要与普通 [hit] 静默互换,必须结合完整 [if]/[then] 分支读取。\n\n#### 官方示例: equipmentsamplebytool.equ\n\n```pvf\n//1.1.1.6 event hit #\n\t[event hit]\n\t\t{must1}{exp}受击时的值{/exp}{int(0:)}\n```\n\n1", "type": "text" }, "group": "equ" }, { "id": "equ.section.expand-ani.1kfvl0", "match": { "extensions": [ ".equ" ] }, "target": { "kind": "section", "section": "expand ani" }, "annotation": { "title": "扩展/替换部位动画块", "content": "扩展/替换部位动画块,含变体、路径与自定义 wav\n\n#### 官方示例: equipmentsample.equ\n\n```pvf\n// 改变其他部位图像的设置\n[expand ani] 9 1 0 1\t\t\t\t// 第一个是要改变部位的索引,第二个是优先级,第三个是是否使用攻击范围,第四个是是否重新设置音效\n\t\t\t\t\t\t// 0:帽子,1:头发,2:脸部,3:上衣,4:下装,5:鞋子,6:颈部胸部,7:腰部,8:身体颜色,9:武器\n\t\t\t\t\t\t// 优先级越高越优先绘制。要替换穿戴装备的图像需要 1 以上的优先级。\n\t\t\t\t\t\t// 攻击范围使用与否设置为 0 则不使用设定动画的攻击范围,而使用原装备的攻击范围。\n\t\t\t\t\t\t// 音效设置设为 0 则使用原装备对应的音效,设为 1 则根据 [expand ani] 内设定的 [custom wav] 和 [sub type] 决定音效。\n\n[animation job] `[fighter]`\t\t\t// 动画的职业。equ 中只有一个职业动画的话可以没有。\n[variation] 1 1\n[layer variation] 2600 `tonfac`\n///不要使用下面的标签///\u003cinclude\u003e `equipment/character/fighter.lay`\n[equipment ani script] `equipment/character/fighter.lay`\n[layer variation] 650 `tonfab`\n//\u003cinclude\u003e `equipment/character/fighter.lay`\n\n[animation job] `[at fighter]`\t\t\t// 动画的职业。equ 中只有一个职业动画的话可以没有。\n[variation] 2 3\n[layer variation] 2600 `knuckleb`\n///不要使用下面的标签///\u003cinclude\u003e `equipment/character/atfighter.lay`\n[equipment ani script] `equipment/character/atfighter.lay`\n[layer variation] 650 `knucklea`\n///不要使用下面的标签///\u003cinclude\u003e `equipment/character/atfighter.lay`\n[equipment ani script] `equipment/character/atfighter.lay`\n\n[sub type] 2\n\n[custom wav]\n`WHIP_SOUND`\n`HIT_SOUND`\n[/custom wav]\n\n[expand path] `equipment/character/fighter/weapon/tonfa/`\n\n[/expand ani]\n```\n\n- 扩展/替换部位动画块\n- 第一个是要改变部位的索引\n\n[expand path]", "type": "text" }, "group": "equ" }, { "id": "equ.section.expand-path.1837tx", "match": { "extensions": [ ".equ" ] }, "target": { "kind": "section", "section": "expand path" }, "annotation": { "title": "扩展动画资源目录", "content": "[expand ani] 内的扩展动画资源目录字符串,不能脱离外层块单独使用。目录存在只证明 PVF 引用,不证明具体 ANI/IMG 资源完整。\n\n拓展路径", "type": "text" }, "group": "equ" }, { "id": "equ.section.field-image.18suh2", "match": { "extensions": [ ".equ" ] }, "target": { "kind": "section", "section": "field image" }, "annotation": { "title": "掉落图标", "content": "掉落图标\n该路径下img的第几帧\n\n#### 官方示例: equipmentsample.equ\n\n```pvf\n[field image] `EquipmentField.img` 1\t\t// 掉落在地上时的图像文件和帧索引\n```\n\n- 掉落图标\n- 掉落在地上时的图像文件和帧索引\n\n官方示例:\n#### 官方示例: equipmentsample.equ\n\n#### 官方示例: stackablesample-booster.stk\n\n```pvf\n[field image] `StackableField.img` 1\t// 掉落在地上时的图像文件和帧索引\n```\n\n#### 官方示例: 090302stackablesample.stk\n\n#### 官方示例: stackablesample.stk", "type": "text" }, "group": "equ" }, { "id": "equ.section.file-name.ey5h82", "match": { "extensions": [ ".equ" ] }, "target": { "kind": "section", "section": "file name" }, "annotation": { "title": "效果资源路径 (.ani)", "content": "效果资源文件路径字段,常引用 .ani 等资源。PVF 路径存在不证明客户端资源完整、动画可播放或触发正常。\n\n#### 官方示例: equipmentsample.equ\n\n```pvf\n[file name] `effect/animation/aura_range.ani`\t//1// 该效果路径及文件名\n```\n\n```pvf\n[file name] `Character/Common/Animation/go2.ani`\t//1// 该效果路径及文件名\n```\n\n- 效果资源路径 (.ani)\n- 1// 该效果路径及文件名\n\n官方示例:\n#### 官方示例: equipmentsample.equ\n\n文件名\n\n#### 官方示例: aurasample.ora\n\n```pvf\n[file name] `effect/animation/aura_range.ani` //1// 该效果的路径和文件名\n```", "type": "text" }, "group": "equ" }, { "id": "equ.section.hardcoding-cooltime.w4nz02", "match": { "extensions": [ ".equ" ] }, "target": { "kind": "section", "section": "hardcoding cooltime" }, "annotation": { "title": "硬编码额外冷却", "content": "依赖客户端/程序硬编码的冷却参数,按毫秒语境读取,并常与相邻 [int data] 配套。不能脱离具体装备复制或推断共享范围。\n\n#### 官方示例: equipmentsample.equ\n\n```pvf\n[hardcoding cooltime] 5000 \t\t\t// 硬编码用冷却时间\n```\n\n- 硬编码额外冷却\n- 硬编码用冷却时间", "type": "text" }, "group": "equ" }, { "id": "equ.section.icon-mark.1qs85g", "match": { "extensions": [ ".equ" ] }, "target": { "kind": "section", "section": "icon mark" }, "annotation": { "title": "图标边框", "content": "- 62 白装 \n- 63 蓝装 \n- 64 紫装 \n- 65 勇者 \n- 66 神器\n- 67 传说 \n- 68 史诗\n\n#### 官方示例: equipmentsample.equ\n\n```pvf\n[icon mark] `Item/IconMark.img` 5\t\t// 图标标记图像文件和帧索引 (例如:遗物标记)\n```\n\n- 图标边框\n- 图标标记图像文件和帧索引 (例如\n\n官方示例:\n#### 官方示例: equipmentsample.equ\n\n图标标记\t`Item/IconMark.img`\t数值\n62白装 63蓝装 64紫装 65勇者 66神器 67传说 68史诗\n\n图标标记\t`Item/IconMark.img`\t数值\n\n62白装 63蓝装 64紫装 65勇者 66神器 67传说 68史诗\n\n#### 官方示例: 090302stackablesample.stk\n\n```pvf\n[icon mark] `IconMark.img` 2 // 图标标记图像文件和帧索引\n```", "type": "text" }, "group": "equ" }, { "id": "equ.section.increase-critical-damage.zpe2f3", "match": { "extensions": [ ".equ" ] }, "target": { "kind": "section", "section": "increase critical damage" }, "annotation": { "title": "增加暴击伤害(then效果)", "content": "位于 [then] 或 [pvp] 的暴击伤害增加效果,常见参数为 `%` token 与数值。公式、叠加、上限、触发时机及 PVP 差异需实机确认。\n\n#### 官方示例: equipmentsamplebytool.equ\n\n```pvf\n//1.1.1.3 event attack success #\n\t{prereq}[increase damage]|[increase critical damage]|[weakness]{/prereq}{exp}仅在与 increase damage, increase critical damage, weakness 标签组合时使用{/exp}[event attack success]\n\t\t{must1}{exp}攻击成功时的值{/exp}{int(0:)}\n```\n\n```pvf\n//1.2.13 increase critical damage #\n\t[increase critical damage]\n\t\t{must1}{exp}比率 {/exp}{string}\n\t\t{must2}{exp}数值{/exp}{int(0:)}\n```\n\n1", "type": "text" }, "group": "equ" }, { "id": "equ.section.indexes.18n8ii", "match": { "extensions": [ ".equ" ] }, "target": { "kind": "section", "section": "indexes" }, "annotation": { "title": "索引", "type": "text" }, "group": "equ" }, { "id": "equ.section.knockback.1hfzlx", "match": { "extensions": [ ".equ" ] }, "target": { "kind": "section", "section": "knockback" }, "annotation": { "title": "击退(then效果)", "content": "位于 [then] 的击退效果,真实样本常为单值 1。该数值不能直接解释为位移距离;方向、距离、霸体目标和 PVP 表现需实机确认。\n\n#### 官方示例: equipmentsamplebytool.equ\n\n```pvf\n//1.2.28 knockback #\n\t[knockback]\n\t\t{must1}{exp}数值{/exp}{int(0:)}\n```\n\n1", "type": "text" }, "group": "equ" }, { "id": "equ.section.limit-upgradable-level.d97o0v", "match": { "extensions": [ ".equ" ] }, "target": { "kind": "section", "section": "limit upgradable level" }, "annotation": { "title": "强化/增幅/精炼 等等级限制定义块", "content": "强化/增幅/锻造等升级类型与等级边界的闭合块。每组由升级类型 token 和两个整数边界组成;数字不是装备 ID,必须读取完整 [/limit upgradable level]。\n\n#### 官方示例: equipmentsample.equ\n\n```pvf\n// 强化/增幅/锻造 等级限制\n[limit upgradable level]\n`normal upgrade` x y // 强化限制为 x~y 等级 (x 设置为 -1 时设为 1 级,y 设置为 -1 时设为满级)\n`amplify upgrade` x y // 增幅限制为 x~y 等级 (x 设置为 -1 时设为 1 级,y 设置为 -1 时设为满级)\n`separate upgrade` x y // 锻造限制为 x~y 等级 (x 设置为 -1 时设为 1 级,y 设置为 -1 时设为满级)\n`3rd chronicle upgrade` x y // 3次传说赋予限制为 x~y 等级 (x 设置为 -1 时设为 1 级,y 设置为 -1 时设为满级)\n`all upgrade` x y\t\t\t// 将以上所有限制为 x~y 等级 (x 设置为 -1 时设为 1 级,y 设置为 -1 时设为满级)\n[/limit upgradable level]\n```\n\n- 强化/增幅/精炼 等等级限制定义块\n- 强化限制为 x~y 等级 (x 设置为 -1 时设为 1 级", "type": "text" }, "group": "equ" }, { "id": "equ.section.my-active-status-on.7pyues", "match": { "extensions": [ ".equ" ] }, "target": { "kind": "section", "section": "my active status on" }, "annotation": { "title": "自身状态异常激活时(if条件)", "content": "位于 [if] 的事件条件,用于自身刚获得或触发指定异常状态时进入分支。它不同于持续检查异常状态的 [my active status];触发瞬间、刷新和重复触发规则需实机确认。\n\n#### 官方示例: equipmentsamplebytool.equ\n\n```pvf\n//1.1.1.7 my active status on #\n\t[my active status on]\n\t\t{must1}{exp}状态变化{/exp}{string}\n```\n\n1", "type": "text" }, "group": "equ" }, { "id": "equ.section.my-active-status.1mfnnv", "match": { "extensions": [ ".equ" ] }, "target": { "kind": "section", "section": "my active status" }, "annotation": { "title": "自身异常状态条件(if状态)", "content": "位于 [if],检查自身是否处于指定异常状态。它不是施加异常状态的 [active status] 效果,也不同于刚触发异常状态的 [my active status on] 事件。\n\n#### 官方示例: equipmentsamplebytool.equ\n\n```pvf\n//1.1.2.6 my active status #\n\t{exp}检查自己的状态变化{/exp}[my active status]\n\t\t{must1}{exp}状态{/exp}{string}\n```\n\n1", "type": "text" }, "group": "equ" }, { "id": "equ.section.my-state.9vl6tm", "match": { "extensions": [ ".equ" ] }, "target": { "kind": "section", "section": "my state" }, "annotation": { "title": "自身动作状态条件(if状态)", "content": "位于 [if],检查自身动作状态,真实样本可见 attack、dash、jump attack、down、die 等 token。它不是眩晕、中毒等异常状态。\n\n#### 官方示例: equipmentsamplebytool.equ\n\n```pvf\n//1.1.2.7 my state #\n\t{exp}检查自己的状态{/exp}[my state]\n\t\t{must1}{exp}状态{/exp}{string}\n```\n\n1", "type": "text" }, "group": "equ" }, { "id": "equ.section.name-tag-img.65ciot", "match": { "extensions": [ ".equ" ] }, "target": { "kind": "section", "section": "name tag img" }, "annotation": { "title": "名称标签img.", "type": "text" }, "group": "equ" }, { "id": "equ.section.not-amplify.1ibfn3", "match": { "extensions": [ ".equ" ] }, "target": { "kind": "section", "section": "not amplify" }, "annotation": { "title": "不可增幅", "content": "标记该装备不可进行增幅操作。\n\nnot amplify", "type": "text" }, "group": "equ" }, { "id": "equ.section.not-my-appendage.h69deb", "match": { "extensions": [ ".equ" ] }, "target": { "kind": "section", "section": "not my appendage" }, "annotation": { "title": "不是我的阑尾", "type": "text" }, "group": "equ" }, { "id": "equ.section.option.1sc73x", "match": { "extensions": [ ".equ" ] }, "target": { "kind": "section", "section": "option" }, "annotation": { "title": "effect 可选项列表块", "content": "[effect] 内的可选项闭合列表。块内 token/数值只按当前效果解释,不能把 option 当作通用装备属性。\n\n#### 官方示例: equipmentsample.equ\n\n```pvf\n[option]\t\t\t\t\t\t//0// animation 选项\n\t\t`keep direction`\t\t\t//0// animation 选项 (固定方向)\n\t\t`floor`\t\t\t\t\t\t//0// animation 选项 (画在地面上:地板效果等)\n\t\t`auto remove`\t\t\t\t//0// animation 选项 (动画结束后自动移除)\n\t\t`apply custom color`\t\t//0// animation 选项 (应用对象颜色:迷彩等)\n\t\t`sync speed`\t\t\t\t//0// animation 选项 (与对象动画速度同步)\n\t\t`copy horizon`\t\t\t\t//0// animation 选项 (动画横向复制)\n\t\t`copy vertical`\t\t\t\t//0// animation 选项 (动画纵向复制)\n\t\t`resize`\t\t\t\t\t//0// animation 选项 (根据光环范围调整大小) 未实现!!!\n\t[/option]\n```\n\n```pvf\n[option]\t\t\t\t\t\t//0// animation 选项\n\t\t`apply custom color`\t\t//0// animation 选项 (应用对象颜色:迷彩等)\n\t\t`sync speed`\t\t\t\t//0// animation 选项 (与对象动画速度同步)\n\t[/option]\n```\n\n- effect 可选项列表块\n- 0// animation 选项\n\n官方示例:\n#### 官方示例: equipmentsample.equ\n\n```pvf\n[option]\n\n#### 官方示例: aurasample.ora\n\n```pvf\n[option] //0// animation 选项\n `keep direction` //0// animation 选项(固定方向)\n `floor` //0// animation 选项(绘制于地面:如魔法阵等)\n `auto remove` //0// animation 选项(动画结束后自动移除)\n `apply custom color` //0// animation 选项(跟随对象颜色:如迷彩等)\n `sync speed` //0// animation 选项(与对象动画速度同步)\n `copy horizon` //0// animation 选项(动画横向复制)\n `copy vertical` //0// animation 选项(动画纵向复制)\n `resize` //0// animation 选项(根据光环范围调整大小)未实现!!!\n [/option]\n```\n\n#### 官方示例: newmonstersample.mob\n\n```pvf\n[option] `convert y to z` // 将Y轴改为基于Z轴。\n```", "type": "text" }, "group": "equ" }, { "id": "equ.section.output.xr8ow4", "match": { "extensions": [ ".equ" ] }, "target": { "kind": "section", "section": "output" }, "annotation": { "title": "解放产出块", "content": "[emancipate] 内的产出闭合块,常见为“equipment ID、数量”,也存在单值或残缺样本。ID 必须通过 equipment/equipment.lst 解析,不能把字段泛化为普通“产量”。\n\n产量\n\n4个一组,分别为道具ID、抽中几率(最大100W),数量,是否公告(0不公告,1公告)", "type": "text" }, "group": "equ" }, { "id": "equ.section.overkill.pyoa0v", "match": { "extensions": [ ".equ" ] }, "target": { "kind": "section", "section": "overkill" }, "annotation": { "title": "Overkill击杀时(if条件)", "content": "位于 [if] 的 Overkill/过量击杀条件,真实样本常为单值事件标记。Overkill 的阈值、判定公式和触发时机需实机确认。\n\n#### 官方示例: equipmentsamplebytool.equ\n\n```pvf\n//1.1.2.22 overkill #\n\t{exp}指定自己攻击的敌人以 Overkill 方式死亡时{/exp}[overkill]\n\t\t{must1}{exp}{/exp}{string}\n```\n\n1", "type": "text" }, "group": "equ" }, { "id": "equ.section.party-count.1keqba", "match": { "extensions": [ ".equ" ] }, "target": { "kind": "section", "section": "party count" }, "annotation": { "title": "队友数量条件(if状态)", "content": "位于 [if] 的队伍人数比较条件,真实样本可见比较符与 1~4 的人数值。人数是否包含自身、离队刷新和模块差异需实机确认。\n\n#### 官方示例: equipmentsamplebytool.equ\n\n```pvf\n//1.1.2.23 party count #\n\t{exp}队友数量{/exp}[party count]\n\t\t{must1}{exp}数量{/exp}{int(0:)}\n```\n\n1", "type": "text" }, "group": "equ" }, { "id": "equ.section.party-death.1k2aqq", "match": { "extensions": [ ".equ" ] }, "target": { "kind": "section", "section": "party death" }, "annotation": { "title": "队友死亡", "content": "位于 [if] 的队友死亡事件条件,目标样本常为单值 1。它不是自身死亡,队伍索引、观察范围和重复触发需实机确认。\n\n#### 官方示例: equipmentsamplebytool.equ\n\n```pvf\n//1.1.1.12 party death #\n\t{exp}指定队友死亡时{/exp}[party death]\n\t\t{must1}{exp}{/exp}{int(1:1)}\n```\n\n- 队友死亡\n- 1", "type": "text" }, "group": "equ" }, { "id": "equ.section.piercing-resistance.1vwpnr", "match": { "extensions": [ ".equ" ] }, "target": { "kind": "section", "section": "piercing resistance" }, "annotation": { "title": "贯通抗性", "content": "贯通/穿刺抗性\n\n#### 官方示例: equipmentsample.equ\n\n```pvf\n[piercing resistance] 12\t\t\t// 破招抗性\n```\n\n- 贯通抗性\n- 破招抗性\n\n官方示例:\n#### 官方示例: equipmentsample.equ\n\n#### 官方示例: newmonstersample.mob\n\n```pvf\n[piercing resistance] // 穿透\n```", "type": "text" }, "group": "equ" }, { "id": "equ.section.possible-kiri-protect.jl20rk", "match": { "extensions": [ ".equ" ] }, "target": { "kind": "section", "section": "possible kiri protect" }, "annotation": { "title": "可以使用凯莉的保护券", "content": "凯莉强化保护券适用线索,目标可见为空值/标记形态。字段存在不证明所有强化等级、失败保护、道具扣除或服务端流程均可用。\n\n可以使用凯莉的保护券\n\n加上这段代码使用强化保护券时才会有效果", "type": "text" }, "group": "equ" }, { "id": "equ.section.prof-compound-rate.b13ewb", "match": { "extensions": [ ".equ" ] }, "target": { "kind": "section", "section": "prof compound rate" }, "annotation": { "title": "副职业制作物品成功概率", "content": "副职业制作/合成成功率加成线索,需与同文件 [expertjob only] 一起读取。原始数值刻度和实际成功率不能直接按百分比外推。\n\n副职业制作物品成功概率", "type": "text" }, "group": "equ" }, { "id": "equ.section.prof-material-variation.7hai56", "match": { "extensions": [ ".equ" ] }, "target": { "kind": "section", "section": "prof material variation" }, "annotation": { "title": "副职业材料消耗修正", "content": "副职业材料消耗变化线索,目标样本可见负值且必须保留符号。适用专业、扣除公式和叠加方式需实机确认。\n\n副职业材料改变", "type": "text" }, "group": "equ" }, { "id": "equ.section.reduce-probability-to-human-armor-at-pvp-module.14t1ha", "match": { "extensions": [ ".equ" ] }, "target": { "kind": "section", "section": "reduce probability to human armor at pvp module" }, "annotation": { "title": "在 PVP 模块中减少对人型防具的概率", "content": "PVP 模块中针对 human armor 目标的概率缩减参数。必须与原始 [probability]、目标类型和同一 [then] 分支读取,不能外推普通地下城。\n\n在 PVP 模块中减少对人型防具的概率\n\n减少在PVP模块概率人体装甲", "type": "text" }, "group": "equ" }, { "id": "equ.section.replace-avatar-ani.x97mhe", "match": { "extensions": [ ".equ" ] }, "target": { "kind": "section", "section": "replace avatar ani" }, "annotation": { "title": "替换时装动画映射", "content": "触发效果或套装能力中的时装动画替换闭合块,重复记录“avatar 部位 token、数字引用”。正数可对应部位目录文件,-1 语义需验证;不要强行按 equipment.lst ID 解释。\n\n更换头像ANI", "type": "text" }, "group": "equ" }, { "id": "equ.section.rest-ani.1fieez", "match": { "extensions": [ ".equ" ] }, "target": { "kind": "section", "section": "rest ani" }, "annotation": { "title": "休息动作动画", "content": "装备数据中的 [rest ani] 闭合块。已见数据形态为反引号字符串/token 与数值的混合记录,字段顺序必须完整保留。资源路径或名称只说明客户端资源引用;是否存在、能加载及表现正确需另行检查 ImagePacks2/NPK 或目标资源。\n\n休息ani.", "type": "text" }, "group": "equ" }, { "id": "equ.section.room-list-move-speed-rate.kwjgdi", "match": { "extensions": [ ".equ" ] }, "target": { "kind": "section", "section": "room list move speed rate" }, "annotation": { "title": "城镇内移动速度", "content": "- 增加城镇内移动速度\n- 单位:100%,即 0.4 代表 +40% 城镇内移动速度\n\n#### 官方示例: equipmentsample.equ\n\n```pvf\n[room list move speed rate] +1.0\t\t// 在城镇中的移动速度指定\n```\n\n- 城镇内移动速度\n- 在城镇中的移动速度指定\n\n官方示例:\n#### 官方示例: equipmentsample.equ\n\n城镇移动速度。\n\n[room list move speed rate]\n\t1.0\n\n1.0 等于 100%\n\n#### 官方示例: stackablesample-monster_card.stk\n\n```pvf\n[room list move speed rate] +1.0\t// 指定在村庄中的移动速度\n```", "type": "text" }, "group": "equ" }, { "id": "equ.section.routing-priority.1pehg3", "match": { "extensions": [ ".equ" ] }, "target": { "kind": "section", "section": "routing priority" }, "annotation": { "title": "优先显示", "content": "装备显示/路由优先级闭合块,目标既有空块也有“职业 token + 数字”记录。空块不能当缺失字段;具体优先级算法未定性。\n\n优先显示", "type": "text" }, "group": "equ" }, { "id": "equ.section.rune-skillindex.tt2kbs", "match": { "extensions": [ ".equ" ] }, "target": { "kind": "section", "section": "rune skillindex" }, "annotation": { "title": "符文skillindex.", "type": "text" }, "group": "equ" }, { "id": "equ.section.set-my-state.6k7j8u", "match": { "extensions": [ ".equ" ] }, "target": { "kind": "section", "section": "set my state" }, "annotation": { "title": "自身动作状态切换事件(if条件)", "content": "位于 [if] 的自身动作状态切换事件标记,真实样本可与 [my state]、[my prev state] 等条件组合。它不是把角色设置为某个状态的 [then] 效果。\n\n#### 官方示例: equipmentsamplebytool.equ\n\n```pvf\n//1.1.1.16 set my state #\n\t{exp}指定自己状态变更时{/exp}[set my state]\n\t\t{must1}{exp}{/exp}{int(1:1)}\n```\n\n1", "type": "text" }, "group": "equ" }, { "id": "equ.section.skill-cooltime.1yr62r", "match": { "extensions": [ ".equ" ] }, "target": { "kind": "section", "section": "skill cooltime" }, "annotation": { "title": "技能冷却时间条件(if状态)", "content": "官方样例中的技能剩余冷却比较条件,参数为比较符和毫秒阈值。不要与 [cool time]、[cooltime] 或 [skill cooltime reset] 混用。\n\n#### 官方示例: equipmentsamplebytool.equ\n\n```pvf\n//1.1.2.26 skill cooltime #\n\t{exp}用于限制技能初始化范围的状态{/exp}[skill cooltime]\n\t\t{must1}{exp}比较方法{/exp}{string}\n\t\t{must2}{exp}冷却时间{/exp}{int(0:)}\n```\n\n1", "type": "text" }, "group": "equ" }, { "id": "equ.section.skill-data-up.fz337v", "match": { "extensions": [ ".equ" ] }, "target": { "kind": "section", "section": "skill data up" }, "annotation": { "title": "技能加成——主要出现在异界或者侍魂装备中", "content": "技能数据修改闭合块,可按职业 token、技能 ID、作用域、数据类型、参数索引、单位和值修改技能数据。技能 ID 必须按职业 registry 解析,列义需回目标 .skl;静态配置不证明冷却、伤害或 PVP 实机生效。\n\n#### 官方示例: equipmentsample.equ\n\n```pvf\n[skill data up]\t\t\t\t\t// 控制技能脚本特定数据的标签\n`[fighter]` 12 `[dungeon]` `[static]` 2 `+` 20\n// 职业\n// 技能索引,\n// 应用到的内容 : dungeon, pvp, all\n// 要更改的数据类型 : static, level, mp, cooltime, skill consume item, casting time\n// 数据索引\n// 数值应用 : `+`, 比率应用 : `%`\n// 数值\n[/skill data up]\n```\n\n- 技能加成——主要出现在异界或者侍魂装备中\n- 控制技能脚本特定数据的标签\n\n官方示例:\n#### 官方示例: equipmentsample.equ\n\n#### 官方示例: stackablesample-monster_card.stk\n\n```pvf\n[skill data up] `[fighter]` 12 `[static]` 2 1 200\n\t// 职业\n\t// 技能索引,\n\t// 要更改的数据类型[static data, level info]\n\t// 数据索引\n\t// 数值适用(0),比率适用%(1)\n\t// 数值\n```", "type": "text" }, "group": "equ" }, { "id": "equ.section.speech-on.1pbn8o", "match": { "extensions": [ ".equ" ] }, "target": { "kind": "section", "section": "speech on" }, "annotation": { "title": "对话气泡(then效果)", "content": "位于 [then] 或套装效果中的对话气泡闭合块,必须读取 [/speech on]。真实样本包含模式整数、显示时间和一个或多个文本 token;首整数精确语义及客户端显示需实机确认。\n\n#### 官方示例: equipmentsamplebytool.equ\n\n```pvf\n//1.2.36 speech on #\n\t{exp}对话气泡{/exp}[speech on]\n\t\t{must1}{exp}数值1(ms){/exp}{int(0:)}\n\t\t{must2}{exp}数值2(ms){/exp}{int(0:)}\n\t\t{must3}{exp}输出内容 {/exp}{string}\n```\n\n1", "type": "text" }, "group": "equ" }, { "id": "equ.section.start-cooltime.1gyft9", "match": { "extensions": [ ".equ" ] }, "target": { "kind": "section", "section": "start cooltime" }, "annotation": { "title": "装备时冷却时间(if状态)", "content": "位于 [if] 的初始冷却参数,目标结构与官方说明指向毫秒。它用于装备触发效果的起始冷却线索,重置时机、重新装备行为及共享范围仍需实机确认。\n\n#### 官方示例: equipmentsamplebytool.equ\n\n```pvf\n//1.1.2.18 start cooltime #\n\t{exp}每次装备时应用该冷却时间{/exp}[start cooltime]\n\t\t{must1}{exp}冷却时间单位: ms{/exp}{int(0:)}\n```\n\n1", "type": "text" }, "group": "equ" }, { "id": "equ.section.stay-ani.15xkad", "match": { "extensions": [ ".equ" ] }, "target": { "kind": "section", "section": "stay ani" }, "annotation": { "title": "待机动画", "content": "装备数据中的 [stay ani] 闭合块。已见数据形态为反引号字符串/token 与数值的混合记录,字段顺序必须完整保留。资源路径或名称只说明客户端资源引用;是否存在、能加载及表现正确需另行检查 ImagePacks2/NPK 或目标资源。", "type": "text" }, "group": "equ" }, { "id": "equ.section.target-active-status.xb07g8", "match": { "extensions": [ ".equ" ] }, "target": { "kind": "section", "section": "target active status" }, "annotation": { "title": "目标异常状态条件", "content": "位于 [if],检查目标是否处于指定异常状态。它不是施加异常状态的效果,必须与目标选择和对应 [then] 一起读取。\n\n#### 官方示例: equipmentsamplebytool.equ\n\n```pvf\n//1.1.2.9 target active status #\n\t{exp}检查自己攻击的敌人的状态变化{/exp}[target active status]\n\t\t{must1}{exp}状态变化{/exp}{string}\n```\n\n- 目标状态异常\n- 1", "type": "text" }, "group": "equ" }, { "id": "equ.section.target-death.1mzxbf", "match": { "extensions": [ ".equ" ] }, "target": { "kind": "section", "section": "target death" }, "annotation": { "title": "目标死亡时(if条件)", "content": "位于 [if] 的当前攻击目标死亡事件条件,真实样本常为单值 1。应与攻击条件、冷却和对应 [then] 一起读取,不等同于自身或队友死亡。\n\n#### 官方示例: equipmentsamplebytool.equ\n\n```pvf\n//1.1.2.19 target death #\n\t{prereq}[attack success]{/prereq}{exp}指定自己攻击的敌人死亡时{/exp}[target death]\n\t\t{must1}{exp}{/exp}{int(1:1)}\n```\n\n1", "type": "text" }, "group": "equ" }, { "id": "equ.section.target-grade.1xvlcz", "match": { "extensions": [ ".equ" ] }, "target": { "kind": "section", "section": "target grade" }, "annotation": { "title": "目标品级条件(if状态)", "content": "位于 [if] 的目标品级/类别条件,真实样本可见 common、champion、named、boss。它不是数值等级条件,也不能从英文 grade 推断角色等级。\n\n#### 官方示例: equipmentsamplebytool.equ\n\n```pvf\n//1.1.2.12 target grade #\n\t{prereq}[attack success]{/prereq}{exp}检查自己攻击的敌人的等级{/exp}[target grade]\n\t\t{must1}{exp}等级{/exp}{string}\n```\n\n1", "type": "text" }, "group": "equ" }, { "id": "equ.section.target-stat.1n63et", "match": { "extensions": [ ".equ" ] }, "target": { "kind": "section", "section": "target stat" }, "annotation": { "title": "目标属性值条件(if状态)", "content": "位于 [if] 的目标属性值比较条件,列形为“属性、比较符、单位 token、阈值”。不要与目标动作状态 [target state] 或效果侧属性修改 [stat] 混用。\n\n#### 官方示例: equipmentsamplebytool.equ\n\n```pvf\n//1.1.2.16 target stat #\n\t[target stat]\n\t\t{must1}{exp}状态{/exp}{string}\n\t\t{must2}{exp}比较方法{/exp}{string}\n\t\t{must3}{exp}比较单位{/exp}{string}\n\t\t{must4}{exp}数值{/exp}{int(0:)}\n```\n\n1", "type": "text" }, "group": "equ" }, { "id": "equ.section.target-state.red7ct", "match": { "extensions": [ ".equ" ] }, "target": { "kind": "section", "section": "target state" }, "annotation": { "title": "目标动作状态条件(if状态)", "content": "位于 [if],检查目标的动作状态,真实样本可见 down、jump、jump attack、attack 等 token。不要与目标异常状态条件 [target active status] 混用。\n\n#### 官方示例: equipmentsamplebytool.equ\n\n```pvf\n//1.1.2.8 target state #\n\t{exp}检查敌人状态{/exp}[target state]\n\t\t{must1}{exp}状态{/exp}{string}\n```\n\n1", "type": "text" }, "group": "equ" }, { "id": "equ.section.target-type.4idipc", "match": { "extensions": [ ".equ" ] }, "target": { "kind": "section", "section": "target type" }, "annotation": { "title": "目标类型条件(if状态)", "content": "位于 [if] 的目标种族或类型条件,真实样本可见 human、undead、devil、spirit、dragon、beast。只使用目标文件实际出现的 token,不补造候选。\n\n#### 官方示例: equipmentsamplebytool.equ\n\n```pvf\n//1.1.2.11 target type #\n\t{prereq}[attack success]{/prereq}{exp}检查自己攻击的敌人的类型{/exp}[target type]\n\t\t{must1}{exp}类型{/exp}{string}\n```\n\n1", "type": "text" }, "group": "equ" }, { "id": "equ.section.thorn.3sd57m", "match": { "extensions": [ ".equ" ] }, "target": { "kind": "section", "section": "thorn" }, "annotation": { "title": "反伤/荆棘(then效果)", "content": "位于 [then] 的反伤/荆棘效果,真实样本为单整数。说明线索指向按比例向攻击者返还伤害,但公式、上限、目标、模块限制和实际生效需实机确认。\n\n#### 官方示例: equipmentsamplebytool.equ\n\n```pvf\n//1.2.27 thorn #\n\t{prereq}按百分比将伤害返还给敌人{/prereq}{exp}按百分比将伤害返还给敌人{/exp}[thorn]\n\t\t{must1}{exp}数值{/exp}{int(0:)}\n```\n\n1", "type": "text" }, "group": "equ" }, { "id": "equ.section.unique-increase-damage.fkwygz", "match": { "extensions": [ ".equ" ] }, "target": { "kind": "section", "section": "unique increase damage" }, "annotation": { "title": "独特增加伤害", "type": "text" }, "group": "equ" }, { "id": "equ.section.upgrade-cost-discount.4vqx4z", "match": { "extensions": [ ".equ" ] }, "target": { "kind": "section", "section": "upgrade cost discount" }, "annotation": { "title": "强化增幅费用折扣", "content": "强化费用折扣线索,目标样本值与描述百分比可能相符,但适用范围、叠加和实际金币/材料扣除需实机确认。\n\n强化增幅费用折扣", "type": "text" }, "group": "equ" }, { "id": "equ.section.upgrade-prob-increase.lfbbje", "match": { "extensions": [ ".equ" ] }, "target": { "kind": "section", "section": "upgrade prob increase" }, "annotation": { "title": "强化增幅几率增加", "content": "强化成功率增加线索。目标原始值存在倍率刻度,不能直接按百分比显示;适用强化类型、叠加和实际成功率需实机确认。\n\n强化增幅几率增加\n1000为1%\n\n强化增幅几率增加 1000=1%", "type": "text" }, "group": "equ" }, { "id": "equ.section.useable-growtype.zrq7zj", "match": { "extensions": [ ".equ" ] }, "target": { "kind": "section", "section": "useable growtype" }, "annotation": { "title": "可用的种植术", "type": "text" }, "group": "equ" }, { "id": "equ.section.y-move-dash-speed.1y5pd8", "match": { "extensions": [ ".equ" ] }, "target": { "kind": "section", "section": "y move dash speed" }, "annotation": { "title": "纵向冲刺速度倍率", "content": "Y/纵向移动或冲刺速度倍率线索,目标样本可见小数值。实际速度、动作取消、地图限制和客户端表现需实机确认。\n\n#### 官方示例: equipmentsample.equ\n\n```pvf\n[y move dash speed] -0.5\t\t\t// Y轴移动速度减少 -50%\n```\n\n- 纵向冲刺速度倍率\n- Y轴移动速度减少 -50%", "type": "text" }, "group": "equ" }, { "id": "etc.section.add-equipment-list.7jgtx8", "match": { "extensions": [ ".etc" ] }, "target": { "kind": "section", "section": "add equipment list" }, "annotation": { "title": "追加装备列表", "content": "系统数据中的 [add equipment list] 闭合块。已见数据形态为单值或数值序列;列数、单位和取值刻度不能只凭字段名推断。其中数字若表示装备 ID,必须通过 equipment registry 解析;静态配置不证明物品已发放。\n\n添加设备清单", "type": "text" }, "group": "etc" }, { "id": "etc.section.add-selectable-equipment-list.14grri", "match": { "extensions": [ ".etc" ] }, "target": { "kind": "section", "section": "add selectable equipment list" }, "annotation": { "title": "晶体契约可选装备列表", "content": "[add selectAble equipment list]\n晶体契约中可选择附加属性的装备部位列表,用于设置哪些装备部位可通过晶体契约附加属性效果。\n\n晶体契约效果配置\n\n[add selectAble equipment list] 晶体契约效果配置\n\n[add selectAble equipment list] 增加可用装备列表", "type": "text" }, "group": "etc" }, { "id": "etc.section.additional-result-const.3cst6q", "match": { "extensions": [ ".etc" ] }, "target": { "kind": "section", "section": "additional result const" }, "annotation": { "title": "分解额外结晶概率常量", "content": "装备分解时产生额外结晶的概率常量配置。\n\n分解出额外结晶的概率", "type": "text" }, "group": "etc" }, { "id": "etc.section.additional-result.14fslt", "match": { "extensions": [ ".etc" ] }, "target": { "kind": "section", "section": "additional result" }, "annotation": { "title": "分解附加结果参数表", "content": "位于 etc/disjoint.etc 的分解附加结果参数行,并与相邻 [additional result const] 配套。当前真实文件只证明其为扁平数字表;物品 ID、数量、分组和概率/权重列尚未闭合,不能直接写成“必定产生的额外材料”。\n\n分解物品结果", "type": "text" }, "group": "etc" }, { "id": "etc.section.ai-list.1g9qq1", "match": { "extensions": [ ".etc" ] }, "target": { "kind": "section", "section": "ai list" }, "annotation": { "title": "AI列表", "content": "AI列表\n\n0 // 0.PVP_Practice_APC.img 图片编号\n305 //1.AI 脚本字符编号\n40 //2. 等级\n\u003c4::pvp_apc_job1`鬼剑士`\u003e //3.职业\n\u003c4::pvp_apc_name1`苍白的阴影狄尔`\u003e //4.角色名\n1 //5.难度 (1-5)\n\nai列表", "type": "text" }, "group": "etc" }, { "id": "etc.section.apply-area-list.1ru6gu", "match": { "extensions": [ ".etc" ] }, "target": { "kind": "section", "section": "apply area list" }, "annotation": { "title": "应用区域列表", "content": "应用区域列表\n指定效果或功能应用的区域(如城镇、副本等)列表配置。\n\n应用区域列表!", "type": "text" }, "group": "etc" }, { "id": "etc.section.apply-buff-index.lj54xo", "match": { "extensions": [ ".etc" ] }, "target": { "kind": "section", "section": "apply buff index" }, "annotation": { "title": "应用Buff索引", "content": "应用Buff索引\n指定要应用的增益效果(Buff)的索引编号。\n\n应用缓冲指数", "type": "text" }, "group": "etc" }, { "id": "etc.section.apply-dungeon-type.1syym5", "match": { "extensions": [ ".etc" ] }, "target": { "kind": "section", "section": "apply dungeon type" }, "annotation": { "title": "应用副本类型", "content": "应用副本类型\n指定效果或功能应用于哪些副本类型(如普通副本、特殊副本等)。\n\n应用地牢类型", "type": "text" }, "group": "etc" }, { "id": "etc.section.apply-ultimate.qxinsy", "match": { "extensions": [ ".etc" ] }, "target": { "kind": "section", "section": "apply ultimate" }, "annotation": { "title": "王者级难度开放列表", "content": "将副本编号写入此标签即可开放该副本的王者级难度\n路径:{ etc/ultimatedungeonlist.etc }\n\n若此标签在\n\n若此标签在\n{ etc/ultimatedungeonlist.etc }\n路径内,则将副本编号写入即可开放王者级难度", "type": "text" }, "group": "etc" }, { "id": "etc.section.armor-grade-rate.1sk0dq", "match": { "extensions": [ ".etc" ] }, "target": { "kind": "section", "section": "armor grade rate" }, "annotation": { "title": "防具品级概率", "content": "防具(护甲)各品级(普通、高级、稀有、神器、史诗等)出现的概率权重配置。\n\n装甲级率", "type": "text" }, "group": "etc" }, { "id": "etc.section.attacked-map-info.oyu8g6", "match": { "extensions": [ ".etc" ] }, "target": { "kind": "section", "section": "attacked map info" }, "annotation": { "title": "城镇入侵地图信息", "content": "城镇入侵地图信息\n// 村庄索引、区域索引、最大怪物数量、重生时间(秒)\n2\t0\t50\t2\n\n攻击地图信息\n\n攻击地图信息\n// 村庄索引、区域索引、最大怪物数量、重生时间(秒)\n2\t0\t50\t2\n\n攻击地图信息\n// 村庄索引、区域索引、最大怪物数量、重生时间(秒)", "type": "text" }, "group": "etc" }, { "id": "etc.section.base-item.17303i", "match": { "extensions": [ ".etc" ] }, "target": { "kind": "section", "section": "base item" }, "annotation": { "title": "基础物品", "content": "系统数据中的 [base item] 闭合块。已见数据形态为单值或数值序列;列数、单位和取值刻度不能只凭字段名推断。其中数字若表示物品 ID,必须先按父块区分 equipment、stackable、avatar 等 registry,不能把裸数字直接定性。\n\n基本项目", "type": "text" }, "group": "etc" }, { "id": "etc.section.basic-reward.e1k3kw", "match": { "extensions": [ ".etc" ] }, "target": { "kind": "section", "section": "basic reward" }, "annotation": { "title": "基础奖励", "content": "系统数据中的 [basic reward] 闭合块。内部继续包含子标签,具体列义由父块和相邻记录共同决定。奖励或邮件静态配置不证明服务端必定发放,数量、期限和领取条件仍需实机验证。\n\n基本奖励", "type": "text" }, "group": "etc" }, { "id": "etc.section.basis-of-rarity-dicision.1q6jy1", "match": { "extensions": [ ".etc" ] }, "target": { "kind": "section", "section": "basis of rarity dicision" }, "annotation": { "title": "深渊/翻牌爆率", "content": "1.如果是深渊: 第一个数字2代表两个难度,剩下数字每6个一组,前5个代表非常困难(第一行)和困难(第二行)的爆率;\n如果是翻牌:没有这个数字,一共6个数字,且后面的1000001(如果爆率在神器(粉)就到达100%,则第五个数字是1000001)和1000002是占位没有意义\n 2.爆率顺序分别是从0到普通(白)、高级(蓝)、稀有(紫)、神器(粉)、史诗(金黄)或者占位符、占位符的累加爆率,如:\n 210000 610000 755000 931000 1000000 1000001\n\n史诗的爆率=史诗减粉的数值 1000000-931000=69000,再除以一百万,也就是说,史诗的爆率=6.9%\n\n粉的爆率=粉的数值减去紫的数值 931000-755000=176000,再除以一百万,粉的爆率=17.6%\n 在翻牌中如果在神器就到达了100%,则第五个数字是1000001,意味着史诗爆率为0\n\n2代表两个难度 爆率顺序分别是白 蓝 紫 粉 史诗\n\n2代表两个难度 爆率顺序分别是白 蓝 紫 粉 史诗, 1000001和1000002是深渊的困难和非常困难\n\n2 210000 610000 755000 931000 1000000 1000001\n\n粉的爆率=粉的数值减去紫的数值 931000-755000=176000,再除以一百万,粉的爆率=17.6%", "type": "text" }, "group": "etc" }, { "id": "etc.section.bonus-item-info.oc71vl", "match": { "extensions": [ ".etc" ] }, "target": { "kind": "section", "section": "bonus item info" }, "annotation": { "title": "额外奖励物品信息", "content": "系统数据中的 [bonus item info] 闭合块。已见数据形态为单值或数值序列;列数、单位和取值刻度不能只凭字段名推断。其中数字若表示物品 ID,必须先按父块区分 equipment、stackable、avatar 等 registry,不能把裸数字直接定性。\n\n加分项目信息", "type": "text" }, "group": "etc" }, { "id": "etc.section.can-not-give-item.rg4d8", "match": { "extensions": [ ".etc" ] }, "target": { "kind": "section", "section": "can not give item" }, "annotation": { "title": "不可赠送物品", "content": "系统数据中的 [can not give item] 闭合块。已见数据形态为单值或数值序列;列数、单位和取值刻度不能只凭字段名推断。其中数字若表示物品 ID,必须先按父块区分 equipment、stackable、avatar 等 registry,不能把裸数字直接定性。", "type": "text" }, "group": "etc" }, { "id": "etc.section.character-job.1rzkl1", "match": { "extensions": [ ".etc" ] }, "target": { "kind": "section", "section": "character job" }, "annotation": { "title": "角色职业", "content": "角色职业\n角色职业编号与对应关系的配置映射表。\n\n职业\n\n拥有此词条对象为技能树时,代表这是技能树坐标标签\n//建议搭配工具修改坐标\n\n//示例:\n[character job]\n\t`[gunner]` //选择职业\n\t`none`\t //选择职业分支\n\t[skill info]\n\t\t[index]\n\t\t\t4 //技能编号\n\t\t[icon pos]\n\t\t\t235\t0 //技能坐标\n\t[/skill info]\n[/character job]\n以上代表男枪手的未转职职业拥有1个`膝撞(编号4)`技能,\n该技能位于 X轴235,Y轴0 的技能树位置\n\n职业:\n\t`[swordman]`//男鬼剑\n\t`[gunner]`//男枪手\n\t`[mage]`//女魔法\n\t`[fighter]`//女格斗\n\t`[priest]`//男圣职\n\t`[thief]`//暗夜使者\n\n职业分支:\n\t`none`//\t未转职\n\n`weaponmaster`//剑魂\n\t`soulbringer`//鬼泣\n\t`berserker`//狂战士\n\t`asura`//阿修罗\n\n`ranger`//漫游枪手\n\t`launcher`//枪炮师\n\t`mechanic`//机械师\n\t`spitfire`//弹药专家\n\n`elementalmaster`//元素师\n\t`summoner`//召唤师\n\t`battlemage`//战斗法师\n\t`witch`//魔道学者\n\n`nenmaster`//气功师\n\t`striker`//散打\n\t`streetfighter`//街霸\n\t`grappler`//柔道家\n\n`crusader`//圣骑士\n\t`infighter`//蓝拳圣使\n\t`exorcist`//驱魔师\n\t`avenger`//复仇者\n\n`rogue`//刺客\n\t`necromancer`//死灵术士\n\t`exorcist`//忍者(台改)\n\t`avenger`//影舞者(台改)", "type": "text" }, "group": "etc" }, { "id": "etc.section.clear-rank-exp-bonusrate.vnpqqm", "match": { "extensions": [ ".etc" ] }, "target": { "kind": "section", "section": "clear rank exp bonusrate" }, "annotation": { "title": "通关评分经验加成率", "content": "通关评分的经验加成率\n副本通关评分等级(S/A/B/C等)对应的经验值加成倍率。\n\n通关评分的经验加成率\n\n全图通关经验加成率", "type": "text" }, "group": "etc" }, { "id": "etc.section.cnt.1vumsx", "match": { "extensions": [ ".etc" ] }, "target": { "kind": "section", "section": "cnt" }, "annotation": { "title": "道具数量", "content": "道具数量\n物品/道具的数量参数配置。\n\n道具数量", "type": "text" }, "group": "etc" }, { "id": "etc.section.coin.1mcmxa", "match": { "extensions": [ ".etc" ] }, "target": { "kind": "section", "section": "coin" }, "annotation": { "title": "复活币", "content": "复活币\n\n商城里是道具→复活币购买界面", "type": "text" }, "group": "etc" }, { "id": "etc.section.common-cool-time.l1st0u", "match": { "extensions": [ ".etc" ] }, "target": { "kind": "section", "section": "common cool time" }, "annotation": { "title": "公共冷却时间", "content": "公共冷却时间\n技能或物品的公共/通用冷却时间配置。\n\n公共冷却时间", "type": "text" }, "group": "etc" }, { "id": "etc.section.common-dungeon-index.tp7s66", "match": { "extensions": [ ".etc" ] }, "target": { "kind": "section", "section": "common dungeon index" }, "annotation": { "title": "公共副本索引", "content": "系统数据中的 [common dungeon index] 闭合块。已见数据形态为单值或数值序列;列数、单位和取值刻度不能只凭字段名推断。其中数字若表示副本 ID,必须通过 dungeon registry 解析;静态登记不证明入口开放。\n\n常见的地牢索引", "type": "text" }, "group": "etc" }, { "id": "etc.section.cost-weights-by-rarity.roj4zx", "match": { "extensions": [ ".etc" ] }, "target": { "kind": "section", "section": "cost weights by rarity" }, "annotation": { "title": "按稀有度计算成本权重", "content": "按稀有度计算成本权重\n根据物品稀有度(品质)计算其成本价格的权重系数。\n\n由稀有成本的权重", "type": "text" }, "group": "etc" }, { "id": "etc.section.create-character-movie-info.ele0x2", "match": { "extensions": [ ".etc" ] }, "target": { "kind": "section", "section": "create character movie info" }, "annotation": { "title": "创建角色影片信息", "content": "系统数据中的 [create character movie info] 闭合块。内部继续包含子标签,具体列义由父块和相邻记录共同决定。资源路径或名称只说明客户端资源引用;是否存在、能加载及表现正确需另行检查 ImagePacks2/NPK 或目标资源。\n\n创建人物的电影资讯", "type": "text" }, "group": "etc" }, { "id": "etc.section.cube-creation-const.1fjjzr", "match": { "extensions": [ ".etc" ] }, "target": { "kind": "section", "section": "cube creation const" }, "annotation": { "title": "无色小晶块暴出倍率", "content": "无色小晶块暴出倍率\n装备分解时无色小晶块产生的倍率常量配置。\n\ncube creation const\n\n无色暴出倍率\n\n创建多维数据集常量\n无色爆出倍率\n\n无色爆出倍率", "type": "text" }, "group": "etc" }, { "id": "etc.section.cube-index.1119up", "match": { "extensions": [ ".etc" ] }, "target": { "kind": "section", "section": "cube index" }, "annotation": { "title": "小晶块索引", "content": "小晶块索引\n各色小晶块(无色、红色、蓝色、白色、黑色)的物品编号索引。\n\n#### 官方示例: disjointsample.etc\n\n```pvf\n// 物品分解脚本示例\n[cube index] // 小晶块的物品索引列表\n`[no element]` // 指定小晶块的元素属性。在 `[no element]` `[fire element]` `[water element]` `[light element]` `[dark element]` 中选择一个\n10001 // 索引列表。按低等级物品分解结果依次填写\n10002\n10003\n10004\n10005\n[/cube index]\n```\n\n```pvf\n[cube index] // 小晶块的物品索引列表\n`[fire element]` // 指定小晶块的元素属性。在 `[no element]` `[fire element]` `[water element]` `[light element]` `[dark element]` 中选择一个\n10011 // 索引列表。按低等级物品分解结果依次填写\n10012\n10013\n10014\n10015\n[/cube index]\n```\n\n```pvf\n[cube index] // 小晶块的物品索引列表\n`[water element]` // 指定小晶块的元素属性。在 `[no element]` `[fire element]` `[water element]` `[light element]` `[dark element]` 中选择一个\n10021 // 索引列表。按低等级物品分解结果依次填写\n10022\n10023\n10024\n10025\n[/cube index]\n```\n\n```pvf\n[cube index] // 小晶块的物品索引列表\n`[light element]` // 指定小晶块的元素属性。在 `[no element]` `[fire element]` `[water element]` `[light element]` `[dark element]` 中选择一个\n10031 // 索引列表。按低等级物品分解结果依次填写\n10032\n10033\n10034\n10035\n[/cube index]\n```\n\n```pvf\n[cube index] // 小晶块的物品索引列表\n`[dark element]` // 指定小晶块的元素属性。在 `[no element]` `[fire element]` `[water element]` `[light element]` `[dark element]` 中选择一个\n10041 // 索引列表。按低等级物品分解结果依次填写\n10042\n10043\n10044\n10045\n[/cube index]\n```\n\n- 立方体指数\n- 小晶块的物品索引列表\n\n```pvf\n[cube index] // 小晶块的物品索引列表\n`[dark element]` // 指定小晶块的元素属性。在 `[no element]` `[fire element]` `[water element]` `[light element]` `[", "type": "text" }, "group": "etc" }, { "id": "etc.section.default-reward.rxarlx", "match": { "extensions": [ ".etc" ] }, "target": { "kind": "section", "section": "default reward" }, "annotation": { "title": "默认奖励", "content": "系统数据中的 [default reward] 闭合块。内部继续包含子标签,具体列义由父块和相邻记录共同决定。奖励或邮件静态配置不证明服务端必定发放,数量、期限和领取条件仍需实机验证。\n\n默认奖励", "type": "text" }, "group": "etc" }, { "id": "etc.section.default-term-in-town.1yp5tm", "match": { "extensions": [ ".etc" ] }, "target": { "kind": "section", "section": "default term in town" }, "annotation": { "title": "城镇默认状态", "content": "城镇默认状态\n角色在城镇中的默认状态/属性设置参数。\n\n在镇默认项", "type": "text" }, "group": "etc" }, { "id": "etc.section.difficulty.2q0bn4", "match": { "extensions": [ ".etc" ] }, "target": { "kind": "section", "section": "difficulty" }, "annotation": { "title": "难度参数(按父文件解释)", "content": "同名 [difficulty] 在不同 ETC 文件中结构不同,不能建立全局单义映射:n_quest/questparameter.etc 为“难度 token + 数值”的闭合列表;etc/hellparty.etc 先给记录数量,再给“难度 token + 多列参数”的记录。旧注释中的掉落数量、品质权重和 S/A/B/C/M 百分比未能从当前真实列形闭合,必须按父文件、相邻块和实机分别验证。\n\n#### 官方示例: questparameter.etc\n\n```pvf\n// difficulty 奖励权重 (百分比)\n[difficulty]\n`S`\t300\n`A`\t250\n`B`\t200\n`C`\t150\n`M`\t100\n[/difficulty]\n```\n\n- 在任务(*.qst)中\n- difficulty 奖励权重 (百分比)\n\n在任务(*.qst)中,设置难度级别参数。\n* 详情参考路径 : { n_quest/questparameter.etc }\n————————\u003c分割线\u003e————————\n该词条位于 : { etc/hellparty.etc }的路径里时,代表:\n\n第1竖排 : [深渊难度] : 传奇、英雄、王者、勇士、冒险\n //对应地下城难度:英雄、王者、勇士、冒险、普通\n\n第2竖排 : 各个难度下击杀深渊房最终怪物时,所掉落[装备]数量\n\n第3竖排 : 各个难度下击杀深渊房最终怪物时,所掉落[道具]数量\n `(可能是,等后续测试完成会重新追加注释)`\n\n第4竖排 : 各个难度下击杀深渊房最终怪物时,\n 对掉落[更好品质装备]的{概率}或{权重}的增幅\n `(可能是,等后续测试完成会重新追加注释)`\n\n第5竖排 : 同4\n\n第6竖排 : (等待后续测试以追加标签注释)\n\n`最后编辑时间 : 2026/3/18`\n\n官方示例:\n#### 官方示例: questparameter.etc\n\n#### 官方示例: questsample.qst\n\n```pvf\n// 以下为新标签(08年04月)。\n[difficulty] `S` // 任务的奖励难度。输入的字符常数在quest/`questparameter.etc`文件中定义。\n// 本任务完成时影响经验值奖励。\n```", "type": "text" }, "group": "etc" }, { "id": "etc.section.drop-prob.adlldz", "match": { "extensions": [ ".etc" ] }, "target": { "kind": "section", "section": "drop prob" }, "annotation": { "title": "掉落概率", "content": "掉落概率\n物品掉落概率配置。\n\n下降的概率", "type": "text" }, "group": "etc" }, { "id": "etc.section.dungeon-difficulty-drop-bonusrate.eotqkm", "match": { "extensions": [ ".etc" ] }, "target": { "kind": "section", "section": "dungeon difficulty drop bonusrate" }, "annotation": { "title": "地下城难度掉落加成率", "content": "地下城难度掉落加成率\n副本难度等级对应的物品掉落加成倍率。\n\n地下城难度掉落加成率", "type": "text" }, "group": "etc" }, { "id": "etc.section.dungeon-difficulty-gold-drop-bonusrate.gf9f14", "match": { "extensions": [ ".etc" ] }, "target": { "kind": "section", "section": "dungeon difficulty gold drop bonusrate" }, "annotation": { "title": "地下城难度翻牌金币加成倍率", "content": "地下城难度翻牌金币加成倍率\n副本难度等级对应的通关翻牌金币加成倍率。\n\n地下城难度翻牌获得金币倍率\n\n地下城难度金滴bonusrate", "type": "text" }, "group": "etc" }, { "id": "etc.section.dungeon-index.1qc48n", "match": { "extensions": [ ".etc" ] }, "target": { "kind": "section", "section": "dungeon index" }, "annotation": { "title": "副本索引", "content": "系统数据中的 [dungeon index] 闭合块。已见数据形态为单值或数值序列;列数、单位和取值刻度不能只凭字段名推断。其中数字若表示副本 ID,必须通过 dungeon registry 解析;静态登记不证明入口开放。\n\n地牢索引\n\n#### 官方示例: debugconfig\n\n```pvf\n[dungeon index] 111//62 // 13040 // 要测试的地下城索引。0为等待室。-1为角色选择画面。-2为PVP。\n```", "type": "text" }, "group": "etc" }, { "id": "etc.section.dungeon-inout-time.ddzgk9", "match": { "extensions": [ ".etc" ] }, "target": { "kind": "section", "section": "dungeon inout time" }, "annotation": { "title": "副本开放时间", "content": "副本开放时间\n//是时候打开地牢了。\n//(极端祭坛,进入中国一定要放出来!!)\n//时间:0~23,分钟:0~59\n//[地牢进入时间]\n//开始结束开始结束\n//索引时间时间分分\n//11007 0 23 0 10 //从0到23小时(即每小时)在0到50分钟之间打开。\n//[/dungeon inout time]\n\n地牢陷入困境\n\n地牢陷入困境\n//是时候打开地牢了。\n//(极端祭坛,进入中国一定要放出来!!)\n//时间:0~23,分钟:0~59\n//[地牢进入时间]\n//开始结束开始结束\n//索引时间时间分分\n//11007 0 23 0 10 //从0到23小时(即每小时)在0到50分钟之间打开。\n//[/dungeon inout time]", "type": "text" }, "group": "etc" }, { "id": "etc.section.dungeon-npc.wpdcqe", "match": { "extensions": [ ".etc" ] }, "target": { "kind": "section", "section": "dungeon npc" }, "annotation": { "title": "副本NPC", "content": "副本NPC\n副本中出现的NPC配置信息。\n\n地牢NPC", "type": "text" }, "group": "etc" }, { "id": "etc.section.dungeonindex.1dzrnr", "match": { "extensions": [ ".etc" ] }, "target": { "kind": "section", "section": "dungeonindex" }, "annotation": { "title": "副本索引", "content": "副本索引\n新手体验中指副本的相对lst中的索引\n\n副本索引", "type": "text" }, "group": "etc" }, { "id": "etc.section.each-layer-matching-dungeon.1w5ygp", "match": { "extensions": [ ".etc" ] }, "target": { "kind": "section", "section": "each layer matching dungeon" }, "annotation": { "title": "绝望之塔各层对应副本", "content": "[each layer matching dungeon]\n绝望之塔的副本数据\n例如1是第一层,11008是指向的副本,后面也是这样类推,1到100,对应100层,11008到11107对应副本编号,可在副本列表找到对应的编号。\n\neach layer matching dungeon\n\n[each layer matching dungeon],绝望之塔的副本数据\n例如1是第一层,11008是指向的副本,后面也是这样类推,1到100,对应100层,11008到11107对应副本编号,可在副本列表找到对应的编号。", "type": "text" }, "group": "etc" }, { "id": "etc.section.effect-equipment-part-set.1c9jj3", "match": { "extensions": [ ".etc" ] }, "target": { "kind": "section", "section": "effect equipment part set" }, "annotation": { "title": "时装套装触发效果配置", "content": "[effect equipment part set]\n控制时装套装触发的特殊动画(ani)效果,1是编号,equ是指向套装的,需要多少件时装才能触发效果。\n\neffect equipment part set\n\neffect equipment part set\n控制时装触发的ani动画,1是编号,下面是equ是指向套装的,需要多少件时装", "type": "text" }, "group": "etc" }, { "id": "etc.section.emblem-compound-info.tki1yc", "match": { "extensions": [ ".etc" ] }, "target": { "kind": "section", "section": "emblem compound info" }, "annotation": { "title": "徽章合成信息", "content": "徽章合成信息\n徽章合成的详细配置信息(合成规则、材料、概率等)。\n\n徽章信息", "type": "text" }, "group": "etc" }, { "id": "etc.section.emblem-list.ynw9sd", "match": { "extensions": [ ".etc" ] }, "target": { "kind": "section", "section": "emblem list" }, "annotation": { "title": "徽章列表", "content": "徽章列表\n所有徽章物品的列表配置。\n\n徽章列表", "type": "text" }, "group": "etc" }, { "id": "etc.section.equipment-index.1aksva", "match": { "extensions": [ ".etc" ] }, "target": { "kind": "section", "section": "equipment index" }, "annotation": { "title": "装备索引", "content": "装备索引\n\n`defaultEquipment` 基础角色外形:头发--上衣--下装--鞋子--皮肤--武器 -1则表示原始角色的基础外貌\n\n设备指数", "type": "text" }, "group": "etc" }, { "id": "etc.section.equipment-list.1xvioh", "match": { "extensions": [ ".etc" ] }, "target": { "kind": "section", "section": "equipment list" }, "annotation": { "title": "装备列表", "content": "系统数据中的 [equipment list] 闭合块。内部继续包含子标签,具体列义由父块和相邻记录共同决定。其中数字若表示装备 ID,必须通过 equipment registry 解析;静态配置不证明物品已发放。\n\n设备清单", "type": "text" }, "group": "etc" }, { "id": "etc.section.equipment-part-set.eqqjwk", "match": { "extensions": [ ".etc" ] }, "target": { "kind": "section", "section": "equipment part set" }, "annotation": { "title": "装备套装", "content": "装备套装\n装备套装配置段落的起始标记,定义一套装备的组成部件。\n\n套装开始\n\n设备部分集", "type": "text" }, "group": "etc" }, { "id": "etc.section.event-item.u9pqem", "match": { "extensions": [ ".etc" ] }, "target": { "kind": "section", "section": "event item" }, "annotation": { "title": "活动事件物品", "content": "系统数据中的 [event item] 闭合块。已见数据形态为单值或数值序列;列数、单位和取值刻度不能只凭字段名推断。其中数字若表示物品 ID,必须先按父块区分 equipment、stackable、avatar 等 registry,不能把裸数字直接定性。\n\n活动项目", "type": "text" }, "group": "etc" }, { "id": "etc.section.exchange-item.1d5wob", "match": { "extensions": [ ".etc" ] }, "target": { "kind": "section", "section": "exchange item" }, "annotation": { "title": "兑换物品", "content": "系统数据中的 [exchange item] 闭合块。已见数据形态为单值或数值序列;列数、单位和取值刻度不能只凭字段名推断。其中数字若表示物品 ID,必须先按父块区分 equipment、stackable、avatar 等 registry,不能把裸数字直接定性。\n\n交换项目", "type": "text" }, "group": "etc" }, { "id": "etc.section.exp-bonus.vpxirj", "match": { "extensions": [ ".etc" ] }, "target": { "kind": "section", "section": "exp bonus" }, "annotation": { "title": "冒险团各等级经验Buff奖励", "content": "冒险团各等级的经验Buff奖励\n冒险团各等级提供的经验值Buff奖励比例。\n\n冒险团各等级的经验BUFF奖励", "type": "text" }, "group": "etc" }, { "id": "etc.section.exp-reward.4e65pr", "match": { "extensions": [ ".etc" ] }, "target": { "kind": "section", "section": "exp reward" }, "annotation": { "title": "经验奖励", "content": "系统数据中的 [exp reward] 闭合块。内部继续包含子标签,具体列义由父块和相邻记录共同决定。奖励或邮件静态配置不证明服务端必定发放,数量、期限和领取条件仍需实机验证。\n\nEXP奖励", "type": "text" }, "group": "etc" }, { "id": "etc.section.exp.vt7mlk", "match": { "extensions": [ ".etc" ] }, "target": { "kind": "section", "section": "exp" }, "annotation": { "title": "黑钻额外经验加成率", "content": "黑钻额外经验加成率\n黑钻(PC房)提供的额外经验值加成百分比。\n\n黑钻经验+xx%", "type": "text" }, "group": "etc" }, { "id": "etc.section.first-channel-server-info.1hln27", "match": { "extensions": [ ".etc" ] }, "target": { "kind": "section", "section": "first channel server info" }, "annotation": { "title": "第一频道服务器信息", "content": "第一频道服务器信息\n首个频道的服务器连接信息配置。\n\n第一频道服务器信息", "type": "text" }, "group": "etc" }, { "id": "etc.section.gage-upgrade-cost-percent.1k0mad", "match": { "extensions": [ ".etc" ] }, "target": { "kind": "section", "section": "gage upgrade cost percent" }, "annotation": { "title": "计量槽升级费用百分比", "content": "系统数据中的 [gage upgrade cost percent] 闭合块。已见数据形态为单值或数值序列;列数、单位和取值刻度不能只凭字段名推断。比率或随机刻度不能自动按百分数解释,静态权重也不等于最终实机概率。\n\n测厚仪升级成本百分比", "type": "text" }, "group": "etc" }, { "id": "etc.section.gift-disallowance.1wap73", "match": { "extensions": [ ".etc" ] }, "target": { "kind": "section", "section": "gift disallowance" }, "annotation": { "title": "商城道具不可赠送", "content": "商城道具不可赠送\n禁止特定商城道具通过赠送功能送给其他玩家。\n\n商城道具不可赠送", "type": "text" }, "group": "etc" }, { "id": "etc.section.gift-item-log.5mg4xc", "match": { "extensions": [ ".etc" ] }, "target": { "kind": "section", "section": "gift item log" }, "annotation": { "title": "赠礼物品日志", "content": "系统数据中的 [gift item log] 闭合块。已见数据形态为单值或数值序列;列数、单位和取值刻度不能只凭字段名推断。奖励或邮件静态配置不证明服务端必定发放,数量、期限和领取条件仍需实机验证。", "type": "text" }, "group": "etc" }, { "id": "etc.section.gift-npc-log.1q4hyf", "match": { "extensions": [ ".etc" ] }, "target": { "kind": "section", "section": "gift npc log" }, "annotation": { "title": "赠礼NPC日志", "content": "系统数据中的 [gift npc log] 闭合块。已见数据形态为单值或数值序列;列数、单位和取值刻度不能只凭字段名推断。奖励或邮件静态配置不证明服务端必定发放,数量、期限和领取条件仍需实机验证。", "type": "text" }, "group": "etc" }, { "id": "etc.section.gift-only.f9up3j", "match": { "extensions": [ ".etc" ] }, "target": { "kind": "section", "section": "gift only" }, "annotation": { "title": "赠礼仅限", "content": "系统数据中的 [gift only] 闭合块。已见为空内容闭合块,主要以结构存在性参与解析。奖励或邮件静态配置不证明服务端必定发放,数量、期限和领取条件仍需实机验证。", "type": "text" }, "group": "etc" }, { "id": "etc.section.give-emotion.1e1jnd", "match": { "extensions": [ ".etc" ] }, "target": { "kind": "section", "section": "give emotion" }, "annotation": { "title": "发放心情状态", "content": "发放心情状态\n发放心情状态/表情效果给玩家角色的配置。\n\n发放心情状态", "type": "text" }, "group": "etc" }, { "id": "etc.section.gold-bonus.1nkt0q", "match": { "extensions": [ ".etc" ] }, "target": { "kind": "section", "section": "gold bonus" }, "annotation": { "title": "冒险团金币奖励", "content": "冒险团金币奖励\n//两个一组,分别是等级和金币倍率\n\n冒险团金币奖励", "type": "text" }, "group": "etc" }, { "id": "etc.section.gold-card-cost-table.16axxz", "match": { "extensions": [ ".etc" ] }, "target": { "kind": "section", "section": "gold card cost table" }, "annotation": { "title": "收费翻牌(金牌)费用表", "content": "以副本等级为基准等级来决定收费翻牌的价格", "type": "text" }, "group": "etc" }, { "id": "etc.section.gold-drop-ref-table.3le5uh", "match": { "extensions": [ ".etc" ] }, "target": { "kind": "section", "section": "gold drop ref table" }, "annotation": { "title": "等级掉落金币表格", "content": "等级掉落金币表格\n\n共有3个参数\n1 等级 2 最高掉落 3 最少掉落", "type": "text" }, "group": "etc" }, { "id": "etc.section.gold-limit-from-level.m11x9a", "match": { "extensions": [ ".etc" ] }, "target": { "kind": "section", "section": "gold limit from level" }, "annotation": { "title": "每个等级可容纳的金币上限", "content": "[gold limit from level]每个等级可容纳的金币上限\n\n左边是等级 右边是金币上限\n\n每个等级可容纳的金币上限", "type": "text" }, "group": "etc" }, { "id": "etc.section.group-index.1p07xh", "match": { "extensions": [ ".etc" ] }, "target": { "kind": "section", "section": "group index" }, "annotation": { "title": "深渊派对组", "content": "深渊派对组\n0为怪物-1为APC\n\n深渊派对组", "type": "text" }, "group": "etc" }, { "id": "etc.section.group.qk5ggc", "match": { "extensions": [ ".etc" ] }, "target": { "kind": "section", "section": "group" }, "annotation": { "title": "物品组/套装组", "content": "物品组/套装组\n物品分组或套装组的定义配置。\n\n组", "type": "text" }, "group": "etc" }, { "id": "etc.section.grow-type.1s1nd4", "match": { "extensions": [ ".etc" ] }, "target": { "kind": "section", "section": "grow type" }, "annotation": { "title": "成长类型", "content": "系统数据中的 [grow type] 闭合块。内部继续包含子标签,具体列义由父块和相邻记录共同决定。`atgunner`、`atmage`、`atfighter` 等按独立角色/职业分支处理,不能解释为觉醒、TP 或 Ex 阶段。\n\n#### 官方示例: debugconfig\n\n```pvf\n[grow type] 4 // 测试角色的成长类型。0~4(0为基本)\n// 鬼剑士 - 0.鬼剑士,1.剑魂,2.鬼泣,3.狂战士,4.阿修罗\n// 格斗家 - 0.格斗家\n// 枪手 - 0.枪手,1.漫游枪手,2.\n// 魔法师 - 0.魔法师,1.元素师,2.召唤师,3.战斗法师\n// 圣职者 - 0.圣职者,1.圣骑士,\n```\n\n#### 官方示例: questsample.qst\n\n```pvf\n[grow type] -1 // 可行的成长类型。无限制则为-1。\n```", "type": "text" }, "group": "etc" }, { "id": "etc.section.guild-create-cost.27msmp", "match": { "extensions": [ ".etc" ] }, "target": { "kind": "section", "section": "guild create cost" }, "annotation": { "title": "创建公会费用", "content": "创建公会费用\n创建公会要花费的金钱/材料成本。\n\n创建公会要花的费用", "type": "text" }, "group": "etc" }, { "id": "etc.section.hell-table.1t8m8e", "match": { "extensions": [ ".etc" ] }, "target": { "kind": "section", "section": "hell table" }, "annotation": { "title": "深渊派对表", "content": "深渊派对表\n深渊派对的数据表格配置,包含怪物和APC的掉落、出现概率等参数。\n\nhell table", "type": "text" }, "group": "etc" }, { "id": "etc.section.hellparty-basic-values.9id78i", "match": { "extensions": [ ".etc" ] }, "target": { "kind": "section", "section": "hellparty basic values" }, "annotation": { "title": "深渊派对基本设定", "content": "深渊派对基本设定\n深渊派对的基础参数配置。\n\n深渊派对基本设定", "type": "text" }, "group": "etc" }, { "id": "etc.section.hidden-npc.s3inl6", "match": { "extensions": [ ".etc" ] }, "target": { "kind": "section", "section": "hidden npc" }, "annotation": { "title": "隐藏NPC", "content": "隐藏NPC\n被隐藏/不可见NPC的配置。\n\n隐藏的NPC", "type": "text" }, "group": "etc" }, { "id": "etc.section.high-link-character-exp-bonus.1bm3j9", "match": { "extensions": [ ".etc" ] }, "target": { "kind": "section", "section": "high link character exp bonus" }, "annotation": { "title": "高级链接角色经验加成", "content": "高级链接角色经验加成\n高于70级的角色链接时提供的经验加成。\n\n高于70级的经验加成\n\n高链接文字EXP奖金\n高于70级的经验加成\n管理员:上面两个哪个才是正确的?", "type": "text" }, "group": "etc" }, { "id": "etc.section.high-link-character-gold-bonus.1v1896", "match": { "extensions": [ ".etc" ] }, "target": { "kind": "section", "section": "high link character gold bonus" }, "annotation": { "title": "高级链接角色金币加成", "content": "高级链接角色金币加成\n高于70级的角色链接时提供的金币加成。\n\n高于70级的金币加成", "type": "text" }, "group": "etc" }, { "id": "etc.section.in-game-advertisement-expose-condition-of-teen.yep0i9", "match": { "extensions": [ ".etc" ] }, "target": { "kind": "section", "section": "in game advertisement expose condition of teen" }, "annotation": { "title": "青少年游戏内广告展示限制", "content": "青少年游戏内广告展示限制\n针对青少年(未成年)玩家的游戏内广告展示条件配置。\n\n在游戏中的广告暴露青少年的条件", "type": "text" }, "group": "etc" }, { "id": "etc.section.independent-drop.9hkw0m", "match": { "extensions": [ ".etc" ] }, "target": { "kind": "section", "section": "independent drop" }, "annotation": { "title": "独立掉落", "content": "[独立掉落]\n首行十七个数字\n3种写法,第十七位数字写0就是掉落一种物品,写1就是下面跟掉落列表,写2就说明是外部掉落文件, 比如异界掉落\n\n-----\n独立掉落写法1 掉落一种物品的\n0 61424(怪物) 1(掉落物品) 100000 100000 100000 100000 100000(五种难度掉落, 几率一百万为100%) 1 1 1 1 1(对应五种难度掉落个数) 0 0 -1 0\n\n独立掉落写法2 掉落一组物品的\n 0 2 0 50000 50000 50000 50000 50000 1 1 1 1 1 0 0 -1 1\n掉落一组物品的,那么掉落物品就写0,然后增加 [list]...[/list] 标签, 在里面写掉落的物品\n [list]\n 10564 1000 //物品代码-掉落权重(1000等于100% ?)\n 12561 1000\n [/list]\n\n独立掉落写法3 调用外部独立掉落文件的 比如异界装备的掉落\n 0 59009 0 0 0 140000 285920 0 1 1 1 1 1 70 90 -1 2\n [list]\n 116 //数字为外部独立掉落文件的编号 编号在etc/independentdrop.lst\n [/list]\n\n独立掉落\n\n多物品独立掉落\n0\t61424(怪物)\t0\t1000000\t1000000\t1000000\t1000000\t1000000(五种难度掉落几率一百万为100%)\t1\t1\t1\t1\t1(对应五种难度掉落个数)\t0\t0\t-1\t1\t\n[list]\n490001700\t1000\t490001701\t1000(掉落物品代码区域)\t\n[/list]\n\n多物品独立掉落\n0(掉落怪物分类通常为0)\t61424(怪物)\t0\t1000000\t1000000\t1000000\t1000000\t1000000(五种难度掉落几率一百万为100%)\t1\t1\t1\t1\t1(对应五种难度掉落个数)\t0\t0\t-1\t1\t\n(可支持异界掉落具体写法可联系我)\n[list]\n490001700\t1000\t490001701\t1000(掉落物品代码区域)\t\n[/list]\n\n多物品独立掉落\n\n0(掉落怪物分类通常为0)\t61424(怪物)\t0\t1000000\t1000000\t1000000\t1000000\t1000000(五种难度掉落几率一百万为100%)\t1\t1\t1\t1\t1(对应五种难度掉落个数)\t0\t0\t-1\t1\n\n(可支持异界掉落具体写法可联系我)\n\n[list]\n\n490001700\t1000\t490001701\t1000(掉落物品代码区域)\n\n[/list]\n\nq1925229848\n\n[独立掉落]\n\n十七个数字\n0 61424(怪物) 0 1000000 1000000 1000000 1000000 1000000(五种难度掉落, 几率一百万为100%) 1 1 1 1 1(对应五种难度掉落个数) 0 0 -1 1\n第十七为0则下面不\n[list]\n490001700\t1000\t490001701\t1000(掉落物品代码区域)\t\n[/list]\n\n十七个数字\n第十七位数字写0就是掉落一种物品,写1就是下面跟掉落列表,写2就说明时外部掉落文件, 比如异界掉落\n\n独立掉落写法1 掉落一种物品的\n0 61424(怪物) 1(掉落物品) 1000000 1000000 1000000 1000000 1000000(五种难度掉落, 几率一百万为100%) 1 1 1 1 1(对应五种难度掉落个数) 0 0 -1 0\n\n独立掉落写法2 掉落一组物品的\n 0 2 0 50000 50000 50000 50000 50000 1 1 1 1 1 0 0 -1 1\n掉落一组物品的 那么掉落物品就写0,然后增加 [list]...[/list] 标签, 在里面写掉落的物品\n [list]\n 10564 1000 //物品代码-掉落权重(1000等于100%)\n 12561 1000\n [/list]\n\n独立掉落写法3 调用外部独立掉落文件的 比如异界装备的掉落\n 0 59009 0 0 0 140000 285920 0 1 1 1 1 1 70 90 -1 2\n//最后一个数写2\n [list]\n 116//数字为外部独立掉落文件的编号 编号在etc/independentdrop.lst\n [/list]\n\n0 61424(怪物) 0 1000000 1000000 1000000 1000000 1000000(五种难度掉落, 几率一百万为100%) 1 1 1 1 1(对应五种难度掉落个数) 0 0 -1 1\n第十七为0则下面不\n[list]\n490001700\t1000\t490001701\t1000(掉落物品代码区域)\t\n[/list]\n\n十七个数字\n3种写法,第十七位数字写0就是掉落一种物品,写1就是下面跟掉落列表,写2就说明时外部掉落文件, 比如异界掉落\n\n[独立掉落]\n十七个数字\n3种写法,第十七位数字写0就是掉落一种物品,写1就是下面跟掉落列表,写2就说明时外部掉落文件, 比如异界掉落\n\n-----\n独立掉落写法1 掉落一种物品的\n0 61424(怪物) 1(掉落物品) 1000000 1000000 1000000 1000000 1000000(五种难度掉落, 几率一百万为100%) 1 1 1 1 1(对应五种难度掉落个数) 0 0 -1 0\n\n独立掉落写法3 调用外部独立掉落文件的 比如异界装备的掉落\n 0 59009 0 0 0 140000 285920 0 1 1 1 1 1 70 90 -1 2\n\n[list]\n 116 //数字为外部独立掉落文件的编号 编号在etc/independentdrop.lst\n [/list]\n\n独立掉落写法2 掉落一组物品的\n 0 2 0 50000 50000 50000 50000 50000 1 1 1 1 1 0 0 -1 1\n掉落一组物品的,那么掉落物品就写0,然后增加 [list]...[/list] 标签, 在里面写掉落的物品\n [list]\n 10564 1000 //物品代码-掉落权重(1000等于100%)\n 12561 1000\n [/list]\n\n独立掉落写法2 掉落一组物品的\n 0 2 0 50000 50000 50000 50000 50000 1 1 1 1 1 0 0 -1 1\n掉落一组物品的,那么掉落物品就写0,然后增加 [list]...[/list] 标签, 在里面写掉落的物品\n [list]\n 10564 1000 //物品代码-掉落权重(1000等于100%?)\n 12561 1000\n [/list]\n\n[独立掉落]\n首行十七个数字\n3种写法,第十七位数字写0就是掉落一种物品,写1就是下面跟掉落列表,写2就说明时外部掉落文件, 比如异界掉落\n\n#### 官方示例: newmonstersample.mob\n\n```pvf\n[independent drop] // 独立掉落系统。\n4332 3000 3000 3000 3000 1 1 1 1 1 0 //index1 普通% 专家% 大师% 王者% 次数(1人) 次数(2人) 次数(3人) 次数(4人) 最大掉落数 0\n// 最后写0则不加载列表。\n\n0 100000 0 0 0 1 1 1 1 1 1 // 加载列表时最后写1。 //0 普通% 专家% 大师% 王者% 次数(1人) 次数(2人) 次数(3人) 次数(4人) 最大掉落数 1\n// 索引中写0。\n[list]\n420374 1\n2637210 1\n[/list]\n0 0 100000 0 0 1 1 1 1 1 1 // 可以放入普通、专家、大师、王者概率并加载列表。\n[list]\n2643065 1\n[/list]\n[/independent drop]\n```", "type": "text" }, "group": "etc" }, { "id": "etc.section.item-drop-ref-table.1k5jxi", "match": { "extensions": [ ".etc" ] }, "target": { "kind": "section", "section": "item drop ref table" }, "annotation": { "title": "物品掉落引用表", "content": "物品掉落引用表\n物品掉落参考/引用表格,用于查看详细物品代码。\n\n掉落物品参见详细物品请查看代码表格", "type": "text" }, "group": "etc" }, { "id": "etc.section.item-index.jbnqva", "match": { "extensions": [ ".etc" ] }, "target": { "kind": "section", "section": "item index" }, "annotation": { "title": "物品索引", "content": "系统数据中的 [item index] 闭合块。已见数据形态为单值或数值序列;列数、单位和取值刻度不能只凭字段名推断。其中数字若表示物品 ID,必须先按父块区分 equipment、stackable、avatar 等 registry,不能把裸数字直接定性。", "type": "text" }, "group": "etc" }, { "id": "etc.section.item-table.khcft2", "match": { "extensions": [ ".etc" ] }, "target": { "kind": "section", "section": "item table" }, "annotation": { "title": "物品表", "content": "系统数据中的 [item table] 闭合块。内部继续包含子标签,具体列义由父块和相邻记录共同决定。其中数字若表示物品 ID,必须先按父块区分 equipment、stackable、avatar 等 registry,不能把裸数字直接定性。\n\n项目表", "type": "text" }, "group": "etc" }, { "id": "etc.section.job-info.1vfkt1", "match": { "extensions": [ ".etc" ] }, "target": { "kind": "section", "section": "job info" }, "annotation": { "title": "职业信息", "content": "系统数据中的 [job info] 闭合块。已见数据形态为反引号字符串/token 与数值的混合记录,字段顺序必须完整保留。`atgunner`、`atmage`、`atfighter` 等按独立角色/职业分支处理,不能解释为觉醒、TP 或 Ex 阶段。\n\n工作信息", "type": "text" }, "group": "etc" }, { "id": "etc.section.job-name.1hbtpd", "match": { "extensions": [ ".etc" ] }, "target": { "kind": "section", "section": "job name" }, "annotation": { "title": "职业名称", "content": "系统数据中的 [job name] 闭合块。内部继续包含子标签,具体列义由父块和相邻记录共同决定。`atgunner`、`atmage`、`atfighter` 等按独立角色/职业分支处理,不能解释为觉醒、TP 或 Ex 阶段。\n\n工作名称", "type": "text" }, "group": "etc" }, { "id": "etc.section.key-value-index.1pz6lv", "match": { "extensions": [ ".etc" ] }, "target": { "kind": "section", "section": "key value index" }, "annotation": { "title": "键值索引", "content": "键值索引\n键-值对数据的索引映射配置。\n\n关键价值指数", "type": "text" }, "group": "etc" }, { "id": "etc.section.legacy-info.i5cyjm", "match": { "extensions": [ ".etc" ] }, "target": { "kind": "section", "section": "legacy info" }, "annotation": { "title": "传承装备信息", "content": "传承装备信息\n传承(Legacy)装备的相关属性、套装数据信息配置。\n\n#### 官方示例: disjointsample.etc\n\n```pvf\n[legacy info] // 抽取信息\n1 // 第一个整数数据是抽取数据的品级。从1开始。(1 = 1~10, 2=11~20...)\n // 之后格式与抽取物品的整数数据相同。\n\n1001 // 未抽中任何物品时的默认产出物品。\n\n10001 288 // 产出物品的索引和概率。概率为万分比(0.001%)\n2342 301 // 例:2342号物品 0.301% 概率产出\n3222 1 // 例:3222号物品 0.001% 概率产出\n4222 5000\n2222 243\n[/legacy info]\n```\n\n```pvf\n[legacy info] // 抽取信息\n2 // 第一个整数数据是抽取数据的品级。从1开始。\n // 之后格式与抽取物品的整数数据相同。\n\n- 传统的信息\n- 抽取信息\n\n官方示例:\n#### 官方示例: disjointsample.etc\n\n```pvf\n[legacy info] // 抽取信息\n2 // 第一个整数数据是抽取数据的品级。从1开始。", "type": "text" }, "group": "etc" }, { "id": "etc.section.link-level.1kgrz6", "match": { "extensions": [ ".etc" ] }, "target": { "kind": "section", "section": "link level" }, "annotation": { "title": "支援兵链接等级门槛", "content": "支援兵链接等级门槛\nMP槽上面的冒险团支援兵出现等级\n50=50级出现\n隐藏则是 比如你的版本满级是70版本 输入71即可隐藏\n\nMP槽上面的冒险团支援兵出现等级\n\nMP槽上面的冒险团支援兵出现等级\n50=50级出现\n隐藏则是 比如你的版本满级是70版本 输入71即可隐藏", "type": "text" }, "group": "etc" }, { "id": "etc.section.list.3lo6m9", "match": { "extensions": [ ".etc" ] }, "target": { "kind": "section", "section": "list" }, "annotation": { "title": "独立掉落物品列表(子项)", "content": "独立掉落物品列表(子项)\n出现在[independent drop]内部,表示:\n\n物品代码-掉落权重\n\n独立掉落中表示\n\n独立掉落中表示:\n\n在独立掉落中代表所掉物品与概率\n1000=100%掉落\n\n上一行的[/list]该行代表掉落该物品的怪物\n\n在独立掉落中代表所掉物品与概率\n\n1000=100%掉落\n\n上一行的[/list]代表该行掉落该物品的怪物\n\n#### 官方示例: newmonstersample.mob\n\n```pvf\n// 索引中写0。\n[list]\n420374 1\n2637210 1\n[/list]\n```", "type": "text" }, "group": "etc" }, { "id": "etc.section.low-link-character-exp-bonus.fiwhn0", "match": { "extensions": [ ".etc" ] }, "target": { "kind": "section", "section": "low link character exp bonus" }, "annotation": { "title": "低级链接角色经验加成", "content": "//低于70级有10%经验加成\n\n低于70级有10%经验加成", "type": "text" }, "group": "etc" }, { "id": "etc.section.low-link-character-gold-bonus.emjnb9", "match": { "extensions": [ ".etc" ] }, "target": { "kind": "section", "section": "low link character gold bonus" }, "annotation": { "title": "低级链接角色金币加成", "content": "//低于70级增加10%金币加成\n\n低于70级增加10%金币加成", "type": "text" }, "group": "etc" }, { "id": "etc.section.manage-basic-explain.1rbv46", "match": { "extensions": [ ".etc" ] }, "target": { "kind": "section", "section": "manage basic explain" }, "annotation": { "title": "各等级冒险团名称", "content": "各等级冒险团名称\n每个等级的冒险团名称/称号配置。\n\n每个等级的冒险团名称", "type": "text" }, "group": "etc" }, { "id": "etc.section.manage-level-max.1uigbm", "match": { "extensions": [ ".etc" ] }, "target": { "kind": "section", "section": "manage level max" }, "annotation": { "title": "冒险团最大等级", "content": "冒险团最大等级\n冒险团可达到的最高等级上限。\n\n冒险团最大等级", "type": "text" }, "group": "etc" }, { "id": "etc.section.manage-level-point.1xsltb", "match": { "extensions": [ ".etc" ] }, "target": { "kind": "section", "section": "manage level point" }, "annotation": { "title": "冒险团升级所需经验", "content": "冒险团升级所需经验\n冒险团各等级升级所需的经验值。\n\n冒险团升级所需经验", "type": "text" }, "group": "etc" }, { "id": "etc.section.manage-option.o42xef", "match": { "extensions": [ ".etc" ] }, "target": { "kind": "section", "section": "manage option" }, "annotation": { "title": "冒险团各等级四围加成", "content": "冒险团各等级的四围加成\n冒险团各等级提供的力量/智力/体力/精神四围属性加成。\n\n冒险团各等级的四围加成\n\n管理选项\n\n四维加成", "type": "text" }, "group": "etc" }, { "id": "etc.section.material.1mik50", "match": { "extensions": [ ".etc" ] }, "target": { "kind": "section", "section": "material" }, "annotation": { "title": "所需材料", "content": "所需材料\n指定操作/合成/升级等所需的材料物品配置。\n\n#### 官方示例: compoundavatarsample.etc\n\n```pvf\n// 使用的材料物品信息\n[material]\n1 // 使用的材料数量\n\n1000 1 // 索引,数量\n[/material]\n```\n\n- 所需材料\n- 使用的材料数量", "type": "text" }, "group": "etc" }, { "id": "etc.section.max-fatigue.1q4loo", "match": { "extensions": [ ".etc" ] }, "target": { "kind": "section", "section": "max fatigue" }, "annotation": { "title": "最大疲劳值", "content": "最大疲劳值\n角色每日疲劳值上限配置。\n\n最大疲劳", "type": "text" }, "group": "etc" }, { "id": "etc.section.mission-reward-exp-table.16lvo8", "match": { "extensions": [ ".etc" ] }, "target": { "kind": "section", "section": "mission reward exp table" }, "annotation": { "title": "任务目标奖励经验表", "content": "系统数据中的 [mission reward exp table] 闭合块。已见数据形态为单值或数值序列;列数、单位和取值刻度不能只凭字段名推断。奖励或邮件静态配置不证明服务端必定发放,数量、期限和领取条件仍需实机验证。\n\n使命奖励exp表", "type": "text" }, "group": "etc" }, { "id": "etc.section.monster-index.1twjwb", "match": { "extensions": [ ".etc" ] }, "target": { "kind": "section", "section": "monster index" }, "annotation": { "title": "怪物索引", "content": "系统数据中的 [monster index] 闭合块。内部继续包含子标签,具体列义由父块和相邻记录共同决定。其中数字若表示怪物 ID,必须通过 monster registry 解析,不能按名称或目录反推裸 ID。\n\n怪物指数", "type": "text" }, "group": "etc" }, { "id": "etc.section.movie-play.gm6kij", "match": { "extensions": [ ".etc" ] }, "target": { "kind": "section", "section": "movie play" }, "annotation": { "title": "影片游玩", "content": "系统数据中的 [movie play] 闭合块。内部继续包含子标签,具体列义由父块和相邻记录共同决定。资源路径或名称只说明客户端资源引用;是否存在、能加载及表现正确需另行检查 ImagePacks2/NPK 或目标资源。\n\n电影播放", "type": "text" }, "group": "etc" }, { "id": "etc.section.normal-table.11w5u8", "match": { "extensions": [ ".etc" ] }, "target": { "kind": "section", "section": "normal table" }, "annotation": { "title": "普通模式掉落表", "content": "普通模式掉落表\n普通难度/普通模式下的掉落或数据表格配置。\n\n正常的表", "type": "text" }, "group": "etc" }, { "id": "etc.section.notice-legacy-with-upgrade.1wntci", "match": { "extensions": [ ".etc" ] }, "target": { "kind": "section", "section": "notice legacy with upgrade" }, "annotation": { "title": "传承装备升级公告通知", "content": "传承装备升级公告通知\n传承装备升级/强化成功时触发全服公告通知的配置。\n\n通知遗留升级", "type": "text" }, "group": "etc" }, { "id": "etc.section.npc-info.1hzmd2", "match": { "extensions": [ ".etc" ] }, "target": { "kind": "section", "section": "npc info" }, "annotation": { "title": "NPC信息", "content": "NPC/商店的基本信息配置,包括各商店对应的 NPC 面部图像文件名、帧索引和说明文本。静态资源引用不证明客户端图像存在、商店可打开或服务端采用。\n\n#### 官方示例: cashshopsample.etc\n\n```pvf\n[npc info]\n`Npc.img` 0 `欢迎光临时装店,布拉布拉...` // 各商店对应的 NPC 面部图像文件名,帧索引,说明\n`Npc.img` 1 `欢迎光临道具店,拿不拿不...`\n`Npc.img` 2 `欢迎光临杂货店,自家自家讲讲...`\n`Npc.img` 3 `欢迎光临宠物店,呜噜噜...`\n```\n\n- 人大信息\n- 各商店对应的 NPC 面部图像文件名", "type": "text" }, "group": "etc" }, { "id": "etc.section.option-type.gdco38", "match": { "extensions": [ ".etc" ] }, "target": { "kind": "section", "section": "option type" }, "annotation": { "title": "选项类型", "content": "选项类型\n增益选项/属性选项的类型分类配置。\n\n选项类型", "type": "text" }, "group": "etc" }, { "id": "etc.section.option-value-ratio.1km4ra", "match": { "extensions": [ ".etc" ] }, "target": { "kind": "section", "section": "option value ratio" }, "annotation": { "title": "选项数值比率", "content": "系统数据中的 [option value ratio] 闭合块。已见数据形态为单值或数值序列;列数、单位和取值刻度不能只凭字段名推断。比率或随机刻度不能自动按百分数解释,静态权重也不等于最终实机概率。\n\n选项值比率", "type": "text" }, "group": "etc" }, { "id": "etc.section.package-reward.hi9xri", "match": { "extensions": [ ".etc" ] }, "target": { "kind": "section", "section": "package reward" }, "annotation": { "title": "礼包奖励", "content": "系统数据中的 [package reward] 闭合块。内部继续包含子标签,具体列义由父块和相邻记录共同决定。奖励或邮件静态配置不证明服务端必定发放,数量、期限和领取条件仍需实机验证。\n\n包奖励", "type": "text" }, "group": "etc" }, { "id": "etc.section.package.14ao8o", "match": { "extensions": [ ".etc" ] }, "target": { "kind": "section", "section": "package" }, "annotation": { "title": "礼包", "content": "礼包\n\n商城里是礼包购买界面", "type": "text" }, "group": "etc" }, { "id": "etc.section.party-member-drop-bonusrate.6j2gm5", "match": { "extensions": [ ".etc" ] }, "target": { "kind": "section", "section": "party member drop bonusrate" }, "annotation": { "title": "组队人数金币加成倍率", "content": "组队人数金币加成倍率\n地下城通关结算时免费翻牌金币掉落控制(根据组队人数获得金钱倍率)。\n\n地下城通关结算时免费翻牌金币掉落控制(根据组队人数获得金钱倍率)", "type": "text" }, "group": "etc" }, { "id": "etc.section.pickratio.1ip4lr", "match": { "extensions": [ ".etc" ] }, "target": { "kind": "section", "section": "pickratio" }, "annotation": { "title": "抓取几率(钓鱼)", "content": "抓取几率(钓鱼)\n\n如果是100就是抓到之后百分百上钩\n\n抓取几率\n\n抓取几率 能不能抓上来", "type": "text" }, "group": "etc" }, { "id": "etc.section.piece-reward.1hufzi", "match": { "extensions": [ ".etc" ] }, "target": { "kind": "section", "section": "piece reward" }, "annotation": { "title": "阶段奖励", "content": "阶段奖励\n达成特定阶段时给予的奖励配置。\n\n阶段奖励\n\nn_quest/questparameter.etc\n外传职业时空碎片收集奖励\n对应1、2、3级", "type": "text" }, "group": "etc" }, { "id": "etc.section.point-bonus.1dy4u0", "match": { "extensions": [ ".etc" ] }, "target": { "kind": "section", "section": "point bonus" }, "annotation": { "title": "角色等级区间点数奖励表", "content": "位于 etc/linksystem/charactermanage.etc 的闭合表。真实数据按三数值重复,前两列在样本中形成等级区间,第三列为对应点数奖励线索;该表与 [manage level point] 等冒险团/角色管理参数相邻。实际累计、刷新和账号采用仍需服务端与实机验证。\n\npoint bonus\n\n//↑这个应该是到达等级冒险团获得的经验(40级以上角色才能提供经验)↑", "type": "text" }, "group": "etc" }, { "id": "etc.section.premium-rarity-dicision.sfrouh", "match": { "extensions": [ ".etc" ] }, "target": { "kind": "section", "section": "premium rarity dicision" }, "annotation": { "title": "收费翻牌稀有度判定", "content": "收费翻牌稀有度判定\n// 出现在高级金卡上的装备等级概率\n\n类似深渊掉落的数据结构,用于控制金牌(收费翻牌)中出现各稀有度装备的概率。\n\n类似深渊掉落一样的数据\n\n类似深渊掉落一样的数据\n// 出现在高级金卡上的装备等级概率", "type": "text" }, "group": "etc" }, { "id": "etc.section.premium-service.bav2f5", "match": { "extensions": [ ".etc" ] }, "target": { "kind": "section", "section": "premium service" }, "annotation": { "title": "契约效果", "content": "[premium service] 契约效果\n`[type]` 类型\n`[main preminum image index]` 主契约图片索引\n`[additional preminum image index]`增加契约图片索引\n`[add selectAble equipment list]` 增加可用装备列表\n\n契约效果\n\n[premium service] 契约效果\n`[type]` 类型\n`[main preminum image index]` 主契约图片索引\n`[additional preminum image index]`增加契约图片索引", "type": "text" }, "group": "etc" }, { "id": "etc.section.premium.z0h6pq", "match": { "extensions": [ ".etc" ] }, "target": { "kind": "section", "section": "premium" }, "annotation": { "title": "时效道具", "content": "时效道具\n\n商城里是道具→优惠的购买界面", "type": "text" }, "group": "etc" }, { "id": "etc.section.protect-of-upgrade-down.1os6zr", "match": { "extensions": [ ".etc" ] }, "target": { "kind": "section", "section": "protect of upgrade down" }, "annotation": { "title": "强化增幅保护券设置", "content": "强化增幅保护券设置\n四个数字为一组\n1、保护券代码\n2、最低保护等级\n3、最高保护的等级\n4、失败是否掉级\n(填1就是掉1级,填多少就是掉多少级,填0为不掉级)\n例:10~13保护券 = 8239\t10\t13\t0\n例:10~13掉级保护券 = 8239\t10\t13\t-31\n\n设置强化增幅保护券\n\n设置强化增幅保护券\n四个数字为一组\n1、保护券代码\n2、最低保护等级\n3、最高保护的等级\n4、失败是否掉级\n(填1就是掉1级,填多少就是掉多少级,填0为不掉级)\n例:10~13保护券 = 8239\t10\t13\t0\n例:10~13掉级保护券 = 8239\t10\t13\t-31\n\n设置强化增幅保护券\n四个数字为一组\n1、保护券代码\n2、最低保护等级\n3、最高保护的等级\n4、失败是否掉级\n(填1就是掉1级,填多少就是掉多少级,填0为不掉级)\n例:10~13保护券 = 8239\t10\t13\t0", "type": "text" }, "group": "etc" }, { "id": "etc.section.pvp-deathmatch-battle-time.1iwyil", "match": { "extensions": [ ".etc" ] }, "target": { "kind": "section", "section": "pvp deathmatch battle time" }, "annotation": { "title": "PVP死亡竞赛时间限制", "content": "PVP死亡竞赛时间限制\n//死斗决斗时间限制:毫秒单位\n\nPVP战斗中死亡竞赛时间\n\nPVP战斗中死亡竞赛时间\n//死斗决斗时间限制:毫秒单位", "type": "text" }, "group": "etc" }, { "id": "etc.section.pvp-experience-loss.1wb37i", "match": { "extensions": [ ".etc" ] }, "target": { "kind": "section", "section": "pvp experience loss" }, "annotation": { "title": "PVP经验扣减", "content": "PVP经验扣减\n//当等级高于第一个数字时在仪表栏上显示MAX\n29\n//第二个数字是每天扣除的决斗经验量\n7000\n\nPVP经验损失\n\nPVP经验损失\n//当等级高于第一个数字时在仪表栏上显示MAX\n29\n//第二个数字是每天扣除的决斗经验量\n7000", "type": "text" }, "group": "etc" }, { "id": "etc.section.pvp-map-order.1j7uqf", "match": { "extensions": [ ".etc" ] }, "target": { "kind": "section", "section": "pvp map order" }, "annotation": { "title": "PVP地图顺序", "content": "PVP地图顺序\n//这是选择决斗地图时使用的顺序。\n 确保【pvp地图基础数据】与列出的顺序相同!\n\nPVP地图订单\n\nPVP地图订单\n//这是选择决斗地图时使用的顺序。\n 确保【pvp地图基础数据】与列出的顺序相同!", "type": "text" }, "group": "etc" }, { "id": "etc.section.pvp-normal-battle-time.1uk977", "match": { "extensions": [ ".etc" ] }, "target": { "kind": "section", "section": "pvp normal battle time" }, "annotation": { "title": "PVP普通决斗时间限制", "content": "PVP普通决斗时间限制\n//普通决斗时限:毫秒单位\n\nPVP战斗正常时间\n\nPVP战斗正常时间\n//普通决斗时限:毫秒单位", "type": "text" }, "group": "etc" }, { "id": "etc.section.pvp-relay-battle-time.fcx4u7", "match": { "extensions": [ ".etc" ] }, "target": { "kind": "section", "section": "pvp relay battle time" }, "annotation": { "title": "PVP接力战斗时间限制", "content": "PVP接力战斗时间限制\n// 队长战斗(接力/车轮战)时间限制:毫秒单位\n\nPVP继电器战斗时间\n\nPVP继电器战斗时间\n// 队长战斗时间限制:毫秒单位", "type": "text" }, "group": "etc" }, { "id": "etc.section.quest-index.11uyxk", "match": { "extensions": [ ".etc" ] }, "target": { "kind": "section", "section": "quest index" }, "annotation": { "title": "任务索引", "content": "系统数据中的 [quest index] 闭合块。已见数据形态为单值或数值序列;列数、单位和取值刻度不能只凭字段名推断。其中数字若表示任务 ID,必须通过任务 registry 解析;静态登记不证明任务可接取或完成。", "type": "text" }, "group": "etc" }, { "id": "etc.section.quest.2q1ni5", "match": { "extensions": [ ".etc" ] }, "target": { "kind": "section", "section": "quest" }, "annotation": { "title": "任务", "content": "系统数据中的 [quest] 闭合块。已见为空内容闭合块,主要以结构存在性参与解析。其中数字若表示任务 ID,必须通过任务 registry 解析;静态登记不证明任务可接取或完成。", "type": "text" }, "group": "etc" }, { "id": "etc.section.random-category.1khfof", "match": { "extensions": [ ".etc" ] }, "target": { "kind": "section", "section": "random category" }, "annotation": { "title": "随机类别", "content": "系统数据中的 [random category] 闭合块。已见数据形态为反引号字符串/token 与数值的混合记录,字段顺序必须完整保留。比率或随机刻度不能自动按百分数解释,静态权重也不等于最终实机概率。\n\n随机类别", "type": "text" }, "group": "etc" }, { "id": "etc.section.random-reward.zfa815", "match": { "extensions": [ ".etc" ] }, "target": { "kind": "section", "section": "random reward" }, "annotation": { "title": "随机奖励", "content": "系统数据中的 [random reward] 闭合块。内部继续包含子标签,具体列义由父块和相邻记录共同决定。比率或随机刻度不能自动按百分数解释,静态权重也不等于最终实机概率。", "type": "text" }, "group": "etc" }, { "id": "etc.section.refill-item.z5c56s", "match": { "extensions": [ ".etc" ] }, "target": { "kind": "section", "section": "refill item" }, "annotation": { "title": "定期补发物品", "content": "定期补发物品\n三个数据一组\n物品代码 数量 发送时间\n此处是游戏全角色发送\n\n三个数据一组\n物品代码 数量 发送时间\n此处是游戏全角色发送\n时间格式:`2030-01-01 06:00:00`\n\n三个数据一组\n物品代码 数量 发送时间\n此出是游戏全角色发送\n\n三个数据一组\n物品代码 数量 发送时间\n此处是游戏全角色发送\n\n三个数据一组\n\n物品代码 数量 发送时间\n\n此处是游戏全角色发送\n时间格式:`2030-01-01 06:00:00`", "type": "text" }, "group": "etc" }, { "id": "etc.section.repair-cost-rate-by-upgrade-level.1yfjcs", "match": { "extensions": [ ".etc" ] }, "target": { "kind": "section", "section": "repair cost rate by upgrade level" }, "annotation": { "title": "修理费用比率按升级等级", "content": "系统数据中的 [repair cost rate by upgrade level] 闭合块。已见数据形态为单值或数值序列;列数、单位和取值刻度不能只凭字段名推断。比率或随机刻度不能自动按百分数解释,静态权重也不等于最终实机概率。\n\n通过升级级别的维修成本率", "type": "text" }, "group": "etc" }, { "id": "etc.section.require-party-num.rdz7gw", "match": { "extensions": [ ".etc" ] }, "target": { "kind": "section", "section": "require party num" }, "annotation": { "title": "要求组队人数", "content": "要求组队人数\n进入副本或执行操作所要求的组队(Party)人数条件。\n\n要求党NUM", "type": "text" }, "group": "etc" }, { "id": "etc.section.required-item.bbimpb", "match": { "extensions": [ ".etc" ] }, "target": { "kind": "section", "section": "required item" }, "annotation": { "title": "所需物品(门票/材料)", "content": "所需物品(门票/材料)\n进图门票:分别为 物品代码,数量,消耗量\n在etc/accountcargo.etc中:表示升级账号金库所需材料\n\n进图门票\n\n进图门票\n分别为 物品代码,数量,消耗量\n在etc/accountcargo.etc中\n表示升级账号金库所需材料\n\n#### 官方示例: dungeonsample_new_drop.dgn\n\n```pvf\n[required item] 10003 1 1 // 进入地下城所需的物品。索引,数量,是否消耗。消耗为0则不消耗\n // 不想指定则移除标签或将物品索引设为65535\n```\n\n#### 官方示例: dungeonsample.dgn", "type": "text" }, "group": "etc" }, { "id": "etc.section.reset-item.s0ufj", "match": { "extensions": [ ".etc" ] }, "target": { "kind": "section", "section": "reset item" }, "annotation": { "title": "重置物品", "content": "系统数据中的 [reset item] 闭合块。已见为空内容闭合块,主要以结构存在性参与解析。其中数字若表示物品 ID,必须先按父块区分 equipment、stackable、avatar 等 registry,不能把裸数字直接定性。\n\n复位项目", "type": "text" }, "group": "etc" }, { "id": "etc.section.reward-client.jx0pgw", "match": { "extensions": [ ".etc" ] }, "target": { "kind": "section", "section": "reward_client" }, "annotation": { "title": "奖励客户端", "content": "系统数据中的 [reward_client] 闭合块。内部继续包含子标签,具体列义由父块和相邻记录共同决定。奖励或邮件静态配置不证明服务端必定发放,数量、期限和领取条件仍需实机验证。\n\nright_client.", "type": "text" }, "group": "etc" }, { "id": "etc.section.reward-data.ts0rny", "match": { "extensions": [ ".etc" ] }, "target": { "kind": "section", "section": "reward data" }, "annotation": { "title": "奖励数据", "content": "系统数据中的 [reward data] 闭合块。内部继续包含子标签,具体列义由父块和相邻记录共同决定。奖励或邮件静态配置不证明服务端必定发放,数量、期限和领取条件仍需实机验证。\n\n奖励数据", "type": "text" }, "group": "etc" }, { "id": "etc.section.reward-exp-weight.1e4g1n", "match": { "extensions": [ ".etc" ] }, "target": { "kind": "section", "section": "reward exp weight" }, "annotation": { "title": "奖励经验值权重", "content": "奖励经验值权重\n经验值奖励的权重系数配置。\n\n奖励exp重量", "type": "text" }, "group": "etc" }, { "id": "etc.section.reward-group.19rbfu", "match": { "extensions": [ ".etc" ] }, "target": { "kind": "section", "section": "reward group" }, "annotation": { "title": "奖励分组", "content": "系统数据中的 [reward group] 闭合块。内部继续包含子标签,具体列义由父块和相邻记录共同决定。奖励或邮件静态配置不证明服务端必定发放,数量、期限和领取条件仍需实机验证。\n\n奖励集团", "type": "text" }, "group": "etc" }, { "id": "etc.section.reward-item.94vs6l", "match": { "extensions": [ ".etc" ] }, "target": { "kind": "section", "section": "reward item" }, "annotation": { "title": "奖励物品", "content": "系统数据中的 [reward item] 闭合块。已见数据形态为反引号字符串/token 与数值的混合记录,字段顺序必须完整保留。其中数字若表示物品 ID,必须先按父块区分 equipment、stackable、avatar 等 registry,不能把裸数字直接定性。\n\n通关后得到的奖励,这里不是随机,原版是3人才可进入这个是按排名来得奖,最厉害的是第一个,最差的是最后一个得的物品", "type": "text" }, "group": "etc" }, { "id": "etc.section.reward-multiple.1gq2e0", "match": { "extensions": [ ".etc" ] }, "target": { "kind": "section", "section": "reward multiple" }, "annotation": { "title": "奖励倍数", "content": "系统数据中的 [reward multiple] 闭合块。已见数据形态为单值或数值序列;列数、单位和取值刻度不能只凭字段名推断。奖励或邮件静态配置不证明服务端必定发放,数量、期限和领取条件仍需实机验证。\n\n奖励多个", "type": "text" }, "group": "etc" }, { "id": "etc.section.reward-server.1y15hw", "match": { "extensions": [ ".etc" ] }, "target": { "kind": "section", "section": "reward_server" }, "annotation": { "title": "奖励服务器", "content": "系统数据中的 [reward_server] 闭合块。内部继续包含子标签,具体列义由父块和相邻记录共同决定。奖励或邮件静态配置不证明服务端必定发放,数量、期限和领取条件仍需实机验证。\n\nright_server.", "type": "text" }, "group": "etc" }, { "id": "etc.section.reward-type.1tewen", "match": { "extensions": [ ".etc" ] }, "target": { "kind": "section", "section": "reward type" }, "annotation": { "title": "奖励类型", "content": "系统数据中的 [reward type] 闭合块。内部继续包含子标签,具体列义由父块和相邻记录共同决定。奖励或邮件静态配置不证明服务端必定发放,数量、期限和领取条件仍需实机验证。\n\n任务奖励类型\n\n[item] = 装备、物品\n[title] = 点亮称号簿\n[grow type] = 角色转职\n[expert job] = 学习副职业\n[slot expansion] = 左右槽\n[hell challenge] = 开启深渊\n[awakening type] = 职业觉醒\n[creature evolution] = 宠物进化\n[event creat\n\n[item] = 装备、物品\n\n[title] = 点亮称号簿\n\n[grow type] = 角色转职\n\n[expert job] = 学习副职业\n\n[slot expansion] = 左右槽\n\n[hell challenge] = 开启深渊\n\n[awakening type] = 职业觉醒\n\n[creature evolution] = 宠物进化\n\n[event creat\n\n[title] = 点亮称号簿\n[hero] = 开户英雄级地图\n\n[item] = 装备、物品\n[title] = 点亮称号簿\n[hero] = 开启英雄级地图\n[grow type] = 角色转职\n[expert job] = 学习副职业\n[slot expansion] = 左右槽\n[hell challenge] = 开启深渊\n[awakening type] = 职业觉醒\n[creature evolution] = 宠物进化\n[event creat\n\n#### 官方示例: questsample.qst\n\n```pvf\n// 任务奖励。\n[reward type] `[item]` // 奖励的类型。可选择 `[item]` `[grow type]` `[awakening type]` `[pro job]` `[hero]` 之一。\n```", "type": "text" }, "group": "etc" }, { "id": "etc.section.reward.w2nboa", "match": { "extensions": [ ".etc" ] }, "target": { "kind": "section", "section": "reward" }, "annotation": { "title": "奖励", "content": "系统数据中的 [reward] 闭合块。已见数据形态为反引号字符串/token 与数值的混合记录,字段顺序必须完整保留。奖励或邮件静态配置不证明服务端必定发放,数量、期限和领取条件仍需实机验证。", "type": "text" }, "group": "etc" }, { "id": "etc.section.ridable-id.1l02tm", "match": { "extensions": [ ".etc" ] }, "target": { "kind": "section", "section": "ridable id" }, "annotation": { "title": "骑乘活动ID", "content": "系统数据中的 [ridable id] 闭合块。内部继续包含子标签,具体列义由父块和相邻记录共同决定。数字索引必须先确定父块所用 registry;裸数字本身不是可确认的对象事实。\n\n可取的ID.", "type": "text" }, "group": "etc" }, { "id": "etc.section.ridable-quest-world-drop.ytrzqz", "match": { "extensions": [ ".etc" ] }, "target": { "kind": "section", "section": "ridable quest world drop" }, "annotation": { "title": "骑乘活动任务世界掉落", "content": "系统数据中的 [ridable quest world drop] 闭合块。已见数据形态为单值或数值序列;列数、单位和取值刻度不能只凭字段名推断。奖励或邮件静态配置不证明服务端必定发放,数量、期限和领取条件仍需实机验证。", "type": "text" }, "group": "etc" }, { "id": "etc.section.section-icon.1rqkql", "match": { "extensions": [ ".etc" ] }, "target": { "kind": "section", "section": "section icon" }, "annotation": { "title": "称号簿分类图标", "content": "称号簿分类图标\n称号簿中普通成就各分类(section)块的图标配置。\n\n称号簿普通成就各块的图标", "type": "text" }, "group": "etc" }, { "id": "etc.section.section-name.1tf97l", "match": { "extensions": [ ".etc" ] }, "target": { "kind": "section", "section": "section name" }, "annotation": { "title": "称号簿分类名称", "content": "称号簿分类名称\n称号簿中各分类/区域(section)的名称文本配置。\n\n称号簿升级名", "type": "text" }, "group": "etc" }, { "id": "etc.section.send-mail.1tt36t", "match": { "extensions": [ ".etc" ] }, "target": { "kind": "section", "section": "send mail" }, "annotation": { "title": "发送邮件", "content": "系统数据中的 [send mail] 闭合块。内部继续包含子标签,具体列义由父块和相邻记录共同决定。奖励或邮件静态配置不证明服务端必定发放,数量、期限和领取条件仍需实机验证。", "type": "text" }, "group": "etc" }, { "id": "etc.section.separate-upgrade-effect.1858si", "match": { "extensions": [ ".etc" ] }, "target": { "kind": "section", "section": "separate upgrade effect" }, "annotation": { "title": "锻造特效参数", "type": "text", "content": "锻造特效的具体布局须按文件确认。etc/upgrade_separate.etc 当前样例每级 6 项:前三项疑似 RGB,后三项含义尚未确认。" }, "group": "etc" }, { "id": "etc.section.skill-damage-base-parameter-dungeon.wlnqvp", "match": { "extensions": [ ".etc" ] }, "target": { "kind": "section", "section": "skill damage base parameter dungeon" }, "annotation": { "title": "技能伤害基础参数(独立攻击成长)", "content": "技能伤害基础参数(独立攻击成长)\n可修改成长独立攻击\n1.2.3.4.5.6......100数字后面跟着的第一个数字就是成长独立攻击\n\n技能损伤基地参数地牢\n\n技能损伤基地参数地牢\n可修改成长独立攻击\n1.2.3.4.5.6......100数字后面跟着的第一个数字就是成长独立攻击", "type": "text" }, "group": "etc" }, { "id": "etc.section.skill-prob.y741fl", "match": { "extensions": [ ".etc" ] }, "target": { "kind": "section", "section": "skill prob" }, "annotation": { "title": "技能概率", "content": "技能概率\n技能触发/使用概率配置。\n\n#### 官方示例: disjointsample.etc\n\n```pvf\n[skill prob] 1.0 5.0 // 技能影响的概率。%值,可为小数。\n // 前面的值是1级时,后面的值是最大等级时。\n```\n\n- 技能概率\n- 技能影响的概率", "type": "text" }, "group": "etc" }, { "id": "etc.section.sound-effect.1q1lse", "match": { "extensions": [ ".etc" ] }, "target": { "kind": "section", "section": "sound effect" }, "annotation": { "title": "音效效果", "content": "系统数据中的 [sound effect] 闭合块。已见数据形态为一个或多个反引号字符串/token;字符串内容应按数据处理。资源路径或名称只说明客户端资源引用;是否存在、能加载及表现正确需另行检查 ImagePacks2/NPK 或目标资源。\n\n声音效果", "type": "text" }, "group": "etc" }, { "id": "etc.section.sound-tag.i09ddg", "match": { "extensions": [ ".etc" ] }, "target": { "kind": "section", "section": "sound tag" }, "annotation": { "title": "音效标记", "content": "系统数据中的 [Sound Tag] 闭合块。已见数据形态为一个或多个反引号字符串/token;字符串内容应按数据处理。资源路径或名称只说明客户端资源引用;是否存在、能加载及表现正确需另行检查 ImagePacks2/NPK 或目标资源。\n\n声音标签", "type": "text" }, "group": "etc" }, { "id": "etc.section.sp-table.ab4sxi", "match": { "extensions": [ ".etc" ] }, "target": { "kind": "section", "section": "sp table" }, "annotation": { "title": "技能点(SP)表", "content": "[sp table]\n左边是职业等级 右边是升到当前等级可获得的sp点\n\nsp table", "type": "text" }, "group": "etc" }, { "id": "etc.section.stage-difficulty.1i5990", "match": { "extensions": [ ".etc" ] }, "target": { "kind": "section", "section": "stage difficulty" }, "annotation": { "title": "阶段难度", "content": "阶段难度\n关卡/阶段的难度等级配置。\n\n阶段难度", "type": "text" }, "group": "etc" }, { "id": "etc.section.stat-weights-by-rarity.mtkocm", "match": { "extensions": [ ".etc" ] }, "target": { "kind": "section", "section": "stat weights by rarity" }, "annotation": { "title": "按稀有度的属性权重", "type": "text", "content": "按稀有度划分的属性权重。旧版六项常见顺序为普通、高级、稀有、神器、史诗、异界;此顺序仅是旧版参考。新版样例存在九项,新增位置与属性含义须另行确认,不能沿用六项映射。" }, "group": "etc" }, { "id": "etc.section.striker-combo.18xreh", "match": { "extensions": [ ".etc" ] }, "target": { "kind": "section", "section": "striker combo" }, "annotation": { "title": "支援兵连击", "content": "支援兵连击\n支援兵攻击时触发的连击相关配置。\n\n支援兵连击", "type": "text" }, "group": "etc" }, { "id": "etc.section.striker-dungeon-impossible.3q4sfu", "match": { "extensions": [ ".etc" ] }, "target": { "kind": "section", "section": "striker dungeon impossible" }, "annotation": { "title": "禁用支援兵的副本", "content": "禁用支援兵的副本\n下面是副本编号,列出的副本中无法使用支援兵功能。\n\n禁用支援兵的副本\n\n禁用支援兵的副本,下面是副本编号\n\n禁用支援兵,下面是副本编号", "type": "text" }, "group": "etc" }, { "id": "etc.section.striker-module-impossible.16vadl", "match": { "extensions": [ ".etc" ] }, "target": { "kind": "section", "section": "striker module impossible" }, "annotation": { "title": "禁用支援兵功能的区域", "content": "禁用支援兵功能的区域\n列出的区域/模块中无法使用支援兵功能。\n\n禁用支援兵功能的区域", "type": "text" }, "group": "etc" }, { "id": "etc.section.striker-skill-attack-penalty.wyhk7b", "match": { "extensions": [ ".etc" ] }, "target": { "kind": "section", "section": "striker skill attack penalty" }, "annotation": { "title": "支援兵技能伤害惩罚", "content": "支援兵技能伤害惩罚(相当于原技能伤害的比例)\n支援兵技能相对于角色亲自施放的伤害比例惩罚。\n\n支援兵技能伤害惩罚(相当于原技能伤害的比例)\n\n支援兵技能伤害惩罚(削弱的水平)", "type": "text" }, "group": "etc" }, { "id": "etc.section.striker-skill-cooltime-penalty.veslf3", "match": { "extensions": [ ".etc" ] }, "target": { "kind": "section", "section": "striker skill cooltime penalty" }, "annotation": { "title": "支援兵技能冷却时间惩罚", "content": "支援兵技能冷却时间惩罚\n支援兵技能相对于角色亲自施放的冷却时间惩罚/延长参数。\n\n支援兵技能冷却时间惩罚", "type": "text" }, "group": "etc" }, { "id": "etc.section.striker-skill-macro.1wgnkq", "match": { "extensions": [ ".etc" ] }, "target": { "kind": "section", "section": "striker skill macro" }, "annotation": { "title": "支援兵技能宏", "content": "支援兵技能宏\n支援兵技能的使用宏/自动施放配置。\n\n支援兵技能宏", "type": "text" }, "group": "etc" }, { "id": "etc.section.table.kp9xpb", "match": { "extensions": [ ".etc" ] }, "target": { "kind": "section", "section": "table" }, "annotation": { "title": "数据表(结构由文件决定)", "type": "text", "content": "[table] 的列数与字段含义取决于文件和版本。强化/增幅旧版无类型表每级 17 项;新版 [table type] 类型字段后每级 24 项;etc/upgrade_separate.etc 的锻造表每级 4 项。不能把旧版 17 列解释套用到所有 .etc 文件。" }, "group": "etc" }, { "id": "etc.section.title-change-item-id.1pw541", "match": { "extensions": [ ".etc" ] }, "target": { "kind": "section", "section": "title change item id" }, "annotation": { "title": "标题变更物品ID", "content": "系统数据中的 [title change item id] 闭合块。内部继续包含子标签,具体列义由父块和相邻记录共同决定。其中数字若表示物品 ID,必须先按父块区分 equipment、stackable、avatar 等 registry,不能把裸数字直接定性。\n\n标题更改项目ID", "type": "text" }, "group": "etc" }, { "id": "etc.section.title-collection-info.4lv4td", "match": { "extensions": [ ".etc" ] }, "target": { "kind": "section", "section": "title collection info" }, "annotation": { "title": "称号收集信息配置", "content": "称号收集信息的旧版本结构线索,可能包含分类 token、任务关联、称号 ID 和空位控制值。该标签没有可核验的 OfficialDescription;旧注释对各数字列的解释不得作为目标版本事实,使用前必须找到目标文件与对应 registry。\n\n70 0 0 6501 1 26596\n\n70\t 0\t0\t 6501\t 1\t26596\n表示一共有70个 未知 第0个称号\t对应的任务编号 未知\t对应的称号编号 这里是怪兽猎杀者\n································\n我们来到这里→\t5\t0\t6506\t1\t26601\t6\t-1\t7\t-1\t8\t-1\t9\t-1\n这里后面的6 7 8 9 是因为称号簿每个块得有10个称号才会切到下一个块 -1表示为空白\n\n`general`\t普通成就\n`specific` 特殊成就\n`despair` 绝望之塔\n\n标题收集信息\n70\t0\t0\t6501\t1\t26596\n未知 第0个 不变 任务编号 未知 称号代码\n\n70\t 0\t0\t 6501\t 1\t26596\n表示一共有70个 未知 第0个称号\t对应的任务编号 未知\t对应的称号编号 这里是怪兽猎杀者\t\t\t\n································\t\n我们来到这里→\t5\t0\t6506\t1\t26601\t6\t-1\t7\t-1\t8\t-1\t9\t-1\n这里后面的6 7 8 9 是因为称号簿每个块得有10个称号才会切到下一个块 -1表示为空白\n`general`\t普通成就\n`despair` 绝望之塔", "type": "text" }, "group": "etc" }, { "id": "etc.section.unusable-items.n8wj86", "match": { "extensions": [ ".etc" ] }, "target": { "kind": "section", "section": "unusable items" }, "annotation": { "title": "禁止使用的物品", "content": "禁止使用的物品\n被禁止使用/消耗的物品列表配置。\n\n禁止使用的物品", "type": "text" }, "group": "etc" }, { "id": "etc.section.upgrade-machine-frame-rate.vbraxv", "match": { "extensions": [ ".etc" ] }, "target": { "kind": "section", "section": "upgrade machine frame rate" }, "annotation": { "title": "强化机动画帧率", "content": "强化机动画帧率\n装备强化机(Kiri/凯丽)的升级/强化动画帧率配置。\n\n升级机帧率", "type": "text" }, "group": "etc" }, { "id": "etc.section.viewratio.y9ok6z", "match": { "extensions": [ ".etc" ] }, "target": { "kind": "section", "section": "viewratio" }, "annotation": { "title": "视野比率(钓鱼抓取范围)", "content": "视野比率(钓鱼抓取范围)\n抓取的范围 就是能不能抓到 而不是能不能抓上来\n\n抓取几率\n\n视线比例\n\n视线比例\n抓取的范围 就是能不能抓到 而不是能不能抓上来", "type": "text" }, "group": "etc" }, { "id": "etc.section.white-ip.1x2v2n", "match": { "extensions": [ ".etc" ] }, "target": { "kind": "section", "section": "white ip" }, "annotation": { "title": "IP白名单", "content": "IP白名单\n/*\n这是 Dunpa 使用的 ip 和端口列表。\n修改日期:08 03 07\n*/\n\n//\n// 如果 211 189 29 128 255 呢?\n// 允许的 IP 从 211.189.29.128 到 211.189.29.255\n//\n// 并且如果属于白ip,则无条件传递任何端口号。\n//\n\n白色的IP\n\n白色的IP\n/*\n这是 Dunpa 使用的 ip 和端口列表。\n修改日期:08 03 07\n*/", "type": "text" }, "group": "etc" }, { "id": "etc.section.world-drop.17yg51", "match": { "extensions": [ ".etc" ] }, "target": { "kind": "section", "section": "world drop" }, "annotation": { "title": "全局掉落", "content": "[world drop]全局掉落\n与使怪物专门掉落材料的独立掉落[item]不同,全局掉落是根据怪物等级来决定掉落材料的,\n全局掉落分3部分组成:\n\nA、怪物等级\n\nB、左边为击杀该等级怪物之后随机掉落材料,\n 右边为掉落材料的权重\n\nC、-1(写-1为该等级收尾)\n\n全局掉落", "type": "text" }, "group": "etc" }, { "id": "evt.section.ani-list.q61hjj", "match": { "extensions": [ ".evt" ] }, "target": { "kind": "section", "section": "ani list" }, "annotation": { "title": "动画列表", "content": "活动事件数据中的 [ani list] 闭合块。已见数据形态为反引号字符串/token 与数值的混合记录,字段顺序必须完整保留。资源路径或名称只说明客户端资源引用;是否存在、能加载及表现正确需另行检查 ImagePacks2/NPK 或目标资源。\n\nANI列表", "type": "text" }, "group": "evt" }, { "id": "evt.section.can-not-give-item.rg4d8", "match": { "extensions": [ ".evt" ] }, "target": { "kind": "section", "section": "can not give item" }, "annotation": { "title": "不可赠送物品", "content": "活动事件数据中的 [can not give item] 闭合块。已见数据形态为单值或数值序列;列数、单位和取值刻度不能只凭字段名推断。其中数字若表示物品 ID,必须先按父块区分 equipment、stackable、avatar 等 registry,不能把裸数字直接定性。", "type": "text" }, "group": "evt" }, { "id": "evt.section.capsule-id.1rmua6", "match": { "extensions": [ ".evt" ] }, "target": { "kind": "section", "section": "capsule id" }, "annotation": { "title": "胶囊ID", "content": "活动事件数据中的 [capsule id] 字段。已见数据形态为单值或数值序列;列数、单位和取值刻度不能只凭字段名推断。数字索引必须先确定父块所用 registry;裸数字本身不是可确认的对象事实。\n\n胶囊ID", "type": "text" }, "group": "evt" }, { "id": "evt.section.condition-reward.1u9ty5", "match": { "extensions": [ ".evt" ] }, "target": { "kind": "section", "section": "condition reward" }, "annotation": { "title": "奖励条件", "content": "奖励条件\n\n定义玩家获得奖励所需满足的条件,例如完成特定任务、达到指定等级、通关特定地下城等。", "type": "text" }, "group": "evt" }, { "id": "evt.section.create-character-gift.gh2hs", "match": { "extensions": [ ".evt" ] }, "target": { "kind": "section", "section": "create character gift" }, "annotation": { "title": "创建角色赠礼", "content": "活动事件数据中的 [create character gift] 闭合块。内部继续包含子标签,具体列义由父块和相邻记录共同决定。奖励或邮件静态配置不证明服务端必定发放,数量、期限和领取条件仍需实机验证。\n\n创造角色礼物", "type": "text" }, "group": "evt" }, { "id": "evt.section.end.tkd2ga", "match": { "extensions": [ ".evt" ] }, "target": { "kind": "section", "section": "end" }, "annotation": { "title": "结束时间", "content": "活动的静态结束时间字段。具体日期格式、时区和关闭逻辑必须按同文件结构与运行环境验证;静态时间不证明服务端已部署该活动。\n\n结束时间\n\n执行时序关键字:在动作结束时生效/终结", "type": "text" }, "group": "evt" }, { "id": "evt.section.entry.1k9d2m", "match": { "extensions": [ ".evt" ] }, "target": { "kind": "section", "section": "entry" }, "annotation": { "title": "条目", "content": "条目\n\n活动配置中的一个条目单元。一个活动可包含多个条目,每个条目定义不同的奖励条件、怪物配置或邮件内容。", "type": "text" }, "group": "evt" }, { "id": "evt.section.equipment-item.1wj9gc", "match": { "extensions": [ ".evt" ] }, "target": { "kind": "section", "section": "equipment item" }, "annotation": { "title": "装备物品", "content": "活动事件数据中的 [equipment item] 闭合块。已见数据形态为单值或数值序列;列数、单位和取值刻度不能只凭字段名推断。其中数字若表示装备 ID,必须通过 equipment registry 解析;静态配置不证明物品已发放。\n\n设备项", "type": "text" }, "group": "evt" }, { "id": "evt.section.event-info.1uj46j", "match": { "extensions": [ ".evt" ] }, "target": { "kind": "section", "section": "event info" }, "annotation": { "title": "活动资讯", "content": "活动资讯\n\n活动的整体信息配置块,包含活动名称、类型、持续时间、参与条件等基础设置。\n\n活动资​​讯", "type": "text" }, "group": "evt" }, { "id": "evt.section.event-job.elj22c", "match": { "extensions": [ ".evt" ] }, "target": { "kind": "section", "section": "event job" }, "annotation": { "title": "活动事件职业", "content": "活动事件数据中的 [event job] 闭合块。内部继续包含子标签,具体列义由父块和相邻记录共同决定。`atgunner`、`atmage`、`atfighter` 等按独立角色/职业分支处理,不能解释为觉醒、TP 或 Ex 阶段。\n\n活动工作", "type": "text" }, "group": "evt" }, { "id": "evt.section.event-server-levelup-reward.1sgwyi", "match": { "extensions": [ ".evt" ] }, "target": { "kind": "section", "section": "event server levelup reward" }, "annotation": { "title": "活动服务器升级奖励", "content": "活动事件数据中的 [Event Server LevelUp Reward] 闭合块。已见数据形态为单值或数值序列;列数、单位和取值刻度不能只凭字段名推断。奖励或邮件静态配置不证明服务端必定发放,数量、期限和领取条件仍需实机验证。\n\n事件服务器升级奖励", "type": "text" }, "group": "evt" }, { "id": "evt.section.fatigue-reward.1jff7i", "match": { "extensions": [ ".evt" ] }, "target": { "kind": "section", "section": "fatigue reward" }, "annotation": { "title": "疲劳值奖励", "content": "活动事件数据中的 [fatigue reward] 闭合块。内部继续包含子标签,具体列义由父块和相邻记录共同决定。奖励或邮件静态配置不证明服务端必定发放,数量、期限和领取条件仍需实机验证。\n\n疲劳奖励", "type": "text" }, "group": "evt" }, { "id": "evt.section.final-reward.1u2yr5", "match": { "extensions": [ ".evt" ] }, "target": { "kind": "section", "section": "final reward" }, "annotation": { "title": "最终奖励奖励", "content": "活动事件数据中的 [final reward] 闭合块。内部继续包含子标签,具体列义由父块和相邻记录共同决定。奖励或邮件静态配置不证明服务端必定发放,数量、期限和领取条件仍需实机验证。\n\n最终奖励", "type": "text" }, "group": "evt" }, { "id": "evt.section.finish-ani.jbxygo", "match": { "extensions": [ ".evt" ] }, "target": { "kind": "section", "section": "finish ani" }, "annotation": { "title": "完成动画", "content": "活动事件数据中的 [finish ani] 闭合块。已见数据形态为反引号字符串/token 与数值的混合记录,字段顺序必须完整保留。资源路径或名称只说明客户端资源引用;是否存在、能加载及表现正确需另行检查 ImagePacks2/NPK 或目标资源。\n\n完成Ani.", "type": "text" }, "group": "evt" }, { "id": "evt.section.finish-sound.kgszl1", "match": { "extensions": [ ".evt" ] }, "target": { "kind": "section", "section": "finish sound" }, "annotation": { "title": "完成音效", "content": "活动事件数据中的 [finish sound] 字段。已见数据形态为一个或多个反引号字符串/token;字符串内容应按数据处理。资源路径或名称只说明客户端资源引用;是否存在、能加载及表现正确需另行检查 ImagePacks2/NPK 或目标资源。", "type": "text" }, "group": "evt" }, { "id": "evt.section.gift-item-log.5mg4xc", "match": { "extensions": [ ".evt" ] }, "target": { "kind": "section", "section": "gift item log" }, "annotation": { "title": "赠礼物品日志", "content": "活动事件数据中的 [gift item log] 闭合块。已见数据形态为单值或数值序列;列数、单位和取值刻度不能只凭字段名推断。奖励或邮件静态配置不证明服务端必定发放,数量、期限和领取条件仍需实机验证。", "type": "text" }, "group": "evt" }, { "id": "evt.section.gift-npc-log.1q4hyf", "match": { "extensions": [ ".evt" ] }, "target": { "kind": "section", "section": "gift npc log" }, "annotation": { "title": "赠礼NPC日志", "content": "活动事件数据中的 [gift npc log] 闭合块。已见数据形态为单值或数值序列;列数、单位和取值刻度不能只凭字段名推断。奖励或邮件静态配置不证明服务端必定发放,数量、期限和领取条件仍需实机验证。", "type": "text" }, "group": "evt" }, { "id": "evt.section.give-group.14xpy6", "match": { "extensions": [ ".evt" ] }, "target": { "kind": "section", "section": "give group" }, "annotation": { "title": "发放分组", "content": "活动事件数据中的 [give group] 闭合块。内部继续包含子标签,具体列义由父块和相邻记录共同决定。奖励或邮件静态配置不证明服务端必定发放,数量、期限和领取条件仍需实机验证。\n\n给集团", "type": "text" }, "group": "evt" }, { "id": "evt.section.grow-type.1s1nd4", "match": { "extensions": [ ".evt" ] }, "target": { "kind": "section", "section": "grow type" }, "annotation": { "title": "成长类型", "content": "活动事件数据中的 [grow type] 闭合块。内部继续包含子标签,具体列义由父块和相邻记录共同决定。`atgunner`、`atmage`、`atfighter` 等按独立角色/职业分支处理,不能解释为觉醒、TP 或 Ex 阶段。\n\n#### 官方示例: debugconfig\n\n```pvf\n[grow type] 4 // 测试角色的成长类型。0~4(0为基本)\n// 鬼剑士 - 0.鬼剑士,1.剑魂,2.鬼泣,3.狂战士,4.阿修罗\n// 格斗家 - 0.格斗家\n// 枪手 - 0.枪手,1.漫游枪手,2.\n// 魔法师 - 0.魔法师,1.元素师,2.召唤师,3.战斗法师\n// 圣职者 - 0.圣职者,1.圣骑士,\n```\n\n#### 官方示例: questsample.qst\n\n```pvf\n[grow type] -1 // 可行的成长类型。无限制则为-1。\n```", "type": "text" }, "group": "evt" }, { "id": "evt.section.growth-equipment-reward-list.15ixrt", "match": { "extensions": [ ".evt" ] }, "target": { "kind": "section", "section": "growth equipment reward list" }, "annotation": { "title": "成长装备奖励列表", "content": "活动事件数据中的 [growth equipment reward list] 字段。已见数据形态为单值或数值序列;列数、单位和取值刻度不能只凭字段名推断。其中数字若表示装备 ID,必须通过 equipment registry 解析;静态配置不证明物品已发放。\n\n增长设备奖励清单", "type": "text" }, "group": "evt" }, { "id": "evt.section.idx.114lw0", "match": { "extensions": [ ".evt" ] }, "target": { "kind": "section", "section": "idx" }, "annotation": { "title": "活动编号(索引)", "content": "活动编号(索引)\n\n用于开启或引用该活动的唯一标识号(ID)。在其余配置中通过此编号来关联对应活动。\n\n开启活动的 ID", "type": "text" }, "group": "evt" }, { "id": "evt.section.item-index.jbnqva", "match": { "extensions": [ ".evt" ] }, "target": { "kind": "section", "section": "item index" }, "annotation": { "title": "物品索引", "content": "活动事件数据中的 [item index] 闭合块。已见数据形态为单值或数值序列;列数、单位和取值刻度不能只凭字段名推断。其中数字若表示物品 ID,必须先按父块区分 equipment、stackable、avatar 等 registry,不能把裸数字直接定性。", "type": "text" }, "group": "evt" }, { "id": "evt.section.job-const.aeeyx3", "match": { "extensions": [ ".evt" ] }, "target": { "kind": "section", "section": "job const" }, "annotation": { "title": "职业常量", "content": "活动事件数据中的 [job const] 闭合块。内部继续包含子标签,具体列义由父块和相邻记录共同决定。`atgunner`、`atmage`、`atfighter` 等按独立角色/职业分支处理,不能解释为觉醒、TP 或 Ex 阶段。\n\n乔序", "type": "text" }, "group": "evt" }, { "id": "evt.section.job-fatigue.1y0h9z", "match": { "extensions": [ ".evt" ] }, "target": { "kind": "section", "section": "job fatigue" }, "annotation": { "title": "职业疲劳值", "content": "活动事件数据中的 [job fatigue] 闭合块。已见为空内容闭合块,主要以结构存在性参与解析。`atgunner`、`atmage`、`atfighter` 等按独立角色/职业分支处理,不能解释为觉醒、TP 或 Ex 阶段。\n\n工作疲劳", "type": "text" }, "group": "evt" }, { "id": "evt.section.job-type.1mw3h2", "match": { "extensions": [ ".evt" ] }, "target": { "kind": "section", "section": "job type" }, "annotation": { "title": "职业类型", "content": "活动事件数据中的 [job type] 闭合块。内部继续包含子标签,具体列义由父块和相邻记录共同决定。`atgunner`、`atmage`、`atfighter` 等按独立角色/职业分支处理,不能解释为觉醒、TP 或 Ex 阶段。\n\n工作类型", "type": "text" }, "group": "evt" }, { "id": "evt.section.mail-content.1sivcg", "match": { "extensions": [ ".evt" ] }, "target": { "kind": "section", "section": "mail content" }, "annotation": { "title": "邮件内容", "content": "活动邮件的正文文本字段。奖励对象、数量、发件条件和有效期由相邻奖励/邮件字段控制,不能只从正文反推实际发放内容。\n\n邮件内容", "type": "text" }, "group": "evt" }, { "id": "evt.section.material-item.8fhstr", "match": { "extensions": [ ".evt" ] }, "target": { "kind": "section", "section": "material item" }, "annotation": { "title": "材料物品", "content": "活动事件数据中的 [material item] 闭合块。内部继续包含子标签,具体列义由父块和相邻记录共同决定。其中数字若表示物品 ID,必须先按父块区分 equipment、stackable、avatar 等 registry,不能把裸数字直接定性。\n\n材料项目", "type": "text" }, "group": "evt" }, { "id": "evt.section.npc-list.1oagnf", "match": { "extensions": [ ".evt" ] }, "target": { "kind": "section", "section": "npc list" }, "annotation": { "title": "NPC列表", "content": "活动事件数据中的 [npc list] 闭合块。已见数据形态为单值或数值序列;列数、单位和取值刻度不能只凭字段名推断。其中数字若表示 NPC ID,必须通过 NPC registry 解析,不能按数字形状猜测。\n\nNPC列表", "type": "text" }, "group": "evt" }, { "id": "evt.section.object-index.1k3xt8", "match": { "extensions": [ ".evt" ] }, "target": { "kind": "section", "section": "object index" }, "annotation": { "title": "对象索引", "content": "活动事件数据中的 [object index] 闭合块。内部继续包含子标签,具体列义由父块和相邻记录共同决定。数字索引必须先确定父块所用 registry;裸数字本身不是可确认的对象事实。\n\n对象索引\n\n#### 官方示例: aurasample.ora\n\n```pvf\n[object index] 0 //*// 对象索引,0 或不写则忽略。依赖于 [object type]\n```", "type": "text" }, "group": "evt" }, { "id": "evt.section.on.qyxx3k", "match": { "extensions": [ ".evt" ] }, "target": { "kind": "section", "section": "on" }, "annotation": { "title": "公告开关", "content": "公告开关\n\n控制活动中是否在游戏内显示相关公告(如系统消息、弹窗提示等),其下通常附带公告ID来指定具体显示的公告内容。\n\n显示什么公告\n\n显示什么公告\n在下面有公告ID\n\n#### 官方示例: actionsample.act\n\n```pvf\n//注意!通过 [CHANGE ACTION FILE] 切换动作并返回原动作时会重置!\n **[ENABLE]** [ON] (或 [OFF]) // 决定触发器的初始 ENABLE 状态\n```\n\n```pvf\n// 目标条件检查部分(大类)\n **[TRIGGER CHECK]** 1 [ON] (或 [OFF]) // 检查1号触发器是否可用。\n```\n\n```pvf\n**[TRIGGER CHECK]** [STAY] 1 [ON] (或 [OFF]) // 检查 stay 动作的1号触发器是否可用。\n```\n\n```pvf\n[MOVE] 0 [ON] (或 [OFF]) // 检查 move 动作的0号触发器是否可用\n```\n\n```pvf\n[DAMAGE] 1 3 [ON] (或 [OFF]) // 检查1号 damage 动作的3号触发器是否可用\n```\n\n```pvf\n[ATTACK] 3 2 [ON] (或 [OFF]) // 检查3号 attack 动作的2号触发器是否可用\n```\n\n```pvf\n**[TRIGGER]** 1 [ON] (或 [OFF] 或 [RESET]) // 触发器 ENABLE 的开关。RESET 是执行次数重置。\n //注意!通过 [CHANGE ACTION FILE] 切换动作并返回原动作时会重置!\n```\n\n```pvf\n//注意!通过 [CHANGE ACTION FILE] 切换动作并返回原动作时会重置!\n **[TRIGGER]** [STAY] 1 [ON] // 打开 stay 动作的1号触发器\n```\n\n```pvf\n**[ATTACKRECT]** [RESET] (或 [ON] 或 [OFF]) // 开启、关闭或重置攻击判定\n```\n\n```pvf\n**[SHAKE INPUT]** [ON] // 也可使用 [OFF]。是否显示晃动输入提示。\n```\n\n#### 官方示例: actionsamplebytool.act\n\n```pvf\n//[X号]触发器 on.off.reset\n\t\t{prereq}{int}{/prereq}{must2}{exp}开启{/exp}[ON]\n```", "type": "text" }, "group": "evt" }, { "id": "evt.section.package-id.koaluc", "match": { "extensions": [ ".evt" ] }, "target": { "kind": "section", "section": "package id" }, "annotation": { "title": "礼包ID", "content": "活动事件数据中的 [package id] 闭合块。已见数据形态为单值或数值序列;列数、单位和取值刻度不能只凭字段名推断。数字索引必须先确定父块所用 registry;裸数字本身不是可确认的对象事实。\n\n包ID", "type": "text" }, "group": "evt" }, { "id": "evt.section.quest-index.11uyxk", "match": { "extensions": [ ".evt" ] }, "target": { "kind": "section", "section": "quest index" }, "annotation": { "title": "任务索引", "content": "活动事件数据中的 [quest index] 闭合块。已见为空内容闭合块,主要以结构存在性参与解析。其中数字若表示任务 ID,必须通过任务 registry 解析;静态登记不证明任务可接取或完成。", "type": "text" }, "group": "evt" }, { "id": "evt.section.quest-reward.1iy6x4", "match": { "extensions": [ ".evt" ] }, "target": { "kind": "section", "section": "quest reward" }, "annotation": { "title": "任务奖励", "content": "活动事件数据中的 [quest reward] 闭合块。内部继续包含子标签,具体列义由父块和相邻记录共同决定。奖励或邮件静态配置不证明服务端必定发放,数量、期限和领取条件仍需实机验证。\n\n追求奖励", "type": "text" }, "group": "evt" }, { "id": "evt.section.ramdom-animation.11gqs3", "match": { "extensions": [ ".evt" ] }, "target": { "kind": "section", "section": "ramdom animation" }, "annotation": { "title": "随机动画(源拼写)", "content": "活动事件数据中的 [ramdom animation] 闭合块。已见数据形态为一个或多个反引号字符串/token;字符串内容应按数据处理。资源路径或名称只说明客户端资源引用;是否存在、能加载及表现正确需另行检查 ImagePacks2/NPK 或目标资源。\n\n随机动画", "type": "text" }, "group": "evt" }, { "id": "evt.section.random-reward-item.1q943e", "match": { "extensions": [ ".evt" ] }, "target": { "kind": "section", "section": "random reward item" }, "annotation": { "title": "随机奖励物品", "content": "活动事件数据中的 [random reward item] 闭合块。已见数据形态为单值或数值序列;列数、单位和取值刻度不能只凭字段名推断。其中数字若表示物品 ID,必须先按父块区分 equipment、stackable、avatar 等 registry,不能把裸数字直接定性。\n\n随机奖励项目", "type": "text" }, "group": "evt" }, { "id": "evt.section.reward-equip-item.1v8buw", "match": { "extensions": [ ".evt" ] }, "target": { "kind": "section", "section": "reward equip item" }, "annotation": { "title": "奖励装备物品", "content": "活动事件数据中的 [reward equip item] 闭合块。内部继续包含子标签,具体列义由父块和相邻记录共同决定。其中数字若表示装备 ID,必须通过 equipment registry 解析;静态配置不证明物品已发放。\n\n奖励装备项目", "type": "text" }, "group": "evt" }, { "id": "evt.section.reward-fatigue.p5ca7v", "match": { "extensions": [ ".evt" ] }, "target": { "kind": "section", "section": "reward fatigue" }, "annotation": { "title": "奖励疲劳值", "content": "活动事件数据中的 [reward fatigue] 闭合块。已见数据形态为反引号字符串/token 与数值的混合记录,字段顺序必须完整保留。奖励或邮件静态配置不证明服务端必定发放,数量、期限和领取条件仍需实机验证。\n\n奖励疲劳", "type": "text" }, "group": "evt" }, { "id": "evt.section.reward-item.94vs6l", "match": { "extensions": [ ".evt" ] }, "target": { "kind": "section", "section": "reward item" }, "annotation": { "title": "奖励物品", "content": "活动事件数据中的 [reward item] 闭合块。已见数据形态为单值或数值序列;列数、单位和取值刻度不能只凭字段名推断。其中数字若表示物品 ID,必须先按父块区分 equipment、stackable、avatar 等 registry,不能把裸数字直接定性。\n\n通关后得到的奖励,这里不是随机,原版是3人才可进入这个是按排名来得奖,最厉害的是第一个,最差的是最后一个得的物品", "type": "text" }, "group": "evt" }, { "id": "evt.section.reward-list.1vbrg4", "match": { "extensions": [ ".evt" ] }, "target": { "kind": "section", "section": "reward list" }, "annotation": { "title": "奖励列表", "content": "活动事件数据中的 [reward list] 闭合块。已见数据形态为单值或数值序列;列数、单位和取值刻度不能只凭字段名推断。奖励或邮件静态配置不证明服务端必定发放,数量、期限和领取条件仍需实机验证。\n\n奖励列表", "type": "text" }, "group": "evt" }, { "id": "evt.section.reward-stackable-item.1g6v1n", "match": { "extensions": [ ".evt" ] }, "target": { "kind": "section", "section": "reward stackable item" }, "annotation": { "title": "奖励消耗品/材料物品", "content": "活动事件数据中的 [reward stackable item] 闭合块。已见数据形态为单值或数值序列;列数、单位和取值刻度不能只凭字段名推断。其中数字若表示消耗品/材料 ID,必须通过 stackable registry 解析。\n\n奖励可堆叠的项目", "type": "text" }, "group": "evt" }, { "id": "evt.section.reward.w2nboa", "match": { "extensions": [ ".evt" ] }, "target": { "kind": "section", "section": "reward" }, "annotation": { "title": "完成获得的奖励", "content": "完成获得的奖励\n\n玩家达成活动条件后可获得的奖励配置,包括道具ID、数量、金币、经验值等。\n\n完成获得获得的奖励", "type": "text" }, "group": "evt" }, { "id": "evt.section.ridable-quest-world-drop.ytrzqz", "match": { "extensions": [ ".evt" ] }, "target": { "kind": "section", "section": "ridable quest world drop" }, "annotation": { "title": "骑乘活动任务世界掉落", "content": "活动事件数据中的 [ridable quest world drop] 闭合块。已见数据形态为单值或数值序列;列数、单位和取值刻度不能只凭字段名推断。奖励或邮件静态配置不证明服务端必定发放,数量、期限和领取条件仍需实机验证。", "type": "text" }, "group": "evt" }, { "id": "evt.section.send-mail.1tt36t", "match": { "extensions": [ ".evt" ] }, "target": { "kind": "section", "section": "send mail" }, "annotation": { "title": "发送邮件", "content": "活动事件数据中的 [send mail] 闭合块。内部继续包含子标签,具体列义由父块和相邻记录共同决定。奖励或邮件静态配置不证明服务端必定发放,数量、期限和领取条件仍需实机验证。", "type": "text" }, "group": "evt" }, { "id": "evt.section.seria-blessing.1y9oe1", "match": { "extensions": [ ".evt" ] }, "target": { "kind": "section", "section": "seria blessing" }, "annotation": { "title": "赛丽亚的祝福活动", "content": "名为 Seria Blessing 的活动配置块。名称只标识该活动数据域,具体奖励、日期、登录条件或新手规则必须读取其子字段,不能仅凭活动名推断。\n\n赛丽亚的祝福活动", "type": "text" }, "group": "evt" }, { "id": "evt.section.sound-info.1fflav", "match": { "extensions": [ ".evt" ] }, "target": { "kind": "section", "section": "sound info" }, "annotation": { "title": "音效信息", "content": "活动事件数据中的 [sound info] 闭合块。已见数据形态为反引号字符串/token 与数值的混合记录,字段顺序必须完整保留。资源路径或名称只说明客户端资源引用;是否存在、能加载及表现正确需另行检查 ImagePacks2/NPK 或目标资源。\n\n声音信息", "type": "text" }, "group": "evt" }, { "id": "evt.section.stackable-item.fe79m", "match": { "extensions": [ ".evt" ] }, "target": { "kind": "section", "section": "stackable item" }, "annotation": { "title": "消耗品/材料物品", "content": "活动事件数据中的 [stackable item] 闭合块。已见数据形态为单值或数值序列;列数、单位和取值刻度不能只凭字段名推断。其中数字若表示消耗品/材料 ID,必须通过 stackable registry 解析。\n\n可堆积的项目", "type": "text" }, "group": "evt" }, { "id": "evt.section.start.s2jf1b", "match": { "extensions": [ ".evt" ] }, "target": { "kind": "section", "section": "start" }, "annotation": { "title": "开始时间", "content": "活动的静态开始时间字段。具体日期格式、时区和是否由服务端实际启用必须按同文件结构与运行环境验证;到达该时间不等于活动必然开放。\n\n开始时间", "type": "text" }, "group": "evt" }, { "id": "evt.section.thief.xt3rgj", "match": { "extensions": [ ".evt" ] }, "target": { "kind": "section", "section": "thief" }, "annotation": { "title": "暗夜使者", "content": "暗夜使者\n\n在活动事件中引用暗夜使者(Thief)职业相关配置时的标签。`[thief]` 为暗夜使者的职业标识符。\n\n[thief]=暗夜使者", "type": "text" }, "group": "evt" }, { "id": "evt.section.unable-dungeon.1wbztk", "match": { "extensions": [ ".evt" ] }, "target": { "kind": "section", "section": "unable dungeon" }, "annotation": { "title": "不可用副本", "content": "活动事件数据中的 [unable dungeon] 闭合块。已见数据形态为单值或数值序列;列数、单位和取值刻度不能只凭字段名推断。其中数字若表示副本 ID,必须通过 dungeon registry 解析;静态登记不证明入口开放。\n\nunable dungeon\n\n无法地牢", "type": "text" }, "group": "evt" }, { "id": "evt.section.url-hyperlink.u6ob6k", "match": { "extensions": [ ".evt" ] }, "target": { "kind": "section", "section": "url hyperlink" }, "annotation": { "title": "URL超链接", "content": "URL超链接\n\n配置活动中指向外部网页的URL链接,可用于跳转至活动页面、充值页面或公告页面等。\n\nURL超级链接", "type": "text" }, "group": "evt" }, { "id": "evt.section.use-item.v5wi2b", "match": { "extensions": [ ".evt" ] }, "target": { "kind": "section", "section": "use item" }, "annotation": { "title": "使用物品", "content": "活动事件数据中的 [use item] 闭合块。已见数据形态为单值或数值序列;列数、单位和取值刻度不能只凭字段名推断。其中数字若表示物品 ID,必须先按父块区分 equipment、stackable、avatar 等 registry,不能把裸数字直接定性。\n\n使用项目", "type": "text" }, "group": "evt" }, { "id": "evt.section.using-item.pvr4p2", "match": { "extensions": [ ".evt" ] }, "target": { "kind": "section", "section": "using item" }, "annotation": { "title": "使用物品", "content": "活动事件数据中的 [using item] 闭合块。已见数据形态为单值或数值序列;列数、单位和取值刻度不能只凭字段名推断。其中数字若表示物品 ID,必须先按父块区分 equipment、stackable、avatar 等 registry,不能把裸数字直接定性。\n\n使用项目", "type": "text" }, "group": "evt" }, { "id": "evt.section.world-drop.17yg51", "match": { "extensions": [ ".evt" ] }, "target": { "kind": "section", "section": "world drop" }, "annotation": { "title": "世界掉落", "content": "活动事件数据中的 [world drop] 闭合块。已见数据形态为单值或数值序列;列数、单位和取值刻度不能只凭字段名推断。奖励或邮件静态配置不证明服务端必定发放,数量、期限和领取条件仍需实机验证。\n\n[world drop]全局掉落\n与使怪物专门掉落材料的独立掉落[item]不同,全局掉落是根据怪物等级来决定掉落材料的,\n全局掉落分3部分组成:\n\nA、怪物等级\n\nB、左边为击杀该等级怪物之后随机掉落材料,\n 右边为掉落材料的权重\n\nC、-1(写-1为该等级收尾)", "type": "text" }, "group": "evt" }, { "id": "exj.section.additional-const.zlrts7", "match": { "extensions": [ ".exj" ] }, "target": { "kind": "section", "section": "additional const" }, "annotation": { "title": "分解附加常量", "content": "分解系统使用的附加单数值常量。它与 [base const]、[additional result] 等表相邻,但精确公式和单位未由静态文件闭合。\n\n另外常量", "type": "text" }, "group": "exj" }, { "id": "exj.section.additional-result.14fslt", "match": { "extensions": [ ".exj" ] }, "target": { "kind": "section", "section": "additional result" }, "annotation": { "title": "分解得出的结果 6个一组", "content": "分解得出的结果(additional result),以6个条目为一组,定义分解时额外产出的物品列表\n\n分解得出的结果 6个一组", "type": "text" }, "group": "exj" }, { "id": "exj.section.base-const.w1ie0b", "match": { "extensions": [ ".exj" ] }, "target": { "kind": "section", "section": "base const" }, "annotation": { "title": "分解基础常量", "content": "分解系统使用的基础单数值常量。字段名不足以证明具体公式、单位或乘区,必须结合 [additional const] 和分解结果表验证。\n\n基地常量", "type": "text" }, "group": "exj" }, { "id": "exj.section.big-win-result.1oqwl2", "match": { "extensions": [ ".exj" ] }, "target": { "kind": "section", "section": "big win result" }, "annotation": { "title": "分解得出的最大值结果 6个一组", "content": "分解得出的最大值结果(big win / 大奖结果),以6个条目为一组,定义分解时大成功产出的物品列表\n\n分解得出的最大值结果 6个一组", "type": "text" }, "group": "exj" }, { "id": "exj.section.clear-quests.13533e", "match": { "extensions": [ ".exj" ] }, "target": { "kind": "section", "section": "clear quests" }, "annotation": { "title": "副职业解锁任务列表", "content": "副职业解锁/清理条件的任务 ID 闭合列表。每个数字必须通过任务 registry 解析;静态登记不证明任务已完成、副职业已开放或服务端放行。\n\n明确任务", "type": "text" }, "group": "exj" }, { "id": "exj.section.compound-rate.35g1ly", "match": { "extensions": [ ".exj" ] }, "target": { "kind": "section", "section": "compound rate" }, "annotation": { "title": "副职业制作成功率表", "content": "炼金、控偶、附魔等副职业的制作/合成率闭合参数表。数据由多组等级/区间/比率控制值组成,精确列义和概率刻度需实机验证。\n\n复合增长率", "type": "text" }, "group": "exj" }, { "id": "exj.section.disjoint-result.1cv2df", "match": { "extensions": [ ".exj" ] }, "target": { "kind": "section", "section": "disjoint result" }, "annotation": { "title": "分解结果 是否红字 0否 1是", "content": "分解结果配置,每行格式:物品索引 是否显示为红字(0=否 1=是),红字表示稀有/特殊产出\n\n分解结果 是否红字 0否 1是\n\n分解结果", "type": "text" }, "group": "exj" }, { "id": "exj.section.disjoint-self-service.wsqbqa", "match": { "extensions": [ ".exj" ] }, "target": { "kind": "section", "section": "disjoint self service" }, "annotation": { "title": "分解机零件", "content": "分解机零件配置,定义玩家自行使用分解机时所需的零件/消耗品索引与数量\n\n分解机零件", "type": "text" }, "group": "exj" }, { "id": "exj.section.enchanter-extraction-result-item.1gvnjn", "match": { "extensions": [ ".exj" ] }, "target": { "kind": "section", "section": "enchanter extraction result item" }, "annotation": { "title": "附魔提取结果物品表", "content": "附魔提取的闭合结果表,包含 stackable 结果 ID 与数值参数。ID 必须通过 stackable/stackable.lst 解析;数值是数量、权重或其他刻度需实机验证。\n\n魔法器提取结果项目", "type": "text" }, "group": "exj" }, { "id": "exj.section.endurance-initial-value.x2pds3", "match": { "extensions": [ ".exj" ] }, "target": { "kind": "section", "section": "endurance initial value" }, "annotation": { "title": "分解商店初始耐久", "content": "分解商店初始耐久值,定义NPC分解商店在创建时的初始耐久度上限\n\n分解商店初始耐久", "type": "text" }, "group": "exj" }, { "id": "exj.section.endurance-reduce.8so9aw", "match": { "extensions": [ ".exj" ] }, "target": { "kind": "section", "section": "endurance reduce" }, "annotation": { "title": "分解商店耐久消耗", "content": "分解商店耐久消耗量,定义每次使用NPC分解商店进行分解操作时消耗的耐久值\n\n分解商店耐久消耗", "type": "text" }, "group": "exj" }, { "id": "exj.section.endurance-repair-cost.1l2zh4", "match": { "extensions": [ ".exj" ] }, "target": { "kind": "section", "section": "endurance repair cost" }, "annotation": { "title": "分解机耐久维修费用表", "content": "分解机耐久维修的闭合费用序列,数据按数值对重复。两列与耐久区间、维修量或金币费用的精确对应尚未闭合,必须整组保留。\n\n耐力维修费用", "type": "text" }, "group": "exj" }, { "id": "exj.section.expertness-exp.b1cbdx", "match": { "extensions": [ ".exj" ] }, "target": { "kind": "section", "section": "expertness exp" }, "annotation": { "title": "各等级升级所需经验", "content": "各等级升级所需经验值,定义分解/副职业系统从1级升至满级每一级需要的经验量\n\n各等级升级所需经验", "type": "text" }, "group": "exj" }, { "id": "exj.section.gain-exp.ofov9p", "match": { "extensions": [ ".exj" ] }, "target": { "kind": "section", "section": "gain exp" }, "annotation": { "title": "收益经验值(修改升级经验在这里)", "content": "收益经验值配置,控制每次分解操作获得的经验量(修改升级所需总经验请查看 [expertness exp] 段)\n\n收益经验值(修改升级经验在这里)", "type": "text" }, "group": "exj" }, { "id": "exj.section.items.g82p3j", "match": { "extensions": [ ".exj" ] }, "target": { "kind": "section", "section": "items" }, "annotation": { "title": "副职业物品配置表", "content": "副职业物品配置表,每行4个值分别代表:编号(副职业ID)、卷轴(scroll)、卡片(card)、副职业等级\n例:175\t2600646\t3786\t11\n// 编号 卷轴 卡片 副职业等级\n\n175 2600646 3786 11\n\n175\t2600646\t3786\t11\n编号 卷轴 卡片 副职业等级\n\n175\t2600646\t3786\t11\t\n编号 卷轴 宝珠 副职业等级", "type": "text" }, "group": "exj" }, { "id": "exj.section.monstercard-bind-info.eymx1y", "match": { "extensions": [ ".exj" ] }, "target": { "kind": "section", "section": "monstercard bind info" }, "annotation": { "title": "怪物卡片绑定费用/规则表", "content": "怪物卡片绑定的闭合规则参数表,数据按三数值组重复。各列与卡片品级、费用或控制值的对应需实机确认,不能从位置直接命名。\n\nmonstercard绑定信息", "type": "text" }, "group": "exj" }, { "id": "exj.section.portable-disjoint-info.1grvjw", "match": { "extensions": [ ".exj" ] }, "target": { "kind": "section", "section": "portable disjoint info" }, "annotation": { "title": "便携分解等级区间表", "content": "便携分解功能的闭合等级区间参数表,按“档位、等级上限”重复。档位、适用装备和实机产出需验证。\n\n便携式不相交的信息", "type": "text" }, "group": "exj" }, { "id": "exj.section.potion-info.aidxdq", "match": { "extensions": [ ".exj" ] }, "target": { "kind": "section", "section": "potion info" }, "annotation": { "title": "炼金药剂参数表", "content": "炼金副职业的药剂相关闭合参数表,包含多个物品 ID 与数值控制项。物品 ID 必须通过正确 item registry 解析;价格、持续、冷却或权重等列义需目标玩法验证。\n\n药水信息", "type": "text" }, "group": "exj" }, { "id": "exj.section.shop-doll-info.usdz56", "match": { "extensions": [ ".exj" ] }, "target": { "kind": "section", "section": "shop doll info" }, "annotation": { "title": "人偶商店的格子", "content": "人偶商店的格子配置,每对数值表示(品质等级 格子数量),例如 0 3 = 最低级3个格子,1 6 = 中级6个格子,2 9 = 最高级9个格子\n[shop doll info]\n 0 3 1 6 2 9\n[/shop doll info]\n\n人偶商店的格子\n\n人偶商店的格子\n[shop doll info]\n 0 3 1 6 2 9\n[/shop doll info]\n这个文件就是调整人偶商店的格子了\n\n0 3 意思是 最低级 3个 1 6 是中级6个 29 就是最高级9个 懂了么?", "type": "text" }, "group": "exj" }, { "id": "exj.section.upgrade-cost.rc0qnc", "match": { "extensions": [ ".exj" ] }, "target": { "kind": "section", "section": "upgrade cost" }, "annotation": { "title": "分解机升级费用表", "content": "分解机等级与升级金币费用的闭合映射表,已见“等级、费用”重复记录。实际升级流程、扣费和等级上限需服务端/实机验证。\n\n升级成本", "type": "text" }, "group": "exj" }, { "id": "gdata.section.hyperlink-text.11avn2", "match": { "extensions": [ ".gdata" ] }, "target": { "kind": "section", "section": "hyperlink text" }, "annotation": { "title": "超链接文本", "type": "text" }, "group": "gdata" }, { "id": "key.section.input.1xbmwz", "match": { "extensions": [ ".key" ] }, "target": { "kind": "section", "section": "input" }, "annotation": { "title": "输入块", "content": "输入块:列出按键/指令与时间,或通过 pass/random 条件继续执行下一指令\n\n输入块\n\n输入块:列出按键/指令与时间 或 通过 pass/random 条件继续\n\n#### 官方示例: ai_doc/how to edit key\n\n```pvf\n[input]\nc 30 // 按住 c 键 30 毫秒\ntime 300 // 经过 300 毫秒后,执行下一个按键。\n// 像 time 这样的命令称为传递命令。\n```\n\n```pvf\n// 像 time 这样的命令称为传递命令。\n[input]\n// 从上面经过 300 毫秒后到达这里。\nx 30 // 按住 x 键 30 毫秒。\ntime 300 // 经过 300 毫秒后,执行下一个按键。\n```\n\n```pvf\n[input]\nx 30\npass 0 // 立即执行下一个按键。\n```\n\n```pvf\n[input]\nx 30\nrandom 30 100 // 以 30% 的概率执行下一个按键。\n// 如果概率检查失败,则在此停止并结束动作。\n```\n\n```pvf\n// 如果概率检查失败,则在此停止并结束动作。\n[input]\nx 30\nenemy distance -100 // 负数 = 如果与当前目标的距离小于等于 100,则执行下一个按键。\n```\n\n```pvf\n[input]\nx 30\nenemy distance 200 // 正数 = 如果与当前目标的距离大于等于 200,则执行下一个按键。\n```\n\n```pvf\n[input]\nx 30\nmy zheight 50 // 如果我的 z轴高度 大于等于 50,则执行下一个按键。\n```\n\n```pvf\n[input]\ncombo attack 3 // 执行基本的 3 段连击攻击。例:鬼剑士\ntime 1000\n```\n\n```pvf\n[input]\n`c` 30\t\t// c 키를 30 mSec 동안 눌러라\n`time` 300\t// 시간이 300 mSec 지나면 다음 키로 넘어가라.\n\t\t// `time` 과 같은 명령어를 pass command 라 한다.\n```\n\n```pvf\n[input]\n\t\t// 위에서 300 mSec 후에 여기로 넘어왔다.\n`x` 30\t\t// x 키를 30 mSec 동안 눌러라.\n`time` 300\t// 시간이 300 mSec 지나면 다음 키로 넘어가라.\n```\n\n```pvf\n[input]\n`x` 30\n`pass` 0\t// 곧바로 다음 키로 넘어가라.\n```\n\n```pvf\n[input]\n`x` 30\n`random` 30 100\t// 30% 확율로 다음으로 넘어가라.\n\t\t// 확율체크에 실패하면 여기서 끝나고 동작을 멈춘다.\n```\n\n```pvf\n[input]\n`x` 30\n`enemy distance` -100\t// 음수 = 현재 타겟과의 거리가 100 이하라면 넘어가라.\n```\n\n```pvf\n[input]\n`x` 30\n`enemy distance` 200\t// 양수 = 현재 타겟과의 거리가 200 이상이라면 넘어가라.\n```\n\n```pvf\n[input]\n`x` 30\n`my zheight` 50\t\t// 나의 z높이가 50 이상이면 다음으로 넘어가라.\n```\n\n```pvf\n[input]\n`combo attack` 3\t// 기본 3단 콤보 공격을 한다. 예 : 귀검사\n`time` 1000\n```", "type": "text" }, "group": "key" }, { "id": "key.section.state-check.7i6e76", "match": { "extensions": [ ".key" ] }, "target": { "kind": "section", "section": "state check" }, "annotation": { "title": "状态检查块", "content": "状态检查块:内部放置按键或条件表达式(常见用法:skill:XX / target current direction x),满足条件时执行内部指令\n\n状态检查块\n\n状态检查块:内部放按键或条件 (常见 skill:XX / target current direction x)", "type": "text" }, "group": "key" }, { "id": "key.section.state-check2.1rdy0a", "match": { "extensions": [ ".key" ] }, "target": { "kind": "section", "section": "state check2" }, "annotation": { "title": "第二状态检查块", "content": "第二状态检查块:内部结构与 [state check] 类似,用于扩展检查额外的状态条件(如目标距离、自身高度、动画帧等)\n\n状态检查", "type": "text" }, "group": "key" }, { "id": "map.section.all-dead-case-passable.lv2yor", "match": { "extensions": [ ".map" ] }, "target": { "kind": "section", "section": "all dead case passable" }, "annotation": { "title": "队员全灭时自动移动", "content": "队员全灭时可自动移动。无此标签则停留在当前地图。\n\n#### 官方示例: mapsample.map\n\n```pvf\n[all dead case passable] //队员全灭时可自动移动 (无此标签则停留在当前地图)\n```\n\n队员全灭时可自动移动 (无此标签则停留在当前地图)", "type": "text" }, "group": "map" }, { "id": "map.section.animation-change-area.1l9i2u", "match": { "extensions": [ ".map" ] }, "target": { "kind": "section", "section": "animation change area" }, "annotation": { "title": "动画变化区域", "type": "text" }, "group": "map" }, { "id": "map.section.arcade-scroll-area.9jc4hn", "match": { "extensions": [ ".map" ] }, "target": { "kind": "section", "section": "arcade scroll area" }, "annotation": { "title": "街机滚动区", "type": "text" }, "group": "map" }, { "id": "map.section.attacked-monster-info.1nsihx", "match": { "extensions": [ ".map" ] }, "target": { "kind": "section", "section": "attacked monster info" }, "annotation": { "title": "城镇袭击怪物信息", "content": "城镇袭击怪物信息。参数包含怪物索引、x坐标、y坐标、z坐标(未使用)、生成比例(总和需为10000)、地牢编号和通关限制时间。地牢编号和通关限制时间的具体用途尚未确认。\n\n#### 官方示例: mapsample.map\n\n```pvf\n[attacked monster info] //城镇袭击怪物信息\n1 433 346 0 557 20000 153 //怪物索引, x坐标, y坐标, z坐标(未使用), 生成比例(总和需为10000), 地牢编号, 通关限制时间\n1016 433 346 0 429 20001 184 //地牢编号和通关限制时间用途无法确认,恳请后续添加。\n262 433 346 0 286 20002 230\n5005 433 346 0 143 20003 275\n17 433 346 0 13 20020 306\n5 883 266 0 557 20000 153\n1016 883 266 0 429 20001 184\n[/attacked monster info]\n```\n\n城镇袭击怪物信息", "type": "text" }, "group": "map" }, { "id": "map.section.background-pos.58tmrr", "match": { "extensions": [ ".map" ] }, "target": { "kind": "section", "section": "background pos" }, "annotation": { "title": "背景绘制位置偏移", "content": "扩展为800x600时,在原有背景绘制位置上提升该数值进行绘制。通常设置为80。\n\n#### 官方示例: mapsample.map\n\n```pvf\n[background pos] 80 //扩展为800*600时,在原有背景绘制位置上提升该数值进行绘制。通常设置为80\n```\n\n背景POS", "type": "text" }, "group": "map" }, { "id": "map.section.block-use-stackable-item.1wtd5k", "match": { "extensions": [ ".map" ] }, "target": { "kind": "section", "section": "block use stackable item" }, "annotation": { "title": "禁止使用消耗品", "content": "禁止在该地图中使用可堆叠消耗品的开关线索。该字段未出现在官方 mapsample.map 中,现有含义来自社区记录;必须以目标地图样本和实机为准,不能作为已验证的官方规则。\n\n禁止使用消耗品", "type": "text" }, "group": "map" }, { "id": "map.section.blood-phase-time.1ipmls", "match": { "extensions": [ ".map" ] }, "target": { "kind": "section", "section": "blood phase time" }, "annotation": { "title": "血战阶段时间", "content": "血战阶段时间配置。参数包含第几轮、血战怪物列表索引(-1为随机)、移动到下一轮的时间(-1则指定最后的血战使其通关)、变强倍数(最大4倍),以及轮内召唤列表的顺序和数量。\n\n#### 官方示例: mapsample.map\n\n```pvf\n[blood phase time] //第几轮, 血战怪物列表索引(-1是从列表中随机..),\n0 0 3000 1.1 0 0 //移动到下一轮的时间 (-1则指定最后的血战,使其通关…,将变强几倍?(2则为2倍,最大4倍)\n0 1 2000 1.1 1 3 //轮内召唤的列表的顺序\n0 2 2000 1.1 1 1 //轮内连续召唤的怪物列表的数量\n0 3 2000 1.1 1 1\n[/blood phase time]\n```\n\n第几轮\n\n官方示例:\n#### 官方示例: mapsample.map\n\n#### 官方示例: blood script\n\n```pvf\n[blood phase time] //第几轮, 血之狂暴怪物列表索引(-1则从列表中随机选择),\n//进入下一轮的时间(-1则为最后一轮血之狂暴,直到清除为止…, 强化多少倍?(2则为2倍,最大4倍)\n0 0 10000 1\n1 1 10000 1\n2 1 50000 1\n3 2 2000 1\n4 -1 2000 1\n5 3 -1 1\n[/blood phase time]\n```", "type": "text" }, "group": "map" }, { "id": "map.section.champion.1t0uie", "match": { "extensions": [ ".map" ] }, "target": { "kind": "section", "section": "champion" }, "annotation": { "title": "冠军怪物数量", "content": "冠军怪物数量。\n\n#### 官方示例: mapsample.map\n\n```pvf\n[champion] 11 //冠军怪物数量\n```\n\n冠军怪物数量\n\n官方示例:\n#### 官方示例: mapsample.map\n\n[champion]\n100\t100\t100\t100\t100\n\n普通级、冒险级、勇士级、王者级、英雄级\n出现精英怪的几率\n\n1=1%\n也就是说赋予100时,每个房间必出1个\n\n#### 官方示例: dungeonsample_new_drop.dgn\n\n```pvf\n[champion] 10 15 20 30 // 各难度下整个地下城中将出现的冠军怪物数量\n```\n\n#### 官方示例: dungeonsample.dgn", "type": "text" }, "group": "map" }, { "id": "map.section.heroes-mode-map-index.104be5", "match": { "extensions": [ ".map" ] }, "target": { "kind": "section", "section": "heroes mode map index" }, "annotation": { "title": "英雄模式时代替出现的地图索引", "content": "英雄模式时代替出现的地图索引。\n\n#### 官方示例: mapsample.map\n\n```pvf\n[heroes mode map index] 13091 //英雄模式时代替出现的地图索引\n```\n\n英雄模式时代替出现的地图索引", "type": "text" }, "group": "map" }, { "id": "map.section.loop-y-axis.1erzga", "match": { "extensions": [ ".map" ] }, "target": { "kind": "section", "section": "loop y axis" }, "annotation": { "title": "Y轴循环", "content": "是否持续沿Y坐标向下重复。1为是。\n\n#### 官方示例: mapsample.map\n\n```pvf\n[loop y axis] 1 //是否持续沿Y坐标向下重复\n```\n\n是否持续沿Y坐标向下重复", "type": "text" }, "group": "map" }, { "id": "map.section.map-dialog.1jryiu", "match": { "extensions": [ ".map" ] }, "target": { "kind": "section", "section": "map dialog" }, "annotation": { "title": "进入地图时出现的对话", "content": "进入地图时出现的对话文本引用。\n\n#### 官方示例: mapsample.map\n\n```pvf\n[map dialog] \u003c11::despair_dummy_03\u003e //进入地图时出现的对话\n```\n\n进入地图时出现的对话", "type": "text" }, "group": "map" }, { "id": "map.section.monster-spawn-pos.1phgqc", "match": { "extensions": [ ".map" ] }, "target": { "kind": "section", "section": "monster spawn pos" }, "annotation": { "title": "竞争地牢怪物生成坐标", "content": "竞争地牢用怪物生成坐标。首行为出现坐标的数量,后续每行为 x坐标、y坐标、出现概率。\n\n#### 官方示例: mapsample.map\n\n```pvf\n//竞争地牢用\n[monster spawn pos]\n5 //出现坐标的数量\n50 100 30 //x坐标, y坐标, 出现概率\n50 100 30\n50 100 30\n50 100 30\n50 100 30\n```\n\n出现坐标的数量", "type": "text" }, "group": "map" }, { "id": "map.section.monster-team.e53ctm", "match": { "extensions": [ ".map" ] }, "target": { "kind": "section", "section": "monster team" }, "annotation": { "title": "怪物队伍", "content": "地图上出现的怪物的队伍。无特别指定时不需要。依次输入每个怪物的队伍编号:0为角色队(角色一方),100为怪物队(一般怪物)。输入数量与怪物数量相同。\n\n#### 官方示例: mapsample.map\n\n```pvf\n[monster team] //地图上出现的怪物的队伍。无特别指定时不需要。\n0 //依次输入。0则为角色队。角色一方。\n100 //100则为怪物队。一般的怪物。\n[/monster team] //输入与怪物数量相同,并且必须用此标签闭合。\n```\n\n地图上出现的怪物的队伍", "type": "text" }, "group": "map" }, { "id": "map.section.move-layered-map.1qm8gv", "match": { "extensions": [ ".map" ] }, "target": { "kind": "section", "section": "move layered map" }, "annotation": { "title": "重叠地图移动条件", "content": "上下重叠的地图移动条件配置块。可包含 all dead case passable(队员全灭时自动移动)和 zpos under(z值低于指定值时触发)子项。\n\n#### 官方示例: mapsample.map\n\n```pvf\n[move layered map] //上下重叠的地图 (layered map) 移动条件。\n\t[all dead case passable] //队员全灭时可自动移动 (无此标签则停留在当前地图)\n\t[zpos under] -300 // [zpos under] -300 : z值在-300以下时\n[/move layered map]\n```\n\n上下重叠的地图 (layered map) 移动条件", "type": "text" }, "group": "map" }, { "id": "map.section.player-1.1jus7s", "match": { "extensions": [ ".map" ] }, "target": { "kind": "section", "section": "player 1" }, "annotation": { "title": "玩家起始位置", "content": "指定编号玩家的起始位置。格式为:玩家编号, x坐标, y坐标, z坐标。\n\n#### 官方示例: mapsample.map\n\n```pvf\n[player 1] 100 120 200 //玩家, x, y, z\n```\n\n玩家", "type": "text" }, "group": "map" }, { "id": "map.section.pvp-practice-start-area.dq40kf", "match": { "extensions": [ ".map" ] }, "target": { "kind": "section", "section": "pvp practice start area" }, "annotation": { "title": "PVP练习模式开始地点", "content": "PVP练习模式开始地点定义。依次为 X坐标, Y坐标, 宽度, 高度。第一组为1队开始地点,第二组为2队开始地点。\n\n#### 官方示例: mapsample.map\n\n```pvf\n[pvp practice start area] //pvp练习模式开始地点定义 (X坐标, Y坐标, 宽度, 高度 顺序)\n112 201 69 231 //1队的开始地点\n497 205 69 226 //2队的开始地点\n```\n\n和[pvp start area]一样\n\n和[pvp start area]一样,就是玩家和人机开始时的位置", "type": "text" }, "group": "map" }, { "id": "map.section.quest-animation.kst9f3", "match": { "extensions": [ ".map" ] }, "target": { "kind": "section", "section": "quest animation" }, "annotation": { "title": "任务控制动画", "content": "可以通过任务控制动画显示或不显示。参数为动画路径、图层、x坐标、y坐标、z坐标和任务编号(完成此任务则播放)。\n\n#### 官方示例: mapsample.map\n\n```pvf\n[quest animation] //可以通过任务控制动画显示或不显示。\n`Animation/Village_0.ani` `[normal]` 636 180 0 2490 //Animation路径, 图层, x坐标, y坐标, z坐标, 任务编号(完成此任务则播放)\n[/quest animation]\n```\n\n可以通过任务控制动画显示或不显示", "type": "text" }, "group": "map" }, { "id": "map.section.screen-pos.1lxraa", "match": { "extensions": [ ".map" ] }, "target": { "kind": "section", "section": "screen pos" }, "annotation": { "title": "屏幕坐标基准起始坐标", "content": "以屏幕坐标基准设置起始坐标。\n\n#### 官方示例: mapsample.map\n\n```pvf\n[screen pos] 0 80 //以屏幕坐标基准设置起始坐标\n```\n\n以屏幕坐标基准设置起始坐标", "type": "text" }, "group": "map" }, { "id": "map.section.shadow-type.slyuqz", "match": { "extensions": [ ".map" ] }, "target": { "kind": "section", "section": "shadow type" }, "annotation": { "title": "影子模式", "content": "影子模式。设置为 mirror 时绘制上层、下层影子。当前PVP、酒馆中使用 mirror 模式。可使用 more darker 等附加参数。\n\n#### 官方示例: mapsample.map\n\n```pvf\n[shadow type] `[mirror]`, `[more darker]` //影子模式 : 设置为 `[mirror]` 时绘制上层、下层影子。\n//当前PVP、酒馆中使用 `[mirror]` 模式\n```\n\n影子模式", "type": "text" }, "group": "map" }, { "id": "map.section.show-dust.rgynow", "match": { "extensions": [ ".map" ] }, "target": { "kind": "section", "section": "show dust" }, "annotation": { "title": "灰尘和脚印效果", "content": "灰尘和脚印效果。分别指定灰尘动画路径和脚印动画路径。\n\n#### 官方示例: mapsample.map\n\n```pvf\n[show dust] //灰尘和脚印效果\n`Common/CommonEffect/Animation/SandDust.ani` //输出的灰尘路径\n`Common/CommonEffect/Animation/FootPrintOnSand.ani` //输出的脚印路径\n```\n\n灰尘和脚印效果", "type": "text" }, "group": "map" }, { "id": "map.section.sort-bottom.wdxyjw", "match": { "extensions": [ ".map" ] }, "target": { "kind": "section", "section": "sort bottom" }, "annotation": { "title": "底部图层排序", "content": "除一般图层外是否使用其他图层排序。1为使用,其他为不使用。\n\n#### 官方示例: mapsample.map\n\n```pvf\n[sort bottom] 1 //除一般图层外是否使用其他图层排序 1:使用 其他:不使用\n```\n\n除一般图层外是否使用其他图层排序 1", "type": "text" }, "group": "map" }, { "id": "map.section.tournament-start-area.5q103r", "match": { "extensions": [ ".map" ] }, "target": { "kind": "section", "section": "tournament start area" }, "annotation": { "title": "武斗场开始坐标", "content": "武斗场地图开始坐标定义。参数依次为入场人数、X坐标、Y坐标、队伍(1为角色,2为怪物)。\n\n#### 官方示例: mapsample.map\n\n```pvf\n[tournament start area] 1 760 270 2 //武斗场地图开始坐标定义 (入场人数, X坐标, Y坐标, 队伍(1:角色, 2:怪物))\n```\n\n武斗场地图开始坐标定义 (入场人数", "type": "text" }, "group": "map" }, { "id": "map.section.ultimate-monster.enr0fo", "match": { "extensions": [ ".map" ] }, "target": { "kind": "section", "section": "ultimate monster" }, "annotation": { "title": "终极怪物", "content": "终极怪物配置,与 blood monster 字段格式相同。\n\n#### 官方示例: mapsample.map\n\n```pvf\n[ultimate monster] //与[blood monster]相同\n[/ultimate monster]\n```\n\n与[blood monster]相同", "type": "text" }, "group": "map" }, { "id": "map.section.ultimate-phase-time.1taef1", "match": { "extensions": [ ".map" ] }, "target": { "kind": "section", "section": "ultimate phase time" }, "annotation": { "title": "终极阶段时间", "content": "终极阶段时间配置,与 blood phase time 格式相同,但在最后需放入难度标识 A、B、C、D、E。\n\n#### 官方示例: mapsample.map\n\n```pvf\n[ultimate phase time] //与[blood phase time]相同,但在最后放入难度 'A', 'B', 'C', 'D', 'E'\n0 0 5000 1.5 0 0 `A`\n[/ultimate phase time]\n```\n\n与[blood phase time]相同", "type": "text" }, "group": "map" }, { "id": "map.section.zpos-under.ykapnb", "match": { "extensions": [ ".map" ] }, "target": { "kind": "section", "section": "zpos under" }, "annotation": { "title": "Z轴位置低于条件", "content": "z值在指定值以下时的触发条件。\n\n#### 官方示例: mapsample.map\n\n```pvf\n[zpos under] -300 // [zpos under] -300 : z值在-300以下时\n```\n\n[zpos under] -300", "type": "text" }, "group": "map" }, { "id": "mm.section.area.170ube", "match": { "extensions": [ ".mm" ] }, "target": { "kind": "section", "section": "area" }, "annotation": { "title": "城镇区域映射块", "content": "小地图 [town] 内的区域闭合块,常包含 [index]、[type]、[real rect]、[project rect]、[npc] 和 [grid map]。必须读取 [/area],区域编号和坐标都按父 town 解释。\n\n城镇区域(减号代表制表符)\n\n-数字,意思是小区域的编号\n\n-xxx/xxx.map,意思是这个小区域的map文件,不能直接转到,需要复制文件名搜索文件名\n\n-`[minimap rect]`,这个什么用都没有,猜测是在迷你地图里鼠标右键点击可以自动寻路的一个东西,但台服好像不能在地图上自动寻路,即使全部删掉也能正常游戏,跟正常跑五国,不过不建议删掉\n\n-`[gate]`-数字-数\n\n-[dungeon gate]表示连接到worldmap选图界面的ID19-worldmap/worldmap.lst)\n-'[gate]' 474 234 (城镇地图之一)\n\n-[dungeon gate]表示连接到worldmap选图界面的ID19-worldmap/worldmap.lst)\n\n-'[gate]' 474 234 (城镇地图之一)\n\n-[dungeon gate] 表示连接到worldmap选图界面的ID 19 (worldmap/worldmap.lst)\n-[gate] 474 234(城镇地图之一)\n\n-[dungeon gate] 表示连接到worldmap选图界面的ID 19 (worldmap/worldmap.lst)\n-[gate] 474 234(城镇街道上的传送门,两个数值猜测是坐标)\n\n-[dungeon gate] 表示连接到worldmap选图界面的ID 19 (worldmap/worldmap.lst)\n-[gate] 城镇街道上的传送门\n474 234\n\n-[dungeon gate] 表示连接到worldmap选图界面的ID 19 (worldmap/worldmap.lst)\n-[gate] 474 234 (城镇地图区域之一)\n\n-[dungeon gate] 表示连接到worldmap选图界面的ID 19 (worldmap/worldmap.lst)\n-[gate] 城镇内传送门\n474 234 (赛丽亚传送门)\n\n-[dungeon gate] 表示连接到worldmap选图界面的ID 19 (worldmap/worldmap.lst)\n-[gate] 城镇内传送门\n474 234 (赛丽亚房间门)\n\n-[dungeon gate] 表示连接到worldmap选图界面的ID 19 (worldmap/worldmap.lst)\n-[gate] 城镇区域传送门\n474 234 (赛丽亚房间门)\n\n城镇区域(减号代表制表符)\n-数字,意思是小区域的编号\n-xxx/xxx.map,意思是这个小区域的map文件,不能直接转到,需要复制文件名搜索文件名\n-`[minimap rect]`,这个什么用都没有,猜测是在迷你地图里鼠标右键点击可以自动寻路的一个东西,\n但台服好像不能在地图上自动寻路,即使全部删掉也能正常游戏,跟正常跑五国,不过不建议删掉\n-[dungeon gate] 表示连接到worldmap选图界面的ID 19 (worldmap/worldmap.lst)\n-[gate] 城镇内传送门\n474 234 (赛丽亚房间门)\n\n#### 官方示例: townsample.twn\n\n```pvf\n[area]\t\t\t\t\t\t// 区域 (AREA) 的一个信息\n0\t\t\t\t\t\t// 索引。从 0 开始并使用连续的值\n`Town/HendonMyre/Gate.map`\t\t\t// 地图脚本文件名称 (Script/Map 下的相对路径)\n`[minimap rect]`\n1000\t100\t\t2500\t500\t\t\t// 起点(x, y) 终点(x, y) step 0\n100\t\t10\t\t250\t\t50\t\t\t// 起点(x, y) 终点(x, y) step 1\n`[/minimap rect]`\n`[gate]`\t\t\t\t\t// 区域类型。在 `[normal]` `[gate]` `[fishing place]` `[pub]` `[dungeon gate]` 中选择\n273\t\t\t\t\t\t// 根据区域类型的整数数据。使用方法在最底部\n222\n[/area]\n```\n\n#### 官方示例: actionsample.act\n\n```pvf\n[AREA] 100 0 0 800 400 0 // 可移动的区域\n```", "type": "text" }, "group": "mm" }, { "id": "mm.section.background.kzuxlp", "match": { "extensions": [ ".mm" ] }, "target": { "kind": "section", "section": "background" }, "annotation": { "title": "小地图背景图像", "content": "[image] 内的小地图背景 IMG 路径与帧索引。PVF 引用不证明客户端 NPK/IMG 存在、帧号有效或渲染层级正确。\n\n小地图背景图片路径索引\n\n小地图背景图片路径索引,后面为索引帧数。\nNPK文件[sprite_interface2_worldmap_step_1(town).NPK]", "type": "text" }, "group": "mm" }, { "id": "mm.section.grid-map.1mxqf9", "match": { "extensions": [ ".mm" ] }, "target": { "kind": "section", "section": "grid map" }, "annotation": { "title": "小地图网格显示条件块", "content": "小地图节点的网格显示闭合块,可包含 [level]、[quest] 和 [image number]。必须读取 [/grid map];等级、任务和图像条件只说明静态展示入口,不证明 UI 实际切换。\n\n栅格地图", "type": "text" }, "group": "mm" }, { "id": "mm.section.image-number.1nqp3c", "match": { "extensions": [ ".mm" ] }, "target": { "kind": "section", "section": "image number" }, "annotation": { "title": "图像编号", "type": "text" }, "group": "mm" }, { "id": "mm.section.level-img-point.z1v7ms", "match": { "extensions": [ ".mm" ] }, "target": { "kind": "section", "section": "level img point" }, "annotation": { "title": "等级图像点参数", "content": "小地图节点的双整数图像点参数,常与 [point]、[grid map] 相邻。两列的精确索引/偏移语义尚未闭合,必须保留原顺序并由客户端布局验证。\n\n水平IMG点", "type": "text" }, "group": "mm" }, { "id": "mm.section.map.1q1ubo", "match": { "extensions": [ ".mm" ] }, "target": { "kind": "section", "section": "map" }, "annotation": { "title": "小地图主图像", "content": "[image] 内的主地图 IMG 路径与帧索引。它与 [background] 分层存在,PVF 引用不证明资源完整或最终绘制顺序。\n\n城镇小地图路径索引,后面为主区域索引帧数。\nNPK路径[sprite_interface2_worldmap_step_1(town).NPK]", "type": "text" }, "group": "mm" }, { "id": "mm.section.quest.2q1ni5", "match": { "extensions": [ ".mm" ] }, "target": { "kind": "section", "section": "quest" }, "annotation": { "title": "小地图任务条件", "content": "[grid map] 内的任务 ID 条件线索。数字必须通过任务 registry 解析;静态条件不证明任务已接、已完成或节点实际显示。", "type": "text" }, "group": "mm" }, { "id": "mm.section.real-rect.1ny1hi", "match": { "extensions": [ ".mm" ] }, "target": { "kind": "section", "section": "real rect" }, "annotation": { "title": "游戏中的角色城镇活动区域范围(X", "content": "游戏中的角色城镇活动区域范围(X,Y)\n使用城镇坐标工具填写\n\n#### 官方示例: minimap.mm\n\n```pvf\n[real rect]\t\t1\t1\t100\t100\t\t\t// 实际可移动范围 开始/结束点(x,y)\n```\n\n游戏中的角色城镇活动区域范围(X", "type": "text" }, "group": "mm" }, { "id": "mm.section.shop-name.1dfmfg", "match": { "extensions": [ ".mm" ] }, "target": { "kind": "section", "section": "shop name" }, "annotation": { "title": "小地图商店名称", "content": "[shop] 内的商店显示名称文本。名称只负责静态展示线索,不证明商店入口、商品列表、购买或本地化正常。\n\n店铺名称", "type": "text" }, "group": "mm" }, { "id": "mm.section.shop.1aowqz", "match": { "extensions": [ ".mm" ] }, "target": { "kind": "section", "section": "shop" }, "annotation": { "title": "商店类型(0 武器商店", "content": "#### 官方示例: minimap.mm\n\n```pvf\n[shop] 2\t\t\t\t\t\t\t\t\t// 商店类型(0 武器商店, 1 防具商店, 2 饰品商店, 3 材料商店, 4 杂货商店, 5 抽奖商店, 6 神器商店\n\t\t[level]\t30\t40\t\t\t\t\t\t\t// 最低等级, 最高等级\n\t\t[job]\t0\t1\t2\t[/job]\t\t\t\t// 0剑士, 1格斗家, 2枪手, 3法师, 4 精灵骑士\n\t[/shop]\n```\n\n商店类型(0 武器商店", "type": "text" }, "group": "mm" }, { "id": "mm.section.town.eaqw5h", "match": { "extensions": [ ".mm" ] }, "target": { "kind": "section", "section": "town" }, "annotation": { "title": "小地图城镇容器", "content": "区域小地图中的城镇闭合块,通常以 [index] 指向 town,并包含一个或多个 [area]。必须读取 [/town];town 数字按 town/town.lst 解析。\n\n城镇控件。\n[town]\n[/town]", "type": "text" }, "group": "mm" }, { "id": "mm.section.world.ffrwk3", "match": { "extensions": [ ".mm" ] }, "target": { "kind": "section", "section": "world" }, "annotation": { "title": "小地图世界入口容器", "content": "区域小地图中的 worldmap 闭合块,常包含 [index]、[level]、[point] 和 [grid map]。必须读取 [/world];[index] 按 worldmap/worldmap.lst 解释,不与 town/dungeon ID 混用。\n\n世界", "type": "text" }, "group": "mm" }, { "id": "mob.section.ability-table.9oej9h", "match": { "extensions": [ ".mob" ] }, "target": { "kind": "section", "section": "ability table" }, "annotation": { "title": "跟随的能力值表索引", "content": "[ability table] 跟随的能力值表索引\n0=基本,1=召唤物,2=竞争地牢\n默认值 0\n\n#### 官方示例: monstersample.mob\n\n```pvf\n[ability table] 0 // 跟随的能力值表索引。0为基本,1为召唤物,竞争地牢 2. 默认值 0\n```\n\n#### 官方示例: newmonstersample.mob\n\n```pvf\n[ability table] 0 // 跟随的能力值表索引。0为基本,1为召唤物,竞争地牢 2。默认值 0\n```\n\n跟随的能力值表索引", "type": "text" }, "group": "mob" }, { "id": "mob.section.action-list.xjn2ll", "match": { "extensions": [ ".mob" ] }, "target": { "kind": "section", "section": "action list" }, "annotation": { "title": "主要用作攻击的动作文件列表", "content": "[action list] 主要用作攻击的动作文件列表\n这里写明的动作在触发时若受到攻击则会进行反击检查\n必须用[/action list]闭合\n\n#### 官方示例: newmonstersample.mob\n\n```pvf\n[action list] // 主要用作攻击的动作文件列表。这里写明的动作在触发时若受到攻击则会进行反击检查。\n`Attack1.act`\n`Attack2.act`\n[/action list]\n```\n\n主要用作攻击的动作文件列表", "type": "text" }, "group": "mob" }, { "id": "mob.section.add-gravity-in-aerial.10r7lr", "match": { "extensions": [ ".mob" ] }, "target": { "kind": "section", "section": "add gravity in aerial" }, "annotation": { "title": "1号索引", "content": "[add gravity in aerial] 空中施加重力\n参数:激活与否(0/1) 触发所需空中伤害百分比 每1%伤害所受重力修正大小\n\n#### 官方示例: newmonstersample.mob\n\n```pvf\n[add gravity in aerial] 1 20.0 -300.0 // 1号索引:激活与否 1则激活 2号索引:空中伤害多少以上时触发(%) 3号索引:修正触发后每1%伤害所受重力的大小。\n```\n\n1号索引", "type": "text" }, "group": "mob" }, { "id": "mob.section.atk-super-on-scr.18km3d", "match": { "extensions": [ ".mob" ] }, "target": { "kind": "section", "section": "atk super on scr" }, "annotation": { "title": "使用指定攻击动作时进入霸体", "content": "[atk super on scr]使用指定攻击动作时进入霸体\n\n上方选择攻击动作(0为第1个,1为第2个,以此类推)\n下方选择霸体类型:\n`[breakable]`\t = 可以被破坏\n`[unbreakable]` = 不可被破坏\n\n`[breakable]`\t和`[unbreakable]`通用写法介绍:\n1、护盾耐久值, 根据最大生命值百分比决定,写多少就是多少百分比\n2、护盾恢复效率, 写多少就是每秒恢复多少百分比(或许是)\n3、近战防御力(固定值)\n4、远程防御力(固定值)\n\n使用指定攻击动作时进入霸体", "type": "text" }, "group": "mob" }, { "id": "mob.section.attack-down-prob.axme8a", "match": { "extensions": [ ".mob" ] }, "target": { "kind": "section", "section": "attack down prob" }, "annotation": { "title": "棍棒攻击概率", "content": "[attack down prob] 攻击概率列表\n在特定怪物类型中使用\n列出各种攻击方式的概率\n必须用[/attack down prob]闭合\n\n#### 官方示例: newmonstersample.mob\n\n```pvf\n[attack down prob]\n100 // 棍棒攻击概率。\n100 // 移动速度增加攻击概率。\n100 // 力量粉碎攻击概率。\n100 // 石头投掷攻击概率。\n100 // 石头连续3发投掷攻击概率。\n100 // 石头5发散开投掷攻击概率。\n100 // 炸弹投掷攻击概率。\n[/attack down prob]\n```\n\n棍棒攻击概率", "type": "text" }, "group": "mob" }, { "id": "mob.section.attack-kind.17eoa3", "match": { "extensions": [ ".mob" ] }, "target": { "kind": "section", "section": "attack kind" }, "annotation": { "title": "怪物的攻击类型", "content": "怪物的攻击类型\n\n#### 官方示例: monstersample.mob\n\n```pvf\n[attack kind] // 怪物的攻击种类\n30 5 1 1 400 20 20 0 // 基本投掷\n30 5 0 1 400 100 100 0 // 3方向投掷\n[/attack kind]\n```\n\n#### 官方示例: newmonstersample.mob\n\n```pvf\n[attack kind]\n50.000000 0.000000 0.000000 1 70 0 0 0 10 0 10 0\n40.000000 0.000000 0.000000 1 50 0 0 0 15 0 15 0\n30.000000 0.000000 0.000000 1 55 0 0 0 10 0 10 0\n0.000000 0.000000 0.000000 1 55 0 0 0 10 0 10 0 // 乱舞攻击 07.05.11添加,根据远程攻击概率触发,因此设为0。\n[/attack kind]\n```", "type": "text" }, "group": "mob" }, { "id": "mob.section.back-vision.1ipxa1", "match": { "extensions": [ ".mob" ] }, "target": { "kind": "section", "section": "back vision" }, "annotation": { "title": "用于不将后面的对象设为目标而设置的标签", "content": "[back vision] 是否将后面的对象设为目标\n通常为0,不想锁定后面的目标则设为-1\n\n#### 官方示例: newmonstersample.mob\n\n```pvf\n[back vision] 0 // 用于不将后面的对象设为目标而设置的标签,通常为0。\n// 不想锁定后面的目标则设为-1。\n```\n\n用于不将后面的对象设为目标而设置的标签", "type": "text" }, "group": "mob" }, { "id": "mob.section.can-beat-index.79wztb", "match": { "extensions": [ ".mob" ] }, "target": { "kind": "section", "section": "can beat index" }, "annotation": { "title": "输入此标签则只有65523号怪物攻击时才受到伤害", "content": "[can beat index] 可攻击此怪物的怪物索引列表\n只有列表内的怪物ID攻击时才受到伤害\n必须用[/can beat index]闭合\n\n#### 官方示例: newmonstersample.mob\n\n```pvf\n[can beat index]\n61270 // 输入此标签则只有65523号怪物攻击时才受到伤害。\n61283\n61284\n61285\n[/can beat index]\n```\n\n输入此标签则只有65523号怪物攻击时才受到伤害\n\n官方示例:\n#### 官方示例: newmonstersample.mob\n\n#### 官方示例: passiveobjectsample.obj\n\n```pvf\n[can beat index] // 只有具有此标签内索引的怪物攻击时才会受到伤害。\n65523\n61902\n[/can beat index]\n```", "type": "text" }, "group": "mob" }, { "id": "mob.section.catch-item.oxbnff", "match": { "extensions": [ ".mob" ] }, "target": { "kind": "section", "section": "catch item" }, "annotation": { "title": "捕获掉落物品", "content": "[catch item] 捕获掉落物品\n参数:物品索引 数量 概率\n必须用[/catch item]闭合\n\n#### 官方示例: newmonstersample.mob\n\n```pvf\n[catch item]\n3315 1 100 // 捕获掉落物品。\n[/catch item]\n```\n\n捕获掉落物品", "type": "text" }, "group": "mob" }, { "id": "mob.section.change-direction-by-target.n13lka", "match": { "extensions": [ ".mob" ] }, "target": { "kind": "section", "section": "change direction by target" }, "annotation": { "title": "1则根据目标位置改变方向", "content": "[change direction by target] 是否根据目标位置改变方向\n1: 根据目标位置改变方向, 0: 只固定一个方向\n\n#### 官方示例: newmonstersample.mob\n\n```pvf\n[change direction by target] 0 // 1则根据目标位置改变方向。0则只固定一个方向。\n```\n\n1则根据目标位置改变方向\n\n官方示例:\n#### 官方示例: newmonstersample.mob\n\n#### 官方示例: actionsample.act\n\n```pvf\n**[CHANGE DIRECTION BY TARGET]** 0 //决定怪物是否看向目标的标志(0 :则保持目标刚生成时面对的方向\n```", "type": "text" }, "group": "mob" }, { "id": "mob.section.come-in-action.4f2z5m", "match": { "extensions": [ ".mob" ] }, "target": { "kind": "section", "section": "come in action" }, "annotation": { "title": "要使用的动作文件以及开始触发的视野范围", "content": "[come in action] 出场动作文件\n参数:动作文件路径 X轴视野半径 Y轴视野半径\n在视野范围内出现时触发\n没有则无出场演出\n\n#### 官方示例: newmonstersample.mob\n\n```pvf\n[come in action] `Action/Magic.act` 300 150 // 要使用的动作文件以及开始触发的视野范围,X轴半径,Y轴半径。\n```\n\n要使用的动作文件以及开始触发的视野范围", "type": "text" }, "group": "mob" }, { "id": "mob.section.common-champion-drop-item.vnae07", "match": { "extensions": [ ".mob" ] }, "target": { "kind": "section", "section": "common champion drop item" }, "annotation": { "title": "普通精英怪的[独立掉落]", "content": "普通精英怪的[独立掉落]\n左边物品代码 右边权重(也就是概率占比的意思)\n\n与独立掉落对应的是根据怪物等级来决定掉落材料的全局掉落[world drop]\n全局掉落路径{ etc/worlddrop.etc }\n\n#### 官方示例: actionlibrary/sample.mob\n\n```pvf\n[common champion drop item] // 普通冠军掉落的物品列表\n3171 7000\n[/common champion drop item]\n```\n\n#### 官方示例: monstersample.mob\n\n```pvf\n[common champion drop item] // 一般冠军掉落的物品列表\n1015 1\n[/common champion drop item]\n```\n\n#### 官方示例: newmonstersample.mob\n\n```pvf\n[common champion drop item] // 一般冠军掉落的物品列表。\n1015 1\n[/common champion drop item]\n```\n\n普通精英怪的[独立掉落]", "type": "text" }, "group": "mob" }, { "id": "mob.section.common-champion-elemental-property.3vb5xr", "match": { "extensions": [ ".mob" ] }, "target": { "kind": "section", "section": "common champion elemental property" }, "annotation": { "title": "普通精英怪的属性", "content": "普通精英怪的属性\n//若不选择,则随机分配属性\n\n`[fire element]` = 火属性\n`[water element]` = 冰属性\n`[light element]` = 光属性\n`[dark element]` = 暗属性\n`[no element]` = 无属性\n\n#### 官方示例: monstersample.mob\n\n```pvf\n[common champion elemental property] // 一般冠军可拥有的元素属性种类\n`[fire element]` // 若未指定任何属性,则必为随机属性冠军\n`[water element]` // 若只指定一种,则必为该属性冠军\n`[dark element]`\n`[light element]`\n`[no element]`\n[/common champion elemental property]\n```\n\n#### 官方示例: newmonstersample.mob\n\n```pvf\n[common champion elemental property] // 一般冠军可拥有的元素属性种类\n[fire element] // 若未指定任何属性,则必为随机属性冠军\n[water element] // 若只指定一种,则必为该属性冠军\n[dark element]\n[light element]\n[no element]\n[/common champion elemental property]\n```\n\n普通精英怪的属性", "type": "text" }, "group": "mob" }, { "id": "mob.section.control-passive-object.wqd2pe", "match": { "extensions": [ ".mob" ] }, "target": { "kind": "section", "section": "control passive object" }, "annotation": { "title": "被动对象用户控制标签 (载具专用)", "content": "[control passive object] 被动对象用户控制标签(载具专用)\n包含子标签:index, x pos, y pos, width, height, velocity x, velocity y, fix direction, option\n必须用[/control passive object]闭合\n\n#### 官方示例: newmonstersample.mob\n\n```pvf\n[control passive object] // 被动对象用户控制标签 (载具专用)\n[index] 10503 // 被动对象索引。\n[x pos] -100 // 被动对象可移动区域左上角的相对X坐标(以载具为基准)\n[y pos] -200 // 被动对象可移动区域左上角的相对Y坐标(以载具为基准)/ 若为convert y to z选项:相对Z坐标。\n[width] 200 // 被动对象可移动区域的宽度。\n[height] 200 // 被动对象可移动区域的高度。\n[velocity x] 200.0 // 被动对象控制时X轴移动速度。\n[velocity y] 200.0 // 被动对象控制时Y轴移动速度 / 若为convert y to z选项:Z轴移动速度。\n[fix direction] [left] // 被动对象控制时的方向固定(左侧: [left] 右侧:[right])。\n[option] `convert y to z` // 将Y轴改为基于Z轴。\n[/control passive object]\n```\n\n被动对象用户控制标签 (载具专用)", "type": "text" }, "group": "mob" }, { "id": "mob.section.counter-attack.hdwvgh", "match": { "extensions": [ ".mob" ] }, "target": { "kind": "section", "section": "counter attack" }, "annotation": { "title": "反击概率 0到100", "content": "[counter attack] 攻击反击\n第一行为是否启用\n包含[probability]、[attack index]、[damage type]子标签\n必须用[/counter attack]闭合\n\n#### 官方示例: monstersample.mob\n\n```pvf\n[counter attack]\n1\n`[probability]` 90 // 反击概率 0到100\n`[attack index]` 2 // 反击时的攻击索引\n`[damage type]` `[approach attack]`\n// 在 `[approach attack]` `[range attack]` `[all attack]` 中选择一个\n[/counter attack]\n```\n\n#### 官方示例: newmonstersample.mob\n\n```pvf\n[counter attack]\n1\n[probability] 5 // 反击概率 0到100。\n[attack index] 0 // 反击时的攻击索引。\n[damage type] [approach attack]\n// 在 [approach attack] [range attack] [all attack] 中选择一个。\n[/counter attack]\n```\n\n反击概率 0到100", "type": "text" }, "group": "mob" }, { "id": "mob.section.dash-action.riw9o5", "match": { "extensions": [ ".mob" ] }, "target": { "kind": "section", "section": "dash action" }, "annotation": { "title": "冲刺动作 (目前仅载具对象有效", "content": "[dash action] 冲刺动作(目前仅载具对象有效,可扩展)\n.act动作文件路径\n\n#### 官方示例: newmonstersample.mob\n\n```pvf\n[dash action] `Dash.act` // 冲刺动作 (目前仅载具对象有效。可扩展)\n```\n\n冲刺动作 (目前仅载具对象有效", "type": "text" }, "group": "mob" }, { "id": "mob.section.dashattack-action.1jfdv1", "match": { "extensions": [ ".mob" ] }, "target": { "kind": "section", "section": "dashattack action" }, "annotation": { "title": "冲刺攻击动作 (目前仅载具对象有效", "content": "[dashattack action] 冲刺攻击动作(目前仅载具对象有效,可扩展)\n.act动作文件路径\n\n#### 官方示例: newmonstersample.mob\n\n```pvf\n[dashattack action] `DashAttack.act` // 冲刺攻击动作 (目前仅载具对象有效。可扩展)\n```\n\n冲刺攻击动作 (目前仅载具对象有效", "type": "text" }, "group": "mob" }, { "id": "mob.section.death-tower-item.1i396z", "match": { "extensions": [ ".mob" ] }, "target": { "kind": "section", "section": "death tower item" }, "annotation": { "title": "死亡之塔的物品掉落", "content": "[death tower item] 死亡之塔的物品掉落\n万分比概率\n必须用[/death tower item]闭合\n\n#### 官方示例: newmonstersample.mob\n\n```pvf\n[death tower item] // 死亡之塔的物品掉落。万分比。\n20020 500\n[/death tower item]\n```\n\n死亡之塔的物品掉落", "type": "text" }, "group": "mob" }, { "id": "mob.section.destroy-count-damage.19yivh", "match": { "extensions": [ ".mob" ] }, "target": { "kind": "section", "section": "destroy count damage" }, "annotation": { "title": "怪物受到攻击时的固定伤害值", "content": "怪物受到攻击时的固定伤害值,不受任务攻击力影响\n\n#### 官方示例: newmonstersample.mob\n\n```pvf\n[destroy count damage] 1 // 无论受到什么攻击,对怪物造成的伤害都是1 \u003c\u003c示例 数字可更改\n```\n\n怪物受到攻击时的固定伤害值,不受人物攻击力影响", "type": "text" }, "group": "mob" }, { "id": "mob.section.destroy-count.1w436m", "match": { "extensions": [ ".mob" ] }, "target": { "kind": "section", "section": "destroy count" }, "annotation": { "title": "受到5次伤害则怪物死亡 \u003c\u003c示例", "content": "[destroy count] 怪物死亡所需伤害次数\n受到指定次数的伤害后怪物死亡\n数字可更改\n\n#### 官方示例: newmonstersample.mob\n\n```pvf\n[destroy count] 5 // 受到5次伤害则怪物死亡 \u003c\u003c示例。数字可更改\n```\n\n#### 官方示例: newmonstersamplebytool.mob\n\n```pvf\n// 怪物击杀计数。\n{exp}怪物死亡伤害计数{/exp}[destroy count]\n {must1}{exp}?次伤害则{/exp}{int(:)}\n```\n\n受到5次伤害则怪物死亡 \u003c\u003c示例", "type": "text" }, "group": "mob" }, { "id": "mob.section.drop-item-offset.1rbysf", "match": { "extensions": [ ".mob" ] }, "target": { "kind": "section", "section": "drop item offset" }, "annotation": { "title": "用于调整物品掉落位置的标签", "content": "[drop item offset] 调整物品掉落位置\n参数1:怪物X坐标+该值\n参数2:怪物Y坐标+该值\n\n#### 官方示例: newmonstersample.mob\n\n```pvf\n// 不想锁定后面的目标则设为-1。\n[drop item offset] 100 100 // 用于调整物品掉落位置的标签。\n// 怪物X坐标 + 第一个参数值, 怪物Y坐标 + 第二个参数值。\n```\n\n用于调整物品掉落位置的标签", "type": "text" }, "group": "mob" }, { "id": "mob.section.easy.1h7863", "match": { "extensions": [ ".mob" ] }, "target": { "kind": "section", "section": "easy" }, "annotation": { "title": "普通模式执行的ai模式", "type": "text" }, "group": "mob" }, { "id": "mob.section.event-super-on-scr.1sezm7", "match": { "extensions": [ ".mob" ] }, "target": { "kind": "section", "section": "event super on scr" }, "annotation": { "title": "怪物在一定条件下触发霸体", "content": "[event super on scr]怪物在一定条件下触发霸体\n\n上方4选1触发条件:\n`[on time]` = 破坏后间隔一定时间刷新\n`[on hp]` = 由剩余生命值触发\n`[always]` = 到时间自动刷新,无论是否被破坏\n`[counter]` = 破招时触发\n\n下方2选1触发霸体类型:\n`[unbreakable]` = 不可被破坏\n`[breakable]` = 可以被破坏\n\n拓展机制,不写也不影响:\n`[with blast]` = 与霸体一起触发的狂龙之吼\n————————————————————\n//1000 = 1秒\n————————————————————\n\t`[on time]`\t5000\t20000\t1\n//以上代表消失后间隔5秒刷新,护盾存在时间20秒,护盾存在期间受到投技不会导致霸体消失(写1不导致,写-1会导致)\n\n`[on hp]`\t70\t-1\t-1\n//以上代表减少70%最大生命值时触发(对会回血的目标则是剩余30%生命值触发),护盾永久存在(写-1就是永久),受到投技会导致霸体消失(写1不导致,写-1会导致)\n\n`[counter]`\t1\t10000\t1\n//以上代表受到破招时触发(写1触发,写-1不触发),护盾存在时间10秒,护盾存在期间受到投技不会导致霸体消失(写1不导致,写-1会导致)\n\n`[always]`\t10000\t5000\n//以上代表每隔10秒刷新,护盾存在时间5秒\n————————————————————\n\t`[breakable]`\t和`[unbreakable]`通用写法介绍:\n1、护盾耐久值, 根据最大生命值百分比决定,写多少就是多少百分比\n2、护盾恢复效率, 写多少就是每秒恢复多少百分比(或许是)\n3、近战防御力(固定值)\n4、远程防御力(固定值)\n\n#### 官方示例: newmonstersample.mob\n\n```pvf\n// 由事件触发的超级护甲条件。\n[event super on scr]\n[on hp] 10 10000 1 // [on time], [on hp], [always], [conunter], 触发条件索引, 持续时间, 重新激活与否\n[unbreakable] -1 -1 -1 -1 // 耐久度, 恢复力, 近程防御力, 远程防御力。\n[with blast] // 与光龙的咆哮一起触发。\n[/event super on scr]\n```\n\n怪物在一定条件下触发霸体\n\n官方示例:\n#### 官方示例: newmonstersample.mob\n\n```pvf\n// 由事件触发的超级护甲条件。\n[event super on scr]\n[on hp] 10 10000 1 // [on time], [on hp], [alwa", "type": "text" }, "group": "mob" }, { "id": "mob.section.fixed-height.1a20hj", "match": { "extensions": [ ".mob" ] }, "target": { "kind": "section", "section": "fixed height" }, "annotation": { "title": "固定高度设置", "content": "[fixed height] 固定高度设置\n怪物在Y轴上的固定位置\n\n#### 官方示例: newmonstersample.mob\n\n```pvf\n[fixed height] 200 // 固定高度设置。\n```\n\n固定高度设置", "type": "text" }, "group": "mob" }, { "id": "mob.section.flying-mark.p0rfjn", "match": { "extensions": [ ".mob" ] }, "target": { "kind": "section", "section": "flying mark" }, "annotation": { "title": "是否绘制浮游型怪物下方的标记 (1", "content": "[flying mark] 是否绘制浮游型怪物下方的标记\n1: 输出, 0: 不输出\n\n#### 官方示例: newmonstersample.mob\n\n```pvf\n[flying mark] 0 // 是否绘制浮游型怪物下方的标记 (1: 输出, 0: 不输出)。\n```\n\n是否绘制浮游型怪物下方的标记 (1", "type": "text" }, "group": "mob" }, { "id": "mob.section.height.1nb00u", "match": { "extensions": [ ".mob" ] }, "target": { "kind": "section", "section": "height" }, "annotation": { "title": "被动对象可移动区域的高度", "content": "[height] 被动对象可移动区域的高度\n在[control passive object]标签内使用\n\n#### 官方示例: newmonstersample.mob\n\n```pvf\n[height] 200 // 被动对象可移动区域的高度。\n```\n\n被动对象可移动区域的高度\n\n官方示例:\n#### 官方示例: newmonstersample.mob\n\n#### 官方示例: actionsample.act\n\n```pvf\n[HEIGHT] 200000 // 下落初始高度(\u003e 0,省略时初始值:0)\n```", "type": "text" }, "group": "mob" }, { "id": "mob.section.hell-monster.262bpw", "match": { "extensions": [ ".mob" ] }, "target": { "kind": "section", "section": "hell monster" }, "annotation": { "title": "深渊怪物", "content": "[hell monster] 深渊怪物标记\n1=是深渊怪物\n用于标记在深渊派对/深渊模式中出现的怪物\n使用示例:\n[hell monster] 1\n\n#### 官方示例: newmonstersample.mob\n\n```pvf\n[hell monster] 1\n```\n\n#### 官方示例: newmonstersamplebytool.mob\n\n```pvf\n[hell monster]\n {int(0:)}\n {!int(:)}\n[!hell monster]\n```\n\n地狱怪物", "type": "text" }, "group": "mob" }, { "id": "mob.section.hitstun-resistance.1km0zb", "match": { "extensions": [ ".mob" ] }, "target": { "kind": "section", "section": "hitstun resistance" }, "annotation": { "title": "受击硬直抗性", "content": "受击硬直抗性\n数值越高,受到攻击后产生的硬直时间越短\n\nhitstun阻力", "type": "text" }, "group": "mob" }, { "id": "mob.section.hp-regen-rate.3kpcwe", "match": { "extensions": [ ".mob" ] }, "target": { "kind": "section", "section": "hp regen rate" }, "annotation": { "title": "有目标/无目标时HP恢复率", "content": "怪物 HP 恢复率的两列参数,官方说明依次为“锁定目标时的恢复比率、无目标时的恢复比率”,并给出默认值 0.15、0.6。静态文件未证明时间基准,因此不能写成“每分钟恢复”;实际恢复周期和 Boss UI 表现需实机确认。\n\n#### 官方示例: newmonstersample.mob\n\n```pvf\n[hp regen rate] 0.0 0.0 // 锁定目标时的恢复比率,无目标时的恢复比率。\n// 默认值 0.15f 0.6f。\n```\n\n每分钟恢复生命值\n\n该标签位于BOSS面板时,左边为战斗状态回复量,右边为脱战回复量(大概是)\n\n0.3 = 每分钟回复30%\n\n官方示例:\n#### 官方示例: newmonstersample.mob\n\n#### 官方示例: actionsample.act\n\n```pvf\n[hp regen rate] [%] 100.0 // HP恢复率\n```", "type": "text" }, "group": "mob" }, { "id": "mob.section.initial-target.29rr64", "match": { "extensions": [ ".mob" ] }, "target": { "kind": "section", "section": "initial target" }, "annotation": { "title": "设置初始目标(按顺序优先级)", "content": "[initial target] 设置初始目标(按顺序优先级)\n可指定[PASSIVE] [MONSTER] [CHARACTER] [MARKED]等目标类型\n必须用[/initial target]闭合\n\n#### 官方示例: newmonstersample.mob\n\n```pvf\n[initial target] // 设置初始目标(按顺序优先级)。\n[PASSIVE]( 或 [MONSTER], [CHARACTER], [MARKED]) 221 // 对象索引。\n[MONSTER] 62134\n[/initial target]\n```\n\n设置初始目标(按顺序优先级)", "type": "text" }, "group": "mob" }, { "id": "mob.section.is-direction-to-move.uxek3u", "match": { "extensions": [ ".mob" ] }, "target": { "kind": "section", "section": "is direction to move" }, "annotation": { "title": "1则朝移动的方向看并移动", "content": "[is direction to move] 移动方向显示\n1: 朝移动的方向看并移动, 0: 看着目标移动(默认0)\n\n#### 官方示例: newmonstersample.mob\n\n```pvf\n[is direction to move] 1 // 1则朝移动的方向看并移动,0则看着目标移动(默认是0)\n```\n\n1则朝移动的方向看并移动\n\n官方示例:\n#### 官方示例: newmonstersample.mob\n\n移动时是否按移动方向面向(1: 按移动方向,0: 按目标方向)\n\n#### 官方示例: actionsample.act\n\n```pvf\n**[IS DIRECTION TO MOVE]** 1 //1则面向移动方向移动,0则面向目标移动(默认为0)\n (1 :则看向目标)\n```", "type": "text" }, "group": "mob" }, { "id": "mob.section.jump-attack.l2lha7", "match": { "extensions": [ ".mob" ] }, "target": { "kind": "section", "section": "jump attack" }, "annotation": { "title": "跳跃移动", "content": "[jump attack] 跳跃攻击设置\n包含子标签:攻击索引、起止帧、跳跃类型、高度、速度、方向等\n必须用[/jump attack]闭合\n\n#### 官方示例: monstersample.mob\n\n```pvf\n[jump attack]\n`[attack index]` 5 // 跳跃移动\n`[start frame index]` 2\n`[end frame index]` 6\n`[jump type]` 1\n`[jump height]` 120\n`[jump speed]` 500\n`[jump direction]` 0 // 1则为也可以向面向的反方向跳跃\n`[on collision custom animation index]` 2\n`[ememy distance rate]` 1.0\n`[limited x cood]` 200\n`[limited y cood]` 200\n[/jump attack]\n```\n\n跳跃移动", "type": "text" }, "group": "mob" }, { "id": "mob.section.jumpattack-info.sjfovv", "match": { "extensions": [ ".mob" ] }, "target": { "kind": "section", "section": "jumpattack info" }, "annotation": { "title": "跳跃攻击的攻击信息", "content": "[jumpattack info] 跳跃攻击的攻击信息\n指向跳跃攻击的.atk文件\n\n#### 官方示例: monstersample.mob\n\n```pvf\n// 攻击信息列表。没有的可以不写。或用 `` 输入则视为没有 //\n[jumpattack info] `JumpAttack.atk` // 跳跃攻击的攻击信息\n```\n\n跳跃攻击的攻击信息\n\n官方示例:\n#### 官方示例: monstersample.mob\n\n#### 官方示例: charactersample.chr\n\n```pvf\n// 攻击信息列表。没有的可不填写。或用 `` 表示没有 //\n[jumpattack info] `JumpAttack.atk` // 跳跃攻击的攻击信息\n```", "type": "text" }, "group": "mob" }, { "id": "mob.section.keep-range-distance-with-target.1uepsk", "match": { "extensions": [ ".mob" ] }, "target": { "kind": "section", "section": "keep range distance with target" }, "annotation": { "title": "与目标保持多少距离?", "content": "[keep range distance with target] 与目标保持距离范围\n参数:X轴距离 Y轴距离 X轴随机半径 Y轴随机半径\n在DestinationSelect.ai中返回11号值时触发\n\n#### 官方示例: newmonstersample.mob\n\n```pvf\n[keep range distance with target] 300 200 10 10 // 与目标保持多少距离?\n// X轴上保持的距离, Y轴上保持的距离, X轴随机半径, Y轴随机半径\n// `DestinationSelect.ai` 中返回11号值时触发。\n```\n\n与目标保持多少距离?", "type": "text" }, "group": "mob" }, { "id": "mob.section.left.52pxm8", "match": { "extensions": [ ".mob" ] }, "target": { "kind": "section", "section": "left" }, "annotation": { "title": "选项", "content": "[left] 左侧方向选项\n在[fix direction]标签内使用\n固定型怪物总是看向左侧\n在[control passive object]中也用于被动对象方向固定\n\n#### 官方示例: newmonstersample.mob\n\n```pvf\n[fix direction] 1 [left] // 怪物生成时是否固定面向方向 (1: 固定, 0: 不固定)\n// 选项:固定时,指定怪物总是要面对的方向(固定型怪物主要使用,左侧: [left] 右侧:[right])\n=======\n```\n\n```pvf\n[fix direction] [left] // 被动对象控制时的方向固定(左侧: [left] 右侧:[right])。\n```\n\n选项\n\n官方示例:\n#### 官方示例: newmonstersample.mob\n\n#### 官方示例: actionsample.act\n\n```pvf\n[FIX DIRECTION] [LEFT] [RIGHT] [RANDOM] [NEUTRAL] // 指定面对的方向。\n```\n\n```pvf\n**[SET DIRECTION]** [LEFT] (或 [RIGHT] 或 [TO TARGET] 或 [RANDOM] 或 [REVERSE] 或 [MY DIRECTION] 或 [MY OPPOSITE DIRECTION] 或 [MY CURRENT DIRECTION]) // 改变目标的方向\n```\n\n```pvf\n[DIRECTION] [LEFT] // or [RIGHT] or [RANDOM] or [REVERSE] or [MY DIRECTION] or [MY OPPOSITE DIRECTION]\n```", "type": "text" }, "group": "mob" }, { "id": "mob.section.level-of-difficulty.15v1dg", "match": { "extensions": [ ".mob" ] }, "target": { "kind": "section", "section": "level of difficulty" }, "annotation": { "title": "难度等级设置", "content": "[level of difficulty] 难度等级设置\n用于指定不同难度下的额外好战性和额外冷却时间\n子标签包含:[easy] [ex] [master] [king] [hero] 或 [normal] [expert] 等\n参数:额外好战性,额外冷却时间\n\n(与AI脚本相关的[intelligence]标签,怪物脚本[cooltime]标签)\n\n#### 官方示例: newmonstersample.mob\n\n```pvf\n[level of difficulty]\n[normal] 0 0 // 额外好战性,额外冷却时间。\n[ex] 0 0 // (与AI脚本相关的[intelligence]标签,怪物脚本[cooltime]标签)\n[master] 0 0\n[king] 0 0\n[hero] 0 0\n[/level of difficulty]\n```\n\n#### 官方示例: newmonstersamplebytool.mob\n\n```pvf\n[level of difficulty]\n [easy],[hard],[medium],[ultimate],[expert],[normal],[ex],[master],[king],[hero]\n {must1}{exp}额外好战性{/exp}{int(:)}\n {must2}{exp}额外冷却时间{/exp}{int(:)}\n [!easy],[!hard],[!medium],[!ultimate],[!expert],[!normal],[!ex],[!master],[!king],[!hero]\n[/level of difficulty]\n```\n\n难易程度", "type": "text" }, "group": "mob" }, { "id": "mob.section.medium.ew9h86", "match": { "extensions": [ ".mob" ] }, "target": { "kind": "section", "section": "medium" }, "annotation": { "title": "中等难度执行的AI模式", "content": "[medium]中等难度执行的AI模式\n在[ai pattern]标签内使用,指定中等(medium)难度下的AI文件路径\n\n王者模式执行的ai模式", "type": "text" }, "group": "mob" }, { "id": "mob.section.monster-title.1xlk15", "match": { "extensions": [ ".mob" ] }, "target": { "kind": "section", "section": "monster title" }, "annotation": { "title": "给怪物添加称号", "content": "[monster title] 给怪物添加称号\n坐标调整需要通过动画完成\n无称号时可用 `` 表示\n\n#### 官方示例: newmonstersample.mob\n\n```pvf\n[monster title] `` //给怪物添加称号。坐标调整需要通过动画完成。\n```\n\n给怪物添加称号", "type": "text" }, "group": "mob" }, { "id": "mob.section.mounted-action.1p98c0", "match": { "extensions": [ ".mob" ] }, "target": { "kind": "section", "section": "mounted action" }, "annotation": { "title": "乘坐后动作 (载具专用)", "content": "[mounted action] 乘坐后动作(载具专用)\n.act动作文件路径\n\n#### 官方示例: newmonstersample.mob\n\n```pvf\n[mounted action] `Action/stay1.act` // 乘坐后动作 (载具专用)\n```\n\n乘坐后动作 (载具专用)", "type": "text" }, "group": "mob" }, { "id": "mob.section.mounting-action.vk2vmo", "match": { "extensions": [ ".mob" ] }, "target": { "kind": "section", "section": "mounting action" }, "annotation": { "title": "乘坐动作 (载具专用)", "content": "[mounting action] 乘坐动作(载具专用)\n.act动作文件路径\n\n#### 官方示例: newmonstersample.mob\n\n```pvf\n[mounting action] `Action/in.act` // 乘坐动作 (载具专用)\n```\n\n乘坐动作 (载具专用)", "type": "text" }, "group": "mob" }, { "id": "mob.section.moveback-action.1jpnf0", "match": { "extensions": [ ".mob" ] }, "target": { "kind": "section", "section": "moveback action" }, "annotation": { "title": "后退动作动作文件名", "content": "[moveback action] 后退动作动作文件名\n.act动作文件路径\n\n#### 官方示例: newmonstersample.mob\n\n```pvf\n[moveback action] `Action/MoveBack.act` // 后退动作动作文件名。\n```\n\n后退动作动作文件名", "type": "text" }, "group": "mob" }, { "id": "mob.section.no-change-target.1aujhv", "match": { "extensions": [ ".mob" ] }, "target": { "kind": "section", "section": "no change target" }, "annotation": { "title": "没有变化目标", "content": "[no change target] 是否更改目标\n0: 不更改目标, 1: 更改\n\n#### 官方示例: newmonstersample.mob\n\n```pvf\n[no change target] 0 // 0: 不更改目标 1: 更改。\n```\n\n0", "type": "text" }, "group": "mob" }, { "id": "mob.section.non-targeted.gz0wzo", "match": { "extensions": [ ".mob" ] }, "target": { "kind": "section", "section": "non targeted" }, "annotation": { "title": "是否不会被其他队伍的目标锁定 (1", "content": "[non targeted] 是否不会被其他队伍的目标锁定\n1: 不被锁定, 0: 被锁定\n\n#### 官方示例: newmonstersample.mob\n\n```pvf\n// 躺下状态受到攻击则从第三个参数开始重复。\n[non targeted] 1 // 是否不会被其他队伍的目标锁定 (1: 不被锁定, 0 : 被锁定)。\n```\n\n是否不会被其他队伍的目标锁定 (1", "type": "text" }, "group": "mob" }, { "id": "mob.section.option.1sc73x", "match": { "extensions": [ ".mob" ] }, "target": { "kind": "section", "section": "option" }, "annotation": { "title": "将Y轴改为基于Z轴", "content": "[option] 选项设置\n在[control passive object]标签内使用\n使用`convert y to z`可将Y轴改为基于Z轴\n\n#### 官方示例: newmonstersample.mob\n\n```pvf\n[option] `convert y to z` // 将Y轴改为基于Z轴。\n```\n\n将Y轴改为基于Z轴\n\n官方示例:\n#### 官方示例: newmonstersample.mob\n\n#### 官方示例: aurasample.ora\n\n```pvf\n[option] //0// animation 选项\n `keep direction` //0// animation 选项(固定方向)\n `floor` //0// animation 选项(绘制于地面:如魔法阵等)\n `auto remove` //0// animation 选项(动画结束后自动移除)\n `apply custom color` //0// animation 选项(跟随对象颜色:如迷彩等)\n `sync speed` //0// animation 选项(与对象动画速度同步)\n `copy horizon` //0// animation 选项(动画横向复制)\n `copy vertical` //0// animation 选项(动画纵向复制)\n `resize` //0// animation 选项(根据光环范围调整大小)未实现!!!\n [/option]\n```\n\n#### 官方示例: equipmentsample.equ\n\n```pvf\n[option]\t\t\t\t\t\t//0// animation 选项\n\t\t`keep direction`\t\t\t//0// animation 选项 (固定方向)\n\t\t`floor`\t\t\t\t\t\t//0// animation 选项 (画在地面上:地板效果等)\n\t\t`auto remove`\t\t\t\t//0// animation 选项 (动画结束后自动移除)\n\t\t`apply custom color`\t\t//0// animation 选项 (应用对象颜色:迷彩等)\n\t\t`sync speed`\t\t\t\t//0// animation 选项 (与对象动画速度同步)\n\t\t`copy horizon`\t\t\t\t//0// animation 选项 (动画横向复制)\n\t\t`copy vertical`\t\t\t\t//0// animation 选项 (动画纵向复制)\n\t\t`resize`\t\t\t\t\t//0// animation 选项 (根据光环范围调整大小) 未实现!!!\n\t[/option]\n```\n\n```pvf\n[option]\t\t\t\t\t\t//0// animation 选项\n\t\t`apply custom color`\t\t//0// animation 选项 (应用对象颜色:迷彩等)\n\t\t`sync speed`\t\t\t\t//0// animation 选项 (与对象动画速度同步)\n\t[/option]\n```", "type": "text" }, "group": "mob" }, { "id": "mob.section.pattern.11iuvj", "match": { "extensions": [ ".mob" ] }, "target": { "kind": "section", "section": "pattern" }, "annotation": { "title": "pattern 索引 0号 // 将动作列表的索引模式化", "content": "[pattern] 动作列表索引模式化标签\n冷却时间使用相应动作的冷却时间\n必须用[/pattern]闭合\n\n#### 官方示例: newmonstersample.mob\n\n```pvf\n[pattern] //pattern 索引 0号 // 将动作列表的索引模式化。冷却时间使用相应动作的冷却时间。\n1\n2\n3\n[/pattern]\n```\n\n```pvf\n[pattern] //pattern 索引的 1号\n2\n3\n4\n[/pattern]\n```\n\npattern 索引 0号 // 将动作列表的索引模式化\n\n官方示例:\n#### 官方示例: newmonstersample.mob\n\n#### 官方示例: actionsample.act\n\n```pvf\n[PATTERN] INDEX // 执行 mob 文件中注册的模式索引\n```\n\n```pvf\n[PATTERN] [RIGHT] 1000 0 // 指令模式方向,输入等待时间,对象的帧号\n```\n\n#### 官方示例: passiveobjectsample.obj\n\n```pvf\n[pattern] // -\u003e 可以指定模式。也可以有多个。\n[name] `A` // -\u003e 模式的唯一名称。必须是唯一的名称。\n[interval] 500 // -\u003e 对象生成的时间周期。毫秒单位。\n[columns] 3 // -\u003e 一个周期内生成的模式单位数量。\n[data] // -\u003e 在此指定模式数据。0为空位,1表示要生成的被动对象。\n0 1 1 // 省略 [data] 标签时,对象随机出现。\n0 1 0 // 当[columns]值为3时,将数据每3个数字分割一次生成模式。\n1 0 1 // 因此数据数量必须是column的倍数。\n0 1 1\n1 0 1\n[/data]\n[/pattern] // -\u003e 至此为一个模式。\n```\n\n```pvf\n[pattern] `A` 3000 [/pattern] // 第一个参数是模式名称,必须是上面[patterns]标签中指定的名称。\n```\n\n```pvf\n[pattern] `B` 3000 [/pattern] // 第二个参数是模式持续的时间,毫秒单位。\n```\n\n```pvf\n[pattern] `A` 3000 [/pattern] // 示例中,模式以 A-B-A-A-B-R-A 的顺序每3秒变化一次。\n```\n\n```pvf\n[pattern] `A` 3000 [/pattern] // 模式全部结束后,再从开始重复。\n```", "type": "text" }, "group": "mob" }, { "id": "mob.section.physical-attack-besed-on-diff.zrxjd7", "match": { "extensions": [ ".mob" ] }, "target": { "kind": "section", "section": "physical attack besed on diff" }, "annotation": { "title": "level normal expert master kings her", "content": "[physical attack besed on diff] 根据难度的物攻修正表\n按level列出不同难度(normal expert master king hero)的物攻修正值\n必须用[/physical attack besed on diff]闭合\n\n#### 官方示例: newmonstersample.mob\n\n```pvf\n// 根据难度的物攻修正表。\n[physical attack besed on diff]\n//level normal expert master kings heros\n1 32.27 32.27 32.27 32.27 32.27\n2 47.43 47.43 47.43 47.43 47.43\n3 59.34 59.34 59.34 59.34 59.34\n[/physical attack besed on diff]\n```\n\nlevel normal expert master kings her", "type": "text" }, "group": "mob" }, { "id": "mob.section.piercing-resistance.1vwpnr", "match": { "extensions": [ ".mob" ] }, "target": { "kind": "section", "section": "piercing resistance" }, "annotation": { "title": "破甲抗性", "content": "破甲抗性\n\n#### 官方示例: newmonstersample.mob\n\n```pvf\n[piercing resistance] // 穿透\n```\n\n官方示例:\n#### 官方示例: newmonstersample.mob\n\n贯通/穿刺抗性\n\n#### 官方示例: equipmentsample.equ\n\n```pvf\n[piercing resistance] 12\t\t\t// 破招抗性\n```", "type": "text" }, "group": "mob" }, { "id": "mob.section.proc-action.1uhs09", "match": { "extensions": [ ".mob" ] }, "target": { "kind": "section", "section": "proc action" }, "annotation": { "title": "循环处理动作路径", "content": "怪物 proc 动作文件路径。官方说明该动作不检查动画,并建议尽量使用 [ON DAMAGE] 等事件处理代替循环;仍需继续读取对应 .act/.ani/.atk 链,静态路径不证明动作会正常执行。\n\n#### 官方示例: newmonstersample.mob\n\n```pvf\n[proc action] `proc.act` // proc动作不检查动画。\n// 尽可能推荐使用事件处理而非循环( [ON DAMAGE] 等)\n```\n\nproc动作不检查动画", "type": "text" }, "group": "mob" }, { "id": "mob.section.ready-action.1irp65", "match": { "extensions": [ ".mob" ] }, "target": { "kind": "section", "section": "ready action" }, "annotation": { "title": "对应的攻击动作索引", "content": "[ready action] 攻击预备动作\n包含[motion index]和[effect ani file \u0026 layer index]子标签\n指定攻击动作索引和对应的特效动画\n必须用[/ready action]闭合\n\n#### 官方示例: monstersample.mob\n\n```pvf\n[ready action]\n`[motion index]` 0 // 对应的攻击动作索引\n`[effect ani file \u0026 layer index]`\n3 // 文件数\n`Animation_Thrower/LooseSpecialAttackEffect.ani` 100\n`Animation_Thrower/EF_AttackHeart1.ani` 200\n`Animation_Thrower/EF_AttackHeart2.ani` 300\n[/ready action]\n```\n\n```pvf\n[ready action]\n`[motion index]` 3 // 对应的攻击动作索引\n`[effect ani file \u0026 layer index]`\n1 // 文件数\n`ShavanteAnimation/AttackEffect.ani` 100\n[/ready action]\n```\n\n#### 官方示例: newmonstersample.mob\n\n```pvf\n[ready action]\n[motion index] 1 // 对应的攻击动作索引。\n// [effect ani file \u0026 layer index] line tag -\u003e multi tag\n[effect ani file \u0026 layer index]\n1 // 文件数。\n`Animation_MountainGoblin2/Throw3_Effect.ani` 100\n[/effect ani file \u0026 layer index]\n[/ready action]\n```\n\n对应的攻击动作索引", "type": "text" }, "group": "mob" }, { "id": "mob.section.reflection-object.1dordy", "match": { "extensions": [ ".mob" ] }, "target": { "kind": "section", "section": "reflection object" }, "annotation": { "title": "指定特定攻击时对远程攻击进行反射的标签", "content": "[reflection object] 对象反射\n指定特定攻击时对远程攻击进行反射\n参数:攻击索引 反射概率\n必须用[/reflection object]闭合\n\n#### 官方示例: newmonstersample.mob\n\n```pvf\n[reflection object] // 指定特定攻击时对远程攻击进行反射的标签。\n0 100 // 攻击索引,导弹反射概率。\n[/reflection object]\n```\n\n```pvf\n[reflection object] // 对象反射。\n0 0 // 0 // 相应动作的索引。\n1 100 // 5 // 在要反射对象的索引处写上概率,则以该概率反射对象。\n[/reflection object]\n```\n\n指定特定攻击时对远程攻击进行反射的标签", "type": "text" }, "group": "mob" }, { "id": "mob.section.ridableskill-definition.1nd8yo", "match": { "extensions": [ ".mob" ] }, "target": { "kind": "section", "section": "ridableskill definition" }, "annotation": { "title": "mkjung 120621 添加", "content": "[ridableskill definition] 骑乘技能定义\n包含[pattern]、[image path]、[skill]子标签\n必须用[/ridableskill definition]闭合\n\n#### 官方示例: newmonstersample.mob\n\n```pvf\n//mkjung 120621 添加\n[ridableskill definition]\n[pattern] 0\n[image path] `sprite/Monster/impossible_blackearth/icon/pincers.img`\n[skill]\n0 -1 `normal` 0 // 基本攻击。\n-1 -1 `normal` 0 // 基本跳跃,技能属性(normal:基本, super:必杀技),取消技数,取消技索引。\n2 -1 `normal` 0 // 要放入快捷键槽的技能编号,必须输入全部8个条目。没有则填入-1。\n-1 -1 `normal` 0\n-1 -1 `normal` 0\n-1 -1 `normal` 0\n-1 -1 `normal` 0\n-1 -1 `normal` 0\n[/skill]\n[/ridableskill definition]\n```\n\nmkjung 120621 添加", "type": "text" }, "group": "mob" }, { "id": "mob.section.set-damage-check.1bowx1", "match": { "extensions": [ ".mob" ] }, "target": { "kind": "section", "section": "set damage check" }, "annotation": { "title": "event", "content": "[set damage check] 伤害检查间隔\n在event.ai中检查伤害的间隔\n也可以在动作中开启,但对于从创建开始就要始终检查的怪物可用此标签\n\n#### 官方示例: newmonstersample.mob\n\n```pvf\n[set damage check] 3000 // event.ai 中检查伤害的间隔 // 也可以在动作中开启,但对于从创建开始就要始终检查的怪物,可以用这个标签嵌入到怪物文件中。\n```\n\nevent\n\n官方示例:\n#### 官方示例: newmonstersample.mob\n\n开启/关闭伤害判定检查,并可设置检查间隔(毫秒)\n\n#### 官方示例: actionsample.act\n\n```pvf\n//伤害检查开始(action文件)\n **[SET DAMAGE CHECK]** 1 1000//1开始伤害检查, 0停止伤害检查 //检查时间设置\n```", "type": "text" }, "group": "mob" }, { "id": "mob.section.set-minimum-active-status-resistance.1n9agr", "match": { "extensions": [ ".mob" ] }, "target": { "kind": "section", "section": "set minimum active status resistance" }, "annotation": { "title": "设置最小主动状态电阻", "type": "text" }, "group": "mob" }, { "id": "mob.section.sight.1ut6if", "match": { "extensions": [ ".mob" ] }, "target": { "kind": "section", "section": "sight" }, "annotation": { "title": "视力", "content": "视力\n此数值越高,就越不容易因为距离过远而丢失目标\n\n#### 官方示例: monstersample.mob\n\n```pvf\n// AI 信息。使用默认值时可不写。 //\n[sight] 200 // 目标有效距离 (像素值,0则为无限大)\n```\n\n#### 官方示例: newmonstersample.mob\n\n```pvf\n//mkjung 120618 添加\n[sight] 300\n```\n\n视力", "type": "text" }, "group": "mob" }, { "id": "mob.section.spawn-prob.konoqr", "match": { "extensions": [ ".mob" ] }, "target": { "kind": "section", "section": "spawn prob" }, "annotation": { "title": "竞争地牢生成概率", "content": "[spawn prob] 竞争地牢生成概率\n应用于战争区域出现的怪物身上的值\n\n#### 官方示例: monstersample.mob\n\n```pvf\n// 生成概率\n[spawn prob] 30\n```\n\n#### 官方示例: newmonstersample.mob\n\n```pvf\n[spawn prob] 30 // 竞争地牢生成概率,应用于战争区域出现的怪物身上的值。\n```\n\n竞争地牢生成概率", "type": "text" }, "group": "mob" }, { "id": "mob.section.specific-gen-rate-item.1tqu6d", "match": { "extensions": [ ".mob" ] }, "target": { "kind": "section", "section": "specific gen rate item" }, "annotation": { "title": "怪物死亡时特殊出现的物品指定", "content": "[specific gen rate item] 怪物死亡时特殊出现的物品指定\n有此标签则无视[item]或[common champion drop item]\n第一行为基准概率,后续为物品索引+概率\n必须用[/specific gen rate item]闭合\n\n#### 官方示例: newmonstersample.mob\n\n```pvf\n[specific gen rate item] // 怪物死亡时特殊出现的物品指定。有这个标签则无视 [item] 或 [common champion drop item] 等,无条件以此物品掉落。\n1000000 // 基准概率\n3049 100000 // 依次为物品索引,概率。\n3015 100000\n[/specific gen rate item]\n```\n\n怪物死亡时特殊出现的物品指定", "type": "text" }, "group": "mob" }, { "id": "mob.section.strong.1ip02g", "match": { "extensions": [ ".mob" ] }, "target": { "kind": "section", "section": "strong" }, "annotation": { "title": "伤害减免阈值(高伤害额外承伤)", "content": "[strong] 伤害减免阈值\n参数1:伤害阈值,低于此值的伤害将被完全减免\n参数2:超出阈值后额外承受的伤害百分比\n例如:[strong] 2000 30 表示受到2000以上伤害时额外承受30%伤害,2000以下则不受到伤害\n\n#### 官方示例: newmonstersample.mob\n\n```pvf\n[strong] 2000 30 // 受到2000以上伤害时额外承受30%伤害。2000以下则不受到伤害。\n```\n\n这个便签经过测试\n\n这个便签经过测试,应该是减少怪物受到的攻击伤害,例如1000伤害减少99%", "type": "text" }, "group": "mob" }, { "id": "mob.section.summon-skill-status-up-rate.1tkv0l", "match": { "extensions": [ ".mob" ] }, "target": { "kind": "section", "section": "summon skill status up rate" }, "annotation": { "title": "召唤技能 1级时能力值上升率(%)", "content": "[summon skill status up rate] 召唤技能1级时能力值上升率(%)\n共10个参数,按能力值表顺序:力、体力、智力、精神、HP、MP、物攻、物防、魔攻、魔防\n仅召唤物使用\n\n#### 官方示例: monstersample.mob\n\n```pvf\n[summon skill status up rate] // 召唤技能 1级时能力值上升率(%)。能力值按能力值表的顺序共10个\n1.0 2.0 3.0 4.0 5.0 6.0 7.0 8.0 9.0 10.0\n```\n\n#### 官方示例: newmonstersample.mob\n\n```pvf\n[summon skill status up rate] // 召唤技能 1级时能力值上升率(%)。能力值按能力值表的顺序共10个。仅召唤物使用。\n1.0 2.0 3.0 4.0 5.0 6.0 7.0 8.0 9.0 10.0\n```\n\n```pvf\n// 召唤技能 1级时能力值上升率(%)。能力值按能力值表的顺序共10个。\n[summon skill status up rate] 0.0 0.0 0.0 0.0 2.0 2.0 2.0 0.0 2.0 0.0 // 力,体力,智力,精神,HP,MP,物攻,物防,魔攻,魔防。\n```\n\n```pvf\n// 召唤技能 1级时能力值上升率(%)。能力值按能力值表的顺序共10个。\n[summon skill status up rate] 0.0 0.0 0.0 0.0 2.3 2.3 0.0 0.0 0.0 0.0 // 力,体力,智力,精神,HP,MP,物攻,物防,魔攻,魔防。\n```\n\n召唤技能 1级时能力值上升率(%)\n\n官方示例:\n#### 官方示例: monstersample.mob\n\n```pvf\n// 召唤技能 1级时能力值上升率(%)。能力值按能力值表的顺序共10个。\n[summon skill status up rate] 0.0 0.0 0.0 0.0 2.3", "type": "text" }, "group": "mob" }, { "id": "mob.section.summon-skill-status-up-type.3zshm8", "match": { "extensions": [ ".mob" ] }, "target": { "kind": "section", "section": "summon skill status up type" }, "annotation": { "title": "召唤物专用能力值类型", "content": "[summon skill status up type] 召唤物专用能力值类型\n1 = 按照魔法师(召唤师)召唤的怪物的专用能力值设定\n0 = 默认值\n\n#### 官方示例: monstersample.mob\n\n```pvf\n[summon skill status up type] 1 // 若跟随法师的召唤怪物专用能力值设置则为 1 (默认值 0)\n```\n\n#### 官方示例: newmonstersample.mob\n\n```pvf\n[summon skill status up type] 1\n// 召唤技能 1级时能力值上升率(%)。能力值按能力值表的顺序共10个。\n```\n\n如果按照魔法师(召唤师)召唤的怪物的专用能力值设定的话则是 1\n\n如果按照魔法师(召唤师)召唤的怪物的专用能力值设定的话则是 1 ,默认为0", "type": "text" }, "group": "mob" }, { "id": "mob.section.super-champion-drop-item.1jnaog", "match": { "extensions": [ ".mob" ] }, "target": { "kind": "section", "section": "super champion drop item" }, "annotation": { "title": "超级冠军掉落的物品列表", "content": "[super champion drop item] 超级冠军掉落的物品列表\n参数:物品索引 概率\n必须用[/super champion drop item]闭合\n\n#### 官方示例: newmonstersample.mob\n\n```pvf\n[super champion drop item] // 超级冠军掉落的物品列表。\n3166 4000\n[/super champion drop item]\n```\n\n超级冠军掉落的物品列表", "type": "text" }, "group": "mob" }, { "id": "mob.section.superarmor-on-attack.fculu0", "match": { "extensions": [ ".mob" ] }, "target": { "kind": "section", "section": "superarmor on attack" }, "annotation": { "title": "发起攻击时进入霸体", "content": "[superarmor on attack]发起攻击时进入霸体\n\t1\t50\n\n左边改1为进入霸体,改0则不进入\n\n#### 官方示例: monstersample.mob\n\n```pvf\n[superarmor on attack] 1 // 采取攻击姿势时变为超级护甲。\n```\n\n发起攻击时进入霸体", "type": "text" }, "group": "mob" }, { "id": "mob.section.targeting-attacker.11rruy", "match": { "extensions": [ ".mob" ] }, "target": { "kind": "section", "section": "targeting attacker" }, "annotation": { "title": "怪物AI逻辑", "content": "怪物AI逻辑:优先锁定最后攻击自身的敌人\n 1开启 0关闭\n\n//其他AI逻辑:\n[targeting time term]// 锁定目标后,持续一定时长会重新寻找目标\n[targeting on attack]// 攻击后重新判定目标\n[targeting on damage]// 受到攻击后重新判定目标\n[targeting high level]// 优先锁定最高等级\n[targeting low level]// 优先锁定最低等级\n[targeting high HP]// 优先锁定最高生命值\n[targeting low HP]// 优先锁定最低生命值\n[targeting nearest]// 优先锁定最近的敌人\n[targeting from direction]// 优先锁定当前朝向的敌人\n[targeting low physical attack]// 优先锁定最低物攻\n[targeting low physical defense]// 优先锁定最低物防\n[targeting low magical attack]// 优先锁定最低魔攻\n[targeting low magical defense]// 优先锁定最低魔防\n[targeting downed]// 优先锁定倒地的敌人\n\n#### 官方示例: monstersample.mob\n\n```pvf\n[targeting attacker] 0 // 1则为锁定最后攻击自己的敌人\n```\n\n#### 官方示例: newmonstersample.mob\n\n```pvf\n[targeting attacker] 1 // 1则为锁定最后攻击自己的敌人。\n```\n\n怪物AI逻辑", "type": "text" }, "group": "mob" }, { "id": "mob.section.targeting-downed.qnra65", "match": { "extensions": [ ".mob" ] }, "target": { "kind": "section", "section": "targeting downed" }, "annotation": { "title": "怪物AI逻辑", "content": "怪物AI逻辑:优先锁定倒地的敌人\n 1开启 0关闭\n\n//其他AI逻辑:\n[targeting time term]// 锁定目标后,持续一定时长会重新寻找目标\n[targeting on attack]// 攻击后重新判定目标\n[targeting on damage]// 受到攻击后重新判定目标\n[targeting high level]// 优先锁定最高等级\n[targeting low level]// 优先锁定最低等级\n[targeting high HP]// 优先锁定最高生命值\n[targeting low HP]// 优先锁定最低生命值\n[targeting nearest]// 优先锁定最近的敌人\n[targeting attacker]// 优先锁定最后攻击自身的敌人\n[targeting from direction]// 优先锁定当前朝向的敌人\n[targeting low physical attack]// 优先锁定最低物攻\n[targeting low physical defense]// 优先锁定最低物防\n[targeting low magical attack]// 优先锁定最低魔攻\n[targeting low magical defense]// 优先锁定最低魔防\n\n#### 官方示例: monstersample.mob\n\n```pvf\n[targeting downed] 1 // 1则优先锁定倒地的敌人\n```\n\n怪物AI逻辑", "type": "text" }, "group": "mob" }, { "id": "mob.section.targeting-from-direction.j3y0vl", "match": { "extensions": [ ".mob" ] }, "target": { "kind": "section", "section": "targeting from direction" }, "annotation": { "title": "怪物AI逻辑", "content": "怪物AI逻辑:优先锁定当前朝向的敌人\n 1开启 0关闭\n\n//其他AI逻辑:\n[targeting time term]// 锁定目标后,持续一定时长会重新寻找目标\n[targeting on attack]// 攻击后重新判定目标\n[targeting on damage]// 受到攻击后重新判定目标\n[targeting high level]// 优先锁定最高等级\n[targeting low level]// 优先锁定最低等级\n[targeting high HP]// 优先锁定最高生命值\n[targeting low HP]// 优先锁定最低生命值\n[targeting nearest]// 优先锁定最近的敌人\n[targeting attacker]// 优先锁定最后攻击自身的敌人\n[targeting low physical attack]// 优先锁定最低物攻\n[targeting low physical defense]// 优先锁定最低物防\n[targeting low magical attack]// 优先锁定最低魔攻\n[targeting low magical defense]// 优先锁定最低魔防\n[targeting downed]// 优先锁定倒地的敌人\n\n#### 官方示例: monstersample.mob\n\n```pvf\n[targeting from direction] 1 // 1则为锁定当前面向方向的敌人\n```\n\n#### 官方示例: newmonstersample.mob\n\n```pvf\n//120622 添加\n[targeting from direction] 1 // 1则为锁定当前面向方向的敌人。\n```\n\n怪物AI逻辑", "type": "text" }, "group": "mob" }, { "id": "mob.section.targeting-high-hp.17fu3s", "match": { "extensions": [ ".mob" ] }, "target": { "kind": "section", "section": "targeting high hp" }, "annotation": { "title": "怪物AI逻辑", "content": "怪物AI逻辑:优先锁定最高生命值\n 1开启 0关闭\n\n//其他AI逻辑:\n[targeting time term]// 锁定目标后,持续一定时长会重新寻找目标\n[targeting on attack]// 攻击后重新判定目标\n[targeting on damage]// 受到攻击后重新判定目标\n[targeting high level]// 优先锁定最高等级\n[targeting low level]// 优先锁定最低等级\n[targeting low HP]// 优先锁定最低生命值\n[targeting nearest]// 优先锁定最近的敌人\n[targeting attacker]// 优先锁定最后攻击自身的敌人\n[targeting from direction]// 优先锁定当前朝向的敌人\n[targeting low physical attack]// 优先锁定最低物攻\n[targeting low physical defense]// 优先锁定最低物防\n[targeting low magical attack]// 优先锁定最低魔攻\n[targeting low magical defense]// 优先锁定最低魔防\n[targeting downed]// 优先锁定倒地的敌人\n\n#### 官方示例: monstersample.mob\n\n```pvf\n[targeting high HP] 1 // 1则为锁定高HP的敌人\n```\n\n怪物AI逻辑", "type": "text" }, "group": "mob" }, { "id": "mob.section.targeting-high-level.1y64vc", "match": { "extensions": [ ".mob" ] }, "target": { "kind": "section", "section": "targeting high level" }, "annotation": { "title": "怪物AI逻辑", "content": "怪物AI逻辑:优先锁定最高等级\n 1开启 0关闭\n\n//其他AI逻辑:\n[targeting time term]// 锁定目标后,持续一定时长会重新寻找目标\n[targeting on attack]// 攻击后重新判定目标\n[targeting on damage]// 受到攻击后重新判定目标\n[targeting low level]// 优先锁定最低等级\n[targeting high HP]// 优先锁定最高生命值\n[targeting low HP]// 优先锁定最低生命值\n[targeting nearest]// 优先锁定最近的敌人\n[targeting attacker]// 优先锁定最后攻击自身的敌人\n[targeting from direction]// 优先锁定当前朝向的敌人\n[targeting low physical attack]// 优先锁定最低物攻\n[targeting low physical defense]// 优先锁定最低物防\n[targeting low magical attack]// 优先锁定最低魔攻\n[targeting low magical defense]// 优先锁定最低魔防\n[targeting downed]// 优先锁定倒地的敌人\n\n#### 官方示例: monstersample.mob\n\n```pvf\n[targeting high level] 0 // 1则为锁定高等级的敌人\n```\n\n怪物AI逻辑", "type": "text" }, "group": "mob" }, { "id": "mob.section.targeting-low-hp.nl3zge", "match": { "extensions": [ ".mob" ] }, "target": { "kind": "section", "section": "targeting low hp" }, "annotation": { "title": "怪物AI逻辑", "content": "怪物AI逻辑:优先锁定最低生命值\n 1开启 0关闭\n\n//其他AI逻辑:\n[targeting time term]// 锁定目标后,持续一定时长会重新寻找目标\n[targeting on attack]// 攻击后重新判定目标\n[targeting on damage]// 受到攻击后重新判定目标\n[targeting high level]// 优先锁定最高等级\n[targeting low level]// 优先锁定最低等级\n[targeting high HP]// 优先锁定最高生命值\n[targeting nearest]// 优先锁定最近的敌人\n[targeting attacker]// 优先锁定最后攻击自身的敌人\n[targeting from direction]// 优先锁定当前朝向的敌人\n[targeting low physical attack]// 优先锁定最低物攻\n[targeting low physical defense]// 优先锁定最低物防\n[targeting low magical attack]// 优先锁定最低魔攻\n[targeting low magical defense]// 优先锁定最低魔防\n[targeting downed]// 优先锁定倒地的敌人\n\n#### 官方示例: monstersample.mob\n\n```pvf\n[targeting low HP] 0 // 1则为锁定低HP的敌人\n```\n\n怪物AI逻辑", "type": "text" }, "group": "mob" }, { "id": "mob.section.targeting-low-level.k9qix0", "match": { "extensions": [ ".mob" ] }, "target": { "kind": "section", "section": "targeting low level" }, "annotation": { "title": "怪物AI逻辑", "content": "怪物AI逻辑:优先锁定最低等级\n 1开启 0关闭\n\n//其他AI逻辑:\n[targeting time term]// 锁定目标后,持续一定时长会重新寻找目标\n[targeting on attack]// 攻击后重新判定目标\n[targeting on damage]// 受到攻击后重新判定目标\n[targeting high level]// 优先锁定最高等级\n[targeting high HP]// 优先锁定最高生命值\n[targeting low HP]// 优先锁定最低生命值\n[targeting nearest]// 优先锁定最近的敌人\n[targeting attacker]// 优先锁定最后攻击自身的敌人\n[targeting from direction]// 优先锁定当前朝向的敌人\n[targeting low physical attack]// 优先锁定最低物攻\n[targeting low physical defense]// 优先锁定最低物防\n[targeting low magical attack]// 优先锁定最低魔攻\n[targeting low magical defense]// 优先锁定最低魔防\n[targeting downed]// 优先锁定倒地的敌人\n\n#### 官方示例: monstersample.mob\n\n```pvf\n[targeting low level] 1 // 1则为锁定低等级的敌人\n```\n\n怪物AI逻辑", "type": "text" }, "group": "mob" }, { "id": "mob.section.targeting-low-physical-defense.bhj32f", "match": { "extensions": [ ".mob" ] }, "target": { "kind": "section", "section": "targeting low physical defense" }, "annotation": { "title": "怪物AI逻辑", "content": "怪物AI逻辑:优先锁定最低物防\n 1开启 0关闭\n\n//其他AI逻辑:\n[targeting time term]// 锁定目标后,持续一定时长会重新寻找目标\n[targeting on attack]// 攻击后重新判定目标\n[targeting on damage]// 受到攻击后重新判定目标\n[targeting high level]// 优先锁定最高等级\n[targeting low level]// 优先锁定最低等级\n[targeting high HP]// 优先锁定最高生命值\n[targeting low HP]// 优先锁定最低生命值\n[targeting nearest]// 优先锁定最近的敌人\n[targeting attacker]// 优先锁定最后攻击自身的敌人\n[targeting from direction]// 优先锁定当前朝向的敌人\n[targeting low physical attack]// 优先锁定最低物攻\n[targeting low magical attack]// 优先锁定最低魔攻\n[targeting low magical defense]// 优先锁定最低魔防\n[targeting downed]// 优先锁定倒地的敌人\n\n#### 官方示例: monstersample.mob\n\n```pvf\n[targeting low physical defense] 0 // 1则为锁定物理防御力低的敌人\n```\n\n#### 官方示例: newmonstersample.mob\n\n```pvf\n[targeting low physical defense] 1 // 1则为锁定物理防御力低的敌人。\n```\n\n怪物AI逻辑", "type": "text" }, "group": "mob" }, { "id": "mob.section.targeting-nearest.m3a91u", "match": { "extensions": [ ".mob" ] }, "target": { "kind": "section", "section": "targeting nearest" }, "annotation": { "title": "怪物AI逻辑", "content": "怪物AI逻辑:优先锁定最近的敌人\n 1开启 0关闭\n\n//其他AI逻辑:\n[targeting time term]// 锁定目标后,持续一定时长会重新寻找目标\n[targeting on attack]// 攻击后重新判定目标\n[targeting on damage]// 受到攻击后重新判定目标\n[targeting high level]// 优先锁定最高等级\n[targeting low level]// 优先锁定最低等级\n[targeting high HP]// 优先锁定最高生命值\n[targeting low HP]// 优先锁定最低生命值\n[targeting attacker]// 优先锁定最后攻击自身的敌人\n[targeting from direction]// 优先锁定当前朝向的敌人\n[targeting low physical attack]// 优先锁定最低物攻\n[targeting low physical defense]// 优先锁定最低物防\n[targeting low magical attack]// 优先锁定最低魔攻\n[targeting low magical defense]// 优先锁定最低魔防\n[targeting downed]// 优先锁定倒地的敌人\n\n#### 官方示例: monstersample.mob\n\n```pvf\n[targeting nearest] 1 // 1则为锁定近处的敌人\n```\n\n怪物AI逻辑", "type": "text" }, "group": "mob" }, { "id": "mob.section.targeting-on-attack.1s83lf", "match": { "extensions": [ ".mob" ] }, "target": { "kind": "section", "section": "targeting on attack" }, "annotation": { "title": "怪物AI逻辑", "content": "怪物AI逻辑:攻击后重新判定目标\n 1开启 0关闭\n\n//其他AI逻辑:\n[targeting time term]// 锁定目标后,持续一定时长会重新寻找目标\n[targeting on damage]// 受到攻击后重新判定目标\n[targeting high level]// 优先锁定最高等级\n[targeting low level]// 优先锁定最低等级\n[targeting high HP]// 优先锁定最高生命值\n[targeting low HP]// 优先锁定最低生命值\n[targeting nearest]// 优先锁定最近的敌人\n[targeting attacker]// 优先锁定最后攻击自身的敌人\n[targeting from direction]// 优先锁定当前朝向的敌人\n[targeting low physical attack]// 优先锁定最低物攻\n[targeting low physical defense]// 优先锁定最低物防\n[targeting low magical attack]// 优先锁定最低魔攻\n[targeting low magical defense]// 优先锁定最低魔防\n[targeting downed]// 优先锁定倒地的敌人\n\n#### 官方示例: monstersample.mob\n\n```pvf\n[targeting on attack] 1 // 1则为对目标攻击成功后重新设置目标\n```\n\n怪物AI逻辑", "type": "text" }, "group": "mob" }, { "id": "mob.section.targeting-time-term.496mnt", "match": { "extensions": [ ".mob" ] }, "target": { "kind": "section", "section": "targeting time term" }, "annotation": { "title": "怪物AI逻辑", "content": "怪物AI逻辑:锁定目标后,持续一定时长会重新寻找目标\n1000 = 1秒(写0则永久锁定)\n\n//其他AI逻辑:\n[targeting time term]// 锁定目标后,持续一定时长会重新寻找目标\n[targeting on attack]// 攻击后重新判定目标\n[targeting on damage]// 受到攻击后重新判定目标\n[targeting high level]// 优先锁定最高等级\n[targeting low level]// 优先锁定最低等级\n[targeting high HP]// 优先锁定最高生命值\n[targeting low HP]// 优先锁定最低生命值\n[targeting nearest]// 优先锁定最近的敌人\n[targeting attacker]// 优先锁定最后攻击自身的敌人\n[targeting from direction]// 优先锁定当前朝向的敌人\n[targeting low physical attack]// 优先锁定最低物攻\n[targeting low physical defense]// 优先锁定最低物防\n[targeting low magical attack]// 优先锁定最低魔攻\n[targeting low magical defense]// 优先锁定最低魔防\n[targeting downed]// 优先锁定倒地的敌人\n\n#### 官方示例: monstersample.mob\n\n```pvf\n[targeting time term] 1000 // 锁定目标后经过此时间则重新设置目标 (0则不由时间重新设置)\n```\n\n怪物AI逻辑", "type": "text" }, "group": "mob" }, { "id": "mob.section.throw-attack.171q16", "match": { "extensions": [ ".mob" ] }, "target": { "kind": "section", "section": "throw attack" }, "annotation": { "title": "投掷攻击怪物时追加的内容", "content": "[throw attack] 投掷攻击配置\n包含子标签:攻击索引、粒子文件、投掷坐标、音效等\n必须用[/throw attack]闭合\n\n#### 官方示例: monstersample.mob\n\n```pvf\n[throw attack] // 投掷攻击怪物时追加的内容\n`[attack index]` 0 // 攻击索引\n`[passive object number]` 1 // 粒子文件数 需与下方[passive object filename]的文件数一致\n`[passive object filename]` `Particle/ThrowStone.ptl` // 投掷的粒子文件路径\n`[object type]` 1 // 0则为被动对象 1则为粒子\n`[passive object index]` 30001 // 投掷的对象索引\n`[power]` 0 // 魔法等级\n`[throw frame]` 2 // 决定怪物在第几帧时对象发出的标志\n`[passive object start x cood]` 20 // 投掷对象出发点 x坐标\n`[passive object start y cood]` 0 // 投掷对象出发点 y坐标\n`[passive object start z cood]` 60 // 投掷对象出发点 z坐标\n`[attack number]` 1 // 一次攻击投掷几次\n`[throw sound]` `THROW_STONE` // 投掷音效,没有时用 `` 处理\n[/throw attack]\n```\n\n#### 官方示例: newmonstersample.mob\n\n```pvf\n[throw attack] // 投掷攻击怪物时追加的内容。\n[attack index] 3 // 攻击索引。\n[passive object number] 1 // 粒子文件数,需与下方 [passive object filename] 的文件数一致。\n[passive object filename] // 投掷的粒子文件路径。\n`Particle/IceBreath1.ptl`\n[/passive object filename]\n[object type] 1 // 0则为被动对象 1则为粒子。\n[passive object index] 30413 // 投掷的对象索引。\n[power] 0 // 魔法等级。\n[throw frame] 3 // 决定怪物在第几帧时对象发出的标志。\n[passive object start x cood] 60 // 投掷对象出发点 x坐标。\n[passive object start y cood] 0 // 投掷对象出发点 y坐标。\n[passive object start z cood] 70 // 投掷对象出发点 z坐标。\n[attack number] 1 // 一次攻击投掷几次。\n[throw sound] `AMAZONES_BREATH` // 投掷音效,没有时用 `` 处理。\n[/throw attack]\n```\n\n投掷攻击怪物时追加的内容\n\n```pvf\n[throw attack] // 投掷攻击怪物时追加的内容。\n[attack index] 3 // 攻击索引。\n[passive object number] 1 // 粒子文件数,需与下方 [passive object filename] 的文件数一致。\n[passive object filename] // 投掷的粒子文件路径。\n`Particle/IceBreath1.ptl`\n[/passive object filename]\n[object type] 1 // 0则为被动对象 1则为粒子。\n[passive object index] 30413 // 投掷的对象索引。\n[power] 0 // 魔法等级。\n[throw frame] 3 // 决定怪物在第几帧时对象发出的标志。\n[passive object start x cood] 60 // 投掷对象出发点 x坐标。\n[passive object start y cood] 0 // 投掷对象出发点 y坐标。\n[passive object start z cood] 70 // 投掷对象出发点 z坐标。\n[attack number] 1 // 一次", "type": "text" }, "group": "mob" }, { "id": "mob.section.unmounting-action.cdt5u5", "match": { "extensions": [ ".mob" ] }, "target": { "kind": "section", "section": "unmounting action" }, "annotation": { "title": "下车动作 (载具专用)", "content": "[unmounting action] 下车动作(载具专用)\n.act动作文件路径\n\n#### 官方示例: newmonstersample.mob\n\n```pvf\n[unmounting action] `Action/out.act` // 下车动作 (载具专用)\n```\n\n下车动作 (载具专用)", "type": "text" }, "group": "mob" }, { "id": "mob.section.velocity-x.1i5769", "match": { "extensions": [ ".mob" ] }, "target": { "kind": "section", "section": "velocity x" }, "annotation": { "title": "被动对象控制时X轴移动速度", "content": "[velocity x] 被动对象控制时X轴移动速度\n在[control passive object]标签内使用\n\n#### 官方示例: newmonstersample.mob\n\n```pvf\n[velocity x] 200.0 // 被动对象控制时X轴移动速度。\n```\n\n被动对象控制时X轴移动速度", "type": "text" }, "group": "mob" }, { "id": "mob.section.velocity-y.1if6ry", "match": { "extensions": [ ".mob" ] }, "target": { "kind": "section", "section": "velocity y" }, "annotation": { "title": "被动对象控制时Y轴移动速度 / 若为convert y to z选项", "content": "[velocity y] 被动对象控制时Y轴移动速度\n在[control passive object]标签内使用\n若为convert y to z选项则为Z轴移动速度\n\n#### 官方示例: newmonstersample.mob\n\n```pvf\n[velocity y] 200.0 // 被动对象控制时Y轴移动速度 / 若为convert y to z选项:Z轴移动速度。\n```\n\n被动对象控制时Y轴移动速度 / 若为convert y to z选项", "type": "text" }, "group": "mob" }, { "id": "mob.section.weak.1tyo3p", "match": { "extensions": [ ".mob" ] }, "target": { "kind": "section", "section": "weak" }, "annotation": { "title": "受到2000以下伤害时额外承受30%伤害", "content": "[weak] 低伤害额外承伤\n参数:伤害阈值 额外承伤百分比\n受到阈值以下伤害时额外承受指定百分比伤害,阈值以上则不受到伤害\n\n#### 官方示例: newmonstersample.mob\n\n```pvf\n[weak] 2000 30 // 受到2000以下伤害时额外承受30%伤害。2000以上则不受到伤害。\n```\n\n受到2000以下伤害时额外承受30%伤害", "type": "text" }, "group": "mob" }, { "id": "mob.section.weapon-break-resistance.1r6l0a", "match": { "extensions": [ ".mob" ] }, "target": { "kind": "section", "section": "weapon break resistance" }, "annotation": { "title": "mkjung 120620 添加", "content": "[weapon break resistance] 武器破损抗性\n参数为最小等级和最大等级的抗性值\n\n#### 官方示例: newmonstersample.mob\n\n```pvf\n//mkjung 120620 添加\n[weapon break resistance] 0 1\n```\n\nmkjung 120620 添加\n\n官方示例:\n#### 官方示例: newmonstersample.mob\n\n#### 官方示例: equipmentsample.equ\n\n```pvf\n[weapon break resistance]\t\t\t// 武器破坏抗性\n```", "type": "text" }, "group": "mob" }, { "id": "mob.section.x-pos.w7amnd", "match": { "extensions": [ ".mob" ] }, "target": { "kind": "section", "section": "x pos" }, "annotation": { "title": "被动对象可移动区域左上角的相对X坐标(以载具为基准)", "content": "[x pos] 被动对象可移动区域左上角的相对X坐标\n在[control passive object]标签内使用,以载具为基准\n\n#### 官方示例: newmonstersample.mob\n\n```pvf\n[x pos] -100 // 被动对象可移动区域左上角的相对X坐标(以载具为基准)\n```\n\n被动对象可移动区域左上角的相对X坐标(以载具为基准)", "type": "text" }, "group": "mob" }, { "id": "mob.section.y-pos.16us2m", "match": { "extensions": [ ".mob" ] }, "target": { "kind": "section", "section": "y pos" }, "annotation": { "title": "被动对象可移动区域左上角的相对Y坐标(以载具为基准)/ 若为conver", "content": "[y pos] 被动对象可移动区域左上角的相对Y坐标\n在[control passive object]标签内使用\n若为convert y to z选项则表示为相对Z坐标\n\n#### 官方示例: newmonstersample.mob\n\n```pvf\n[y pos] -200 // 被动对象可移动区域左上角的相对Y坐标(以载具为基准)/ 若为convert y to z选项:相对Z坐标。\n```\n\n被动对象可移动区域左上角的相对Y坐标(以载具为基准)/ 若为conver", "type": "text" }, "group": "mob" }, { "id": "npc.section.click-mark.v82dtk", "match": { "extensions": [ ".npc" ] }, "target": { "kind": "section", "section": "click mark" }, "annotation": { "title": "为NPC显示点击标记的功能", "content": "为NPC显示点击标记的功能。根据条件(如任务进行中)在NPC头顶显示可点击的提示标记,可设置多个标记对应不同任务。\n\n#### 官方示例: npcsample.npc\n\n```pvf\n// 为NPC显示点击标记的功能。可以设置2个以上。\n// 第一个参数是点击标记显示的条件,其余为各条件的数据。\n// 如果条件为0号,则任务进行中显示点击标记。后面跟着的数字是任务索引。\n[click mark]\n0 1016\n0 2000\n[/click mark]\n```\n\n为NPC显示点击标记的功能", "type": "text" }, "group": "npc" }, { "id": "npc.section.move-town-confirm-str.i87r93", "match": { "extensions": [ ".npc" ] }, "target": { "kind": "section", "section": "move town confirm str" }, "annotation": { "title": "NPC区域移动前确认弹出窗口字符串", "content": "NPC区域移动前确认弹出窗口字符串。玩家通过NPC移动城镇前显示的确认提示内容,用于二次确认。\n\n#### 官方示例: npcsample.npc\n\n```pvf\n[move town confirm str] // NPC区域移动前确认弹出窗口字符串。\n\u003c8::marlene_arad_movetown_confirm\u003e // 确认窗口中显示的内容。\n```\n\nNPC区域移动前确认弹出窗口字符串", "type": "text" }, "group": "npc" }, { "id": "npc.section.move-town-limit-str.1j5n7r", "match": { "extensions": [ ".npc" ] }, "target": { "kind": "section", "section": "move town limit str" }, "annotation": { "title": "NPC区域移动限制弹出窗口字符串", "content": "NPC区域移动限制弹出窗口字符串。当玩家不满足移动条件(如等级不足)时弹出的限制提示内容。\n\n#### 官方示例: npcsample.npc\n\n```pvf\n[move town limit str] // NPC区域移动限制弹出窗口字符串。\n\u003c8::marlene_arad_movetown_limit\u003e // 弹出窗口中显示的内容。\n```\n\nNPC区域移动限制弹出窗口字符串", "type": "text" }, "group": "npc" }, { "id": "npc.section.random-message-balloon.vxda4y", "match": { "extensions": [ ".npc" ] }, "target": { "kind": "section", "section": "random message balloon" }, "annotation": { "title": "随机消息出现时显示的动画", "content": "NPC消息气泡随机显示。设置NPC随机弹出消息气泡的动画文件、出现概率和消息内容列表,用于增强NPC的生动性。\n\n#### 官方示例: npcsample.npc\n\n```pvf\n// NPC消息气泡随机显示。\n[random message balloon]\n`[random message animation]` `Animation/ChristmasSanta_Random.ani` // 随机消息出现时显示的动画。\n`[random message probability]` 20 // 随机消息出现的概率。\n`[random message list]` 3 \u003c8::random_message_1\u003e \u003c8::random_message_2\u003e \u003c8::random_message_3\u003e // 数量 消息字符串。\n[/random message balloon]\n```\n\n随机消息出现时显示的动画", "type": "text" }, "group": "npc" }, { "id": "npc.section.reward-item.94vs6l", "match": { "extensions": [ ".npc" ] }, "target": { "kind": "section", "section": "reward item" }, "annotation": { "title": "奖励物品", "content": "NPC数据中的 [reward item] 闭合块。内部继续包含子标签,具体列义由父块和相邻记录共同决定。其中数字若表示物品 ID,必须先按父块区分 equipment、stackable、avatar 等 registry,不能把裸数字直接定性。\n\n通关后得到的奖励,这里不是随机,原版是3人才可进入这个是按排名来得奖,最厉害的是第一个,最差的是最后一个得的物品", "type": "text" }, "group": "npc" }, { "id": "npc.section.visible-on-dungeon-clear.1g3fju", "match": { "extensions": [ ".npc" ] }, "target": { "kind": "section", "section": "visible on dungeon clear" }, "annotation": { "title": "在Boss房间中设置副本通关前看不见", "content": "在Boss房间中设置副本通关前看不见,然后在副本通关后显示\n\n#### 官方示例: npcsample.npc\n\n```pvf\n// 设置在首领房间中,地城通关前不可见,地城通关后才可见。\n[visible on dungeon clear] 1\n```\n\n在Boss房间中设置副本通关前看不见", "type": "text" }, "group": "npc" }, { "id": "obj.section.add-object-effect.hrbjmw", "match": { "extensions": [ ".obj" ] }, "target": { "kind": "section", "section": "add object effect" }, "annotation": { "title": "附加对象效果", "content": "附加对象效果配置块。每行包含图层文件名和附加的顺序编号。\n\n#### 官方示例: passiveobjectsample.obj\n\n```pvf\n[add object effect]\n`Ani/ZEyeBallGlow.ani` 100 // 图层文件名,附加的顺序。\n[/add object effect]\n```\n\n图层文件名", "type": "text" }, "group": "obj" }, { "id": "obj.section.apply-physics.14i4u6", "match": { "extensions": [ ".obj" ] }, "target": { "kind": "section", "section": "apply physics" }, "annotation": { "title": "应用动力学", "content": "应用动力学,刚体的牛顿值。默认值为1500N。\n\n#### 官方示例: passiveobjectsample.obj\n\n```pvf\n[apply physics] 1500 // 应用动力学,刚体的牛顿值(默认 1500N)。\n```\n\n应用动力学", "type": "text" }, "group": "obj" }, { "id": "obj.section.can-beat-index.79wztb", "match": { "extensions": [ ".obj" ] }, "target": { "kind": "section", "section": "can beat index" }, "annotation": { "title": "可攻击此对象的怪物索引", "content": "只有具有此标签内索引的怪物攻击时才会受到伤害。\n\n#### 官方示例: passiveobjectsample.obj\n\n```pvf\n[can beat index] // 只有具有此标签内索引的怪物攻击时才会受到伤害。\n65523\n61902\n[/can beat index]\n```\n\n只有具有此标签内索引的怪物攻击时才会受到伤害\n\n官方示例:\n#### 官方示例: passiveobjectsample.obj\n\n#### 官方示例: newmonstersample.mob\n\n```pvf\n[can beat index]\n61270 // 输入此标签则只有65523号怪物攻击时才受到伤害。\n61283\n61284\n61285\n[/can beat index]\n```", "type": "text" }, "group": "obj" }, { "id": "obj.section.columns.12hfjn", "match": { "extensions": [ ".obj" ] }, "target": { "kind": "section", "section": "columns" }, "annotation": { "title": "模式列数", "content": "一个周期内生成的模式单位数量。数据数量必须是列数的倍数。\n\n#### 官方示例: passiveobjectsample.obj\n\n```pvf\n[columns] 3 // -\u003e 一个周期内生成的模式单位数量。\n```\n\n\u003e 一个周期内生成的模式单位数量", "type": "text" }, "group": "obj" }, { "id": "obj.section.create-delay.tf7jqu", "match": { "extensions": [ ".obj" ] }, "target": { "kind": "section", "section": "create delay" }, "annotation": { "title": "创建延迟", "content": "被动对象生成后到粒子特效出现为止的延迟时间。\n\n#### 官方示例: passiveobjectsample.obj\n\n```pvf\n[create delay] 1000 // 被动对象生成后到粒子特效出现为止的延迟。\n```\n\n被动对象生成后到粒子特效出现为止的延迟", "type": "text" }, "group": "obj" }, { "id": "obj.section.create-sound.bnckse", "match": { "extensions": [ ".obj" ] }, "target": { "kind": "section", "section": "create sound" }, "annotation": { "title": "粒子生成时输出的声音", "content": "粒子生成时输出的声音标签。不支持循环。\n\n#### 官方示例: passiveobjectsample.obj\n\n```pvf\n[create sound] `SOUND_TAG` // 粒子生成时输出的声音(不支持循环)。\n```\n\n粒子生成时输出的声音(不支持循环)", "type": "text" }, "group": "obj" }, { "id": "obj.section.data.1o21o6", "match": { "extensions": [ ".obj" ] }, "target": { "kind": "section", "section": "data" }, "annotation": { "title": "模式数据", "content": "模式数据。0为空位,1表示要生成的被动对象。省略 data 标签时对象随机出现。数据数量必须是 columns 的倍数。\n\n#### 官方示例: passiveobjectsample.obj\n\n```pvf\n[data] // -\u003e 在此指定模式数据。0为空位,1表示要生成的被动对象。\n0 1 1 // 省略 [data] 标签时,对象随机出现。\n0 1 0 // 当[columns]值为3时,将数据每3个数字分割一次生成模式。\n1 0 1 // 因此数据数量必须是column的倍数。\n0 1 1\n1 0 1\n[/data]\n```\n\n\u003e 在此指定模式数据", "type": "text" }, "group": "obj" }, { "id": "obj.section.follow-parent.1uor5g", "match": { "extensions": [ ".obj" ] }, "target": { "kind": "section", "section": "follow parent" }, "annotation": { "title": "跟随父对象", "content": "将粒子的生成位置改为距离被动对象特定偏移位置。移动类型仅最后声明的有效。也可使用 from parent、parent、path gate、keep position 或 none 等模式。\n\n#### 官方示例: passiveobjectsample.obj\n\n```pvf\n[follow parent] 10 10 10 // 将粒子的生成位置改为距离被动对象特定位置偏移的位置。\u003c移动类型:仅最后声明的移动类型有效\u003e\n```\n\n```pvf\n[follow parent] `[from parent]` // `[path gate]` 进入门时随机位置。\n// `[parent]` 与PARENT精确重叠的位置。\n// `[from parent]` 保持与PARENT的相对位置。\n// `[keep position]` 保持坐标。\n// `[none]` 默认值。不跟随。\n```\n\n将粒子的生成位置改为距离被动对象特定位置偏移的位置", "type": "text" }, "group": "obj" }, { "id": "obj.section.init-rotation.132s2j", "match": { "extensions": [ ".obj" ] }, "target": { "kind": "section", "section": "init rotation" }, "annotation": { "title": "对象生成时的旋转角度", "content": "对象生成时的旋转角度。默认值为0。\n\n#### 官方示例: passiveobjectsample.obj\n\n```pvf\n[init rotation] 0 // 对象生成时的旋转角度(默认值 0)。\n```\n\n对象生成时的旋转角度(默认值 0)", "type": "text" }, "group": "obj" }, { "id": "obj.section.interval.1lebip", "match": { "extensions": [ ".obj" ] }, "target": { "kind": "section", "section": "interval" }, "annotation": { "title": "生成间隔", "content": "对象生成的时间周期。毫秒单位。\n\n#### 官方示例: passiveobjectsample.obj\n\n```pvf\n[interval] 500 // -\u003e 对象生成的时间周期。毫秒单位。\n```\n\n\u003e 对象生成的时间周期", "type": "text" }, "group": "obj" }, { "id": "obj.section.objects.1atu35", "match": { "extensions": [ ".obj" ] }, "target": { "kind": "section", "section": "objects" }, "annotation": { "title": "对象列表", "content": "注册要生成的对象列表。用于周期性地生成被动对象的被动对象生成器。每个对象可指定ID、索引、概率和是否显示警告标记。\n\n#### 官方示例: passiveobjectsample.obj\n\n```pvf\n// 用于周期性地生成被动对象的被动对象生成器的标签 //////////////\n// 注册要生成的对象。\n[objects]\n[object]\n[id] 1 // 用于[data]模式的ID。用此值区分模式中出现的对象。\n[index] 9974 // 要生成的对象索引。\n[probability] 0.25 // 对象生成的概率。\n[warning] `true` // 是否显示警告标记。\n[/object]\n[/objects]\n```\n\n用于周期性地生成被动对象的被动对象生成器的标签 ////////////", "type": "text" }, "group": "obj" }, { "id": "obj.section.pattern.11iuvj", "match": { "extensions": [ ".obj" ] }, "target": { "kind": "section", "section": "pattern" }, "annotation": { "title": "模式定义", "content": "可以指定模式,也可以有多个。每个模式包含名称、生成间隔、列数和数据。\n\n#### 官方示例: passiveobjectsample.obj\n\n```pvf\n[pattern] // -\u003e 可以指定模式。也可以有多个。\n[name] `A` // -\u003e 模式的唯一名称。必须是唯一的名称。\n[interval] 500 // -\u003e 对象生成的时间周期。毫秒单位。\n[columns] 3 // -\u003e 一个周期内生成的模式单位数量。\n[data] // -\u003e 在此指定模式数据。0为空位,1表示要生成的被动对象。\n0 1 1 // 省略 [data] 标签时,对象随机出现。\n0 1 0 // 当[columns]值为3时,将数据每3个数字分割一次生成模式。\n1 0 1 // 因此数据数量必须是column的倍数。\n0 1 1\n1 0 1\n[/data]\n[/pattern] // -\u003e 至此为一个模式。\n```\n\n```pvf\n[pattern] `A` 3000 [/pattern] // 第一个参数是模式名称,必须是上面[patterns]标签中指定的名称。\n```\n\n```pvf\n[pattern] `B` 3000 [/pattern] // 第二个参数是模式持续的时间,毫秒单位。\n```\n\n```pvf\n[pattern] `A` 3000 [/pattern] // 示例中,模式以 A-B-A-A-B-R-A 的顺序每3秒变化一次。\n```\n\n```pvf\n[pattern] `A` 3000 [/pattern] // 模式全部结束后,再从开始重复。\n```\n\n\u003e 可以指定模式\n\n官方示例:\n#### 官方示例: passiveobjectsample.obj\n\n```pvf\n\n#### 官方示例: actionsample.act\n\n```pvf\n[PATTERN] INDEX // 执行 mob 文件中注册的模式索引\n```\n\n```pvf\n[PATTERN] [RIGHT] 1000 0 // 指令模式方向,输入等待时间,对象的帧号\n```\n\n#### 官方示例: newmonstersample.mob\n\n```pvf\n[pattern] //pattern 索引 0号 // 将动作列表的索引模式化。冷却时间使用相应动作的冷却时间。\n1\n2\n3\n[/pattern]\n```\n\n```pvf\n[pattern] //pattern 索引的 1号\n2\n3\n4\n[/pattern]\n```", "type": "text" }, "group": "obj" }, { "id": "obj.section.patterns.hhn8oe", "match": { "extensions": [ ".obj" ] }, "target": { "kind": "section", "section": "patterns" }, "annotation": { "title": "模式集", "content": "按类别记录模式。每个模式包含名称、生成间隔、列数和数据。模式的唯一名称在 sequences 中被引用。\n\n#### 官方示例: passiveobjectsample.obj\n\n```pvf\n// 在[patterns]中按类别记录模式,在[sequences]中指定这些模式出现的顺序。\n[patterns]\n[pattern] // -\u003e 可以指定模式。也可以有多个。\n[name] `A` // -\u003e 模式的唯一名称。必须是唯一的名称。\n[interval] 500 // -\u003e 对象生成的时间周期。毫秒单位。\n[columns] 3 // -\u003e 一个周期内生成的模式单位数量。\n[data] // -\u003e 在此指定模式数据。0为空位,1表示要生成的被动对象。\n0 1 1 // 省略 [data] 标签时,对象随机出现。\n0 1 0 // 当[columns]值为3时,将数据每3个数字分割一次生成模式。\n1 0 1 // 因此数据数量必须是column的倍数。\n0 1 1\n1 0 1\n[/data]\n[/pattern] // -\u003e 至此为一个模式。\n[/patterns]\n```\n\n在[patterns]中按类别记录模式", "type": "text" }, "group": "obj" }, { "id": "obj.section.piercing-tolerance.fs48wl", "match": { "extensions": [ ".obj" ] }, "target": { "kind": "section", "section": "piercing tolerance" }, "annotation": { "title": "穿透抗性", "content": "穿透抗性。数值表示对穿透攻击的抵抗能力。\n\n#### 官方示例: passiveobjectsample.obj\n\n```pvf\n[piercing tolerance] 1 // 穿透抗性。\n```\n\n穿透抗性", "type": "text" }, "group": "obj" }, { "id": "obj.section.pvp-room-transparent-value-for-observer.pwner2", "match": { "extensions": [ ".obj" ] }, "target": { "kind": "section", "section": "pvp room transparent value for observer" }, "annotation": { "title": "PVP房间观察者透明值", "content": "若有此标签,则对象仅对观察者以此值透明显示。\n\n#### 官方示例: passiveobjectsample.obj\n\n```pvf\n[pvp room transparent value for observer] 100 // 若有此标签,则对象仅对观察者以此值透明显示。\n```\n\n若有此标签", "type": "text" }, "group": "obj" }, { "id": "obj.section.sequences.1xclzl", "match": { "extensions": [ ".obj" ] }, "target": { "kind": "section", "section": "sequences" }, "annotation": { "title": "模式序列", "content": "按顺序放出上面指定的模式。每个模式条目包含模式名称和持续时间(毫秒)。模式全部结束后再从开始重复。\n\n#### 官方示例: passiveobjectsample.obj\n\n```pvf\n[sequences] // -\u003e 按顺序放出上面指定的模式。\n[pattern] `A` 3000 [/pattern] // 第一个参数是模式名称,必须是上面[patterns]标签中指定的名称。\n[pattern] `B` 3000 [/pattern] // 第二个参数是模式持续的时间,毫秒单位。\n[pattern] `A` 3000 [/pattern] // 示例中,模式以 A-B-A-A-B-R-A 的顺序每3秒变化一次。\n[pattern] `A` 3000 [/pattern] // 模式全部结束后,再从开始重复。\n[pattern] `B` 3000 [/pattern]\n[pattern] `R` 3000 [/pattern]\n[pattern] `A` 3000 [/pattern]\n[/sequences]\n```\n\n\u003e 按顺序放出上面指定的模式", "type": "text" }, "group": "obj" }, { "id": "obj.section.skill-passive-object.1mybso", "match": { "extensions": [ ".obj" ] }, "target": { "kind": "section", "section": "skill passive object" }, "annotation": { "title": "技能被动对象", "type": "text" }, "group": "obj" }, { "id": "obj.section.speed-control-passive-objects.7g5je4", "match": { "extensions": [ ".obj" ] }, "target": { "kind": "section", "section": "speed control passive objects" }, "annotation": { "title": "速度控制被动对象", "content": "恶灵之云用速度控制被动对象。可注册多个被动对象,顺序无关。恶灵之云的 int data 中的速度增加键和速度减少键对象索引必须都为-1,此标签才生效。\n\n#### 官方示例: passiveobjectsample.obj\n\n```pvf\n// 恶灵之云用速度控制被动对象(可注册多个[passive object],顺序无关)。\n// 恶灵之云的[int data]中的速度增加键对象索引(第4个)、速度减少键对象索引(第6个)必须都为-1,此标签才生效。\n[speed control passive objects]\n[passive object]\n[index] 9165 // 控制速度的对象索引。\n[speed] `[up]` // 速度增加。\n[/passive object]\n[passive object]\n[index] 51332 // 控制速度的对象索引。\n[speed] `[down]` // 速度减少。\n[/passive object]\n[/speed control passive objects]\n```\n\n恶灵之云用速度控制被动对象(可注册多个[passive object]", "type": "text" }, "group": "obj" }, { "id": "obj.section.sync-animation-rotation.uy42j6", "match": { "extensions": [ ".obj" ] }, "target": { "kind": "section", "section": "sync animation rotation" }, "annotation": { "title": "是否根据移动方向对齐动画", "content": "是否根据移动方向对齐动画。默认值为0。1为对齐。\n\n#### 官方示例: passiveobjectsample.obj\n\n```pvf\n[sync animation rotation] 1 // 是否根据移动方向对齐动画(默认值 0)。\n```\n\n是否根据移动方向对齐动画(默认值 0)", "type": "text" }, "group": "obj" }, { "id": "obj.section.trap.qrxmgy", "match": { "extensions": [ ".obj" ] }, "target": { "kind": "section", "section": "trap" }, "annotation": { "title": "是否为陷阱", "content": "是否为陷阱。为1则必须破坏才能通关。\n\n#### 官方示例: passiveobjectsample.obj\n\n```pvf\n[trap] 1 // 是否为陷阱。为1则必须破坏才能通关。\n```\n\n是否为陷阱", "type": "text" }, "group": "obj" }, { "id": "obj.section.warning.xlxbsf", "match": { "extensions": [ ".obj" ] }, "target": { "kind": "section", "section": "warning" }, "annotation": { "title": "是否显示警告标记", "content": "是否显示警告标记。true 或 false。也可配置最小距离和最大距离的警告范围。\n\n#### 官方示例: passiveobjectsample.obj\n\n```pvf\n[warning]\n[min distance] 0 0 500\n[max distance] 0 0 1500\n[/warning]\n```\n\n是否显示警告标记\n\n- 是否显示警告标记。", "type": "text" }, "group": "obj" }, { "id": "ora.section.event.1yj1fo", "match": { "extensions": [ ".ora" ] }, "target": { "kind": "section", "section": "event" }, "annotation": { "title": "事件条件 (内部实现保留)", "content": "#### 官方示例: aurasample.ora\n\n```pvf\n[event] //1//\n `appendage` 2455 //*// 要触发的事件,1 个以上即可\n `appendage` 2456 //*// 第一个参数在 `appendage`, `passive object`, `aura` 中选择1个\n `aura` 1000 //*// 第二个参数是脚本化的索引号\n `passive object 5121 //*// 例如,此行的内容是生成 5121 号被动对象\n[/event]\n```\n\n任务里代表活动,置顶此任务\n\n#### 官方示例: questsample.qst\n\n```pvf\n[event] 1 // 是否为活动任务。值为1时,拥有任务标记暴露的最高优先级,并变为活动任务标记。\n```\n\n```pvf\n[think] [event] == 8 // 地图开始时。\n```", "type": "text" }, "group": "ora" }, { "id": "ptl.section.attack-bonus-rate.1hpgg2", "match": { "extensions": [ ".ptl" ] }, "target": { "kind": "section", "section": "attack bonus rate" }, "annotation": { "title": "攻击额外奖励比率", "content": "粒子数据中的 [attack bonus rate] 字段。已见数据形态为单值或数值序列;列数、单位和取值刻度不能只凭字段名推断。比率或随机刻度不能自动按百分数解释,静态权重也不等于最终实机概率。\n\n攻击奖金率", "type": "text" }, "group": "ptl" }, { "id": "ptl.section.keep-changing.px2f8r", "match": { "extensions": [ ".ptl" ] }, "target": { "kind": "section", "section": "keep changing" }, "annotation": { "title": "持续变化", "content": "持续变化:用于 [changing type] 中指定变化类型为从初始值持续变化到最终值\n#### 官方示例: particlesample.ptl\n\n```pvf\n[changing type] `[keep changing]` // 初始值和最终值之间的移动类型。可选择 `[keep changing]` `[keep last value]` `[ping pong]` 之一。\n```\n\n变化", "type": "text" }, "group": "ptl" }, { "id": "ptl.section.start-sound.1qzhf4", "match": { "extensions": [ ".ptl" ] }, "target": { "kind": "section", "section": "start sound" }, "annotation": { "title": "开始音效", "content": "粒子数据中的 [start sound] 字段。已见数据形态为一个或多个反引号字符串/token;字符串内容应按数据处理。资源路径或名称只说明客户端资源引用;是否存在、能加载及表现正确需另行检查 ImagePacks2/NPK 或目标资源。\n\n开始声音", "type": "text" }, "group": "ptl" }, { "id": "ptl.section.straight-line.1b20qd", "match": { "extensions": [ ".ptl" ] }, "target": { "kind": "section", "section": "straight line" }, "annotation": { "title": "直线移动", "content": "直线移动:用于 [move type] 中指定移动类型为匀速直线运动,粒子沿轴做直线移动\n#### 官方示例: particlesample.ptl\n\n```pvf\n[move type] `[straight line]` // 移动类型。可选择 `[stop]` `[straight line]` `[sin]` `[cos]` 之一。\n```\n\n直线", "type": "text" }, "group": "ptl" }, { "id": "ptl.section.vanish.1wfqoy", "match": { "extensions": [ ".ptl" ] }, "target": { "kind": "section", "section": "vanish" }, "annotation": { "title": "落地消失", "content": "落地消失:用于 [landing type] 中指定粒子接触地面时直接消失\n#### 官方示例: particlesample.ptl\n\n```pvf\n[landing type] `[vanish]` // 接触地面时的处理。可选择 `[pierce]` `[slide]` `[stop]` `[vanish]` 之一。\n```\n\n消失", "type": "text" }, "group": "ptl" }, { "id": "qst.section.appear-map.14udp7", "match": { "extensions": [ ".qst" ] }, "target": { "kind": "section", "section": "appear map" }, "annotation": { "title": "任务执行期间出现的地图", "content": "任务执行期间额外出现的地图/房间。格式:地城索引, 地城难度(-1不限), 地图索引, 出现概率(%)。若无需特殊地图则删除此项。\n\n#### 官方示例: questsample.qst\n\n```pvf\n[appear map] 1 0 501 50 // 任务执行期间出现的地图。\n// 地城索引,地城难度(若无关则为-1)地图索引,出现概率(%)。若无则删除此项或全部设为-1。\n```\n\n任务执行期间出现的地图", "type": "text" }, "group": "qst" }, { "id": "qst.section.belong-to-winning-power.1ijwb8", "match": { "extensions": [ ".qst" ] }, "target": { "kind": "section", "section": "belong to winning power" }, "annotation": { "title": "势力战胜负归属", "content": "任务与势力战胜负的关系。\n-1: 与获胜势力所属无关而出现的任务,0: 仅对获胜势力出现的任务,1: 仅对失败势力出现的任务。\n用于势力战相关的任务系统。\n\n#### 官方示例: questsample.qst\n\n```pvf\n[belong to winning power] a(常数) // -1 : 与获胜势力所属无关而出现的任务,0 : 仅对获胜势力出现的任务,1:仅对失败势力出现的任务。\n```\n\n1", "type": "text" }, "group": "qst" }, { "id": "qst.section.cant-giveup.yk7ajp", "match": { "extensions": [ ".qst" ] }, "target": { "kind": "section", "section": "cant giveup" }, "annotation": { "title": "任务放弃限制", "content": "控制任务是否可以放弃。0: 完成后可放弃(默认值),1: 完成后不可放弃且在地城中也不可放弃(队伍中不出现放弃按钮),2: 队伍成员也可放弃。\n\n#### 官方示例: questsample.qst\n\n```pvf\n[cant giveup] 1 // 0: 完成后可放弃(默认,无此标签时也始终为0),1:完成后不可放弃,并且在地城中也不可放弃(队伍中不出现) 2:队伍也可。\n```\n\n0", "type": "text" }, "group": "qst" }, { "id": "qst.section.change-dungeon-info-message.1d95qq", "match": { "extensions": [ ".qst" ] }, "target": { "kind": "section", "section": "change dungeon info message" }, "annotation": { "title": "任务提示文本(悬停弹出)", "content": "指定鼠标悬停在任务上时弹出的自定义提示文本。用于向玩家提供额外的任务说明。\n\n#### 官方示例: questsample.qst\n\n```pvf\n[change dungeon info message] `请在此输入信息` // 可以指定鼠标悬停在任务上时弹出的提示文本。\n```\n\n可以指定鼠标悬停在任务上时弹出的提示文本", "type": "text" }, "group": "qst" }, { "id": "qst.section.clear-reward-item.8vx2i4", "match": { "extensions": [ ".qst" ] }, "target": { "kind": "section", "section": "clear reward item" }, "annotation": { "title": "通关时获得物品", "content": "任务执行期间,通关指定地下城时掉落的奖励物品。\n6个数值为一组数据:副本编号, 副本难度, 物品编号, 最大数量, 出现概率(%), 最大拥有数量(-1表示无限制)。\n如果副本难度为-1,则表示所有难度。0:EASY 1:NORMAL 2:HARD 3:VERYHARD\n\n#### 官方示例: questsample.qst\n\n```pvf\n[clear reward item] // 任务执行期间出现的地城通关奖励物品。\n1 0 1002 3 17 -1 // 地城索引,地城难度,物品索引,最大物品数,出现概率(%),最大持有数(-1则为无限)。\n2 0 1003 2 100 30 // 地城难度若为-1则所有难度,0:EASY 1:NORMAL 2:HARD 3:VERYHARD。\n[/clear reward item]\n```\n\n通关时获得物品\n* 6 个数值为一组数据。\n1 0 1002 3 17 -1\t\t// 副本编号, 副本难度, 物品编号,最大数量,出现概率 (%), 最大拥有数量(如果为-1,则表示无限制)\n2 0 1003 2 100 30\t\t// 如果副本难度为-1,则表示所有难度, 0:EASY 1:NORMAL 2:HARD 3:VERYHARD 普通,冒险,勇士,王者", "type": "text" }, "group": "qst" }, { "id": "qst.section.collision-quest.urjdol", "match": { "extensions": [ ".qst" ] }, "target": { "kind": "section", "section": "collision quest" }, "annotation": { "title": "冲突任务", "content": "接受此任务时,不能已完成或已接受的冲突任务索引列表(或关系)。\n用于实现互斥任务——接受了A任务就不能接受B任务。\n\n#### 官方示例: questsample.qst\n\n```pvf\n[collision quest] // 接受此任务时,不能已完成或已接受的任务索引列表(或关系)。\n2\n3\n[/collision quest]\n```\n\n冲突任务\n\n[collision quest]冲突任务\n魔法师跟魔法师", "type": "text" }, "group": "qst" }, { "id": "qst.section.complete-npc-index.1u565x", "match": { "extensions": [ ".qst" ] }, "target": { "kind": "section", "section": "complete npc index" }, "annotation": { "title": "完成 NPC", "content": "完成任务的 NPC。填写 NPC 的 ID,当 -1 时等于没有指定(默认与接取NPC相同)。\n\n#### 官方示例: questsample.qst\n\n```pvf\n[complete npc index] 0 // 完成任务给的NPC索引。若为-1或未指定,则与[npc index]相同。\n```\n\n完成 NPC\n\n完成任务的 NPC。\n\n* 填写 NPC 的 ID,当 -1 时等于没有。", "type": "text" }, "group": "qst" }, { "id": "qst.section.condition-data.hoyqfe", "match": { "extensions": [ ".qst" ] }, "target": { "kind": "section", "section": "condition data" }, "annotation": { "title": "条件数据格式化文本", "content": "自定义任务的条件显示文本。使用1以上的正数作为索引时,使用 [int data] 中写的单位。\n使用0~负数时,则使用 [check count] 标签内的数量。格式:索引 `文本模板 %d/%d 单位`。\n例如:`某个物品 %d/%d 个` 会在任务界面中显示为「某个物品 3/10 个」。\n\n#### 官方示例: questsample.qst\n\n```pvf\n// 使用1以上的正数作为索引时,使用int data中写的单位。\n// 使用0~负数时,则使用[check count]标签内的数量。\n[condition data]\n1 `某个物品 %d/%d 个`\n2 `另一个物品 %d/%d 个`\n[/condition data]\n```\n\n使用1以上的正数作为索引时", "type": "text" }, "group": "qst" }, { "id": "qst.section.condition-message.8b1boh", "match": { "extensions": [ ".qst" ] }, "target": { "kind": "section", "section": "condition message" }, "annotation": { "title": "详细条件消息", "content": "任务进行中显示在任务栏的详细条件提示文本。通过 \u003c11::condition_message_xxxx\u003e 引用 quest.str。\n配合 [job message] 可实现按职业显示不同的条件说明。\n\n#### 官方示例: questsample.qst\n\n```pvf\n// 设置[job message]时,鬼剑士语句在\u003c11:depend_message_6570_0\u003e,格斗家语句在\u003c11:depend_message_6570_1\u003e,枪手语句在\u003c11:depend_message_6570_2\u003e,...\n// 若无对应职业的语句,则使用默认语句\u003c11:depend_message_6570\u003e。\n[condition message] // 详细条件消息。\n\u003c11::condition_message_6575\u003e\n// 设置[job message]时,鬼剑士语句在\u003c11:condition_message_6575_0\u003e,格斗家语句在\u003c11:condition_message_6575_1\u003e,枪手语句在\u003c11:condition_message_6575_2\u003e,...\n// 若无对应职业的语句,则使用默认语句\u003c11:condition_message_6575\u003e。\n```\n\n详细条件消息", "type": "text" }, "group": "qst" }, { "id": "qst.section.creature-kind.t7fku2", "match": { "extensions": [ ".qst" ] }, "target": { "kind": "section", "section": "creature kind" }, "annotation": { "title": "宠物种类条件", "content": "宠物相关任务条件中的种类枚举值,通常与相邻 [creature level] 一起使用。它不是 creature registry 的宠物 ID;枚举到宠物类型的映射需按任务系统版本验证。\n\n生物种类", "type": "text" }, "group": "qst" }, { "id": "qst.section.creature-level.12221s", "match": { "extensions": [ ".qst" ] }, "target": { "kind": "section", "section": "creature level" }, "annotation": { "title": "宠物等级条件", "content": "宠物相关任务条件要求的等级数值,通常与 [creature kind] 配对。该静态条件不证明任务进度检查或宠物进化流程在服务端可用。\n\n生物水平", "type": "text" }, "group": "qst" }, { "id": "qst.section.depend-give-item.1nyu99", "match": { "extensions": [ ".qst" ] }, "target": { "kind": "section", "section": "depend give item" }, "annotation": { "title": "接取任务时给予的物品", "content": "玩家接取(接受委托)此任务时立即给予的物品。格式:物品索引 + 物品数量。例如:给玩家一个任务道具或信件。\n\n#### 官方示例: questsample.qst\n\n```pvf\n// 地城索引,地城难度(若无关则为-1)地图索引,出现概率(%)。若无则删除此项或全部设为-1。\n[depend give item] // 委托时给予的物品。\n3 1 // 物品索引,物品数量。\n1002 3\n[/depend give item]\n```\n\n委托时给予的物品", "type": "text" }, "group": "qst" }, { "id": "qst.section.depend-message.15m03k", "match": { "extensions": [ ".qst" ] }, "target": { "kind": "section", "section": "depend message" }, "annotation": { "title": "接受任务时的对话", "content": "接受任务时显示的对话文本。\n文本通过 \u003c11::depend_message_xxxx\u003e 引用 quest.str 中的本地化字符串。\n配合 [job message] 可实现按职业使用不同的对话语句。\n\n#### 官方示例: questsample.qst\n\n```pvf\n// 设置[job message]时,鬼剑士语句在\u003c11:name_6565_0\u003e,格斗家语句在\u003c11:name_6565_1\u003e,枪手语句在\u003c11:name_6565_2\u003e,...\n// 若无对应职业的语句,则使用默认语句\u003c11:name_6565\u003e。\n[depend message] // 接受委托时的消息。\n\u003c11::depend_message_6570\u003e\n// 设置[job message]时,鬼剑士语句在\u003c11:depend_message_6570_0\u003e,格斗家语句在\u003c11:depend_message_6570_1\u003e,枪手语句在\u003c11:depend_message_6570_2\u003e,...\n// 若无对应职业的语句,则使用默认语句\u003c11:depend_message_6570\u003e。\n```\n\n接受任务时的对话\n\n接受任务时的对话。", "type": "text" }, "group": "qst" }, { "id": "qst.section.difficulty.2q0bn4", "match": { "extensions": [ ".qst" ] }, "target": { "kind": "section", "section": "difficulty" }, "annotation": { "title": "任务奖励难度", "content": "任务的奖励难度等级。输入的字符常数在 quest/questparameter.etc 文件中定义(如 `S`, `A`, `B` 等)。\n此标签完成时影响经验值奖励的计算。\n\n#### 官方示例: questsample.qst\n\n```pvf\n// 以下为新标签(08年04月)。\n[difficulty] `S` // 任务的奖励难度。输入的字符常数在quest/`questparameter.etc`文件中定义。\n// 本任务完成时影响经验值奖励。\n```\n\n任务的奖励难度\n\n官方示例:\n#### 官方示例: questsample.qst\n\n在任务(*.qst)中,设置难度级别参数。\n* 详情参考路径 : { n_quest/questparameter.etc }\n————————\u003c分割线\u003e————————\n该词条位于 : { etc/hellparty.etc }的路径里时,代表:\n\n第1竖排 : [深渊难度] : 传奇、英雄、王者、勇士、冒险\n //对应地下城难度:英雄、王者、勇士、冒险、普通\n\n第2竖排 : 各个难度下击杀深渊房最终怪物时,所掉落[装备]数量\n\n第3竖排 : 各个难度下击杀深渊房最终怪物时,所掉落[道具]数量\n `(可能是,等后续测试完成会重新追加注释)`\n\n第4竖排 : 各个难度下击杀深渊房最终怪物时,\n 对掉落[更好品质装备]的{概率}或{权重}的增幅\n `(可能是,等后续测试完成会重新追加注释)`\n\n第5竖排 : 同4\n\n第6竖排 : (等待后续测试以追加标签注释)\n\n`最后编辑时间 : 2026/3/18`\n\n#### 官方示例: questparameter.etc\n\n```pvf\n// difficulty 奖励权重 (百分比)\n[difficulty]\n`S`\t300\n`A`\t250\n`B`\t200\n`C`\t150\n`M`\t100\n[/difficulty]\n```", "type": "text" }, "group": "qst" }, { "id": "qst.section.dungeon-info.rsbr03", "match": { "extensions": [ ".qst" ] }, "target": { "kind": "section", "section": "dungeon info" }, "annotation": { "title": "任务副本的目的地", "content": "任务窗口中显示的副本目的地信息,也可用于显示副本难度要求(副本入口中的任务闪烁)。\n按地城索引和难度顺序输入,难度为-1则不显示难度。\n当 [type] 为 `[clear map]` 时必须输入。\n当条件为 `[meet npc]` 且后续任务需要进入地下城时也建议输入。\n\n#### 官方示例: questsample.qst\n\n```pvf\n// 地城信息。\n[dungeon info] // 任务窗口中显示的地城目的地。也用作地城排序的依据。基本上参考seeking, condition under clear, hunt monster等的信息,因此大多数任务无需输入。\n38 3 // 但,条件是clear map的情况下必须输入,seeking的情况下若判断需要也输入。可复数输入。(会复数显示)。\n29 2 // 按地城索引,难度顺序输入。难度为-1则不显示难度。(-1,0,1,2,3,4顺序)地城索引参考dungeon文件夹内的dungeon.lst。\n[/dungeon info] // 条件是meet npc的情况下,若后续任务要去地城,则meet npc的情况也输入地城信息。(例:洛兰\u003e赛丽亚\u003e格兰之森顺序,则在洛兰、赛丽亚任务中输入格兰之森地城信息)。\n```\n\n任务副本的目的地\n\n任务副本的目的地,也可用于显示副本难度要求(即副本入口中的任务闪烁)。\n* 此项非必要;如果 [type] 是 `[clear map]` 时,必须要加入。\n//如果条件为`[meet npc]`,且在后面的任务中进入地下城副本,那么在`[meet npc]`中也应该输入地下城信息(例如:任务以罗莉安\u003e赛利亚\u003e幽暗密林 顺序的话, 那么请在罗莉安,赛利亚的任务中输入幽暗密林地下城", "type": "text" }, "group": "qst" }, { "id": "qst.section.effect-after-clear-quest.thug1l", "match": { "extensions": [ ".qst" ] }, "target": { "kind": "section", "section": "effect after clear quest" }, "annotation": { "title": "任务完成后的持续影响", "content": "任务完成后是否对游戏世界有持续影响。1:有影响, 0:无影响。例如某些任务完成后会改变城镇NPC的可见性等。\n\n#### 官方示例: questsample.qst\n\n```pvf\n// 任务带来的影响。\n[effect after clear quest] 0 // 任务完成后是否对之后有影响。(1:有, 0:无)。\n```\n\n任务完成后是否对之后有影响", "type": "text" }, "group": "qst" }, { "id": "qst.section.enemy-reward-item.tuqn01", "match": { "extensions": [ ".qst" ] }, "target": { "kind": "section", "section": "enemy reward item" }, "annotation": { "title": "任务执行期间击杀敌人掉落", "content": "在任务执行状态下杀死敌人(怪物,APC)时掉落的物品。\n8个数据为一组:怪物编号, 敌人类型(1:怪物,2:APC,3:obj对象), 副本编号(-1不指定), 副本难度(-1不指定), 物品编号, 每次获得数量, 出现概率(%), 获得上限(-1无上限)。\n与[monster reward item]不同的是,该标签可指明敌人类型。\n\n#### 官方示例: questsample.qst\n\n```pvf\n[enemy reward item] // 任务执行状态下杀死敌人(怪物、APC)时出现的任务物品。\n50 1 1 0 10001 2 30 3 // 敌人索引,敌人类型(1:怪物, 2: APC, 3:obj(未实现)),地城索引(若无关则为-1),地城难度(若无关则为-1),物品索引,\n51 1 2 0 10002 3 30 6 // 最大物品数,出现概率(%),最大持有数(-1则为无限)。\n[/enemy reward item]\n```\n\n在任务执行的状态下(怪物,APC) 杀死时出现的任务道具,与[monster reward item]不同的是,该标签可指明敌人类型,八个数据为一组\n\n怪物编号,\n敌人类型(1:怪物,2:APC,3:obj对象()),\n副本编号 (如果不指定副本则该值为 -1),\n副本难度 (如果不指定难度则该值为 -1),\n物品编号\n每次获得数量,\n出现概率 (%),\n获得上限 (如果为-1则无上限)", "type": "text" }, "group": "qst" }, { "id": "qst.section.event.1yj1fo", "match": { "extensions": [ ".qst" ] }, "target": { "kind": "section", "section": "event" }, "annotation": { "title": "活动任务", "content": "是否为活动任务标记。值为1时,拥有任务标记暴露的最高优先级,并变为活动任务标记,置顶此任务。\n\n#### 官方示例: questsample.qst\n\n```pvf\n[event] 1 // 是否为活动任务。值为1时,拥有任务标记暴露的最高优先级,并变为活动任务标记。\n```\n\n```pvf\n[think] [event] == 8 // 地图开始时。\n```\n\n任务里代表活动\n\n任务里代表活动,置顶此任务\n\n官方示例:\n#### 官方示例: questsample.qst\n\n#### 官方示例: aurasample.ora\n\n```pvf\n[event] //1//\n `appendage` 2455 //*// 要触发的事件,1 个以上即可\n `appendage` 2456 //*// 第一个参数在 `appendage`, `passive object`, `aura` 中选择1个\n `aura` 1000 //*// 第二个参数是脚本化的索引号\n `passive object 5121 //*// 例如,此行的内容是生成 5121 号被动对象\n[/event]\n```", "type": "text" }, "group": "qst" }, { "id": "qst.section.exception-filter.17rp0u", "match": { "extensions": [ ".qst" ] }, "target": { "kind": "section", "section": "exception filter" }, "annotation": { "title": "异常过滤器", "type": "text" }, "group": "qst" }, { "id": "qst.section.exception-quest.1u9p8e", "match": { "extensions": [ ".qst" ] }, "target": { "kind": "section", "section": "exception quest" }, "annotation": { "title": "例外任务列表", "content": "任务数据中的 [exception quest] 闭合块。已见数据形态为一个或多个反引号字符串/token;字符串内容应按数据处理。其中数字若表示任务 ID,必须通过任务 registry 解析;静态登记不证明任务可接取或完成。\n\nexception quest\n\n例外的追求", "type": "text" }, "group": "qst" }, { "id": "qst.section.exposed-by-npc.1omejq", "match": { "extensions": [ ".qst" ] }, "target": { "kind": "section", "section": "exposed by npc" }, "annotation": { "title": "是否在NPC任务界面显示", "content": "是否显示在NPC的任务界面。0 = 不显示,1 = 显示。\n添加此标签并赋予0时,即便NPC有此任务也无法在游戏内接取。默认为1。\n\n#### 官方示例: questsample.qst\n\n```pvf\n[exposed by npc] 0 // 是否由NPC暴露。1: 暴露, 0 : 不暴露,默认为1(若没有则取默认值)。\n```\n\n是否显示在NPC的任务界面\n\n0 = 不显示\n1 = 显示\n\n添加此标签并赋予0时,即便NPC有此任务也无法在游戏内接取", "type": "text" }, "group": "qst" }, { "id": "qst.section.first-condition-message.1hj1tb", "match": { "extensions": [ ".qst" ] }, "target": { "kind": "section", "section": "first condition message" }, "annotation": { "title": "第一服务器时的条件消息", "content": "第一服务器时:任务详细条件消息,格式与普通 [condition message] 相同。仅在特定服务器配置下生效。\n\n#### 官方示例: questsample.qst\n\n```pvf\n[first condition message] // 第一服务器时:详细条件消息。\n\u003c11::condition_message_6575\u003e\n```\n\n第一服务器时", "type": "text" }, "group": "qst" }, { "id": "qst.section.first-exposed-by-npc.14psuu", "match": { "extensions": [ ".qst" ] }, "target": { "kind": "section", "section": "first exposed by npc" }, "annotation": { "title": "第一服务器时NPC曝光", "content": "第一服务器时:是否由NPC暴露。1: 暴露, 0: 不暴露,默认为1。仅在第一服务器环境下生效。\n\n#### 官方示例: questsample.qst\n\n```pvf\n[first exposed by npc] 0 // 第一服务器时:是否由NPC暴露。1: 暴露, 0 : 不暴露,默认为1(若没有则取默认值)。\n```\n\n首先由NPC曝光", "type": "text" }, "group": "qst" }, { "id": "qst.section.first-int-data.z51mos", "match": { "extensions": [ ".qst" ] }, "target": { "kind": "section", "section": "first int data" }, "annotation": { "title": "第一服务器时的整数数据", "content": "第一服务器时:任务的整数数据,格式与普通 [int data] 相同。仅在特定服务器配置下生效。\n\n#### 官方示例: questsample.qst\n\n```pvf\n[first int data] // 第一服务器时:整数资料。用法参考最底部的注释。\n38 3\n29 2\n[/first int data] // 闭合。\n```\n\n第一服务器时", "type": "text" }, "group": "qst" }, { "id": "qst.section.gold-multiple.14w4kj", "match": { "extensions": [ ".qst" ] }, "target": { "kind": "section", "section": "gold multiple" }, "annotation": { "title": "任务金币奖励倍数", "content": "任务金币奖励倍数(百分比数值)。仅在 [reward int data] 中有金币代码0时才生效。\n实际奖励金额 = 等级奖励基数 * 任务难度 * 金币奖励倍数。\n等级奖励基数由 [ignore quest level 4 exp] 来控制(是跟随角色等级还是任务等级)。\n\n#### 官方示例: questsample.qst\n\n```pvf\n// 本任务完成时影响经验值奖励。\n[gold multiple] 50 // 任务金币奖励倍数(百分比)。仅在[reward int data]中有金币索引0时才生效,\n// (按级别金币奖励基本表)*(任务奖励难度)*(任务金币奖励倍数)的结果为最终金币奖励值。\n```\n\n任务金币奖励倍数\n\n* 在 [reward int data] 或[reward selection int data]奖励中, 有金币代码0才会生效。\n\n* 实际奖励金额 = 等级奖励基数 * 任务难度 * 金币奖励倍数\n\n* 等级奖励基数由 [ignore quest level 4 exp] 来决定是取决于角色等级还是任务等级,该标签不存在或为 0 时,按任务等级。\n\n* 任务难度由 [difficulty] 决定。\n\n* 等", "type": "text" }, "group": "qst" }, { "id": "qst.section.grow-number.17csex", "match": { "extensions": [ ".qst" ] }, "target": { "kind": "section", "section": "grow number" }, "annotation": { "title": "转职编号", "content": "用于播放转职影片的编号。仅添加到转职的第一个任务中。与ENUM_GROW_TYPE顺序相同,从0开始。\n例如:剑魂0, 鬼泣1, 狂战2, 阿修罗3;气功0, 散打1, 街霸2, 柔道3。\n\n#### 官方示例: questsample.qst\n\n```pvf\n//用于播放影片的转职编号。仅添加到转职的第一个任务中。\n//与ENUM_GROW_TYPE的顺序相同,从0开始。\n// 例) 剑魂 0, 鬼泣 1, 狂战 2, 阿修罗 3 气功 0, 散打 1, 街霸 2, 柔道 3。\n[grow number] 0\n```\n\n转职类型(0到3)", "type": "text" }, "group": "qst" }, { "id": "qst.section.grow-type.1s1nd4", "match": { "extensions": [ ".qst" ] }, "target": { "kind": "section", "section": "grow type" }, "annotation": { "title": "可行的成长类型", "content": "可行的成长类型限制。填写具体的成长类型编号,无限制则为-1。用于限制只有特定转职的角色才能接取此任务。\n\n#### 官方示例: questsample.qst\n\n```pvf\n[grow type] -1 // 可行的成长类型。无限制则为-1。\n```\n\n可行的成长类型\n\n官方示例:\n#### 官方示例: questsample.qst\n\n#### 官方示例: debugconfig\n\n```pvf\n[grow type] 4 // 测试角色的成长类型。0~4(0为基本)\n// 鬼剑士 - 0.鬼剑士,1.剑魂,2.鬼泣,3.狂战士,4.阿修罗\n// 格斗家 - 0.格斗家\n// 枪手 - 0.枪手,1.漫游枪手,2.\n// 魔法师 - 0.魔法师,1.元素师,2.召唤师,3.战斗法师\n// 圣职者 - 0.圣职者,1.圣骑士,\n```", "type": "text" }, "group": "qst" }, { "id": "qst.section.ignore-quest-level-4-exp.nouw2w", "match": { "extensions": [ ".qst" ] }, "target": { "kind": "section", "section": "ignore quest level 4 exp" }, "annotation": { "title": "经验值跟随角色等级", "content": "值为1时:经验值和金币奖励不跟随任务等级,而是跟随角色等级。任务标题始终保持橙色(不会因为等级过高而变灰)。\nPVP/亡者峡谷/古代地城/觉醒/使魔相关/副职业任务等属于此类。若不存在该标签,则默认为0。\n\n#### 官方示例: questsample.qst\n\n```pvf\n[ignore quest level 4 exp] 1 // 1:经验值金币奖励不跟随任务等级,而是跟随角色等级。任务标题始终保持橙色。\n// PVP/亡者峡谷/古代地城/觉醒/使魔相关/副职业任务等属于此类,\n// 若不存在该标签,则默认为0。\n```\n\n1", "type": "text" }, "group": "qst" }, { "id": "qst.section.job-change-quest.vdvo26", "match": { "extensions": [ ".qst" ] }, "target": { "kind": "section", "section": "job change quest" }, "annotation": { "title": "转职/觉醒任务类型", "content": "是否为转职任务。0:一般, 1:转职, 2:觉醒, 10:使魔进化, 20:副职业。\n\n#### 官方示例: questsample.qst\n\n```pvf\n[job change quest] 0 // 是否为转职任务。(0:一般, 1:转职, 2:觉醒, 10:使魔进化, 20:副职业)\n```\n\n是否为转职任务", "type": "text" }, "group": "qst" }, { "id": "qst.section.limit-dungeon-index.1gumwi", "match": { "extensions": [ ".qst" ] }, "target": { "kind": "section", "section": "limit dungeon index" }, "annotation": { "title": "限制检查的地城索引", "content": "使用本标签后,任务只会在列表中指定的地城进行检查,而不是所有地城。\n不使用本标签则无条件检查所有地城。用于限制任务物品只在特定副本掉落。\n\n#### 官方示例: questsample.qst\n\n```pvf\n// 限制地城索引。\n// 使用本标签后,只会在列表中的地城进行检查。\n// 不使用本标签则无条件检查。\n[limit dungeon index]\n12322 // 允许检查的地城索引。\n[/limit dungeon index]\n```\n\n允许检查的地城索引", "type": "text" }, "group": "qst" }, { "id": "qst.section.mail-contents.1iromj", "match": { "extensions": [ ".qst" ] }, "target": { "kind": "section", "section": "mail contents" }, "annotation": { "title": "邮件内容", "content": "发送的邮件正文内容。通过 quest.str.kor 中注明并链接的文本编号引用。\n\n#### 官方示例: questsample.qst\n\n```pvf\n[mail contents] \u003c文本编号\u003e // 邮件的内容。在quest.str.kor中注明并链接。\n```\n\n邮件的内容", "type": "text" }, "group": "qst" }, { "id": "qst.section.mail-enclose.wg25qf", "match": { "extensions": [ ".qst" ] }, "target": { "kind": "section", "section": "mail enclose" }, "annotation": { "title": "邮件附带物品", "content": "邮件中附带的物品清单。格式:物品索引 物品数量(若发送多个则以相同形式重复)。\n\n#### 官方示例: questsample.qst\n\n```pvf\n[mail enclose] \u003c物品索引\u003e \u003c物品数量\u003e // 邮件中附带的物品索引和数量(若发送多个,则以相同形式重复)。\n[/mail enclose]\n```\n\n邮件中附带的物品索引和数量(若发送多个", "type": "text" }, "group": "qst" }, { "id": "qst.section.mail-time.1ywv3h", "match": { "extensions": [ ".qst" ] }, "target": { "kind": "section", "section": "mail time" }, "annotation": { "title": "邮件发送时机", "content": "发送与任务相关的邮件的时机。0: 角色达到任务指定等级时发送邮件,1: 角色完成本任务时发送邮件。\n\n#### 官方示例: questsample.qst\n\n```pvf\n[mail time] 0 // 发送与此任务相关的邮件的时机。\n// 0 : 角色达到特定等级时发送邮件。\"特定等级\"指本脚本中注明的任务等级。\n// 1 : 角色完成本任务时发送邮件。\n```\n\n发送与此任务相关的邮件的时机", "type": "text" }, "group": "qst" }, { "id": "qst.section.mail-title.4xqb98", "match": { "extensions": [ ".qst" ] }, "target": { "kind": "section", "section": "mail title" }, "annotation": { "title": "邮件标题", "content": "发送的任务邮件的标题。通过 quest.str.kor 中注明并链接的文本编号引用。\n\n#### 官方示例: questsample.qst\n\n```pvf\n// 0 : 角色达到特定等级时发送邮件。\"特定等级\"指本脚本中注明的任务等级。\n// 1 : 角色完成本任务时发送邮件。\n[mail title] \u003c文本编号\u003e // 邮件的标题。在quest.str.kor中注明并链接。\n```\n\n邮件的标题", "type": "text" }, "group": "qst" }, { "id": "qst.section.monster-reward-item.rd4kj7", "match": { "extensions": [ ".qst" ] }, "target": { "kind": "section", "section": "monster reward item" }, "annotation": { "title": "接取任务后怪物掉落指定物品", "content": "接取该任务后可以让指定怪物掉落指定物品。7个数值为一组:怪物ID, 副本编号, 副本难度, 物品代码, 每次获得数量, 出现概率(%), 获得上限(-1无上限)。\n与[enemy reward item]的区别:此标签仅针对怪物,无需指定敌人类型。\n\n#### 官方示例: questsample.qst\n\n```pvf\n[monster reward item] // 任务执行状态下杀死怪物时出现的任务物品。\n50 1 0 10001 2 30 3 // 怪物索引,地城索引(若无关则为-1),地城难度(若无关则为-1),物品索引,\n51 2 0 10002 3 30 6 // 最大物品数,出现概率(%),最大持有数(-1则为无限)。\n[/monster reward item]\n```\n\n当接取该任务后可以让指定怪物掉落指定物品\n\n当接取该任务后可以让指定怪物掉落指定物品。\n* 七个数值为一组。\n分别为:\n怪物\n副本\n副本难度\n物品代码\n每次获得数量\n概率\n获得上限", "type": "text" }, "group": "qst" }, { "id": "qst.section.npc-index.1ydosp", "match": { "extensions": [ ".qst" ] }, "target": { "kind": "section", "section": "npc index" }, "annotation": { "title": "接取 NPC", "content": "接取此任务的NPC。填写NPC的ID。\n\n#### 官方示例: questsample.qst\n\n```pvf\n[npc index] 0 // 该NPC的索引。\n```\n\n接取 NPC\n\n在任务(*.qst)中,设置接取任务的 NPC。\n\n* 填写 NPC 的 ID。", "type": "text" }, "group": "qst" }, { "id": "qst.section.pre-required-quest.xgv2l5", "match": { "extensions": [ ".qst" ] }, "target": { "kind": "section", "section": "pre required quest" }, "annotation": { "title": "前置任务", "content": "接取该任务之前需要完成的前置任务(与关系)。填写前置任务的ID,可多个。\n如果存在第二个 [pre required quest] 区块,则第一组与第二组是或关系。\n\n#### 官方示例: questsample.qst\n\n```pvf\n// PVP/亡者峡谷/古代地城/觉醒/使魔相关/副职业任务等属于此类,\n// 若不存在该标签,则默认为0。\n[pre required quest] // 接受此任务前必须先完成的任务索引列表(与关系)。\n1\n7\n[/pre required quest]\n```\n\n```pvf\n[pre required quest] // 第二个先决任务组。与第一组是或关系。\n5\n8\n[/pre required quest]\n```\n\n前置任务\n\n* 接取该任务之前,需要完成的前置任务。\n\n* 填写前置任务的 ID。", "type": "text" }, "group": "qst" }, { "id": "qst.section.pvp-rank.u8u3yh", "match": { "extensions": [ ".qst" ] }, "target": { "kind": "section", "section": "pvp rank" }, "annotation": { "title": "接受任务所需最低PVP等级", "content": "接受此任务所需的最低PVP等级。从10级到斗神共34个等级。\n\n#### 官方示例: questsample.qst\n\n```pvf\n[PVP RANK] 0 // 接受任务所需的最低PVP等级。\n// 0:10级 1:9级 2:8级 3:7级 4:6级 5:5级 6:4级 7:3级 8:2级 9:1级\n// 10:1段 11:2段 12:3段 13:4段 14:5段 15:6段 16:7段 17:8段 18:9段 19:10段\n// 20:至尊1 21:至尊2 22:至尊3 23:至尊4 24:至尊5 25:至尊6 26:至尊7 27:至尊8 28:至尊9 29:至尊10\n// 30:达人 31:名人 32:小霸王 33:霸王 34:斗神\n```\n\n接受任务所需的最低PVP等级", "type": "text" }, "group": "qst" }, { "id": "qst.section.quest-point.z26onz", "match": { "extensions": [ ".qst" ] }, "target": { "kind": "section", "section": "quest point" }, "annotation": { "title": "任务点数/分类值", "content": "任务根级的单数值分类或点数参数,真实任务中可见 0、4、8、10、14、30 等值。该字段不是任务 ID;数值与任务排序、类别、引导或系统权重的精确映射尚未由静态文件闭合。\n\n完成任务时奖励的 QP 点。", "type": "text" }, "group": "qst" }, { "id": "qst.section.relation-quest.16nrjg", "match": { "extensions": [ ".qst" ] }, "target": { "kind": "section", "section": "relation quest" }, "annotation": { "title": "关联任务(完成后自动接取)", "content": "完成当前任务时,自动弹出并接取的下一个任务。填写任务ID。\n若为-1或标签不存在则为无。通常用于普通、成就类的任务链。\n\n#### 官方示例: questsample.qst\n\n```pvf\n[relation quest] 4 // 任务完成后自动获得的任务。若为-1或标签不存在则为无。\n```\n\n关联任务\n\n完成当前任务时,自动弹出下一个任务。\n\n* 填写任务 ID,通常用于普通、成就类的任务。", "type": "text" }, "group": "qst" }, { "id": "qst.section.reward-int-data.v6mlv1", "match": { "extensions": [ ".qst" ] }, "target": { "kind": "section", "section": "reward int data" }, "annotation": { "title": "完成任务时的固定奖励", "content": "完成任务时给予的固定奖励。两个数值为一组:装备/道具代码 + 数量。\n赋予金币代码0时,[gold multiple](任务金币奖励倍数)就会生效。\n也可以使用 `[job]` 语法实现按职业发放不同奖励。\n\n#### 官方示例: questsample.qst\n\n```pvf\n[reward int data] // 奖励的整数资料。用法参考最底部的注释。\n10 1 // 若为`[hero]`则是[地城索引]。\n2354 10\n2356 `[job]` 2 1 10 // 在物品索引和数量之间添加`[job]`和职业索引、转职索引,则仅在该职业、转职时给予奖励。(若转职为-1则所有转职)。\n[/reward int data] // 闭合。\n```\n\n完成任务时给予的固定奖励\n\n* 两个数值为一组,第一个为装备、道具代码,第二个为数量\n\n* 赋予金币代码0时,任务金币奖励倍数[gold multiple]就会生效", "type": "text" }, "group": "qst" }, { "id": "qst.section.reward-selection-int-data.i9o8cz", "match": { "extensions": [ ".qst" ] }, "target": { "kind": "section", "section": "reward selection int data" }, "annotation": { "title": "完成任务时的可选奖励", "content": "完成任务时,可以从多个奖励中选择其中一种。\n有两种写法:①与 [reward int data] 一致,两个代码为一组(物品ID+数量);②根据不同职业发放不同道具/装备,五个代码为一组(道具ID + `[job]` + 职业类型 + 转职限制(-1不限) + 数量)。\n\n职业类型可在 character/character.lst 查看:\n0=男鬼剑, 1=女格斗, 2=男枪手, 3=女魔法, 4=男圣职\n\n#### 官方示例: questsample.qst\n\n```pvf\n[reward selection int data] // 奖励的整数资料。用法参考最底部的注释。\n10 1\n2354 10\n2356 `[job]` 2 10 // 在物品索引和数量之间添加`[job]`和职业索引,则仅在该职业时可以选择该物品。\n[/reward selection int data] // 闭合。\n```\n\n完成任务时\n\n完成任务时,可以选择其中一种作为奖励\n\n//此类有两种写法:\n①与 [reward int data] 一致,同样是两个代码为一组\n②根据不同职业发放道具、装备\n\n//第②种写法的示例(第2种写法同样适用于固定奖励):\n\t27012\t`[job]`\t0\t-1\t1\n 为男鬼剑的全部职业发放一把短剑\n\n27611\t`[job]`\t0\t1\t1\n 为男鬼剑的剑魂发放一把太刀\n\n//五个代码为一组:\n1 = 道具、装备 ID\n2 = `[job]`\n3 = 职业类型(0 到 10)\n4 = -1代表是否转职都可以领,0到4代表限定某个职业\n5 = 数量\n\n//职业类型代码:\n* 职业类型可在PVF主界面的character/character.lst查看\n男鬼剑:0\n女格斗:1\n男枪手:2\n女魔法:3\n男圣职:4\n\n//限定某个职业的代码:\n-1不限职业 0男鬼剑士 1剑魂 2鬼泣 3狂战士 4阿修罗\n-1不限职业 0女格斗 1女气功 2女散打 3女街霸 4女柔道家\n-1不限职业 0女魔法师 1女元素师 2召唤师 3战斗法师 4魔道学者\n-1不限职业 0男圣职者 1男圣骑士 2蓝拳圣使 3男驱魔师 4复仇者", "type": "text" }, "group": "qst" }, { "id": "qst.section.reward-type.1tewen", "match": { "extensions": [ ".qst" ] }, "target": { "kind": "section", "section": "reward type" }, "annotation": { "title": "任务奖励类型", "content": "任务奖励的类型分类:\n[item] = 装备、物品\n[title] = 点亮称号簿\n[hero] = 开启英雄级地图\n[grow type] = 角色转职\n[expert job] = 学习副职业\n[slot expansion] = 左右槽开启\n[hell challenge] = 开启深渊\n[awakening type] = 职业觉醒\n[creature evolution] = 宠物进化\n[event creation] = 活动创建\n\n#### 官方示例: questsample.qst\n\n```pvf\n// 任务奖励。\n[reward type] `[item]` // 奖励的类型。可选择 `[item]` `[grow type]` `[awakening type]` `[pro job]` `[hero]` 之一。\n```\n\n奖励类型\n\n任务奖励类型\n\n[item] = 装备、物品\n[title] = 点亮称号簿\n[hero] = 开启英雄级地图\n[grow type] = 角色转职\n[expert job] = 学习副职业\n[slot expansion] = 左右槽\n[hell challenge] = 开启深渊\n[awakening type] = 职业觉醒\n[creature evolution] = 宠物进化\n[event creat", "type": "text" }, "group": "qst" }, { "id": "qst.section.solve-message.1ejw76", "match": { "extensions": [ ".qst" ] }, "target": { "kind": "section", "section": "solve message" }, "annotation": { "title": "任务完成时的消息", "content": "任务完成时显示的提示文本。通过 \u003c11::solve_message_xxxx\u003e 引用 quest.str。\n配合 [job message] 可实现按职业显示不同的完成消息。\n\n#### 官方示例: questsample.qst\n\n```pvf\n// 设置[job message]时,鬼剑士语句在\u003c11:condition_message_6575_0\u003e,格斗家语句在\u003c11:condition_message_6575_1\u003e,枪手语句在\u003c11:condition_message_6575_2\u003e,...\n// 若无对应职业的语句,则使用默认语句\u003c11:condition_message_6575\u003e。\n[solve message] // 完成时的消息。\n\u003c11::solve_message_6580\u003e\n// 设置[job message]时,鬼剑士语句在\u003c11:solve_message_6580_0\u003e,格斗家语句在\u003c11:solve_message_6580_1\u003e,枪手语句在\u003c11:solve_message_6580_2\u003e,...\n// 若无对应职业的语句,则使用默认语句\u003c11:solve_message_6580\u003e。\n```\n\n完成时的消息", "type": "text" }, "group": "qst" }, { "id": "qst.section.substitutive-names.c218t8", "match": { "extensions": [ ".qst" ] }, "target": { "kind": "section", "section": "substitutive names" }, "annotation": { "title": "对象名称替换", "content": "更改或删除任务界面中出现的对象名称。替代名称的数量必须与 [int data] 中使用的对象种类数量相同。\n若在替代名称中输入空字符串 ``,则相应对象的信息将不显示。\n\n#### 官方示例: questsample.qst\n\n```pvf\n[substitutive names] // 更改或删除任务界面中出现的对象名称。\n\u003c替代名称\u003e // 替代名称的数量必须与[int data]中使用的对象种类数量相同。\n[/substitutive names] // 若在替代名称中输入``,则相应对象的信息将不显示。\n```\n\n更改或删除任务界面中出现的对象名称", "type": "text" }, "group": "qst" }, { "id": "qst.section.target-character.ipugd3", "match": { "extensions": [ ".qst" ] }, "target": { "kind": "section", "section": "target character" }, "annotation": { "title": "目标角色(可多职业组合)", "content": "可重复的job、grow type标签的组合形式。顺序为职业、转职、觉醒。\n是 [job] 和 [grow type]、[exceptional grow type] 的合并形式,仅此一个标签即可替代,并可同时设置多个职业的条件。\n\n#### 官方示例: questsample.qst\n\n```pvf\n[target character] // 可重复的job, grow type标签。顺序为职业,转职,觉醒。\n`[swordman]` 1 -1 // 是上述标签[job]和[grow type]、[exceptional grow type]的合并形式,\n`[at gunner]` 2 1 // 仅此一个标签即可替代,并可同时设置多个职业的条件。\n[/target character]\n```\n\n可重复的job", "type": "text" }, "group": "qst" }, { "id": "rgn.section.english-name.y62gyi", "match": { "extensions": [ ".rgn" ] }, "target": { "kind": "section", "section": "english name" }, "annotation": { "title": "区域英文名称", "content": "区域的英文名称文本,主要作为地区化/内部显示线索。不要用它替代 [name],编码和客户端显示需另行验证。\n\n英文名", "type": "text" }, "group": "rgn" }, { "id": "rgn.section.minimap.1ch0ny", "match": { "extensions": [ ".rgn" ] }, "target": { "kind": "section", "section": "minimap" }, "annotation": { "title": "区域小地图文件", "content": "区域对应的 .mm 小地图文件路径。需继续读取 .mm 中的 [image]、[town]、[world] 等结构;PVF 路径存在不证明客户端图像资源或交互正常。\n\n小地图", "type": "text" }, "group": "rgn" }, { "id": "rgn.section.towns.nsbf9e", "match": { "extensions": [ ".rgn" ] }, "target": { "kind": "section", "section": "towns" }, "annotation": { "title": "城市", "content": "城市。在rgn文件里,town代表此区域包含的城镇地图,数字在town.lst里定义。一个区域可以包含多个城镇。\n\n城市\n\n城市\n在rgn文件里,town代表此区域包含的城镇地图,数字在town.lst里定义\n\n城市\n在rgn文件里,town代表此区域包含的", "type": "text" }, "group": "rgn" }, { "id": "sd.section.float.1a9sfb", "match": { "extensions": [ ".sd" ] }, "target": { "kind": "section", "section": "float" }, "annotation": { "title": "浮点键值数据块", "content": ".sd 的浮点键值闭合块,每条通常为“字符串键、浮点值”;块可为空。键的运行含义由使用该 .sd 的系统决定,必须读取 [/float]。\n\n浮动", "type": "text" }, "group": "sd" }, { "id": "sd.section.int.15lfhb", "match": { "extensions": [ ".sd" ] }, "target": { "kind": "section", "section": "int" }, "annotation": { "title": "整型数据", "content": "整型数据字段。sd文件中定义整型键值对的数据段,用于配置技能的各种数值参数(如角度、半径、时长等)。\n\nINT", "type": "text" }, "group": "sd" }, { "id": "sd.section.string.6labeg", "match": { "extensions": [ ".sd" ] }, "target": { "kind": "section", "section": "string" }, "annotation": { "title": "字符串键值数据块", "content": ".sd 的字符串数据闭合块,可为空,也可按字符串键/值形态存放参数。字段用途依赖具体数据系统,必须读取 [/string]。", "type": "text" }, "group": "sd" }, { "id": "shp.section.tab-name.1tw6uy", "match": { "extensions": [ ".shp" ] }, "target": { "kind": "section", "section": "tab name" }, "annotation": { "title": "标签名称", "type": "text" }, "group": "shp" }, { "id": "skl.section.league-ban.16a8lm", "match": { "extensions": [ ".skl" ] }, "target": { "kind": "section", "section": "league ban" }, "annotation": { "title": "PVP禁用标记", "content": "PVP 禁用标记:添加此标签后,该技能在 PVP 对局(决斗场/竞技场)中将被禁用,玩家无法使用。常用于平衡性调整,限制某些过于强力的技能在 PVP 中出现。\n\n添加此代码可以在PVP对局中禁用此技能", "type": "text" }, "group": "skl" }, { "id": "skl.section.physical-magical-change.708tb2", "match": { "extensions": [ ".skl" ] }, "target": { "kind": "section", "section": "physical magical change" }, "annotation": { "title": "物理/魔法伤害转换", "content": "物理/魔法伤害转换:定义该技能在不同条件下的伤害类型转换规则。例如某些技能可以通过此标签在物理和魔法伤害之间切换,取决于角色属性或特定装备效果。\n\n物理、魔法伤害转换", "type": "text" }, "group": "skl" }, { "id": "skl.section.skill-under-cooltime-effect-each.59p4me", "match": { "extensions": [ ".skl" ] }, "target": { "kind": "section", "section": "skill under cooltime effect each" }, "annotation": { "title": "冷却联动技能", "content": "冷却联动技能(独立):与 [skill under cooltime effect] 类似,定义此技能发动时同时进入冷却的其它技能编号。区别在于 each 模式下各技能的冷却时间是独立计算的。\n\n冷却时间中的技能", "type": "text" }, "group": "skl" }, { "id": "stk.section.3choro-enchant.2qak4k", "match": { "extensions": [ ".stk" ] }, "target": { "kind": "section", "section": "3choro enchant" }, "annotation": { "title": "异次元碎片属性赋予", "content": "异次元碎片属性赋予\n\n用于为装备赋予异次元(增幅)属性的标签\n\n异次元属性赋予", "type": "text" }, "group": "stk" }, { "id": "stk.section.add-absolute-defense-percent.11rib9", "match": { "extensions": [ ".stk" ] }, "target": { "kind": "section", "section": "add absolute defense percent" }, "annotation": { "title": "追加绝对值防御百分比", "content": "消耗品/材料数据中的 [add absolute defense percent] 字段。已见数据形态为反引号字符串/token 与数值的混合记录,字段顺序必须完整保留。比率或随机刻度不能自动按百分数解释,静态权重也不等于最终实机概率。\n\n添加绝对防御百分比\n免伤", "type": "text" }, "group": "stk" }, { "id": "stk.section.amplification-random-value.1fp8kn", "match": { "extensions": [ ".stk" ] }, "target": { "kind": "section", "section": "amplification random value" }, "annotation": { "title": "增幅随机值", "content": "增幅等级与概率对照\n格式:3→50→4→30→5→15→6→5→\n3=增幅等级\n50=50%几率--以此类推\n总几率为100%\n\n3→50→4→30→5→15→6→5→\n\n3→50→4→30→5→15→6→5→\n3=增幅等级\n50=50%几率--以此类推\n总几率为100%", "type": "text" }, "group": "stk" }, { "id": "stk.section.avatar-select-ability-change.158bh6", "match": { "extensions": [ ".stk" ] }, "target": { "kind": "section", "section": "avatar select ability change" }, "annotation": { "title": "装扮属性调整", "content": "装扮属性调整\n后面的数字2对应装扮文件里的[grade] 2 属性为高级\n数字3对应装扮文件里的[grade] 3 属性为稀有\n一一对应才可调整!\n\n装扮属性调整\n\n装扮属性调整\n后面的数字2对应装扮文件里的[grade] 2\n数字3对应装扮文件里的[grade] 3\n一一对应才可调整!\n\n取值对照:\nACTIVESTATUS_TOLERANCE_ALL - 所有异常状态抗性\nACTIVESTATUS_TOLERANCE_STUCK - 回避率\nATTACK_SPEED - 攻击速度\nCAST_SPEED - 施放速度\nELEMENT_TOLERANCE_DARK - 暗属性抗性\nELEMENT_TOLERANCE_FIRE - 火属性抗性\nELEMENT_TOLERANCE_LIGHT - 光属性抗性\nELEMENT_TOLERANCE_WATER - 冰属性抗性\nEQUIPMENT_MAGICAL_ATTACK - 装备魔法攻击\nEQUIPMENT_MAGICAL_DEFENSE - 装备魔法防御\nEQUIPMENT_PHYSICAL_ATTACK - 装备物理攻击\nEQUIPMENT_PHYSICAL_DEFENSE - 装备物理防御\nHIT_RECOVERY - 硬直\nHP MAX - 最大生命值\nHP_REGENRATE - 每分钟恢复生命值\nINVENTORY_MAX_WEIGHT - 最大负重\nJUMP_POWER - 跳跃力\nMAGICAL_ATTACK - 智力\nMAGICAL_DEFENSE - 精神\nMP MAX - 最大魔法值\nMP_REGENRATE - 每分钟恢复魔法值\nPHYSICAL_ATTACK - 力量\nPHYSICAL_DEFENSE - 体力\nSKILL_LEVEL - 技能等级\n[ACTIVESTATUS_TOLERANCE_ALL] - 所有异常状态抗性\n[ACTIVESTATUS_TOLERANCE_STUCK] - 回避率\n[ATTACK_SPEED] - 攻击速度\n[CAST_SPEED] - 施放速度\n[ELEMENT_TOLERANCE_DARK] - 暗属性抗性\n[ELEMENT_TOLERANCE_FIRE] - 火属性抗性\n[ELEMENT_TOLERANCE_LIGHT] - 光属性抗性\n[ELEMENT_TOLERANCE_WATER] - 冰属性抗性\n[EQUIPMENT_MAGICAL_ATTACK] - 装备魔法攻击\n[EQUIPMENT_MAGICAL_DEFENSE] - 装备魔法防御\n[EQUIPMENT_PHYSICAL_ATTACK] - 装备物理攻击\n[EQUIPMENT_PHYSICAL_DEFENSE] - 装备物理防御\n[HIT_RECOVERY] - 硬直\n[HP MAX] - 最大生命值\n[HP_REGENRATE] - 每分钟恢复生命值\n[INVENTORY_MAX_WEIGHT] - 最大负重\n[JUMP_POWER] - 跳跃力\n[MAGICAL_ATTACK] - 智力\n[MAGICAL_DEFENSE] - 精神\n[MP MAX] - 最大魔法值\n[MP_REGENRATE] - 每分钟恢复魔法值\n[PHYSICAL_ATTACK] - 力量\n[PHYSICAL_DEFENSE] - 体力\n[SKILL_LEVEL] - 技能等级\n[magical absolute defense] - 魔法绝对防御\n[physical absolute defense] - 物理绝对防御\nmagical absolute defense - 魔法绝对防御\nphysical absolute defense - 物理绝对防御", "type": "text" }, "group": "stk" }, { "id": "stk.section.chn-random-image-percent.b6l7l3", "match": { "extensions": [ ".stk" ] }, "target": { "kind": "section", "section": "chn random image percent" }, "annotation": { "title": "CHN随机图像百分比", "type": "text" }, "group": "stk" }, { "id": "stk.section.default-list.kqo6mu", "match": { "extensions": [ ".stk" ] }, "target": { "kind": "section", "section": "default list" }, "annotation": { "title": "默认列表", "content": "默认列表:定义礼盒/罐子类道具的默认物品列表,当抽奖空时显示的基础内容\n\n默认列表", "type": "text" }, "group": "stk" }, { "id": "stk.section.field-image.18suh2", "match": { "extensions": [ ".stk" ] }, "target": { "kind": "section", "section": "field image" }, "annotation": { "title": "掉落图标", "content": "道具掉落在地面时显示的图标\n指定 IMG 文件路径和帧索引\n\n#### 官方示例: 090302stackablesample.stk\n\n```pvf\n[field image] `StackableField.img` 1 // 掉落在地上时的图像文件和帧索引\n```\n\n#### 官方示例: stackablesample-booster.stk\n\n#### 官方示例: stackablesample.stk\n\n- 掉落图标\n- 掉落在地上时的图像文件和帧索引\n\n掉落图标\n该路径下img的第几帧\n\n官方示例:\n#### 官方示例: 090302stackablesample.stk\n\n#### 官方示例: equipmentsample.equ\n\n```pvf\n[field image] `EquipmentField.img` 1\t\t// 掉落在地上时的图像文件和帧索引\n```", "type": "text" }, "group": "stk" }, { "id": "stk.section.minimum-fame-value.qltumb", "match": { "extensions": [ ".stk" ] }, "target": { "kind": "section", "section": "minimum fame value" }, "annotation": { "title": "最低名望值", "content": "使用或装备此道具所需的最低名望(Fame)值\n\n最低名望值", "type": "text" }, "group": "stk" }, { "id": "stk.section.my-status.1i9bwk", "match": { "extensions": [ ".stk" ] }, "target": { "kind": "section", "section": "my status" }, "annotation": { "title": "赋予自身异常状态", "content": "使用道具后赋予自身的异常状态效果\n\n//示例:\n[my status]\n\t`confuse`\t10\t7000\t40\t1\n//以上为暗黑城特产干酪的效果,1%的几率为自身赋予40级的混乱异常状态,持续7秒\n\n参数说明:异常状态种类 概率(千分比) 持续时间(ms) 等级 额外变量\n\n#### 官方示例: 090302stackablesample.stk\n\n```pvf\n[my status] `poison` 10 7000 10 90 //使自己进入状态异常。状态异常种类,概率,持续时间,等级,根据状态异常种类的变量(最多4个)\n```\n\n- 赋予自身异常状态\n- 使自己进入状态异常\n\n赋予自身异常状态\n\n//示例:\n[my status]\n\t`confuse`\t10\t7000\t40\t1\n\n以上为暗黑城特产干酪的效果,1%的几率为自身赋予40级的混乱异常状态,持续7秒", "type": "text" }, "group": "stk" }, { "id": "stk.section.sealing-removal-item.6zdzn3", "match": { "extensions": [ ".stk" ] }, "target": { "kind": "section", "section": "sealing removal item" }, "annotation": { "title": "开封所需物品代码", "content": "开封/解封封装道具时所需的物品代码\n\n开启所需物品代码\n\n密封拆除项目\n\n开启魔盒消耗的物品代码---数量", "type": "text" }, "group": "stk" }, { "id": "stk.section.use-effect-explain.smlj5i", "match": { "extensions": [ ".stk" ] }, "target": { "kind": "section", "section": "use effect explain" }, "annotation": { "title": "道具使用效果介绍开关", "content": "道具自带的使用效果介绍显示开关\n\n//隐藏或显示都不影响实际使用\n改为0 = 隐藏 改为1 = 显示\n\n隐藏过后就可以用下方这个标签自己编辑道具效果的介绍文本\n\n[explain]\n\t`(文本)`\n\n道具自带的使用效果介绍开关\n\n//隐藏或显示都不影响实际使用\n改为0隐藏 改为1显示", "type": "text" }, "group": "stk" }, { "id": "stm.section.append-image.3h812g", "match": { "extensions": [ ".stm" ] }, "target": { "kind": "section", "section": "append image" }, "annotation": { "title": "分区附加图像", "content": "分区叠加使用的 IMG 路径与帧索引,用于选关地图的附加显示层。资源与最终绘制顺序需客户端验证。", "type": "text" }, "group": "stm" }, { "id": "stm.section.area.170ube", "match": { "extensions": [ ".stm" ] }, "target": { "kind": "section", "section": "area" }, "annotation": { "title": "选关区域容器", "content": "选关地图的区域闭合块,内部包含区域编号、槽位图像、槽位类型、分区、关卡节点和生存关卡等配置。必须读取 [/area],不能把内部数字跨块解释。\n\n城镇区域(减号代表制表符)\n\n-数字,意思是小区域的编号\n\n-xxx/xxx.map,意思是这个小区域的map文件,不能直接转到,需要复制文件名搜索文件名\n\n-`[minimap rect]`,这个什么用都没有,猜测是在迷你地图里鼠标右键点击可以自动寻路的一个东西,但台服好像不能在地图上自动寻路,即使全部删掉也能正常游戏,跟正常跑五国,不过不建议删掉\n\n-`[gate]`-数字-数\n\n-[dungeon gate]表示连接到worldmap选图界面的ID19-worldmap/worldmap.lst)\n-'[gate]' 474 234 (城镇地图之一)\n\n-[dungeon gate]表示连接到worldmap选图界面的ID19-worldmap/worldmap.lst)\n\n-'[gate]' 474 234 (城镇地图之一)\n\n-[dungeon gate] 表示连接到worldmap选图界面的ID 19 (worldmap/worldmap.lst)\n-[gate] 474 234(城镇地图之一)\n\n-[dungeon gate] 表示连接到worldmap选图界面的ID 19 (worldmap/worldmap.lst)\n-[gate] 474 234(城镇街道上的传送门,两个数值猜测是坐标)\n\n-[dungeon gate] 表示连接到worldmap选图界面的ID 19 (worldmap/worldmap.lst)\n-[gate] 城镇街道上的传送门\n474 234\n\n-[dungeon gate] 表示连接到worldmap选图界面的ID 19 (worldmap/worldmap.lst)\n-[gate] 474 234 (城镇地图区域之一)\n\n-[dungeon gate] 表示连接到worldmap选图界面的ID 19 (worldmap/worldmap.lst)\n-[gate] 城镇内传送门\n474 234 (赛丽亚传送门)\n\n-[dungeon gate] 表示连接到worldmap选图界面的ID 19 (worldmap/worldmap.lst)\n-[gate] 城镇内传送门\n474 234 (赛丽亚房间门)\n\n-[dungeon gate] 表示连接到worldmap选图界面的ID 19 (worldmap/worldmap.lst)\n-[gate] 城镇区域传送门\n474 234 (赛丽亚房间门)\n\n城镇区域(减号代表制表符)\n-数字,意思是小区域的编号\n-xxx/xxx.map,意思是这个小区域的map文件,不能直接转到,需要复制文件名搜索文件名\n-`[minimap rect]`,这个什么用都没有,猜测是在迷你地图里鼠标右键点击可以自动寻路的一个东西,\n但台服好像不能在地图上自动寻路,即使全部删掉也能正常游戏,跟正常跑五国,不过不建议删掉\n-[dungeon gate] 表示连接到worldmap选图界面的ID 19 (worldmap/worldmap.lst)\n-[gate] 城镇内传送门\n474 234 (赛丽亚房间门)\n\n#### 官方示例: townsample.twn\n\n```pvf\n[area]\t\t\t\t\t\t// 区域 (AREA) 的一个信息\n0\t\t\t\t\t\t// 索引。从 0 开始并使用连续的值\n`Town/HendonMyre/Gate.map`\t\t\t// 地图脚本文件名称 (Script/Map 下的相对路径)\n`[minimap rect]`\n1000\t100\t\t2500\t500\t\t\t// 起点(x, y) 终点(x, y) step 0\n100\t\t10\t\t250\t\t50\t\t\t// 起点(x, y) 终点(x, y) step 1\n`[/minimap rect]`\n`[gate]`\t\t\t\t\t// 区域类型。在 `[normal]` `[gate]` `[fishing place]` `[pub]` `[dungeon gate]` 中选择\n273\t\t\t\t\t\t// 根据区域类型的整数数据。使用方法在最底部\n222\n[/area]\n```\n\n#### 官方示例: actionsample.act\n\n```pvf\n[AREA] 100 0 0 800 400 0 // 可移动的区域\n```", "type": "text" }, "group": "stm" }, { "id": "stm.section.district.1h2lpk", "match": { "extensions": [ ".stm" ] }, "target": { "kind": "section", "section": "district" }, "annotation": { "title": "关卡分区编号", "content": "选关区域内的分区编号,后续 [append image] 与 [stage] 记录归属于该分区。它不是 dungeon ID 或 map ID。", "type": "text" }, "group": "stm" }, { "id": "stm.section.map-image.faj8hk", "match": { "extensions": [ ".stm" ] }, "target": { "kind": "section", "section": "map image" }, "annotation": { "title": "选关地图图像", "content": "选关界面的地图 IMG 路径与帧索引。PVF 引用不证明客户端资源存在、帧号有效或界面渲染正常。\n\n#### 官方示例: worldmapsample.wdm\n\n```pvf\n[map image] `Map.img` 0\t// 地图图像文件名称,帧索引\n```", "type": "text" }, "group": "stm" }, { "id": "stm.section.slot-image.vefsag", "match": { "extensions": [ ".stm" ] }, "target": { "kind": "section", "section": "slot image" }, "annotation": { "title": "关卡槽位图像", "content": "选关节点使用的槽位 IMG 路径。具体帧由 [slot type] 等相邻参数控制,客户端资源与显示需验证。", "type": "text" }, "group": "stm" }, { "id": "stm.section.slot-type.14l2qp", "match": { "extensions": [ ".stm" ] }, "target": { "kind": "section", "section": "slot type" }, "annotation": { "title": "关卡槽位类型表", "content": "关卡槽位类型的闭合整数列表。数值与槽位图案/状态的映射尚未完全闭合,必须保留原顺序并结合客户端界面验证。", "type": "text" }, "group": "stm" }, { "id": "stm.section.stage.11u01m", "match": { "extensions": [ ".stm" ] }, "target": { "kind": "section", "section": "stage" }, "annotation": { "title": "关卡节点列表", "content": "分区内的关卡节点闭合列表,数据按“关卡/副本 ID、X 坐标、Y 坐标、节点控制值”重复。ID 必须按对应玩法 registry 复核;坐标、末列状态和入口行为需客户端/实机验证。\n\n阶段haode", "type": "text" }, "group": "stm" }, { "id": "stm.section.survival.1vfs2i", "match": { "extensions": [ ".stm" ] }, "target": { "kind": "section", "section": "survival" }, "annotation": { "title": "生存关卡列表", "content": "生存模式关卡的闭合 ID 列表。数字需按该玩法对应的副本 registry 复核;静态登记不证明入口、难度或通关流程正常。\n\n生存", "type": "text" }, "group": "stm" }, { "id": "tbl.section.0.epw9f3", "match": { "extensions": [ ".tbl" ] }, "target": { "kind": "section", "section": "0" }, "annotation": { "title": "编号 0 表项", "content": "以数字 0 为键的 .tbl 表项。该标签会在不同表族中复用:价格表中常选择价格档位并按等级给出数值序列,世界地图图案表中则可能选择坐标方案。必须先确定父文件用途再解释,不能把数字标签视为全局枚举。\n\n#### 官方示例: questsample.qst\n\n```pvf\n[auto display] [0]出现条件 [1]出现详细条件 [2]消失的条件(以数字表示的等级范围) // 建议不使用。\n// [0]出现条件 [1]出现详细条件 [2]消失的条件(-1则为始终允许)。\n// 0 : 进入特定城镇时 城镇索引 允许等级范围。\n// 1 : 经过特定NPC前时 NPC索引 允许等级范围。\n```", "type": "text" }, "group": "tbl" }, { "id": "tbl.section.1.efwnq4", "match": { "extensions": [ ".tbl" ] }, "target": { "kind": "section", "section": "1" }, "annotation": { "title": "编号 1 表项", "content": "以数字 1 为键的 .tbl 表项。该标签会在不同表族中复用:价格表中常选择价格档位并按等级给出数值序列,世界地图图案表中则可能选择坐标方案。必须先确定父文件用途再解释,不能把数字标签视为全局枚举。\n\n#### 官方示例: questsample.qst\n\n```pvf\n[auto display] [0]出现条件 [1]出现详细条件 [2]消失的条件(以数字表示的等级范围) // 建议不使用。\n// [0]出现条件 [1]出现详细条件 [2]消失的条件(-1则为始终允许)。\n// 0 : 进入特定城镇时 城镇索引 允许等级范围。\n// 1 : 经过特定NPC前时 NPC索引 允许等级范围。\n```", "type": "text" }, "group": "tbl" }, { "id": "tbl.section.10.7qvd50", "match": { "extensions": [ ".tbl" ] }, "target": { "kind": "section", "section": "10" }, "annotation": { "title": "编号 10 表项", "content": "以数字 10 为键的 .tbl 表项。该标签会在不同表族中复用:价格表中常选择价格档位并按等级给出数值序列,世界地图图案表中则可能选择坐标方案。必须先确定父文件用途再解释,不能把数字标签视为全局枚举。", "type": "text" }, "group": "tbl" }, { "id": "tbl.section.11.80uytz", "match": { "extensions": [ ".tbl" ] }, "target": { "kind": "section", "section": "11" }, "annotation": { "title": "编号 11 表项", "content": "以数字 11 为键的 .tbl 表项。该标签会在不同表族中复用:价格表中常选择价格档位并按等级给出数值序列,世界地图图案表中则可能选择坐标方案。必须先确定父文件用途再解释,不能把数字标签视为全局枚举。", "type": "text" }, "group": "tbl" }, { "id": "tbl.section.12.8aukiy", "match": { "extensions": [ ".tbl" ] }, "target": { "kind": "section", "section": "12" }, "annotation": { "title": "编号 12 表项", "content": "以数字 12 为键的 .tbl 表项。该标签会在不同表族中复用:价格表中常选择价格档位并按等级给出数值序列,世界地图图案表中则可能选择坐标方案。必须先确定父文件用途再解释,不能把数字标签视为全局枚举。\n\n12.", "type": "text" }, "group": "tbl" }, { "id": "tbl.section.13.8ku67x", "match": { "extensions": [ ".tbl" ] }, "target": { "kind": "section", "section": "13" }, "annotation": { "title": "编号 13 表项", "content": "以数字 13 为键的 .tbl 表项。该标签会在不同表族中复用:价格表中常选择价格档位并按等级给出数值序列,世界地图图案表中则可能选择坐标方案。必须先确定父文件用途再解释,不能把数字标签视为全局枚举。", "type": "text" }, "group": "tbl" }, { "id": "tbl.section.14.6mwyd4", "match": { "extensions": [ ".tbl" ] }, "target": { "kind": "section", "section": "14" }, "annotation": { "title": "编号 14 表项", "content": "以数字 14 为键的 .tbl 表项。该标签会在不同表族中复用:价格表中常选择价格档位并按等级给出数值序列,世界地图图案表中则可能选择坐标方案。必须先确定父文件用途再解释,不能把数字标签视为全局枚举。", "type": "text" }, "group": "tbl" }, { "id": "tbl.section.15.6wwk23", "match": { "extensions": [ ".tbl" ] }, "target": { "kind": "section", "section": "15" }, "annotation": { "title": "编号 15 表项", "content": "以数字 15 为键的 .tbl 表项。该标签会在不同表族中复用:价格表中常选择价格档位并按等级给出数值序列,世界地图图案表中则可能选择坐标方案。必须先确定父文件用途再解释,不能把数字标签视为全局枚举。\n\n15.", "type": "text" }, "group": "tbl" }, { "id": "tbl.section.16.76w5r2", "match": { "extensions": [ ".tbl" ] }, "target": { "kind": "section", "section": "16" }, "annotation": { "title": "编号 16 表项", "content": "以数字 16 为键的 .tbl 表项。该标签会在不同表族中复用:价格表中常选择价格档位并按等级给出数值序列,世界地图图案表中则可能选择坐标方案。必须先确定父文件用途再解释,不能把数字标签视为全局枚举。", "type": "text" }, "group": "tbl" }, { "id": "tbl.section.17.7gvrg1", "match": { "extensions": [ ".tbl" ] }, "target": { "kind": "section", "section": "17" }, "annotation": { "title": "编号 17 表项", "content": "以数字 17 为键的 .tbl 表项。该标签会在不同表族中复用:价格表中常选择价格档位并按等级给出数值序列,世界地图图案表中则可能选择坐标方案。必须先确定父文件用途再解释,不能把数字标签视为全局枚举。", "type": "text" }, "group": "tbl" }, { "id": "tbl.section.18.5iyjl8", "match": { "extensions": [ ".tbl" ] }, "target": { "kind": "section", "section": "18" }, "annotation": { "title": "编号 18 表项", "content": "以数字 18 为键的 .tbl 表项。该标签会在不同表族中复用:价格表中常选择价格档位并按等级给出数值序列,世界地图图案表中则可能选择坐标方案。必须先确定父文件用途再解释,不能把数字标签视为全局枚举。", "type": "text" }, "group": "tbl" }, { "id": "tbl.section.19.5sy5a7", "match": { "extensions": [ ".tbl" ] }, "target": { "kind": "section", "section": "19" }, "annotation": { "title": "编号 19 表项", "content": "以数字 19 为键的 .tbl 表项。该标签会在不同表族中复用:价格表中常选择价格档位并按等级给出数值序列,世界地图图案表中则可能选择坐标方案。必须先确定父文件用途再解释,不能把数字标签视为全局枚举。", "type": "text" }, "group": "tbl" }, { "id": "tbl.section.2.f9vgt1", "match": { "extensions": [ ".tbl" ] }, "target": { "kind": "section", "section": "2" }, "annotation": { "title": "编号 2 表项", "content": "以数字 2 为键的 .tbl 表项。该标签会在不同表族中复用:价格表中常选择价格档位并按等级给出数值序列,世界地图图案表中则可能选择坐标方案。必须先确定父文件用途再解释,不能把数字标签视为全局枚举。\n\n#### 官方示例: questsample.qst\n\n```pvf\n[auto display] [0]出现条件 [1]出现详细条件 [2]消失的条件(以数字表示的等级范围) // 建议不使用。\n// [0]出现条件 [1]出现详细条件 [2]消失的条件(-1则为始终允许)。\n// 0 : 进入特定城镇时 城镇索引 允许等级范围。\n// 1 : 经过特定NPC前时 NPC索引 允许等级范围。\n```", "type": "text" }, "group": "tbl" }, { "id": "tbl.section.20.13dvip", "match": { "extensions": [ ".tbl" ] }, "target": { "kind": "section", "section": "20" }, "annotation": { "title": "编号 20 表项", "content": "以数字 20 为键的 .tbl 表项。该标签会在不同表族中复用:价格表中常选择价格档位并按等级给出数值序列,世界地图图案表中则可能选择坐标方案。必须先确定父文件用途再解释,不能把数字标签视为全局枚举。", "type": "text" }, "group": "tbl" }, { "id": "tbl.section.21.133vx0", "match": { "extensions": [ ".tbl" ] }, "target": { "kind": "section", "section": "21" }, "annotation": { "title": "编号 21 表项", "content": "以数字 21 为键的 .tbl 表项。该标签会在不同表族中复用:价格表中常选择价格档位并按等级给出数值序列,世界地图图案表中则可能选择坐标方案。必须先确定父文件用途再解释,不能把数字标签视为全局枚举。", "type": "text" }, "group": "tbl" }, { "id": "tbl.section.22.13xuq3", "match": { "extensions": [ ".tbl" ] }, "target": { "kind": "section", "section": "22" }, "annotation": { "title": "编号 22 表项", "content": "以数字 22 为键的 .tbl 表项。该标签会在不同表族中复用:价格表中常选择价格档位并按等级给出数值序列,世界地图图案表中则可能选择坐标方案。必须先确定父文件用途再解释,不能把数字标签视为全局枚举。", "type": "text" }, "group": "tbl" }, { "id": "tbl.section.23.13nv4e", "match": { "extensions": [ ".tbl" ] }, "target": { "kind": "section", "section": "23" }, "annotation": { "title": "编号 23 表项", "content": "以数字 23 为键的 .tbl 表项。该标签会在不同表族中复用:价格表中常选择价格档位并按等级给出数值序列,世界地图图案表中则可能选择坐标方案。必须先确定父文件用途再解释,不能把数字标签视为全局枚举。", "type": "text" }, "group": "tbl" }, { "id": "tbl.section.24.129x3x", "match": { "extensions": [ ".tbl" ] }, "target": { "kind": "section", "section": "24" }, "annotation": { "title": "编号 24 表项", "content": "以数字 24 为键的 .tbl 表项。该标签会在不同表族中复用:价格表中常选择价格档位并按等级给出数值序列,世界地图图案表中则可能选择坐标方案。必须先确定父文件用途再解释,不能把数字标签视为全局枚举。", "type": "text" }, "group": "tbl" }, { "id": "tbl.section.25.11zxi8", "match": { "extensions": [ ".tbl" ] }, "target": { "kind": "section", "section": "25" }, "annotation": { "title": "编号 25 表项", "content": "以数字 25 为键的 .tbl 表项。该标签会在不同表族中复用:价格表中常选择价格档位并按等级给出数值序列,世界地图图案表中则可能选择坐标方案。必须先确定父文件用途再解释,不能把数字标签视为全局枚举。", "type": "text" }, "group": "tbl" }, { "id": "tbl.section.26.12twbb", "match": { "extensions": [ ".tbl" ] }, "target": { "kind": "section", "section": "26" }, "annotation": { "title": "编号 26 表项", "content": "以数字 26 为键的 .tbl 表项。该标签会在不同表族中复用:价格表中常选择价格档位并按等级给出数值序列,世界地图图案表中则可能选择坐标方案。必须先确定父文件用途再解释,不能把数字标签视为全局枚举。", "type": "text" }, "group": "tbl" }, { "id": "tbl.section.27.12jwpm", "match": { "extensions": [ ".tbl" ] }, "target": { "kind": "section", "section": "27" }, "annotation": { "title": "编号 27 表项", "content": "以数字 27 为键的 .tbl 表项。该标签会在不同表族中复用:价格表中常选择价格档位并按等级给出数值序列,世界地图图案表中则可能选择坐标方案。必须先确定父文件用途再解释,不能把数字标签视为全局枚举。", "type": "text" }, "group": "tbl" }, { "id": "tbl.section.28.15lsc9", "match": { "extensions": [ ".tbl" ] }, "target": { "kind": "section", "section": "28" }, "annotation": { "title": "编号 28 表项", "content": "以数字 28 为键的 .tbl 表项。该标签会在不同表族中复用:价格表中常选择价格档位并按等级给出数值序列,世界地图图案表中则可能选择坐标方案。必须先确定父文件用途再解释,不能把数字标签视为全局枚举。", "type": "text" }, "group": "tbl" }, { "id": "tbl.section.29.15bsqk", "match": { "extensions": [ ".tbl" ] }, "target": { "kind": "section", "section": "29" }, "annotation": { "title": "编号 29 表项", "content": "以数字 29 为键的 .tbl 表项。该标签会在不同表族中复用:价格表中常选择价格档位并按等级给出数值序列,世界地图图案表中则可能选择坐标方案。必须先确定父文件用途再解释,不能把数字标签视为全局枚举。", "type": "text" }, "group": "tbl" }, { "id": "tbl.section.3.ezvv42", "match": { "extensions": [ ".tbl" ] }, "target": { "kind": "section", "section": "3" }, "annotation": { "title": "编号 3 表项", "content": "以数字 3 为键的 .tbl 表项。该标签会在不同表族中复用:价格表中常选择价格档位并按等级给出数值序列,世界地图图案表中则可能选择坐标方案。必须先确定父文件用途再解释,不能把数字标签视为全局枚举。\n\n3", "type": "text" }, "group": "tbl" }, { "id": "tbl.section.30.11pur1", "match": { "extensions": [ ".tbl" ] }, "target": { "kind": "section", "section": "30" }, "annotation": { "title": "编号 30 表项", "content": "以数字 30 为键的 .tbl 表项。该标签会在不同表族中复用:价格表中常选择价格档位并按等级给出数值序列,世界地图图案表中则可能选择坐标方案。必须先确定父文件用途再解释,不能把数字标签视为全局枚举。\n\n30.", "type": "text" }, "group": "tbl" }, { "id": "tbl.section.4.dlxun7", "match": { "extensions": [ ".tbl" ] }, "target": { "kind": "section", "section": "4" }, "annotation": { "title": "编号 4 表项", "content": "以数字 4 为键的 .tbl 表项。该标签会在不同表族中复用:价格表中常选择价格档位并按等级给出数值序列,世界地图图案表中则可能选择坐标方案。必须先确定父文件用途再解释,不能把数字标签视为全局枚举。", "type": "text" }, "group": "tbl" }, { "id": "tbl.section.5.dby8y8", "match": { "extensions": [ ".tbl" ] }, "target": { "kind": "section", "section": "5" }, "annotation": { "title": "编号 5 表项", "content": "以数字 5 为键的 .tbl 表项。该标签会在不同表族中复用:价格表中常选择价格档位并按等级给出数值序列,世界地图图案表中则可能选择坐标方案。必须先确定父文件用途再解释,不能把数字标签视为全局枚举。\n\n5.", "type": "text" }, "group": "tbl" }, { "id": "tbl.section.6.e5x215", "match": { "extensions": [ ".tbl" ] }, "target": { "kind": "section", "section": "6" }, "annotation": { "title": "编号 6 表项", "content": "以数字 6 为键的 .tbl 表项。该标签会在不同表族中复用:价格表中常选择价格档位并按等级给出数值序列,世界地图图案表中则可能选择坐标方案。必须先确定父文件用途再解释,不能把数字标签视为全局枚举。", "type": "text" }, "group": "tbl" }, { "id": "tbl.section.7.dvxgc6", "match": { "extensions": [ ".tbl" ] }, "target": { "kind": "section", "section": "7" }, "annotation": { "title": "编号 7 表项", "content": "以数字 7 为键的 .tbl 表项。该标签会在不同表族中复用:价格表中常选择价格档位并按等级给出数值序列,世界地图图案表中则可能选择坐标方案。必须先确定父文件用途再解释,不能把数字标签视为全局枚举。\n\n7.", "type": "text" }, "group": "tbl" }, { "id": "tbl.section.8.gxt2yv", "match": { "extensions": [ ".tbl" ] }, "target": { "kind": "section", "section": "8" }, "annotation": { "title": "编号 8 表项", "content": "以数字 8 为键的 .tbl 表项。该标签会在不同表族中复用:价格表中常选择价格档位并按等级给出数值序列,世界地图图案表中则可能选择坐标方案。必须先确定父文件用途再解释,不能把数字标签视为全局枚举。", "type": "text" }, "group": "tbl" }, { "id": "tbl.section.9.gnth9w", "match": { "extensions": [ ".tbl" ] }, "target": { "kind": "section", "section": "9" }, "annotation": { "title": "编号 9 表项", "content": "以数字 9 为键的 .tbl 表项。该标签会在不同表族中复用:价格表中常选择价格档位并按等级给出数值序列,世界地图图案表中则可能选择坐标方案。必须先确定父文件用途再解释,不能把数字标签视为全局枚举。", "type": "text" }, "group": "tbl" }, { "id": "tbl.section.a.1r9wi7", "match": { "extensions": [ ".tbl" ] }, "target": { "kind": "section", "section": "a" }, "annotation": { "title": "世界地图图案 A 坐标表", "content": "世界地图图案 A 的坐标序列。数值以成对坐标组织并描述多个绘制点或区域;具体坐标原点、缩放和点组边界需客户端布局逻辑验证。\n\n一个", "type": "text" }, "group": "tbl" }, { "id": "tbl.section.adjust-hp-gauge.4prza5", "match": { "extensions": [ ".tbl" ] }, "target": { "kind": "section", "section": "adjust hp gauge" }, "annotation": { "title": "血条显示比率", "content": "血条显示比率:调整怪物 Boss 血条在 UI 中的显示倍率。用于控制 Boss 血条相对于标准血条的显示大小。\n\n血条显示比率", "type": "text" }, "group": "tbl" }, { "id": "tbl.section.b.1s3vba", "match": { "extensions": [ ".tbl" ] }, "target": { "kind": "section", "section": "b" }, "annotation": { "title": "世界地图图案 B 坐标表", "content": "世界地图图案 B 的坐标序列,与 [A] 为并列图案方案。应保持成对坐标及原有顺序,不能当作通用字母枚举。", "type": "text" }, "group": "tbl" }, { "id": "tbl.section.boss.1m513p", "match": { "extensions": [ ".tbl" ] }, "target": { "kind": "section", "section": "boss" }, "annotation": { "title": "BOSS 标记", "content": "BOSS 标记:标识该怪物为副本 Boss。与普通怪物区分,通常影响 UI 显示(如 Boss 血条位置)、掉落规则和副本通关条件等。\n\n老板", "type": "text" }, "group": "tbl" }, { "id": "tbl.section.dungeon-party-balance.1hhm5o", "match": { "extensions": [ ".tbl" ] }, "target": { "kind": "section", "section": "dungeon party balance" }, "annotation": { "title": "组队难度平衡", "content": "组队难度平衡:按照组队人数动态调整副本难度。\n\n配置格式:按等级段分段,每个等级段内 4 个数值为一组,每组第一个数代表组队人数(1-4人),后续数值定义该人数下的难度修正系数。\n\n典型等级段划分:1-50级、51-60级、61-70级、71-90级、91-200级。\n\n按照组队人数增加难度,[dungeon party balance]这个标签下就是\n首先先把他对好格式, 先找到等级 就是这么这样很明显的数\n1-50级 51-60级 61-70级 71-90级 91-200级 分别给他们敲上回车\n然后剩下的数 按4个一组 对应定义,每组第一个数代表组队人数\n\n按照组队人数增加难度,[dungeon party balance]这个标签下就是\n\n首先先把他对好格式, 先找到等级 就是这么这样很明显的数\n\n1-50级 51-60级 61-70级 71-90级 91-200级 分别给他们敲上回车\n\n然后剩下的数 按4个一组 对应定义,每组第一个数代表组队人数", "type": "text" }, "group": "tbl" }, { "id": "tbl.section.equalization.1iahrm", "match": { "extensions": [ ".tbl" ] }, "target": { "kind": "section", "section": "equalization" }, "annotation": { "title": "战场均衡参数表", "content": "战场/混沌等模式的均衡闭合表,按等级区间、显示名称和长串属性倍率组织。列宽与属性顺序必须按目标表版本整体读取,不能仅凭相邻数值推断单列公式。\n\n均衡", "type": "text" }, "group": "tbl" }, { "id": "tbl.section.limit-slowdown.1ul1q0", "match": { "extensions": [ ".tbl" ] }, "target": { "kind": "section", "section": "limit slowdown" }, "annotation": { "title": "减速限制表", "content": "按 named、boss 等类别配置的减速限制闭合块,内部记录按等级及两个控制值重复。数值单位、上下限方向和应用时机未由表名完全闭合。\n\n极限放缓", "type": "text" }, "group": "tbl" }, { "id": "tbl.section.named.1mskgb", "match": { "extensions": [ ".tbl" ] }, "target": { "kind": "section", "section": "named" }, "annotation": { "title": "精英怪类别修正表", "content": "难度、减速限制或血条调整结构中的精英怪类别闭合子表。父块决定数列是伤害平衡、限制值还是显示倍率,不能脱离父块统一解释。\n\n命名", "type": "text" }, "group": "tbl" }, { "id": "tbl.section.repair-cost.f4fjcx", "match": { "extensions": [ ".tbl" ] }, "target": { "kind": "section", "section": "repair cost" }, "annotation": { "title": "修理费用系数", "content": "装备价格表使用的修理费用单值系数。它是价格/修理计算的静态输入之一,实际金币结果还取决于装备等级、耐久损失及运行时公式。\n\n修缮成本", "type": "text" }, "group": "tbl" }, { "id": "tbl.section.revision-table.ybfkh8", "match": { "extensions": [ ".tbl" ] }, "target": { "kind": "section", "section": "revision table" }, "annotation": { "title": "数值修正表", "content": "数值修正表:按层数(每行一层)修正角色/怪物/APC 的属性倍率。\n\n各列含义:\n- [0] 伤害 [1] 防御 [2] HP [3] 力量 [4] 体力 [5] 智力 [6] 精神\n- [7] 物理绝对伤害 [8] 物理伤害修正 [9] 魔法绝对伤害 [10] 魔法伤害修正 [11] 状态异常伤害修正 [12] MP\n\n首行用 `character`/`monster`/`apc` 指定修正对象类型。典型用例:死亡之塔等特殊副本的层数修正。\n\n#### 官方示例: table/lorien.tbl\n\n```pvf\n// 死亡之塔修正表。死亡之塔用户侧。适用于用户角色和用户角色召唤的怪物。召唤物,召唤APC\n// [0]伤害 [1]防御 [2]HP [3]力量 [4]体力 [5]智力 [6]精神\n// [7]物理绝对伤害 [8]物理伤害修正 [9]魔法绝对伤害 [10]魔法伤害修正 [11]状态异常伤害修正 [12] MP\n[Revision Table] `character`\t//`monster` //`apc`\n239.80 \t50\t180.21\t29.72\t29.72\t28.96\t26.21\t4.51\t4.51\t4.51\t4.51\t47.96\t1.0\n145.04 \t25\t138.39\t18.72\t18.74\t18.43\t17.27\t4.06\t4.06\t4.06\t4.06\t29.49\t1.0\n...\n0.37\t0.51\t5.88\t0.51\t0.51\t0.51\t0.51\t0.38\t0.38\t0.38\t0.38\t0.37\t1.0\n[/Revision Table]\n```\n\n//\n\n```pvf\n// 死亡之塔修正表。死亡之塔用户侧。适用于用户角色和用户角色召唤的怪物。召唤物,召唤APC\n// [0]伤害 [1]防御 [2]HP [3]力量 [4]体力 [5]智力 [6]精神\n// [7]物理绝对伤害 [8]物理伤害修正 [9]魔法绝对伤害 [10]魔法伤害修正 [11]状态异常伤害修正 [12] MP\n[Revision Table] `character`\t//`monster` //`apc`\n239.80 \t50\t180.21\t29.72\t29.72\t28.96\t26.21\t4.51\t4.51\t4.51\t4.51\t47.96\t1.0\n145.04 \t25\t138.39\t18.72\t18.74\t18.43\t17.27\t4.06\t4.06\t4.06\t4.06\t29.49\t1.0\n102.35 \t16.67\t112.32\t13.67\t13.68\t13.52\t12.89\t3.69\t3.69\t3.69\t3.69\t21.16\t1.0\n78.08 \t12.5\t94.515\t10.76\t10.77\t10.67\t10.28\t3.38\t3.38\t3.38\t3.38\t16.42\t1.0\n62.44 \t10\t81.585\t8.88\t8.89\t8.82\t8.55\t3.12\t3.12\t3.12\t3.12\t13.36\t1.0\n41.48 \t8.33\t71.775\t7.56\t7.56\t7.51\t7.32\t2.9\t2.9\t2.9\t2.9\t11.23\t1.0\n35.09 \t7.14\t64.065\t6.58\t6.58\t6.54\t6.4\t2.71\t2.71\t2.71\t2.71\t9.66\t1.0\n30.18 \t6.25\t57.84\t5.82\t5.82\t5.8\t5.69\t2.54\t2.54\t2.54\t2.54\t8.45\t1.0\n26.33 \t5.56\t52.725\t5.22\t5.22\t5.2\t5.12\t2.39\t2.39\t2.39\t2.39\t7.5\t1.0\n23.18 \t5\t48.45\t4.73\t4.74\t4.72\t4.65\t2.26\t2.26\t2.26\t2.26\t6.72\t1.0\n15.76 \t4.55\t44.805\t4.33\t4.33\t4.32\t4.26\t2.14\t2.14\t2.14\t2.14\t6.08\t1.0\n14.13 \t4.17\t41.67\t3.99\t3.99\t3.98\t3.93\t2.03\t2.03\t2.03\t2.03\t5.54\t1.0\n12.78 \t3.85\t38.955\t3.7\t3.7\t3.69\t3.65\t1.93\t1.93\t1.93\t1.93\t5.09\t1.0\n11.58 \t3.57\t36.57\t3.45\t3.45\t3.44\t3.41\t1.85\t1.85\t1.85\t1.85\t4.69\t1.0\n\n#### 官方示例: dungeonsample.dgn\n\n```pvf\n[revision table] `Dungeon/Act1/table/Lorien.tbl` // 指定修正表路径。\n```\n\n```pvf\n// 死亡之塔修正表。死亡之塔用户侧。适用于用户角色和用户角色召唤的怪物。召唤物,召唤APC\n// [0]伤害 [1]防御 [2]HP [3]力量 [4]体力 [5]智力 [6]精神\n// [7]物理绝对伤害 [8]物理伤害修正 [9]魔法绝对伤害 [10]魔法伤害修正 [11]状态异常伤害修正 [12] MP\n[Revision Table] `character`\t//`monster` //`apc`\n239.80 \t50\t180.21\t29.72\t29.72\t28.96\t26.21\t4.51\t4.51\t4.51\t4.51\t47.96\t1.0\n145.04 \t25\t138.39\t18.72\t18.74\t18.43\t17.27\t4.06\t4.06\t4.06\t4.06\t29.49\t1.0\n102.35 \t16.67\t112.32\t13.67\t13.68\t13.52\t12.89\t3.69\t3.69\t3.69\t3.69\t21.16\t1.0\n78.08 \t12.5\t94.515\t10.76\t10.77\t10.67\t10.28\t3.38\t3.38\t3.38\t3.38\t16.42\t1.0\n62.44 \t10\t81.585\t8.88\t8.89\t8.82\t8.55\t3.12\t3.12\t3.12\t3.12\t13.36\t1.0\n41.48 \t8.33\t71.775\t7.56\t7.56\t7.51\t7.32\t2.9\t2.9\t2.9\t2.9\t11.23\t1.0\n35.09 \t7.14\t64.065\t6.58\t6.58\t6.54\t6.4\t2.71\t2.71\t2.71\t2.71\t9.66\t1.0\n30.18 \t6.25\t57.84\t5.82\t5.82\t5.8\t5.69\t2.54\t2.54\t2.54\t2.54\t8.45\t1.0\n26.33 \t5.56\t52.725\t5.22\t5.22\t5.2\t5.12\t2.39\t2.39\t2.39\t2.39\t7.5\t1.0\n23.18 \t5\t48.45\t4.73\t4.74\t4.72\t4.65\t2.26\t2.26\t2.26\t2.26\t6.72\t1.0\n15.76 \t4.55\t44.805\t4.33\t4.33\t4.32\t4.26\t2.14\t2.14\t2.14\t2.14\t6.08\t1.0\n14.13 \t4.17\t41.67\t3.99\t3.99\t3.98\t3.93\t2.03\t2.03\t2.03\t2.03\t5.54\t1.0\n12.78 \t3.85\t38.955\t3.7\t3.7\t3.69\t3.65\t1.93\t1.93\t1.93\t1.93\t5.09\t1.0\n11.58 \t3.57\t36.57\t3.45\t3.45\t3.44\t3.41\t1.85\t1.85\t1.85\t1.85\t4.69\t1.0\n10.56 \t3.33\t34.455\t3.23\t3.23\t3.22\t3.19\t1.77\t1.77\t1.77\t1.77\t4.35\t1.0\n8.27 \t3.13\t32.565\t3.03\t3.04\t3.03\t3\t1.69\t1.69\t1.69\t1.69\t4.05\t1.0\n7.60 \t2.94\t30.885\t2.86\t2.86\t2.86\t2.84\t1.62\t1.62\t1.62\t1.62\t3.78\t1.0\n7.01 \t2.78\t29.355\t2.71\t2.71\t2.71\t2.69\t1.56\t1.56\t1.56\t1.56\t3.54\t1.0\n6.49 \t2.63\t27.99\t2.57\t2.57\t2.57\t2.55\t1.5\t1.5\t1.5\t1.5\t3.33\t1.0\n6.02 \t2.5\t26.73\t2.45\t2.45\t2.45\t2.43\t1.45\t1.45\t1.45\t1.45\t3.14\t1.0\n4.73 \t2.38\t25.59\t2.34\t2.34\t2.33\t2.32\t1.4\t1.4\t1.4\t1.4\t2.97\t1.0\n4.42 \t2.27\t24.525\t2.23\t2.23\t2.23\t2.22\t1.35\t1.35\t1.35\t1.35\t2.81\t1.0\n4.14 \t2.17\t23.565\t2.14\t2.14\t2.14\t2.13\t1.31\t1.31\t1.31\t1.31\t2.67\t1.0\n3.89 \t2.08\t22.665\t2.05\t2.05\t2.05\t2.04\t1.27\t1.27\t1.27\t1.27\t2.54\t1.0\n3.65 \t2\t21.84\t1.97\t1.97\t1.97\t1.96\t1.23\t1.23\t1.23\t1.23\t2.42\t1.0\n3.43 \t1.92\t21.06\t1.9\t1.9\t1.9\t1.89\t1.19\t1.19\t1.19\t1.19\t2.3\t1.0\n3.23 \t1.85\t20.34\t1.83\t1.83\t1.83\t1.82\t1.16\t1.16\t1.16\t1.16\t2.2\t1.0\n3.06 \t1.79\t19.68\t1.77\t1.77\t1.77\t1.76\t1.13\t1.13\t1.13\t1.13\t2.11\t1.0\n2.89 \t1.72\t19.05\t1.71\t1.71\t1.71\t1.7\t1.1\t1.1\t1.1\t1.1\t2.02\t1.0\n2.73 \t1.67\t18.45\t1.65\t1.65\t1.65\t1.65\t1.07\t1.07\t1.07\t1.07\t1.94\t1.0\n2.58 \t1.61\t17.91\t1.6\t1.6\t1.6\t1.59\t1.04\t1.04\t1.04\t1.04\t1.86\t1.0\n2.45 \t1.56\t17.385\t1.55\t1.55\t1.55\t1.55\t1.02\t1.02\t1.02\t1.02\t1.79\t1.0\n2.32 \t1.52\t16.89\t1.5\t1.5\t1.5\t1.5\t0.99\t0.99\t0.99\t0.99\t1.72\t1.0\n2.20 \t1.47\t16.425\t1.46\t1.46\t1.46\t1.46\t0.97\t0.97\t0.97\t0.97\t1.66\t1.0\n2.09 \t1.43\t15.99\t1.42\t1.42\t1.42\t1.42\t0.94\t0.94\t0.94\t0.94\t1.6\t1.0\n1.98 \t1.39\t15.57\t1.38\t1.38\t1.38\t1.38\t0.92\t0.92\t0.92\t0.92\t1.54\t1.0\n1.89 \t1.35\t15.165\t1.34\t1.34\t1.34\t1.34\t0.9\t0.9\t0.9\t0.9\t1.49\t1.0\n1.79 \t1.32\t14.79\t1.31\t1.31\t1.31\t1.31\t0.88\t0.88\t0.88\t0.88\t1.44\t1.0\n1.70 \t1.28\t14.43\t1.28\t1.28\t1.28\t1.28\t0.86\t0.86\t0.86\t0.86\t1.39\t1.0\n1.61 \t1.25\t14.1\t1.25\t1.25\t1.25\t1.24\t0.85\t0.85\t0.85\t0.85\t1.34\t1.0\n1.54 \t1.22\t13.77\t1.22\t1.22\t1.22\t1.21\t0.83\t0.83\t0.83\t0.83\t1.3\t1.0\n1.47 \t1.19\t13.455\t1.19\t1.19\t1.19\t1.19\t0.81\t0.81\t0.81\t0.81\t1.26\t1.0\n1.39 \t1.16\t13.155\t1.16\t1.16\t1.16\t1.16\t0.8\t0.8\t0.8\t0.8\t1.22\t1.0\n1.34 \t1.14\t12.87\t1.13\t1.13\t1.13\t1.13\t0.78\t0.78\t0.78\t0.78\t1.19\t1.0\n1.27 \t1.11\t12.6\t1.11\t1.11\t1.11\t1.11\t0.77\t0.77\t0.77\t0.77\t1.15\t1.0\n1.21 \t1.09\t12.345\t1.09\t1.09\t1.09\t1.09\t0.75\t0.75\t0.75\t0.75\t1.12\t1.0\n1.16 \t1.06\t12.09\t1.06\t1.06\t1.06\t1.06\t0.74\t0.74\t0.74\t0.74\t1.09\t1.0\n1.10 \t1.04\t11.85\t1.04\t1.04\t1.04\t1.04\t0.73\t0.73\t0.73\t0.73\t1.06\t1.0\n1.05 \t1.02\t11.625\t1.02\t1.02\t1.02\t1.02\t0.71\t0.71\t0.71\t0.71\t1.03\t1.0\n1\t1\t11.4\t1\t1\t1\t1\t0.7\t0.7\t0.7\t0.7\t1\t1.0\n0.97\t0.98\t11.19\t0.98\t0.98\t0.98\t0.98\t0.69\t0.69\t0.69\t0.69\t0.97\t1.0\n0.95\t0.96\t10.98\t0.96\t0.96\t0.96\t0.96\t0.68\t0.68\t0.68\t0.68\t0.95\t1.0\n0.92\t0.94\t10.785\t0.94\t0.94\t0.94\t0.94\t0.67\t0.67\t0.67\t0.67\t0.92\t1.0\n0.9\t0.93\t10.59\t0.93\t0.93\t0.93\t0.93\t0.65\t0.65\t0.65\t0.65\t0.9\t1.0\n0.88\t0.91\t10.41\t0.91\t0.91\t0.91\t0.91\t0.64\t0.64\t0.64\t0.64\t0.88\t1.0\n0.86\t0.89\t10.23\t0.89\t0.89\t0.89\t0.89\t0.63\t0.63\t0.63\t0.63\t0.86\t1.0\n0.84\t0.88\t10.05\t0.88\t0.88\t0.88\t0.88\t0.62\t0.62\t0.62\t0.62\t0.84\t1.0\n0.82\t0.86\t9.885\t0.86\t0.86\t0.86\t0.86\t0.62\t0.62\t0.62\t0.62\t0.82\t1.0\n0.8\t0.85\t9.72\t0.85\t0.85\t0.85\t0.85\t0.61\t0.61\t0.61\t0.61\t0.8\t1.0\n0.78\t0.83\t9.57\t0.84\t0.84\t0.84\t0.84\t0.6\t0.6\t0.6\t0.6\t0.78\t1.0\n0.76\t0.82\t9.42\t0.82\t0.82\t0.82\t0.82\t0.59\t0.59\t0.59\t0.59\t0.76\t1.0\n0.74\t0.81\t9.27\t0.81\t0.81\t0.81\t0.81\t0.58\t0.58\t0.58\t0.58\t0.74\t1.0\n0.73\t0.79\t9.135\t0.8\t0.8\t0.8\t0.8\t0.57\t0.57\t0.57\t0.57\t0.73\t1.0\n0.71\t0.78\t9\t0.78\t0.78\t0.78\t0.78\t0.56\t0.56\t0.56\t0.56\t0.71\t1.0\n0.7\t0.77\t8.865\t0.77\t0.77\t0.77\t0.77\t0.56\t0.56\t0.56\t0.56\t0.7\t1.0\n0.68\t0.76\t8.73\t0.76\t0.76\t0.76\t0.76\t0.55\t0.55\t0.55\t0.55\t0.68\t1.0\n0.67\t0.75\t8.61\t0.75\t0.75\t0.75\t0.75\t0.54\t0.54\t0.54\t0.54\t0.67\t1.0\n0.65\t0.74\t8.475\t0.74\t0.74\t0.74\t0.74\t0.53\t0.53\t0.53\t0.53\t0.65\t1.0\n0.64\t0.72\t8.37\t0.73\t0.73\t0.73\t0.73\t0.53\t0.53\t0.53\t0.53\t0.64\t1.0\n0.63\t0.71\t8.25\t0.72\t0.72\t0.72\t0.72\t0.52\t0.52\t0.52\t0.52\t0.63\t1.0\n0.61\t0.7\t8.13\t0.71\t0.71\t0.71\t0.71\t0.51\t0.51\t0.51\t0.51\t0.61\t1.0\n0.6\t0.69\t8.025\t0.7\t0.7\t0.7\t0.7\t0.51\t0.51\t0.51\t0.51\t0.6\t1.0\n0.59\t0.68\t7.92\t0.69\t0.69\t0.69\t0.69\t0.5\t0.5\t0.5\t0.5\t0.59\t1.0\n0.58\t0.68\t7.815\t0.68\t0.68\t0.68\t0.68\t0.5\t0.5\t0.5\t0.5\t0.58\t1.0\n0.57\t0.67\t7.71\t0.67\t0.67\t0.67\t0.67\t0.49\t0.49\t0.49\t0.49\t0.57\t1.0\n0.56\t0.66\t7.62\t0.66\t0.66\t0.66\t0.66\t0.48\t0.48\t0.48\t0.48\t0.56\t1.0\n0.54\t0.65\t7.515\t0.65\t0.65\t0.65\t0.65\t0.48\t0.48\t0.48\t0.48\t0.54\t1.0\n0.53\t0.64\t7.425\t0.64\t0.64\t0.64\t0.65\t0.47\t0.47\t0.47\t0.47\t0.53\t1.0\n0.52\t0.63\t7.335\t0.64\t0.64\t0.64\t0.64\t0.47\t0.47\t0.47\t0.47\t0.52\t1.0\n0.52\t0.63\t7.245\t0.63\t0.63\t0.63\t0.63\t0.46\t0.46\t0.46\t0.46\t0.52\t1.0\n0.51\t0.62\t7.155\t0.62\t0.62\t0.62\t0.62\t0.46\t0.46\t0.46\t0.46\t0.51\t1.0\n0.5\t0.61\t7.08\t0.61\t0.61\t0.61\t0.61\t0.45\t0.45\t0.45\t0.45\t0.5\t1.0\n0.49\t0.6\t6.99\t0.61\t0.61\t0.61\t0.61\t0.45\t0.45\t0.45\t0.45\t0.49\t1.0\n0.48\t0.6\t6.915\t0.6\t0.6\t0.6\t0.6\t0.44\t0.44\t0.44\t0.44\t0.48\t1.0\n0.47\t0.59\t6.825\t0.59\t0.59\t0.59\t0.59\t0.44\t0.44\t0.44\t0.44\t0.47\t1.0\n0.46\t0.58\t6.75\t0.58\t0.58\t0.59\t0.59\t0.43\t0.43\t0.43\t0.43\t0.46\t1.0\n0.45\t0.57\t6.675\t0.58\t0.58\t0.58\t0.58\t0.43\t0.43\t0.43\t0.43\t0.45\t1.0\n0.45\t0.57\t6.6\t0.57\t0.57\t0.57\t0.57\t0.42\t0.42\t0.42\t0.42\t0.45\t1.0\n0.44\t0.56\t6.525\t0.57\t0.57\t0.57\t0.57\t0.42\t0.42\t0.42\t0.42\t0.44\t1.0\n0.43\t0.56\t6.465\t0.56\t0.56\t0.56\t0.56\t0.41\t0.41\t0.41\t0.41\t0.43\t1.0\n0.43\t0.55\t6.39\t0.55\t0.55\t0.55\t0.55\t0.41\t0.41\t0.41\t0.41\t0.43\t1.0\n0.42\t0.54\t6.33\t0.55\t0.55\t0.55\t0.55\t0.41\t0.41\t0.41\t0.41\t0.42\t1.0\n0.41\t0.54\t6.255\t0.54\t0.54\t0.54\t0.54\t0.4\t0.4\t0.4\t0.4\t0.41\t1.0\n0.4\t0.53\t6.195\t0.54\t0.54\t0.54\t0.54\t0.4\t0.4\t0.4\t0.4\t0.4\t1.0\n0.4\t0.53\t6.135\t0.53\t0.53\t0.53\t0.53\t0.39\t0.39\t0.39\t0.39\t0.4\t1.0\n0.39\t0.52\t6.06\t0.52\t0.52\t0.52\t0.53\t0.39\t0.39\t0.39\t0.39\t0.39\t1.0\n0.39\t0.52\t6\t0.52\t0.52\t0.52\t0.52\t0.39\t0.39\t0.39\t0.39\t0.39\t1.0\n0.38\t0.51\t5.94\t0.51\t0.51\t0.51\t0.51\t0.38\t0.38\t0.38\t0.38\t0.38\t1.0\n0.37\t0.51\t5.88\t0.51\t0.51\t0.51\t0.51\t0.38\t0.38\t0.38\t0.38\t0.37\t1.0\n[/Revision Table]\n```", "type": "text" }, "group": "tbl" }, { "id": "tbl.section.slave-hp-equalization.sr0ta0", "match": { "extensions": [ ".tbl" ] }, "target": { "kind": "section", "section": "slave hp equalization" }, "annotation": { "title": "从属对象 HP 均衡系数", "content": "均衡表中的从属/召唤对象 HP 修正入口,已见为单个倍率值。slave 的精确对象范围及倍率应用顺序需运行时验证。\n\n奴隶HP均衡", "type": "text" }, "group": "tbl" }, { "id": "tbl.section.wp-table.17yf8q", "match": { "extensions": [ ".tbl" ] }, "target": { "kind": "section", "section": "wp table" }, "annotation": { "title": "战场 WP 参数表", "content": "战场 WP 系统的闭合数值表,内容按固定宽度的多组阈值/奖励或消耗参数展开。字段名不足以闭合每列含义,修改时必须保持组宽和顺序。\n\nWP表", "type": "text" }, "group": "tbl" }, { "id": "twn.section.area.170ube", "match": { "extensions": [ ".twn" ] }, "target": { "kind": "section", "section": "area" }, "annotation": { "title": "城镇区域定义块", "content": "城镇区域闭合块。官方样例依次给出从 0 连续编号的 area 索引、map/ 下的直接地图路径、可选 [minimap rect](各 step 的起点/终点 X/Y),再给区域类型 token;类型可为 normal、gate、fishing place、pub、dungeon gate,后续整数按类型解释。dungeon gate 的入口数字需通过 worldmap/worldmap.lst 解析;静态配置不证明移动、传送或 UI 正常。\n\n#### 官方示例: townsample.twn\n\n```pvf\n[area]\t\t\t\t\t\t// 区域 (AREA) 的一个信息\n0\t\t\t\t\t\t// 索引。从 0 开始并使用连续的值\n`Town/HendonMyre/Gate.map`\t\t\t// 地图脚本文件名称 (Script/Map 下的相对路径)\n`[minimap rect]`\n1000\t100\t\t2500\t500\t\t\t// 起点(x, y) 终点(x, y) step 0\n100\t\t10\t\t250\t\t50\t\t\t// 起点(x, y) 终点(x, y) step 1\n`[/minimap rect]`\n`[gate]`\t\t\t\t\t// 区域类型。在 `[normal]` `[gate]` `[fishing place]` `[pub]` `[dungeon gate]` 中选择\n273\t\t\t\t\t\t// 根据区域类型的整数数据。使用方法在最底部\n222\n[/area]\n```\n\n城镇区域(减号代表制表符)\n\n城镇区域(减号代表制表符)\n-数字,意思是小区域的编号\n-xxx/xxx.map,意思是这个小区域的map文件,不能直接转到,需要复制文件名搜索文件名\n-`[minimap rect]`,这个什么用都没有,猜测是在迷你地图里鼠标右键点击可以自动寻路的一个东西,\n但台服好像不能在地图上自动寻路,即使全部删掉也能正常游戏,跟正常跑五国,不过不建议删掉\n-[dungeon gate] 表示连接到worldmap选图界面的ID 19 (worldmap/worldmap.lst)\n-[gate] 城镇内传送门\n474 234 (赛丽亚房间门)\n\n官方示例:\n#### 官方示例: townsample.twn\n\n-数字,意思是小区域的编号\n\n-xxx/xxx.map,意思是这个小区域的map文件,不能直接转到,需要复制文件名搜索文件名\n\n-`[minimap rect]`,这个什么用都没有,猜测是在迷你地图里鼠标右键点击可以自动寻路的一个东西,但台服好像不能在地图上自动寻路,即使全部删掉也能正常游戏,跟正常跑五国,不过不建议删掉\n\n-`[gate]`-数字-数\n\n-[dungeon gate]表示连接到worldmap选图界面的ID19-worldmap/worldmap.lst)\n-'[gate]' 474 234 (城镇地图之一)\n\n-[dungeon gate]表示连接到worldmap选图界面的ID19-worldmap/worldmap.lst)\n\n-'[gate]' 474 234 (城镇地图之一)\n\n-[dungeon gate] 表示连接到worldmap选图界面的ID 19 (worldmap/worldmap.lst)\n-[gate] 474 234(城镇地图之一)\n\n-[dungeon gate] 表示连接到worldmap选图界面的ID 19 (worldmap/worldmap.lst)\n-[gate] 474 234(城镇街道上的传送门,两个数值猜测是坐标)\n\n-[dungeon gate] 表示连接到worldmap选图界面的ID 19 (worldmap/worldmap.lst)\n-[gate] 城镇街道上的传送门\n474 234\n\n-[dungeon gate] 表示连接到worldmap选图界面的ID 19 (worldmap/worldmap.lst)\n-[gate] 474 234 (城镇地图区域之一)\n\n-[dungeon gate] 表示连接到worldmap选图界面的ID 19 (worldmap/worldmap.lst)\n-[gate] 城镇内传送门\n474 234 (赛丽亚传送门)\n\n-[dungeon gate] 表示连接到worldmap选图界面的ID 19 (worldmap/worldmap.lst)\n-[gate] 城镇内传送门\n474 234 (赛丽亚房间门)\n\n-[dungeon gate] 表示连接到worldmap选图界面的ID 19 (worldmap/worldmap.lst)\n-[gate] 城镇区域传送门\n474 234 (赛丽亚房间门)\n\n#### 官方示例: actionsample.act\n\n```pvf\n[AREA] 100 0 0 800 400 0 // 可移动的区域\n```", "type": "text" }, "group": "twn" }, { "id": "twn.section.cutscene-image.1v0ypr", "match": { "extensions": [ ".twn" ] }, "target": { "kind": "section", "section": "cutscene image" }, "annotation": { "title": "过场图像", "content": "过场图像:进入该城镇时播放的过场画面。第一个参数为 IMG 文件名,第二个参数为帧索引。\n\n#### 官方示例: townsample.twn\n\n```pvf\n[cutscene image] `CutScene.img` 0\t\t\t// 过场图像文件名称,帧索引\n```\n\n过场图像文件名称\n\n官方示例:\n#### 官方示例: townsample.twn\n\n进入新城镇时的过场动画图像\n进图画面\n\n#### 官方示例: dungeonsample_new_drop.dgn\n\n```pvf\n[cutscene image] `CutScene.img` 0 // 过场图像文件名,帧索引\n```\n\n#### 官方示例: dungeonsample.dgn", "type": "text" }, "group": "twn" }, { "id": "twn.section.dungeon-what-must-be-cleared.z5c94r", "match": { "extensions": [ ".twn" ] }, "target": { "kind": "section", "section": "dungeon what must be cleared" }, "annotation": { "title": "前置副本要求", "content": "前置副本要求:进入该城镇前必须通关的副本索引。值为 -1 时表示无前置副本要求,可直接进入。\n\n#### 官方示例: townsample.twn\n\n```pvf\n[dungeon what must be cleared] -1\t\t\t\t\t// 为进入而必须清除的地下城索引。-1 表示无\n```\n\n为进入而必须清除的地下城索引", "type": "text" }, "group": "twn" }, { "id": "twn.section.entering-title.8k3o91", "match": { "extensions": [ ".twn" ] }, "target": { "kind": "section", "section": "entering title" }, "annotation": { "title": "进入城镇时的标题动画", "content": "进入城镇时的标题动画\n例如:埃尔文防线,赫顿马尔,这些大字\n\n#### 官方示例: townsample.twn\n\n```pvf\n[entering title] `TitleAnimation/HendonMyre.ani`\t// 用作标题的动画。将动画的中心对准屏幕中央。\n```\n\n进入城镇时的标题动画\n\n官方示例:\n#### 官方示例: townsample.twn\n\n例如:埃尔文防线,赫顿马尔,这些大字\n\n#### 官方示例: dungeonsample_new_drop.dgn\n\n```pvf\n[entering title] `Title.ani` // 用作标题的动画。将动画中心对准屏幕中央。\n```\n\n#### 官方示例: dungeonsample.dgn", "type": "text" }, "group": "twn" }, { "id": "twn.section.exceptional-character.1jvh3a", "match": { "extensions": [ ".twn" ] }, "target": { "kind": "section", "section": "exceptional character" }, "annotation": { "title": "特色", "type": "text" }, "group": "twn" }, { "id": "twn.section.limit-level.141827", "match": { "extensions": [ ".twn" ] }, "target": { "kind": "section", "section": "limit level" }, "annotation": { "title": "城镇进入等级限制", "content": "城镇或入口层级的单数值等级限制线索。静态数值不证明服务端最终放行、任务条件或角色能实际到达。\n\n进入需要的等级", "type": "text" }, "group": "twn" }, { "id": "twn.section.need-quest.d5pycn", "match": { "extensions": [ ".twn" ] }, "target": { "kind": "section", "section": "need quest" }, "annotation": { "title": "城镇进入任务条件", "content": "城镇进入所需的任务 ID 条件线索。数字必须通过任务 registry 解析;静态配置不证明任务已接、已完成或服务端允许进入。\n\n需要任务", "type": "text" }, "group": "twn" }, { "id": "twn.section.only-server-parsing-dungeon-what-must-be-cleared.1fyu1c", "match": { "extensions": [ ".twn" ] }, "target": { "kind": "section", "section": "only server parsing dungeon what must be cleared" }, "annotation": { "title": "服务端解析的前置副本条件", "content": "倾向由服务端解析的前置副本清理条件。数字应通过 dungeon/dungeon.lst 复核;静态存在不能证明服务端实际执行、账号进度或入口放行。\n\n只有服务器解析什么地牢必须清除", "type": "text" }, "group": "twn" }, { "id": "vm.section.material.1mik50", "match": { "extensions": [ ".vm" ] }, "target": { "kind": "section", "section": "material" }, "annotation": { "title": "所需材料", "content": "// 表示是怪兽卡!!\n\n#### 官方示例: compoundavatarsample.etc\n\n```pvf\n// 使用的材料物品信息\n[material]\n1 // 使用的材料数量\n\n1000 1 // 索引,数量\n[/material]\n```", "type": "text" }, "group": "vm" }, { "id": "vm.section.output.xr8ow4", "match": { "extensions": [ ".vm" ] }, "target": { "kind": "section", "section": "output" }, "annotation": { "title": "4个一组", "content": "4个一组,分别为道具ID、抽中几率(最大100W),数量,是否公告(0不公告,1公告)", "type": "text" }, "group": "vm" }, { "id": "wdm.section.hell-dungeon.gklmzk", "match": { "extensions": [ ".wdm" ] }, "target": { "kind": "section", "section": "hell dungeon" }, "annotation": { "title": "副本深渊开启指向 写1代表可以开启深渊", "content": "副本深渊开启指向 写1代表可以开启深渊\n\n#### 官方示例: worldmapsample.wdm\n\n```pvf\n[hell dungeon] 1\t// 世界中是否存在深渊地下城 (1:有,0:无)\n```\n\n```pvf\n[hell dungeon] 1\t// 世界中是否存在地狱地下城 (1:有,0:无)\n```", "type": "text" }, "group": "wdm" }, { "id": "wdm.section.hell-freepass-item.1lnd61", "match": { "extensions": [ ".wdm" ] }, "target": { "kind": "section", "section": "hell freepass item" }, "annotation": { "title": "深渊破魔石代码", "content": "深渊破魔石代码,优先扣除这里,两个数一组:物品ID\t物品数量,数量必须为1,否则会不扣门票bug\n\n深渊破魔石代码", "type": "text" }, "group": "wdm" }, { "id": "wdm.section.hell-quest.1copuw", "match": { "extensions": [ ".wdm" ] }, "target": { "kind": "section", "section": "hell quest" }, "annotation": { "title": "深渊任务索引", "content": "深渊任务索引:必须完成列表中指定的任务后,才能进入该区域的深渊(深渊)模式地下城。列表中的数字为任务 ID。\n\n#### 官方示例: worldmapsample.wdm\n\n```pvf\n[hell quest]\t\t// 深渊任务索引:必须完成该任务才能进入深渊地下城\n2601\n[/hell quest]\n```\n\n地狱任务索引\n\n```pvf\n[hell quest]\t\t// 地狱任务索引:必须完成该任务才能进入地狱地下城\n2601\n[/hell quest]\n```", "type": "text" }, "group": "wdm" }, { "id": "wdm.section.in-progress.1x9gm1", "match": { "extensions": [ ".wdm" ] }, "target": { "kind": "section", "section": "in progress" }, "annotation": { "title": "进行中", "content": "进行中\n\n#### 官方示例: worldmapsample.wdm\n\n```pvf\n6 [in progress] 203\t\t// 在地下城索引和任务索引之间插入 [in progress],则仅在任务进行中时才显示该地下城\n```", "type": "text" }, "group": "wdm" }, { "id": "wdm.section.item-condition.1hsdlh", "match": { "extensions": [ ".wdm" ] }, "target": { "kind": "section", "section": "item condition" }, "annotation": { "title": "在worldmap中表示 深渊门票代码", "content": "在worldmap中表示 深渊门票代码,仅适用于冰雪宫殿以上的副本\n\n#### 官方示例: worldmapsample.wdm\n\n```pvf\n[item condition]\t// 进入深渊地下城时消耗的物品索引、数量\n4150 1\t\t\t// 如果没有该物品,则无法进入深渊地下城。\n[/item condition]\n```\n\n在worldmap中表示 深渊门票代码\n\n```pvf\n[item condition]\t// 进入地狱地下城时消耗的物品索引、数量\n4150 1\t\t\t// 如果没有该物品,则无法进入地狱地下城。\n[/item condition]\n```", "type": "text" }, "group": "wdm" }, { "id": "wdm.section.map-image.faj8hk", "match": { "extensions": [ ".wdm" ] }, "target": { "kind": "section", "section": "map image" }, "annotation": { "title": "选择副本的背景图", "content": "选择副本的背景图\n\n#### 官方示例: worldmapsample.wdm\n\n```pvf\n[map image] `Map.img` 0\t// 地图图像文件名称,帧索引\n```", "type": "text" }, "group": "wdm" }, { "id": "wdm.section.ui-path.1csq97", "match": { "extensions": [ ".wdm" ] }, "target": { "kind": "section", "section": "ui path" }, "annotation": { "title": "UI路径", "type": "text" }, "group": "wdm" } ] }