GG修改器常用参数大全与lua脚本的基本编写

您所在的位置:网站首页 gg修改器如何保存 GG修改器常用参数大全与lua脚本的基本编写

GG修改器常用参数大全与lua脚本的基本编写

2024-01-09 03:53| 来源: 网络整理| 查看: 265

GG修改器参数大全_内存范围、数据类型、常用函数、偏移量

GG修改器,要修改游戏。与 lua脚本编写,必知道的一些知识:

内存范围、数据类型、常用函数、偏移量

此文章给想学gg的新人使用,这里的函数其实并不全,但是够用。但网络上只找到这个版本的。

后续,发现还会持续更新。

推荐GG修改器与lua脚本学习地方:B站,自己搜索视频学习。

一、内存范围

所有内存范围,示意如下:

Jh内存 ['REGION_JAVA_HEAP'] = 2 Ch内存 ['REGION_C_HEAP'] = 1 Ca内存 ['REGION_C_ALLOC'] = 4 Cd内存 ['REGION_C_DATA'] = 8 Cb内存 ['REGION_C_BSS'] = 16 Ps内存 ['REGION_PPSSPP'] = 262144 A内存 ['REGION_ANONYMOUS'] = 32 J内存 ['REGION_JAVA'] = 65536 S内存 ['REGION_STACK'] = 64 As内存 ['REGION_ASHMEM'] = 524288 V内存 ['REGION_VIDEO'] = 1048576 O内存(慢) ['REGION_OTHER'] = -2080896 B内存(危险) ['REGION_BAD'] = 131072 Xa内存(危险) ['REGION_CODE_APP'] = 16384 Xs内存(危险) ['REGION_CODE_SYS'] = 32768

 

二、数据类型

所有内存范围,示意如下:

A:Auto(慢) ['TYPE_AUTO'] = 127 D:Dword ['TYPE_DWORD'] = 4 F:Float ['TYPE_FLOAT'] = 16 E:Double ['TYPE_DOUBLE'] = 64 W:Word ['TYPE_WORD'] = 2 B:Byte ['TYPE_BYTE'] = 1 Q:Qword ['TYPE_QWORD'] = 32 X:Xor ['TYPE_XOR'] = 8 其他省略...  

 

三、常用函数 function 函数,功能 gg.alert(常用) 弹出提示窗口 gg.toast(常用) 屏幕下方弹出提示条(会自动消失) gg.prompt(常用) 弹出带有控件的提示窗口 gg.choice(常用) 弹出单选列表窗口 gg.clearResults(常用) 清除搜索结果 gg.editAll(常用) 修改搜索结果 gg.getFile 获取当前脚本所在目录 gg.getResults(常用) 获取搜索结果 gg.getResultCount 获取搜索结果数量 gg.setRanges 设置搜索内存 gg.isVisible 判断GG界面是否可见 gg.multiChoice(常用) 弹出多选列表窗口 gg.processKill 结束当前选定应用 gg.searchNumber(常用) 搜索数据(重要) gg.setVisible(常用) 设置GG界面是否可见 getline 读取行数 getlocale 获取地值 getRanges 获取内存区域内的? getRangeslist 获取内存区域列表 getResultCount 获取结果计数 getResultso 获取结果并加载 getSpeedo 获取加速 getTargetInfo 获取目标信息 getTargetPackage 获取迸程包名GG内存 sleep(x) 延迟 x填入数字,单位为毫秒   三、基本lua脚本的编写

这里提供一个,最基本的lua脚本模板。复制到文本文件中,后缀改成lua 即可使用。就不提供上传文件。自己复制即可。

如果想内容更丰富一些,可以借鉴其他人的脚本,然后加上面的常用函数即可。

