当前位置 : 145z游戏站 | 热血传奇 | 技术教程 | 

传奇世界单机限时地图脚本完整编写教程全套参数配置实操

热度:
在本地架设的传奇世界服务端中,限时地图通过QFunction-0.txt、MapQuest_def地图编号.txt及NPC脚本协同控制。核心逻辑为:玩家触发进入条件→系统记录进入时间→定时检测超时→强制传送离开。

首先,在EnvirMapQuest_def目录下创建对应地图编号的文本文件,例如“D401.txt”(假设限时地图编号为D401)。文件内定义基础属性:
[@MapEnter]
IF
CHECKLEVELEX>30
ACT
MOVRD4011010
SENDMSG7您已进入限时地图,停留时间30分钟。
CALCVARHUMAN超时计时器=1800
StartTimer超时检测1000
break
ELSEACT
SENDMSG7等级不足,无法进入。


其次,在QFunction-0.txt中添加定时器回调函数:
[@超时检测]
IF
EQUAL超时计时器>0
ACT
CALCVARHUMAN超时计时器-=1
StartTimer超时检测1000
;每秒减1,1800即30分钟
break
IF
EQUAL超时计时器<=0
HAVEGOLD
ACT
MAPMOVE3330330
SENDMSG7停留时间已到,已被传送至安全区。
CLEARVAR超时计时器


若需多人共享同一倒计时(如组队副本),改用全局变量。在D401地图脚本中:
[@MapEnter]
IF
CHECK[G100]==0
ACT
SET[G100]1800
StartGlobalTimer副本倒计时1000
MOVRD4011010
break
ELSEACT
MOVRD4011515


并在QManage.txt中定义全局定时器:
[@副本倒计时]
IF
EQUAL[G100]>0
ACT
CALC[G100]-=1
StartGlobalTimer副本倒计时1000
break
IF
EQUAL[G100]<=0
ACT
KILLMONEXPRANGED401
MAPMOVEALLD4013330330
SENDMAPMSGD4017副本时间结束,全员传送离开。
CLEARVARG[G100]


怪物刷新控制通过MonGen.txt实现。在限时地图内仅允许特定时间段刷怪,可添加条件判断:
D401101012121000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000......


实际应用中需配合NPC入口控制。在村庄放置NPC脚本:
[@main]
欢迎进入限时试炼场!
<进入/@进入检测>
<查询剩余时间/@查时>

[@进入检测]
IF
CHECKMAPD401
ACT
SENDMSG7您已在限时地图内。
break
IF
CHECKLEVELEX<35
ACT
SENDMSG7需35级方可进入。
break
ACT
MOVRD4011010
CALCVARHUMAN超时计时器=1800
StartTimer超时检测1000

[@查时]
IF
HAVEVAR超时计时器
ACT
SENDMSG7剩余时间:%超时计时器%秒。


所有脚本修改后需重启服务端使MapQuest_def生效,QFunction与NPC脚本热加载无需重启。
[顶部]