功能说明:玩家下线后,系统根据其等级和在线时长自动计算离线修炼收益,下次上线时一次性发放经验和绑定元宝。
[@OfflineTraining]
#IF
TRUE
#ACT
; 记录下线时间和等级
VAR INTEGER HUMAN 下线等级
VAR INTEGER HUMAN 下线时间戳
LOADVAR HUMAN 下线等级 ..\QuestDiary\离线数据\<$USERNAME>.txt
LOADVAR HUMAN 下线时间戳 ..\QuestDiary\离线数据\<$USERNAME>.txt
#IF
EQUAL <$HUMAN(下线等级)> 0
#ACT
CALCVAR HUMAN 下线等级 = <$LEVEL>
CALCVAR HUMAN 下线时间戳 = <$SYSTIME>
SAVEVAR HUMAN 下线等级 ..\QuestDiary\离线数据\<$USERNAME>.txt
SAVEVAR HUMAN 下线时间戳 ..\QuestDiary\离线数据\<$USERNAME>.txt
SENDMSG 6 [离线修炼]已开始累积离线收益,下次上线领取!
break
[@PlayerLogin]
#IF
LARGE <$HUMAN(下线等级)> 0
#ACT
MOV N$离线时长 <$SYSTIME> - <$HUMAN(下线时间戳)>
DIV N$离线时长 3600
; 每小时获得等级*100经验 + 5绑定元宝
MUL N$经验收益 <$HUMAN(下线等级)> 100
MUL N$经验收益 <$STR(N$离线时长)>
MUL N$绑定元宝收益 <$STR(N$离线时长)> 5
GIVEEXP <$STR(N$经验收益)>
GIVE 绑定元宝 <$STR(N$绑定元宝收益)>
SENDMSG 6 [欢迎回来]您离线了<$STR(N$离线时长)>小时,获得<$STR(N$经验收益)>经验和<$STR(N$绑定元宝收益)>绑定元宝!
; 清除离线数据
CALCVAR HUMAN 下线等级 = 0
CALCVAR HUMAN 下线时间戳 = 0
SAVEVAR HUMAN 下线等级 ..\QuestDiary\离线数据\<$USERNAME>.txt
SAVEVAR HUMAN 下线时间戳 ..\QuestDiary\离线数据\<$USERNAME>.txt