功能说明:合区前自动检测长期未登录且等级低于指定值的角色,将其数据备份后删除,减少合区数据量。
[@CleanDeadAccountsBeforeMerge]
#IF
TRUE
#ACT
MOV N$清理数量 0
MOV N$清理阈值等级 35
MOV N$清理天数 30
LOADVAR GLOBAL 合区清理日志 ..\QuestDiary\合区日志.txt
; 遍历所有账号
GETRANDOMLINE ..\QuestDiary\账号列表.txt S$当前账号
#IF
CheckAccountOnline <$STR(S$当前账号)> = 0
CheckLevel < <$STR(N$清理阈值等级)>
CheckLastLoginDay > <$STR(N$清理天数)>
#ACT
; 先备份再删除
BACKUPACCOUNT <$STR(S$当前账号)> ..\Backup\<$STR(S$当前账号)>.txt
DELACCOUNT <$STR(S$当前账号)>
INC N$清理数量 1
SAVEVAR GLOBAL 合区清理日志 ..\QuestDiary\合区日志.txt
SENDMSG 9 [合区清理]账号【<$STR(S$当前账号)>】已备份并清除。
#ELSEACT
SENDMSG 9 [跳过]<$STR(S$当前账号)>为活跃账号,保留。
break
代码说明:
-
CheckLastLoginDay检测最后登录距今天数,超过30天视为死号。
-
等级低于35级且离线超过30天的账号先备份到 Backup文件夹再删除。
-
合区日志记录每次清理详情,方便管理员核查误删情况。