金豬腳本(原飛豬腳本)以按鍵精靈教學為主,涉及UiBot,Python,Lua等腳本編程語言,教學包括全自動辦公腳本,游戲輔助腳本,引流腳本,網頁腳本,安卓腳本,IOS腳本,注冊腳本,點贊腳本,閱讀腳本以及網賺腳本等各個領域。想制作腳本和學習按鍵精靈的朋友可以添加按鍵精靈學習交流群:554127455 學習路上不再孤單,金豬腳本伴你一同成長.

翻牌規則
1、截止時間:一月十五號。活動期間,LV30及以上的玩家每天登錄可以獲得1個翻牌機會。
2、LV30及以上的角色通關符合自身等級的推薦地下城2次即可獲得1次翻牌機會。每日獲得翻牌機會的個數不受限制。
3、消耗1個翻牌機會,可翻兩張牌。

翻牌布局是4行4列:


我們可以集滿8次翻牌次數之后一次性翻牌。
翻牌次數不夠的話,可以通過 通關 “推薦地下城” 獲取。
副本名字下有綠色字 "E適應等級" 提示的,就是翻牌規則里所說的 “推薦地下城”

翻牌攻略

卡牌對對翻里圖片的分布是固定的五種,
首先需要知道當前翻牌的布局是屬于哪種,
然后照著對應的布局點開圖片即可:


每種布局的第四排的第二張圖片是不一樣的。
首次翻牌的時候,翻開第四排第二張圖片,就能知道當前翻牌的布局是屬于哪種。
流程圖

執行步驟
本例子中的腳本為前臺腳本,游戲窗口默認大小:800*600
1、游戲窗口移動之后,坐標會發生變化,所以需要獲取窗口左上角坐標,來計算出變化后的坐標。
相關院刊:【院刊】-【201412期】簡單幾個步驟實現游戲掉線重連(上)
代碼:
- Hwnd = Plugin.Window.Find("地下城與勇士", "地下城與勇士")
- sRect = Plugin.Window.GetClientRect(Hwnd)
- MyArray = Split(sRect, "|")
- x = Clng(MyArray(0)) : y = Clng(MyArray(1))
復制代碼
2、 點擊卡牌對對翻的活動圖標


3、通過查找 "翻牌次數" 來判斷卡牌翻翻界面是否出現。
每隔一秒查找一次,如果找到則退出循環,繼續下一步,五次沒有找到,則提示信息并且停止腳本運行。
(避免找不到圖進入死循環)


代碼:
- ////////判斷卡牌翻翻界面是否出現/////////
- For 5
- FindPic x+90,y+37,x+322,y+116,"D:卡牌翻翻翻牌次數.bmp",0.9,intX,intY
- If intX > 0 And intY > 0 Then
- j=1
- Exit For
- End If
- Delay 1000
- Next
- If j 4、翻開第四排第二張圖片,判斷第四排第二張圖片是哪張圖片
- 第一種布局:第四排第二張圖片是一只紫色的羊
- 第二種布局:第四排第二張圖片是一只粉紅色的羊
- 第三種布局:第四排第二張圖片是一只綠色的羊
- 第四種布局:第四排第二張圖片是一只Yellow色的羊
- 第五種布局:第四排第二張圖片是一只藍色的羊
- 將這五只羊截圖以供查找

- 小編沒有截取整只羊,只截了一丟丟, 找圖的范圍也設置在第四排第二張圖片的上半部
- 這樣可以提高找圖效率。
- 代碼: 1 Then
- MessageBox "沒找到翻牌界面 T_T"
- EndScript
- End If
復制代碼

例如,翻開的第四排第二張圖是紫色的羊。

那么,接下去應該是:
點開第四排第一張圖
點開第一排第一張圖
點開第二排第二張圖
點開第一排第二張圖
點開第一排第三張圖
以此類推……
我們需要記錄下這一組要點擊的坐標
打開抓抓放大鏡,移動到第四排的第一張圖片上記下它的坐標
再移動到第一排第一張圖片的位置上記下它的坐標 ?
這么麻煩?

麻煩的事情還是交給腳本來做吧。
另寫一個腳本專門用來獲取坐標:
- ////////翻開第四排第二個圖片////////////////
- MoveTo x+451,y+467
- LeftClick 1
- Delay 1000
- ////////找第四排第二個圖片是哪張圖片///////
- For i= 1 to 5
- FindPic x+423,y+420,x+500,y+474,"D:卡牌翻翻" & i &".bmp",0.9,intX,intY
- If intX > 0 And intY > 0 Then
- TracePrint i
- 布局=i
- End If
- Next
復制代碼
啟動“獲取坐標”腳本之后,按照布局,依次右擊圖片


紅色框框里的就是我們需要的坐標組了,復制保存起來。
用這種方法將五種布局需要點擊的坐標組獲取到。
5、根據布局,選擇對應的坐標字符串
代碼:
- Hwnd = Plugin.Window.Find("地下城與勇士", "地下城與勇士")
- Call Plugin.Window.Move(hwnd,0,0)
- For 32 //16張圖片本應該循環16次,但是由于waitclick命令,鼠標按下彈起都會觸發一次,所以這里需要循環32次
- last_click=WaitClick()
- If last_click=32773 then //判斷鼠標右鍵是不是按下
- GetCursorPos x, y
- TracePrint x & "," & y
- 坐標字符串 = 坐標字符串 & "x+" & x & "," &"y+" & y & "|"
- End if
- Next
- TracePrint 坐標字符串
復制代碼
6、分割坐標字符串,依次點擊坐標
代碼:
- ////////根據布局,選擇對應的坐標字符串///////
- Select Case 布局
- Case 1 //紫色的羊,第一種布局
- 坐標字符串 ="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"
- Case 2 // 粉紅色的羊,第二種布局
- 坐標字符串 ="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"
- Case 3 //綠色的羊,第三種布局
- 坐標字符串 ="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"
- Case 4 //**的羊,第四種布局
- 坐標字符串 ="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"
- Case 5 //藍色的羊,第五種布局
- 坐標字符串 ="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"
- End Select
復制代碼
Execute知識相關:
【院刊】-【201410期】 神奇的Execute語句
整體代碼
- ////////分割坐標字符串,依次點擊坐標//////////////
- 坐標 = Split(坐標字符串, "|")
- For i = 0 To UBound(坐標)
- Execute "MoveTo " & 坐標(i)
- LeftClick 1
- Delay 1000
- Next
復制代碼
版權聲明:本文內容由互聯網用戶自發貢獻,該文觀點僅代表作者本人。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如發現本站有涉嫌抄襲侵權/違法違規的內容, 請發送郵件至 舉報,一經查實,本站將立刻刪除。