传奇3K引擎皇陵NPC脚本特色写法:进入限制定时刷怪随机传送与死亡召回配置

来源: 作者: 点击:
3K引擎做皇陵地图时,NPC脚本通常围绕“进入门槛、定时刷怪、随机传送、死亡召回、行会争夺、每日次数、隐藏入口”来设计。皇陵地图编号、怪物名称、物品名称需要替换为当前版本实际数据,脚本文件保存为ANSI编码,修改后在M2控制台重新加载NPC。

一、皇陵入口NPC配置

在Merchant.txt中添加皇陵使者NPC:

盟重省皇陵使者 3 330 335 皇陵使者 0 11 0 0 0

脚本文件放在market_def盟重省皇陵使者-3.txt。主入口显示皇陵信息和当前地图人数。

[@main]
IF
ACT
SAY
皇陵入口\
\
皇陵深处藏有上古遗物,但危险重重。\
当前皇陵人数:< STR(N10) >\
\
<进入皇陵/@EnterHuangLing>\
<查看皇陵规则/@HLRule>\
<返回/@exit>
ACT
CHECKHUM 皇陵 N10

皇陵需要替换为MapInfo.txt中定义的实际地图编号。

二、进入条件限制

皇陵进入通常需要等级、元宝和任务道具三重限制。

[@EnterHuangLing]
IF
CHECKLEVEL >= 60
CHECKGAMEGOLD >= 50
CHECKITEM 皇陵令牌 1
CHECKBAGGAGE
ACT
TAKE 皇陵令牌 1
GAMEGOLD - 50
MAPMOVE 皇陵 150 150
SENDMSG 7 你已进入皇陵,死亡将被召回安全区。
BREAK
ELSESAY
进入条件不足。\
需要等级60级、元宝50、皇陵令牌1个。

如果皇陵内死亡需要召回,可在进入时设置限时召回:

[@EnterHuangLingRecall]
IF
CHECKLEVEL >= 60
CHECKGAMEGOLD >= 50
CHECKITEM 皇陵令牌 1
ACT
TAKE 皇陵令牌 1
GAMEGOLD - 50
MAPMOVE 皇陵 150 150
TIMERECALL 30
SENDMSG 7 你已进入皇陵,30分钟后将被召回。
BREAK

TIMERECALL单位为分钟,到达时间后玩家会被传回进入前的NPC位置。

三、皇陵内随机传送

皇陵地图可设置多个传送点,玩家点击后随机传送到不同区域。

[@RandomTeleport]
IF
ISONMAP 皇陵
ACT
MOV N20 0
MOV N21 0
MOV N22 0
MOV N23 0
MOV N24 0
MOV N25 0
MOV N26 0
MOV N27 0
MOV N28 0
MOV N29 0
MOVR N20 10
GOTO @TeleportCheck
ELSESAY
你不在皇陵内,无法使用随机传送。

[@TeleportCheck]
IF
EQUAL N20 0
ACT
MAPMOVE 皇陵 100 100
SENDMSG 7 你被传送到皇陵第一层。
BREAK
ELSEACT
IF
EQUAL N20 1
ACT
MAPMOVE 皇陵 200 200
SENDMSG 7 你被传送到皇陵第二层。
BREAK
ELSEACT
IF
EQUAL N20 2
ACT
MAPMOVE 皇陵 300 300
SENDMSG 7 你被传送到皇陵第三层。
BREAK
ELSEACT
MAPMOVE 皇陵 150 150
SENDMSG 7 你被传送到皇陵中心区域。
BREAK

随机传送点坐标需要根据皇陵地图实际布局调整,避免传送到墙内或不可站立位置。

四、定时刷怪与清怪

皇陵内可设置定时刷怪,每隔一段时间刷新BOSS或精英怪。

