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

来源: 作者: 点击:
在传奇服务端中,为人物上线发放技能和装备主要依赖登录触发脚本。绝大多数引擎(如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
CHECKJOBWARRIOR
#ACT
GIVE木剑1
GIVE布衣(男)1
GIVE布衣(女)1
BREAK

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

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

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

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

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

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

示例:道士自动学治愈术
#IF
ISNEWHUMAN
CHECKJOBTAOIST
#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
SENDMSG6你已领取新手装备!
BREAK

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