传奇新手上线送装备脚本设置 自动检测与发放物品

来源: 作者: 点击:
传奇服务端中新手上线送装备的脚本,需写在登录触发脚本中,通过检测等级或职业实现自动发放。核心文件是 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
SETUPLEVEL 1
SENDMSG 6 欢迎新人!你获得了新手套装。
BREAK

#IF
LEVEL = 10
#ACT
GIVE 青铜剑 1
GIVE 轻型盔甲(男) 1
GIVE 大手镯 2
SENDMSG 6 恭喜达到10级,你获得了进阶装备!
BREAK


代码说明:
• #IF 为条件判断语句,LEVEL = 1 表示检测等级是否为1级。

• CHECKNEWHUMAN 是检测是否为新创建角色的指令,防止老角色每次上线都重复领取。

• #ACT 为条件满足后执行的命令列表。

• BREAK 表示中断后续条件判断,避免重复发放。

三、按职业发放高级装备脚本

若需区分战士、法师、道士发放不同职业装,可使用 CHECKJOB 命令。
[@Login]
#IF
CHECKJOB Warrior
LEVEL = 35
#ACT
GIVE 炼狱 1
GIVE 战神盔甲(男) 1
GIVE 珊瑚戒指 4
SENDMSG 6 战士强者,这是你的专属福利!
BREAK

#IF
CHECKJOB Wizard
LEVEL = 35
#ACT
GIVE 魔杖 1
GIVE 恶魔长袍(男) 1
GIVE 思贝尔手镯 2
SENDMSG 6 法师强者,这是你的专属福利!
BREAK

#IF
CHECKJOB Taoist
LEVEL = 35
#ACT
GIVE 银蛇 1
GIVE 幽灵战衣(男) 1
GIVE 心灵手镯 2
SENDMSG 6 道士强者,这是你的专属福利!
BREAK


四、脚本调试与常见问题

1. 脚本不生效
◦ 检查路径:确认脚本是否正确放在 QManage.txt 的 [@Login] 段。

◦ 重启引擎:修改脚本后必须完全关闭并重启M2引擎,仅重载NPC无效。

2. 物品名称错误
◦ 物品名称必须与 StdItems.DB 数据库中的名称完全一致。例如“炼狱”不能写成“炼狱斧”,“战神盔甲(男)”不能写成“战神铠甲”。

3. 避免重复领取
◦ 在条件中加入 CHECKBAGGAGE 6 检测背包空位,或加入 CHECK [011] 1 变量检测,确保只发放一次。

4. 变量控制示例
◦ 使用变量标记已领取状态,防止刷物品。
#IF
CHECK [011] 1
#ACT
MESSAGE 你已经领取过新手礼包了!
BREAK

#IF
#ACT
GIVE 木剑 1
GIVE 布衣(男) 1
SET [011] 1
SENDMSG 6 新手礼包已发放!
BREAK


总结:新手上线送装脚本的核心是编辑 QManage.txt,通过 #IF 检测条件,再执行 GIVE 发放物品。注意物品名称必须与数据库匹配,修改后重启M2生效。