金豬腳本(原飛豬腳本)以按鍵精靈教學為主,涉及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
複制代碼
,更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!