DNF游戏辅助怎么做用按键精灵制作DNF遍历背包卖物脚本.docx

上传人:b****1 文档编号:13526482 上传时间:2023-06-15 格式:DOCX 页数:11 大小:1.05MB
下载 相关 举报
DNF游戏辅助怎么做用按键精灵制作DNF遍历背包卖物脚本.docx_第1页
第1页 / 共11页
DNF游戏辅助怎么做用按键精灵制作DNF遍历背包卖物脚本.docx_第2页
第2页 / 共11页
DNF游戏辅助怎么做用按键精灵制作DNF遍历背包卖物脚本.docx_第3页
第3页 / 共11页
DNF游戏辅助怎么做用按键精灵制作DNF遍历背包卖物脚本.docx_第4页
第4页 / 共11页
DNF游戏辅助怎么做用按键精灵制作DNF遍历背包卖物脚本.docx_第5页
第5页 / 共11页
DNF游戏辅助怎么做用按键精灵制作DNF遍历背包卖物脚本.docx_第6页
第6页 / 共11页
DNF游戏辅助怎么做用按键精灵制作DNF遍历背包卖物脚本.docx_第7页
第7页 / 共11页
DNF游戏辅助怎么做用按键精灵制作DNF遍历背包卖物脚本.docx_第8页
第8页 / 共11页
DNF游戏辅助怎么做用按键精灵制作DNF遍历背包卖物脚本.docx_第9页
第9页 / 共11页
DNF游戏辅助怎么做用按键精灵制作DNF遍历背包卖物脚本.docx_第10页
第10页 / 共11页
DNF游戏辅助怎么做用按键精灵制作DNF遍历背包卖物脚本.docx_第11页
第11页 / 共11页
亲,该文档总共11页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

DNF游戏辅助怎么做用按键精灵制作DNF遍历背包卖物脚本.docx

《DNF游戏辅助怎么做用按键精灵制作DNF遍历背包卖物脚本.docx》由会员分享,可在线阅读,更多相关《DNF游戏辅助怎么做用按键精灵制作DNF遍历背包卖物脚本.docx(11页珍藏版)》请在冰点文库上搜索。

DNF游戏辅助怎么做用按键精灵制作DNF遍历背包卖物脚本.docx

DNF游戏辅助怎么做用按键精灵制作DNF遍历背包卖物脚本

DNF游戏辅助怎么做:

用按键精灵制作DNF遍历背包卖物脚本

来源:

按键学院【按键精灵】

游戏挂机一段时间,号子上的背包满了怎么办?

我们需要清理背包,该分解的分解该卖的卖。

清理背包第一步:

遍历背包

     第二步:

判断背包格里是否有物品

     第三步:

判断物品的名称等级

     第四步:

执行清包操作。

具体该怎么操作呢?

我们一起来学习下。

第一步:

单重循环搞定背包遍历

以dnf游戏为例,小编的号,背包格数是8*4总共32格

单重循环遍历大致思路:

1、取第一格背包的中心点坐标。

2、获取一格背包的宽度和高度是多少。

3、遍历公式:

第二格背包中心x坐标=背包第一格中心X坐标+(2mod背包总列数)*每格宽

第二格背包中心y坐标=背包第一格中心Y坐标+(2\背包总列数)*每格高

 注意:

为什么x坐标添加的每隔宽用mod取余呢?

因为背包横向走的时候,x坐标是在变化,而背包竖向走的时候,也就是从第一行最后一格跳转到第二行第一格的时候,x坐标是不变的。

如图:

单重循环遍历背包代码:

Call横向自上往下背包遍历(1,32,8,489,277,30,30)//调用背包遍历

Sub横向自上往下背包遍历(开始格数,结束格数,背包总列数,背包第一格中心X坐标,背包第一格中心Y坐标,每格宽,每格高)

  Fori=开始格数-1To结束格数-1 //因为数组下标是0起始,所以这里开始格数要减去1

      MoveTo背包第一格中心X坐标+(imod背包总列数)*每格宽,背包第一格中心Y坐标+(i\背包总列数)*每格高

      TracePrint(背包第一格中心X坐标+(imod背包总列数)*每格宽)&","&(背包第一格中心Y坐标+(i\背包总列数)*每格高)

      Delay500

      //移动到这格后,这里写你在这格要做的事情的代码

  Next

EndSub

第二步:

判断当前背包格子里是否有物品

我们观察上面两张图,如果格子里没有物品,鼠标移动上去之后是没有物品属性显示的。

所以,装备两个字可以看见。

如果格子里有物品,那么装备两个字就会被遮挡。

(游戏里不变的参照物是很多的,童鞋们也可以取其他的参照物来代替装备两个字)

好了,我们发现这个特点之后,就可以进行判断,找到装备两个字就说明格子里没有物品,反之则有物品。

小编使用的是,大漠插件来找字。

首先,建立一个字库。

DNF游戏的字体是系统字体,小编的系统是宋体9号字。

然后,按照图里的步骤建立好字库以后,将字库文件添加到按键精灵附件中。

判断当前背包是否有物品代码:

Call横向自上往下背包遍历(1,32,8,489,277,30,30)//调用背包遍历

