来源:按键学院 【按键精灵】 游戏挂机一段时间, 号子上的背包满了怎么办?我们需要清理背包, 该分解的分解该卖 的卖。 清理背包第一步:遍历背包 第二步:判断背包格里是否有物品 第三步:判断物品的名称等级 第四步:执行清包操作。 具体该怎么操作呢?我们一起来学习下。
以 dnf 游戏为例,小编的号,背包格数是 8*4 总共 32 格 单重循环遍历大致思路: 1、取第一格背包的中心点坐标。 2、获取一格背包的宽度和高度是多少。 3、 遍历公式:第二格背包中心 x 坐标=背包第一格中心 X 坐标 (2 mod 背包总列 数) * 每格宽 第二格背包中心 y 坐标=背包第一格中心 Y 坐标 (2\ 背包总列数) * 每格高 注意:为什么 x 坐标添加的每隔宽用 mod 取余呢? 因为背包横向走的时候,x 坐标 是在变化,而背包竖向走的时候,也就是从第一行最后一格跳转到第二行第一格的时候,x 坐标是不变的。如图:
Call 横向自上往下背包遍历(1, 32, 8, 489, 277, 30, 30)//调用背包遍历 Sub 横向自上往下背包遍历(开始格数,结束格数,背包总列数,背包第一格中心 X 坐标,背包第一格中心 Y 坐标,每 格宽,每格高) For i = 开始格数-1 To 结束格数-1 //因为数组下标是 0 起始,所以这里开始格数要减去 1
我们观察上面两张图, 如果格子里没有物品, 鼠标移动上去之后是没有物品属性显示的。 所以,装备两个字可以看见。如果格子里有物品,那么装备两个字就会被遮挡。(游戏里不 变的参照物是很多的,童鞋们也可以取其他的参照物来代替装备两个字) 好了,我们发现这个特点之后,就可以进行判断,找到装备两个字就说明格子里没有物 品,反之则有物品。 小编使用的是,大漠插件来找字。 首先,建立一个字库。DNF游戏的字体是系统字体,小编的系统是宋体9号字。
要如何判断物品名称呢?遍历背包的时候, 发现格子里有物品的时候, 我们开始判断物 品的名称。但是,这些物品的属性窗口并不是固定显示在一个地方
细心的童鞋很快就能发现,这里的物品属性框有两种,一种显示的是当前物品的信息, 一种显示的是角色现在穿戴物的物品属性。 而且,“穿戴中的物品这几个字是没有变化的
判断物品名称大致思路: 1、 用大漠插件找字,找“穿戴中的物品” 这几个字,找到之后记录它的坐标值。所 以这里不使用 dm.ocr 找字,使用 dm.FindStr 来找字。 拓展知识:dm.ocr 找字,是在你不知道要找什么字的情况下,通过定义查找范围和字 体颜色去找字,返回值就是找到的文字。 dm.FindStr 找字,是你知道你要找什么字,然后定义查找范围和字体颜色去找字,返 回值是文字所在的坐标。 2、 通过“穿戴中的物品”这几个字所在的坐标,计算物品名称的出现的范围。 3、 用 dm.ocr 找字在获取到的物品名称范围内进行找字。
4、 找到之后,可以继续查找物品的其他属性,耐久属性等等,来判断出售分解还是其 他,由于种类很多,小编就不写这类代码了。 注意:如果身上并没有穿戴装备,那么物品属性就只会显示当前物品属性,“穿戴中的 物品”这几个字无法找到, 这样的情况可以在代码里继续做判断, 找不到“穿戴中的物品” 时,可以去找物品重量后面的单位 KG(为什么前面不找 KG 呢?因为当有两个物品属性窗 口的时候,当前物品属性窗口和穿戴中的物品属性窗口中都有 KG 字样,有两个的话,就无 法确定位置。) 全部代码:
【小编推荐】特别推荐 DK辅助网 DK辅助网是一家专注于DNF辅助、DNF脚本、DNF工作室脚本的网站。汇聚了全网所有DNF辅助最稳定的程序,被称为超高安全超高稳定。