传奇服务端人物上线技能与装备发放设置教程

来源: 作者: 点击:
在传奇服务端中,为人物上线发放技能和装备主要依赖登录触发脚本。绝大多数引擎(如GOM、GEE、HERO)均通过修改QManage.txt文件实现,这是控制玩家登录逻辑的核心入口。

一、 核心文件定位与基础概念

服务端脚本目录通常位于 D:\MirServer\Mir200\Envir\MapQuest_def\,核心文件为 QManage.txt。该文件中的 [@Login] 段是玩家每次登录时必执行的代码块,而 ISNEWHUMAN 是检测是否为新建角色的关键条件。

- 脚本执行逻辑:[@Login] 每次上线都触发,适合做日常检测;ISNEWHUMAN 仅在角色第一次进入游戏时触发,用于发放新手礼包。
- 生效方式:修改脚本后,需在M2Server(引擎主控)点击“控制”->“重新加载”->“QF脚本”或“QM脚本”即可生效,无需重启整个服务端。

二、 发放装备脚本写法(GIVE命令)

装备发放使用 GIVE 命令,格式为 GIVE 物品名称 数量。物品名称必须与数据库(StdItems.DB)中的名称完全一致。

示例:全职业新手装
[@Login]
#IF
ISNEWHUMAN
#ACT
GIVE 金币 50000
GIVE 金创药(小) 5
GIVE 魔法药(小) 5
BREAK

#IF
ISNEWHUMAN
CHECKJOB WARRIOR
#ACT
GIVE 木剑 1
GIVE 布衣(男) 1
GIVE 布衣(女) 1
BREAK

#IF
ISNEWHUMAN
CHECKJOB WIZARD
#ACT
GIVE 乌木剑 1
GIVE 轻型盔甲(男) 1
GIVE 轻型盔甲(女) 1
BREAK

代码解析:
• #IF:条件判断开始。

• CHECKJOB WARRIOR:检测职业是否为战士(WIZARD法师,TAOIST道士)。

- #ACT:条件满足后执行的动作。
• BREAK:跳出当前判断,防止重复发放。

三、 自动学习技能脚本(ADDSKILL命令)

让角色直接学会技能(非技能书)需使用 ADDSKILL 命令,格式为 ADDSKILL 技能名称 等级。

示例:道士自动学治愈术
#IF
ISNEWHUMAN
CHECKJOB TAOIST
#ACT
ADDSKILL 治愈术 3
ADDSKILL 精神力战法 3
ADDSKILL 施毒术 3
BREAK

参数说明:末尾的数字 3 代表直接学习到3级技能。若想发放技能书让玩家手动学习,则改用 GIVE 技能书名称 1。

四、 自动穿戴装备设置

部分版本要求上线自动穿上衣服武器,需配合 AutoTakeOnItem 命令。该命令后的数字代表装备位置编号。

示例:自动穿衣服
#IF
ISNEWHUMAN
#ACT
GIVE 布衣(男) 1
AutoTakeOnItem 布衣(男) 0
BREAK

装备位置编号参考:
• 0:衣服

• 1:武器

• 3:项链

• 5/6:右手镯/左手镯

- 7/8:右戒指/左戒指
• 10/11:腰带/鞋子

五、 常见问题与排查

1. 修改不生效:检查 QManage.txt 路径是否正确,或是否被外部脚本调用(如 #CALL [\登陆\登陆.txt])。若被调用,需修改对应的外部TXT文件。
2. 物品名称错误:GIVE 命令中的装备名必须与数据库 StdItems.DB 的 Name 字段一字不差,注意括号是否为全角。
3. 重复发放:确保脚本中使用了 ISNEWHUMAN 检测,且每个逻辑段结尾有 BREAK。老玩家上线若重复领取,可增加检测变量(如 CHECK [新人标记] 0)。
4. 技能学不了:确认 ADDSKILL 后的技能名与 Magic.DB 数据库中的名称一致。若引擎不支持直接学技能,只能改用发放技能书的方式。

六、 进阶:带变量的发放逻辑

为防止刷号或控制发放批次,可使用自定义变量进行标记。
#IF
ISNEWHUMAN
CHECK [NEWGIFT] 0
#ACT
GIVE 新手神剑 1
SET [NEWGIFT] 1
SENDMSG 6 你已领取新手装备!
BREAK

此脚本通过检测变量 [NEWGIFT] 是否为0来判断是否已领取,领取后设为1,避免重复触发。