金豬指令碼(原飛豬指令碼)以按鍵精靈教學為主,涉及UiBot,Python,Lua等指令碼程式語言,教學包括全自動辦公指令碼,遊戲輔助指令碼,引流指令碼,網頁尾本,安卓指令碼,IOS指令碼,註冊指令碼,點贊指令碼,閱讀指令碼以及網賺指令碼等各個領域。想製作指令碼和學習按鍵精靈的朋友可以新增按鍵精靈學習交流群:554127455 學習路上不再孤單,金豬指令碼伴你一同成長。
個結構好的指令碼,往往都是多個模組組成的,由模組來組合而成的程式碼,結構流程清晰便於閱讀,不管是給其他人參考還是自己日後的維護,都是有很大幫助的。
雖然在不同的遊戲裡需要編寫不同功能的模組,但是還有一些模組是可以通用的,這些模組編寫好之後可以放在其他的腳本里使用。這種模組就被稱為“基礎模組”
指令碼模組化
一般情況下一個完整的指令碼是有三大部分來組成的:主程式模組、功能模組、基礎模組
主程式模組就是用來實現指令碼整體功能的,或者是用來控制指令碼要執行什麼功能的部分。比如LOL指令碼使用他進行人機匹配還是統治戰場模式,這個部分就屬於主程式模組。他只負責進行全域性的操作,不管細節。
功能模組就是用來具體實現某個功能的部分,還是以LOL指令碼為例,像是實現人機匹配的戰鬥,識別血量等等這種操作都是功能模組的作用。
基礎模組就是最基本的一些操作了,比如點選、找圖、找色等等功能。這種基礎模組往往和遊戲本身沒有關聯,不會受到遊戲的限制,可以隨時放到其他的指令碼中使用。
大家在編寫指令碼的過程中不要小看基礎模組。別以為找圖找色命令也就2、3行程式碼,封裝和不封裝感覺差不多。當你在程式碼中頻繁的使用這些程式碼之後,你就會發現沒封裝成函式的話會讓程式碼整體看上去非常的亂,到最後可能你自己都不知道寫了什麼東西。
所以~~要多封裝函式!要多封裝函式!要多封裝函式! (重要的事情要說三遍)
常用的基礎模組
滑屏模組
在安卓上滑屏是個比較頻繁的操作,所以很有必要把他封裝成函式。用Swipe 命令進行滑屏的話,很容易出現慣性,就是滑動停止後螢幕還是處於滑動狀態,很不好控制,所以我們可以封裝下面的這個函式實現滑屏
Function 滑屏(陣列)
Dim arr
arr = 陣列
TouchDown arr(0), arr(1),1
TouchMove arr(2), arr(3),1,200
TouchUp 1
Delay 200
End Function
複製程式碼
使用範例:
‘把滑動的兩個點記錄到數組裡方便呼叫
上滑 = Array(683, 945, 155, 974)
Call 滑屏(上滑)
複製程式碼
點選模組
點選這種頻繁的操作肯定是要封裝的
Function 點選(陣列)
Dim arr
arr = 陣列
Tap 陣列(0),陣列(1)
End Function
複製程式碼
使用範例:
按鈕 = Array(169, 180)
Call 點選(按鈕)
複製程式碼
截圖到記憶體:
在找色或者找圖之前先使用KeepCapture 截圖到記憶體,可以加快找圖找色的速度,所以我們可以把這個封裝起來,在找圖色之前呼叫一次
Function 截圖
ReleaseCapture
Delay 200
KeepCapture
End Function
複製程式碼
PS:這裡為什麼要先寫 ReleaseCapture 這個釋放截圖的命令呢? 這種寫法可以利用到迴圈找圖色結構當中。如果先寫KeepCapture命令的話,那在迴圈結束後沒有從記憶體資訊中把圖片釋放掉,就會導致下一次的找圖色失敗,所以先釋放一次,然後再截圖
使用範例:
Do
Call 截圖()
FindPic 0, 0, 0, 0, “Attachment:1。png”,“000000”,0, 0。8, intX, intY
If intX >-1 then
TracePrint “找到啦,座標是”&intX&“,”&intY
Else
TracePrint “沒找到”
End If
Loop
複製程式碼
通用找色模組
在安卓的實際編寫過程中用的最多的就是多點找色,多點比色這樣的命令了。所以可以把這些封裝進去
Function 通用找色(陣列)
通用找色 = False
Dim arr,intX,intY
’多點找色
If (IsNumeric(陣列(0)) = True) and (IsNull(陣列(5)) = False) Then
FindMultiColor 陣列(0), 陣列(1), 陣列(2), 陣列(3), 陣列(4), 陣列(5), 0, 0。9, intX, intY
If intX > -1 Then
通用找色 = True
End If
‘多點比色
ElseIf IsNull(陣列(1)) = True
If CmpColorEx(陣列(0), 0。9) = 1 Then
通用找色 = True
End If
End If
End Function
複製程式碼
這樣的函式可以根據傳入的陣列引數不同,同時相容多點找色或者多點比色
使用範例:
’867,359,956,445 這個是多點找色的範圍
‘按鈕A是用多點找色命令,按鈕B使用多點比色
按鈕A = Array(867,359,956,445,“A54C08”,“0|9|E5B500,0|48|A54C08,2|76|FFFFFF,117|143|2E2BE6”)
按鈕B = Array(“1039|1682|FFFDF3,1010|1685|FFF4B9,1032|1664|D67705,1005|1731|FD6E0A,990|1679|FFFFFB”)
If 通用找色(按鈕A) = True Then
TracePrint “多點找色找【按鈕A】成功”
ElseIf 通用找色(按鈕B) = True Then
TracePrint “多點比色找【按鈕B】成功”
End If
複製程式碼