TC官方合作论坛

标题: 怎么处理逻辑问题? [打印本页]

作者: B哥    时间: 2012-12-2 20:28
标题: 怎么处理逻辑问题?
    按键挂,一找图,找色,找字。都是通过坐标点或区域中的元素做比较。从而得到想要的信息。但一些逻辑问题一直想不到怎么处理。如 判断游戏人物等级。                    1.游戏人物级数大于30级,做XX任务。
                  2.游戏人物级数大于35级,小于50级做XX任务。
          这样的逻辑问题要怎么解决呀?有些抓图软件倒是可以把图片中的文字解析出来。但TC或者大插件有什么办法解决此类问题么?
                  走过,路过的大神指点一下小虾米吧!!!!!!!

作者: 夏末    时间: 2012-12-2 20:34
大漠 文字识别
作者: kk595    时间: 2012-12-2 20:38
帮顶、、
作者: B哥    时间: 2012-12-2 20:40
回复 2楼夏末的帖子

大漠文字识别。。。有这样的文件库?如1-100任意数。给个坐标区域。大漠可能返回一个字符串或者一个整数?。。。我找了一会API没找到呀。求具体方法。先谢了!
作者: B哥    时间: 2012-12-2 20:41
回复 3楼kk595的帖子

兵哥,就是好人!
作者: chenxiaoman    时间: 2012-12-2 21:13
呃,好吧 其实2楼已经回答你了,只是很模糊,我来给你回答清楚。。。
在回答你问题之前我先说几个东西你先理解一下。
-------------------------------------------------------------------------------------------------------
大漠的文字识别,就是把你当前的任务 或者 等级 血量 蓝量 等等 数字和文字 用次命令来找到,但是前提是你必须要自己做字库,然后用命令来操作。
比如大漠找字命令:dm.FindStrFast(0,0,2000,2000,"长安","9f2e3f-000000",1.0,intX,intY)   
意思就是:dm.FindStrFast  是大漠的命令   0,0,2000,2000区域的坐标,,长安 就是要找的文字   9f2e3f-000000 是色值 1.0 是相似度  intX,intY 是返回的坐标
-------------------------------------------------------------------------------------------------------
解下来说说你的问题:
1.游戏人物级数大于30级,做XX任务。

答:比如 先把你左上角 人物 头像下面带等级的区域 用大漠工具做成字库来判断当前的等级问题 比如你当前等级30  
2.游戏人物级数大于35级,小于50级做XX任务。

答:和上面的一样,当然你自己写程序的时候可以这么写。

//开始30-35任务
XXXX代码
//开始35-40 或者40-50任务
XXXX代码

然后如遇到掉线 或者下线的情况 这样就可以做判断了  比如当前等级小于了35级 你就让他直接执行 30-35的任务。
当然 你可以做成下拉框 的形式 让用户自动判断 他当前的等级这样就可以直接快速的执行任务了 缩短脚本反映速度。
好了完了。我想应该说的比较完整了。

希望采纳! 不懂继续追问。
作者: jimye0526    时间: 2012-12-2 21:55
楼上写好多啊
可以利用大漠的文字识别来实现
你先把字库做好 使用Ocr函数来识别文字
然后根据识别到的文字来做判断

作者: B哥    时间: 2012-12-2 21:58
回复 6楼chenxiaoman的帖子

好像也没解决。。等级大于30级。你抓图片怎么判断?如:你找得是“30”图,可人物是32/33/34。呵呵你怎么知道,这是大于30级的?。。。你说得第二种办法。让用户去自己选。。如果是辅助自动登录,自动上号。。人家有28级的号。也有34级的号。你怎么搞?我感觉,这些不成熟的外挂和插件。暂时也没好的办法。不过现在有很多软件很强大,抓图软件,抓字软件。把图片直接转换成了可识别的文字及数字符号等等...

        不过我还是想到了一笨方法:
             外挂只能识别元素的话,就这样干了。
         如:人物等 1-100级
            制作字库 0 - 9  10个字的点阵像素。  如果识别 86级。用0-9(找10次)共处五项原每一个字去找游戏中的坐标。这样的话。6和8会找出来。。。再用X坐标的大小判断哪个在前面。 找到一个就是一个数字就是个位。。。。。两个数据就在最前面一位*10+第二位数。三位就前第一位*100第二位*10 +第三位
              这样想就是效率有点低,英文的话其它。识别一个就要查26次了。数次要查10次!笨笨的方法!!
作者: B哥    时间: 2012-12-2 22:34
回复 7楼jimye0526的帖子

Ocr
返回值:

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

先谢了,测试去!
作者: 554354854    时间: 2012-12-2 22:59
额额额额额
作者: chenxiaoman    时间: 2012-12-2 23:25
回复 8楼B哥的帖子

呃。。。唉 这样吧。我给你推荐个教程你去看看吧,是我当初学易语言的时候教程。你只看方法就可以。
就应该能达到你要的效果,我刚才说的估计还是没说清楚。。
传送门:

http://115.com/file/dn3f7gpf

要是搞明白了 记得采纳啊 辛苦我打那么多字。。。。

作者: sendmails2me    时间: 2012-12-3 02:35
可以用透明图啊,把1-9数字做成透明图,然后从2个不同的方向找图
作者: B哥    时间: 2012-12-4 19:02
回复 11楼chenxiaoman的帖子

太感谢了。还有其它更多的视频传送门么?07讲,08~0N讲。。摸拜了...
作者: mees88    时间: 2014-8-15 12:46





欢迎光临 TC官方合作论坛 (http://bbs.52tc.co/) Powered by Discuz! X3.1