TC官方合作论坛

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

[已解决] 测试脚本时,脚本卡死,求高手相助,TC第一个脚本

[复制链接]
跳转到指定楼层
楼主
发表于 2012-10-8 17:52:02 | 只看该作者 回帖奖励 |正序浏览 |阅读模式

马上加入TC

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

x
看了基础篇的界面排版 线程的简单使用,已经解决。感谢大家的无私解答。
  1. #import "dm.dmsoft" dm

  2. 空间 QQ仙灵脚本
  3. //定义默认空间

  4. 功能 逻辑型 退出_点击()
  5. //这里添加你要执行的代码
  6. 辅助.退出()
  7. 返回 真
  8. //函数返回语句
  9. 功能结束

  10. 功能 逻辑型 抓宝宝_点击()
  11. //这里添加你要执行的代码
  12. 辅助.等待(3000)
  13. 整型 QQXL=窗口.鼠标所在窗口句柄()
  14. 窗口.设置位置(QQXL,0,0)
  15. 窗口.激活(QQXL)
  16. 辅助.等待(50)
  17. 键盘.按键(119,1)   //119是F8的键位码
  18. 辅助.等待(50)

  19. 循环(真)

  20. 整型 战斗外=图像.坐标点取色(28,35)
  21. 如果(战斗外==#607D8E)
  22. 辅助.等待(50)
  23. 键盘.按键(119,1)
  24. 否则
  25. 整型 返回值,X,Y
  26. dm.SetPath(辅助.获取资源路径("rc:"))
  27. dm.SetDict(0,"QQXL.txt")             //设置  字库
  28. dm.UseDict(0)         //使用 字库0
  29. dm.FindStrFast(0,0,1024,768,"宝宝","fefefe-000000",1.0,X,Y)
  30. 辅助.等待(100)
  31.             如果(X>0)      //大于0,有宝宝
  32.                                  整型 捕捉=图像.坐标点取色(493,123)             //找捕捉按钮颜色
  33.                                  如果(捕捉==#A36B17)         //捕捉按钮是否可点击
  34.                                  鼠标.移动(493,123)             //如果可以点击表示轮到自己出手,抓宝宝
  35.                                  鼠标.左键单击(1)
  36.                                  鼠标.移动(X-5,Y-50)
  37.                                  鼠标.左键单击(1)
  38.            否则      //没有宝宝
  39.                 整型 捕捉1=图像.坐标点取色(493,123)            //找捕捉按钮颜色
  40.                     如果(捕捉1==#A36B17)                      //捕捉按钮是否可点击
  41.                                          键盘.按下(164)           //如果可以点击表示轮到自己出手,普通攻击杀怪
  42.                                          辅助.等待(10)
  43.                                          键盘.按键(65,1)
  44.                                          辅助.等待(10)
  45.                                          键盘.按键(65,1)
  46.                                          辅助.等待(10)
  47.                                          键盘.弹起(164)
  48.                                          辅助.等待(10)
  49.                     如果结束
  50.                                  如果结束
  51.             如果结束
  52. 如果结束
  53. 循环结束

  54. 返回 真
  55. 功能结束






  56. 空间结束
  57. //空间结束语句
复制代码


代码就是上面的那些。思路是: 判断是否遇敌(如果不遇敌后面的代码不会执行,循环一圈后继续按自动遇敌按钮)-如果遇敌,判断是否有宝宝,如果有宝宝,判断捕捉按钮是否亮起,亮起的话点击捕捉按钮,点击宝宝,如果没有亮起,代码循环一圈后继续判断捕捉按钮,如果没有宝宝,ALT+A打死,然后进入循环,判断是否遇敌

因为刚接触TC,用惯了GOTO、REM,突然没有了,有点不习惯。憋了2天,才憋出1个功能,测试的时候进入循环界面就卡死,然后后面的功能全部失效。请教大神,我的代码要怎么优化,可以的话麻烦帮下忙,十分感谢。  
回复

使用道具 举报

7#
 楼主| 发表于 2012-10-9 08:09:23 | 只看该作者
感谢各位,我去看视频教程去
回复 支持 反对

使用道具 举报

6#
发表于 2012-10-8 20:20:47 | 只看该作者
要使用 线程开启,不然会假死。
回复 支持 反对

使用道具 举报

5#
发表于 2012-10-8 18:07:29 | 只看该作者
又是一个不怎么看视频的人!

TC的程序执行是事件启动的!因为你的事件里有循环,这样会导致界面事件挂起,所以你的事件里功能应该放到线程里去执行!这样就不影响你的界面了,就不会界面卡死了!

官网视频-- 界......
Abin 发表于 2012-10-8 17:59:46



abin你太激动了!(? ?;)
回复 支持 反对

使用道具 举报

地板
发表于 2012-10-8 18:05:37 | 只看该作者
阿斌老师正解
回复 支持 反对

使用道具 举报

板凳
发表于 2012-10-8 18:01:18 | 只看该作者
如果(X>0)      //大于0,有宝宝
                                 整型 捕捉=图像.坐标点取色(493,123)             //找捕捉按钮颜色
                                 如果(捕捉==#A36B17)         //捕捉按钮是否可点击
                                 鼠标.移动(493,123)             //如果可以点击表示轮到自己出手,抓宝宝
                                 鼠标.左键单击(1)
                                                                  鼠标.移动(X-5,Y-50)
                                                                  鼠标.左键单击(1)
                                                                  如果结束 //结束捕捉按钮的判断
           否则      //没有宝宝
                整型 捕捉1=图像.坐标点取色(493,123)            //找捕捉按钮颜色
                    如果(捕捉1==#A36B17)                      //捕捉按钮是否可点击
                    键盘.按下(164)           //如果可以点击表示轮到自己出手,普通攻击杀怪
                    辅助.等待(10)
                                        键盘.按键(65,1)
                                        辅助.等待(10)
                                        键盘.按键(65,1)
                                        辅助.等待(10)
                                        键盘.弹起(164)
                                        辅助.等待(10)
                                        如果结束
如果结束

如果结束 并不是你与那个如果的位置对应 而是与离最近的上一个如果对应
回复 支持 反对

使用道具 举报

沙发
发表于 2012-10-8 17:59:46 | 只看该作者
又是一个不怎么看视频的人!

TC的程序执行是事件启动的!因为你的事件里有循环,这样会导致界面事件挂起,所以你的事件里功能应该放到线程里去执行!这样就不影响你的界面了,就不会界面卡死了!

官网视频-- 界面设计里 讲解了这个现象和解决办法!
回复 支持 反对

使用道具 举报

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

本版积分规则

关闭

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

关闭

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

GMT+8, 2025-10-10 17:43 , Processed in 0.242700 second(s), 27 queries .

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

© 2001-2013 Comsenz Inc.

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