当前位置 : 145z游戏站 | 热血传奇 | 技术教程 | 

传奇服务端词条脚本配置与使用全流程

热度:
一、词条脚本的本质与存放位置

“词条脚本”并非独立程序,而是服务端通过全局功能脚本(QFunction-0.txt)监听装备穿戴/脱下事件,动态修改人物属性的规则集。所有触发逻辑均写在D:\MirServer\Mir200\Envir\Market_Def\QFunction-0.txt文件中。

关键路径说明
•脚本文件:Mir200\Envir\Market_Def\QFunction-0.txt

•数据库关联:StdItems.DB中的物品名称必须与脚本内的名称严格一致(区分大小写)。

二、基础穿戴触发脚本写法

以“屠龙刀佩戴后增加100点HP,脱下后还原”为例,演示标准格式。

1.穿戴触发([@TakeOnX])
X代表装备位置编号(武器=1,衣服=0,项链=3,头盔=4,手镯=5/6,戒指=7/8)。
[@TakeOn1]//1代表武器位置
#IF
CheckItemw屠龙//检测当前武器是否为屠龙
#ACT
ChangeHumAbility11+100//11代表MaxHP,增加100点
SendMsg5触发词条:血量+100
Break

2.脱下触发([@TakeOffX])
必须对应设置脱下逻辑,否则属性会永久保留导致BUG。
[@TakeOff1]
#IF
CheckTakeOffItem屠龙
#ACT
ChangeHumAbility11-100//减去100点HP
SendMsg5词条失效:血量恢复原状
Break

属性代码参考:1=防御下限,2=防御上限,5=攻击下限,6=攻击上限,11=MaxHP,12=MaxMP,21=幸运。

三、进阶随机词条与概率触发

若需实现“攻击时有10%概率触发致命一击”等动态效果,需结合攻击触发标签。

1.攻击触发逻辑
在QFunction-0.txt中添加[@Attack]节,配合RANDOM实现概率判定。
[@Attack]
#IF
CheckItemw倚天剑//检测武器
Random10//10%概率
#ACT
PlayEffect11//播放特效
M.HumanHP-500//对目标造成500点额外伤害
SendMsg6倚天剑词条触发:剑气纵横!
Break

2.随机属性变量
对于“鉴定类”随机词条,通常配合MOVR(随机赋值变量)实现。例如装备生成时执行MOVRS$额外攻击15,将S$额外攻击设为1-5的随机数,穿戴时通过ChangeHumAbility6+应用该变量值。

四、套装词条(多件套)配置

当穿戴多件装备激活隐藏属性时,需使用套装触发标签。

1.套装表定义
在Mir200\Envir\ItemSetList.txt中定义套装组成(如圣战套装包含项链、手镯、戒指)。
[圣战套装]
圣战项链
圣战手镯
圣战戒指

2.脚本触发
在QFunction-0.txt中监听套装激活事件(标签中的数字对应套装ID)。
[@GroupItemOn1]//套装ID=1激活
#ACT
ChangeHumAbility6+10
SendMsg5圣战套装激活:攻击上限+10

[@GroupItemOff1]//套装失效
#ACT
ChangeHumAbility6-10
Break


五、常见问题与调试

1.词条不生效
•路径错误:确认脚本是否保存在Market_Def\QFunction-0.txt,而非MapQuest_Def。

-名称不匹配:CheckItemw中的装备名必须与数据库StdItems.DB的Name字段完全一致(如“屠龙”不能写成“屠龙刀”)。
-位置码错误:手镯位置是5和6,戒指是7和8,写错位置码会导致脚本不执行。

2.属性叠加BUG
务必成对编写@TakeOnX和@TakeOffX。若只写穿戴不写脱下,角色下线再上线或切换装备时属性会重复叠加,导致数据异常。

3.重载脚本
修改QFunction-0.txt后,必须在M2引擎控制台点击“重新加载->功能脚本”或“重载QF脚本”,修改才会生效。直接重启服务端亦可。
[顶部]