传奇服务端中新手上线送装备的脚本,需写在登录触发脚本中,通过检测等级或职业实现自动发放。核心文件是QManage.txt或MapQuest_def\QFunction-0.txt。
一、脚本文件位置与核心命令
1.文件路径:服务端目录MirServer\Mir200\Envir\MapQuest_def下的QManage.txt。部分版本为QFunction-0.txt。
2.核心命令:
◦CHECK[条件]:检测条件(如等级、职业)。
◦GIVE物品名数量:给予物品。
◦SETUPLEVEL等级:设置人物等级。
◦SENDMSG:发送聊天框提示。
二、基础脚本示例(按等级发放)
在QManage.txt的[@Login]段中插入以下代码,可实现1级上线送基础套装,10级再送进阶套装。
[@Login]
#IF
LEVEL=1
CHECKNEWHUMAN
#ACT
GIVE木剑1
GIVE布衣(男)1
GIVE金创药(小)5
GIVE魔法药(小)5
SETUPLEVEL1
SENDMSG6欢迎新人!你获得了新手套装。
BREAK
#IF
LEVEL=10
#ACT
GIVE青铜剑1
GIVE轻型盔甲(男)1
GIVE大手镯2
SENDMSG6恭喜达到10级,你获得了进阶装备!
BREAK
代码说明:
•#IF为条件判断语句,LEVEL=1表示检测等级是否为1级。
•CHECKNEWHUMAN是检测是否为新创建角色的指令,防止老角色每次上线都重复领取。
•#ACT为条件满足后执行的命令列表。
•BREAK表示中断后续条件判断,避免重复发放。
三、按职业发放高级装备脚本
若需区分战士、法师、道士发放不同职业装,可使用CHECKJOB命令。
[@Login]
#IF
CHECKJOBWarrior
LEVEL=35
#ACT
GIVE炼狱1
GIVE战神盔甲(男)1
GIVE珊瑚戒指4
SENDMSG6战士强者,这是你的专属福利!
BREAK
#IF
CHECKJOBWizard
LEVEL=35
#ACT
GIVE魔杖1
GIVE恶魔长袍(男)1
GIVE思贝尔手镯2
SENDMSG6法师强者,这是你的专属福利!
BREAK
#IF
CHECKJOBTaoist
LEVEL=35
#ACT
GIVE银蛇1
GIVE幽灵战衣(男)1
GIVE心灵手镯2
SENDMSG6道士强者,这是你的专属福利!
BREAK
四、脚本调试与常见问题
1.脚本不生效
◦检查路径:确认脚本是否正确放在QManage.txt的[@Login]段。
◦重启引擎:修改脚本后必须完全关闭并重启M2引擎,仅重载NPC无效。
2.物品名称错误
◦物品名称必须与StdItems.DB数据库中的名称完全一致。例如“炼狱”不能写成“炼狱斧”,“战神盔甲(男)”不能写成“战神铠甲”。
3.避免重复领取
◦在条件中加入CHECKBAGGAGE6检测背包空位,或加入CHECK[011]1变量检测,确保只发放一次。
4.变量控制示例
◦使用变量标记已领取状态,防止刷物品。
#IF
CHECK[011]1
#ACT
MESSAGE你已经领取过新手礼包了!
BREAK
#IF
#ACT
GIVE木剑1
GIVE布衣(男)1
SET[011]1
SENDMSG6新手礼包已发放!
BREAK
总结:新手上线送装脚本的核心是编辑QManage.txt,通过#IF检测条件,再执行GIVE发放物品。注意物品名称必须与数据库匹配,修改后重启M2生效。
一、脚本文件位置与核心命令
1.文件路径:服务端目录MirServer\Mir200\Envir\MapQuest_def下的QManage.txt。部分版本为QFunction-0.txt。
2.核心命令:
◦CHECK[条件]:检测条件(如等级、职业)。
◦GIVE物品名数量:给予物品。
◦SETUPLEVEL等级:设置人物等级。
◦SENDMSG:发送聊天框提示。
二、基础脚本示例(按等级发放)
在QManage.txt的[@Login]段中插入以下代码,可实现1级上线送基础套装,10级再送进阶套装。
[@Login]
#IF
LEVEL=1
CHECKNEWHUMAN
#ACT
GIVE木剑1
GIVE布衣(男)1
GIVE金创药(小)5
GIVE魔法药(小)5
SETUPLEVEL1
SENDMSG6欢迎新人!你获得了新手套装。
BREAK
#IF
LEVEL=10
#ACT
GIVE青铜剑1
GIVE轻型盔甲(男)1
GIVE大手镯2
SENDMSG6恭喜达到10级,你获得了进阶装备!
BREAK
代码说明:
•#IF为条件判断语句,LEVEL=1表示检测等级是否为1级。
•CHECKNEWHUMAN是检测是否为新创建角色的指令,防止老角色每次上线都重复领取。
•#ACT为条件满足后执行的命令列表。
•BREAK表示中断后续条件判断,避免重复发放。
三、按职业发放高级装备脚本
若需区分战士、法师、道士发放不同职业装,可使用CHECKJOB命令。
[@Login]
#IF
CHECKJOBWarrior
LEVEL=35
#ACT
GIVE炼狱1
GIVE战神盔甲(男)1
GIVE珊瑚戒指4
SENDMSG6战士强者,这是你的专属福利!
BREAK
#IF
CHECKJOBWizard
LEVEL=35
#ACT
GIVE魔杖1
GIVE恶魔长袍(男)1
GIVE思贝尔手镯2
SENDMSG6法师强者,这是你的专属福利!
BREAK
#IF
CHECKJOBTaoist
LEVEL=35
#ACT
GIVE银蛇1
GIVE幽灵战衣(男)1
GIVE心灵手镯2
SENDMSG6道士强者,这是你的专属福利!
BREAK
四、脚本调试与常见问题
1.脚本不生效
◦检查路径:确认脚本是否正确放在QManage.txt的[@Login]段。
◦重启引擎:修改脚本后必须完全关闭并重启M2引擎,仅重载NPC无效。
2.物品名称错误
◦物品名称必须与StdItems.DB数据库中的名称完全一致。例如“炼狱”不能写成“炼狱斧”,“战神盔甲(男)”不能写成“战神铠甲”。
3.避免重复领取
◦在条件中加入CHECKBAGGAGE6检测背包空位,或加入CHECK[011]1变量检测,确保只发放一次。
4.变量控制示例
◦使用变量标记已领取状态,防止刷物品。
#IF
CHECK[011]1
#ACT
MESSAGE你已经领取过新手礼包了!
BREAK
#IF
#ACT
GIVE木剑1
GIVE布衣(男)1
SET[011]1
SENDMSG6新手礼包已发放!
BREAK
总结:新手上线送装脚本的核心是编辑QManage.txt,通过#IF检测条件,再执行GIVE发放物品。注意物品名称必须与数据库匹配,修改后重启M2生效。

