dnf按键精灵自动打怪教学(按键精灵教程DNF卡牌对对翻)

金猪脚本(原飞猪脚本)以按键精灵教学为主,涉及UiBot,Python,Lua等脚本编程语言,教学包括全自动办公脚本,游戏辅助脚本,引流脚本,网页脚本,安卓脚本,IOS脚本,注册脚本,点赞脚本,阅读脚本以及网赚脚本等各个领域。想制作脚本和学习按键精灵的朋友可以添加按键精灵学习交流群:554127455 学习路上不再孤单,金猪脚本伴你一同成长.

dnf按键精灵自动打怪教学(按键精灵教程DNF卡牌对对翻)(1)

翻牌规则

1、截止时间:一月十五号。活动期间,LV30及以上的玩家每天登录可以获得1个翻牌机会。

2、LV30及以上的角色通关符合自身等级的推荐地下城2次即可获得1次翻牌机会。每日获得翻牌机会的个数不受限制。

3、消耗1个翻牌机会,可翻两张牌。

dnf按键精灵自动打怪教学(按键精灵教程DNF卡牌对对翻)(2)

翻牌布局是4行4列:

dnf按键精灵自动打怪教学(按键精灵教程DNF卡牌对对翻)(3)

dnf按键精灵自动打怪教学(按键精灵教程DNF卡牌对对翻)(4)

我们可以集满8次翻牌次数之后一次性翻牌。

翻牌次数不够的话,可以通过 通关 “推荐地下城” 获取。

副本名字下有绿色字 "E适应等级" 提示的,就是翻牌规则里所说的 “推荐地下城”

dnf按键精灵自动打怪教学(按键精灵教程DNF卡牌对对翻)(5)

翻牌攻略

dnf按键精灵自动打怪教学(按键精灵教程DNF卡牌对对翻)(6)

卡牌对对翻里图片的分布是固定的五种,

首先需要知道当前翻牌的布局是属于哪种,

然后照着对应的布局点开图片即可:

dnf按键精灵自动打怪教学(按键精灵教程DNF卡牌对对翻)(7)

dnf按键精灵自动打怪教学(按键精灵教程DNF卡牌对对翻)(8)

每种布局的第四排的第二张图片是不一样的。

首次翻牌的时候,翻开第四排第二张图片,就能知道当前翻牌的布局是属于哪种。

流程图

dnf按键精灵自动打怪教学(按键精灵教程DNF卡牌对对翻)(9)

执行步骤

本例子中的脚本为前台脚本,游戏窗口默认大小:800*600

1、游戏窗口移动之后,坐标会发生变化,所以需要获取窗口左上角坐标,来计算出变化后的坐标。

相关院刊:【院刊】-【201412期】简单几个步骤实现游戏掉线重连(上)

代码:

  1. Hwnd = Plugin.Window.Find("地下城与勇士", "地下城与勇士")
  2. sRect = Plugin.Window.GetClientRect(Hwnd)
  3. MyArray = Split(sRect, "|")
  4. x = Clng(MyArray(0)) : y = Clng(MyArray(1))

复制代码

2、 点击卡牌对对翻的活动图标

dnf按键精灵自动打怪教学(按键精灵教程DNF卡牌对对翻)(10)

dnf按键精灵自动打怪教学(按键精灵教程DNF卡牌对对翻)(11)

3、通过查找 "翻牌次数" 来判断卡牌翻翻界面是否出现。

每隔一秒查找一次,如果找到则退出循环,继续下一步,五次没有找到,则提示信息并且停止脚本运行。

(避免找不到图进入死循环)

dnf按键精灵自动打怪教学(按键精灵教程DNF卡牌对对翻)(12)

dnf按键精灵自动打怪教学(按键精灵教程DNF卡牌对对翻)(13)

代码:

  1. ////////判断卡牌翻翻界面是否出现/////////
  2. For 5
  3. FindPic x 90,y 37,x 322,y 116,"D:\卡牌翻翻\翻牌次数.bmp",0.9,intX,intY
  4. If intX > 0 And intY > 0 Then
  5. j=1
  6. Exit For
  7. End If
  8. Delay 1000
  9. Next
  10. If j 4、翻开第四排第二张图片,判断第四排第二张图片是哪张图片
  11. 第一种布局:第四排第二张图片是一只紫色的羊
  12. 第二种布局:第四排第二张图片是一只粉红色的羊
  13. 第三种布局:第四排第二张图片是一只绿色的羊
  14. 第四种布局:第四排第二张图片是一只Yellow色的羊
  15. 第五种布局:第四排第二张图片是一只蓝色的羊
  16. 将这五只羊截图以供查找

dnf按键精灵自动打怪教学(按键精灵教程DNF卡牌对对翻)(14)

  1. 小编没有截取整只羊,只截了一丢丢, 找图的范围也设置在第四排第二张图片的上半部
  2. 这样可以提高找图效率。
  3. 代码: 1 Then
  4. MessageBox "没找到翻牌界面 T_T"
  5. EndScript
  6. End If

复制代码