[@HLMonsterRefresh]
IF
EQUAL G10 1
ACT
MONCLEAR 皇陵
MONGENEX 皇陵 150 150 皇陵守卫 10 5 0 0 0 0 0
MONGENEX 皇陵 200 200 皇陵祭司 5 3 0 0 0 0 0
SENDMSG 0 皇陵怪物已刷新,勇士们速去讨伐。
BREAK

G10作为皇陵活动开关,活动开启时设为1,结束时设为0。MONGENEX参数顺序可能因引擎版本不同而变化,正式使用前需在测试地图验证。

五、皇陵死亡召回

皇陵内死亡后自动召回安全区,避免玩家滞留。可在QFunction-0.txt中处理死亡触发。

[@PlayDie]
IF
ISONMAP 皇陵
ACT
MAPMOVE 3 330 335
SENDMSG 7 你在皇陵中战死,已被召回盟重安全区。
BREAK

盟重地图编号3需要替换为当前版本实际编号。

六、行会争夺机制

皇陵可设置行会争夺点,行会成员占领后全行会享受加成。

[@GuildOccupy]
IF
CHECKGUILD
CHECKOFGUILD 皇陵霸主
ACT
GIVE 皇陵宝箱 1
SENDMSG 7 你的行会占领了皇陵,获得皇陵宝箱。
BREAK
ELSESAY
你未加入行会或行会未占领皇陵。

皇陵霸主行会名称可根据版本自定义。占领逻辑可配合行会变量或文本列表实现。

七、每日进入次数限制

使用U变量记录每日进入次数,每日零点重置。

[@EnterHLLimit]
IF
CHECKLEVEL >= 60
CHECKGAMEGOLD >= 50
CHECKITEM 皇陵令牌 1
SMALL U20 3
ACT
TAKE 皇陵令牌 1
GAMEGOLD - 50
INC U20 1
MAPMOVE 皇陵 150 150
SENDMSG 7 你已进入皇陵,今日剩余次数<CAL(3 - <$STR(U20)>)>次。
BREAK
ELSESAY
进入条件不足或今日次数已用完。

每日重置脚本放在QManage.txt或机器人脚本中:

[@DailyResetHL]
IF
ACT
MOV U20 0
BREAK

八、隐藏皇陵入口

皇陵可设置隐藏入口,满足特定条件后显示。例如连续三天登录或背包内有特定物品。

[@main]
IF
CHECKITEM 古老地图 1
ACT
GOTO @HiddenEntry
ELSESAY
皇陵入口\
\
<进入皇陵/@EnterHuangLing>\
<查看皇陵规则/@HLRule>\
<返回/@exit>

[@HiddenEntry]
IF
ACT
SAY
皇陵密道\
\
你发现了皇陵隐藏入口。\
\
<进入皇陵深处/@EnterDeepHL>\
<返回/@main>

[@EnterDeepHL]
IF
CHECKLEVEL >= 70
CHECKGAMEGOLD >= 100
ACT
GAMEGOLD - 100
MAPMOVE 皇陵深处 100 100
SENDMSG 7 你已进入皇陵深处。
BREAK
ELSESAY
等级或元宝不足,无法进入皇陵深处。

皇陵深处为独立地图,需要在MapInfo.txt中单独定义。

九、皇陵规则查看

[@HLRule]
IF
ACT
SAY
皇陵规则\
\
进入需要等级60级、元宝50、皇陵令牌1个。\
皇陵内死亡将被召回安全区。\
皇陵内可自由PK。\
每日最多进入3次。\
定时刷新皇陵守卫和皇陵祭司。\
行会占领皇陵可获得宝箱奖励。\
皇陵深处需要等级70级才能进入。\
\
<返回/@main>

十、配置生效检查

修改Merchant.txt后需要在M2控制台重新加载NPC。脚本文件必须使用ANSI编码保存,避免中文乱码。皇陵地图编号需要在MapInfo.txt中确认。MONGENEX、TIMERECALL、CHECKHUM等命令是否可用,以当前3K引擎版本为准。皇陵内死亡召回需要确认QFunction-0.txt中的死亡触发标签是否与当前引擎一致。