马上加入TC
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
本帖最后由 剑仙十号 于 2021-7-3 14:45 编辑
大漠插件的使用方法。
插件注册:
到群共享_文件,大漠插件。下载最后一个免费版本 大漠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(30)
dm0.RightClick()
在制作游戏时,游戏公司用DX绘图软件,绘制的游戏窗口,必须使用大漠插件/ 天使插件/ 乐玩插件 的dx绑定模式。
DX游戏窗口,后台模式只接受dx端口的输入。dx图色 dx鼠标 dx键盘,而按键tc的后台模式无效。
注册大漠之后,dm.dll可以用来找图 找色 识字 找字,按鼠标 按键盘。
var path = 获取资源路径("rc:")
dm0.SetPath(path)
//把tc的资源路径,设置为大漠.全局路径()
//设置全局路径之后,大漠的找图()设置字库()找字(),就不用加任何路径.
大漠找图。
用AB抓抓截图,或用大漠综合工具,截取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, run, dm0
功能 执行()
var hwnd0, dm_ret
注册插件("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
结束
原创作品。转载请标明作者,标明出处. |