吾爱破解 - LCG - LSG |安卓破解|病毒分析|破解软件|www.52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

12
返回列表 发新帖
楼主: lyrong

[其他] lua如何支持定时器功能,有相关的模块调用吗

[复制链接]
发表于 2017-2-17 09:27 | 显示全部楼层
[Lua] 纯文本查看 复制代码
--设置定时器,2秒执行一次func_first
time_first = settimer(2000, 'func_first')

function func_first()
	--每2秒到达这里
	
	--启动2号定时器,4秒后触发
	time_sec = settimer(4000, 'func_sec')
end

function func_sec()
	--2号定时器启动后,在同时启动3个定时器
	time_1th = settimer(2000, 'func_1th')
	time_2th = settimer(2000, 'func_2th')
	time_3th = settimer(2000, 'func_3th')
end

function func_1th()
	--干掉1号和2号定时器
	killtimer(time_first)
	killtimer(time_sec)
end

function func_2th()
	msgbox('func_2th定时器')
end

function func_3th()
	--干掉2th定时器
	killtimer(time_2th)
end



提交一下代码文件,你可以测试一下。

免费评分

参与人数 1吾爱币 +2 热心值 +1 收起 理由
lyrong + 2 + 1 谢谢@Thanks!

查看全部评分

发帖求助前要善用论坛搜索功能,那里可能会有你要找的答案;

如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】

如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心】【CB】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

 楼主| 发表于 2017-2-17 12:11 | 显示全部楼层
skyxiaoyu 发表于 2017-2-17 09:24
hi,我下载这个软件看了。你这个需求完全可以用这个软件的API满足啊。

我写了一份代码。你看看呗。

谢谢你贴出这么详细的代码,我用软件的settimer和killtimer也实现了,这里有个问题,定时器周期的选定有讲究吗?

--设置定时器,2秒执行一次func_first
time_first = settimer(2000, 'func_first')

function func_first()
        --每2秒到达这里
         
        --启动2号定时器,4秒后触发
        time_sec = settimer(4000, 'func_sec')
end

——这里time_sec为4秒触发,而func_first每2秒执行一次,在kill掉time_sec之前,会循环赋值两次time_sec = settimer(4000, 'func_sec'),所以kill掉的是最后一次赋值的time_sec,而前一次赋值的time_sec = settimer(4000, 'func_sec')还生效吧(我之前有测试过多次time = settimer赋值,kill掉的是最后一次的time,之前的time仍然生效)?

其实,为了避免这么多的代码,所以我想学习如何调用C库的,你知道如何调用C库吗?有时间的话,就回复吧,谢谢你了!

发帖求助前要善用论坛搜索功能,那里可能会有你要找的答案;

如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】

如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心】【CB】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

发表于 2017-2-17 15:39 | 显示全部楼层
你这个软件不是开源的,所以没有办法自己集成C库进来。除非你有软件的源代码。
定时器的使用其实都是一样的道理。他这里肯定也是通过其他语言实现的定时器,lua是没有办法实现的。
如果你需要在想断的时候就不执行,定义一个布尔值,如果你杀掉了,同时更改这个值得状态。
在具体的逻辑那里前置一个判断就可以做到了。

发帖求助前要善用论坛搜索功能,那里可能会有你要找的答案;

如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】

如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心】【CB】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

 楼主| 发表于 2017-2-17 19:14 | 显示全部楼层
skyxiaoyu 发表于 2017-2-17 15:39
你这个软件不是开源的,所以没有办法自己集成C库进来。除非你有软件的源代码。
定时器的使用其实都是一样 ...

恩 是我进入了误区 一直想找到支持只执行一次的库、模块
没想到需要原程序源码
但是我调用socket模块的gettime()
用的就是下载的luasocket-2.0.2-lua-5.1.2-Win32-vc6,然后这样调用:
local socket=require("socket") --[[毫秒级计时]]
local timer=socket.gettime()
这样获取到的就是毫秒级别的时间了

这个不需要原程序源码 应该属于一个模块吧 支持调用

发帖求助前要善用论坛搜索功能,那里可能会有你要找的答案;

如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】

如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心】【CB】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

 楼主| 发表于 2017-2-17 19:16 | 显示全部楼层
skyxiaoyu 发表于 2017-2-17 15:39
你这个软件不是开源的,所以没有办法自己集成C库进来。除非你有软件的源代码。
定时器的使用其实都是一样 ...

定时器的功能我已经实现了 只是逻辑的问题
只是好奇这个零度助手改键程序调用require还能支持模块

发帖求助前要善用论坛搜索功能,那里可能会有你要找的答案;

如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】

如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心】【CB】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则


免责声明:
吾爱破解所发布的一切破解补丁、注册机和注册信息及软件的解密分析文章仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。如果您喜欢该程序,请支持正版软件,购买注册,得到更好的正版服务。

Mail To:Service@52PoJie.Cn

快速回复 收藏帖子 返回列表 搜索

RSS订阅|手机版|小黑屋|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2017-9-21 12:58

Powered by Discuz!

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表