1.76精品传奇服务端冲级奖励配置与脚本实战

来源: 作者: 点击:
1.76精品端做冲级奖励,本质就两件事:检测谁先到等级,按名额发东西。不同端入口名字不一样,有的在 QuestDiary 下建目录,有的在 QManage.txt、MapQuest_def 里直接写,有的整合端带 RewardConfig.cfg 或 LevelReward.cfg 配置文件。先翻自己这套端的 Envir 目录,看哪种结构,再动手,别上来就抄别人脚本硬塞。

一、先找冲级奖励落在哪

进 Mir200\Envir,按顺序看这几个地方:

QuestDiary 目录下有没有“升级奖励”“等级奖励”“冲级”之类子目录
MapQuest_def 里找 QManage.txt,搜关键词“前”“排行”“名额”“冲级”
根目录或 Config 里有没有 RewardConfig.cfg、LevelReward.cfg、LevelReward.ini
QFunction-0.txt 里有没有 @LevelUp、@Upgrade 触发段

多数1.76精品端冲级逻辑写在 QuestDiary 里,靠 NPC 对话领取;带“新区冲级活动”的端会把排行判断塞进 QManage,升级瞬间自动发。两种做法下面都给。

二、基础等级奖励(到点就发)

适合做“35级送祖马、40级送沃玛、45级送祝福油”这种普惠档,不限名额。

在 QuestDiary 下新建目录“等级触发”,里面建文件“等级奖励.txt”:

[@main]
IF CHECKLEVELEX = 35

ACT GIVE 祖马头盔 1

SENDMSG 6 恭喜达到35级,获得祖马头盔!
BREAK

IF CHECKLEVELEX = 40

ACT GIVE 沃玛戒指 1

SENDMSG 6 恭喜达到40级,获得沃玛戒指!
BREAK

IF CHECKLEVELEX = 45

ACT GIVE 祝福油 3

SENDMSG 6 恭喜达到45级,获得祝福油x3!
BREAK

想让升级时自动触发,不去找 NPC,就在 QManage.txt 或 QFunction 的 @LevelUp 段里 #CALL 这个脚本。CHECKLEVELEX 是精确等级判断,等于几就是几级触发,不会重复发。

如果要防重复领取(比如只发一次),加私人名单:

IF CHECKLEVELEX = 35

CHECKNAMELIST ..\QuestDiary\等级触发\35已领.txt
ELSEACT

GIVE 祖马头盔 1
ADDNAMELIST ..\QuestDiary\等级触发\35已领.txt
SENDMSG 6 恭喜达到35级,获得祖马头盔!
BREAK

三、限名额冲级奖励(前几名才有)

这是冲级活动核心。逻辑分三层:等级够、没领过、名额还没满。

全局变量管名额,比如 G480 是总开关,G41 是50级名额,G42 是60级名额。NPC 脚本片段:

[@50级冲级]
IF CHECKNAMELIST ..\QuestDiary\冲级\50级领过.txt

ACT MESSAGEBOX 你已经领过50级冲级奖励了

GOTO @main
BREAK

IF EQUAL G41 0

ACT MESSAGEBOX 50级冲级名额已发完

GOTO @main
BREAK

IF CHECKLEVELEX >49

ACT DEC G41 1

GIVE 血饮 1
GIVE 祖马戒指 2
GAMEGOLD + 50000
ADDNAMELIST ..\QuestDiary\冲级\50级领过.txt
SENDMSG 0 冲级快报:%s 拿下50级冲级奖励,血饮到手!
MESSAGEBOX 领取成功,剩余名额:
GOTO @main
BREAK

ELSEACT

MESSAGEBOX 等级不足50级,先去冲级
GOTO @main
BREAK

G41 初始值在服务端启动脚本或 NPC 初始化段里设好,比如 MOV G41 10 表示前10名有奖。每次发奖 DEC G41 1,名单防重,SENDMSG 0 全服广播,冲级氛围就出来了。

四、冲级排行榜式(第一名/第二名/第三名)

按到达顺序发不同奖励,用全局计数器记录当前名次:

[@100级冲级]
IF CHECKLEVELEX <100

ACT MESSAGEBOX 没到100级

BREAK

IF CHECKNAMELIST ..\QuestDiary\冲级\100领奖名单.txt