Sub横向自上往下背包遍历(开始格数,结束格数,背包总列数,背包第一格中心X坐标,背包第一格中心Y坐标,每格宽,每格高)

  Fori=开始格数-1To结束格数-1//因为数组下标是0起始,所以这里开始格数要减去1

j=j+1//记录当前遍历到的格数

      MoveTo背包第一格中心X坐标+(imod背包总列数)*每格宽,背包第一格中心Y坐标+(i\背包总列数)*每格高

      TracePrint(背包第一格中心X坐标+(imod背包总列数)*每格宽)&","&(背包第一格中心Y坐标+(i\背包总列数)*每格高)

      Delay500

      w=dm.Ocr(478,238,511,253,"ffffb8",1.0)

      Ifw="装备"Then  //找装备字眼,如果没有找到,说明背包格子里有东西

        TracePrint"第"&j&"格没物品"

      Else 

        TracePrint"第"&j&"格有物品"

      EndIf

      

  Next

EndSub

第三步,判断物品名称

要如何判断物品名称呢?

遍历背包的时候,发现格子里有物品的时候,我们开始判断物品的名称。

但是,这些物品的属性窗口并不是固定显示在一个地方

细心的童鞋很快就能发现,这里的物品属性框有两种,一种显示的是当前物品的信息,一种显示的是角色现在穿戴物的物品属性。

而且,“穿戴中的物品"这几个字是没有变化的

判断物品名称大致思路:

1、用大漠插件找字,找“穿戴中的物品”这几个字,找到之后记录它的坐标值。

所以这里不使用dm.ocr找字,使用dm.FindStr来找字。

拓展知识:

dm.ocr找字,是在你不知道要找什么字的情况下,通过定义查找范围和字体颜色去找字,返回值就是找到的文字。

dm.FindStr找字,是你知道你要找什么字,然后定义查找范围和字体颜色去找字,返回值是文字所在的坐标。

2、通过“穿戴中的物品”这几个字所在的坐标,计算物品名称的出现的范围。

3、用dm.ocr找字在获取到的物品名称范围内进行找字。

4、找到之后,可以继续查找物品的其他属性,耐久属性等等,来判断出售分解还是其他,由于种类很多,小编就不写这类代码了。

注意:

如果身上并没有穿戴装备,那么物品属性就只会显示当前物品属性,“穿戴中的物品”这几个字无法找到,这样的情况可以在代码里继续做判断,找不到“穿戴中的物品”时,可以去找物品重量后面的单位KG(为什么前面不找KG呢?

因为当有两个物品属性窗口的时候,当前物品属性窗口和穿戴中的物品属性窗口中都有KG字样,有两个的话,就无法确定位置。

全部代码:

callregister()

PutAttachment"G:

\test","DNF.txt"//释放字库文件到G:

\test文件夹里

dm_ret=dm.SetDict(0,"G:

\test\DNF.txt")//加载字库文件

hwnd=Plugin.Window.Find("地下城与勇士",0)

CallPlugin.Window.Size(hwnd,800,600)

CallPlugin.Window.move(hwnd,0,0)

CallPlugin.Window.Active(hwnd)

Delay1000

KeyPress"I",1

Call横向自上往下背包遍历(1,32,8,489,277,30,30)//调用背包遍历

Sub横向自上往下背包遍历(开始格数,结束格数,背包总列数,背包第一格中心X坐标,背包第一格中心Y坐标,每格宽,每格高)  

  Fori=开始格数-1To结束格数-1

      j=i+1

      MoveTo背包第一格中心X坐标+(imod背包总列数)*每格宽,背包第一格中心Y坐标+(i\背包总列数)*每格高

      TracePrint(背包第一格中心X坐标+(imod背包总列数)*每格宽)&","&(背包第一格中心Y坐标+(i\背包总列数)*每格高)

      Delay500

      w=dm.Ocr(478,238,511,253,"ffffb8",1.0)

      Ifw="装备"Then  //找装备字眼,如果没有找到,说明背包格子里有东西

        TracePrint"第"&j&"格没物品"

      Else 

        TracePrint"第"&j&"格有物品"

        

        dm_ret=dm.FindStr(423,22,771,342,"穿戴中的物品","e8cda4",1.0,intX,intY)//查找穿戴中的物品,找到之后获取它的坐标,以它的坐标为基点去找当前物品的名称。

        IfintX>=0andintY>=0Then

          s=dm.Ocr(intX-300,intY,intX-60,intY+50,"68d5ed|b36bff",1.0)//蓝色装备和粉色装备都找

          MessageBoxs

        End  if

      EndIf

  Next

EndSub

Subregister()  //注册大漠

  Setws=createobject("Wscript.Shell")

  ws.run"regsvr32atl.dll/s"

  Setws=nothing

  PutAttachment"G:

\test","dm.dll"

  PutAttachment".\Plugin","RegDll.dll"

  callPlugin.RegDll.Reg("G:

\test\dm.dll")

  Setdm=createobject("dm.dmsoft")

  ver=dm.ver()

  Iflen(ver)=0Then

      MessageBox"插件注册失败,检查系统是否禁用了vbs脚本权限"

      EndScript

  EndIf

EndSub

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 高中教育 > 高考

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2