TC官方合作论坛

 找回密码
 立即注册
查看: 1506|回复: 15
打印 上一主题 下一主题

[已解决] 脚本热键暂停问题

[复制链接]
跳转到指定楼层
楼主
发表于 2014-8-2 01:13:30 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上加入TC

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
本帖最后由 33333 于 2014-8-2 02:15 编辑

空间 a1
//默认空间
变量 线程句柄 = 0
//开始按钮_点击操作
功能 开始_点击()
   
功能结束

//退出按钮_点击操作
功能 退出_点击()
   
    辅助.退出()
功能结束

功能 吃药()
    循环(真)
        颜色值 = 图像.坐标点取色(810,98)
        如果(颜色值 == #3FABB6)
            键盘.按键(55)
        如果结束
    循环结束
功能结束

功能 热键0_热键()
    //这里添加你要执行的代码
    线程句柄 = 线程.开启("a1.吃药","")
功能结束


功能 热键1_热键()
    //这里添加你要执行的代码
    线程.关闭(线程句柄)
功能结束

空间结束
//空间结束语句


很简单的脚本 设置热键0是1 热键1是2
如果频繁进行按键12开启关闭的操作 则按2中止不了脚本循环 脚本继续运行 只有退出才能结束脚本运行
这是什么情况呢= =
回复

使用道具 举报

9#
发表于 2014-8-5 13:45:18 | 只看该作者
33333 发表于 2014-8-5 02:35
空间 a1
var THwnd
//默认空间

呵呵,一定要采纳额
回复 支持 反对

使用道具 举报

沙发
发表于 2014-8-2 01:29:52 | 只看该作者
你按一次启动时    开启的线程句柄会存在你的 全局变量 线程句柄  里   你再次按 开启   全局变量 线程句柄     里存的是最后一次启动的线程句柄     你在按关闭也只能关 最后一次启动线程
回复 支持 反对

使用道具 举报

板凳
 楼主| 发表于 2014-8-2 02:10:52 | 只看该作者
本帖最后由 33333 于 2014-8-2 02:55 编辑
360307327 发表于 2014-8-2 01:29
你按一次启动时    开启的线程句柄会存在你的 全局变量 线程句柄  里   你再次按 开启   全局变量 线程句柄 ...

那该怎么样修改 按关闭一次关闭完所有已启动线程 或者怎么能做到按启动只启动一次全局变量线性句柄呢?
回复 支持 反对

使用道具 举报

地板
发表于 2014-8-2 08:10:13 | 只看该作者
你按下一次开启 线程句柄就是开启的线程了 在关闭前你又按了一次开启 线程句柄就变成第二次的线程句柄了 第一次的就再也关不掉了
建议用一个热键 不要用2个 如果是关闭状态 那就开启 如果是开启状态那就关闭 自己做个判断
回复 支持 反对

使用道具 举报

5#
发表于 2014-8-2 12:07:15 | 只看该作者
33333 发表于 2014-8-2 02:10
那该怎么样修改 按关闭一次关闭完所有已启动线程 或者怎么能做到按启动只启动一次全局变量线性句柄呢? ...

在你的线程里加一句循环:      线程.获取线程句柄       然后有线程在开启状态时,线程的句柄就是可用的,你再关闭线程,暂停线程,就没事了
回复 支持 反对

使用道具 举报

6#
 楼主| 发表于 2014-8-3 22:57:49 | 只看该作者
b44412545 发表于 2014-8-2 12:07
在你的线程里加一句循环:      线程.获取线程句柄       然后有线程在开启状态时,线程的句柄就是可用的 ...

= = 好复杂的样子 求具体修改 多谢了
回复 支持 反对

使用道具 举报

7#
发表于 2014-8-4 12:42:44 | 只看该作者
...额,好吧
  1. 空间 我的空间
  2. var THwnd

  3. 功能 热键0_热键()
  4. 线程.开启("我的空间.线程One","")
  5. 功能结束

  6. 功能 线程One()
  7. while(true)
  8. THwnd=线程.获得当前句柄()
  9. 辅助.消息框("此线程还存在")
  10. endwhile
  11. 功能结束


  12. 功能 热键1_热键()
  13. 线程.关闭(THwnd)
  14. 功能结束

  15. 空间结束
复制代码





回复 支持 反对

使用道具 举报

8#
 楼主| 发表于 2014-8-5 02:35:11 | 只看该作者

空间 a1
var THwnd
//默认空间
变量 线程句柄 = 0
//开始按钮_点击操作
功能 开始_点击()
   
功能结束

//退出按钮_点击操作
功能 退出_点击()
   
    辅助.退出()
功能结束


功能 热键0_热键()
    //这里添加你要执行的代码
    线程.开启("a1.加血","")
功能结束


功能 加血()
    while(true)
        THwnd=线程.获得当前句柄()
        颜色值 = 图像.坐标点取色(336,977)
        如果(颜色值 == #E6EEF6)
            键盘.按键(55)
        如果结束
    endwhile
功能结束


功能 热键1_热键()
    //这里添加你要执行的代码
    线程.关闭(THwnd)   
功能结束
//空间结束语句

空间结束


我按照大大的方法修改好了= = 然后发现 虽然按一下开启线程 会立刻开启 但是关闭线程的时候 如果多按了几次开启的话 关闭线程也需要按几次 很不方便
麻烦大大 能不能给点建议 怎么让脚本 无论按一下或几下开启 按一下关闭就可以关闭所有线程呢?
因为是新手 所以真的麻烦了 鞠躬=-=
回复 支持 反对

使用道具 举报

10#
发表于 2014-8-5 13:53:10 | 只看该作者

  1. 空间 wod空间
  2. var THwnd

  3. 功能 热键0_热键()
  4.     线程.开启("wod空间.线程One","")
  5. 功能结束

  6. 功能 线程One()
  7.     while(true)
  8.         THwnd=线程.获得当前句柄()
  9.         //辅助.消息框("此线程还存在")
  10.         调试输出("此线程还存在"&THwnd)
  11.     endwhile
  12. 功能结束


  13. 功能 热键1_热键()
  14. while(THwnd>0)
  15.     while(THwnd>0)
  16.         线程.关闭(THwnd)   
  17.         THwnd = 0
  18.     endwhile
  19. help.sleep(200)
  20. endwhile
  21. 功能结束


  22. 空间结束
复制代码



由于消息框会导致线程的暂停,所以把消息框改成了调试输出,就不暂停了

热键1改成了双重循环,是为了防止漏掉线程


回复 支持 反对

使用道具 举报

*滑动验证:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

站长推荐上一条 /2 下一条

关闭

小黑屋|TC官方合作论坛 (苏ICP备18043773号

GMT+8, 2025-9-26 05:46 , Processed in 0.201088 second(s), 23 queries .

Powered by 海安天坑软件科技有限公司

© 2001-2013 Comsenz Inc.

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