DNF辅助教程:按键精灵卡牌对对翻
1、翻牌规则1、截止时间:一月十五号。活动期间LV30及以上的玩家每天登录可以获得1个翻牌机会。2、LV30及以上的角色通关符合自身等级的推荐地下城2次即可获得1次翻牌机会。每日获得翻牌机会的个数不受限制。3、消耗1个翻牌机会,可翻两张牌。
2、翻牌布局是4行4列:

4、翻牌攻略卡牌对对翻里图片的分布是固定的五种,首先需要知道当前翻牌的布局是属于哪种,然后照着对应的布局点开图片即可:

7、执行步骤本例子中的脚本为前台脚本,游戏窗口默认大小:800*6001、游戏窗口移动之后,坐标会发生变化,所以需要获取窗口左上角坐标,来计算出变化后的坐标。代码:Hwnd=Plugin.Window.Find("地下城与勇士","地下城与勇士")sRect=Plugin.Window.GetClientRect(Hwnd)MyArray=Split(sRect,"|")x=Clng(MyArray(0)):y=Clng(MyArray(1))
8、点击卡牌对对翻的活动图标

10、代码:////////判断卡牌翻翻界面是否出现/////////For5FindPicx+90,y+37,x+322,y+116,"D:\卡牌翻翻\翻牌次数.bmp",0.9,intX,intYIfintX>0AndintY>0Thenj=1ExitForEndIfDelay1000NextIfj<>1ThenMessageBox"没找到翻牌界面T_T"EndScriptEndIf
11、翻开第四排第二张图片,判断第四排第二张图片是哪张图片第一种布局:第四排第二张图片是一只紫色的羊第二种布局:第四排第二张图片是一只粉红色的羊第三种布局:第四排第二张图片是一只绿色的羊第四种布局:第四排第二张图片是一只Yellow色的羊第五种布局:第四排第二张图片是一只蓝色的羊将这五只羊截图以供查找

14、那么,接下去应该是:点开第四排第一张图点开第一排第一张图点开第二排第二张图点开第一排第二张图点开第一排第三张图以此类推……我们需要记录下这一组要点击的坐标打开抓抓聚刁擞蛔放大镜,移动到第四排的第一张图片上记下它的坐标再移动到第一排第一张图片的位置上记下它的坐标?这么麻烦?麻烦的事情还是交给脚本来做吧。另写一个脚本专门用来获取坐标:Hwnd=Plugin.Window.Find("地下城与勇士","地下城与勇士")CallPlugin.Window.Move(hwnd,0,0)For32//16张图片本应该循环16次,但是由于waitclick命令,鼠标按下弹起都会触发一次,所以这里需要循环32次last_click=WaitClick()Iflast_click=32773then//判断鼠标右键是不是按下GetCursorPosx,yTracePrintx&","&y坐标字符串=坐标字符串&"x+"&x&","&"y+"&y&"|"EndifNextTracePrint坐标字符串启动“获取坐标”脚本之后,按照布局,依次右击图片

15、红色框框里的就是我们需要的坐标组了,复制保存起来。用这种方法将五种布局需要点击的坐标组获取到。
16、根据布局,选择对应的坐标字符串代码:////////根据布局,选择对应的坐标字符串///////SelectCase布亩焘雪台局Case1//紫色的羊,第一种布局坐标字符串="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"Case2//粉红色的羊,第二种布局坐标字符串="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"Case3//绿色的羊,第三种布局坐标字符串="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"Case4//**的羊,第四种布局坐标字符串="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"Case5//蓝色的羊,第五种布局坐标字符串="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"EndSelect
17、分割坐标字符串,依次点击坐标代码:////////分割坐标字符串,依次点击坐标//////////////坐标=Split(坐标字符串,"|")Fori=0ToUBound(坐标)Execute"MoveTo"&坐标(i)LeftClick1Delay1000Next
18、整体代码PutAttachment"D:\卡牌翻翻\","*.bmp"Hwnd=Plugin.Win颊俄岿髭dow.Find("地下城与勇士","地下城与勇士")sRect=Plugin.Window.GetClientRect(Hwnd)MyArray=Split(sRect,"|")x=Clng(MyArray(0)):y=Clng(MyArray(1))////////点击卡牌翻翻的活动图标///////////MoveTox+450,y+540LeftClick1////////判断卡牌翻翻界面是否出现/////////For5FindPicx+90,y+37,x+322,y+116,"D:\卡牌翻翻\翻牌次数.bmp",0.9,intX,intYIfintX>0AndintY>0Thenj=1ExitForEndIfDelay1000NextIfj<>1ThenMessageBox"没找到翻牌界面T_T"EndScriptEndIf////////翻开第四排第二个图片////////////////MoveTox+451,y+467LeftClick1Delay1000////////找第四排第二个图片是哪张图片///////Fori=1to5FindPicx+423,y+420,x+500,y+474,"D:\卡牌翻翻\"&i&".bmp",0.9,intX,intYIfintX>0AndintY>0ThenTracePrinti布局=iEndIfNext////////根据布局,选择对应的坐标字符串///////SelectCase布局Case1//紫色的羊,第一种布局坐标字符串="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"Case2//粉红色的羊,第二种布局坐标字符串="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"Case3//绿色的羊,第三种布局坐标字符串="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"Case4//Yellow色的羊,第四种布局坐标字符串="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"Case5//蓝色的羊,第五种布局坐标字符串="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"EndSelect////////分割坐标字符串,依次点击坐标//////////////坐标=Split(坐标字符串,"|")Fori=0ToUBound(坐标)Execute"MoveTo"&坐标(i)LeftClick1Delay1000Next