继续求助脚本问题!
想写个机器人检测会员时间到期了就直接失效删除称号,不知道咋写!求大佬给写下![@V级]
#IF
CHECKNAMEDATETIMELIST ..\\QuestDiary\\会员分类\\普通会员.txt 1 S2 N221 N222 N223
#ACT
SENDMSG 6 你的会员到期时间是<$STR(S2)>【剩余天数=<$STR(N221)>】【剩余小时=<$STR(N222)>】【剩余分钟=<$STR(N223)>】 255 253
mov U0 0 (U0 变量是1就是有会员0就不是!)
RECYCFENGHAO 会员 (这是删除会员称号!)
[@Login]
#IF
CHECKNAMEDATETIMELIST ..\\QuestDiary\\会员分类\\普通会员.txt 1 S2 N221 N222 N223
#ACT
MUL N$剩余时间天 <$STR(N221)> 86400 ;将天数转换成秒
MUL N$剩余时间时 <$STR(N222)> 3600 ;将小时转换成秒
MUL N$剩余时间 <$STR(N223)> 60 ;将分钟转换成秒
INC N$剩余时间 <$str(N$剩余时间时)>
INC N$剩余时间 <$str(N$剩余时间天)>
#IF
NOT LARGE N$剩余时间 0
CHECKFENGHAO 会员
#ACT
MOV U0 0
RECYCFENGHAO 会员
;正常情况下你的服务器应该有个每秒执行或每分钟执行的计时器
;如果每分执行,上面就将时间转换成分钟
;此处为每秒执行
[@OnTimer*]
#IF
LARGE N$剩余时间 0
#ACT
DEC N$剩余时间 1
#IF
NOT LARGE N$剩余时间 0
CHECKFENGHAO 会员
#ACT
MOV U0 0
RECYCFENGHAO 会员 会员到期并不会自动触发。所以要手动进行检测。检测的方法可以这样:
每个角色登录的时候检查是不是会员,如果不是会员,就收回会员称号;如果是会员,那就开启个人定时器,每隔一段时间检测一次,比如每隔10秒,或每隔1分钟,或每隔10分钟都可以。
在定时器里也是检测会员是否到期,如果会员已到期的话回收回称号,停止定时器。如果还没到期,则什么都不需要做。这样就可以了啊。 [@V级]
#IF
CHECKNAMEDATETIMELIST ..\\QuestDiary\\会员分类\\普通会员.txt 1 S2 N221 N222 N223
#ACT
SENDMSG 6 你的会员到期时间是<$STR(S2)>【剩余天数=<$STR(N221)>】【剩余小时=<$STR(N222)>】【剩余分钟=<$STR(N223)>】 255 253
#ELSEACT
mov U0 0 (U0 变量是1就是有会员0就不是!)
RECYCFENGHAO 会员 (这是删除会员称号!) 设置定时器
[@Test]
#IF
#ACT
SetOnTimer 0 60
[@OnTimer0]
#IF
CHECKNAMEDATETIMELIST ..\\QuestDiary\\会员分类\\普通会员.txt 1 S2 N221 N222 N223
#ACT
SENDMSG 6 你的会员到期时间是<$STR(S2)>【剩余天数=<$STR(N221)>】【剩余小时=<$STR(N222)>】【剩余分钟=<$STR(N223)>】 255 253
#ELSEACT
mov U0 0 (U0 变量是1就是有会员0就不是!)
RECYCFENGHAO 会员 (这是删除会员称号!) 机器人:
#AutoRun NPC MIN 1 @会员检查
[@会员检查]
#IF
#Act
Gmexecute 全服触发 @会员时间
QManage.txt:
[@会员时间]
#IF
CHECKNAMEDATETIMELIST ..\\QuestDiary\\会员分类\\普通会员.txt 1 S2 N221 N222 N223
#ACT
SENDMSG 6 你的会员到期时间是<$STR(S2)>【剩余天数=<$STR(N221)>】【剩余小时=<$STR(N222)>】【剩余分钟=<$STR(N223)>】 255 253
#ELSEACT
mov U0 0 (U0 变量是1就是有会员0就不是!)
RECYCFENGHAO 会员 (这是删除会员称号!) 把你的变量 N221 N222 N223 改成U221 U222 U223
把下面这段脚本放到 QFunction-0.txt
#if
EQUAL U0 1
#act
goto @删除会员
[@删除会员]
#if
EQUAL U221 0
EQUAL U222 0
EQUAL U223 0
#act
RECYCFENGHAO 会员
你试试 反向操作一下,设置一个会员称号,用限时设置,各种会员功能检测这个称号来完成,限时到期还能有触发,完美解决。 442671 发表于 2022-4-21 09:13 [@Login]
#IF
CHECKNAMEDATETIMELIST ..\\QuestDiary\\会员分类\\普通会员.txt 1 S2 N221 N222 N223
谢谢!!!!!!!!!!!! [@Login]
#IF
CHECKNAMEDATETIMELIST ..\\QuestDiary\\会员分类\\普通会员.txt 1 S2 N221 N222 N223
#ACT
MUL N$剩余时间天 <$STR(N221)> 86400 ;将天数转换成秒
MUL N$剩余时间时 <$STR(N222)> 3600 ;将小时转换成秒
MUL N$剩余时间 <$STR(N223)> 60 ;将分钟转换成秒
INC N$剩余时间 <$str(N$剩余时间时)>
INC N$剩余时间 <$str(N$剩余时间天)>
#IF
NOT LARGE N$剩余时间 0
CHECKFENGHAO 会员
#ACT
MOV U0 0
RECYCFENGHAO 会员
;正常情况下你的服务器应该有个每秒执行或每分钟执行的计时器
;如果每分执行,上面就将时间转换成分钟
;此处为每秒执行
[@OnTimer*]
#IF
LARGE N$剩余时间 0
#ACT
DEC N$剩余时间 1
#IF
NOT LARGE N$剩余时间 0
CHECKFENGHAO 会员
#ACT
MOV U0 0
RECYCFENGHAO 会员
页:
[1]
2