传奇服属性清零石核心作用是清除装备附加属性、人物临时属性或指定属性组,脚本需基于DELATTLIST、RESET等核心命令编写,适配不同清零需求。以下为通用及专项场景脚本,适配主流M2引擎。
一、核心命令解析(清零脚本基础)
1. DELATTLIST:清除自定义属性组命令,参数为空时清除所有自定义属性组,指定名称则仅清除对应属性组,格式为「DELATTLIST 属性组名称」,适用于清除装备附加属性。
2. RESET:重置变量命令,格式为「RESET (变量起始编号) 数量」,可将指定范围变量恢复为初始值0,适用于清除人物临时属性变量。
3. TAKE/CHECKITEM:检测并扣除清零石道具,确保脚本触发需消耗对应物品,格式分别为「CHECKITEM 属性清零石 1」「TAKE 属性清零石 1」。
4. SENDMSG/MESSAGEBOX:反馈执行结果,前者为聊天框提示,后者为弹窗提示,适配不同告知场景。
二、通用属性清零石脚本(清除装备所有附加属性)
适用于清除单件装备所有自定义附加属性,需通过NPC交互触发,放入QManage.txt或自定义NPC脚本文件,路径为Mir200\Envir\Market_Def\QManage.txt。
### 完整脚本代码
#SAY
是否消耗1枚属性清零石,清除当前佩戴装备的所有附加属性?
确认清除取消操作
(@ClearEquipAttr)
#IF
CHECKITEM 属性清零石 1 // 检测是否拥有清零石
CHECKITEMW 1 // 检测是否佩戴装备
#ACT
TAKE 属性清零石 1 // 扣除清零石
DELATTLIST // 清除所有自定义属性组(无参数即全清)
SENDMSG 5 装备附加属性已全部清除,属性清零石消耗1枚。
#ELSEACT
MESSAGEBOX 道具不足或未佩戴装备,无法执行清除操作!
(@Exit)
#ACT
CLOSE // 关闭对话框
### 脚本说明
1. 触发方式:玩家点击NPC对话选择确认,即可触发属性清除,无需手动指定装备,自动识别当前佩戴装备。
2. 适配范围:可清除通过ADDATTLIST命令添加的所有自定义属性,包括攻击、防御、幸运等附加属性,不影响装备基础属性。
3. 优化调整:可将CHECKITEMW 1改为指定装备检测(如CHECKITEMW 裁决之杖),限制仅能清除特定装备属性。
三、专项属性清零脚本(清除指定属性组/临时属性)
1. 清除指定属性组脚本
针对仅清除某一属性组(如“强化属性组”“镶嵌属性组”)的需求,需明确属性组名称,脚本如下:
(@ClearSpecifyAttr)
#IF
CHECKITEM 属性清零石 1
CHECKITEMW 1
#ACT
TAKE 属性清零石 1
DELATTLIST 强化属性组 // 仅清除“强化属性组”对应的属性
SENDMSG 5 装备强化属性已清除,其他附加属性保留。
#ELSEACT
MESSAGEBOX 操作条件不满足,无法清除指定属性组!
2. 清除人物临时属性脚本
适用于清除人物临时增益属性(如buff类变量属性),通过清零石触发重置变量,脚本如下:
(@ClearTempAttr)
#IF
CHECKITEM 属性清零石 1
#ACT
TAKE 属性清零石 1
RESET (100) 5 // 重置100-104号变量,对应临时属性变量
SENDMSG 5 人物临时属性已全部清除,状态恢复初始值。
#ELSEACT
MESSAGEBOX 缺少属性清零石,无法清除临时属性!
四、进阶脚本(带成功率/条件限制的清零功能)
1. 带成功率的清零脚本
通过Random命令设置清零成功率,失败则扣除清零石但不清除属性,增加玩法随机性,脚本如下:
(@ClearWithRate)
#IF
CHECKITEM 属性清零石 1
CHECKITEMW 1
#ACT
TAKE 属性清零石 1
Random 4 // 25%成功率,数值越大成功率越低
#ACT
DELATTLIST
SENDMSG 5 恭喜!装备附加属性清除成功。
#ELSEACT
SENDMSG 5 清零失败,属性清零石已消耗,再接再厉!
#ELSEACT
MESSAGEBOX 操作条件不满足,无法尝试清除!
2. 等级限制清零脚本
限制玩家等级达到指定要求才可使用清零石,避免低等级玩家误操作,脚本如下:
(@ClearWithLevel)
#IF
CHECKLEVEL >= 50 // 限制50级及以上玩家使用
CHECKITEM 属性清零石 1
CHECKITEMW 1
#ACT
TAKE 属性清零石 1
DELATTLIST
SENDMSG 5 装备附加属性清除成功,等级限制验证通过。
#ELSEACT
MESSAGEBOX 等级不足50级或道具缺失,无法执行操作!
五、脚本部署及注意事项
1. 路径规范:NPC交互脚本需放入Mir200\Envir\Market_Def目录下的QManage.txt或自定义NPC文件,确保引擎加载,部署后重启M2引擎生效。
2. 道具配置:属性清零石需提前在物品数据库(StdItems.DB)中添加,设置对应名称、图标、类型,确保脚本中道具名称与数据库完全一致。
3. 命令兼容:部分老版本引擎对DELATTLIST命令支持有限,可替换为逐属性清除逻辑,通过修改装备属性值实现清零,适配老版本需求。
4. 编码格式:脚本文件需保存为ANSI编码,避免UTF-8编码导致引擎解析异常,出现命令失效、弹窗错乱等问题。
5. 测试验证:部署后在测试服测试不同场景,验证道具扣除、属性清除、结果反馈是否正常,无异常后再部署至正式服。
六、常见问题排查
1. 脚本无响应:检查命令拼写(如DELATTLIST误写)、脚本路径是否正确,重启M2引擎重新加载脚本,排除缓存问题。
2. 属性清除不彻底:确认需清除的属性为自定义属性组,基础属性无法通过DELATTLIST命令清除,需调整装备数据库属性设置。
3. 提示异常:若弹窗无内容或提示错乱,检查MESSAGEBOX命令格式,确保文本无特殊字符,同时确认编码格式为ANSI。
4. 道具扣除异常:核对CHECKITEM与TAKE命令的道具名称、数量一致,避免检测数量与扣除数量不匹配导致逻辑冲突。

