冰楓論壇
標題:
GG腳本撰寫說明
[打印本頁]
作者:
steveh8758
時間:
2018-12-14 16:52
標題:
GG腳本撰寫說明
本帖最後由 steveh8758 於 2018-12-14 16:58 編輯
相信在還沒有腳本的時代都是一個一個慢慢按找數據找出來的吧
雖然不敢說第一,不過我應該算前幾個丟出GG腳本的人
再看到有人自動的解開lua和自己修改
雖然覺得有點生氣,但其實也是活該,自己沒加密就丟出來,就要有被拆開的決心
題外話了
這邊來和大家介紹腳本的寫法和原理
-----------------------------------------------------------------------------------------------------
我用我最初寫的腳本為例
--version num
vtos='15.01' --神魔改版@@
vgg=8743
複製代碼
在GG lua的腳本語言中
"--" 代表註解,後面可以加入任何文字,來代表這邊想表達甚麼
"=" 代表定義一個變數,意思是只要未來腳本遇到 "vtos" GG會自己翻譯為 '15.01'
我們用以上這兩種方式可以很快的讓
是腳本作者,在拿到數據的第一時間更新,而不用重新尋找數據寫在哪邊
阿再來是所有程式語言的核心 "
判斷句
" 像
錨一樣的功能,讓船停在正確的位置
"If ... then ... end" 如英文所學,"如果 ... 則 ... 結束",短短的一行卻貫徹整個腳本,除了尋找的函數外,全部都仰賴if來判斷數據修改與否
"==" 這並不是賦值的意思喔!切記,當看到兩個 "==",是為對比,"a==b",意思是 "a完全等於b"
"Goto tag" & "::tag::" 同英文,當遇到goto,就跳到指定的標籤執行,GG內建的標籤形式是 "::標籤::"
以下的例子大家可以試著練習看看是甚麼意思
--version check
if gg.BUILD < vgg then erronum=1 goto erro end
if gg.getTargetInfo().versionName ~= vtos then erronum=2 goto erro end
--apk/play
gg.clearResults
ver=gg.getTargetInfo().packageName
if ver=='com.madhead.tos.zh' then --play
x1='546;10095:5' --高攻高回數值play@@
x2='546;10121:5' --全體攻擊數值play@@
x3='2229248;369098752:5' --MISS數值play@@
end
if ver=='com.madhead.tos.zh.ex' then --apk
x1='546;10097:5' --高攻高回數值apk@@
x2='546;10123:5' --全體攻擊數值apk@@
x3='2229248;369098752:5' --MISS數值apk@@
end
複製代碼
接下來是幾個比較常用到的GG函數
"gg.searchNumber('搜尋值',數據類型)" 搜尋數據
"gg.getResults(個數)" 獲取搜尋結果,他會從最上面取到你所給定的個數,若是有給定變數,他會用矩陣的方式存起來
如 x=gg.getResults(3) 那 x[1] x[2] x[3] 就分別代表三個找到的數據
"gg.clearResults()" 相當於手動刪除所有搜尋到的數據
"gg.sleep(毫秒)" 休息幾毫秒
"gg.editAll('X',數據類型)" 修改所有結果成X,他會有一個返回值,表示修改了幾個
"gg.toast('文字',true)" 讓螢幕閃出一個泡泡顯示文字,如果後面有加true,會縮短彈出時間
"print(blablabla)" 在最後結束時顯示文字,可以把函數寫在裡面
比較特別的是 GG 也可以自定義函數
範例:
function test()
gg.toast('這是一個自訂函數測試')
gg.sleep(1000)
end
複製代碼
好處是當你寫到 "test()" 他就會跳進去這個函數裡
多用來處理重複的事,或是讓寫作者精簡主程式代碼
以上的函數和語法通常已經可以完成基本的修改腳本了
當然,我不是專業的lua或程式語言專家
可能在理解上或是表達會有些誤差
還麻煩知道的人跟我說囉
如果想轉此文請麻煩整篇轉 謝謝
要是想學得更多可以到
這裡
找GG的基本函數庫
BY 阿毛 2018/12/14 04:45
歡迎光臨 冰楓論壇 (https://bingfong.com/)
Powered by 冰楓