function Main()   menu1 = gg.choice({   "1.功能一",   "2.功能二",   "3.功能三",   "4.功能四",   "5.功能五",   "退出"   }, nil, "不言谢独家制作")   if menu1 == 1 then byx1() end   if menu1 == 2 then byx2() end   if menu1 == 3 then byx3() end   if menu1 == 4 then byx4() end   if menu1 == 5 then byx5() end   if menu1 == 6 then Exit() end   XGCK = -1 end function byx1()   gg.clearResults()   gg.setRanges(32)   gg.searchNumber("特征码", gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1)   gg.searchNumber("改善", gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1)   gg.getResults(100)   gg.editAll("修改的数值", gg.TYPE_DWORD)   gg.toast("完成后的提示")   gg.clearResults() end function byx2()   gg.clearResults()   gg.setRanges(32)   gg.searchNumber("特征码", gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1)   gg.searchNumber("改善", gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1)   gg.getResults(100)   gg.editAll("修改的数值", gg.TYPE_DWORD)   gg.toast("完成后的提示")   gg.clearResults() end function byx3()   gg.clearResults()   gg.setRanges(32)   gg.searchNumber("特征码", gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1)   gg.searchNumber("改善", gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1)   gg.getResults(100)   gg.editAll("修改的数值", gg.TYPE_DWORD)   gg.toast("完成后的提示")   gg.clearResults() end function byx4()   gg.clearResults()   gg.setRanges(32)   gg.searchNumber("特征码", gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1)   gg.searchNumber("改善", gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1)   gg.getResults(100)   gg.editAll("修改的数值", gg.TYPE_DWORD)   gg.toast("完成后的提示")   gg.clearResults() end function byx5()   gg.clearResults()   gg.setRanges(32)   gg.searchNumber("特征码", gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1)   gg.searchNumber("改善", gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1)   gg.getResults(100)   gg.editAll("修改的数值", gg.TYPE_DWORD)   gg.toast("完成后的提示")   gg.clearResults() end function Exit()   print("脚本退出了")   os.exit() end while true do   if gg.isVisible(true) then     XGCK = 1     gg.setVisible(false)   end     gg.clearResults()     if XGCK == 1 then     Main()   end end

 

三、偏移的写法

因为,通常我不用偏移方法。这里我就不深入研究了。这里提供一个网友分享的方法。如果有需要的可以看看。

同时推荐,一下视频,方便学习。GG脚本仿xs写法教程

--多个地址,但偏移量一致,设置值一样 --获取需要偏移的搜索结果 t=gg.getResults(12345) --12345为我随便设置的,你们根据所需设置即可 --循环偏移 for n=1,#t do --以偏移0xC为例,获取DWORD值 A=gg.sumAddress(t,n,0xC,4) --设置需要修改的值 A【1】.value = 78 --加载修改值 gg.setValues(A) end --已知一些地址 t={ {address=0x12C42148}, {address=0x12D80930}, {address=0x12D94AD4}, {address=0x12FCD4CC} } --循环偏移 for n=1,#t do --以偏移0xC为例,获取DWORD值 t【n】=gg.sumAddress(t,n,0xC,4) --设置需要修改的值 t【1】.value = 78 end --加载修改值 gg.setValues(t)--用法二 --多个地址,但偏移量均不一样,设置值一样 --获取表,也可以是用已知的地址组成的表 t=gg.getResults(4) --设置偏移量表,表长度和获取的表最好一样 o={ 0xC, 1388, 0xBA24, 24666 } for n=1,#o do --偏移,获取float类型 o【n】=gg.sumAddress(t,n,o【n】,16) --设置值 o【n】.value=1.875 end --加载值 gg.setValues(o) --用法三 --多个地址,偏移量不一样,修改值也不一样 --已知一些地址 addressItem={ {address=0x12C42148}, {address=0x12D80930}, {address=0x12D94AD4}, {address=0x12FCD4CC} } --设置偏移量表,表长度和获取的表最好一样 addressOffest={ 0xC, 1388, 0xBA24, 24666 } --设置修改值 addressValue={ 2837, 2884, 1838,

 

结尾:

文中的部分参考资料,来源与互联网查询,查看,整理,记录,修改,完善。

最终目的,都是是为了促进大家相互学习。不存在任何侵权行为。

 

by不言谢

不要和别人比,要赢得是自己。(ง •̀_•́)ง

本文来自博客园,作者:不言谢,转载请注明原文链接:https://www.cnblogs.com/byx1024/p/15834126.html



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3