TC官方合作论坛
标题:
区域找字是否有比大漠OCR更准确点的函数
[打印本页]
作者:
ltsi001
时间:
2012-5-19 22:16
标题:
区域找字是否有比大漠OCR更准确点的函数
大漠OCR函数是直接返回该区域的所有符合颜色的字符串,有时候调用后返回往往除了字符串还有点点什么的,给判断造成很大麻烦,是否有什么函数可以只返回完整的字符,直接将那些不完整的点排除在外的
作者:
cylhb
时间:
2012-5-19 22:31
在需要找的字数量不多的情况下,建立字库.
使用findstr是一个比较好的选择..
作者:
ltsi001
时间:
2012-5-19 22:45
回复
2楼
cylhb
的帖子
用Findstr好像很不便于配合选择语句使用,例如我要通过找游戏角的地图名来选择人物的动向。
字符型 str=dm.Ocr(928,31,970,48,"fefefe-203040",1.0)
辅助.消息框(str)
选择(str)
条件 "龙牙关":
辅助.消息框("满足条件1执行这里")
条件 "王城":
辅助.消息框("满足条件2执行这里")
条件 "边境":
辅助.消息框("满足条件3执行这里")
条件 "桃花"
辅助.消息框("满足条件4执行这里")
默认:
辅助.消息框("如果没有满足的条件执行默认语句")
选择结束
这样用OCR很方便
用Findstr就很不好写了,是不是这个情况不太好解决
作者:
xenolss
时间:
2012-5-19 23:17
只要你没有进行后台操作 固定分辨率的情况下字是不会变的
有的npc访问2次字色会变 只需要加入2个偏色就行
你说的读地图的情况 找字基本不会错 我试过很久了 我也是写征途2的 你想ocr解决 不太好的 容易出错 直接写找字吧
具体原因是地图转换之后 你马上ocr 会出现判断不到当前地图 为什么我也没搞清楚 我加入2秒延迟也是这样
作者:
cylhb
时间:
2012-5-19 23:18
用findstr只是写法麻烦点而已..
至于ocr.倒是没试过
作者:
xenolss
时间:
2012-5-19 23:20
现在我的难点在于每次死亡如果点安全都需要判断一个目前状态 因为是线程执行的 所以必须分的很细 假如 我在找npc并且出对话框了 我就跳出找npc的循环操作直接操作对话框 这个时候人死了。。就需要回到找npc的操作 这个才是大麻烦 每个找npc 寻路或者走地图 都需要加入这个安全回城的判断。。这个是一项很大的工程 必须写的很细很细
作者:
xenolss
时间:
2012-5-19 23:23
回复
5楼
cylhb
的帖子
其实他要的脚本本身也不麻烦的
只要把所有的地图字库都写进去
加入一个功能 判断 目前在哪个地图
每次执行之前都判断一次就好了
function string whichmap()
string mapname
然后用一次找字 包括所有的地图名 直接返回地图名
mapname=FindStr()
return mapname
endfunction
这样每次判断地图调用一次这个功能 直接就返回目前地图了 一样的操作 不麻烦的
相当于是ocr
作者:
ltsi001
时间:
2012-5-19 23:44
回复
7楼
xenolss
的帖子
谢谢你的Whichmap函数建议,要判断当前地图好解决。我只是想用用选择语句看看有什么优势,有没兴趣大家交换源码学习下,都闭门造车很难进步的。相信我的思路也会有你借鉴的地方
作者:
xenolss
时间:
2012-5-20 00:32
回复
8楼
ltsi001
的帖子
没问题啊 不过我启动执行里面写的很乱 其他单du的模块都好理解
启动线程状态传递里面的那些东西 我自己看着都晕。 只是勉强能3开循环登陆了 我估计问题还很大 现在执行脚本 过图 找npc都还行 但是切换线程和窗口之后 执行速度很慢。。
作者:
ltsi001
时间:
2012-5-20 19:38
回复
9楼
xenolss
的帖子
听了你的介绍我感觉你的水平远在我之上,我现在只能写种植,拉车,刺探这几个单du的脚步还有过图,上马,死亡回城,找NPC这几个简单的功能。多开,线程,之类的碰都不敢碰。只有等我写到跟你差不多时再联系你换源码学习了
欢迎光临 TC官方合作论坛 (http://bbs.52tc.co/)
Powered by Discuz! X3.1