限时地图核心架构
限时地图脚本由进入检测、时间记录、倒计时显示、超时踢出四大模块组成。脚本文件存放于M2Server引擎Script文件夹,主要使用QFunction.txt与地图脚本文件配合实现。
进入时间检测脚本
玩家进入限时地图时记录进入时间戳,作为超时计算基准:
[@MAPENTER]
IF
CHECKMAPD6001
ACT
GETTIMEUNIXG_EnterTime
SETP_EnterTimeG_EnterTime
SAVEVARP_EnterTime
MOVP_TimeLimit3600
SendCenterMsg250252限时地图已开启剩余时间六十分钟130
BREAK
GETTIMEUNIX获取当前Unix时间戳,单位秒。P_EnterTime存储玩家进入时间,P_TimeLimit设置限时时长,3600秒等于一小时。
定时器倒计时实现
使用引擎定时器实现倒计时检测,每秒检查一次剩余时间:
[@TimerStart]
ACT
TIMER11000
BREAK
[@TimerEvent]
IF
CHECKMAPD6001
ACT
GETTIMEUNIXG_CurrentTime
CALCP_RemainTime=P_TimeLimit-(G_CurrentTime-P_EnterTime)
IFP_RemainTime
[@Enter60]
ACT
MAPMOVED6001300300
MOVP_TimeLimit3600
CALL@TimerStart
BREAK
[@CheckTime]
ACT
CALCP_RemainMin=P_RemainTime/60
SendMsg0当前剩余时间:%P_RemainMin分钟
BREAK
NPC提供多选项入口,玩家自主选择时长。查询功能随时查看剩余时间。
添加限时地图奖励发放:
[@TimeReward]
IF
P_RemainTime>=300
ACT
GIVE限时奖励箱1
SendCenterMsg250252剩余时间充足获得额外奖励130
BREAK
剩余时间超过五分钟发放奖励,鼓励玩家快速通关。奖励内容可自定义配置。
限时地图脚本由进入检测、时间记录、倒计时显示、超时踢出四大模块组成。脚本文件存放于M2Server引擎Script文件夹,主要使用QFunction.txt与地图脚本文件配合实现。
进入时间检测脚本
玩家进入限时地图时记录进入时间戳,作为超时计算基准:
[@MAPENTER]
IF
CHECKMAPD6001
ACT
GETTIMEUNIXG_EnterTime
SETP_EnterTimeG_EnterTime
SAVEVARP_EnterTime
MOVP_TimeLimit3600
SendCenterMsg250252限时地图已开启剩余时间六十分钟130
BREAK
GETTIMEUNIX获取当前Unix时间戳,单位秒。P_EnterTime存储玩家进入时间,P_TimeLimit设置限时时长,3600秒等于一小时。
定时器倒计时实现
使用引擎定时器实现倒计时检测,每秒检查一次剩余时间:
[@TimerStart]
ACT
TIMER11000
BREAK
[@TimerEvent]
IF
CHECKMAPD6001
ACT
GETTIMEUNIXG_CurrentTime
CALCP_RemainTime=P_TimeLimit-(G_CurrentTime-P_EnterTime)
IFP_RemainTime
[@Enter60]
ACT
MAPMOVED6001300300
MOVP_TimeLimit3600
CALL@TimerStart
BREAK
[@CheckTime]
ACT
CALCP_RemainMin=P_RemainTime/60
SendMsg0当前剩余时间:%P_RemainMin分钟
BREAK
NPC提供多选项入口,玩家自主选择时长。查询功能随时查看剩余时间。
添加限时地图奖励发放:
[@TimeReward]
IF
P_RemainTime>=300
ACT
GIVE限时奖励箱1
SendCenterMsg250252剩余时间充足获得额外奖励130
BREAK
剩余时间超过五分钟发放奖励,鼓励玩家快速通关。奖励内容可自定义配置。

