Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- function update()
- local x64 = gg.getTargetInfo().x64
- local libil2cpp, metadata = gg.getRangesList("libil2cpp.so")[(x64 and 2 or 1)], gg.getRangesList("global-metadata.dat")[1]
- local function searchMethod(Method)
- local off1, typ = x64 and -16 or -8, x64 and 32 or 4
- local Moffset = {}
- gg.clearResults()
- gg.setRanges(gg.REGION_OTHER)
- gg.searchNumber(":"..Method,1,nil,gg.SIGN_EQUAL,metadata["start"],metadata["end"])
- gg.searchPointer(0,typ)
- local xpoint=gg.getResults(gg.getResultsCount())
- gg.clearResults()
- for i, v in pairs(xpoint) do v.address, v.flags = v.address + off1, typ end
- for i, v in pairs(gg.getValues(xpoint)) do
- xadd = tonumber((x64 and v.value or "0x"..string.sub(tostring(string.format("%X",tonumber(v.value)) ), -8,-1)))
- if xadd > libil2cpp["start"] and xadd < libil2cpp["end"] then table.insert(Moffset,string.format("0x%X",xadd-libil2cpp["start"])) end
- end
- return Moffset
- end
- local Aoffset, Moffset, Xoffset = {}, {}, {}
- local Aoff, Moff, Xoff = {}, {}, {}
- local AMtyp = 4
- local Xtyp = {16,16,16,16,16,4,16}
- local Alist, Mlist, Xlist = {
- "get_IsBanned",
- "add_CheatChecked",
- "set_LastOnlineTimeResult",
- "get_IsCheckingForCheat",
- "set_IsCheckingForCheat",
- "ForceCheck",
- "IsReadyForForceCheck",
- "CheckForCheat",
- "remove_CheckPassed",
- "SetErrorCallback",
- "set_IsCheatDetected",
- "IsCheatActivated",
- "IsRoomBanned",
- "toMainMenu",
- "CheckIfIDExistsInRoom",
- "ShouldBeRemovedFromRoom",
- "OnRemoveFromRoom",
- "OnReport",
- "KickedFromCar",
- "resetAfter",
- "StopFillFuel",
- "StopFillFuelMultiplayerCar"
- },{--Alist^
- "CanEnterAsDriver",
- "CanEnterAsPassenger",
- "SendCarExit",
- "TowCarMultiplayer",
- "PlayerExitFromCar"
- },{--Mlist^
- {"90F;100F::5",1e2,"libil2cpp"},
- {"6000",6e3,"libil2cpp"},
- {"1E7",1e7,"libunity"},
- {"-1E3F;1E3F::5",1e3,"libil2cpp"},
- {"1E32;5e-5::5",1e32,"libunity"},
- {"1D;2D;3D;4D;5D;6D;7D;8D;9D;16D::37",8,"libil2cpp"},
- {"-0.14177720249 ",-0.14177720249,"libunity"}
- }--Xlist^
- for _, v in pairs(Alist) do
- table.insert(Aoffset,{})
- table.insert(Aoff,{})
- for _, v2 in pairs(searchMethod(v)) do
- local Xv = gg.getValues({{address = libil2cpp["start"] + v2,flags = 4},{address = libil2cpp["start"] + v2 + 0x4,flags = 4}})
- table.insert(Aoffset[#Aoffset],v2)
- table.insert(Aoffset[#Aoffset],string.format("0x%X",v2 + 0x4))
- table.insert(Aoff[#Aoff],Xv[1].value)
- table.insert(Aoff[#Aoff],Xv[2].value)
- end
- table.insert(Aoffset[#Aoffset],"\"libil2cpp\"")
- end
- for _, v in pairs(Mlist) do
- table.insert(Moffset,{})
- table.insert(Moff,{})
- for _, v2 in pairs(searchMethod(v)) do
- local Xv = gg.getValues({{address = libil2cpp["start"] + v2,flags = 4},{address = libil2cpp["start"] + v2 + 0x4,flags = 4}})
- table.insert(Moffset[#Moffset],v2)
- table.insert(Moffset[#Moffset],string.format("0x%X",v2 + 0x4))
- table.insert(Moff[#Moff],Xv[1].value)
- table.insert(Moff[#Moff],Xv[2].value)
- end
- table.insert(Moffset[#Moffset],"\"libil2cpp\"")
- end
- gg.setRanges(gg.REGION_CODE_APP)
- for _, v in pairs(Xlist) do
- gg.clearResults()
- gg.searchNumber(v[1],Xtyp[_],nil,gg.SIGN_EQUAL,_G[v[3]]["start"],_G[v[3]]["end"])
- gg.refineNumber(v[2])
- table.insert(Xoffset,{})
- table.insert(Xoff,{})
- for _, v2 in pairs(gg.getResults(gg.getResultsCount())) do
- table.insert(Xoffset[#Xoffset],string.format("0x%X",v2.address - _G[v[3]]["start"]))
- end
- table.insert(Xoffset[#Xoffset],"\""..v[3].."\"")
- table.insert(Xoff[#Xoff],v[2])
- gg.clearResults()
- end
- Xout = {}
- table.insert(Xout,"_ = (function()")
- table.insert(Xout," AMtyp = "..AMtyp)
- table.insert(Xout," Xtyp = {"..table.concat(Xtyp,",").."}")
- for i, v1 in pairs({Aoffset,Moffset,Xoffset}) do
- table.insert(Xout," "..({"Aoffset","Moffset","Xoffset"})[i].." = {")
- for _, v2 in pairs(v1) do
- table.insert(Xout," {"..table.concat(v2,",").."},")
- end
- table.insert(Xout," }")
- end
- for i, v1 in pairs({Aoff,Moff,Xoff}) do
- table.insert(Xout," "..({"Aoff","Moff","Xoff"})[i].." = {")
- for _, v2 in pairs(v1) do
- table.insert(Xout," {"..table.concat(v2,",").."},")
- end
- table.insert(Xout," }")
- end
- table.insert(Xout," return\n end)([[\n\n"..Xinfo.."\n\n]])")
- gg.saveList(Qfile)
- io.open(Qfile,"w"):write(string.dump(load(table.concat(Xout,"\n")),true))
- end
- function valueFromClass(class, offset, refineNumber)
- local libil2cpp = {}
- local c0 = string.char(0)
- local metadata = gg.getRangesList("global-metadata.dat")[1]
- local unsignedFixers = {[1] = 0xFF,[2] = 0xFFFF,[4] = 0xFFFFFFFF,[8] = 0xFFFFFFFFFFFFFFFF}
- local typlist = {D = "DWORD", F = "FLOAT", E = "DOUBLE", W = "WORD", B = "BYTE", Q = "QWORD", X = "XOR"}
- local x64 = gg.getTargetInfo().x64
- local typ, PointerSize = x64 and 32 or 4, x64 and 8 or 4
- local Xn, lr = 0, 0
- local xOffset, x1, x2 = {}, {}, {}
- for i, v in pairs(gg.getRangesList(gg.getTargetInfo().packageName.."*.so")) do
- if v.name:find("libil2cpp.so") then table.insert(libil2cpp,v) end
- end
- gg.clearResults()
- gg.setRanges(gg.REGION_OTHER)
- gg.searchNumber(":"..c0..class..c0,1,nil,gg.SIGN_EQUAL,metadata["start"],metadata["end"])
- gg.searchPointer(0,typ)
- if x64 then--64bit
- local s1 = {}
- for _, v in pairs(gg.getResults(gg.getResultsCount())) do
- table.insert(s1,{address = v.address + 0x38,flags = typ})
- table.insert(s1,{address = v.address + 0x30,flags = typ})
- end
- s1 = gg.getValues(s1)
- for i = 1, #s1, 2 do
- if #tostring(s1[i].value) > 11 and s1[i].value == s1[i+1].value then table.insert(s1,s1[i].value) end
- for v1 = 0, 1 do s1[i + v1] = nil end
- end
- gg.setRanges(gg.REGION_ANONYMOUS)
- for _, v in pairs(s1) do
- if v then
- gg.clearResults()
- gg.searchNumber(v,typ)
- for _, v1 in pairs(gg.getResults(gg.getResultsCount())) do table.insert(x1,v1) end
- end
- end
- else--32bit
- local s1 = {}
- for _, v in pairs(gg.getResults(gg.getResultsCount())) do table.insert(s1,{address = v.address - 8,flags = typ}) end
- gg.setRanges(gg.REGION_ANONYMOUS)
- gg.loadResults(s1)
- gg.searchPointer(0,typ)
- x1 = gg.getResults(gg.getResultsCount())
- end
- gg.clearResults()
- lr = #x1
- for v in offset:gmatch("%S+") do
- if v:find("0[Xx].-") then Xn = Xn + 1 end
- table.insert(xOffset,(v:find("0[Xx].-") and v or typlist[v:sub(1,1)]))
- end
- for v1 = 1, #x1 do
- for i, v2 in pairs(xOffset) do
- if not v2:find("0[Xx].-") then
- for v3 = i - 1, 1, -1 do
- if not xOffset[v3]:find("0[Xx].-") then break end
- table.insert(x1,{address = x1[v1].address + xOffset[v3], offset = xOffset[v3], flags = _G["gg"]["TYPE_"..v2]})
- end
- end
- end
- x1[v1] = nil
- end
- for i = lr + Xn, #x1, Xn do
- local classname, adds = {}, {}
- local fixedPointer = x1[i].address - (x1[i].address%PointerSize)
- for off = 0, x1[i].offset, PointerSize do table.insert(adds,{address = fixedPointer - off,flags = typ}) end
- for _, v in pairs(gg.getValues(adds)) do table.insert(classname,{address = v.value + (PointerSize*2),flags = typ}) end
- for _, v in pairs(gg.getValues(classname)) do
- if (v.value > metadata["start"] and v.value < metadata["end"]) then
- if x1[i].address - adds[_].address == x1[i].offset then
- for v1 = 0, Xn - 1 do table.insert(x2,x1[i - v1]) end
- end
- break
- end
- end
- end
- gg.loadResults(x2)
- if refineNumber then
- if refineNumber:find("%:") and not refineNumber:find(".-:[0-9]") then
- refineNumber = refineNumber:match("(.-)%:")..refineNumber:match("%:.")..tonumber(xOffset[#xOffset - 1])
- end
- gg.refineNumber(refineNumber)
- end
- return gg.getResultsCount() > 0 and true or false
- end
- function refineOffset(offset)
- local metadata = gg.getRangesList("global-metadata.dat")[1]
- local x64 = gg.getTargetInfo().x64
- local typ, PointerSize = x64 and 32 or 4, x64 and 8 or 4
- local x1, x2 = gg.getResults(gg.getResultsCount()), {}
- for i, v in pairs(x1) do
- local class, adds = {}, {}
- local fixedPointer = v.address - (v.address%PointerSize)
- for off = 0, offset, PointerSize do table.insert(adds,{address = fixedPointer - off,flags = typ}) end
- for _, v1 in pairs(gg.getValues(adds)) do table.insert(class,{address = v1.value + (PointerSize*2),flags = typ}) end
- for _, v1 in pairs(gg.getValues(class)) do
- if (v1.value > metadata["start"] and v1.value < metadata["end"]) then
- if v.address - adds[_].address == offset then table.insert(x2,v) end
- break
- end
- end
- end
- return x2
- end
- function lvalue(offset,value,typ)
- local Xr = {}
- gg.setRanges(gg.REGION_CODE_APP)
- for i1 = 1 , #offset - 1, #value do
- for i2 = #value - 1, 0, -1 do --print(offset[i1 - (i2 - 1)]) print(value)
- table.insert(Xr,{
- address = _G[offset[#offset]]["start"] + offset[i1 + i2],
- value = value[i2 + 1],
- flags = typ,
- freeze = true
- })
- end
- end
- gg.addListItems(Xr)
- --gg.removeListItems(Xr)
- end
- function sleep(t)
- for i = 1, t do
- if gg.isVisible() then return false end
- gg.sleep(1)
- end
- return true
- end
- function f2()
- repeat
- if not sleep(50) then break end
- gg.toast(ON)
- lvalue(Xoffset[2],{50},Xtyp[2])
- if not sleep(50) then break end
- gg.toast(OFF)
- lvalue(Xoffset[2],Xoff[2],Xtyp[2])
- until gg.isVisible()
- lvalue(Xoffset[2],Xoff[2],Xtyp[2])
- end
- function f3()
- repeat
- gg.toast(">")
- for i = Xoff[2][1] - 25, Xoff[2][1] + 25, 5 do
- if not sleep(50) then break end
- lvalue(Xoffset[2],{i},Xtyp[2])
- end
- gg.toast("<")
- for i = Xoff[2][1] + 25, Xoff[2][1] - 25, -5 do
- if not sleep(50) then break end
- lvalue(Xoffset[2],{i},Xtyp[2])
- end
- until gg.isVisible()
- lvalue(Xoffset[2],Xoff[2],Xtyp[2])
- end
- function f6()
- gg.setVisible(true)
- repeat
- repeat until gg.isVisible()
- gg.setVisible(false)
- local menu = gg.prompt({"1~9倍[1;9]","0~90[0;9]","100~900倍[0;9]","重置","返回"},L6,{"number","number","number","checkbox","checkbox"})
- if menu then
- if menu[5] then break end
- if menu[4] or R6 == nil then R6 = {} end
- if menu[1] or tonumber(menu[2]) > 0 or tonumber(menu[3]) > 0 then
- if #R6 < 1 then
- gg.clearResults()
- gg.setRanges(gg.REGION_ANONYMOUS)
- gg.searchNumber(1,64)
- R6 = gg.getResults(gg.getResultsCount())
- for i, v in pairs(R6) do v.address, v.flags = v.address - 0xC, 16 end
- gg.loadResults(R6)
- gg.sleep(300)
- gg.searchFuzzy("0", gg.SIGN_FUZZY_NOT_EQUAL, 16, 0, -1, 0)
- R6 = gg.getResults(gg.getResultsCount())
- for i, v in pairs(R6) do v.address, v.flags = v.address + 0xC, 64 end
- Xn = 1
- else
- Xn = L6[1] + (L6[2]*10) + (L6[3]*100)
- end
- gg.loadResults(R6)
- gg.refineNumber(Xn)
- R6 = gg.getResults(gg.getResultsCount())
- gg.clearResults()
- for i, v in pairs(R6) do v.value, v.freeze = menu[1] + (menu[2] * 10) + (menu[3] * 100), true end
- gg.addListItems(R6)
- gg.removeListItems(R6)
- gg.toast("人物加速"..menu[1] + (menu[2] * 10) + (menu[3] * 100).."倍")
- L6 = {menu[1],menu[2],menu[3]}
- end
- end
- until nil
- return L6 and L6[1] + (L6[2]*10) + (L6[3]*100) or 1
- end
- function f7()
- Xt = Xt or os.time()
- repeat
- local t = Xt - (os.time() - 50)
- gg.toast("幽灵模式将在"..t.."秒后关闭")
- if not sleep(1000) then break end
- until t < 1 or gg.isVisible()
- if not gg.isVisible() then
- lvalue(Xoffset[4],Xoff[4],Xtyp[4])
- Xt, Xs7 = nil, OFF
- end
- end
- function f13(x)
- R13 = R13 or {}
- if x or #R13 < 1 then
- local x1, x2 = {}, {}
- gg.setRanges(32)
- gg.clearResults()
- gg.searchNumber("-2097152000",4)
- x1 = gg.getResults(gg.getResultsCount())
- gg.clearResults()
- for i, v in pairs(x1) do v.address, v.flags = v.address + 0xA8, 16 end
- for i, v in pairs(gg.getValues(x1)) do
- if v.value == 1.0000000331813535E32 or v.value == 1 then
- table.insert(x2,{address = v.address - 0xA8,flags = 16})
- table.insert(x2,{address = x2[#x2].address + 0x68,flags = 16})
- table.insert(x2,{address = x2[#x2-1].address + 0x6C,flags = 16})
- table.insert(x2,{address = x2[#x2-2].address + 0x70,flags = 16})
- else
- table.insert(x2,{address = 0x0,flags = 1})
- table.insert(x2,{address = 0x1,flags = 1})
- table.insert(x2,{address = 0x2,flags = 1})
- table.insert(x2,{address = 0x3,flags = 1})
- end
- end
- x2 = gg.getValues(x2)
- for i = 4, #x2, 4 do
- if x2[i].flags == 16 and (x2[i-2].value ~= 0 or x2[i-1].value ~= 0 or x2[i].value ~= 0) then
- table.insert(R13,x1[(i/4)])
- end
- end
- end
- for i, v in pairs(R13) do v.value, v.freeze = (x and 1 or 1e32), true end
- gg.addListItems(R13)
- gg.removeListItems(R13)
- if not x then R13 = nil end
- end
- function f17(x)
- if x then
- valueFromClass("CarDynamics", "0xD8 F","-10~10")
- if gg.getResultsCount() < 1 then return false end
- R17 = gg.getResults(gg.getResultsCount())
- elseif not x and #R17 > 0 then
- gg.loadResults(R17)
- R17 = refineOffset(0xD8)
- end
- gg.clearResults()
- for i, v in pairs(R17) do v.value, v.freeze = x and 8 or -0.30500000715, true end
- gg.addListItems(R17)
- gg.removeListItems(R17)
- if not x then R17 = nil end
- return true
- end
- function f18()
- valueFromClass("UIInput","0x34 D","8~150")
- local Xt = gg.getResults(gg.getResultsCount())
- for i, v in pairs(Xt) do v.value, v.freeze = 2147483647, true end
- gg.addListItems(Xt)
- gg.removeListItems(Xt)
- gg.clearResults()
- gg.copyText(("҈"):rep(999),true)
- end
- function f19()
- gg.setVisible(true)
- repeat
- repeat until gg.isVisible()
- gg.setVisible(false)
- local menu = gg.prompt({"X(左右)(高速公路比赛方向)","Y(上下)","Z(前后)(城市1比赛方向)","X(上下)(高速公路比赛方向)","Y(左右)","Z(上下)(城市1比赛方向)","❄️X(左右)","❄️Y(上下)","❄️Z(前后)","❄️X(上下)","❄️Y(左右)","❄️Z(上下)","重置","返回"},L19,{"number","number","number","number","number","number","checkbox","checkbox","checkbox","checkbox","checkbox","checkbox","checkbox","checkbox","checkbox"})
- if menu then
- menu[1], menu[2], menu[3], menu[4], menu[5], menu[6] = tonumber(menu[1]) or 0, tonumber(menu[2]) or 0, tonumber(menu[3]) or 0, tonumber(menu[4]) or 0, tonumber(menu[5]) or 0, tonumber(menu[6]) or 0
- L19 = {menu[1],menu[2],menu[3],menu[4],menu[5],menu[6],menu[7],menu[8],menu[9],menu[10],menu[11],menu[12]}
- if menu[14] then break end
- if menu[13] or R19 == nil then
- gg.clearList()
- R19 = {x = {},y = {},z = {},X = {}, Y = {}, Z = {}}
- end
- if #R19.x < 1 then
- local x1, x2 = {}, {}
- gg.setRanges(32)
- gg.clearResults()
- gg.searchNumber("-2097152000",4)
- x1 = gg.getResults(gg.getResultsCount())
- gg.clearResults()
- for i, v in pairs(x1) do v.address, v.flags = v.address + 0xA8, 16 end
- for i, v in pairs(gg.getValues(x1)) do
- if v.value == 1.0000000331813535E32 or v.value == 1 then
- table.insert(x2,{address = v.address - 0xA8,flags = 16})
- table.insert(x2,{address = x2[#x2].address + 0x68,flags = 16})
- table.insert(x2,{address = x2[#x2-1].address + 0x6C,flags = 16})
- table.insert(x2,{address = x2[#x2-2].address + 0x70,flags = 16})
- else
- table.insert(x2,{address = 0x0,flags = 1})
- table.insert(x2,{address = 0x1,flags = 1})
- table.insert(x2,{address = 0x2,flags = 1})
- table.insert(x2,{address = 0x3,flags = 1})
- end
- end
- x2 = gg.getValues(x2)
- for i = 4, #x2, 4 do
- if x2[i].flags == 16 and (x2[i-2].value ~= 0 or x2[i-1].value ~= 0 or x2[i].value ~= 0) then
- local address = x2[i-3].address
- table.insert(R19.x,{address = address + 0x68,flags = 16,value = 0,freeze = true})
- table.insert(R19.y,{address = address + 0x6C,flags = 16,value = 0,freeze = true})
- table.insert(R19.z,{address = address + 0x70,flags = 16,value = 0,freeze = true})
- table.insert(R19.X,{address = address + 0x78,flags = 16,value = 0,freeze = true})
- table.insert(R19.Y,{address = address + 0x7C,flags = 16,value = 0,freeze = true})
- table.insert(R19.Z,{address = address + 0x80,flags = 16,value = 0,freeze = true})
- end
- end
- end
- for i, v in pairs(R19.x) do v.value = menu[1] end
- for i, v in pairs(R19.y) do v.value = menu[2] end
- for i, v in pairs(R19.z) do v.value = menu[3] end
- for i, v in pairs(R19.X) do v.value = menu[4] end
- for i, v in pairs(R19.Y) do v.value = menu[5] end
- for i, v in pairs(R19.Z) do v.value = menu[6] end
- gg.setValues(R19.x)
- gg.setValues(R19.y)
- gg.setValues(R19.z)
- gg.setValues(R19.X)
- gg.setValues(R19.Y)
- gg.setValues(R19.Z)
- if menu[7] then gg.addListItems(R19["x"]) else gg.removeListItems(R19["x"]) end
- if menu[8] then gg.addListItems(R19["y"]) else gg.removeListItems(R19["y"]) end
- if menu[9] then gg.addListItems(R19["z"]) else gg.removeListItems(R19["z"]) end
- if menu[10] then gg.addListItems(R19["X"]) else gg.removeListItems(R19["X"]) end
- if menu[11] then gg.addListItems(R19["Y"]) else gg.removeListItems(R19["Y"]) end
- if menu[12] then gg.addListItems(R19["Z"]) else gg.removeListItems(R19["Z"]) end
- end
- until nil
- end
- function f20()
- repeat
- repeat until gg.isVisible()
- gg.setVisible(false)
- menu = gg.prompt({"价格","搜寻","返回"},L20,{"text","checkbox","checkbox"})
- if menu then
- L20 = {menu[1]}
- if menu[3] then break end
- if menu[2] or R20 == nil or #R20 < 1 then
- R20 = {}
- valueFromClass("SellCarTrigger", "0x40 D","0~40")
- R20 = gg.getResults(gg.getResultsCount())
- gg.clearResults()
- for i, v in pairs(R20) do v.address = v.address + 0x1C end
- end
- if menu[1] then
- local Xr = {}
- for i, v in pairs(R20) do
- table.insert(Xr,{address = v.address - 0x4,value = 0,flags = 4,freeze = true})
- table.insert(Xr,{address = v.address,value = menu[1],flags = 4,freeze = true})
- end
- gg.addListItems(Xr)
- end
- end
- until nil
- gg.clearList()
- end
- ON , OFF, ERROR = '『🔓』' , '『🔒』', '『ERROR』'
- for i = 1, 20 do _G["Xs"..i] = OFF end
- local x64 = gg.getTargetInfo().x64
- local Xversion = gg.getTargetInfo().versionName
- libil2cpp = gg.getRangesList("libil2cpp.so")[2]
- libunity = gg.getRangesList("libunity.so")[1]
- Qfile = "/sdcard/Q/file/t.V _ V.t"
- Mon, Xon = {'h200080D2','hC0035FD6'},{
- [1] = {2e15},
- [4] = {-40},
- [5] = {-1},
- [7] = {7e2},
- [8] = {7e2},
- [12] = {1},
- [13] = {1},
- [15] = {10039638},
- [16] = {5e2},
- }
- if #gg.getRangesList("libil2cpp.so") < 1 then
- print("[ERROR]")
- print("If the game is split, Anti split it.")
- return
- end
- Qinfo = loadfile(Qfile) and io.open(Qfile,"r"):read("*all"):match("CPM%[.-%]%[x.-%]") or "CPM[NaN][NaN]"
- Xinfo = "CPM["..Xversion.."][x"..(x64 and 64 or 32).."]"
- if loadfile(Qfile) then loadfile(Qfile)() end
- if Qinfo ~= Xinfo or Aoffset == nil then
- Qinfo = "请更新脚本\n"..Qinfo.." > "..Xinfo
- else
- gg.setVisible(false)
- for i, v in pairs(Aoffset) do lvalue(v,Mon,AMtyp) end
- end
- --gg.clearList()
- gg.setVisible(true)
- repeat
- repeat until gg.isVisible()
- gg.setVisible(false)
- local menu = gg.choice({
- Xs1.."隐形",--1
- Xs2.."闪现",--2
- Xs3.."扫地",--3
- Xs4.."旋转",--4
- Xs5.."摇摆",--5
- Xs6.."人物加速",--6
- Xs7.."幽灵模式",--7
- Xs8.."传送",--8
- Xs9.."强制上车",--9
- Xs10.."霸占位置",--10
- Xs11.."强制拖车",--11
- Xs12.."穿墙[1]",--12
- Xs13.."穿墙[2]",--13
- Xs14.."踢人",--14
- Xs15.."发钱",--15
- Xs16.."游戏加速",--16
- Xs17.."不倒翁",--17
- Xs18.."聊天室炸弹",--18
- Xs19.."重力控制",--19
- Xs20.."免费买车",--20
- "更新脚本",--21
- "退出"--22
- },nil,Qinfo)
- if menu == 22 then break
- elseif menu == 6 then f6()
- elseif menu == 13 then f13((Xs13 == OFF and true or false)) Xs13 = (Xs13 == OFF and ON or OFF) gg.toast(Xs13)
- elseif menu == 17 and f17((Xs17 == OFF and true or false)) then Xs17 = (Xs17 == OFF and ON or OFF) gg.toast(Xs17)
- elseif menu == 18 then f18()
- elseif menu == 19 then f19()
- elseif menu == 20 then f20()
- elseif Qinfo ~= Xinfo or menu == 21 then
- if gg.alert("是否要更新","是","否") == 1 then
- if Qinfo == Xinfo then
- for i, v in pairs(Aoffset) do lvalue(v,Aoff[i],AMtyp) end
- end
- update()
- break
- end
- end
- if Qinfo == Xinfo then
- --Xoffset Xon Xoff Xtyp
- if menu == 1 then lvalue(Xoffset[1],(Xs1 == OFF and Xon[1] or Xoff[1]),Xtyp[1]) Xs1, Xs8 = (Xs1 == OFF and ON or OFF), OFF gg.toast(Xs1) end
- if menu == 2 then Xs2, Xs3 = (Xs2 == OFF and ON or OFF), OFF end
- if menu == 3 then Xs3, Xs2 = (Xs3 == OFF and ON or OFF), OFF end
- if menu == 4 then lvalue(Xoffset[3],(Xs4 == OFF and Xon[4] or Xoff[3]),Xtyp[3]) Xs4, Xs5 = (Xs4 == OFF and ON or OFF), OFF gg.toast(Xs4) end
- if menu == 5 then lvalue(Xoffset[3],(Xs5 == OFF and Xon[5] or Xoff[3]),Xtyp[3]) Xs5, Xs4 = (Xs5 == OFF and ON or OFF), OFF gg.toast(Xs5) end
- if menu == 7 then lvalue(Xoffset[4],(Xs7 == OFF and Xon[7] or Xoff[4]),Xtyp[4]) Xs7, Xt = (Xs7 == OFF and ON or OFF), nil gg.toast(Xs7) end
- if menu == 8 then lvalue(Xoffset[1],(Xs8 == OFF and Xon[8] or Xoff[1]),Xtyp[1]) Xs8, Xs1 = (Xs8 == OFF and ON or OFF), OFF gg.toast(Xs8) end
- if menu == 12 then lvalue(Xoffset[5],(Xs12 == OFF and Xon[12] or Xoff[5]),Xtyp[5]) Xs12 = (Xs12 == OFF and ON or OFF) gg.toast(Xs12) end
- if menu == 15 then lvalue(Xoffset[6],(Xs15 == OFF and Xon[15] or Xoff[6]),Xtyp[6]) Xs15 = (Xs15 == OFF and ON or OFF) gg.toast(Xs15) end
- if menu == 16 then lvalue(Xoffset[7],(Xs16 == OFF and Xon[16] or Xoff[7]),Xtyp[7]) Xs16 = (Xs16 == OFF and ON or OFF) gg.toast(Xs16) end
- --Moffset Mon Moff Mtyp
- if menu == 9 then
- lvalue(Moffset[1],(Xs9 == OFF and Mon or Moff[1]),AMtyp)
- lvalue(Moffset[2],(Xs9 == OFF and Mon or Moff[2]),AMtyp)
- Xs9 = (Xs9 == OFF and ON or OFF)
- gg.toast(Xs9)
- end
- if menu == 10 then lvalue(Moffset[3],(Xs10 == OFF and Mon[10] or Moff[3]),AMtyp) Xs10 = (Xs10 == OFF and ON or OFF) gg.toast(Xs10) end
- if menu == 11 then lvalue(Moffset[4],(Xs11 == OFF and Mon[11] or Moff[4]),AMtyp) Xs11 = (Xs11 == OFF and ON or OFF) gg.toast(Xs11) end
- if menu == 14 then lvalue(Moffset[5],(Xs14 == OFF and Mon[14] or Moff[5]),AMtyp) Xs14 = (Xs14 == OFF and ON or OFF) gg.toast(Xs14) end
- if Xs7 == ON then f7()
- elseif Xs2 == ON then f2()
- elseif Xs3 == ON then f3()
- end
- end
- until nil
- if Qinfo == Xinfo then
- for i, v in pairs(Aoffset) do lvalue(v,Aoff[i],AMtyp) end
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement