大漠插件的使用方法。
QQ群:143358382,433286131
到群共享_文件,大漠插件。下载最后一个免费版本 大漠3.1233,解压后得到dm.dll
(在群文件 有视频教程)
插件注册:
新建一个tc项目,点击IDE左上角__的"项目管理",右键"资源",插入资源(I),把dm.dll添加到资源目录。
注册插件("rc:dm.dll", 真) //使用一句代码就可以.
以前_电脑如果注册过高版本dm,先找到高版本dm,添加到资源。
注册插件("rc:dm.dll", 假) //反注册一次(卸载),或重做操作系统,否则dm3.1233无效。
杨桃刨冰 15:27:57
已经验证了,确实是。
在注册表里删掉。能不能拿最高版本的大漠,重新单独做个注册,卸载?
.
群主:不知道,你测试下。
插件调用:
var dm0 //定义全局变量,用来存放大漠对象。
//有成员讲:存放大漠对象,必须使用dm。在这里使用dm0( 其实用dm,dmdm,dm10都可以的,定义成ts也行)
dm0 = com("dm.dmsoft")
//创造com口的大漠对象。执行这句代码之后,全局变量_dm0,就带有大漠类的全部属性.
//"dm.dmsoft" 是什么意思? 编写过COM接口dll的朋友都知道:dm是库名字,dmsoft 是在库中建立的类名字,又叫接口名.
//大漠的其它函数,就是添加到类里面的函数.
var 版本 = dm0.Ver()
messagebox("当前版本号:"& 版本)
dm0.MoveTo(30,30)
sleep(50)
dm0.RightClick()
制作游戏时,游戏公司使用DirectX软件 绘制的游戏窗口,必须使用大漠/ 天使/ 乐玩插件 的dx绑定模式。
DX游戏窗口,后台模式只接受dx端口的输入。dx图色 dx鼠标 dx键盘,按键精灵 tc简单开发 易语言的窗口模式无效。
.
Direct1——Direct12。
dm3.1233的操作环境是Direct10。
发展到2022年,Direct的最新版本是Direct12。如果使用dm3.1233 操作Direct12绘制的游戏窗口,dx绑定模式可能会无效。
.
dm3.1233在注册之后,就可以用来找图 找色 识字 找字、、按鼠标 按键盘.
var path = 获取资源路径("rc:") //获取tc的资源路径.
dm0.SetPath(path) //把tc的资源路径,设置为大漠.全局路径()
//用这方法设置dm的全局路径之后,dm插件的找图() 找字() 设置字库(),Capture(),都不需要再带路径.
大漠找图。
用tc的AB抓抓 截取bmp,或使用大漠综合工具 截取bmp。注意:截取的bmp越小,特征越明显,找图的速度就越快。
.
再点击TC_IDE左上角__的"项目管理",右键"资源",插入资源(I),把脚本用到的东西,全部添加到资源目录。(例如bmp图片,txt字库,第三方dll等等)
var intx, inty, dm_ret
dm_ret = dm0.FindPic(0, 0, 1024, 768, "tc.bmp", "101010", 0.8, 0, intx, inty)
//参数1--参数4,设置的矩形区域越小,找图速度越快。
//参数5 偏色值越小,找图速度越快。例如10 10 10是R G B三原色,所允许的上下波动值.
//参数6 设置相似度的数值。数值越接近1,找图速度越快。
if(intx > 0 && inty > 0)
dm0.MoveTo(intx, inty)
sleep(50)
dm0.LeftClick()
end
大漠识字。
用大漠综合工具,制作自定义字库。
或者“定义文字”后,在右侧_选中某一行,右键“查询系统字体”,制作系统字库。
对每个字库设定编号。取值为0-9,大漠插件最多支持10个字库。
dm_ret = dm0.SetDict(0,"字库0.txt")
dm_ret = dm0.SetDict(1,"字库1.txt")
dm_ret = dm0.SetDict(2,"字库2.txt")
dm_ret = dm0.SetDict(3,"字库3.txt")
dm_ret = dm0.UseDict(0)//激活需要使用的字库。参数1 :字库编号.
//字库里面 文字越少,识字/找字速度越快.
//字库里面 文字越多,识字/找字速度越慢.
var str = dm0.Ocr(0,0,1024,768,"9f2e3f-000000",1.0)
messagebox(str)
=======================================================
大漠插件,最强大的功能是绑定目标窗口,一键前台变后台。操作方法:
var hThread, dm0, run
功能 执行()
var dm_ret, hwnd0
注册插件("rc:dm.dll", 真)
dm0 = com("dm.dmsoft")
hwnd0 = dm0.GetMousePointWindow() //获取鼠标所在的窗口句柄.
dm_ret = dm0.BindWindow(hwnd0,display,mouse,keypad,mode)
//接着写代码,后台运行要绑定窗口.
//有些窗口,需要先激活游戏窗口 再绑定 (或者先绑定, 再激活1次游戏窗口),否则绑定无效。
//有些窗口,需要在绑定后 等待(2000),否则绑定无效。
while(run)
//主线程任务。
//dx模式比较耗费时间,代码和代码之间,最少要留有 sleep(10)的时间,否则操作无效.
//找怪打怪()
//补红补蓝()
//自动拾取()
//定点回位()
//回城补给()
sleep(200)
end //循环结束.
dm_ret = dm0.UnBindWindow()//这样设置之后。只要循环结束, 就会执行到窗口解绑。不需要手动解绑。
结束
功能 启动_热键()
var bool = 线程获取状态(hThread)
if(bool == 0)
run = 1
hThread = 线程开启("执行", "")
end
结束
功能 终止_热键()
run = 0
结束
来源:858091293高级群。
原创作品。转载请标明作者,标明出处. |