• 按键公众号 :
按键精灵电脑版
立即下载

软件版本:2014.06
软件大小:22.9M
更新时间:2021-12-03

按键精灵安卓版
立即下载

软件版本:3.7.2
软件大小:46.2M
更新时间:2023-05-10

按键精灵iOS版
立即下载

软件版本:1.8.0
软件大小:29.2M
更新时间:2023-03-21

按键手机助手
立即下载

软件版本:3.8.0
软件大小:262M
更新时间:2023-05-30

快捷导航

登录 后使用快捷导航
没有帐号? 注册

返回列表 12345678» / 43
发新话题 回复该主题

[按键精灵安卓版] 简单就能实现的定时功能-【201603期】 [复制链接]

1#

几种简单实现定时的方法



本文按键学院提供技术支持



按键学院交流①群(1群已满):376122403

按键学院交流②群(2群):372671254

按键学院交流③群(3群):170084238

【按键学院】安卓课程(115768679)




现在手游上很多活动、任务什么的都是在固定的时间或者间隔一段时间之后才能继续做的。那如何用代码来实现定时的功能就和脚本是否有效率挂上了勾了。只有当时间到的时候才去执行任务,这样的脚本就比一直循环去查看任务有效率多了。
这篇院刊就给大家带来几种实现定时的方法。

第一种方法


这种方法是采用计算时间间隔,来实现定时的目的。像是有些活动任务是隔一段时间开启一次,那这种通过计算时间间隔的方式就很适合用于这种场景

我们可以通过TickCount命令来在脚本开始的时候记录一个时间点,然后再后续的脚本操作中不断的判断当前时间和这个时间点的差值,如果到达了差值就说明间隔的时间到了,就可以执行任务

您所在的用户组无法下载或查看附件


代码如下:
  1. Dim t=TickCount()

  2. Do
  3. If TickCount() - t >10000 Then
  4. TracePrint "时间到了,开始执行任务"
  5. Else
  6. TracePrint "继续等待"
  7. End If
  8. Delay 1000
  9. Loop
复制代码
上面这段代码虽然是可以实现了间隔时间,但是功能也太简单了一些,并且使用起来也并不方便。所以我们可以对代码进行加强
  1. Dim TimeID()

  2. Function RemTime(id)
  3. TimeID(id) = TickCount()
  4. RemTime = TimeID(id)
  5. End Function

  6. Function TimeDiff(id, t)
  7. Dim t1 = TickCount()
  8. //计算时间差
  9. If t1 - TimeID(id) >= t Then
  10. TimeDiff = true
  11. //把该记号的时间重置成当前时间,以便可以再次计时
  12. TimeID(id) = t1
  13. Else
  14. TimeDiff = false
  15. End If
  16. End Function
复制代码
  1. Call RemTime(1)
  2. Call RemTime(2)

  3. Do
  4. If TimeDiff(1, 10000) Then
  5. Call 任务1
  6. End If
  7. If TimeDiff(1, 30000) Then
  8. Call 任务2
  9. End If
  10. Loop
复制代码
这种代码就比前面的加强了,不但使用起来会方便,而且可以支持多个记录点同时进行计算间隔。

第二种方法


有些活动的任务是在每天固定的时间内开始的,如果这种情况下使用上面的间隔计时的话,就会比较麻烦,因为从脚本开启运行到活动时间到了,可能中间要隔着很长的时间,换算什么的很麻烦。所以针对这种定时的活动,我们可以通过直接对比具体的时间来做到定时的目的

这里需要用到一个命令 DateTime.Format,这个命令可以把当前的时间转换成固定的某个格式。比如想要得到 19:20 这样的时间格式,就可以这样写
  1. TracePrint DateTime.Format("%H:%S")
复制代码
根据这个命令,我们就可以进行时间的对比
  1. Function Timing_time(t)
  2. Dim t1 = DateTime.Format("%H:%S")
  3. If t = t1 Then
  4. Timing = true
  5. Else
  6. Timing = false
  7. End If
  8. End Function

  9. If Timing_time("20:30") Then
  10. TracePrint "现在已经20:30了,可以执行任务"
  11. Else
  12. TracePrint "时间还没到"
  13. End If
复制代码
上面这段代码是对比指定时间的,还可以针对日期来写一个对比日期的定时函数
  1. Function Timing_date(t)
  2. Dim t1 = DateTime.Format("%Y-%m-%d")
  3. If t = t1 Then
  4. Timing = true
  5. Else
  6. Timing = false
  7. End If
  8. End Function

  9. If Timing_date("2016-03-05") Then
  10. TracePrint "现在已经2016-03-05了,可以执行任务"
  11. Else
  12. TracePrint "时间还没到"
  13. End If
复制代码


有了上面的这两种定时的方法,想必在平时的脚本中已经完全足够应对一些定时的任务活动之类的了~~~~


您所在的用户组无法下载或查看附件

最后编辑quitout 最后编辑于 2018-08-06 14:45:30
本主题由 超级版主 瑞祥幽冥狼 于 2023/10/5 18:28:14 执行 审核帖子 操作
2#

我想看一看

3#

要要要切克闹...333

4#

瞅瞅!!

WWW.92AJ.CN
承接中小型 游戏/办公/投票/自动发货类 脚本
如果回答对你有所帮助请不要吝啬手中的鲜花
5#


承接各类游戏脚本,办公,手游,页游,android,los等
QQ: 523890679 微信:523890679
6#


7#

老师辛苦了

8#

好教程

9#

take a look

10#

111111111111111111111111

11#

看看学习学习

12#

看看看看吧看啊

13#

为什么一定要回复呢,麻烦
为什么一定要回复呢,麻烦

14#

回复帖子看看

15#


16#

的顶顶顶顶顶

17#


18#

实在是没有明白那些命令能直接使用

19#

参观学习

20#

好好好

发新话题 回复该主题