TC官方合作论坛

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

[已解决] 求指点 找字经常弹出类型不匹配

[复制链接]
跳转到指定楼层
楼主
发表于 2013-11-10 00:14:56 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上加入TC

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

x
变量 线程句柄,x,y,间隔1,间隔2,间隔3,间隔4,间隔5,间隔6,间隔7,间隔8,间隔9,间隔10
变量 a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,intX,intY,a15,a16,hwnd,a17
变量 a18,a19,a20
ts=com("ts.tssoft")
功能 初始化()
    是否成功=辅助.注册插件("rc:TSPlug.dll",真)
    如果(是否成功)
        调试输出("插件已注册")
    否则
        调试输出("插件未注册")  
    如果结束
功能结束
功能 开始_点击()
    hwnd=ts.GetMousePointWindow()
    ts.BindWindow(hwnd,"dx2","dx","dx",101)
    辅助.等待(1600)
    ts.DownCpu(100)
    ts.EnableRealKeypad(1)
    ts.SetMouseDelay("dx",10)
    ts.MoveTo(600,316)
系统.设置路径("D:\\斗战神游戏\\斗战神游戏\\资源")
功能 寻路()
    a,b,int1X,int2Y
    ts.KeyDownChar("delete")
    辅助.等待(760)
    ts.KeyUpChar("delete")
    ts.SetDict(0,"坐标字库0.txt")
    循环(真)
        a=ts.Ocr(1028,20,1055,38,"de7139-000000",1.0)
        辅助.等待(80)
        如果(a<168)
            ts.KeyDownChar("d")
        否则
            ts.KeyUpChar("d")
            
            跳出
        如果结束
    循环结束
功能结束  
经常会弹出类型不匹配 然后就脚本停止了   请问是没找到字导致的还是其他原因所造成的  或者有其他更好的语句来实现这个目的
回复

使用道具 举报

9#
发表于 2013-11-10 02:18:22 | 只看该作者
ts=com("ts.tssoft")

定义全局插件对象时最好不要这样子?

你就写个
  1. ts
复制代码

或者
  1. 变量 ts
复制代码


而在初始化代码中注册完插件对象后其后紧跟

  1. ts=com("ts.tssoft")
复制代码




回复 支持 反对

使用道具 举报

推荐
发表于 2013-11-10 01:16:55 | 只看该作者
因为出在  如果(a<168)  这一句上
当你a不为整数时,这比较判断就会出错。最好就是在比较之前,先判断a是否为整形。。

评分

参与人数 0威望 +10 收起 理由
tao201309 + 10 有道理 就是不知道怎么判断a是否整形.

查看全部评分

回复 支持 1 反对 0

使用道具 举报

板凳
 楼主| 发表于 2013-11-10 01:18:14 | 只看该作者
怎么判断是不是整数型 给个例子?
回复 支持 反对

使用道具 举报

地板
 楼主| 发表于 2013-11-10 01:25:23 | 只看该作者
取值是坐标 而且绝对整数  因为字库里面就只有0-9的数字 没有标点符号
回复 支持 反对

使用道具 举报

5#
 楼主| 发表于 2013-11-10 01:26:35 | 只看该作者
我怀疑是找字没找到造成的  请问有什么方法解决
回复 支持 反对

使用道具 举报

6#
 楼主| 发表于 2013-11-10 01:26:57 | 只看该作者
不是一直不可以 而是偶尔会来这么一出
回复 支持 反对

使用道具 举报

7#
发表于 2013-11-10 01:55:20 | 只看该作者
本帖最后由 mzbqhbc 于 2013-11-10 01:57 编辑

如果你开启了多个线程 ,但是多个线程都使用同一个TS的对象名,就有可能出现这种情况,解决办法就是不同线程,定义不同的插件对象
当然如果根本就没有数字,那没找到数字,也会数据类型不匹配
回复 支持 反对

使用道具 举报

8#
发表于 2013-11-10 02:13:56 | 只看该作者
        a=ts.Ocr(1028,20,1055,38,"de7139-000000",1.0)
        辅助.等待(80)
        如果(a<168)


Ocr返回的是:识别到的字符串

你拿识别到的字符串去和168做大小比较,类型能匹配?
回复 支持 反对

使用道具 举报

10#
 楼主| 发表于 2013-11-10 11:29:32 | 只看该作者
我肯定也是拿数字去比较的 因为我找的坐标  所以都是纯数字 坐标字库里就只有0-9个  10个字而已 想识别到其他的也不行
  还有就 我说只是偶尔 不是一只不行  我想问题应该是绑定 刷新游戏  资源占用大的问题
回复 支持 反对

使用道具 举报

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

本版积分规则

关闭

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

关闭

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

GMT+8, 2025-9-19 14:17 , Processed in 0.222059 second(s), 27 queries .

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

© 2001-2013 Comsenz Inc.

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