传奇法师小退上线自动开盾脚本编写教程

来源: 作者: 点击:
一、脚本实现原理与文件路径

实现法师小退(或大退)上线自动开盾,核心是利用登录触发脚本。当玩家角色登录游戏时,引擎会自动执行QManage.txt文件中的[@Login]段落。我们在此段落中加入职业判断与开盾指令即可。

涉及文件路径:
• 脚本文件:D:\MirServer\Mir200\Envir\MapQuest_def\QManage.txt

- 功能文件:D:\MirServer\Mir200\Envir\Market_Def\QFunction-0.txt(用于处理死亡掉盾逻辑)

二、基础版自动开盾脚本(直接写入)

打开QManage.txt文件,找到[@Login]段(通常在文件开头)。如果不存在,直接在文件末尾新建该段落。

完整脚本代码:
[@Login]
#IF
checkjob wizard ; 检测职业是否为法师
CHECKLEVELEX > 22 ; 检测等级是否大于22级(可自行修改)
; CheckSkill 魔法盾 > 0 ; (可选)检测是否已学习魔法盾技能
#ACT
Gmexecute TestStatus 11 1 ; 强制开启魔法盾状态(11代表魔法盾)
SendMsg 6 【系统】魔法盾已自动开启!
Break

指令参数说明:
• TestStatus 11 1:11是魔法盾的状态编号,1代表开启。部分引擎支持第三个参数(持续时间),若需设置可改为 TestStatus 11 1 9999。

• SendMsg 6:发送私人提示信息,仅自己可见。

三、防“卡盾”优化脚本(死亡关盾)

法师死亡后若小退,上线后可能因状态残留出现“卡盾”(有盾效果但无减伤)。需在QFunction-0.txt中增加死亡触发,强制清除盾状态。

死亡清盾脚本(写入QFunction-0.txt):
[@PlayDie]
#IF
checkjob wizard
#ACT
Gmexecute TestStatus 11 0 ; 死亡时强制关闭魔法盾(0代表关闭)
Break

此脚本确保角色死亡后盾状态被重置,再次上线时由登录脚本重新开启,避免数据异常。

四、进阶版:带技能检测与MP判断

为防止角色MP不足或未学习技能时强行开盾导致引擎报错,建议使用更严谨的脚本。

增强版脚本(替换QManage.txt中的对应段):
[@Login]
#IF
checkjob wizard
CHECKLEVELEX > 22
CheckSkill 魔法盾 > 0 ; 确认已学习魔法盾技能
CheckMp > 49 ; 确认蓝量大于49点(开盾消耗)
#ACT
Gmexecute TestStatus 11 1
SendMsg 6 上线自动开盾成功!
#ELSEACT
SendMsg 6 蓝量不足或未学习魔法盾,无法自动开盾。
Break


五、脚本生效与测试方法

1. 保存文件:修改完QManage.txt和QFunction-0.txt后,务必保存。
2. 重读脚本:在游戏内,GM号输入命令 @重读登录脚本 或 @ReloadQManage(具体命令查看M2-管理-命令列表)。若无法重读,需重启M2引擎。
3. 测试流程:创建一个法师角色,升到23级并学习魔法盾。小退后重新上线,观察是否自动出现盾牌特效及系统提示。

常见问题:
• 不开盾:首先检查checkjob wizard拼写是否正确(部分引擎区分大小写,建议全小写)。

- 报错:检查Gmexecute指令是否被引擎支持,老版本LEG引擎可能需使用SetIcon或其他指令,请查阅对应引擎说明书。