实现效果:Delay存在问题
- 不够精准
- 设置过大的延迟,有几率导致脚本无法恢复运行[解决方案如下:]
- Dim 脚本速度
- 脚本速度=1'修改整个脚本的延迟快慢,用于适配不同电脑配置反应的快慢
- 延迟 10
- Sub 延迟(秒)
- For 秒
- Delay 1000*脚本速度
- Next
- End Sub
复制代码 命令介绍:
- Time'返回当前系统时间[返回格式22:17:58]Now'则带年月日
- Timer'系统计时器[返回格式80427.52]
- DateDiff'用于计算两个时间差
- GetTickCount'从操作系统启动所经过的毫秒数[同GetTime的API命令]
- GetTime '从操作系统启动所经过的毫秒数[返回格式4258142]
采用Time或Now、DateDiff写一个指定秒数的循环:- T1 = Time()'给T1变量赋值当前时间
- TracePrint T1
- Do'开始循环
- Delay 1000
- Loop Until DateDiff("s", T1, Time) >= 5'如果当前时间和之前赋值的T1进行对比 差大于等于5 结束DO循环
- TracePrint Time()
复制代码 采用Timer、GetTickCount、GetTime 写一个值得秒数的循环:- Private Declare Function GetTickCount Lib "kernel32" () As Long '声明API
- T1 = GetTickCount()'给T1变量赋值当前时间
- TracePrint T1
- Do'开始循环
- Delay 1000
- Loop Until (GetTickCount()-T1) >= 5000'如果当前时间和之前赋值的T1进行对比 差大于等于5000毫秒 结束DO循环
- TracePrint GetTickCount()
复制代码 技能CD时间模板[注:收集]:技能 = array(1, 10, 30, 12, 5, 20)//技能CD
Do
If DateDiff("s", t6, time) >= 技能(5) Then
t6 = time
MessageBox "释放技能6:" & 技能(5)
ElseIf DateDiff("s", t5, time) >= 技能(4) Then
t5 = time
MessageBox "释放技能5:" & 技能(4)
ElseIf DateDiff("s", t4, time) >= 技能(3) Then
t4 = time
MessageBox "释放技能4:" & 技能(3)
ElseIf DateDiff("s", t3, time) >= 技能(2) Then
t3 = time
MessageBox "释放技能3:" & 技能(2)
ElseIf DateDiff("s", t2, time) >= 技能(1) Then
t2 = time
MessageBox "释放技能2:" & 技能(1)
ElseIf DateDiff("s", t1, time) >= 技能(0) Then
t1 = time
MessageBox "释放技能1:" & 技能(0)
End If
TracePrint "释放技能1:" & 技能(0)
Delay 1000
Loop
指定时间运行代码:Do
If CDate(Time) = CDate("08:00:00") Then
MessageBox "时间到做事!"
Exit Do
End If
Delay 1000
Loop
脚本使用时间限制:返回值 = lib.网络.获取网络时间()
限定时间="2012-09-30 23:59:59"
If CDate(返回值) < CDATE(限定时间) Then
Msgbox "验证成功!继续使用!"
Else
Msgbox "验证失败!使用过期!"
EndScript
End If