function TNRNB(Range,Type,Search,Write) gg.clearResults() gg.setRanges(Range) gg.setVisible(false) gg.searchNumber(Search[1][1],Type) local count=gg.getResultCount() local result=gg.getResults(count) gg.clearResults() local data={} local base=Search[1][2] if(count>0)then for i,v in ipairs(result)do v.isUseful=true end for k=2,#Search do local tmp={} local offset=Search[k][2]-base local num=Search[k][1] for i,v in ipairs(result)do tmp[#tmp+1]={} tmp[#tmp].address=v.address+offset tmp[#tmp].flags=v.flags end tmp=gg.getValues(tmp) for i,v in ipairs(tmp)do if(tostring(v.value)~=tostring(num))then result[i].isUseful=false end end end for i,v in ipairs(result)do if(v.isUseful)then data[#data+1]=v.address end end if(#data>0)then gg.toast("\n找到"..#data.."功能\n开始修改") local t={} local base=Search[1][2] for i=1,#data do for k,w in ipairs(Write)do offset=w[2]-base t[#t+1]={} t[#t].address=data[i]+offset t[#t].flags=Type t[#t].value=w[1] if(w[3]==true)then local item={} item[#item+1]=t[#t] item[#item].freeze=true gg.addListItems(item) end end end gg.setValues(t) gg.sleep(400) gg.toast("\n"..Name.."成功\n共修改"..#t.."数据") else gg.toast("\n"..Name.."失败") return false end else gg.toast("\n"..Name.."失败") return false end end function split(szFullString, szSeparator) local nFindStartIndex = 1 local nSplitIndex = 1 local nSplitArray = {} while true do local nFindLastIndex = string.find (szFullString, szSeparator, nFindStartIndex) if not nFindLastIndex then nSplitArray[nSplitIndex] = string.sub(szFullString, nFindStartIndex, string.len (szFullString)) break end nSplitArray[nSplitIndex] = string.sub (szFullString, nFindStartIndex, nFindLastIndex - 1) nFindStartIndex = nFindLastIndex + string.len (szSeparator) nSplitIndex = nSplitIndex + 1 end return nSplitArray end function xgxc(szpy, qmxg) for x = 1, #(qmxg) do xgpy = szpy + qmxg[x]["offset"] xglx = qmxg[x]["type"] xgsz = qmxg[x]["value"] xgdj = qmxg[x]["freeze"] if xgdj == nil or xgdj == "" then gg.setValues({[1] = {address = xgpy, flags = xglx, value = xgsz}}) else gg.addListItems({[1] = {address = xgpy, flags = xglx, freeze = xgdj, value = xgsz}}) end xgsl = xgsl + 1 xgjg = true end end function xqmnb(qmnb) gg.clearResults() gg.setRanges(qmnb[1]["memory"]) gg.searchNumber(qmnb[3]["value"], qmnb[3]["type"]) if gg.getResultCount() == 0 then gg.toast(qmnb[2]["name"] .. "开启失败") else gg.refineNumber(qmnb[3]["value"], qmnb[3]["type"]) gg.refineNumber(qmnb[3]["value"], qmnb[3]["type"]) gg.refineNumber(qmnb[3]["value"], qmnb[3]["type"]) if gg.getResultCount() == 0 then gg.toast(qmnb[2]["name"] .. "开启失败") else sl = gg.getResults(999999) sz = gg.getResultCount() xgsl = 0 if sz > 999999 then sz = 999999 end for i = 1, sz do pdsz = true for v = 4, #(qmnb) do if pdsz == true then pysz = {} pysz[1] = {} pysz[1].address = sl[i].address + qmnb[v]["offset"] pysz[1].flags = qmnb[v]["type"] szpy = gg.getValues(pysz) pdpd = qmnb[v]["lv"] .. ";" .. szpy[1].value szpd = split(pdpd, ";") tzszpd = szpd[1] pyszpd = szpd[2] if tzszpd == pyszpd then pdjg = true pdsz = true else pdjg = false pdsz = false end end end if pdjg == true then szpy = sl[i].address xgxc(szpy, qmxg) end end if xgjg == true then gg.toast(qmnb[2]["name"] .. "开启成功,一共修改" .. xgsl .. "条数据") else gg.toast(qmnb[2]["name"] .. "未搜索到数据,开启失败") end end end end function SearchWrite(Search, Write, Type) gg.clearResults() gg.setVisible(false) gg.searchNumber(Search[1][1], Type) local count = gg.getResultCount() local result = gg.getResults(count) gg.clearResults() local data = {} local base = Search[1][2] if (count > 0) then for i, v in ipairs(result) do v.isUseful = true end for k=2, #Search do local tmp = {} local offset = Search[k][2] - base local num = Search[k][1] for i, v in ipairs(result) do tmp[#tmp+1] = {} tmp[#tmp].address = v.address + offset tmp[#tmp].flags = v.flags end tmp = gg.getValues(tmp) for i, v in ipairs(tmp) do if ( tostring(v.value) ~= tostring(num) ) then result[i].isUseful = false end end end for i, v in ipairs(result) do if (v.isUseful) then data[#data+1] = v.address end end if (#data > 0) then local t = {} local base = Search[1][2] for i=1, #data do for k, w in ipairs(Write) do offset = w[2] - base t[#t+1] = {} t[#t].address = data[i] + offset t[#t].flags = Type t[#t].value = w[1] if (w[3] == true) then local item = {} item[#item+1] = t[#t] item[#item].freeze = true gg.addListItems(item) end end end gg.setValues(t) gg.toast("开启成功,一共修改"..#t.."条数据") gg.addListItems(t) else gg.toast("未搜索到数据,开启失败", false) return false end else gg.toast("Not Found") return false end end function Dluae() Dahl = gg.choice({ "神明加速1", "神明加速2", "神明加速3", "印度大牛高伤1", "印度大牛高伤2", "印度大牛高伤3", "退出脚本" }, nil, "") if Dahl == 1 then a() end if Dahl == 2 then b() end if Dahl == 3 then c() end if Dahl == 4 then d() end if Dahl == 5 then e() end if Dahl == 6 then f() end if Dahl == 7 then Exit() end Rain = -1 end function a() gg.setRanges(gg.REGION_ANONYMOUS) gg.searchNumber("88;60;50;2::", 16, false, gg.SIGN_EQUAL, 0, -1) gg.clearResults() gg.setRanges(gg.REGION_ANONYMOUS) gg.searchNumber("4,525,216,907,414,147,695", gg.TYPE_QWORD, false, gg.SIGN_EQUAL, 0, -1) gg.getResults(30) gg.editAll("4,525,216,907,473,673,257", gg.TYPE_QWORD) gg.clearResults() gg.setRanges(16384) gg.searchNumber("-1,328,550,408,728,725,571", gg.TYPE_QWORD, false, gg.SIGN_EQUAL, 0, -1) gg.getResults(10) gg.editAll("-1,328,550,408,576,460,390", gg.TYPE_QWORD) gg.clearResults() gg.setRanges(gg.REGION_CODE_APP) gg.searchNumber("-1,296,744,149,883,614,555", gg.TYPE_QWORD, false, gg.SIGN_EQUAL, 0, -1) gg.getResults(99) gg.editAll(" -1,296,744,153,870,237,696", gg.TYPE_QWORD) gg.clearResults() gg.setRanges(gg.REGION_CODE_APP) gg.searchNumber("-1328550408728725571", gg.TYPE_QWORD,false,gg.SIGN_EQUAL,0, -1) gg.getResults(10) gg.editAll("-1328550408576460390",gg.TYPE_QWORD) gg.toast("第一步完成") gg.clearResults() gg.setRanges(gg.REGION_ANONYMOUS) gg.searchNumber('1;1;1;0.0001;20;0.0005;0.4::50', gg.TYPE_FLOAT , false, gg.SIGN_EQUAL, 0, -1) gg.searchNumber('1', gg.TYPE_FLOAT , false, gg.SIGN_EQUAL, 0, -1) gg.getResults(500) gg.editAll('1.258', gg.TYPE_FLOAT) gg.toast("开启成功") end function b() gg.clearResults() gg.setRanges(gg.REGION_CODE_APP) gg.searchNumber("-1,585,267,064,848,315,880", gg.TYPE_QWORD,false,gg.SIGN_EQUAL,0, -1) gg.getResults(100) gg.editAll("-1,585,267,068,834,414,592",gg.TYPE_QWORD) gg.setRanges(gg.REGION_CODE_APP) gg.searchNumber("-1585267064848315881", gg.TYPE_QWORD, false, gg.SIGN_EQUAL, 0, -1) gg.getResults(1000) gg.editAll("-1585267068834414550", gg.TYPE_QWORD) gg.clearResults() gg.setRanges(gg.REGION_CODE_APP) gg.searchNumber("403,635,275,035,574,273", gg.TYPE_QWORD, false, gg.SIGN_EQUAL, 0, -1) gg.refineNumber("403,635,275,035,574,273", gg.TYPE_QWORD, false, gg.SIGN_EQUAL, 0, -1) gg.refineNumber("403,635,275,035,574,273", gg.TYPE_QWORD, false, gg.SIGN_EQUAL, 0, -1) gg.getResults(1000) gg.editAll("403,635,275,035,574,272", gg.TYPE_QWORD) gg.clearResults() gg.setRanges(gg.REGION_CODE_APP) gg.searchNumber("-2,044,616,634,647,180,784", gg.TYPE_QWORD, false, gg.SIGN_EQUAL, 0, -1) gg.refineNumber("-2,044,616,634,647,180,784", gg.TYPE_QWORD, false, gg.SIGN_EQUAL, 0, -1) gg.refineNumber("-2,044,616,634,647,180,784", gg.TYPE_QWORD, false, gg.SIGN_EQUAL, 0, -1) gg.getResults(1000) gg.editAll("-2,044,616,634,647,180,800", gg.TYPE_QWORD) gg.clearResults() gg.setRanges(gg.REGION_CODE_APP) gg.searchNumber("-1296744149883614555", gg.TYPE_QWORD, false, gg.SIGN_EQUAL, 0, -1) gg.refineNumber("-1296744149883614555", gg.TYPE_QWORD, false, gg.SIGN_EQUAL, 0, -1) gg.refineNumber("-1296744149883614555", gg.TYPE_QWORD, false, gg.SIGN_EQUAL, 0, -1) gg.getResults(1000) gg.editAll("-1296744153870237696", gg.TYPE_QWORD) gg.clearResults() gg.setVisible(false) gg.setRanges(gg.REGION_C_DATA | gg.REGION_CODE_APP) gg.searchNumber("-6.03221444e26;-1.3078764e28;-3.74440972e28;-1.86389771e-20;-1.11445016e28;-9.39921508e20;-1.8331477e27:33", gg.TYPE_FLOAT, false, gg.SIGN_EQUAL, 0, -1) gg.searchNumber("-1.86389771e-20", gg.TYPE_FLOAT, false, gg.SIGN_EQUAL, 0, -1) gg.getResults(1000) gg.editAll("0", gg.TYPE_FLOAT) gg.clearResults() gg.searchNumber("-1505254313802431360", gg.TYPE_QWORD, false, gg.SIGN_EQUAL, 0, -1) gg.getResults(1000) gg.editAll("-1505254313804899999", gg.TYPE_QWORD) gg.clearResults() gg.setRanges(gg.REGION_ANONYMOUS) gg.searchNumber("30D;10D;0F~1F;257D;3D::40", gg.TYPE_FLOAT, false, gg.SIGN_EQUAL, 0, -1) gg.searchNumber("0.08600000292", gg.TYPE_FLOAT, false, gg.SIGN_EQUAL, 0, -1) gg.getResults(1000) gg.editAll("0.4", gg.TYPE_FLOAT) gg.clearResults() gg.setRanges(gg.REGION_ANONYMOUS) gg.searchNumber("30D;10D;0.0~1.0F;257D;3D::40", gg.TYPE_FLOAT, false, gg.SIGN_EQUAL, 0, -1) gg.searchNumber("0.10000000149", gg.TYPE_FLOAT, false, gg.SIGN_EQUAL, 0, -1) gg.getResults(1000) gg.editAll("0.4", gg.TYPE_FLOAT) gg.clearResults() gg.setRanges(gg.REGION_C_DATA) gg.searchNumber("-3.693674e20;-1.2382424e28;-8.5076384e22::", gg.TYPE_FLOAT, false, gg.SIGN_EQUAL) gg.searchNumber("-1.2382424e28", gg.TYPE_FLOAT, false, gg.SIGN_EQUAL) gg.getResults(2) gg.editAll("0", gg.TYPE_FLOAT) gg.clearResults() gg.clearResults() gg.setRanges(gg.REGION_CODE_APP) gg.searchNumber("-1342171400X;-1174399384X;1409358972X:9", gg.TYPE_XOR, false, gg.SIGN_EQUAL, 0, -1, 3) gg.refineNumber("-1174399384", gg.TYPE_XOR, false, gg.SIGN_EQUAL, 0, -1, 3) gg.getResults(99999, nil, nil, nil, nil, nil, nil, nil, nil) gg.editAll("1470045389",gg.TYPE_XOR) qmnb = { {["memory"] = 32}, {["name"] = "爆屏"}, {["value"] = 150994944, ["type"] = 4}, {["lv"] = 58, ["offset"] = -4, ["type"] = 4}, {["lv"] = 58, ["offset"] = -8, ["type"] = 4}, {["lv"] = 89, ["offset"] = 40, ["type"] = 4}, {["lv"] = 1084227584, ["offset"] = 68, ["type"] = 4}, } qmxg = {{["value"] = 130.0, ["offset"] = 20, ["type"] = 16},} xqmnb(qmnb) gg.toast("开启成功") end function c() TNRNB({{false,-351440038,0,4,nil,nil},{-298251768,4,4}},{{0,-40,16,false},{0,-44,16,false},{0,-48,16,false},{0,-52,16,false},{0,-56,16,false},{0,-60,16,false},{0,-36,false},{0,-32,16,false}},4,16384,"人物防拉") TNRNB({{false,-8.66297292e22,0,16,nil,nil}},{{0,-32,16,false}},16,16384,"减速") TNRNB({{false,-6.0595931e26,0,16,nil,nil}},{{0,20,16,false}},16,16384,"纯人物") TNRNB({{false,-309327247,0,4,nil,nil},{-308340220,4,4}},{{0.05,-4,16,false}},4,16384,"增速") TNRNB({{false,-1088801054,0,4,nil,nil}},{{8.9,-8,16,false}},4,16384,"全局") TNRNB({{false,-980.0,0,16,nil,nil},{20.0,232,16}},{{2.1,216,16,false},{0.5,220,16,false},{2.2,224,16,false}},16,32,"A翻倍") gg.toast("开启成功") end function d() gg.clearResults() gg.setRanges(gg.REGION_ANONYMOUS) gg.searchNumber("25;23;30.5", gg.TYPE_FLOAT, false, gg.SIGN_EQUAL, 0, -1, 0) gg.getResults(2000) gg.editAll("1600", gg.TYPE_FLOAT) gg.clearResults() gg.setRanges(gg.REGION_ANONYMOUS) gg.searchNumber("25;30.5", gg.TYPE_FLOAT, false, gg.SIGN_EQUAL, 0, -1, 0) gg.processResume() gg.getResults(2000) gg.editAll("180", gg.TYPE_FLOAT) gg.clearResults() gg.setRanges(gg.REGION_ANONYMOUS) gg.searchNumber("30.5;25", gg.TYPE_FLOAT, false, gg.SIGN_EQUAL, 0, -1, 0) gg.getResults(2000) gg.editAll("140", gg.TYPE_FLOAT) gg.clearResults() gg.setRanges(gg.REGION_ANONYMOUS) gg.searchNumber("15;28;16;26;8;18", gg.TYPE_FLOAT, false, gg.SIGN_EQUAL, 0, -1) gg.getResults(56) gg.editAll("-1339", gg.TYPE_FLOAT) gg.clearResults() gg.toast("开启成功") end function e() gg.setRanges(32) gg.searchNumber("25;30.5", gg.TYPE_FLOAT, false, gg.SIGN_EQUAL, 0, -1) gg.getResults(999) gg.editAll("370;375", gg.TYPE_FLOAT) gg.clearResults() gg.setRanges(gg.REGION_ANONYMOUS) gg.searchNumber("25;23;30.5", gg.TYPE_FLOAT, false, gg.SIGN_EQUAL, 0, -1) gg.getResults(3) gg.editAll("160", gg.TYPE_FLOAT) gg.clearResults() gg.setRanges(gg.REGION_ANONYMOUS) gg.searchNumber("25;30.5", gg.TYPE_FLOAT, false, gg.SIGN_EQUAL, 0, -1) gg.getResults(10) gg.editAll("250", gg.TYPE_FLOAT) gg.clearResults() gg.setRanges(gg.REGION_ANONYMOUS) gg.searchNumber("30.5;25", gg.TYPE_FLOAT, false, gg.SIGN_EQUAL, 0, -1) gg.getResults(10) gg.editAll("220", gg.TYPE_FLOAT) gg.clearResults() gg.clearResults() gg.setRanges(gg.REGION_ANONYMOUS) gg.searchNumber("9.201618;30.5;25", gg.TYPE_FLOAT, false, gg.SIGN_EQUAL, 0, -1) gg.searchNumber("25;30.5", gg.TYPE_FLOAT, false, gg.SIGN_EQUAL, 0, -1) gg.getResults(10) gg.editAll("500", gg.TYPE_FLOAT) gg.clearResults() gg.toast("开启成功") end function f() gg.clearResults() gg.setRanges(gg.REGION_VIDEO or gg.REGION_BAD) gg.searchNumber("-88.66608428955;26:512", gg.TYPE_FLOAT, false, gg.SIGN_EQUAL, 0, -1) gg.searchNumber("26", gg.TYPE_FLOAT, false, gg.SIGN_EQUAL, 0, -1) gg.getResults(2) gg.editAll("-460", gg.TYPE_FLOAT) gg.clearResults() gg.searchNumber("-88.73961639404;28:512", gg.TYPE_FLOAT, false, gg.SIGN_EQUAL, 0, -1) gg.searchNumber("28", gg.TYPE_FLOAT, false, gg.SIGN_EQUAL, 0, -1) gg.getResults(2) gg.editAll("-560", gg.TYPE_FLOAT) gg.clearResults() gg.setRanges(gg.REGION_ANONYMOUS) gg.searchNumber("9.201618;30.5;25", gg.TYPE_FLOAT, false, gg.SIGN_EQUAL, 0, -1) gg.searchNumber("25;30.5", gg.TYPE_FLOAT, false, gg.SIGN_EQUAL, 0, -1) gg.getResults(10) gg.editAll("160", gg.TYPE_FLOAT) gg.clearResults() gg.clearResults() gg.setRanges(gg.REGION_ANONYMOUS) gg.searchNumber("25;23;30.5", gg.TYPE_FLOAT, false, gg.SIGN_EQUAL, 0, -1) gg.getResults(3) gg.editAll("180", gg.TYPE_FLOAT) gg.toast("高伤70%") gg.setRanges(gg.REGION_CODE_APP) gg.searchNumber("-298284466;-1.304566e23F", gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1) gg.searchNumber("-298284466", gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1) gg.getResults(999) gg.editAll("0", gg.TYPE_DWORD) gg.clearResults() gg.setVisible(false) gg.toast("开启成功") end function Exit() print("") os.exit() end while true do if gg.isVisible(true) then Rain = 1 gg.setVisible(false) end gg.clearResults() if Rain == 1 then Dluae() end end