dnf按键精灵自动打怪教学(按键精灵教程DNF卡牌对对翻)(15)

例如,翻开的第四排第二张图是紫色的羊。

dnf按键精灵自动打怪教学(按键精灵教程DNF卡牌对对翻)(16)

那么,接下去应该是:

点开第四排第一张图

点开第一排第一张图

点开第二排第二张图

点开第一排第二张图

点开第一排第三张图

以此类推……

我们需要记录下这一组要点击的坐标

打开抓抓放大镜,移动到第四排的第一张图片上记下它的坐标

再移动到第一排第一张图片的位置上记下它的坐标 ?

这么麻烦?

dnf按键精灵自动打怪教学(按键精灵教程DNF卡牌对对翻)(17)

麻烦的事情还是交给脚本来做吧。

另写一个脚本专门用来获取坐标:

  1. ////////翻开第四排第二个图片////////////////
  2. MoveTo x 451,y 467
  3. LeftClick 1
  4. Delay 1000
  5. ////////找第四排第二个图片是哪张图片///////
  6. For i= 1 to 5
  7. FindPic x 423,y 420,x 500,y 474,"D:\卡牌翻翻\" & i &".bmp",0.9,intX,intY
  8. If intX > 0 And intY > 0 Then
  9. TracePrint i
  10. 布局=i
  11. End If
  12. Next

复制代码

启动“获取坐标”脚本之后,按照布局,依次右击图片

dnf按键精灵自动打怪教学(按键精灵教程DNF卡牌对对翻)(18)

dnf按键精灵自动打怪教学(按键精灵教程DNF卡牌对对翻)(19)

红色框框里的就是我们需要的坐标组了,复制保存起来。

用这种方法将五种布局需要点击的坐标组获取到。

5、根据布局,选择对应的坐标字符串

代码:

  1. Hwnd = Plugin.Window.Find("地下城与勇士", "地下城与勇士")
  2. Call Plugin.Window.Move(hwnd,0,0)
  3. For 32 //16张图片本应该循环16次,但是由于waitclick命令,鼠标按下弹起都会触发一次,所以这里需要循环32次
  4. last_click=WaitClick()
  5. If last_click=32773 then //判断鼠标右键是不是按下
  6. GetCursorPos x, y
  7. TracePrint x & "," & y
  8. 坐标字符串 = 坐标字符串 & "x " & x & "," &"y " & y & "|"
  9. End if
  10. Next
  11. TracePrint 坐标字符串

复制代码

6、分割坐标字符串,依次点击坐标

代码:

  1. ////////根据布局,选择对应的坐标字符串///////
  2. Select Case 布局
  3. Case 1 //紫色的羊,第一种布局
  4. 坐标字符串 ="x 373,y 465|x 372,y 110|x 449,y 231|x 456,y 118|x 552,y 119|x 629,y 113|x 642,y 233|x 366,y 226|x 548,y 235|x 367,y 350|x 460,y 353|x 553,y 349|x 553,y 469|x 636,y 344|x 641,y 468"
  5. Case 2 // 粉红色的羊,第二种布局
  6. 坐标字符串 ="x 459,y 241|x 371,y 125|x 638,y 120|x 459,y 114|x 561,y 117|x 377,y 240|x 558,y 244|x 636,y 242|x 634,y 477|x 371,y 353|x 552,y 359|x 448,y 356|x 633,y 354|x 383,y 474|x 548,y 478"
  7. Case 3 //绿色的羊,第三种布局
  8. 坐标字符串 ="x 372,y 346|x 361,y 113|x 461,y 244|x 458,y 109|x 549,y 354|x 548,y 116|x 641,y 234|x 645,y 116|x 372,y 481|x 368,y 228|x 556,y 475|x 552,y 233|x 631,y 353|x 465,y 350|x 632,y 467"
  9. Case 4 //**的羊,第四种布局
  10. 坐标字符串 ="x 387,y 464|x 366,y 120|x 367,y 344|x 466,y 116|x 364,y 233|x 547,y 121|x 637,y 345|x 646,y 103|x 645,y 239|x 462,y 236|x 559,y 244|x 451,y 349|x 635,y 470|x 550,y 358|x 549,y 464"
  11. Case 5 //蓝色的羊,第五种布局
  12. 坐标字符串 ="x 459,y 346|x 373,y 111|x 372,y 244|x 465,y 116|x 466,y 233|x 555,y 117|x 645,y 119|x 546,y 235|x 640,y 472|x 640,y 232|x 544,y 470|x 378,y 353|x 369,y 464|x 553,y 360|x 633,y 360"
  13. End Select

复制代码

Execute知识相关:

【院刊】-【201410期】 神奇的Execute语句

整体代码

  1. ////////分割坐标字符串,依次点击坐标//////////////
  2. 坐标 = Split(坐标字符串, "|")
  3. For i = 0 To UBound(坐标)
  4. Execute "MoveTo " & 坐标(i)
  5. LeftClick 1
  6. Delay 1000
  7. Next

复制代码

,

免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com

    分享
    投诉
    首页