ACT MESSAGEBOX 已领取

BREAK

IF EQUAL G41 0

ACT MESSAGEBOX 前三名名额已空

BREAK

IF EQUAL G41 3

ACT GIVE 屠龙 1

SENDMSG 0 %s 夺得100级冲级第三名,获屠龙!
DEC G41 1
ADDNAMELIST ..\QuestDiary\冲级\100领奖名单.txt
BREAK

IF EQUAL G41 2

ACT GIVE 裁决之杖 2

SENDMSG 0 %s 夺得100级冲级第二名,获双裁决!
DEC G41 1
ADDNAMELIST ..\QuestDiary\冲级\100领奖名单.txt
BREAK

IF EQUAL G41 1

ACT GIVE 麻痹戒指 1

SENDMSG 0 %s 登顶100级冲级第一,获麻痹戒指!
DEC G41 1
ADDNAMELIST ..\QuestDiary\冲级\100领奖名单.txt
BREAK

G41 从3开始,先到先领,发完归零。想分职业发不同装备,在 GIVE 前加 checkjob warrior/wizard/taoist 判断就行。

五、自动触发还是 NPC 领取

自动触发:在 QManage 的 @Login 或等级事件里直接 #CALL 奖励脚本,玩家升级瞬间弹消息、东西进包。优点体验顺,缺点出问题难追溯,适合普惠档。

NPC领取:做个冲级大使摆在土城,玩家自己点。优点可控、可查名单、可手动补发,适合限名额高档奖励。

精品1.76建议组合用:35/40/45 自动发,50级以上限名额走 NPC,既热闹又不乱。

六、奖励内容怎么定不破坏版本

1.76精品的底线是别把超变东西塞进来。冲级奖励建议这么配:

30-40级:药水、卷轴、小极品首饰、金币
45级:祝福油、祖马散件、声望
50级:血饮/骨玉/龙纹级武器,或祖马套
55-60级:裁决级武器、沃玛套、特殊戒指(复活/护身限定名额)
冲级前三:屠龙、麻痹、特戒、记忆套,数量卡死

别一上来送满属性装备,冲级活动是拉前期节奏的,不是发毕业装。

七、GM 测试与排错

改完脚本先做四步验证:

1. 文件存 ANSI 编码,别存 UTF-8,否则中文物品名乱码、脚本不加载
2. M2 控制台“重载NPC脚本”或重启 M2,看有没有报错行号
3. 建测试号,GM 命令调等级(@调整等级 或直接改库),逐级触发
4. 看背包物品、金币、名单文件是否写入,名额变量是否递减

常见坑:

物品名和 StdItems.DB 里不一致,GIVE 静默失败,背包没东西也不报错
CHECKLEVELEX 写成 CHECKLEVEL,后者含下级判断,容易重复触发
全局变量没初始化,G41 默认是空,EQUAL G41 0 判断异常,启动脚本里先 MOV 赋值
名单路径写错,QuestDiary 下相对路径是 ..\QuestDiary\xxx\xxx.txt,多层目录别写反
NPC 没刷新,检查 MapQuest_def 里坐标、脚本名、NPC外观配置
QManage 里 #CALL 路径错,脚本根本不执行,升级没反应

八、开区前把数据清空

每次开新服,冲级名单和名额变量必须复位:

ClearNameList ..\QuestDiary\冲级\50级领过.txt
ClearNameList ..\QuestDiary\冲级\100领奖名单.txt
MOV G41 10
MOV G42 5
MOV G41 3

做成 GM 专用清理 NPC,点一下全部复位,避免上服残留测试数据。

九、完整活动节奏参考

开服前1小时:NPC 就位,名额初始化,广播“冲级活动开启”
35/40/45 自动档跑着,土城摆冲级大使
50级前10名、55级前5名、60级前3名、100级前三名限领
每天整点 SENDMSG 播报剩余名额
合区或活动结束,关 NPC、清名单、留统计截图

冲级奖励写好了,前期在线和争抢感立刻不一样。核心记住:等级检测用 CHECKLEVELEX,防重用名单,名额用全局变量递减,物品名严格对齐数据库,脚本 ANSI 保存,改完重载看报错。这三板斧稳了,1.76精品端的冲级体系就不会出幺蛾子。