个人常用模块源码分享,集成了最新大漠和精益模块,大漠单线程+多线程模块
本帖最后由 12次方 于 2021-9-16 19:24 编辑大家好,我是12。之前开源过一个“个人大漠专用模块”:https://www.52pojie.cn/thread-985268-1-1.html
至今还有人经常下载,由于那个模块是我才用大漠没多久写的,对于大漠还有很多理解不到位的地方,虽然能用但现在看来还是有很多的不足的,所以今天我来了,带来了新的一个模块:“常用模块集”。这个模块目前集成了:精益模块8.3和大漠最新7.2014版(收费版本)的单线程+多线程。由于时间匆促,可能有不完善的地方,欢迎反馈,后续我会在这个模块中集成进皮肤和加密模块。
对于精易模块,是直接集成过来的,没有做任何修改。
对于大漠,模块是集成了7.2014版本的dll、免注册dll,如果需要其他版本请在源码里修改。
这里要着重说一下模块中关于大漠的一些细节和使用方法。
1,首先,无论你是只使用单线程的大漠,还是使用多线程的大漠,都必须先调用一次:大漠创建对象并注册(),这样在线程外可以使用“dm”这个全局变量来使用大漠的所有的方法;
2,关于大漠多线程,由于不同人对于多线程的使用习惯不同,所以此模块中对于大漠多线程的使用,个人仅推荐使用:“大漠多线程”这个全局变量来自己重新写创建、绑定、暂停等功能,只要保证是使用的“大漠多线程”这个全局变量,那么后面就能直接使用模块中大漠多线程的方法,注意多线程方法需要传入一个参数:序号,每个线程中需要确保这个参数值是相同的;
3,如果使用模块中的大漠多线程注册,那么正确的使用方法应该是:
在启动或者主动创建时:大漠创建对象并注册() 必须!
在启动或者主动创建时:大漠多线程初始化() 必须!
在线程中:大漠创建对象_多线程_主线程 ()必须!
在线程中:大漠创建对象_多线程_副线程 ()非必须!
这里简单讲解一下:
第一个方法:大漠创建对象并注册(),需要传入大漠的注册码和附加码,创建成功后,可以使用类型为大漠类库的全局变量dm,同时不需要自己去添加dll文件,如果没有dll文件,模块会自动在运行目录下释放;
第二个方法:大漠多线程初始化 (),需要传入一个整数型参数,例如你是要多开10个窗口,那么这里就传入10,这是多线程大漠必须要的一个参数,最大值为100。最大值100是因为在全局变量中已经设定了“大漠多线程”数组上限为200,也就是说模块默认的最大多开数量是100(因为这里采用的主副线程,要除以2),如需修改,请改源码;
第三个方法:大漠创建对象_多线程_主线程 (),只需要传入线程序号1-100,如第一个线程传入1,第10个传入10。同时这个方法只能在线程里使用,并且要在线程的最开始使用,因为这里面有线程模式的设置。
第四个方法:大漠创建对象_多线程_副线程 (),这个方法可以不使用,主要看自己的喜好,如果也使用,请注意,这里传入的序号必须跟主线程传入的序号一致,也必须在线程的一开始使用。
为什么会有三、四两个看似一样的方法,这里就不多讲解了,有空我打算出个视频来说下。
4,重点!重点!重点!这个模块中关于大漠的使用,其实跟以前我分享的大漠模块最大的区别就在于这里了。这个模块更偏向于实际使用,而之前的模块更像是一个简单的汉化模块,虽然两个模块我都没做汉化。其实要做汉化也是差不多,只需要在类库中,将方法名修改为中文即可,但我个人认为没有这个必要追求完全的汉化,平时有不明白的多查查官方文档就好。
好了,不废话,简单说下关于模块中大漠方法的说明。
模块中的方法,可以看出相同功能的方法我都写了几个,如大漠找图这个功能是我们常用的。以单线程为例,我在模块中找图功能就写了11个方法。
如:大漠找图(),这个方法就是基础的找图方法,跟直接使用类库比,少了一个偏色设置,我这里将找图的偏色都设置为了“000000”,还有省去了我们每次写图片名的时候需要加“.bmp”这个后缀,其他的都没区别;这是最简单的一个方法。
再来一个最复杂的:大漠找图并单击_N秒多张图加偏移()这个方法,显然功能看上去就比上一个强大,这个方法能做什么呢?他可以在几秒钟内找一张图,如果找到就单击他,还可以使单击的位置发生偏移,如果你设置了5秒,但实际上在第1秒的时候就找到了,他也不会傻乎乎的等5秒而是直接返回。如,游戏页面需要加载,但是网络和电脑性能有差异,有人快有人慢,那么这一个方法就能解决这个问题;如,可能有时候我们找一次找不到这个图,因为页面其他渲染的颜色导致这个图在扫描的那一刻像素差异,导致找不到。等等情况。这样做的最大好处就可以容错高,提高稳定性。不要嫌我废话多,我是真的见过很多人写的代码,就是只找一次,找不到就是另外一个处理流程,特别是在文字识别这个地方,很多时候一次识别的并不是很准确,那就有可能出现异常了,还有找图因为游戏光效找不到等等情况。
由于时间关系,本来只是今天心血来潮做的,结果一晚上都过去了,匆忙之下,没有细致校对,反正源码在这 如果有兴趣的,自己参考完善吧。
感谢阅读,祝大家一切吉祥圆满!
如果可以,请给我点好评支持,这样我会更有动力创作并分享!
由于模块封装了dll文件,所以超出附件大小,请使用网盘下载:
https://wwa.lanzouj.com/b09fa0adi
密码:3wwm
更新链接:(2021年09月16日)
成品:
链接: https://pan.baidu.com/s/15-Ixi-37VKLqHGy7rRafZw
提取码: 5d9f
源码:
链接: https://pan.baidu.com/s/1halT_NiGxI69_og5VK7F5g
提取码: z67f 本帖最后由 CarroAro 于 2020-9-11 18:40 编辑
测试一下
大漠找图():功能正常 马上找到图
大漠找图并单击_N秒多张图加偏移():就不正常了,时间给它拉长到60秒仍然找不到,容错改成0.1还是找不到
不知道是我使用问题或是如何
----------------------------
知道原因了
3.1233不提供这个功能
改成7.2027就正常了
一开始一直搞不懂注册 创建 初始化和设置的顺序也是花了好多时间
学习一下,感谢楼主分享 楼主辛苦了 学习一下,非常,感谢楼主分享
收藏先,谢谢大佬 感谢楼主 ,拿走了 学习一下, 可以可以,刚好看到 E语言用的?按键精灵可以调用么?
可以~~~顶了