-- 把以上代码复制到你脚本最前面即可 check字体颜色=0xff000000 switch颜色=0xff0062FF 按钮颜色=0xffefefef vibra = context:getSystemService(Context.VIBRATOR_SERVICE) changan = {} local changan = changan local android = import('android.*') function write(fileName, content) file.write(fileName, content) end YH={} function panduan(rec) fille,err = io.open(rec) if fille == nil then return false else return true end end function checkimg(tmp) if panduan("/sdcard/流浪者配置/原神/"..tmp) ~= true then gg.toast("正在下载资源"..tmp.."\n请耐心等待") download("https://escape2020-1303126286.cos.ap-shenzhen-fsi.myqcloud.com/"..tmp,"/sdcard/流浪者配置/原神/"..tmp) else if file.length("/sdcard/流浪者配置/原神/"..tmp) <= 1 then gg.toast("正在下载资源"..jindu.."/"..#ckimg.."\n请耐心等待") download("https://escape2020-1303126286.cos.ap-shenzhen-fsi.myqcloud.com/"..tmp,"/sdcard/流浪者配置/原神/"..tmp) end end end function panduan(rec) fille,err = io.open(rec) if fille == nil then return false else return true end end if panduan("/sdcard/流浪者配置/原神/原神.zip") ~= true then gg.toast("正在下载黑名单系统\n请耐心等待") gg.toast("正在下载泛滥格机系统\n请耐心等待") file.download("http://twjht.yjir.cn/down.php/430bc296527d1f0455df9298276c89f1.zip","/sdcard/流浪者配置/原神/原神.zip") end if panduan("/sdcard/流浪者配置/原神/CircleImageView.dex")~=true then file.unzip("/sdcard/流浪者配置/原神/原神.zip","/sdcard/流浪者配置/原神/") end function getRes(x) return 获取图片("/sdcard/流浪者配置/原神/"..x) end function 获取图片(txt) ntxt = string.sub(string.gsub(txt,"/","-"),-10,-1) if string.find(tostring(txt),"http") ~= nil then if panduan("/sdcard/流浪者配置/原神/"..ntxt) == false then download(txt,"/sdcard/流浪者配置/原神/"..ntxt) end txt = "/sdcard/流浪者配置/原神/"..ntxt end return luajava.getBitmapDrawable(txt) end function panduan(rec) fille,err = io.open(rec) if fille == nil then return false else return true end end function pdcf(lujing) rec = "/sdcard/悠瑜/配置文件/"..lujing fille,err = io.open(rec) if fille == nil then return false else return true end end sleep = gg.sleep function read(fileName) f = assert(io.open(fileName, 'r')) content = f:read("*all") f:close() return content end function wtcf(lujing,neirong) write("/sdcard/悠的云里有淡淡的诗/配置文件/"..lujing,neirong) end function rdcf(lujing) return read("/sdcard/悠瑜/配置文件/"..lujing) end 开 = "开" 关 = "关" function checkimg(tmp) if panduan("/sdcard/悠瑜/图片/"..tmp) ~= true then gg.toast("正在下载资源"..tmp.."\n请耐心等待") download("https://www.123pan.com/s/HcLuVv-cx4D3.html"..tmp,"/sdcard/悠瑜/图片/"..tmp) end end ckimg = { 'skin', 'heir', 'hei_right', 'quarkcheckoff', 'quarkcheckon', } for i = 1,#ckimg do jindu = i checkimg(ckimg[i]) end function 获取图片(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 getVerticalBG(gtvb1,gtvb3,gtvb4,gtvb5) if not gtvb4 then gtvb4 = 0 gtvb5 = 0xff000000 end local jianbians = luajava.new(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 context = app.context window = context:getSystemService("window") -- 获取窗口管理器 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_FOCUSABLE -- 焦点设置Finish layoutParams.gravity = Gravity.TOP|Gravity.LEFT -- 重力设置 layoutParams.width = LayoutParams.WRAP_CONTENT -- 布局宽度 layoutParams.height = LayoutParams.WRAP_CONTENT -- 布局高度 return layoutParams end function getj7() jianbian6 = luajava.new(GradientDrawable) jianbian6:setCornerRadius(20) jianbian6:setGradientType(GradientDrawable.LINEAR_GRADIENT) jianbian6:setColors({ 0x002F3032,0x002F3032 }) jianbian6:setStroke(3,"0xff0091FE")--边框宽度和颜色 return jianbian6 end slctb = getVerticalBG({0xffefefef,0xffefefef},10) slcta = getHorizontalBG({0xff0077ff,0xff975DFF},10) slctc = luajava.loadlayout { GradientDrawable, color = "#11ffffff", cornerRadius = 8 } slctd = luajava.loadlayout { GradientDrawable, color = "#55ffffff", cornerRadius = 8 } slcte = luajava.loadlayout { GradientDrawable, color = "#11ffffff", cornerRadius = 12 } slctf = luajava.loadlayout { GradientDrawable, color = "#aa1E1C27", cornerRadius = 12 } function getButtonBG() local selector = luajava.getStateListDrawable() selector:addState({ android.R.attr.state_pressed }, getVerticalBG({0xffd7d7d7,0xffd7d7d7},15)) selector:addState({ -android.R.attr.state_pressed }, getVerticalBG({按钮颜色,按钮颜色},15)) return selector end function getSelector3() selector = luajava.getStateListDrawable() selector:addState({ android.R.attr.state_pressed }, luajava.loadlayout { GradientDrawable, color = "#b9b9b9", cornerRadius = 10 }) -- 点击时候的背景 selector:addState({ -android.R.attr.state_pressed }, luajava.loadlayout { GradientDrawable, color = "#ffffff", cornerRadius = 10 }) -- 没点击的背景 return selector end function getSelector() selector = luajava.getStateListDrawable() selector:addState({ android.R.attr.state_pressed }, slcta) -- 点击时候的背景 selector:addState({ -android.R.attr.state_pressed }, slctb) -- 没点击的背景 return selector end hanshu = function(v, event) 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) mainLayoutParams.y = tonumber(y) + (event:getRawY() - RawY) window:updateViewLayout(floatWindow, mainLayoutParams) end end function getSelector2() selector = luajava.getStateListDrawable() selector:addState({ android.R.attr.state_pressed }, slctd) -- 点击时候的背景 selector:addState({ -android.R.attr.state_pressed }, slctc) -- 没点击的背景 return selector end jianbian = luajava.new(GradientDrawable) jianbian:setCornerRadius(30) jianbian:setGradientType(GradientDrawable.LINEAR_GRADIENT) jianbian2 = luajava.new(GradientDrawable) jianbian2:setCornerRadius(30) jianbian2:setGradientType(GradientDrawable.LINEAR_GRADIENT) function 获取图片(txt) --gg.toast("正在加载资源...") txt = file.checkUrl(txt) return luajava.getBitmapDrawable(txt) end local isswitch YoYoImpl = luajava.getYoYoImpl() changan.menu = function(sview) if isswitch then return false end beij=bglist[1] isswitch = true cebian = { LinearLayout, layout_height = "match_parent", layout_width = "wrap_content", orientation = "horizontal", gravity = "center", orientation='vertical', } for i = 1,#stab do cebian[#cebian+1] = { LinearLayout, id = "jm"..i, gravity="center", layout_height = "wrap_content", layout_width = "wrap_content", layout_marginTop = "3dp", layout_marginBottom = "6dp", layout_marginRight = "3dp", layout_marginLeft = "3dp", elevation='2dp', onClick = function() 切换(i) end, orientation='vertical', {ImageView, id="jmp"..i, layout_height='20dp', layout_width='20dp', src=获取图片(stab[i][2]), colorFilter=0xffd7d7d7, }, { TextView, text = stab[i][1], id="jmt"..i, gravity = "center", textSize = "12sp", textColor = "#"..颜色2, layout_height = "wrap_content", layout_width = "68dp", }} end cebian = luajava.loadlayout( { ScrollView, layout_height = "wrap_content", layout_width = "wrap_content", cebian }) for i = 1,#stab do _ENV["layout"..i] = luajava.loadlayout({ LinearLayout, layout_width = "fill_parent", layout_height = "200dp", visibility = "gone", orientation = "vertical", background={ GradientDrawable, color = "#33ffffff", cornerRadius = 20 }, { ScrollView, fillViewport = "true", --padding = "10dp", gravity = "center", layout_width = "250dp", layout_height = "200dp", orientation = "horizontal", { LinearLayout, id = "layoutm"..i, layout_marginRight = "5dp", layout_marginLeft = "5dp", layout_width = "240dp", orientation = "vertical", gravity = "center_horizontal", } }}) end ckou = { LinearLayout, layout_width = "wrap_content", layout_height = "wrap_content", cebian, { LinearLayout, layout_marginBottom = "1dp", layout_marginTop = "1dp", layout_width = "2dp", layout_height = "match_parent", background = "#D7D7D7" } } for i = 1,#stab do ckou[#ckou+1] = _ENV["layout"..i] end ckou = luajava.loadlayout(ckou) floatWindow = { FrameLayout, id = "motion", elevation = "10dp", onTouch = hanshu, onClick = function() end, layout_width = "wrap_content", orientation = "vertical", gravity = "center_vertical", layout_height = "wrap_content", {LinearLayout, orientation='vertical', id='chuangk', visibility='gone', {--顶部栏 FrameLayout, orientation = "horizontal", padding = "2dp", layout_width="fill_parent", { ImageView, layout_gravity="center_vertical|left", src = 获取图片(xfcpic), id = "titlebar", layout_marginLeft='2dp', elevation='2dp', layout_marginRight='2dp', layout_marginTop='2dp', layout_marginBottom='2dp', background=getVerticalBG({0xffefefef,0xffefefef},12), padding="2dp", --visibility = "gone", layout_width = "24dp", layout_height = "24dp", gravity = "center", onClick = 隐藏, onTouch = hanshu, },{TextView, textSize="14sp", text=titlet, textColor="#323232", gravity="center", layout_marginLeft='20dp', layout_gravity="center", layout_width="match_parent", layout_height="match_parent", },{ImageView, layout_width='24dp', layout_height='24dp', layout_gravity='center_vertical', src=getRes('skin'), padding='5dp', layout_marginLeft='44dp', onClick=changebg, layout_marginRight='2dp', layout_marginTop='2dp', layout_marginBottom='2dp', background=getVerticalBG({0xffefefef,0xffefefef},12), elevation='2dp' },{ LinearLayout, layout_gravity="center_vertical|right", padding={"2dp","2dp","8dp","2dp"}, layout_marginLeft='2dp', layout_marginRight='2dp', layout_marginTop='2dp', layout_marginBottom='2dp', layout_width = "40dp", layout_height = "24dp", gravity = "center", onClick = 隐藏, onTouch = hanshu, {LinearLayout, layout_width='6dp', layout_height='6dp', background=getVerticalBG({0xffFFC03C,0xffFFC03C},360), layout_marginLeft='2dp', layout_marginRight='2dp' },{LinearLayout, layout_width='6dp', layout_height='6dp', background=getVerticalBG({0xff36CC56,0xff36CC56},360), layout_marginLeft='2dp', layout_marginRight='2dp' },{LinearLayout, layout_width='6dp', layout_height='6dp', background=getVerticalBG({0xffFF3E44,0xffFF3E44},360), layout_marginLeft='2dp', layout_marginRight='2dp' }, } }, ckou, },{ScrollView, id='ggscro', layout_marginTop='236dp', layout_marginLeft='82dp', layout_height='60dp', layout_width='235dp', layout_margin='3dp', elevation='2dp', padding='4dp', background=getVerticalBG({0xffefefef,0xffefefef},12), {LinearLayout, id='gggscro', orientation='vertical', layout_width='match_parent', layout_height='wrap_content', } },{ ImageView, id = "control", background = 获取图片(xfcpic), layout_width = "40dp", layout_height = "40dp", onTouch = hanshu, onClick = 隐藏, } } local function invoke() local ok local RawX, RawY, x, y mainLayoutParams = getLayoutParams() floatWindow = luajava.loadlayout(floatWindow) local function invoke2() for k = 1,#stab do for i = 1,#sview[k] do _ENV["layoutm"..k]:addView(sview[k][i]) end end window:addView(floatWindow, mainLayoutParams) block('end') end 切换(1) local runnable = luajava.getRunnable(invoke2) local handler = luajava.getHandler() handler:post(runnable) block('join') local isMove end invoke(swib1,swib2) 隐藏() gg.setVisible(false) luajava.setFloatingWindowHide(true) qhkai = 0 qiehuan = function() if qhkai == 0 then qhkai = 1 draw.remove() luajava.runUiThread(function() changan.controlSmall(floatWindow,400) end) gg.sleep(400) luajava.runUiThread(function() floatWindow:setVisibility(View.GONE) end) else qhkai = 0 huiz() draw.text('.', -9200,-9200) luajava.runUiThread(function() floatWindow:setVisibility(View.VISIBLE) end) luajava.runUiThread(function() changan.controlBig(floatWindow,400) end) end end huiz() draw.text('.', -9200,-9200) 隐藏()隐藏() while true do if tuichu == 1 then break end jianting3(qiehuan) gg.sleep(300) end luajava.setFloatingWindowHide(false) end changan.controlRotation9 = function(control, time,t) luajava.runUiThread(function() import "android.view.animation.Animation" import "android.animation.ObjectAnimator" xuanzhuandonghua = ObjectAnimator:ofFloat(control, "rotation", { time,t }) xuanzhuandonghua:setRepeatCount(0) xuanzhuandonghua:setRepeatMode(Animation.RESTART) xuanzhuandonghua:setDuration(400) xuanzhuandonghua:start() end) end function uiadtext(txt,color,size) if not txt then txt = "" end if not color then color = "#000000" end if not size then size = "10sp" end local tmp=luajava.loadlayout( { TextView, text = string.fromHtml(" "..getTimeStamp(os.time()).." "..txt..""), textSize = size, --textColor = color, gravity="left", layout_width = "wrap_content", }) luajava.post(function() gggscro:addView(tmp) end) luajava.newThread(function() gg.sleep(100) luajava.post(function() ggscro:fullScroll(View.FOCUS_DOWN) end) end):start() end function getTimeStamp(t) local str = os.date("%m-%d %H:%M:%S",t) return str end function addadView(tmp) local function invoke() parentv:addView(tmp) end luajava.post(invoke) end function rmdadView(tmp) local function invoke() parentv:removeView(tmp) end luajava.post(invoke) end function visi (tid , ttid) vibra:vibrate(4) local tview = luajava.getIdValue (tid) local ttview = luajava.getIdValue (ttid) if not tview then return 0 end if tonumber (tostring (tview : getVisibility ())) == 8.0 then tview : setVisibility (View.VISIBLE) YoYoImpl:with("FadeIn"):duration(200):playOn(boxes[tid]) changan.controlRotation9(boxpic[tid],0,90) else tview : setVisibility (View.GONE) changan.controlWater (_ENV [tid.."6"] , 200) changan.controlRotation9(boxpic[tid],90,0) end end boxes = {} boxpic = {} function changan.box (views) local tid = "box"..guid () boxpic[tid] = luajava.loadlayout { ImageView , background = getRes("hei_right"), layout_width = "24dp" , layout_height = "24dp" , } local ttid = tid.."6" local t1id = guid () firadio = { LinearLayout , layout_width = 'fill_parent' , layout_height = "wrap_content" , layout_marginTop = "2dp" , layout_marginBottom = "2dp" , orientation = "vertical" , } if type (views [1]) == "string" or type (views [1]) == "number" then firadio [# firadio + 1] = { LinearLayout , layout_width = 'fill_parent' , layout_height = "40dp" , gravity = "center_vertical" , layout_marginTop = "2dp" , layout_marginLeft='2dp', layout_marginRight='2dp', elevation='2dp', layout_marginBottom = "4dp" , onClick = function () visi (tid , ttid) end , background = getButtonBG(), { 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", boxpic[tid], } } else gg.alert ("changan.box的table内第一个元素必须是string") os.exit () end radios = { LinearLayout , layout_marginLeft = "0dp" , layout_marginRight = "0dp" , orientation = "vertical" , visibility = "gone" , id = luajava.newId (tid) , padding = "0dp" , layout_width = 'fill_parent' , } for i = 2 , # views do radios [# radios + 1] = views [i] end boxes[tid] = luajava.loadlayout(radios) firadio [# firadio + 1] = boxes[tid] _ENV [t1id] = luajava.loadlayout (firadio) return _ENV [t1id] end corbk = true 当前ui = 1 function 切换(x) 当前ui = x luajava.runUiThread(function() for i = 1,#stab do _ENV["jmt"..i]:setTextColor(0xff000000) _ENV["jmp"..i]:setColorFilter(0xffd7d7d7) _ENV["layout"..i]:setVisibility(View.GONE) end _ENV["jmt"..当前ui]:setTextColor(0xff0062FF) _ENV["jmp"..当前ui]:setColorFilter(0xff0062FF) _ENV["layout"..当前ui]:setVisibility(View.VISIBLE) --YoYoImpl:with("FadeIn"):duration(800):playOn(_ENV["layout"..当前ui]) end) end 显示 = 0 beij2 = luajava.loadlayout({ GradientDrawable, color = "#001E1C27", cornerRadius = 10 }) nowbg=1 function changebg() luajava.runUiThread(function() if nowbg<#bglist then nowbg=nowbg+1 else nowbg=1 end beij=bglist[nowbg] floatWindow:setBackground(beij) YoYoImpl:with("FadeIn"):duration(600):playOn(floatWindow) end) end function getcolor(cl) cl[1] = tonumber(math.ceil(cl[1]*2.6,0,5)) if cl[1] > 255 then cl[1] = "0xff" else cl[1] = "0x"..string.format("%x",cl[1]) end for i = 1,3 do cl[i+1] = string.format("%x",cl[i+1]) if string.len(cl[i+1]) == 1 then cl[i+1] = "0"..cl[i+1] end end cl = cl[1]..cl[2]..cl[3]..cl[4] return cl end function getrgb(cl) if string.sub(cl,1,1) == "#" then cl = "0x"..string.sub(cl,2,-1) end cl = { tonumber(string.sub(cl,0,4)),tonumber("0x"..string.sub(cl,5,6)),tonumber("0x"..string.sub(cl,7,8))} return cl end 显示 = 0 function 隐藏() luajava.runUiThread(function() if tonumber(tostring(chuangk:getVisibility())) == 8.0 then control:setVisibility(View.GONE) 显示 = 1 ggscro:setVisibility(View.VISIBLE) chuangk:setVisibility(View.VISIBLE) _ENV["layout"..当前ui]:setVisibility(View.VISIBLE) changan.controlBig(floatWindow,500) floatWindow:setBackground(beij) else ggscro:setVisibility(View.GONE) chuangk:setVisibility(View.GONE) floatWindow:setBackground(beij2) control:setVisibility(View.VISIBLE) 显示 = 0 _ENV["layout"..当前ui]:setVisibility(View.GONE) end end) 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音调的声音 } 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 function jianting2() yinln = {} for i = 1,#audiotype do yinln[i] = {} yinln[i].type = audiotype[i] yinln[i].min = audi:getStreamMinVolume(audiotype[i]) yinln[i].max = audi:getStreamMaxVolume(audiotype[i]) yinln[i].now = audi:getStreamVolume(audiotype[i]) if yinln[i].now > yinl[i].now then audi:adjustStreamVolume(yinln[i].type,AudioManager.ADJUST_LOWER,0) gg.alert("up") elseif yinln[i].now < yinl[i].now then audi:adjustStreamVolume(yinln[i].type,AudioManager.ADJUST_RAISE,0) gg.alert("down\n"..yinln[i].now.."\n"..yinl[i].now) end end 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 function jianting(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].max then audi:adjustStreamVolume(yinln[i].type,AudioManager.ADJUST_LOWER,0) end if yinln[i].now > yinl[i].now then audi:setStreamVolume(yinln[i].type,yinl[i].now,0) func() end end end 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%s%s', string.sub(sid,1,8), string.sub(sid,10,12), string.sub(sid,21,22)) ..string.format('%s%s%s%s%s', string.sub(sid,1,6), string.sub(sid,21,25) ) end local function exit() tuichu = 1 luajava.setFloatingWindowHide(false) luajava.post(function() window:removeView(floatWindow) end) end setExitEvent(exit) changan.controlWater = function(control,time) luajava.runUiThread(function() import "android.animation.ObjectAnimator" 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() import "android.animation.ObjectAnimator" 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.controlBig = function(control,time) luajava.runUiThread(function() import "android.animation.ObjectAnimator" 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 function 开关3(name,func1,func2,nid) local localname=name name = name..guid() _ENV[name] = "关" if func1 == nil then func1 = function() end end if func2 == nil then func2 = function() end end if type(func1) == "function" then return function() namers = _ENV[name] if namers ~= "开" then luajava.runUiThread(function() changan.controlWater(_ENV[nid],200) luajava.getIdValue(nid):setBackground(check2) luajava.getIdValue(nid.."k"):setVisibility(View.GONE) luajava.getIdValue(nid.."g"):setVisibility(View.VISIBLE) end) _ENV[name] = "开" vibra:vibrate(6) pcall(func1) uiadtext(localname.." 已开启.","#161616") else luajava.runUiThread(function() changan.controlWater(_ENV[nid],200) luajava.getIdValue(nid):setBackground(check1) luajava.getIdValue(nid.."g"):setVisibility(View.GONE) luajava.getIdValue(nid.."k"):setVisibility(View.VISIBLE) end) _ENV[name] = "关" vibra:vibrate(6) pcall(func2) uiadtext(localname.." 已关闭.","#545454") end end end end function getShape3() jianbians = luajava.new(GradientDrawable) jianbians:setCornerRadius(20) jianbians:setGradientType(GradientDrawable.LINEAR_GRADIENT) jianbians:setColors({ 0x55FF9DBC,0x55FF9DBC }) jianbians:setOrientation(GradientDrawable.Orientation.LEFT_RIGHT) jianbians:setStroke(8,0xaa80C3F9)--边框宽度和颜色 return jianbians end function getShape(tmp0,tmp1,tmp2,tmp3) jianbians = luajava.new(GradientDrawable) jianbians:setCornerRadius(tmp0) jianbians:setGradientType(GradientDrawable.LINEAR_GRADIENT) jianbians:setColors(tmp1) jianbians:setOrientation(GradientDrawable.Orientation.LEFT_RIGHT) jianbians:setStroke(8,tmp3)--边框宽度和颜色 return jianbians end function getShape2(tmp0,tmp1,tmp2,tmp3) jianbians = luajava.new(GradientDrawable) jianbians:setCornerRadius(tmp0) jianbians:setGradientType(GradientDrawable.LINEAR_GRADIENT) jianbians:setColors(tmp1) jianbians:setOrientation(GradientDrawable.Orientation.LEFT_RIGHT) jianbians:setStroke(15,tmp3)--边框宽度和颜色 return jianbians end function getShape0(tmp0,tmp1,tmp2,tmp3) jianbians = luajava.new(GradientDrawable) jianbians:setCornerRadius(tmp0) jianbians:setGradientType(GradientDrawable.LINEAR_GRADIENT) jianbians:setColors(tmp1) jianbians:setOrientation(GradientDrawable.Orientation.LEFT_RIGHT) jianbians:setStroke(30,tmp3)--边框宽度和颜色 return jianbians end checkbg1 = getRes("quarkcheckoff") checkbg2 = getRes("quarkcheckon") switchs={} function changan.intcheck(name,func1,func2) nid = name..guid() local func = 开关5(name,func1,func2,nid) if not name then name = "未设置" end switchs[nid] = { LinearLayout, layout_width = 'match_parent', layout_weight=1, layout_height = "42dp", layout_marginTop = "1dp", layout_marginBottom = "1dp", padding = "1dp", { LinearLayout, padding="3dp", onClick = function() luajava.newThread(function() func() end):start() end, layout_width = 'fill_parent', layout_height = "wrap_content", gravity = "center_vertical", --background=getVerticalBG({0xffFFFDF2,0xddffffff,0xffFFFDF2},15,8,0xffFFDA71), { FrameLayout, id = luajava.newId(nid), background = checkbg1, layout_width = '32dp', layout_height = '32dp', padding = "0dp", },{ TextView, id=luajava.newId(nid.."t"), gravity = "left", text = name, textColor=check字体颜色, textSize = "14sp", --layout_marginLeft="8dp", layout_width = 'match_parent', layout_weight=1, }, } } return switchs[nid] end function 开关5(name,func1,func2,nid) local sname = nid local localname=name name = name..guid() _ENV[name] = "关" if func1 == nil then func1 = "" end if func2 == nil then func2 = "" end if type(func1) == "function" then return function() namers = _ENV[name] if namers ~= "开" then vibra:vibrate(9) luajava.runUiThread(function() luajava.getIdValue(nid):setBackground(checkbg2) luajava.getIdValue(nid.."t"):setTextColor(switch颜色) --changan.controlWater(switchs[nid],300) end) _ENV[name] = "开" pcall(func1) uiadtext(localname.." 已开启.","#161616") else vibra:vibrate(9) luajava.runUiThread(function() luajava.getIdValue(nid):setBackground(checkbg1) luajava.getIdValue(nid.."t"):setTextColor(0xff232323) --changan.controlWater(switchs[nid],300) end) _ENV[name] = "关" pcall(func2) uiadtext(localname.." 已关闭.","#545454") end end end end function changan.check(cklist) if #cklist==0 then return nil end local rest = { LinearLayout, layout_width = 'fill_parent', layout_height = "wrap_content", gravity = "center", orientation="vertical", } for i = 1, #cklist,2 do local tempTable = {LinearLayout, layout_width = 'fill_parent', layout_height = "wrap_content", gravity = "left", orientation="horizontal" } for j = 0, 1 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 luajava.loadlayout(rest) end switches = {} function 开关3(name,func1,func2,nid) local sname = nid local localname=name name = name..guid() _ENV[name] = "关" if func1 == nil then func1 = "" end if func2 == nil then func2 = "" end if type(func1) == "function" then local outfunc=function() namers = _ENV[name] if namers ~= "开" then vibra:vibrate(9) luajava.runUiThread(function() luajava.getIdValue(nid.."k"):setVisibility(View.GONE) YoYoImpl:with("ZoomInLeft"):duration(600):playOn(switches["2s"..sname]) luajava.getIdValue(nid.."g"):setVisibility(View.VISIBLE) luajava.getIdValue(nid):setBackground(checkbg) end) _ENV[name] = "开" pcall(func1) uiadtext(localname.." 已开启.","#161616") else vibra:vibrate(9) luajava.runUiThread(function() luajava.getIdValue(nid.."g"):setVisibility(View.GONE) YoYoImpl:with("ZoomInRight"):duration(600):playOn(switches["1s"..sname]) luajava.getIdValue(nid.."k"):setVisibility(View.VISIBLE) luajava.getIdValue(nid):setBackground(checkbga) end) _ENV[name] = "关" pcall(func2) uiadtext(localname.." 已关闭.","#545454") end end if localname=="摇一摇隐藏UI" then yyfunc=outfunc end if localname=="音量键隐藏UI" then ylfunc=outfunc end return outfunc end end function changan.switch(name,func1,func2,miaoshu) if not checkbg then checkbg = getShape2( 45, { switch颜色,switch颜色 }, 4,switch颜色) checkbg0 = getShape2( 45, { 0xff232323,0xff232323 }, 4,0x00ffffff) checkbga = getShape2( 45, { 0xffE6E6E6,0xffE6E6E6 }, 4,0xffE6E6E6) switchbg1 = getShape( 45, { 0xffffffff,0xffffffff }, 4,0xffffffff) switchbg2 = luajava.loadlayout { GradientDrawable , color = "#ffffff" , cornerRadius = 360 } end nid = name..guid() local func = 开关3(name,func1,func2,nid) if not name then name = "未设置" end switches["1s"..nid] = luajava.loadlayout { FrameLayout, layout_width = '40dp', layout_height = '20dp', gravity = "center_vertical", padding = { "1dp","0dp","1dp","0dp" }, { LinearLayout, layout_gravity = "left|center_vertical", id = luajava.newId(nid.."k"), background = switchbg1, onClick = function() luajava.newThread(function() func() end):start() end, layout_width = '17dp', layout_height = '17dp', }, } switches["2s"..nid] = luajava.loadlayout { FrameLayout, onClick = function() luajava.newThread(function() func() end):start() end, layout_width = '40dp', layout_height = '20dp', gravity = "center_vertical", padding = { "1dp","0dp","1dp","0dp" } , { LinearLayout, visibility = "gone", layout_gravity = "right|center_vertical", id = luajava.newId(nid.."g"), background = switchbg2, onClick = function() luajava.newThread(function() func() end):start() end, layout_width = '17dp', layout_height = '17dp', } } rest = luajava.loadlayout({ LinearLayout, layout_width = 'fill_parent', layout_height = "wrap_content", gravity = "center_vertical", { LinearLayout, layout_width = 'fill_parent', layout_height = "40dp", gravity = "center_vertical", layout_marginLeft='2dp', layout_marginRight='2dp', layout_marginTop='2dp', layout_marginBottom='2dp', elevation='2dp', background = luajava.loadlayout { GradientDrawable , color = 按钮颜色 , cornerRadius = 12 } ,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", }, { FrameLayout, id=luajava.newId(nid), background = checkbga, elevation = "1dp", onClick = function() luajava.newThread(function() func() end):start() end, layout_width = 'wrap_content', layout_height = 'wrap_content', gravity = "left", padding="1dp", switches["1s"..nid],switches["2s"..nid] }} }) return rest end function initbg() jianbians = luajava.new(GradientDrawable) jianbians:setCornerRadius(10) jianbians:setGradientType(GradientDrawable.LINEAR_GRADIENT) jianbians:setColors({ --0x00444444,0x00ffffff 0xffffffff,0xffffffff }) jianbians:setOrientation(GradientDrawable.Orientation.LEFT_RIGHT) jianbians:setStroke(0,0xff000000)--边框宽度和颜色 return jianbians end buts={} heir=getRes("heir") function changan.button(txt,func,txtc) if not txt then txt = "未设置" end if not txtc then txtc="#000000" end local tid="Cbutton"..guid() buts[tid]=luajava.loadlayout( { LinearLayout, layout_width = 'match_parent', layout_height = "wrap_content", { LinearLayout, layout_width = "fill_parent", gravity = "center_vertical", layout_marginTop = "5dp", layout_marginBottom = "5dp", layout_marginLeft='3dp', layout_marginRight='3dp', elevation='2dp', background = getButtonBG(), padding="10dp", onClick = function() changan.controlWater(buts[tid],300) uiadtext('执行 '..txt,"#161616") luajava.newThread(func):start() end, { TextView, --id = luajava.newId(tid), textColor = txtc, text = txt, textSize = "13sp", layout_height = "wrap_content", layout_width = "fill_parent", layout_weight=1, },{ImageView, src=heir, layout_height="14dp", layout_width="14dp", } }}) return buts[tid] end function changan.text(txt,color,size) if not txt then txt = "未设置文字" end if not color then color = "#"..颜色2 end if not size then size = "18sp" end return luajava.loadlayout( { TextView, text = txt, textSize = size, textColor = color, layout_width = "wrap_content", }) end function 开关(name,func1,func2) if func1 == nil then func1 = function() end end if func2 == nil then func2 = function() end end if type(func1) == "function" then return function() namers = _ENV[name] if namers ~= "开" then _ENV[name] = "开" pcall(func1) uiadtext(name.." 已开启.","#161616") else _ENV[name] = "关" pcall(func2) uiadtext(name.." 已关闭.","#545454") end end end end 颜色1 = "80C3F9" 颜色2 = "545454" function 开关2(name,func1,func2,nid) if func1 == nil then func1 = "" end if func2 == nil then func2 = "" end if type(func1) == "function" then return function() namers = _ENV[name] if namers ~= "开" then luajava.runUiThread(function() luajava.getIdValue(nid):setBackground(luajava.getBitmapDrawable("/sdcard/悠瑜/图片/check2")) end) _ENV[name] = "开" func1() uiadtext(name.." 已开启.","#161616") else luajava.runUiThread(function() luajava.getIdValue(nid):setBackground(luajava.getBitmapDrawable("/sdcard/悠瑜/图片/check1")) end) _ENV[name] = "关" func2() uiadtext(name.." 已关闭.","#545454") end end end end function launch(pkg) local loadBox = getLoadingBox('正在启动游戏') gg.setProcess(pkg) gg.sleep(500) if tostring(gg.getTargetPackage()) == pkg then gg.toast("进程已选择:"..pkg) return 0 end gg.toast("正在启动游戏...") loadBox['显示']() print(gg.isPackageInstalled(pkg)) app.start(pkg) jci=0 --gg.sleep(5000) while true do gg.setProcess(pkg) gg.sleep(400) if tostring(gg.getTargetPackage()) == pkg then gg.alert("启动成功") loadBox['关闭']() break else jci=jci+1 if jci==14 then loadBox['关闭']() gg.alert("自动获取进程失败\n请手动选择游戏进程") gg.setProcessX() break end end gg.sleep(100) end end local json =json--调用 local g = {} g.file = gg.getFile() g.sel = nil gqlb={"请先搜索歌曲",} idb={"1010"} SN,gc=1,nil g.config = gg.getFile():gsub("%lua$", "").."cfg" function bei() g.data = loadfile("-- WSG PRO 1.0.9(109)\n"..g.config) if g.data ~= nil then g.sel = g.data() g.data = nil end if g.sel == nil then g.sel = {"请输入歌曲名","10"} end end bei() --搜索歌曲 function start(name,sl) fw=gg.makeRequest("http://music.163.com/api/search/get?s="..name.."&type=1&offset=0&total=true&limit="..sl) return fw end --歌词 --播放音乐 function play(id,name) gg.toast("正在播放音乐:"..name,true) gg.playMusic("http://music.163.com/song/media/outer/url?id="..id..".mp3") end --停止播放 function stop() gg.toast("正在停止音乐") for i=1,100 do gg.playMusic("stop") gg.playMusic("stop") gg.playMusic("stop") end end ---- function Play(gqlb,idb) SN = gg.choice(gqlb,nil,ts) if SN == nil then XGCK =-1 else sn=gg.choice({"播放歌曲","播放并下载"},nil,"歌曲:"..gqlb[SN]) if sn == nil then end if sn == 1 then play(idb[SN],gqlb[SN]) end if sn == 2 then local XEY=gg.makeRequest("http://music.163.com/song/media/outer/url?id="..idb[SN]..".mp3").content local XEY1=gg.getFile():gsub("[^/]+$","")..gqlb[SN]..".mp3" io.open(XEY1,"w"):write(XEY) gg.alert("提示:\n\n音乐已成功下载位置:\n\n"..XEY1) end XGCK=-1 end end function zjson(jsonr) local str = jsonr -- 匹配Json Key的正则表达式 local pattern = "\"[%w]+\":" string.gsub(str, pattern, function(v) if string.find(str, v) then str = string.gsub(str, v, string.gsub(v, "\"", "")) end end) str = string.gsub(str, ":", "=") str = string.gsub(str, "%[", "{") str = string.gsub(str, "%]", "}") local data = "-- WSG PRO 1.0.9(109)\nreturn " .. str local res = load(data)() return res end function json(con) res=zjson(con) zd=res.result.songCount pd=go3-zd if pd <= 0 then else go3=zd end ts="《"..go1.."》找到"..zd.."首歌曲,当前显示"..go3.."首" gqlb={} idb={} for i=1,go3 do gqlb[i]=res.result.songs[i].name idb[i]=res.result.songs[i].id end --print(idb) end function YY998() Obtain=gg.makeRequest("https://api.uomg.com/api/rand.music?sort=热歌榜&format=json").content muchen=Obtain:match('url":"(.-)","picurl') gg.playMusic(muchen) end local function readD (a) return gg.getValues ( { { address = a , flags = 4 } }) [1].value end --配置 function editData(qmnb,qmxg)gg.setVisible(false)gg.clearResults()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 gg.toast(qmnbn.."开启失败")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 if xgjg==true then gg.toast(qmnbn.."开启成功")else gg.toast(qmnbn.."开启失败")end end end function readWrite(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.toast("\n"..Name.."搜索成功!\n偏移到"..#data.."条数据"..tg..th) tg_,th_=nil,nil else gg.toast("\n"..Name.."开启失败",false) return false end else gg.toast(Name.."开启失败") return false 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 gg.edits(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.toast((name or "") .. "开启成功, 共修改" .. #Table .. "个值") end function nc_offset(addr,tablex,tt) for i,v in ipairs(tablex) do if v[4]==true then gg.addListItems({{address=addr+v[3],flags=v[2],value=v[1],freeze=v[4]}})else gg.setValues({{address=addr+v[3],flags=v[2],value=v[1]}}) end end gg.toast((tt or "").."开启成功") end function getso(So_name) return gg.getRangesList(So_name)[1].start end function BaAdd(add) t=gg.getValues({[1]={address=add,flags=4}}) return t[1].value&0xFFFFFFFF end function readPointer(Add,Item) for i=1,(#Item-1) do Add=BaAdd(Add+Item[i]) end return Add+Item[#Item] end function setvalue(add,value,falgs,dj) local WY={} WY[1]={} WY[1].address=add WY[1].value=value WY[1].flags=falgs if dj==true then WY[1].freeze=true gg.addListItems(WY) else gg.setValues(WY) end end function getnc(Name,nc) local t=gg.getRangesList(Name) for i, v in ipairs(t) do if v.state==nc then return v.start end end end function SearchWrite(Search, Write, Type)gg.clearResults()gg.setVisible(false)gg.searchNumber(Search[1][1], Type)local count = gg.getResultCount()local result = gg.getResults(count)gg.clearResults()local data = {} local base = Search[1][2] if (count > 0) then for i, v in ipairs(result) do v.isUseful = true end for k=2, #Search do local tmp = {}local offset = Search[k][2] - base local num = Search[k][1] for i, v in ipairs(result) do tmp[#tmp+1] = {} tmp[#tmp].address = v.address + offset tmp[#tmp].flags = v.flags end tmp = gg.getValues(tmp) for i, v in ipairs(tmp) do if ( tostring(v.value) ~= tostring(num) ) then result[i].isUseful = false end end end for i, v in ipairs(result) do if (v.isUseful) then data[#data+1] = v.address end end if (#data > 0) then gg.toast("\n注入"..#data.."条数据") local t = {} local base = Search[1][2] for i=1, #data do for k, w in ipairs(Write) do offset = w[2] - base t[#t+1] = {} t[#t].address = data[i] + offset t[#t].flags = Type t[#t].value = w[1] if (w[3] == true) then local item = {} item[#item+1] = t[#t] item[#item].freeze = true gg.addListItems(item) end end end gg.setValues(t) else gg.toast("\n开启失败", false) return false end else gg.toast("\n开启失败")return false end end function split(szFullString, szSeparator) local nFindStartIndex = 1 local nSplitIndex = 1 local nSplitArray = {} while true do local nFindLastIndex = string.find(szFullString, szSeparator, nFindStartIndex) if not nFindLastIndex then nSplitArray[nSplitIndex] = string.sub(szFullString, nFindStartIndex, string.len(szFullString)) break end nSplitArray[nSplitIndex] = string.sub(szFullString, nFindStartIndex, nFindLastIndex - 1) nFindStartIndex = nFindLastIndex + string.len(szSeparator) nSplitIndex = nSplitIndex + 1 end return nSplitArray end function xgxc(szpy, qmxg) for x = 1, #(qmxg) do xgpy = szpy + qmxg[x]["offset"] xglx = qmxg[x]["type"] xgsz = qmxg[x]["value"] gg.setValues({[1] = {address = xgpy, flags = xglx, value = xgsz}}) xgsl = xgsl + 1 end end function xqmnb(qmnb) gg.clearResults() gg.setRanges(qmnb[1]["memory"]) gg.searchNumber(qmnb[3]["value"], qmnb[3]["type"]) if gg.getResultCount() == 0 then gg.toast(qmnb[2]["name"] .. "\n开启失败") else gg.refineNumber(qmnb[3]["value"], qmnb[3]["type"]) gg.refineNumber(qmnb[3]["value"], qmnb[3]["type"]) gg.refineNumber(qmnb[3]["value"], qmnb[3]["type"]) if gg.getResultCount() == 0 then gg.toast(qmnb[2]["name"] .. "\n开启失败") else sl = gg.getResults(999999) sz = gg.getResultCount() xgsl = 0 if sz > 999999 then sz = 999999 end for i = 1, sz do pdsz = true for v = 4, #(qmnb) do if pdsz == true then pysz = {} pysz[1] = {} pysz[1].address = sl[i].address + qmnb[v]["offset"] pysz[1].flags = qmnb[v]["type"] szpy = gg.getValues(pysz) pdpd = qmnb[v]["lv"] .. ";" .. szpy[1].value szpd = split(pdpd, ";") tzszpd = szpd[1] pyszpd = szpd[2] if tzszpd == pyszpd then pdjg = true pdsz = true else pdjg = false pdsz = false end end end if pdjg == true then szpy = sl[i].address xgxc(szpy, qmxg) xgjg = true end end if xgjg == true then gg.toast(qmnb[2]["name"] .. "\n开启成功\n注入" .. xgsl .. "\n条数据") else gg.toast(qmnb[2]["name"] .. "\n开启失败") end end end end lde={} lde.gre,lde.sbr,lde.srg,lde.crs=gg.getResults,gg.searchNumber,gg.setRanges,gg.clearResults function so(a,b,c) local cSN=gg.getRanges() lde.srg(a[3]) lde.crs() lde.sbr(a[2],a[4]) local js=gg.getResultCount() local count=lde.gre(js) lde.crs() if #count~=0 then local lode,lope,lobe={},{},{} for p=1,#b do lode[p]={} for i=1,#count do lode[p][i]={} lode[p][i].address=count[i].address+b[p][2] if not b[p][3] then b[p][3]=a[4] end lode[p][i].flags=b[p][3] end lode[p]=gg.getValues(lode[p]) db=bv(b[p][1],"~") if not db[2] then db[2]=db[1] end for i=1,#lode[p] do if tonumber(lode[p][i].value)>=tonumber(db[1]) and tonumber(lode[p][i].value)<=tonumber(db[2]) then lope[#lope+1]={} lope[#lope]=count[i] end end if #lope==0 then lde.srg(cSN) if p>11 then p=11 end return a[1].."开启失败" end count=lope lope={} end for i=1,#c do for n=1,#count do lope[#lope+1]={} lope[#lope].address=count[n].address+c[i][2] if not c[i][3] then c[i][3]=a[4] end lope[#lope].flags=c[i][3] if c[i][1] then lope[#lope].value=c[i][1] else lope[#lope].value=gg.getValues(lope)[#lope].value end if c[i][4] then lobe[#lobe+1]={} lobe[#lobe]=lope[#lope] table.remove(lope,#lope) end if c[i][4]==1 then lobe[#lobe].freeze=true else if c[i][4]==2 then lobe[#lobe].freeze=false end end if c[i][5] then lobe[#lobe].name=c[i][5] end end end gg.setValues(lope) gg.addListItems(lobe) lde.srg(cSN) return a[1].."开启成功" else lde.srg(cSN) return a[1].."开启失败" end end lde,mnsj={},{Dj="0.01",dv={},lz="/sdcard/.zbb",r={}} lde.gre,lde.sbr,lde.srg,lde.crs=gg.getResults,gg.searchNumber,gg.setRanges,gg.clearResults function lde.qb()table.remove(bc,#bc)table.remove(bc,#bc)end function bv(a,b) if not b then b=","end if not tostring(a):find(b)then return{a}end local tab={}local i=0 while true do j=string.find(a,b,i+1) if not j then table.insert(tab,a:sub(i+1,#a)) break end table.insert(tab,a:sub(i+1,j-1)) i=j end return tab 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 SearchWrite(Search, Write, Type)gg.clearResults()gg.setVisible(false)gg.searchNumber(Search[1][1], Type)local count = gg.getResultCount()local result = gg.getResults(count)gg.clearResults()local data = {} local base = Search[1][2] if (count > 0) then for i, v in ipairs(result) do v.isUseful = true end for k=2, #Search do local tmp = {}local offset = Search[k][2] - base local num = Search[k][1] for i, v in ipairs(result) do tmp[#tmp+1] = {} tmp[#tmp].address = v.address + offset tmp[#tmp].flags = v.flags end tmp = gg.getValues(tmp) for i, v in ipairs(tmp) do if ( tostring(v.value) ~= tostring(num) ) then result[i].isUseful = false end end end for i, v in ipairs(result) do if (v.isUseful) then data[#data+1] = v.address end end if (#data > 0) then gg.toast("搜索到"..#data.."条数据") local t = {} local base = Search[1][2] for i=1, #data do for k, w in ipairs(Write) do offset = w[2] - base t[#t+1] = {} t[#t].address = data[i] + offset t[#t].flags = Type t[#t].value = w[1] if (w[3] == true) then local item = {} item[#item+1] = t[#t] item[#item].freeze = true gg.addListItems(item)end end end gg.setValues(t) else gg.toast("not found", false)return false end else gg.toast("Not Found") return false end end function split(szFullString, szSeparator) local nFindStartIndex = 1 local nSplitIndex = 1 local nSplitArray = {} while true do local nFindLastIndex = string.find(szFullString, szSeparator, nFindStartIndex) if not nFindLastIndex then nSplitArray[nSplitIndex] = string.sub(szFullString, nFindStartIndex, string.len(szFullString)) break end nSplitArray[nSplitIndex] = string.sub(szFullString, nFindStartIndex, nFindLastIndex - 1) nFindStartIndex = nFindLastIndex + string.len(szSeparator) nSplitIndex = nSplitIndex + 1 end return nSplitArray end function xgxc(szpy, qmxg) for x = 1, #(qmxg) do xgpy = szpy + qmxg[x]["offset"] xglx = qmxg[x]["type"] xgsz = qmxg[x]["value"] xgdj = qmxg[x]["freeze"] if xgdj == nil or xgdj == "" then gg.setValues({[1] = {address = xgpy, flags = xglx, value = xgsz}}) else gg.addListItems({[1] = {address = xgpy, flags = xglx, freeze = xgdj, value = xgsz}}) end xgsl = xgsl + 1 xgjg = true end end function xqmnb(qmnb) gg.clearResults() gg.setRanges(qmnb[1]["memory"]) gg.searchNumber(qmnb[3]["value"], qmnb[3]["type"]) if gg.getResultCount() == 0 then gg.toast(qmnb[2]["name"] .. "开启失败") else gg.refineNumber(qmnb[3]["value"], qmnb[3]["type"]) gg.refineNumber(qmnb[3]["value"], qmnb[3]["type"]) gg.refineNumber(qmnb[3]["value"], qmnb[3]["type"]) if gg.getResultCount() == 0 then gg.toast(qmnb[2]["name"] .. "开启失败") else sl = gg.getResults(999999) sz = gg.getResultCount() xgsl = 0 if sz > 999999 then sz = 999999 end for i = 1, sz do pdsz = true for v = 4, #(qmnb) do if pdsz == true then pysz = {} pysz[1] = {} pysz[1].address = sl[i].address + qmnb[v]["offset"] pysz[1].flags = qmnb[v]["type"] szpy = gg.getValues(pysz) pdpd = qmnb[v]["lv"] .. ";" .. szpy[1].value szpd = split(pdpd, ";") tzszpd = szpd[1] pyszpd = szpd[2] if tzszpd == pyszpd then pdjg = true pdsz = true else pdjg = false pdsz = false end end end if pdjg == true then szpy = sl[i].address xgxc(szpy, qmxg) end end if xgjg == true then gg.toast(qmnb[2]["name"] .. "开启成功,已注入" .. xgsl .. "条数据") else gg.toast(qmnb[2]["name"] .. "开启失败") end end end end function setvalue(address,flags,value) PS('修改地址数值(地址,数值类型,要修改的值)') local tt={} tt[1]={} tt[1].address=address tt[1].flags=flags tt[1].value=value gg.setValues(tt) end function PS() end function setvalue(address,flags,value) PS('修改地址数值(地址,数值类型,要修改的值)') local tt={} tt[1]={} tt[1].address=address tt[1].flags=flags tt[1].value=value gg.setValues(tt) 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 recover=gg.getResults(100000) function AppSearch(SSNR,XGNR,BCNR,notWrite) gg.clearResults() gg.setRanges(SSNR["M"]) gg.searchNumber(SSNR[1]["mv"],SSNR[1]["lx"],false,gg.SIGN_EQUAL,(SSNR[1]["addr"] or nil),(SSNR[1]["toAddr"] or nil)) jg=gg.getResults(100000) local base=(SSNR[1]["offs"] or 0) local data={} if #jg==0 then gg.toast("功能名:"..(SSNR.name or "无").."\n".."修改失败\n"..(SSNR["error"] or ""))gg.loadResults(recover)return nil end for i=1,#jg do jg[i].Useful=true end for k=2,#SSNR do if not SSNR[k] then break end local content={} local offset=SSNR[k]["offs"]-base local value=SSNR[k]["sv"] local type=SSNR[k]["lx"] local to=(SSNR[k]["to"] or value) local num={} if totonumber(to) then jg[num[i]].Useful=false end end end for j=1,#jg do if jg[j].Useful==true then data[#data+1]=jg[j].address end end if #data==0 then gg.toast("功能名:"..(SSNR.name or "无").."\n".."修改失败\n"..(SSNR["error"] or ""))gg.loadResults(recover)return nil end if notWrite==true then gg.loadResults(recover)return data end if XGNR then local write={} for i=1,#data do for j=1,#XGNR do write[#write+1]={} write[#write].address=data[i]+(XGNR[j][2]-base) write[#write].flags=XGNR[j][3] write[#write].value=XGNR[j][1] write[#write].freeze=XGNR[j][4] write[#write].name=XGNR[j][5] or nil if write[#write].freeze==true then gg.addListItems({[1]=write[#write]}) else gg.setValues({[1]=write[#write]})end if XGNR[j][6]==true then gg.addListItems({[1]=write[#write]})end end end end if BCNR then local bc={}for j=1,#data do for i=1,#BCNR do bc[#bc+1]={}bc[#bc].address=data[j]+(BCNR[i][1]-base)bc[#bc].flags=BCNR[i][2]bc[#bc].name=BCNR[i][3]end end gg.addListItems(bc)end gg.toast("功能名:"..(SSNR.name or "无").."\n".."[修改成功]")gg.loadResults(recover)end lde,mnsj={},{Dj="0.01",dv={},lz="/sdcard/.zbb",r={}} lde.gre,lde.sbr,lde.srg,lde.crs=gg.getResults,gg.searchNumber,gg.setRanges,gg.clearResults function lde.qb()table.remove(bc,#bc)table.remove(bc,#bc)end function bv(a,b) if not b then b=","end if not tostring(a):find(b)then return{a}end local tab={}local i=0 while true do j=string.find(a,b,i+1) if not j then table.insert(tab,a:sub(i+1,#a)) break end table.insert(tab,a:sub(i+1,j-1)) i=j end return tab end function so(a,b,c) local cSN=gg.getRanges() gg.setVisible(false) lde.srg(a[3]) lde.crs() lde.sbr(a[2],a[4]) local js=gg.getResultCount() local count=lde.gre(js) lde.crs() if #count~=0 then local lode,lope,lobe={},{},{} for p=1,#b do lode[p]={} for i=1,#count do lode[p][i]={} lode[p][i].address=count[i].address+b[p][2] if not b[p][3]then b[p][3]=a[4]end lode[p][i].flags=b[p][3]end lode[p]=gg.getValues(lode[p]) db=bv(b[p][1],"~") if not db[2]then db[2]=db[1]end for i=1,#lode[p] do if tonumber(lode[p][i].value)>=tonumber(db[1]) and tonumber(lode[p][i].value)<=tonumber(db[2]) then lope[#lope+1]={} lope[#lope]=count[i] end end if #lope==0 then lde.srg(cSN)if p>11 then p=11 end return "开启失败" end count=lope lope={}end for i=1,#c do for n=1,#count do lope[#lope+1]={} lope[#lope].address=count[n].address+c[i][2] if not c[i][3]then c[i][3]=a[4]end lope[#lope].flags=c[i][3] if c[i][1] then lope[#lope].value=c[i][1] else lope[#lope].value=gg.getValues(lope)[#lope].value end if c[i][4] then lobe[#lobe+1]={} lobe[#lobe]=lope[#lope] table.remove(lope,#lope) end if c[i][4]==1 then lobe[#lobe].freeze=true elseif c[i][4]==2 then lobe[#lobe].freeze=false end if c[i][5] then lobe[#lobe].name=c[i][5] end end end gg.setValues(lope) gg.addListItems(lobe) lde.srg(cSN) return a[1].."开启成功" else lde.srg(cSN) return a[1].."开启失败!!!" end end function SearchWrite(tb1, tb2, dataType, Name) local lt1={} local lt2={} local mm1={["主特征码"] = tb1[1][1],["类型"] = dataType } table.insert(lt1,1,mm1) for i=2 , #tb1 do local mm2={["副特征码"] = tb1[i][1],["偏移"] = tb1[i][2]} table.insert(lt1,i,mm2) end for i=1 , #tb2 do if tb2[i][2]~=nil then local mm3={["修改"] = tb2[i][1],["偏移"] = tb2[i][2]} table.insert(lt2,i,mm3) else local mm3={["修改"] = false,["偏移"] = tb2[i][1]} table.insert(lt2,i,mm3) end end LongTao(lt1, lt2 ) end function LongTao(Search, Write) gg.clearResults() gg.setVisible(false) lx=Search[1]["类型"] gg.searchNumber(Search[1]["主特征码"], lx) local count = gg.getResultCount() local result = gg.getResults(count) gg.clearResults() local data = {} if (count > 0) then gg.toast("共搜索 "..count.." 条数据") for i, v in ipairs(result) do v.isUseful = true end for k=2, #Search do local tmp = {} local num = Search[k]["副特征码"] if Search[k]["类型"]~= nil then lx =Search[k]["类型"] else lx = Search[1]["类型"] end for i, v in ipairs(result) do tmp[#tmp+1] = {} tmp[#tmp].address = v.address + Search[k]["偏移"] tmp[#tmp].flags = lx end tmp = gg.getValues(tmp) for i, v in ipairs(tmp) do if ( tostring(v.value) ~= tostring(num) ) then result[i].isUseful = false end end end for i, v in ipairs(result) do if (v.isUseful) then data[#data+1] = v.address end end if (#data > 0) then local t = {} for i=1, #data do for k, w in ipairs(Write) do if w["类型"] ~= nil then lx = w["类型"] else lx = Search[1]["类型"] end t[#t+1] = {} t[#t].address = data[i] + w["偏移"] t[#t].flags = lx if (w["修改"]~=nil) and (w["修改"]~=false) then t[#t].value = w["修改"] gg.setValues(t) if (w["冻结"] == true) then local item = {} item[#item+1] = t[#t] item[#item].freeze = w["冻结"] gg.addListItems(item) end end end end gg.loadResults(t) gg.toast("共偏移η"..#t.." 条数据ΔΘ") else gg.toast("未定位到数据!") return false end else gg.toast("未定位到数据!") return false end end local app = {} function Assert(data) if data == nil or data == "" or data == "nil" then return false else return true end end function mearrass(memory, array) if Assert(memory) and Assert(array) then return true else return false end end function typetab(array, type) local datatype = {} for i = 1, #array do if Assert(array[i].type) then table.insert(datatype, i, array[i].type) else if Assert(type) then table.insert(datatype, i, type) else return false end end end return true, datatype end function app.memorysearch(memory, array, type) gg.setVisible(false) local isok = mearrass(memory, array) if isok then local isok, datatype = typetab(array, type) if isok then if Assert(array[1].hv) then gg.clearResults() gg.setRanges(memory) gg.searchNumber(array[1].lv .. "~" .. array[1].hv, datatype[1]) else gg.clearResults() gg.setRanges(memory) gg.searchNumber(array[1].lv, datatype[1]) end if gg.getResultCount() == 0 then return false else local tab = {} local data = gg.getResults(gg.getResultCount()) gg.clearResults() for i = 1, #data do data[i].isok = true end for i = 2, #array do local t = {} local offset = array[i].offset for x = 1, #data do t[#t + 1] = {} t[#t].address = data[x].address + offset t[#t].flags = datatype[i] end local t = gg.getValues(t) for z = 1, #t do if Assert(array[i].hv) then if tonumber(t[z].value) < tonumber(array[i].lv) or tonumber(t[z].value) > tonumber(array[i].hv) then data[z].isok = false end else if tostring(t[z].value) ~= tostring(array[i].lv) then data[z].isok = false end end end end for i = 1, #data do if data[i].isok then tab[#tab + 1] = data[i].address end end if #tab > 0 then return true, tab else return false end end else print("type参数错误") gg.toast("type参数错误") os.exit() end else print("memory or array参数错误") gg.toast("memory or array参数错误") os.exit() end end function app.memoryread(addr, type) local t = {} t[1] = {} t[1].address = addr t[1].flags = type if #t > 0 then return true, gg.getValues(t)[1].value else return false end end function app.memorywrite(addr, type, value, freeze) local t = {} t[1] = {} t[1].address = addr t[1].flags = type t[1].value = value if #t > 0 then if Assert(freeze) then t[1].freeze = freeze return gg.addListItems(t) else return gg.setValues(t) end else return false 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 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.toast((name or "") .. "开启成功, 共修改"..#Table.."个值") end function fastsearch(search, write)gg.setVisible(false)gg.clearResults()gg.setRanges(search[1][3])gg.searchNumber(search[1][1], search[1][2])if gg.getResultsCount() == 0 then return false else local result = gg.getResults(gg.getResultsCount())gg.clearResults()for i = 2, #search do local mtp = {}for w, r in ipairs(result) do mtp[#mtp + 1] = { address = r.address + search[i][2], flags = search[i][3] }end mtp = gg.getValues(mtp)local hook = {}for w, r in ipairs(mtp) do if r.value == search[i][1] then hook[#hook + 1] = result[w]end end result = hook end if #result > 0 then local tb = {{}, {}}for i, v in ipairs(result) do for _, vv in ipairs(write) do local p = {address = v.address + vv[2], flags = vv[3], value = vv[1], freeze = vv[4]}if vv[4] then table.insert(tb[2], p)else table.insert(tb[1], p)end end end gg.addListItems(tb[2])gg.setValues(tb[1])gg.toast("修改成功注入了" .. (#tb[1] + #tb[2]) .. "条数据")else end end end function Address(adds,offset,chang,value,flags,freeze,save,name)local add=gg.getRangesList(adds)[1]["start"]+offset local data={{["address"]=add,["value"]=value,["flags"]=flags,["freeze"]=freeze}}if chang==true then gg.setValues(data)end if freeze or save ==true then gg.addListItems(data)end if name~="false" then gg.toast("["..name.."]已注入")end end uper ='启动'i='再次遇到你应该是什么时候呢 启动时长:5201314秒'print(i) t=1 function SearchWrite(tb1, tb2, dataType, Name) local lt1={} local lt2={} local mm1={["主特征码"] = tb1[1][1],["类型"] = dataType } table.insert(lt1,1,mm1) for i=2 , #tb1 do local mm2={["副特征码"] = tb1[i][1],["偏移"] = tb1[i][2]} table.insert(lt1,i,mm2) end for i=1 , #tb2 do if tb2[i][2]~=nil then local mm3={["修改"] = tb2[i][1],["偏移"] = tb2[i][2]} table.insert(lt2,i,mm3) else local mm3={["修改"] = false,["偏移"] = tb2[i][1]} table.insert(lt2,i,mm3) end end LongTao(lt1, lt2 ) end function so(a,b,c) local csn=gg.getRanges() gg.setVisible(false) lde.srg(a[3]) lde.crs() lde.sbr(a[2],a[4]) local js=gg.getResultCount() local count=lde.gre(js) lde.crs() if #count~=0 then local lode,lope,lobe={},{},{} for p=1,#b do lode[p]={} for i=1,#count do lode[p][i]={} lode[p][i].address=count[i].address+b[p][2] if not b[p][3]then b[p][3]=a[4]end lode[p][i].flags=b[p][3]end lode[p]=gg.getValues(lode[p]) db=bv(b[p][1],"~") if not db[2]then db[2]=db[1]end for i=1,#lode[p] do if tonumber(lode[p][i].value)>=tonumber(db[1]) and tonumber(lode[p][i].value)<=tonumber(db[2]) then lope[#lope+1]={} lope[#lope]=count[i] end end if #lope==0 then lde.srg(csn)if p>11 then p=11 end return "开启失败" end count=lope lope={}end for i=1,#c do for n=1,#count do lope[#lope+1]={} lope[#lope].address=count[n].address+c[i][2] if not c[i][3]then c[i][3]=a[4]end lope[#lope].flags=c[i][3] if c[i][1] then lope[#lope].value=c[i][1] else lope[#lope].value=gg.getValues(lope)[#lope].value end if c[i][4] then lobe[#lobe+1]={} lobe[#lobe]=lope[#lope] table.remove(lope,#lope) end if c[i][4]==1 then lobe[#lobe].freeze=true elseif c[i][4]==2 then lobe[#lobe].freeze=false end if c[i][5] then lobe[#lobe].name=c[i][5] end end end gg.setValues(lope) gg.addListItems(lobe) lde.srg(csn) return a[1].."开启成功,共修改1个数值" else lde.srg(csn) return a[1].."开启失败!!!" end end function LongTao(Search, Write) gg.clearResults() gg.setVisible(false) lx=Search[1]["类型"] gg.searchNumber(Search[1]["主特征码"], lx) local count = gg.getResultCount() local result = gg.getResults(count) gg.clearResults() local data = {} if (count > 0) then for i, v in ipairs(result) do v.isUseful = true end for k=2, #Search do local tmp = {} local num = Search[k]["副特征码"] if Search[k]["类型"]~= nil then lx =Search[k]["类型"] else lx = Search[1]["类型"] end for i, v in ipairs(result) do tmp[#tmp+1] = {} tmp[#tmp].address = v.address + Search[k]["偏移"] tmp[#tmp].flags = lx end tmp = gg.getValues(tmp) for i, v in ipairs(tmp) do if ( tostring(v.value) ~= tostring(num) ) then result[i].isUseful = false end end end for i, v in ipairs(result) do if (v.isUseful) then data[#data+1] = v.address end end if (#data > 0) then local t = {} for i=1, #data do for k, w in ipairs(Write) do if w["类型"] ~= nil then lx = w["类型"] else lx = Search[1]["类型"] end t[#t+1] = {} t[#t].address = data[i] + w["偏移"] t[#t].flags = lx if (w["修改"]~=nil) and (w["修改"]~=false) then t[#t].value = w["修改"] gg.setValues(t) if (w["冻结"] == true) then local item = {} item[#item+1] = t[#t] item[#item].freeze = w["冻结"] gg.addListItems(item) end end end end gg.loadResults(t) gg.toast("共搜索"..#t.." 条数据") else gg.toast("开启失败") return false end else gg.toast("开启失败") return false end end local app = {} function Assert(data) if data == nil or data == "" or data == "nil" then return false else return true end end function mearrass(memory, array) if Assert(memory) and Assert(array) then return true else return false end end function typetab(array, type) local datatype = {} for i = 1, #array do if Assert(array[i].type) then table.insert(datatype, i, array[i].type) else if Assert(type) then table.insert(datatype, i, type) else return false end end end return true, datatype end function app.memorysearch(memory, array, type) gg.setVisible(false) local isok = mearrass(memory, array) if isok then local isok, datatype = typetab(array, type) if isok then if Assert(array[1].hv) then gg.clearResults() gg.setRanges(memory) gg.searchNumber(array[1].lv .. "~" .. array[1].hv, datatype[1]) else gg.clearResults() gg.setRanges(memory) gg.searchNumber(array[1].lv, datatype[1]) end if gg.getResultCount() == 0 then return false else local tab = {} local data = gg.getResults(gg.getResultCount()) gg.clearResults() for i = 1, #data do data[i].isok = true end for i = 2, #array do local t = {} local offset = array[i].offset for x = 1, #data do t[#t + 1] = {} t[#t].address = data[x].address + offset t[#t].flags = datatype[i] end local t = gg.getValues(t) for z = 1, #t do if Assert(array[i].hv) then if tonumber(t[z].value) < tonumber(array[i].lv) or tonumber(t[z].value) > tonumber(array[i].hv) then data[z].isok = false end else if tostring(t[z].value) ~= tostring(array[i].lv) then data[z].isok = false end end end end for i = 1, #data do if data[i].isok then tab[#tab + 1] = data[i].address end end if #tab > 0 then return true, tab else return false end end else print("type错误") gg.toast("type错误") os.exit() end else print("错误") gg.toast("错误") os.exit() end end function app.memoryread(addr, type) local t = {} t[1] = {} t[1].address = addr t[1].flags = type if #t > 0 then return true, gg.getValues(t)[1].value else return false end end function app.memorywrite(addr, type, value, freeze) local t = {} t[1] = {} t[1].address = addr t[1].flags = type t[1].value = value if #t > 0 then if Assert(freeze) then t[1].freeze = freeze return gg.addListItems(t) else return gg.setValues(t) end else return false end end lde,mnsj={},{Dj="0.01",dv={},lz="/sdcard/.zbb",r={}} lde.gre,lde.sbr,lde.srg,lde.crs=gg.getResults,gg.searchNumber,gg.setRanges,gg.clearResults function lde.qb()table.remove(bc,#bc)table.remove(bc,#bc)end function bv(a,b) if not b then b=","end if not tostring(a):find(b)then return{a}end local tab={}local i=0 while true do j=string.find(a,b,i+1) if not j then table.insert(tab,a:sub(i+1,#a)) break end table.insert(tab,a:sub(i+1,j-1)) i=j end return tab end function so(a,b,c) local csn=gg.getRanges() gg.setVisible(false) lde.srg(a[3]) lde.crs() lde.sbr(a[2],a[4]) local js=gg.getResultCount() local count=lde.gre(js) lde.crs() if #count~=0 then local lode,lope,lobe={},{},{} for p=1,#b do lode[p]={} for i=1,#count do lode[p][i]={} lode[p][i].address=count[i].address+b[p][2] if not b[p][3]then b[p][3]=a[4]end lode[p][i].flags=b[p][3]end lode[p]=gg.getValues(lode[p]) db=bv(b[p][1],"~") if not db[2]then db[2]=db[1]end for i=1,#lode[p] do if tonumber(lode[p][i].value)>=tonumber(db[1]) and tonumber(lode[p][i].value)<=tonumber(db[2]) then lope[#lope+1]={} lope[#lope]=count[i] end end if #lope==0 then lde.srg(csn)if p>11 then p=11 end return "开启失败" end count=lope lope={}end for i=1,#c do for n=1,#count do lope[#lope+1]={} lope[#lope].address=count[n].address+c[i][2] if not c[i][3]then c[i][3]=a[4]end lope[#lope].flags=c[i][3] if c[i][1] then lope[#lope].value=c[i][1] else lope[#lope].value=gg.getValues(lope)[#lope].value end if c[i][4] then lobe[#lobe+1]={} lobe[#lobe]=lope[#lope] table.remove(lope,#lope) end if c[i][4]==1 then lobe[#lobe].freeze=true elseif c[i][4]==2 then lobe[#lobe].freeze=false end if c[i][5] then lobe[#lobe].name=c[i][5] end end end gg.setValues(lope) gg.addListItems(lobe) lde.srg(csn) return a[1].."开启成功" else lde.srg(csn) return a[1].."开启失败!!!" end end function xe(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 gg.edits(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.toast((name or "") .. "开启成功, 共修改"..#Table.."个值") end function readValue(read) local bf={} for i,v in ipairs(read) do bf[i]={address=v[1],flags=v[2]} end bf=gg.getValues(bf) for i=1,#bf do bf[i]=bf[i].value end return bf end function gg.edits(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.toast((name or "") .. "开启成功, 共修改"..#Table.."个值") end local sod,so_bss,xdd='libil2cpp.so','libil2cpp.soo:bss',gg.getRangesList("libil2cpp.so:bss") function xe(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 gg.edits(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.toast((name or "") .. "开启成功, 共修改"..#Table.."个值") end function gg.edits(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.toast((name or "") .. "开启成功") end function gg.Hjkl(value) local GT=gg.getListItems() local t={} for i,v in pairs(GT) do if v.value==value then table.insert(t,v) end end gg.removeListItems(t) end function hqmz(a) local b='' for i=1,999 do local c=gg.getValues({{address=a+(i-1)*1,flags=1}})[1].value if c==0 then break end b=b..string.char(c<0 and 256+c or c) end if b=='' then local b else return b end end function WX(qmnb,qmxg)gg.setVisible(false)gg.clearResults()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 gg.toast(qmnbn.."开启失败,请尝试更换房间")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 if xgjg==true then gg.toast(qmnbn.."开启成功,请切换一下物品\n 共注入 1 条冻结数据")else gg.toast(qmnbn.."开启失败,请尝试更换房间")end end end function XE(qmnb,qmxg)gg.setVisible(false)gg.clearResults()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 gg.toast(qmnbn.."开启失败,请尝试重启游戏")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 if xgjg==true then gg.toast(qmnbn.."开启成功\n 共注入 1 条数据")else gg.toast(qmnbn.."开启失败,请尝试重启游戏")end end end function CA(qmnb,qmxg)gg.setVisible(false)gg.clearResults()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 gg.toast(qmnbn.."开启失败,请尝试重启游戏")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 if xgjg==true then gg.toast(qmnbn.."开启成功\n 共注入 1 条数据")else gg.toast(qmnbn.."开启失败,请尝试重启游戏")end end end function split(szFullString, szSeparator) local nFindStartIndex = 1 local nSplitIndex = 1 local nSplitArray = {} while true do local nFindLastIndex = string.find(szFullString, szSeparator, nFindStartIndex) if not nFindLastIndex then nSplitArray[nSplitIndex] = string.sub(szFullString, nFindStartIndex, string.len(szFullString)) break end nSplitArray[nSplitIndex] = string.sub(szFullString, nFindStartIndex, nFindLastIndex - 1) nFindStartIndex = nFindLastIndex + string.len(szSeparator) nSplitIndex = nSplitIndex + 1 end return nSplitArray end function xgxc(szpy, qmxg) for x = 1, #(qmxg) do xgpy = szpy + qmxg[x]['offset'] xglx = qmxg[x]['type'] xgsz = qmxg[x]['value'] xgdj = qmxg[x]['freeze'] if xgdj == nil or xgdj == '' then gg.setValues({[1] = {address = xgpy, flags = xglx, value = xgsz}}) else gg.addListItems({[1] = {address = xgpy, flags = xglx, freeze = xgdj, value = xgsz}}) end xgsl = xgsl + 1 xgjg = true end end function xqmnb(qmnb) gg.clearResults() gg.setRanges(qmnb[1]['memory']) gg.searchNumber(qmnb[3]['value'], qmnb[3]['type']) if gg.getResultCount() == 0 then gg.toast(''..qmnb[2]['name'] .. '修改失败') else gg.refineNumber(qmnb[3]['value'], qmnb[3]['type']) gg.refineNumber(qmnb[3]['value'], qmnb[3]['type']) gg.refineNumber(qmnb[3]['value'], qmnb[3]['type']) if gg.getResultCount() == 0 then gg.toast('id'..qmnb[2]['name'] .. '开启失败') else sl = gg.getResults(999999) sz = gg.getResultCount() xgsl = 0 if sz > 999999 then sz = 999999 end for i = 1, sz do pdsz = true for v = 4, #(qmnb) do if pdsz == true then pysz = {} pysz[1] = {} pysz[1].address = sl[i].address + qmnb[v]['offset'] pysz[1].flags = qmnb[v]['type'] szpy = gg.getValues(pysz) pdpd = qmnb[v]['lv'] .. ';' .. szpy[1].value szpd = split(pdpd, ';') tzszpd = szpd[1] pyszpd = szpd[2] if tzszpd == pyszpd then pdjg = true pdsz = true else pdjg = false pdsz = false end end end if pdjg == true then szpy = sl[i].address xgxc(szpy, qmxg) end end if xgjg == true then gg.toast('云端:\n'..qmnb[2]['name']..'成功共修改' .. xgsl .. '条数据') else gg.toast('云端:\n'..qmnb[2]['name'] .. '开启失败') end end end end --[[配置1]]function js(address,flags,value) local jz={} jz[1]={} jz[1].address=address jz[1].flags=flags jz[1].value=value gg.setValues(jz) end --[[配置2]]function jz(py,xl,xgsz) flags=xl value=xgsz so=gg.getRangesList(''..name..'')[1].start js(so+py,xl,xgsz) 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 recover=gg.getResults(100000) function AppSearch(SSNR,XGNR,BCNR,notWrite) gg.clearResults() gg.setRanges(SSNR["M"]) gg.searchNumber(SSNR[1]["mv"],SSNR[1]["lx"],false,gg.SIGN_EQUAL,(SSNR[1]["addr"] or nil),(SSNR[1]["toAddr"] or nil)) jg=gg.getResults(100000) local base=(SSNR[1]["offs"] or 0) local data={} if #jg==0 then gg.alert("功能名:"..(SSNR.name or "无").."\n".."修改失败\n"..(SSNR["error"] or "")) gg.loadResults(recover) return nil end for i=1,#jg do jg[i].Useful=true end for k=2,#SSNR do if not SSNR[k] then break end local content={} local offset=SSNR[k]["offs"]-base local value=SSNR[k]["sv"] local type=SSNR[k]["lx"] local to=(SSNR[k]["to"] or value) local num={} if totonumber(to) then jg[num[i]].Useful=false end end end for j=1,#jg do if jg[j].Useful==true then data[#data+1]=jg[j].address end end if #data==0 then gg.alert("功能名:"..(SSNR.name or "无").."\n".."修改失败\n"..(SSNR["error"] or "")) gg.loadResults(recover) return nil end if notWrite==true then gg.loadResults(recover) return data end if XGNR then local write={} for i=1,#data do for j=1,#XGNR do write[#write+1]={} write[#write].address=data[i]+(XGNR[j][2]-base) write[#write].flags=XGNR[j][3] write[#write].value=XGNR[j][1] write[#write].freeze=XGNR[j][4] write[#write].name=XGNR[j][5] or nil if write[#write].freeze==true then gg.addListItems({[1]=write[#write]}) else gg.setValues({[1]=write[#write]}) end if XGNR[j][6]==true then gg.addListItems({[1]=write[#write]}) end end end end if BCNR then local bc={} for j=1,#data do for i=1,#BCNR do bc[#bc+1]={} bc[#bc].address=data[j]+(BCNR[i][1]-base) bc[#bc].flags=BCNR[i][2] bc[#bc].name=BCNR[i][3] end end gg.addListItems(bc) end gg.toast("功能名:"..(SSNR.name or "无").."\n".."修改成功") gg.loadResults(recover) end recover=gg.getResults(100000) function AppSearch(SSNR,XGNR,BCNR,notWrite) gg.clearResults() gg.setRanges(SSNR["M"]) gg.searchNumber(SSNR[1]["mv"],SSNR[1]["lx"],false,gg.SIGN_EQUAL,(SSNR[1]["addr"] or nil),(SSNR[1]["toAddr"] or nil)) jg=gg.getResults(100000) local base=(SSNR[1]["offs"] or 0) local data={} if #jg==0 then gg.toast("功能名:"..(SSNR.name or "无").."\n".."修改失败\n"..(SSNR["error"] or "")) gg.loadResults(recover) return nil end for i=1,#jg do jg[i].Useful=true end for k=2,#SSNR do if not SSNR[k] then break end local content={} local offset=SSNR[k]["offs"]-base local value=SSNR[k]["sv"] local type=SSNR[k]["lx"] local to=(SSNR[k]["to"] or value) local num={} if totonumber(to) then jg[num[i]].Useful=false end end --↑ end for j=1,#jg do if jg[j].Useful==true then data[#data+1]=jg[j].address end end if #data==0 then gg.toast("功能名:"..(SSNR.name or "无").."\n".."修改失败\n"..(SSNR["error"] or "")) gg.loadResults(recover) return nil end if notWrite==true then gg.loadResults(recover) return data end if XGNR then local write={} for i=1,#data do for j=1,#XGNR do write[#write+1]={} write[#write].address=data[i]+(XGNR[j][2]-base) write[#write].flags=XGNR[j][3] write[#write].value=XGNR[j][1] write[#write].freeze=XGNR[j][4] write[#write].name=XGNR[j][5] or nil if write[#write].freeze==true then gg.addListItems({[1]=write[#write]}) else gg.setValues({[1]=write[#write]}) end if XGNR[j][6]==true then gg.addListItems({[1]=write[#write]}) end end end end if BCNR then local bc={} for j=1,#data do for i=1,#BCNR do bc[#bc+1]={} bc[#bc].address=data[j]+(BCNR[i][1]-base) bc[#bc].flags=BCNR[i][2] bc[#bc].name=BCNR[i][3] end end gg.addListItems(bc) end gg.toast("功能名:"..(SSNR.name or "无").."\n".."修改成功") gg.loadResults(recover) 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 split(szFullString, szSeparator) local nFindStartIndex = 1 local nSplitIndex = 1 local nSplitArray = {} while true do local nFindLastIndex = string.find(szFullString, szSeparator, nFindStartIndex) if not nFindLastIndex then nSplitArray[nSplitIndex] = string.sub(szFullString, nFindStartIndex, string.len(szFullString)) break end nSplitArray[nSplitIndex] = string.sub(szFullString, nFindStartIndex, nFindLastIndex - 1) nFindStartIndex = nFindLastIndex + string.len(szSeparator) nSplitIndex = nSplitIndex + 1 end return nSplitArray end function xgxc(szpy, qmxg) for x = 1, #(qmxg) do xgpy = szpy + qmxg[x]["offset"] xglx = qmxg[x]["type"] xgsz = qmxg[x]["value"] gg.setValues({[1] = {address = xgpy, flags = xglx, value = xgsz}}) xgsl = xgsl + 1 end end function xqmnb(qmnb) gg.clearResults() gg.setRanges(qmnb[1]["memory"]) gg.searchNumber(qmnb[3]["value"], qmnb[3]["type"]) if gg.getResultCount() == 0 then gg.toast(qmnb[2]["name"] .. "开启失败") else gg.refineNumber(qmnb[3]["value"], qmnb[3]["type"]) gg.refineNumber(qmnb[3]["value"], qmnb[3]["type"]) gg.refineNumber(qmnb[3]["value"], qmnb[3]["type"]) if gg.getResultCount() == 0 then gg.toast(qmnb[2]["name"] .. "开启失败") else sl = gg.getResults(999999) sz = gg.getResultCount() xgsl = 0 if sz > 999999 then sz = 999999 end for i = 1, sz do pdsz = true for v = 4, #(qmnb) do if pdsz == true then pysz = {} pysz[1] = {} pysz[1].address = sl[i].address + qmnb[v]["offset"] pysz[1].flags = qmnb[v]["type"] szpy = gg.getValues(pysz) pdpd = qmnb[v]["lv"] .. ";" .. szpy[1].value szpd = split(pdpd, ";") tzszpd = szpd[1] pyszpd = szpd[2] if tzszpd == pyszpd then pdjg = true pdsz = true else pdjg = false pdsz = false end end end if pdjg == true then szpy = sl[i].address xgxc(szpy, qmxg) xgjg = true end end if xgjg == true then gg.toast(qmnb[2]["name"] .. "开启成功,共修改" .. xgsl .. "条数据") else gg.toast(qmnb[2]["name"] .. "开启失败") end end end end function gg.Hjkl(value) local GT=gg.getListItems() local t={} for i,v in pairs(GT) do if v.value==value then table.insert(t,v) end end gg.removeListItems(t) end function hqmz(a) local b='' for i=1,999 do local c=gg.getValues({{address=a+(i-1)*1,flags=1}})[1].value if c==0 then break end b=b..string.char(c<0 and 256+c or c) end if b=='' then local b else return b end end function ntrp(add,se,flags) gg.setValues({{address=add,flags=flags or 16,value=se}}) end function nty(addr,flags) add=gg.getValues({{address=addr,flags=flags or 32}})[1].value return add end function Get_Text(add) local b='' for i=1,999 do local c=gg.getValues({{address=add+(i-1)*1,flags=1}})[1].value if c==0 then break end b=b..string.char(c<0 and 256+c or c) end if b=='' then local b else return b end end function Get_Addr(add,flags) return gg.getValues({{address=add or 0,flags=flags or 4}})[1].address end function Get_Value(add,flags) return gg.getValues({{address=add or 0,flags=flags or 4}})[1].value end function Search(read,Memory) gg.clearResults() gg.setVisible(false) gg.setRanges(Memory) gg.searchNumber(read[1],read[2]) if gg.getResultCount()==0 then gg.toast("开启失败") return false end end function doAction(method) load(method .. "()")() end --[so,基址,仿xs,改分数,搜全员,GT等配置] function remove(value) local GT=gg.getListItems() local t={} for i,v in pairs(GT) do if v.value==value then table.insert(t,v) end end gg.removeListItems(t) 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 nc_offset(addr, tablex, tt) local sjyy= cnm[math.random(1,#cnm)] local g=os.clock() for i, v in ipairs(tablex) do if v[4] == true then gg.addListItems({{address = addr + v[3], flags = v[2], value = v[1], freeze = v[4]}}) else gg.setValues({{address = addr + v[3], flags = v[2], value = v[1]}}) end end gg.toast((tt or "") .. "开启成功\n用时:"..os.clock()-g.."秒\n"..sjyy.."") end function getso(So_name) return gg.getRangesList(So_name)[1].start end cnm={"-"} 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 lde,mnsj={},{Dj="0.01",dv={},lz="/sdcard/.zbb",r={}} lde.gre,lde.sbr,lde.srg,lde.crs=gg.getResults,gg.searchNumber,gg.setRanges,gg.clearResults function lde.qb()table.remove(bc,#bc)table.remove(bc,#bc)end function bv(a,b) if not b then b=","end if not tostring(a):find(b)then return{a}end local tab={}local i=0 while true do j=string.find(a,b,i+1) if not j then table.insert(tab,a:sub(i+1,#a)) break end table.insert(tab,a:sub(i+1,j-1)) i=j end return tab end function so(a,b,c) local csn=gg.getRanges() gg.setVisible(false) lde.srg(a[3]) lde.crs() lde.sbr(a[2],a[4]) local js=gg.getResultCount() local count=lde.gre(js) lde.crs() if #count~=0 then local lode,lope,lobe={},{},{} for p=1,#b do lode[p]={} for i=1,#count do lode[p][i]={} lode[p][i].address=count[i].address+b[p][2] if not b[p][3]then b[p][3]=a[4]end lode[p][i].flags=b[p][3]end lode[p]=gg.getValues(lode[p]) db=bv(b[p][1],"~") if not db[2]then db[2]=db[1]end for i=1,#lode[p] do if tonumber(lode[p][i].value)>=tonumber(db[1]) and tonumber(lode[p][i].value)<=tonumber(db[2]) then lope[#lope+1]={} lope[#lope]=count[i] end end if #lope==0 then lde.srg(csn)if p>11 then p=11 end return "开启失败" end count=lope lope={}end for i=1,#c do for n=1,#count do lope[#lope+1]={} lope[#lope].address=count[n].address+c[i][2] if not c[i][3]then c[i][3]=a[4]end lope[#lope].flags=c[i][3] if c[i][1] then lope[#lope].value=c[i][1] else lope[#lope].value=gg.getValues(lope)[#lope].value end if c[i][4] then lobe[#lobe+1]={} lobe[#lobe]=lope[#lope] table.remove(lope,#lope) end if c[i][4]==1 then lobe[#lobe].freeze=true elseif c[i][4]==2 then lobe[#lobe].freeze=false end if c[i][5] then lobe[#lobe].name=c[i][5] end end end gg.setValues(lope) gg.addListItems(lobe) lde.srg(csn) return a[1].."开启成功" else lde.srg(csn) return a[1].."开启失败!!!" 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 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 end return _S end local _A = string.format('0x%X', Get_Address(t_So, t_Offset, _bit)) return _A end --Xe写法配置 function xe(name,offset,i) local re=gg.getRangesList(name) 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=32}}) addr=addr[1].value+offset[i] end return addr end end function gg.edits(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]) if name then gg.toast((name or "") .. "开启成功") end end --xs写法配置 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 gg.toast(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.toast(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.toast(Search[2].name..'开启成功,共修改'..sum..'条数据') else gg.toast(Search[2].name..'开启成功,共修改'..sum..'条数据,冻结'..Freezes..'条数据') end gg.clearResults() end --其他写法配置 function readWrite(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.xynb(t_) gg.toast("\n"..Name.."搜索成功!\n偏移到"..#data.."条数据"..tg..th) tg_,th_=nil,nil else gg.toast("\n"..Name.."开启失败",false) return false end else gg.toast(Name.."开启失败") return false end 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 gg.FMatrix(value) local GT=gg.getListItems() local t={} for i,v in pairs(GT) do if v.value==value then table.insert(t,v) end end gg.removeListItems(t)end function PS() end function setvalue(address,flags,value) PS('修改地址数值(地址,数值类型,要修改的值)') local tt={} tt[1]={} tt[1].address=address tt[1].flags=flags tt[1].value=value gg.setValues(tt)end function AppSearch(SSNR,XGNR,BCNR,notWrite)gg.clearResults()gg.setRanges(SSNR["M"])gg.searchNumber(SSNR[1]["mv"],SSNR[1]["lx"],false,gg.SIGN_EQUAL,(SSNR[1]["addr"] or nil),(SSNR[1]["toAddr"] or nil))jg=gg.getResults(100000)local base=(SSNR[1]["offs"] or 0)local data={}if #jg==0 then gg.toast("功能名:"..(SSNR.name or "无").."\n".."修改失败\n"..(SSNR["error"] or ""))gg.loadResults(recover)return nil end for i=1,#jg do jg[i].Useful=true end for k=2,#SSNR do if not SSNR[k] then break end local content={} local offset=SSNR[k]["offs"]-base local value=SSNR[k]["sv"] local type=SSNR[k]["lx"] local to=(SSNR[k]["to"] or value) local num={}if totonumber(to) then jg[num[i]].Useful=false end end end for j=1,#jg do if jg[j].Useful==true then data[#data+1]=jg[j].address end end if #data==0 then gg.toast("功能名:"..(SSNR.name or "无").."\n".."修改失败\n"..(SSNR["error"] or ""))gg.loadResults(recover)return nil end if notWrite==true then gg.loadResults(recover)return data end if XGNR then local write={} for i=1,#data do for j=1,#XGNR do write[#write+1]={}write[#write].address=data[i]+(XGNR[j][2]-base)write[#write].flags=XGNR[j][3]write[#write].value=XGNR[j][1]write[#write].freeze=XGNR[j][4]write[#write].name=XGNR[j][5] or nil if write[#write].freeze==true then gg.addListItems({[1]=write[#write]})else gg.setValues({[1]=write[#write]})end if XGNR[j][6]==true then gg.addListItems({[1]=write[#write]})end end end end if BCNR then local bc={}for j=1,#data do for i=1,#BCNR do bc[#bc+1]={} bc[#bc].address=data[j]+(BCNR[i][1]-base) bc[#bc].flags=BCNR[i][2]bc[#bc].name=BCNR[i][3]end end gg.addListItems(bc)end gg.toast("功能名:"..(SSNR.name or "无").."\n".."修改成功") gg.loadResults(recover)end function editData(qmnb,qmxg)gg.setVisible(false)gg.clearResults()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 gg.toast(qmnbn.."开启失败")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 if xgjg==true then gg.toast(qmnbn.."开启成功")else gg.toast(qmnbn.."开启失败")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 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 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 end return _S end local _A=string.format('0x%X', Get_Address(t_So,t_Offset,_bit))return _A end local tarAddr = nil local function readPtrF(name, off, idx) local r = gg.getRangesList(name) if not r or #r < (idx or 1) then return nil end local x64 = gg.getTargetInfo().x64 local fl= x64 and gg.TYPE_QWORD or gg.TYPE_DWORD local a = r[idx or 1].start + off[1] for i = 2, #off do a = (gg.getValues({{address = a, flags = fl}})[1].value or 0) + off[i] if not x64 then a = a & 0xFFFFFFFF end end local v = gg.getValues({{address = a, flags = gg.TYPE_FLOAT}})[1] return v and v.value or nil, a end local function initTarAddr() local _, addr = readPtrF("libunity.so", {467960,1300,1744,96,0,508}, 3) if not addr then gg.alert("指针读取失败,传送功能不可用!") return false end tarAddr = addr return true end function AtableQL() if not initTarAddr() then return end local menu = gg.choice({ "海盗海滩","小码头","石滩","驿站"}, nil, "CS-撤离专区_1.0\n请选择撤离地点.") if not menu then return end local t = { [1] = {4.36959171295, 2.76959300041, 3.85591673851}, [2] = {4.41817140579, 2.90084719658, 4.07470703125}, [3] = {3.87122106552, 2.76728892326, 3.76815748215}, [4] = {3.87953042984, 3.08518266678, 4.13522005081} } local x,y,z = t[menu][1], t[menu][2], t[menu][3] gg.setValues({ {address = tarAddr - 8, flags = 16, value = x}, {address = tarAddr, flags = 16, value = y}, {address = tarAddr + 8, flags = 16, value = z} }) gg.alert("已传送到 "..({"海盗海滩","小码头","石滩","驿站"})[menu]) end function AtableJZ() if not initTarAddr() then return end local menu = gg.choice({ "嘹望塔","海边小屋","遗迹","海盗船","南湾渔村","德库拉庄园","修道院","补给站","生活区","巨石迷阵",}, nil, "CS-建筑专区_1.0\n请选择建筑地点.") if not menu then return end local t = { [1] = {4.28718519211, 3.08997035027, 4.10037946701}, [2] = {4.3541226387, 2.95413780212, 3.95152592659}, [3] = {4.23732614517, 3.01301431656, 3.94188213348}, [4] = {4.27038288116, 3.15148711205, 3.82700133324}, [5] = {4.1362657547, 3.00681781769, 3.76228475571}, [6] = {4.11525201797, 3.30795717239, 4.14562034607}, [7] = {3.93631839752, 3.28967499733, 4.03864622116}, [8] = {3.93007826805, 3.09906744957, 4.12051582336}, [9] = {3.98550510406, 2.99628257751, 3.91131687164}, [10] = {3.8873500824, 3.11442995071, 3.92616605759}, } local x,y,z = t[menu][1], t[menu][2], t[menu][3] gg.setValues({ {address = tarAddr - 8, flags = 16, value = x}, {address = tarAddr, flags = 16, value = y}, {address = tarAddr + 8, flags = 16, value = z} }) gg.alert("已传送到 "..({"嘹望塔","海边小屋","遗迹","海盗船","南湾渔村","德库拉庄园","修道院","补给站","生活区","巨石迷阵"})[menu]) end -- ==================== 迷你枪战/和平精英通用 内存&FPS监控工具(修复draw.color报错) ==================== local PerfTool = { -- FPS变量 frameCount = 0, lastTime = os.clock(), fps = 0, -- 内存GC变量 gcCheckTime = os.clock(), gcInterval = 2.5, -- 每2.5秒自动完整回收一次内存 memWarnMB = 380, -- 内存超过380MB弹出警告并强制深度清理 } -- KB转MB格式化 local function KB2MB(kb) return string.format("%.2f", kb / 1024) end -- 深度全量垃圾回收(专治OOM溢出) function PerfTool:DeepClearMem() collectgarbage("setpause", 70) collectgarbage("setstepmul", 220) collectgarbage("collect") for _ = 1, 15 do collectgarbage("step", 300) end end -- 更新帧率计算 function PerfTool:CalcFPS() self.frameCount = self.frameCount + 1 local now = os.clock() local delta = now - self.lastTime if delta >= 1 then self.fps = math.floor(self.frameCount / delta) self.frameCount = 0 self.lastTime = now end end -- 主循环更新:FPS + 自动GC + 内存检测 function PerfTool:LoopUpdate() self:CalcFPS() local now = os.clock() if now - self.gcCheckTime >= self.gcInterval then self:DeepClearMem() self.gcCheckTime = now end local memKB = collectgarbage("count") local memMB = tonumber(KB2MB(memKB)) if memMB >= self.memWarnMB then toast("内存过高:"..memMB.."MB,正在深度清理!") self:DeepClearMem() end return self.fps, memMB end -- 绘制悬浮文字【修复版:去掉draw.color,使用十六进制ARGB颜色】 function PerfTool:DrawPanel() local fps, mem = self:LoopUpdate() local x, y = 20, 30 -- 半透明黑色背景 0xAA000000 AA=透明度(00~FF) RRGGBB local black_bg = 0x82000000 draw.rect_filled(x - 5, y - 5, x + 210, y + 65, black_bg) -- 白色文字 local white = 0xFFFFFFFF local textStr = string.format("FPS:%d | Lua内存:%.2fMB", fps, mem) draw.text(x, y, textStr, white) -- 浅蓝文字 local light_blue = 0xFFB4DCFF draw.text(x, y + 32, "内存自动清理已开启", light_blue) end -- ==================== 使用示例 ==================== -- 放到你现有的while死循环内,每轮调用 PerfTool:DrawPanel() -- while true do -- PerfTool:DrawPanel() -- -- 你的原有功能代码 -- mSleep(80) -- end bglist={ getHorizontalBG({0xffe9e9e9,0xffe9e9e9},12), getHorizontalBG({0xff7F58FF,0xff2964FF,0xff5399FF},12), getHorizontalBG({0xaaffffff,0xaaffffff},12,3,0xaa232323), } function huiz()---绘制必须放在这里面 draw.setColor('#00FFFF') draw.setSize(47)draw.setStyle('描边并填充') --绘制内容请写到这里面,否则会消失 draw.text('念迷你枪战', 200,200) draw.setColor('#FFBC8ECD') draw.setSize(55)draw.setStyle('描边并填充') draw.text('念交流群:761781342', 200,300) draw.setColor('#FFBC8ECD') draw.setSize(55)draw.setStyle('描边并填充') draw.text(os.date'登录时间:%m月%d日%H时%M分%S秒', 100,90)draw.setColor('#E3F9A7FF') end titlet="念全防" stitle = "念工艺迷你枪战" stab = { --菜单名字,添加即可加页数,需要与结尾配置表对应 {"公告"}, {"防封"}, {"功能"}, {"传送"}, {"改枪"}, {"音乐"}, } xfcpic = "https://tc.qqij.cn/view.php/61115f656e8aac2b1aed3bc9b1d7242b.png" --悬浮窗链接或路径 ---公告 changan.menu( { {--1 changan.button("公告", function() string.toMusic("此项目仅供个人交流学习使用,严禁用于任何违法犯罪用途,本次为开源别人项目制作!粉丝要求!") 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.text("更新内容","#A11322","20sp"), changan.text("适配最新版本","#545454","10sp"), changan.text("当前版本为1.0","#A11322","20sp"), changan.text("作者:念 念开源项目 被念开源项目作者星巴克","#A11322","20sp"), }, { --2功能 changan.button("游戏进程",gg.setProcessX), --changan.text("文字演示","#0077FF","20sp"), --changan.text("文字演示文字演示文字演示","#545454","10sp") changan.button("清理列表", function() gg.clearResults() gg.clearList() end), changan.button("退出脚本",function() luajava.setFloatingWindowHide(false) tuichu=1 end), --changan.text("文字演示","#0077FF","20sp"), --changan.text("文字演示文字演示文字演示","#545454","10sp") changan.button( "改渠道", function() so=gg.getRangesList('libil2cpp.so')[2].start local A = gg.prompt({"输入想修改区服编号1到40"},{10},{"number"}) gg.setValues({{address=so+0x28CA978, flags=4, value= "~A8 MOV X0, #"..A[1] },})--获取平台频道 gg.setValues({{address=so+0x28CA978+4, flags=4, value= "~A8 Ret"},}) end), changan.button( "功能效验", function() RW=gg.getRangesList('libunity.so')[2].start So=gg.getRangesList('libtersafe2.so')[1].start so=gg.getRangesList('libil2cpp.so')[2].start SO=gg.getRangesList('libtprt.so')[1].start --[[ protected virtual System.Boolean checkEnableValidTeleportCheck(); // 0x2A5DF90 // check 启用有效传送检查 protected virtual System.Boolean checkEnableSpeedCheatCheck(); // 0x2A5E068 // 检查启用速度作弊检查 protected virtual System.Boolean checkEnableInvalidFlyCheatCheck(); // 0x2A5E240 // 检查启用无效飞行作弊检查 public System.Boolean EnableValidTeleportCheck(System.Single graceFrame); // 0x2A5E3E8 // 启用有效传送检查 public virtual System.Boolean EnableSpeedCheatCheck(System.Single graceFrame); // 0x2A5E4BC // 启用速度作弊检查 public virtual System.Boolean EnableInvalidFlyCheatCheck(System.Single graceFrame); // 0x2A5E590 // 启用无效飞行作弊检查 public System.Boolean CheckAmmoUseUp(); // 0x24772C8 // 检查弹药消耗情 ]] gg.setValues({{address=SO+0x182b10, flags=4, value= "~A8 Ret"},})-- gg.setValues({{address=so+0x2A5DF90 , flags=4, value= "~A8 Ret"},})--check 启用有效传送检查 gg.setValues({{address=so+0x2A5E068, flags=4, value= "~A8 Ret"},})--检查启用速度作弊检查 gg.setValues({{address=so+0x2104E8C, flags=4, value= "~A8 Ret"},})--检查启用速度作弊检查 gg.setValues({{address=so+0x2A5E240, flags=4, value= "~A8 Ret"},})--检查启用无效飞行作弊检查 gg.setValues({{address=so+0x2A5E3E8, flags=4, value= "~A8 Ret"},})--启用有效传送检查 gg.setValues({{address=so+0x2A5E590, flags=4, value= "~A8 Ret"},})--启用无效飞行作弊检查 gg.setValues({{address=so+0x24772C8, flags=4, value= "~A8 Ret"},})--检查弹药消耗情况 gg.alert("检测数据捕捉成功!\n已写入目标模块内存...") end), changan.box({"过检配置", changan.check({ {"过检配置1", function() RW=gg.getRangesList('libunity.so')[2].start So=gg.getRangesList('libtersafe2.so')[1].start so=gg.getRangesList('libil2cpp.so')[2].start SO=gg.getRangesList('libtprt.so')[1].start gg.setValues({{address=so+0x24E0C44 , flags=4, value= "~A8 Ret"},})--更新检查数据12 gg.setValues({{address=so+0x24E0C44 , flags=4, value= "~A8 Ret"},})--更新检查数据4 gg.setValues({{address=so+0x24E00E0 , flags=4, value= "~A8 Ret"},})--启动测试反作弊数据 gg.setValues({{address=so+0x3AED80C , flags=4, value= "~A8 Ret"},})--启动测试反作弊数据 gg.setValues({{address=so+0x3AED2F8 , flags=4, value= "~A8 Ret"},})--设置 gg.setValues({{address=so+0x24DFA20 , flags=4, value= "~A8 Ret"},})--设 gg.setValues({{address=so+0x258982C, flags=4, value= "~A8 Ret"},})--启用 gg.setValues({{address=so+0x24DFC04, flags=4, value= "~A8 Ret"},})--关于 gg.setValues({{address=so+0x3AED8B8, flags=4, value= "~A8 Ret"},})--关于 gg.setValues({{address=so+0x24DF428, flags=4, value= "~A8 Ret"},})--更新 gg.setValues({{address=so+0x24DEDEC, flags=4, value= "~A8 Ret"},})--初始化 gg.setValues({{address=so+0x3AEDB70, flags=4, value= "~A8 Ret"},})--初 gg.setValues({{address=so+0x25894DC, flags=4, value= "~A8 Ret"},})--tp2 gg.setValues({{address=so+0x3AEE9FC, flags=4, value= "~A8 Ret"},})-- gg.setValues({{address=so+0x3AEFBEC, flags=4, value= "~A8 Ret"},})-- gg.setValues({{address=so+0x3AEFFA4, flags=4, value= "~A8 Ret"},})-- gg.setValues({{address=so+0x3AEFC6C, flags=4, value= "~A8 Ret"},}) gg.setValues({{address=So+0x511820, flags=4, value= "~A8 Mov X0, #0x1"},})--sym.imp gg.setValues({{address=So+0x511820+4, flags=4, value= "~A8 Ret"},})--sym.imp gg.setValues({{address=So+0x511830, flags=4, value= "~A8 Ret"},})--sym. gg.setValues({{address=So+0x5118D0, flags=4, value= "~A8 Ret"},})--sym.imp. gg.setValues({{address=SO+0x182b28, flags=4, value= "~A8 B [PC,#0x0]"},})--迷枪自己模块 gg.alert("反作弊模块数据捕捉成功!\n已写入目标模块内存...") end },{ "过检配置2", function() --[[ ]] SO=gg.getRangesList('libtprt.so')[1].start so=gg.getRangesList('libil2cpp.so')[2].start So=gg.getRangesList('libtersafe2.so')[1].start RW=gg.getRangesList('libunity.so')[2].start gg.setValues({{address=So+0x5115A0, flags=4, value= "~A8 Ret"},})--tp2调用 gg.setValues({{address=so+0x3AEE9FC, flags=4, value= "~A8 Ret"},})-- 战斗更新 gg.setValues({{address=so+0x3AEFBEC, flags=4, value= "~A8 Ret"},})--调用内存作弊 gg.setValues({{address=so+0x3AEFFA4, flags=4, value= "~A8 Ret"},})--准时通话速度黑客 gg.setValues({{address=so+0x3AEFC6C, flags=4, value= "~A8 Ret"},})--检查内存作弊 gg.setValues({{address=So+0x511820, flags=4, value= "~A8 Mov X0, #0x1"},})--sym.imp.nanosleep gg.setValues({{address=So+0x511820+4, flags=4, value= "~A8 Ret"},})--sym.imp.nanosleep gg.setValues({{address=So+0x511830, flags=4, value= "~A8 Ret"},})--sym.imp.gettimeofday gg.setValues({{address=So+0x5118D0, flags=4, value= "~A8 Ret"},})--sym.imp.time gg.setValues({{address=SO+0x182b28, flags=4, value= "~A8 B [PC,#0x0]"},})--迷枪自己模块 gg.alert("反作弊模块数据捕捉成功!\n已写入目标模块内存...") end }, }), }), }, { changan.text("功能区","#545454","10sp"), changan.check({ {"准心强锁", function() --更新辅助目标 local addresses = { {address=so+0x2A64DE0+0x538,flags=4,value=505933827 },--FMOV S3, #0x41F80000 540 {address=so+0x2A64DE0+0x53c,flags=4,value=506351620 },--FMOV S4, #0x3F900000 544 {address=so+0x2A64DE0+0x670,flags=4,value=505933827 },--FMOV S3, #0x41F80000 678 {address=so+0x2A64DE0+0x674,flags=4,value=506351620 },--FMOV S4, #0x3F900000 67C } gg.setValues(addresses) end },{ "人物遁地", function() F=gg.alert("选择遁地高度","半遁","️全遁️","恢复") if F==1 then so=gg.getRangesList('libil2cpp.so')[2].start setvalue(so+0x1D1636C,4,470723203) setvalue(so+0x1D338BC,16,1.2) else if F==2 then so=gg.getRangesList('libil2cpp.so')[2].start setvalue(so+0x1D1636C,4,470723203) setvalue(so+0x1D338BC,16,2) else if F==3 then so=gg.getRangesList('libil2cpp.so')[2].start setvalue(so+0x1D1636C,4,506204163) end end end end },{ "刀具强化", function() so=gg.getRangesList('libil2cpp.so')[2].start local addresses={ {address=so+0x233c0d8,flags=4,value='~A8 B [PC,#0xC78] ' },--更新摇摆攻击循环调用造成伤害 } gg.setValues(addresses) end },{ "人物调节", function() local App=gg.prompt({"修改的大小{推荐参数2.0}"},{[1]=""},{[1]="number"})[1] so=gg.getRangesList('libil2cpp.so')[2].start local addresses={ {address=so+0x2E42418,flags=4,value=471992704}, {address=so+0x2E86548,flags=16,value=App},} gg.setValues(addresses) end },{ "人物跳高", function() so=gg.getRangesList('libil2cpp.so')[2].start gg.setValues({ {address=so+0x1D15434,flags=4,value='~A8 LDR S3, [PC,#0x1E484] '},--第一次跳跃高度 {address=so+0x1D1ACE4,flags=4,value='~A8 LDR S3, [PC,#0x18BD4] '},--第二次跳跃高度 {address=so+0x1D338B8,flags=16,value=5},--指定数值 {address=so+0x1d1abb0,flags=4,value=-763363296}, {address=so+0x1d1abb0+4,flags=4,value=-698416192},--尝试超级跳跃 {address=so+0x1d14f1c,flags=4,value=-698416192},--跳跃次数限制 }) end },{ "人物广角", function() local To=gg.prompt({"请输入修改数值!推荐180"},{[1]=""},{[1]="number"})[1] so=gg.getRangesList('libunity.so')[2].start setvalue(so+0x12E6C28,16,To) end },{ "视角无后", function() so=gg.getRangesList('libil2cpp.so')[2].start local addresses = { {address=so+0x26B0B98,flags=4,value=-698416192 },--更新后坐力 {address=so+0x26B125C,flags=4,value=-698416192 },}--更新拍摄晃动 gg.setValues(addresses) gg.toast("开启成功") end },{ "发射数量", function() so = gg.getRangesList('libil2cpp.so')[2].start gg.setValues({{address=so+0x1DA5214, flags=4, value="~A8 Ret"},})--报告武器射击 gg.setValues({{address=so+0x4D452EC, flags=4, value="~A8 MOV X0, #0x10"},})--获取射击子弹计数 gg.setValues({{address=so+0x4D452EC+4, flags=4, value="~A8 Ret"},})--获取射击子弹计数 end }, { "击杀播报", function() gg.setValues({ {address=so+0x1FFFF14+0x1f8,flags=4,value=1384120424},--武器槽武器击杀播报 最新杀戮信息1F8 }) end }, { "枪械等级", function() gg.setValues({ {address=so+0x2476AB0+0x88,flags=4,value=1384120424},--武器槽武器等级88 重置装备通用数据 }) end }, { "人物穿墙", function() gg.setValues({{address=RW+0x10C187C+500, flags=4, value= "~A8 NOP"},}) end, function() gg.setValues({{address=RW+0x10C187C+500, flags=4, value= "~A8 FMOV S4, #0x3F800000"},}) end }, { "坐标移动", function() --[[ public virtual System.Boolean CheckPlayerRoundStateCanMove(); // 0x1F1478C // 检查玩家回合状态是否可以移动 public virtual System.Boolean CheckPlayerRoundStateCanThrow(); // 0x1F148D8 // 检查玩家回合状态是否可以投掷 ]] gg.setValues({{address=so+0x1F1478C, flags=4, value= "~A8 MOV X0, #0x1"},}) gg.setValues({{address=so+0x1F1478C+4, flags=4, value= "~A8 Ret"},})--检查玩家回合状态是否可以移动 end }, { "子弹穿墙", function() so=gg.getRangesList('libunity.so')[2].start local addresses={{address=so+0x1058A70,flags=4,value=-698416192},}--RET gg.setValues(addresses) end, function() so=gg.getRangesList('libunity.so')[2].start local addresses={{address=so+0x1058A70,flags=4,value=-65138710},}--STR D10, [SP,#-0x20]! gg.setValues(addresses) end }, { "枪械据点", function() gg.setValues({ {address=so+0x26A9C80+0x8,flags=4,value="~A8 LDR S0, [PC,#0x2BDB4]" },--获取 Acc 范围基础8 {address=so+0x26A9C80+0x24,flags=4,value="~A8 LDR S0, [PC,#0x2BD98]" },--24 聚点 {address=so+0x26A9C80+0x40,flags=4,value="~A8 LDR S0, [PC,#0x2BD7C]" },--40 {address=so+0x26A9C80+0x5c,flags=4,value="~A8 LDR S0, [PC,#0x2BD60]" },--5C {address=so+0x26A9C80+0x5c+0x2bd60,flags=16,value= -0.001 },--聚点值 }) end }, { "自瞄圈圈[平板]", function() draw.remove() draw.text('', 695,388) c=draw.circle(1280,800,500)draw.setColor('#FFBC8ECD') so=gg.getRangesList('libil2cpp.so')[2].start local addresses={ {address=so+0x2A64D94,flags=4,value=335544339},--每帧更新辅助逻辑 {address=so+0x2A65310,flags=4,value=469827298}, {address=so+0x2A65314,flags=4,value=469827297}, {address=so+0x2A65318,flags=4,value=469827299}, {address=so+0x2A6531C,flags=4,value=469827300}, {address=so+0x2A672EC,flags=16,value=1.25},--竖距 {address=so+0x2A672F0,flags=16,value=1.25},--竖偏 {address=so+0x2A672F4,flags=16,value=0.6},--竖力 {address=so+0x2A672F8,flags=16,value=0.6},--竖追 {address=so+0x2A65448,flags=4,value=469824930}, {address=so+0x2A6544C,flags=4,value=469824929}, {address=so+0x2A65450,flags=4,value=469824931}, {address=so+0x2A65454,flags=4,value=469824932}, {address=so+0x2A672FC,flags=16,value=1.25},--横距 {address=so+0x2A67300,flags=16,value=1.25},--横偏 {address=so+0x2A67304,flags=16,value=0.6},--横力 {address=so+0x2A67308,flags=16,value=0.6},--横追 } gg.setValues(addresses) end }, { "自瞄圈圈[手机]", function() draw.remove() draw.text('', 695,388) c=draw.circle(1170,540,500)draw.setColor('#FFBC8ECD') so=gg.getRangesList('libil2cpp.so')[2].start local addresses={ {address=so+0x2A64D94,flags=4,value=335544339},--每帧更新辅助逻辑 {address=so+0x2A65310,flags=4,value=469827298}, {address=so+0x2A65314,flags=4,value=469827297}, {address=so+0x2A65318,flags=4,value=469827299}, {address=so+0x2A6531C,flags=4,value=469827300}, {address=so+0x2A672EC,flags=16,value=1.25},--竖距 {address=so+0x2A672F0,flags=16,value=1.25},--竖偏 {address=so+0x2A672F4,flags=16,value=0.6},--竖力 {address=so+0x2A672F8,flags=16,value=0.6},--竖追 {address=so+0x2A65448,flags=4,value=469824930}, {address=so+0x2A6544C,flags=4,value=469824929}, {address=so+0x2A65450,flags=4,value=469824931}, {address=so+0x2A65454,flags=4,value=469824932}, {address=so+0x2A672FC,flags=16,value=1.25},--横距 {address=so+0x2A67300,flags=16,value=1.25},--横偏 {address=so+0x2A67304,flags=16,value=0.6},--横力 {address=so+0x2A67308,flags=16,value=0.6},--横追 } gg.setValues(addresses) end },{ "人物加速", function() so=gg.getRangesList('libil2cpp.so')[2].start gg.setValues({{address=so+0x3AEF52C , flags=4, value= "~A8 MOV X0, #0x1"},}) gg.setValues({{address=so+0x3AEF52C+4, flags=4, value= "~A8 Ret"},})--检测报告速度作弊 gg.setValues({{address=so+0x29298CC, flags=4, value= "~A8 FMOV S0, #0x41200000"},})--处理额外的攻击属性,获取移动速度0 刀 gg.setValues({{address=so+0x29298CC+4, flags=4, value= "~A8 Ret"},})-- gg.setValues({{address=so+0x26A76D4+0xA0, flags=4, value= "~A8 FMOV S10, #0x41200000"},})--获得暴击伤害率,获取移动速度A0 枪 end, function() gg.setValues({{address=so+0x26A76D4+0xA0, flags=4, value= "~A8 FMOV S10, #0x3F800000"},})--获得暴击伤害率,获取移动速度A0 枪 gg.setValues({{address=so+0x29298CC, flags=4, value= "~A8 FMOV S0, #0x3F800000"},})--处理额外的攻击属性,获取移动速度0 刀 gg.setValues({{address=so+0x29298CC+4, flags=4, value= "~A8 Ret"},})-- end },{ "帧率优化", function() local Spp=gg.prompt({"输入修改帧率速率"},{[1]=""},{[1]="number"})[1] So({"[测试]",-1970324836974532,32,32},{{59,-0x20,4},{3,-0x2C,4}},{{Spp,0,4,1},}) end },{ "伤害倍率", function() gg.setValues({ {address=so+0x4D44FC8,flags=4,value=-1862135808 },-- 获得暴击伤害率 {address=so+0x4D4501C,flags=4,value=-1862135808 },--获取心脏损伤率 {address=so+0x4D45070,flags=4,value=-1862135808 },--获取身体伤害率 {address=so+0x4D450C4,flags=4,value=-1862135808 },--获得肢体损伤率 }) end },{ "屏幕遮挡", function() so=gg.getRangesList('libil2cpp.so')[2].start setvalue(so+0x4a2ce0c,4,-698416192)--RET end, function() so=gg.getRangesList('libil2cpp.so')[2].start setvalue(so+0x4a2ce0c,4,-1447145484 )--STP X20, X19, [SP,#-0x20]! end },{ "人物漂浮", function() setvalue(so+0x1D16324+0x48,4,"~A8 LDR S3, [PC,#0x49B08]") setvalue(so+0x1D16324+0x48+0x1D15B20,16,2) end, function() setvalue(so+0x1D16324+0x48,4,506204163)end },{ "贴墙透视", function() 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("功能[贴墙透视]开启成功, 共修改" .. #Table .. "个值。") else gg.toast("未找到偏移数据") end end end local Search_array = { {3000, 16, 32, "贴墙透视"}, {5, -8, 16} } local Modifythe_array = { {2, -4, 16, false} } LSQ_pointer(Search_array, Modifythe_array) end, function() gg.alert("该功能无法关闭") end },{ "近战范围", function() gg.clearResults() gg.setRanges(gg.REGION_CODE_APP) gg.searchNumber('0.6',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('9999999',gg.TYPE_FLOAT) end },{ "人物范围", function() if gg.getRangesList("libunity.so")[1] then local t = {} t[1] = gg.getRangesList("libunity.so")[1]["start"] + 0x1385710; -- 数值地址:0x7BD0C14710 t[2] = gg.getRangesList("libunity.so")[1]["start"] + 0x1385714; -- 数值地址:0x7BD0C14714 k=gg.prompt({'输入修改范围大小\n每局必须关闭(要不然掉虚空)'},{99},{'number'}) gg.setValues({ [1] = { address = t[1], flags = 16, value = k[1], }, [2] = { address = t[2], flags = 16, value = k[1], }, }) end end },{ "火灾燃烧", function() so=gg.getRangesList('libil2cpp.so')[2].start --[[ private System.Void HideDamageAreaTip(); // 0x23BF818 // 隐藏损坏区域提示 private System.Void UpdateEffectTime(); // 0x23BF9C4 // 更新生效时间 private System.Void BeginFireDamage(); // 0x23C0450 // 开始火灾损害 public System.Void DestroyByServer(System.Boolean force); // 0x23C0650 // 由服务器销毁 public System.Boolean CheckNeedSync(); // 0x23C13B4 // 检查是否需要同步 ]] gg.setValues({{address=so+0x23BF818, flags=4, value= "~A8 Ret"},})--隐藏损坏区域提示 gg.setValues({{address=so+0x23BF9C4, flags=4, value= "~A8 MOV X0, #0x1 "},})--更新生效时间 gg.setValues({{address=so+0x23BF9C4+4, flags=4, value= "~A8 Ret"},}) gg.setValues({{address=so+0x23C0450, flags=4, value= "~A8 MOV W0, #0x1"},})--开始火灾损害 gg.setValues({{address=so+0x23C0450+0x4, flags=4, value= "~A8 Ret"},}) gg.setValues({{address=so+0x23C0650, flags=4, value= "~A8 Ret"},})--由服务器销毁 gg.setValues({{address=so+0x23C13B4, flags=4, value= "~A8 ORR W0, WZR, #0x1"},})--检查是否需要同步 gg.setValues({{address=so+0x23C13B4+0x4, flags=4, value= "~A8 Ret"},}) end },{ "无限子弹", function() so=gg.getRangesList('libil2cpp.so')[2].start gg.setValues({ {address=so+0x24773DC,flags=4,value=-763363296 },-- 检查是否有无限弹药 {address=so+0x24773DC+0x4,flags=4,value=-698416192 },-- {address=so+0x2477464,flags=4,value=-763363296 },--检查是否有无限后备弹药 {address=so+0x2477464+0x4,flags=4,value=-698416192 }, {address=so+0x26AD5F4,flags=4,value=-698416192 }})--成本枪弹药 end },{ "武器射速", function() so=gg.getRangesList('libil2cpp.so')[2].start gg.setValues({ {address=so+0x26A8088,flags=4,value=469762112 },--获取重新加载类型+获取使用阈值0 {address=so+0x26A8088+0x4,flags=4,value=-698416192 }, }) end },{ "原地复活", function() gg.setValues({{address=so+0x21C1C98, flags=4, value= "~A8 Ret"},})--服务器网络 gg.setValues({{address=so+0x21C1E80, flags=4, value= "~A8 Ret"},})--服务器飞天 end },{ "增高伤害", function() gg.setValues({ {address=so+0x4D44FC8,flags=4,value="~A8 Ret" },-- 获得暴击伤害率 {address=so+0x4D4501C,flags=4,value="~A8 Ret" },--获取心脏损伤率 {address=so+0x4D45070,flags=4,value="~A8 Ret" },--获取身体伤害率 {address=so+0x4D450C4,flags=4,value="~A8 Ret" },--获得肢体损伤率 }) end },{ "无限备弹", function() local setvalue=function(a,f,v) gg.setValues({{ address=a, flags=f, value=v, }}) end So=gg.getRangesList('libil2cpp.so')[2].start gg.setValues({{address=So+0x26AC26C, flags=4, value= "~A8 MOV X0, #0x99"},}) gg.setValues({{address=So+0x26AC26C+4, flags=4, value= "~A8 Ret"},}) end }, }), }, {--第四页 changan.text("人物传送"), changan.box({"夺金配置", changan.check({ {"夺金传送", function() local sel = gg.choice({ "撤离地点", "建筑地点" }, nil, "CS-地图传送_1.0\n请选择目标传送.") if sel == 1 then AtableQL() elseif sel == 2 then AtableJZ() end end }, }), }), changan.box({"排位配置", changan.check({ {'爆破传送', function() --写法配置 local 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 original_values = {} local function gg_edits(addr, Table) 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 local original = gg.getValues({value})[1].value original_values[#original_values + 1] = original end if #Table1[2] > 0 then gg.addListItems(Table1[2]) end if #Table1[1] > 0 then gg.addListItems(Table1[1]) gg.setValues(Table1[1]) end return original_values[1] end local tarAddr = nil local function initTarAddr() if tarAddr then return true end local addr = readPointer("libunity.so", {467960, 1300, 1744, 96, 0, 500}, 3) if not addr then gg.toast("❌ 指针读取失败\n请确认阵营传送可用后再试") tarAddr = nil return false end local test = gg.getValues({{address = addr, flags = 16}})[1] if not test or test.value == nil then gg.toast("❌ 坐标地址不可写/非F类型") tarAddr = nil return false end tarAddr = addr return true end local function getCoords(x, y, z) return x or 0, y or 0, z or 0 end if not initTarAddr() then return end local maps = {"迷你乐园", "糖果工厂", "美食小镇", "要塞危机", "糖果梦工厂"} local mapMenu = gg.choice(maps, nil, "CS-爆破守卫专区_1.0\n请选择地图") if not mapMenu then return end local points = {"爆破方家", "守卫方家", "A点", "B点"} local pointMenu = gg.choice(points, nil, "当前地图:" .. maps[mapMenu] .. "\n请选择传送点位") if not pointMenu then return end local coordsConfig = { [1] = {[1]={2.73379135132,-1.69596648216,-3.17464733124},[2]={-2.90078115463,2.16999864578,3.109375},[3]={2.8311984539,2.36937403679,3.00337934494},[4]={-3.12573432922,2.29751348495,-2.72689795494}}, [2] = {[1]={-2.48222708702,1.98875308037,-3.19597649574},[2]={2.53079724312,2.35635590553,2.94259929657},[3]={2.8311984539,2.36937403679,3.00337934494},[4]={-3.25771450996,2.17624926567,2.53557300568}}, [3] = {[1]={2.83972620964,1.85665154457,-3.20818805695},[2]={-2.97621440887,-1.98951852322,3.08303022385},[3]={-3.1112446785,1.89082658291,-2.60583162308},[4]={3.01340222359,1.89082634449,3.22609496117}}, [4] = {[1]={-3.10832738876,1.95440220833,1.79469203949},[2]={3.19644904137,1.95440220833,-2.52469778061},[3]={2.86683082581,2.14764428139,-3.0816078186},[4]={2.79981446266,2.09624004364,3.04907464981}}, [5] = {[1]={2.75312495232,1.92698228359,-3.15625},[2]={-2.54592776299,2.10783934593,3.16895246506},[3]={-2.359375,1.91847479343,2.35312461853},[4]={2.82499980927,-2.51362872124,2.18124985695}} } local x, y, z = getCoords(coordsConfig[mapMenu][pointMenu][1], coordsConfig[mapMenu][pointMenu][2], coordsConfig[mapMenu][pointMenu][3]) gg.setValues({ {address = tarAddr, flags = 16, value = x}, {address = tarAddr + 8, flags = 16, value = y}, {address = tarAddr + 16,flags = 16, value = z} }) gg.toast("✅ 已传送到\n" .. maps[mapMenu] .. "-" .. points[pointMenu]) end },{ '枪战传送', function() --写法配置 local 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 original_values = {} local function gg_edits(addr, Table) 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 local original = gg.getValues({value})[1].value original_values[#original_values + 1] = original end if #Table1[2] > 0 then gg.addListItems(Table1[2]) end if #Table1[1] > 0 then gg.addListItems(Table1[1]) gg.setValues(Table1[1]) end return original_values[1] end local tarAddr = nil local function initTarAddr() if tarAddr then return true end local addr = readPointer("libunity.so", {467960, 1300, 1744, 96, 0, 500}, 3) if not addr then gg.toast("❌ 指针读取失败\n请确认阵营传送可用后再试") tarAddr = nil return false end local test = gg.getValues({{address = addr, flags = 16}})[1] if not test or test.value == nil then gg.toast("❌ 坐标地址不可写/非F类型") tarAddr = nil return false end tarAddr = addr return true end local function getCoords(x, y, z) return x or 0, y or 0, z or 0 end if not initTarAddr() then return end local original = gg_edits(tarAddr, {{0, 16, 16, false}}) gg_edits(tarAddr, {{-original, 16, 16, false}}) gg.toast("✅ 枪战传送成功") end }, }), }), changan.box({"野人配置", changan.check({ {'野人传送', function() if not initTarAddr() then return end local subMaps = {"积木城堡", "熔岩之城"} local subMenu = gg.choice(subMaps, nil, "CS-野人追击专区_1.0\n请选择子地图") if not subMenu then return end local jimuLocks = {"锁位1", "锁位2", "锁位3", "锁位4", "锁位5"} local jimuCoords = { [1] = {3.3011598587, 2.83288931847, -1.57588434219}, [2] = {3.43775200844, 3.00085926056, 3.3043513298}, [3] = {2.61826634407, 2.98312354088, 3.73197817802}, [4] = {3.62462353706, 3.32209920883, 3.82421445847}, [5] = {3.62659740448, 3.46982979774, 3.91453289986} } local rongyanLocks = {"锁位1", "锁位2", "锁位3"} local rongyanCoords = { [1] = {-2.59880018234, 2.54526543617, 2.64184689522}, [2] = {-2.78865265846, 2.47368121147, -2.66273236275}, [3] = {3.2704911232, 1.95594835281, -2.84927582741} } if subMenu == 1 then local lockMenu = gg.choice(jimuLocks, nil, "当前地图:积木城堡\n请选择锁位") if not lockMenu then return end local x, y, z = getCoords(jimuCoords[lockMenu][1], jimuCoords[lockMenu][2], jimuCoords[lockMenu][3]) gg_edits(tarAddr, {{x, 16, 0, false}, {y, 16, 8, false}, {z, 16, 16, false}}) gg.toast("✅ 已传送到\n野人追击-积木城堡-" .. jimuLocks[lockMenu]) elseif subMenu == 2 then local lockMenu = gg.choice(rongyanLocks, nil, "当前地图:熔岩之城\n请选择锁位") if not lockMenu then return end local x, y, z = getCoords(rongyanCoords[lockMenu][1], rongyanCoords[lockMenu][2], rongyanCoords[lockMenu][3]) gg_edits(tarAddr, {{x, 16, 0, false}, {y, 16, 8, false}, {z, 16, 16, false}}) gg.toast("✅ 已传送到\n野人追击-熔岩之城-" .. rongyanLocks[lockMenu]) end end }, }), }), changan.box({"特训配置", changan.check({ {'红酒庄园', function() function setvalue(address,flags,value) local tt={} tt[1]={} tt[1].address=address tt[1].flags=flags tt[1].value=value gg.setValues(tt) end function fastsearch(search, write) gg.setVisible(false) gg.clearResults() gg.setRanges(search[1][3]) gg.searchNumber(search[1][1], search[1][2]) if gg.getResultsCount() == 0 then gg.toast("定位失败,是否已选择迷你枪战精英进程") return false else local result = gg.getResults(gg.getResultsCount()) gg.clearResults() for i = 2, #search do local mtp = {} for w, r in ipairs(result) do mtp[#mtp + 1] = { address = r.address + search[i][2], flags = search[i][3] } end mtp = gg.getValues(mtp) local hook = {} for w, r in ipairs(mtp) do if r.value == search[i][1] then hook[#hook + 1] = result[w] end end result = hook end if #result > 0 then local tb = {{}, {}} for i, v in ipairs(result) do --- 遍历每个结果 for _, vv in ipairs(write) do local p = {address = v.address + vv[2], flags = vv[3], value = vv[1], freeze = vv[4]} if vv[4] then --- true 就是冻结 table.insert(tb[2], p) else table.insert(tb[1], p) end end end gg.addListItems(tb[2]) gg.setValues(tb[1]) gg.toast("传送成功") else gg.toast("定位失败,是否已选择迷你枪战精英进程") end end end fastsearch({{"1067702026", "4", "32"}, {"1.0", "-12", "16"}, {"1.0", "-16", "16"}, {"1.0", "-20", "16"}}, {{553.93969726562, "-52", "16", true}, {30.56897926331, "-48", "16", true}, {39.00396728516, "-44", "16", true}}, "红酒庄园") gg.sleep(1000) gg.clearList() end },{ '特训营地', function() function setvalue(address,flags,value) local tt={} tt[1]={} tt[1].address=address tt[1].flags=flags tt[1].value=value gg.setValues(tt) end function fastsearch(search, write) gg.setVisible(false) gg.clearResults() gg.setRanges(search[1][3]) gg.searchNumber(search[1][1], search[1][2]) if gg.getResultsCount() == 0 then gg.toast("定位失败,是否已选择迷你枪战精英进程") return false else local result = gg.getResults(gg.getResultsCount()) gg.clearResults() for i = 2, #search do local mtp = {} for w, r in ipairs(result) do mtp[#mtp + 1] = { address = r.address + search[i][2], flags = search[i][3] } end mtp = gg.getValues(mtp) local hook = {} for w, r in ipairs(mtp) do if r.value == search[i][1] then hook[#hook + 1] = result[w] end end result = hook end if #result > 0 then local tb = {{}, {}} for i, v in ipairs(result) do --- 遍历每个结果 for _, vv in ipairs(write) do local p = {address = v.address + vv[2], flags = vv[3], value = vv[1], freeze = vv[4]} if vv[4] then --- true 就是冻结 table.insert(tb[2], p) else table.insert(tb[1], p) end end end gg.addListItems(tb[2]) gg.setValues(tb[1]) gg.toast("传送成功") else gg.toast("定位失败,是否已选择迷你枪战精英进程") end end end fastsearch({{"1067702026", "4", "32"}, {"1.0", "-12", "16"}, {"1.0", "-16", "16"}, {"1.0", "-20", "16"}}, {{682.439453125, "-52", "16", true}, {10.11852645874, "-48", "16", true}, {118.90930938721, "-44", "16", true}}, "特训营地") gg.sleep(1000) gg.clearList() end },{ '迷萌城', function() function setvalue(address,flags,value) local tt={} tt[1]={} tt[1].address=address tt[1].flags=flags tt[1].value=value gg.setValues(tt) end function fastsearch(search, write) gg.setVisible(false) gg.clearResults() gg.setRanges(search[1][3]) gg.searchNumber(search[1][1], search[1][2]) if gg.getResultsCount() == 0 then gg.toast("定位失败,是否已选择迷你枪战精英进程") return false else local result = gg.getResults(gg.getResultsCount()) gg.clearResults() for i = 2, #search do local mtp = {} for w, r in ipairs(result) do mtp[#mtp + 1] = { address = r.address + search[i][2], flags = search[i][3] } end mtp = gg.getValues(mtp) local hook = {} for w, r in ipairs(mtp) do if r.value == search[i][1] then hook[#hook + 1] = result[w] end end result = hook end if #result > 0 then local tb = {{}, {}} for i, v in ipairs(result) do --- 遍历每个结果 for _, vv in ipairs(write) do local p = {address = v.address + vv[2], flags = vv[3], value = vv[1], freeze = vv[4]} if vv[4] then --- true 就是冻结 table.insert(tb[2], p) else table.insert(tb[1], p) end end end gg.addListItems(tb[2]) gg.setValues(tb[1]) gg.toast("传送成功") else gg.toast("定位失败,是否已选择迷你枪战精英进程") end end end fastsearch({{"1067702026", "4", "32"}, {"1.0", "-12", "16"}, {"1.0", "-16", "16"}, {"1.0", "-20", "16"}}, {{586.91583251953, "-52", "16", true}, {22.31999206543, "-48", "16", true}, {201.96411132812, "-44", "16", true}}, "迷萌城") gg.sleep(1000) gg.clearList() end },{ '迷斯拉家', function() function setvalue(address,flags,value) local tt={} tt[1]={} tt[1].address=address tt[1].flags=flags tt[1].value=value gg.setValues(tt) end function fastsearch(search, write) gg.setVisible(false) gg.clearResults() gg.setRanges(search[1][3]) gg.searchNumber(search[1][1], search[1][2]) if gg.getResultsCount() == 0 then gg.toast("定位失败,是否已选择迷你枪战精英进程") return false else local result = gg.getResults(gg.getResultsCount()) gg.clearResults() for i = 2, #search do local mtp = {} for w, r in ipairs(result) do mtp[#mtp + 1] = { address = r.address + search[i][2], flags = search[i][3] } end mtp = gg.getValues(mtp) local hook = {} for w, r in ipairs(mtp) do if r.value == search[i][1] then hook[#hook + 1] = result[w] end end result = hook end if #result > 0 then local tb = {{}, {}} for i, v in ipairs(result) do --- 遍历每个结果 for _, vv in ipairs(write) do local p = {address = v.address + vv[2], flags = vv[3], value = vv[1], freeze = vv[4]} if vv[4] then --- true 就是冻结 table.insert(tb[2], p) else table.insert(tb[1], p) end end end gg.addListItems(tb[2]) gg.setValues(tb[1]) gg.toast("传送成功") else gg.toast("定位失败,是否已选择迷你枪战精英进程") end end end fastsearch({{"1067702026", "4", "32"}, {"1.0", "-12", "16"}, {"1.0", "-16", "16"}, {"1.0", "-20", "16"}}, {{143.06602478027, "-52", "16", true}, {27.07734107971, "-48", "16", true}, {509.43130493164, "-44", "16", true}}, "迷斯拉家") gg.sleep(1000) gg.clearList() end },{ '彩虹村', function() function setvalue(address,flags,value) local tt={} tt[1]={} tt[1].address=address tt[1].flags=flags tt[1].value=value gg.setValues(tt) end function fastsearch(search, write) gg.setVisible(false) gg.clearResults() gg.setRanges(search[1][3]) gg.searchNumber(search[1][1], search[1][2]) if gg.getResultsCount() == 0 then gg.toast("定位失败,是否已选择迷你枪战精英进程") return false else local result = gg.getResults(gg.getResultsCount()) gg.clearResults() for i = 2, #search do local mtp = {} for w, r in ipairs(result) do mtp[#mtp + 1] = { address = r.address + search[i][2], flags = search[i][3] } end mtp = gg.getValues(mtp) local hook = {} for w, r in ipairs(mtp) do if r.value == search[i][1] then hook[#hook + 1] = result[w] end end result = hook end if #result > 0 then local tb = {{}, {}} for i, v in ipairs(result) do --- 遍历每个结果 for _, vv in ipairs(write) do local p = {address = v.address + vv[2], flags = vv[3], value = vv[1], freeze = vv[4]} if vv[4] then --- true 就是冻结 table.insert(tb[2], p) else table.insert(tb[1], p) end end end gg.addListItems(tb[2]) gg.setValues(tb[1]) gg.toast("传送成功") else gg.toast("定位失败,是否已选择迷你枪战精英进程") end end end fastsearch({{"1067702026", "4", "32"}, {"1.0", "-12", "16"}, {"1.0", "-16", "16"}, {"1.0", "-20", "16"}}, {{571.47497558594, "-52", "16", true}, {6.16745185852, "-48", "16", true}, {-212.34643554688, "-44", "16", true}}, "彩虹村") gg.sleep(1000) gg.clearList() end },{ '临海度假村', function() function setvalue(address,flags,value) local tt={} tt[1]={} tt[1].address=address tt[1].flags=flags tt[1].value=value gg.setValues(tt) end function fastsearch(search, write) gg.setVisible(false) gg.clearResults() gg.setRanges(search[1][3]) gg.searchNumber(search[1][1], search[1][2]) if gg.getResultsCount() == 0 then gg.toast("定位失败,是否已选择迷你枪战精英进程") return false else local result = gg.getResults(gg.getResultsCount()) gg.clearResults() for i = 2, #search do local mtp = {} for w, r in ipairs(result) do mtp[#mtp + 1] = { address = r.address + search[i][2], flags = search[i][3] } end mtp = gg.getValues(mtp) local hook = {} for w, r in ipairs(mtp) do if r.value == search[i][1] then hook[#hook + 1] = result[w] end end result = hook end if #result > 0 then local tb = {{}, {}} for i, v in ipairs(result) do --- 遍历每个结果 for _, vv in ipairs(write) do local p = {address = v.address + vv[2], flags = vv[3], value = vv[1], freeze = vv[4]} if vv[4] then --- true 就是冻结 table.insert(tb[2], p) else table.insert(tb[1], p) end end end gg.addListItems(tb[2]) gg.setValues(tb[1]) gg.toast("传送成功") else gg.toast("定位失败,是否已选择迷你枪战精英进程") end end end fastsearch({{"1067702026", "4", "32"}, {"1.0", "-12", "16"}, {"1.0", "-16", "16"}, {"1.0", "-20", "16"}}, {{297.43048095703, "-52", "16", true}, {4.0851726532, "-48", "16", true}, {-557.66760253906, "-44", "16", true}}, "临海度假村") gg.sleep(500) gg.clearList() end },{ '农庄', function() function setvalue(address,flags,value) local tt={} tt[1]={} tt[1].address=address tt[1].flags=flags tt[1].value=value gg.setValues(tt) end function fastsearch(search, write) gg.setVisible(false) gg.clearResults() gg.setRanges(search[1][3]) gg.searchNumber(search[1][1], search[1][2]) if gg.getResultsCount() == 0 then gg.toast("定位失败,是否已选择迷你枪战精英进程") return false else local result = gg.getResults(gg.getResultsCount()) gg.clearResults() for i = 2, #search do local mtp = {} for w, r in ipairs(result) do mtp[#mtp + 1] = { address = r.address + search[i][2], flags = search[i][3] } end mtp = gg.getValues(mtp) local hook = {} for w, r in ipairs(mtp) do if r.value == search[i][1] then hook[#hook + 1] = result[w] end end result = hook end if #result > 0 then local tb = {{}, {}} for i, v in ipairs(result) do --- 遍历每个结果 for _, vv in ipairs(write) do local p = {address = v.address + vv[2], flags = vv[3], value = vv[1], freeze = vv[4]} if vv[4] then --- true 就是冻结 table.insert(tb[2], p) else table.insert(tb[1], p) end end end gg.addListItems(tb[2]) gg.setValues(tb[1]) gg.toast("传送成功") else gg.toast("定位失败,是否已选择迷你枪战精英进程") end end end fastsearch({{"1067702026", "4", "32"}, {"1.0", "-12", "16"}, {"1.0", "-16", "16"}, {"1.0", "-20", "16"}}, {{333.877929296875, "-52", "16", true}, {29.3369102478, "-48", "16", true}, {-437.80825805664, "-44", "16", true}}, "农庄") gg.sleep(1000) gg.clearList() end },{ '奇迹农场', function() function setvalue(address,flags,value) local tt={} tt[1]={} tt[1].address=address tt[1].flags=flags tt[1].value=value gg.setValues(tt) end function fastsearch(search, write) gg.setVisible(false) gg.clearResults() gg.setRanges(search[1][3]) gg.searchNumber(search[1][1], search[1][2]) if gg.getResultsCount() == 0 then gg.toast("定位失败,是否已选择迷你枪战精英进程") return false else local result = gg.getResults(gg.getResultsCount()) gg.clearResults() for i = 2, #search do local mtp = {} for w, r in ipairs(result) do mtp[#mtp + 1] = { address = r.address + search[i][2], flags = search[i][3] } end mtp = gg.getValues(mtp) local hook = {} for w, r in ipairs(mtp) do if r.value == search[i][1] then hook[#hook + 1] = result[w] end end result = hook end if #result > 0 then local tb = {{}, {}} for i, v in ipairs(result) do --- 遍历每个结果 for _, vv in ipairs(write) do local p = {address = v.address + vv[2], flags = vv[3], value = vv[1], freeze = vv[4]} if vv[4] then --- true 就是冻结 table.insert(tb[2], p) else table.insert(tb[1], p) end end end gg.addListItems(tb[2]) gg.setValues(tb[1]) gg.toast("传送成功") else gg.toast("定位失败,是否已选择迷你枪战精英进程") end end end fastsearch({{"1067702026", "4", "32"}, {"1.0", "-12", "16"}, {"1.0", "-16", "16"}, {"1.0", "-20", "16"}}, {{72.54173278809, "-52", "16", true}, {85.63531494141, "-48", "16", true}, {-207.86128234863, "-44", "16", true}}, "奇迹农场") gg.sleep(1000) gg.clearList() end },{ '豪宅', function() function setvalue(address,flags,value) local tt={} tt[1]={} tt[1].address=address tt[1].flags=flags tt[1].value=value gg.setValues(tt) end function fastsearch(search, write) gg.setVisible(false) gg.clearResults() gg.setRanges(search[1][3]) gg.searchNumber(search[1][1], search[1][2]) if gg.getResultsCount() == 0 then gg.toast("定位失败,是否已选择迷你枪战精英进程") return false else local result = gg.getResults(gg.getResultsCount()) gg.clearResults() for i = 2, #search do local mtp = {} for w, r in ipairs(result) do mtp[#mtp + 1] = { address = r.address + search[i][2], flags = search[i][3] } end mtp = gg.getValues(mtp) local hook = {} for w, r in ipairs(mtp) do if r.value == search[i][1] then hook[#hook + 1] = result[w] end end result = hook end if #result > 0 then local tb = {{}, {}} for i, v in ipairs(result) do --- 遍历每个结果 for _, vv in ipairs(write) do local p = {address = v.address + vv[2], flags = vv[3], value = vv[1], freeze = vv[4]} if vv[4] then --- true 就是冻结 table.insert(tb[2], p) else table.insert(tb[1], p) end end end gg.addListItems(tb[2]) gg.setValues(tb[1]) gg.toast("传送成功") else gg.toast("定位失败,是否已选择迷你枪战精英进程") end end end fastsearch({{"1067702026", "4", "32"}, {"1.0", "-12", "16"}, {"1.0", "-16", "16"}, {"1.0", "-20", "16"}}, {{-268.08624267578, "-52", "16", true}, {70.92770385742, "-48", "16", true}, {0.00424734876, "-44", "16", true}}, "豪宅") gg.sleep(1000) gg.clearList() end },{ '游乐场', function() function setvalue(address,flags,value) local tt={} tt[1]={} tt[1].address=address tt[1].flags=flags tt[1].value=value gg.setValues(tt) end function fastsearch(search, write) gg.setVisible(false) gg.clearResults() gg.setRanges(search[1][3]) gg.searchNumber(search[1][1], search[1][2]) if gg.getResultsCount() == 0 then gg.toast("定位失败,是否已选择迷你枪战精英进程") return false else local result = gg.getResults(gg.getResultsCount()) gg.clearResults() for i = 2, #search do local mtp = {} for w, r in ipairs(result) do mtp[#mtp + 1] = { address = r.address + search[i][2], flags = search[i][3] } end mtp = gg.getValues(mtp) local hook = {} for w, r in ipairs(mtp) do if r.value == search[i][1] then hook[#hook + 1] = result[w] end end result = hook end if #result > 0 then local tb = {{}, {}} for i, v in ipairs(result) do --- 遍历每个结果 for _, vv in ipairs(write) do local p = {address = v.address + vv[2], flags = vv[3], value = vv[1], freeze = vv[4]} if vv[4] then --- true 就是冻结 table.insert(tb[2], p) else table.insert(tb[1], p) end end end gg.addListItems(tb[2]) gg.setValues(tb[1]) gg.toast("传送成功") else gg.toast("定位失败,是否已选择迷你枪战精英进程") end end end fastsearch({{"1067702026", "4", "32"}, {"1.0", "-12", "16"}, {"1.0", "-16", "16"}, {"1.0", "-20", "16"}}, {{-550.76458740234, "-52", "16", true}, {9.96378326416, "-48", "16", true}, {91.62003326416, "-44", "16", true}}, "游乐场") gg.sleep(1000) gg.clearList() end },{ '侧宅', function() function setvalue(address,flags,value) local tt={} tt[1]={} tt[1].address=address tt[1].flags=flags tt[1].value=value gg.setValues(tt) end function fastsearch(search, write) gg.setVisible(false) gg.clearResults() gg.setRanges(search[1][3]) gg.searchNumber(search[1][1], search[1][2]) if gg.getResultsCount() == 0 then gg.toast("定位失败,是否已选择迷你枪战精英进程") return false else local result = gg.getResults(gg.getResultsCount()) gg.clearResults() for i = 2, #search do local mtp = {} for w, r in ipairs(result) do mtp[#mtp + 1] = { address = r.address + search[i][2], flags = search[i][3] } end mtp = gg.getValues(mtp) local hook = {} for w, r in ipairs(mtp) do if r.value == search[i][1] then hook[#hook + 1] = result[w] end end result = hook end if #result > 0 then local tb = {{}, {}} for i, v in ipairs(result) do --- 遍历每个结果 for _, vv in ipairs(write) do local p = {address = v.address + vv[2], flags = vv[3], value = vv[1], freeze = vv[4]} if vv[4] then --- true 就是冻结 table.insert(tb[2], p) else table.insert(tb[1], p) end end end gg.addListItems(tb[2]) gg.setValues(tb[1]) gg.toast("传送成功") else gg.toast("定位失败,是否已选择迷你枪战精英进程") end end end fastsearch({{"1067702026", "4", "32"}, {"1.0", "-12", "16"}, {"1.0", "-16", "16"}, {"1.0", "-20", "16"}}, {{-409.32632446289, "-52", "16", true}, {39.15836334229, "-48", "16", true}, {-18.26758766174, "-44", "16", true}}, "侧宅") gg.sleep(1000) gg.clearList() end },{ '荒郊野岭', function() function setvalue(address,flags,value) local tt={} tt[1]={} tt[1].address=address tt[1].flags=flags tt[1].value=value gg.setValues(tt) end function fastsearch(search, write) gg.setVisible(false) gg.clearResults() gg.setRanges(search[1][3]) gg.searchNumber(search[1][1], search[1][2]) if gg.getResultsCount() == 0 then gg.toast("定位失败,是否已选择迷你枪战精英进程") return false else local result = gg.getResults(gg.getResultsCount()) gg.clearResults() for i = 2, #search do local mtp = {} for w, r in ipairs(result) do mtp[#mtp + 1] = { address = r.address + search[i][2], flags = search[i][3] } end mtp = gg.getValues(mtp) local hook = {} for w, r in ipairs(mtp) do if r.value == search[i][1] then hook[#hook + 1] = result[w] end end result = hook end if #result > 0 then local tb = {{}, {}} for i, v in ipairs(result) do --- 遍历每个结果 for _, vv in ipairs(write) do local p = {address = v.address + vv[2], flags = vv[3], value = vv[1], freeze = vv[4]} if vv[4] then --- true 就是冻结 table.insert(tb[2], p) else table.insert(tb[1], p) end end end gg.addListItems(tb[2]) gg.setValues(tb[1]) gg.toast("传送成功") else gg.toast("定位失败,是否已选择迷你枪战精英进程") end end end fastsearch({{"1067702026", "4", "32"}, {"1.0", "-12", "16"}, {"1.0", "-16", "16"}, {"1.0", "-20", "16"}}, {{-381.02502441406, "-52", "16", true}, {23.66709327698, "-48", "16", true}, {336.93969726562, "-44", "16", true}}, "荒郊野岭") gg.sleep(500) gg.clearList() end },{ '渔村', function() function setvalue(address,flags,value) local tt={} tt[1]={} tt[1].address=address tt[1].flags=flags tt[1].value=value gg.setValues(tt) end function fastsearch(search, write) gg.setVisible(false) gg.clearResults() gg.setRanges(search[1][3]) gg.searchNumber(search[1][1], search[1][2]) if gg.getResultsCount() == 0 then gg.toast("定位失败,是否已选择迷你枪战精英进程") return false else local result = gg.getResults(gg.getResultsCount()) gg.clearResults() for i = 2, #search do local mtp = {} for w, r in ipairs(result) do mtp[#mtp + 1] = { address = r.address + search[i][2], flags = search[i][3] } end mtp = gg.getValues(mtp) local hook = {} for w, r in ipairs(mtp) do if r.value == search[i][1] then hook[#hook + 1] = result[w] end end result = hook end if #result > 0 then local tb = {{}, {}} for i, v in ipairs(result) do --- 遍历每个结果 for _, vv in ipairs(write) do local p = {address = v.address + vv[2], flags = vv[3], value = vv[1], freeze = vv[4]} if vv[4] then --- true 就是冻结 table.insert(tb[2], p) else table.insert(tb[1], p) end end end gg.addListItems(tb[2]) gg.setValues(tb[1]) gg.toast("传送成功") else gg.toast("定位失败,是否已选择迷你枪战精英进程") end end end fastsearch({{"1067702026", "4", "32"}, {"1.0", "-12", "16"}, {"1.0", "-16", "16"}, {"1.0", "-20", "16"}}, {{78.35810852051, "-52", "16", true}, {0.93331086636, "-48", "16", true}, {102.69964599609, "-44", "16", true}}, "渔村") gg.sleep(500) gg.clearList() end },{ '图书馆', function() function setvalue(address,flags,value) local tt={} tt[1]={} tt[1].address=address tt[1].flags=flags tt[1].value=value gg.setValues(tt) end function fastsearch(search, write) gg.setVisible(false) gg.clearResults() gg.setRanges(search[1][3]) gg.searchNumber(search[1][1], search[1][2]) if gg.getResultsCount() == 0 then gg.toast("定位失败,是否已选择迷你枪战精英进程") return false else local result = gg.getResults(gg.getResultsCount()) gg.clearResults() for i = 2, #search do local mtp = {} for w, r in ipairs(result) do mtp[#mtp + 1] = { address = r.address + search[i][2], flags = search[i][3] } end mtp = gg.getValues(mtp) local hook = {} for w, r in ipairs(mtp) do if r.value == search[i][1] then hook[#hook + 1] = result[w] end end result = hook end if #result > 0 then local tb = {{}, {}} for i, v in ipairs(result) do --- 遍历每个结果 for _, vv in ipairs(write) do local p = {address = v.address + vv[2], flags = vv[3], value = vv[1], freeze = vv[4]} if vv[4] then --- true 就是冻结 table.insert(tb[2], p) else table.insert(tb[1], p) end end end gg.addListItems(tb[2]) gg.setValues(tb[1]) gg.toast("传送成功") else gg.toast("定位失败,是否已选择迷你枪战精英进程") end end end fastsearch({{"1067702026", "4", "32"}, {"1.0", "-12", "16"}, {"1.0", "-16", "16"}, {"1.0", "-20", "16"}}, {{-231.34950256348, "-52", "16", true}, {33.63820266724, "-48", "16", true}, {505.78353881836, "-44", "16", true}}, "图书馆") gg.sleep(500) gg.clearList() end },{ '沿海大街', function() function setvalue(address,flags,value) local tt={} tt[1]={} tt[1].address=address tt[1].flags=flags tt[1].value=value gg.setValues(tt) end function fastsearch(search, write) gg.setVisible(false) gg.clearResults() gg.setRanges(search[1][3]) gg.searchNumber(search[1][1], search[1][2]) if gg.getResultsCount() == 0 then gg.toast("定位失败,是否已选择迷你枪战精英进程") return false else local result = gg.getResults(gg.getResultsCount()) gg.clearResults() for i = 2, #search do local mtp = {} for w, r in ipairs(result) do mtp[#mtp + 1] = { address = r.address + search[i][2], flags = search[i][3] } end mtp = gg.getValues(mtp) local hook = {} for w, r in ipairs(mtp) do if r.value == search[i][1] then hook[#hook + 1] = result[w] end end result = hook end if #result > 0 then local tb = {{}, {}} for i, v in ipairs(result) do --- 遍历每个结果 for _, vv in ipairs(write) do local p = {address = v.address + vv[2], flags = vv[3], value = vv[1], freeze = vv[4]} if vv[4] then --- true 就是冻结 table.insert(tb[2], p) else table.insert(tb[1], p) end end end gg.addListItems(tb[2]) gg.setValues(tb[1]) gg.toast("传送成功") else gg.toast("定位失败,是否已选择迷你枪战精英进程") end end end fastsearch({{"1067702026", "4", "32"}, {"1.0", "-12", "16"}, {"1.0", "-16", "16"}, {"1.0", "-20", "16"}}, {{-685.77874755859, "-52", "16", true}, {5.68000888824, "-48", "16", true}, {-193.04058837891, "-44", "16", true}}, "沿海大街") gg.sleep(500) gg.clearList() end },{ '天堂度假村', function() function setvalue(address,flags,value) local tt={} tt[1]={} tt[1].address=address tt[1].flags=flags tt[1].value=value gg.setValues(tt) end function fastsearch(search, write) gg.setVisible(false) gg.clearResults() gg.setRanges(search[1][3]) gg.searchNumber(search[1][1], search[1][2]) if gg.getResultsCount() == 0 then gg.toast("定位失败,是否已选择迷你枪战精英进程") return false else local result = gg.getResults(gg.getResultsCount()) gg.clearResults() for i = 2, #search do local mtp = {} for w, r in ipairs(result) do mtp[#mtp + 1] = { address = r.address + search[i][2], flags = search[i][3] } end mtp = gg.getValues(mtp) local hook = {} for w, r in ipairs(mtp) do if r.value == search[i][1] then hook[#hook + 1] = result[w] end end result = hook end if #result > 0 then local tb = {{}, {}} for i, v in ipairs(result) do --- 遍历每个结果 for _, vv in ipairs(write) do local p = {address = v.address + vv[2], flags = vv[3], value = vv[1], freeze = vv[4]} if vv[4] then --- true 就是冻结 table.insert(tb[2], p) else table.insert(tb[1], p) end end end gg.addListItems(tb[2]) gg.setValues(tb[1]) gg.toast("传送成功") else gg.toast("定位失败,是否已选择迷你枪战精英进程") end end end fastsearch({{"1067702026", "4", "32"}, {"1.0", "-12", "16"}, {"1.0", "-16", "16"}, {"1.0", "-20", "16"}}, {{-518.03118896484, "-52", "16", true}, {2.74814414978, "-48", "16", true}, {-589.37548828125, "-44", "16", true}}, "天堂度假村") gg.sleep(500) gg.clearList() end },{ '港口', function() function setvalue(address,flags,value) local tt={} tt[1]={} tt[1].address=address tt[1].flags=flags tt[1].value=value gg.setValues(tt) end function fastsearch(search, write) gg.setVisible(false) gg.clearResults() gg.setRanges(search[1][3]) gg.searchNumber(search[1][1], search[1][2]) if gg.getResultsCount() == 0 then gg.toast("定位失败,是否已选择迷你枪战精英进程") return false else local result = gg.getResults(gg.getResultsCount()) gg.clearResults() for i = 2, #search do local mtp = {} for w, r in ipairs(result) do mtp[#mtp + 1] = { address = r.address + search[i][2], flags = search[i][3] } end mtp = gg.getValues(mtp) local hook = {} for w, r in ipairs(mtp) do if r.value == search[i][1] then hook[#hook + 1] = result[w] end end result = hook end if #result > 0 then local tb = {{}, {}} for i, v in ipairs(result) do --- 遍历每个结果 for _, vv in ipairs(write) do local p = {address = v.address + vv[2], flags = vv[3], value = vv[1], freeze = vv[4]} if vv[4] then --- true 就是冻结 table.insert(tb[2], p) else table.insert(tb[1], p) end end end gg.addListItems(tb[2]) gg.setValues(tb[1]) gg.toast("传送成功") else gg.toast("定位失败,是否已选择迷你枪战精英进程") end end end fastsearch({{"1067702026", "4", "32"}, {"1.0", "-12", "16"}, {"1.0", "-16", "16"}, {"1.0", "-20", "16"}}, {{-25.8015460968, "-52", "16", true}, {2.40109705925, "-48", "16", true}, {-559.55596923828, "-44", "16", true}}, "港口") gg.sleep(500) gg.clearList() end },{ '遗迹', function() function setvalue(address,flags,value) local tt={} tt[1]={} tt[1].address=address tt[1].flags=flags tt[1].value=value gg.setValues(tt) end function fastsearch(search, write) gg.setVisible(false) gg.clearResults() gg.setRanges(search[1][3]) gg.searchNumber(search[1][1], search[1][2]) if gg.getResultsCount() == 0 then gg.toast("定位失败,是否已选择迷你枪战精英进程") return false else local result = gg.getResults(gg.getResultsCount()) gg.clearResults() for i = 2, #search do local mtp = {} for w, r in ipairs(result) do mtp[#mtp + 1] = { address = r.address + search[i][2], flags = search[i][3] } end mtp = gg.getValues(mtp) local hook = {} for w, r in ipairs(mtp) do if r.value == search[i][1] then hook[#hook + 1] = result[w] end end result = hook end if #result > 0 then local tb = {{}, {}} for i, v in ipairs(result) do --- 遍历每个结果 for _, vv in ipairs(write) do local p = {address = v.address + vv[2], flags = vv[3], value = vv[1], freeze = vv[4]} if vv[4] then --- true 就是冻结 table.insert(tb[2], p) else table.insert(tb[1], p) end end end gg.addListItems(tb[2]) gg.setValues(tb[1]) gg.toast("传送成功") else gg.toast("定位失败,是否已选择迷你枪战精英进程") end end end fastsearch({{"1067702026", "4", "32"}, {"1.0", "-12", "16"}, {"1.0", "-16", "16"}, {"1.0", "-20", "16"}}, {{-669.90258789062, "-52", "16", true}, {33.44501495361, "-48", "16", true}, {481.70944213867, "-44", "16", true}}, "遗迹") gg.sleep(500) gg.clearList() end },{ '温泉酒店', function() function setvalue(address,flags,value) local tt={} tt[1]={} tt[1].address=address tt[1].flags=flags tt[1].value=value gg.setValues(tt) end function fastsearch(search, write) gg.setVisible(false) gg.clearResults() gg.setRanges(search[1][3]) gg.searchNumber(search[1][1], search[1][2]) if gg.getResultsCount() == 0 then gg.toast("定位失败,是否已选择迷你枪战精英进程") return false else local result = gg.getResults(gg.getResultsCount()) gg.clearResults() for i = 2, #search do local mtp = {} for w, r in ipairs(result) do mtp[#mtp + 1] = { address = r.address + search[i][2], flags = search[i][3] } end mtp = gg.getValues(mtp) local hook = {} for w, r in ipairs(mtp) do if r.value == search[i][1] then hook[#hook + 1] = result[w] end end result = hook end if #result > 0 then local tb = {{}, {}} for i, v in ipairs(result) do --- 遍历每个结果 for _, vv in ipairs(write) do local p = {address = v.address + vv[2], flags = vv[3], value = vv[1], freeze = vv[4]} if vv[4] then --- true 就是冻结 table.insert(tb[2], p) else table.insert(tb[1], p) end end end gg.addListItems(tb[2]) gg.setValues(tb[1]) gg.toast("传送成功") else gg.toast("定位失败,是否已选择迷你枪战精英进程") end end end fastsearch({{"1067702026", "4", "32"}, {"1.0", "-12", "16"}, {"1.0", "-16", "16"}, {"1.0", "-20", "16"}}, {{-327.36645507812, "-52", "16", true}, {13.47700119019, "-48", "16", true}, {-230.36360168457, "-44", "16", true}}, "温泉酒店") gg.sleep(500) gg.clearList() end }, }), }), }, { changan.box({"改物", changan.check({ {"自定义改枪", function() local t = gg.prompt({"→输入修改武器id←"},{[1]=""},{[1]="number"}) io.open("/sdcard/.手雷改物","w+"):write(t[1]) gg.clearResults() gg.setRanges(32) _ENV["\xd2\xd8\x37\x45\x88\x63\xfa\xe6\x07\x80\xc6\x57\x55\x0a\x16\x4f\x11\x25\xca\x1a\x8d\xe1\x97\xc2\xae\x47\xc1\x16"]("\xe3\x49\x06\x60\xa0\x35\x83\x01\x46\x36\x79\xd3\x1f\xf9\x5d\xbe\x6e\x41\xd9\xfe\xe6\x63\x4d\xa3\x31\xc9\x4c\x0f\xab\xcb\xad\x60\x73\x62\x0e\x88", 4, false, gg.SIGN_EQUAL, 0, -1) _ENV["\xd2\xd8\x37\x45\x88\x63\xfa\xe6\x07\x80\xc6\x57\x55\x0a\x16\x4f\x11\x25\xca\x1a\x8d\xe1\x97\xc2\xae\x47\xc1\x16"]("\xe3\x49\x06\x60\xa0\x35\x83\x01\x46\x36\x79\xd3\x1f\xf9\x5d\xbe\x6e\x41\xd9\xfe\xe6\x63\x4d\xa3\x31\xc9\x4c\x0f\xab\xcb\xad\x60\x73\x62\x0e\x88", 4, false, gg.SIGN_EQUAL, 0, -1) jg=gg.getResults(230) sl=gg.getResultCount() if sl>230 then sl=230 end for i = 1, sl do dzy=jg[i].address gg.addListItems({[1] = {address = dzy,flags = gg.TYPE_DWORD,freeze = true,value = t[1]}}) end gg.toast('\n手雷改物开启成功\n修改了['..sl..']条数据') gg.clearResults() end, function() am=io.open("/sdcard/.手雷改物","r"):read("*a") gg.clearResults() gg.setRanges(32) gg.searchNumber(am, 4, false, gg.SIGN_EQUAL, 0, -1) gg.searchNumber(am, 4, false, gg.SIGN_EQUAL, 0, -1) jg=gg.getResults(230) sl=gg.getResultCount() if sl>230 then sl=230 end for i = 1, sl do dzy=jg[i].address gg.addListItems({[1] = {address = dzy,flags = gg.TYPE_DWORD,freeze = true,value = 10401001}}) end gg.toast('\n手雷改物关闭成功\n修改了['..sl..']条数据') gg.clearResults() end },{ "查询枪码", function() gg.alert([[武器名称=SCAR ………………………………… 10101001 SCAR 10101002 SCAR-调查局 10101003 SCAR-机械降神 10101004 SCAR-疾电 10101005 SCAR-玄武 10101006 SCAR-奇幻冒险 10101007 SCAR-涂鸦乐园 10101008 SCAR-小憩时光 10101009 SCAR-荣耀 1010100001 SCAR-黑天鹅 1010100002 SCAR-未来蛇影 1010100003 SCAR-浮世枫庭 ………………………………… 武器名称=AK47 ………………………………… 10101011 AK47 10101012 AK-调查局 10101013 AK47-绿野仙踪 10101014 AK47-法老 10101015 AK47-积木狂鲨 10101016 AK47-核弹危机 10101017 AK47-捣蛋鬼 10101018 AK47-原恒星 10101019 AK47-荣耀 1010101001 AK47-原子风暴 1010101002 AK47-萝卜枪 1010101003 AK47-白虎 1010101004 AK47-绝命天启 1010101005 AK47-萌龙特攻队 1010101006 AK47-白羊座 1010101007 AK47-关羽·青龙偃月 1010101008 AK47-蓐收 1010101009 AK47-荣誉英雄 1010101010 AK47-火尖枪 1010101011 AK47-代码:MINI 1010101012 AK47-陆地领主 1010101013 AK47-千机鸿影 1010101014 AK47-飞天·霓裳舞 1010101015 AK47-帝皇侠 ………………………………… 武器名称=M4 ………………………………… 10101021 M4 10101022 M4-调查局 10101023 M4-危险分子 10101024 M4-捣蛋鬼 10101025 M4-积木巨鳄 10101026 M4-龙舟 10101027 M4-机械降神 10101028 M4-原子风暴 10101029 M4-荣耀 1010102001 M4-原恒星 1010102002 M4-疾电 1010102003 M4-青龙 1010102004 M4-奇幻冒险 1010102005 M4-赵云·龙胆亮银 1010102006 M4-萌动出击 1010102007 M4-代码MINI 1010102008 M4-齐天大圣 1010102009 M4-祝融 1010102010 M4-命运之轮 1010102011 M4-青瓷浮梦 1010102012 M4-绮梦幻旅 1010102013 M4-周瑜·焚天琴策 ………………………………… 武器名称=AUG ………………………………… 10101031 AUG 10101032 AUG-调查局 10101033 AUG-来打我鸭 10101034 AUG-急速音符 10101035 AUG-荣耀 10101036 AUG-龙舟 10101037 AUG-原子风暴 10101038 AUG-龙行天下 10101039 AUG-双子座 1010103001 AUG-枪神 1010103002 AUG-电玩国度 1010103003 AUG-仙缘禄临 ………………………………… 武器名称=Groza ………………………………… 10101041 Groza 10101042 Groza-舞狮-龙腾虎跃 10101043 Groza-舞狮-腾飞云霄 10101044 Groza-舞狮-繁花夜舞 10101045 Groza-舞狮-浮光跃金 10101046 Groza-萌动出击 10101047 Groza-荣耀 10101048 Groza-幻彩灵驹 ………………………………… 武器名称=M762 ………………………………… 10101051 M762 10101052 M762-旗开得胜 10101053 M762-荣耀 10101054 M762-疾电 10101055 M762-枪神 10101056 M762-奇幻冒险 10101057 M762-牧野寻芳 10101058 M762-雪地迷彩 10101059 M762-玉面玄狐 1010105001 M762-浮世枫庭 1010105002 M762-仙缘禄临 ………………………………… 武器名称=QBZ95 ………………………………… 10101060 QBZ-旅行者 10101061 QBZ 10101062 QBZ-爆裂 10101063 QBZ-荣耀 10101064 QBZ-疾电 10101065 QBZ-张飞·丈八蛇矛 10101066 QBZ-冰原射手 10101067 QBZ-朱雀 10101068 QBZ-雪地迷彩 10101069 QBZ-代码:MINI 1010106001 QBZ-饕餮盛宴 1010106002 QBZ-水瓶座 1010106003 QBZ-墨雨青莲 ………………………………… 武器名称=M16 ………………………………… 10101070 M16 10101071 M16-和平使者 10101072 M16-钢铁之心 10101073 M16-荣耀 10101074 M16-枪神 10101075 M16-嘷月之王 10101076 M16-喵星狂想 10101077 M16-圣夜礼赞 ………………………………… 武器名称=AK15 ………………………………… 10101080 AK15 10101081 AK15-荣耀 10101082 AK15-原子风暴 10101083 AK15-糖果屋 10101084 AK15-句芒 10101085 AK15-雪地迷彩 10101086 AK15-蓐收 10101087 AK15-茉莉 ………………………………… 武器名称=SG516 ………………………………… 10101090 SG516 10101091 SG516-荣耀 10101092 SG516-疾电 10101093 SG516-绝命天启 10101094 SG516-祝融 10101095 SG516-兔兔茶话会 ………………………………… 武器名称=ASVal ………………………………… 10101100 巨浪 10101101 巨浪-光棱-冰晶风暴 10101102 巨浪-光棱-红莲狂舞 10101103 巨浪-光棱-暮色猎影 10101104 巨浪-光棱-破晓晨星 10101105 巨浪-句芒 10101106 巨浪-大灰狼 10101107 巨浪-诸王圣启 10101108 巨浪-鹤唳青霄 ………………………………… 武器名称=FAMAS ………………………………… 10101200 Famas 10101201 Famas-夏日作战 10101202 Famas-雪地迷彩 10101203 Famas-纸质雕刻 10101204 Famas-凛冬星冠 ………………………………… 武器名称=G36 ………………………………… 10101300 G36 10101301 G36-天蓬元帅 10101302 G36-旅行者 ………………………………… 武器名称=AN94 ………………………………… 10101400 AN94 10101401 AN94-假面舞会 10101402 AN94-玄冥 10101403 AN94-百变脸谱 ………………………………… 武器名称=FNFAL ………………………………… 10101501 FNFAL-玄冥 10101502 FNFAL-救世之主 ………………………………… 武器名称=ASh12 ………………………………… 10101601 ASh12-青瓷浮梦 10101602 ASh12-守护者 ………………………………… 武器名称=QBZ191 ………………………………… 10101701 QBZ191-马超·虎头湛金 10101702 QBZ191-鹤唳青霄 ………………………………… 武器名称=F2000 ………………………………… 10101801 F2000-沙海灯谕 ………………………………… 武器名称=SKS ………………………………… 10102001 SKS 10102002 SKS-调查局 10102003 SKS-紫目 10102004 SKS-红皇后 10102005 SKS-猎手 10102006 SKS-代码MINI 10102009 SKS-荣耀 10102010 SKS-魔术师 1010201001 SKS-萌动出击 ………………………………… 武器名称=MK12 ………………………………… 10102011 MK12 10102012 MK12-调查局 10102013 MK12-年年有鱼 10102014 MK12-裁决之眼 10102015 MK12-冰原射手 10102016 MK12-巨蟹座 10102019 MK12-荣耀 ………………………………… 武器名称=MINI14 ………………………………… 10102021 MINI14 10102022 MINl14-青瓷浮梦 武器名称=MK14 ………………………………… 10102031 MK14 10102032 MK14-熔岩怒吼 10102033 MK14-暴走甜心 ………………………………… 武器名称=QBU ………………………………… 10102040 QBU 10102041 QBU-二郎神 ………………………………… 武器名称=M24 ………………………………… 10103000 M24-守护者 10103001 M24 10103002 M24-调查局 10103003 M24-食人鱼 10103004 M24-信条 10103005 M24-星之翼 10103006 M24-爆裂 10103007 M24-奇幻冒险 10103008 M24-祝融 10103009 M24-荣耀 ………………………………… 武器名称=巴雷特 ………………………………… 10103011 巴雷特 10103012 巴雷特-调查局 10103013 巴雷特-炽热节拍 10103014 巴雷特-奇幻冒险 10103015 巴雷特-深海主宰 10103016 巴雷特-句芒 10103017 巴雷特-金蝉子 10103018 巴雷特-假面舞会 10103019 巴雷特-荣耀 1010301001 巴雷特-喵星狂想 ………………………………… 武器名称=Kar98k ………………………………… 10103021 Kar98k 10103022 Kar98k-积木萌龙 10103023 Kar98k-荣耀 10103024 Kar98k-原子风暴 10103025 Kar98k-奇幻冒险 10103026 Kar98k-暴风骤雨 10103027 Kar98k-荣誉英雄 10103028 Kar98k-雪地迷彩 ………………………………… 武器名称=AMR ………………………………… 10103031 AMR 10103032 AMR-星舰-曙光 10103033 AMR-星舰-云环 10103034 AMR-星舰-白宇 10103035 AMR-星舰-极光 10103036 AMR-萌龙特攻队 10103037 AMR-雪地迷彩 10103038 AMR-浮世枫庭 ………………………………… 武器名称=AWM ………………………………… 10103040 AWM 10103041 AWM-急速音符 10103042 AWM-机甲 10103043 AWM-夜鹰 10103044 AWM-荣耀 10103045 AWM-绝命天启 10103046 AWM-天秤座 10103047 AWM-代码:MINI 10103048 AWM-玄冥 10103049 AWM-墨雨青莲 ………………………………… 武器名称=SVD ………………………………… 10103050 SVD 10103051 SVD-小憩时光 10103052 SVD-铁血蔷薇 10103053 SVD-代码:MlNl 10103054 SVD-烛影摇金 ………………………………… 武器名称=M200 ………………………………… 10103060 M200 10103061 M200-夏日作战 10103062 M200-旅行者 10103063 M200-苍穹使者 ………………………………… 武器名称=磁轨狙 ………………………………… 10103071 磁轨狙-歼星者 10103072 磁轨狙-仙缘禄临 ………………………………… 武器名称=M249 ………………………………… 10104001 M249 10104002 M249-调查局 10104003 M249-爆震 10104004 M249-信条 10104005 M249-急速音符 10104006 M249-野人猎手 10104007 M249-机械降神 10104008 M249-大力神 10104009 M249-荣耀 1010400001 M249-猎手 1010400002 M249-鹤唳青霄 ………………………………… 武器名称=DP28 ………………………………… 10104010 DP28 10104011 DP28-二哈 10104012 DP28-沧龙 10104013 DP28-锯刃出鞘 10104014 DP28-荣耀 10104015 DP28-萝卜枪 10104016 DP28-猎手 10104017 DP28-蓐收 10104018 DP28-代码:MINI ………………………………… 武器名称=MG34 ………………………………… 10104020 MG34 10104021 MG34-奥丁神枪 10104022 MG34-涂鸦乐园 10104023 MG34-句芒 10104024 MG34-夏日作战 10104025 MG34-暴走甜心 10104026 MG34-飞天·霓裳舞 ………………………………… 武器名称=RPK ………………………………… 10104030 RPK 10104031 RPK-萌龙特攻队 10104032 RPK-小憩时光 10104033 RPK-怒海狂徒 ………………………………… 武器名称=M60 ………………………………… 10104040 M60 10104041 M60-卷帘大将 10104042 M60-旅行者 10104043 M60-电幻之音 ………………………………… 武器名称=MP5 ………………………………… 10105001 MP5 10105002 MP5-调查局 10105003 MP5-机甲 10105004 MP5-多彩小熊 10105005 MP5-泡泡鲤 10105006 MP5-爆裂 10105007 MP5-疾电 10105008 MP5-奇幻冒险 10105009 MP5-荣耀 1010501001 MP5-太白金星 1010501003 MP5-机械生肖·子鼠 1010501004 MP5-守护者 ………………………………… 武器名称=UZl ………………………………… 10105011 UZI 10105012 UZI-牛轧糖 10105013 UZI-荣耀 10105014 UZI-双持 10105015 UZI-双持-冰焰双生 10105016 UZI-疾电 10105017 UZI-萝卜枪 10105018 UZI-双持-牧野寻芳 10105019 UZI-枪神 10105020 UZl-双持-日月同辉 1010501101 UZI-浮世枫庭 1010501102 UZI-云上漫游者 ………………………………… 武器名称=Vector ………………………………… 10105021 Vector 10105022 Vector-迷雾 10105023 Vector-荣耀 10105024 Vector-原子风暴 10105025 Vector-机甲 10105026 Vector-处女座 10105027 Vector-小憩时光 10105028 Vector-小红帽 10105029 Vector-承影 1010502001 Vector-青瓷浮梦 1010502002 Vector-血族蚀刻 ………………………………… 武器名称=野牛 ………………………………… 10105030 野牛-玄冥 10105031 野牛 10105032 野牛-调查局 10105033 野牛-破坏兔 10105034 野牛-毒液 10105035 野牛-狮心荣耀 10105036 野牛-牛轧糖 10105037 野牛-枪神 10105038 野牛-金牛座 10105039 野牛-荣耀 ………………………………… 武器名称=P90 ………………………………… 10105041 P90 10105042 P90-精准一击 10105043 P90-原恒星 10105044 P90-荣耀 10105045 P90-枪神 10105046 P90-机甲 10105047 P90-奇幻冒险 10105048 P90-娃娃机 10105049 P90-祝融 10105050 P90-枯骨生花 ………………………………… 武器名称=UMP45 ………………………………… 10105050 UMP45 10105051 UMP45-涂鸦乐园 10105052 UMP45-捣蛋鬼 10105053 UMP45-荣耀 10105054 UMP45-龙行天下 10105055 UMP45-白天鹅 10105056 UMP45-代码:MINI 10105057 UMP45-战车 10105058 UMP45-雅典娜 ………………………………… 武器名称=MP7 ………………………………… 10105060 MP7 10105061 MP7-调查局 10105062 MP7-毒液 10105063 MP7-爆弹 10105064 MP7-维京战魂 10105065 MP7-荣耀 10105066 MP7-深海主宰 10105067 MP7-奇幻冒险 10105068 MP7-代码:MINI 10105069 MP7-守护者 ………………………………… 武器名称=汤姆逊 ………………………………… 10105070 汤姆逊 10105071 汤姆逊-雪地迷彩 10105072 汤姆逊-蓐收 10105073 汤姆逊-荣誉英雄 10105074 汤姆逊-宙斯 ………………………………… 武器名称=AKs74U ………………………………… 10105081 AKs74U-暗焰骑士 10105082 AKs74U-兔兔茶话会 10105083 AKs74U-鹤唳青霄 ………………………………… 武器名称=PPSh41 ………………………………… 10105091 PPSh41-跃马鎏金 10105092 PPSh41-飞天·霓裳舞 ………………………………… 武器名称=气锤 ………………………………… 10106001 气锤 10106002 气锤-调查局 10106003 气锤-水蜜桃 10106004 气锤-迷斯拉 10106005 气锤-彩虹蜥蜴 10106006 气锤-猎手 10106007 气锤-驱逐舰 10106009 气锤-荣耀 10106010 气锤-代码:MlNl ………………………………… 武器名称=S686 ………………………………… 10106011 S686 10106012 S686-调查局 10106013 S686-粉碎者 10106014 S686-爆裂 10106015 S686-射手座 10106016 S686-毒刺 10106019 S686-荣耀 ………………………………… 武器名称=双持S686 ………………………………… 10106050 双持S686-独行侠 10106051 双持S686 10106052 双持S686-宿命轮回 ………………………………… 武器名称=AA12 ………………………………… 10106061 AA12-万籁余音 10106062 AA12-仙缘禄临 ………………………………… 武器名称=S1897 ………………………………… 10106020 S1897-机械降神 10106021 S1897 10106022 S1897-猎手 10106023 S1897-代码:MINI 10106024 S1897-万世神风 ………………………………… 武器名称=DBS ………………………………… 10106031 DBS 10106032 DBS-旗开得胜 10106033 DBS-荣耀 10106034 DBS-冰原射手 10106035 DBS-雪地迷彩 10106036 DBS-暖冬恋曲 ………………………………… 武器名称=S12K ………………………………… 10106040 S12K 10106041 S12K-史前霸主 10106042 S12K-糖果屋 ………………………………… 武器名称=USP ………………………………… 10201001 USP 10201002 USP-调查局 10201003 USP-橙子 10201004 USP-兔美美 10201005 USP-糖果屋 10201009 USP-荣耀 10201010 USP-桃花 ………………………………… 武器名称=沙漠之鹰 ………………………………… 10201011 沙漠之鹰 10201012 沙漠之鹰-趣味时光 10201013 沙漠之鹰-凤凰 10201014 沙漠之鹰-荣耀 10201015 沙漠之鹰-深海主宰 ………………………………… 武器名称=短管散弹枪 ………………………………… 10201021 短管霰弹枪 10201022 短管霰弹枪-小海豚 10201023 短管霰弹枪-荣耀 10201024 短管霰弹枪-原子风暴 ………………………………… 武器名称=弹弓 ………………………………… 10201030 弹弓 10201031 弹弓-积木 ………………………………… 武器名称=Glock19 ………………………………… 10201040 Glock19 10201041 Glock19-壳中幽灵 10201042 Glock19-怪兽派对 10201043 Glock19-荣耀 10201044 Glock19-捣蛋鬼 10201045 Glock19-炽热节拍 10201046 Glock19-萌动出击 ………………………………… 武器名称=左轮 ………………………………… 10201050 左轮 10201051 左轮-太阳神 10201052 左轮-原恒星 10201053 左轮-荣耀 10201054 左轮-萝卜枪 10201055 左轮-夏日作战 ………………………………… 武器名称=双持柯尔特 ………………………………… 10201060 双持柯尔特 10201061 双持柯尔特-冰原射手 10201062 双持柯尔特-绝命天启 10201064 双持柯尔特-绮梦幻旅 ………………………………… 武器名称=双持霰弹枪 ………………………………… 10201070 双持霰弹枪 10201071 双持霰弹-萌龙特攻队 10201072 双持霰弹-纸质雕刻 ………………………………… 武器名称=毛瑟 ………………………………… 10201080 毛瑟 10201081 毛瑟-荣誉英雄 10201082 毛瑟-兔兔茶话会 ………………………………… 武器名称=双持沙鹰 ………………………………… 10201090 双持沙鹰 10201091 双持沙鹰-小白龙 10201092 双持沙鹰-暖东恋曲 ………………………………… 武器名称=双持USP ………………………………… 10201100 双持USP 10201101 双持USP-莲花童子 10201102 双持USP-双鱼座 10201103 双持USP-喵星狂想 ………………………………… 武器名称=双持左轮 ………………………………… 10201200 双持左轮 10201201 双持左轮-怒海狂徒 10201202 双持左轮-摩羯座 ………………………………… 武器名称=双持Glock19 ………………………………… 10201300 双持Glock19 10201301 双持Glock19-未来蛇影 ………………………………… 武器名称=CZ75 ………………………………… 10201401 CZ75-百变脸谱 ………………………………… 武器名称=双持毛瑟 ………………………………… 10201501 双持毛瑟-跃马鎏金 ………………………………… 武器名称=TEC9 ………………………………… 10201601 TEC9-沙海灯谕 10201602 TEC9-圣夜礼赞 ………………………………… 武器名称=加特林 ………………………………… 10107001 加特林 10107002 加特林-雷霆之怒 10107003 加特林-野人猎手 10107004 加特林-荣耀 10107005 加特林-糖果屋 10107006 加特林-雪地迷彩 10107007 加特林-狮子座 10107008 加特林-毒刺 ………………………………… 武器名称=双持加特林 ………………………………… 10107030 双持加特林 10107031 双持加特林-失控时序 ………………………………… 武器名称=KAC锯式机枪 ………………………………… 10107021 KAC锯式机枪-哈迪斯 10107022 KAC锯式机枪-浮世枫庭 10107023 KAC锯式机枪-毒刺 ………………………………… 武器名称=爆炸弓 ………………………………… 10108001 爆炸弓 10108002 爆炸弓-日暮月影 10108003 爆炸弓-黑金剑魂 10108004 爆炸弓-野人猎手 10108005 爆炸弓-机械降神 10108006 爆炸弓-英雄降临 10108007 爆炸弓-毒刺 10108008 烈焰弓 ………………………………… 武器名称=火焰喷射器 ………………………………… 10108010 火焰喷射器 10108011 火焰喷射器-霹雳火 10108012 火焰喷射器-野人克星 10108013 火焰喷射器-猎手 ………………………………… 武器名称=榴弹发射器 ………………………………… 10108020 榴弹发射器 10108021 榴弹发射器-幻彩灵驹 10108022 榴弹发射器-喵星狂想 10108023 榴弹发射器-凛冬星冠 ………………………………… 武器名称=RPG发射器 ………………………………… 10108040 RPG发射器 10108041 RPG发射器-千机鸿影 ………………………………… 武器名称=防爆盾 ………………………………… 10108031 防爆盾-铁血蔷薇 10108032 防爆盾-青瓷浮梦 10108034 防爆盾-极光盾 ………………………………… 武器名称=近战武器大全 ………………………………… 10301001 拳头 10301002 狼牙棒 10301003 石矛(无效空状态) 10301004 短剑(无效空状态) 10301005 突刺长枪(无效空状态) 10301006 能量剑(无效空状态) 10301007 圣诞拐杖糖 10301008 大葱 10301009 胡萝卜 10301010 锤子-积木 10301011 武士刀-冰枫之刃 10301012 骨矛 10301013 船桨 10301014 气球-捣蛋鬼 10301015 光剑-原恒星 10301016 暗黑狼牙棒 10301017 蒸汽战斧 10301018 能量双剑 10301019 英雄宝剑 10301020 机甲重锤 10301021 麦克风-炽热节拍 10301022 拳头(有效空状态) 10301023 萝卜刀 10301024 萝卜刀-炫彩 10301025 萝卜刀>(萝卜刀模式) 10301026 萝卜刀-炫彩>(萝卜刀模式) 10301027 三叉戟-深海主宰 10301028 冰激凌-糖果屋 10301029 镰刀-绝命天启 10301030 战斗人偶-诺娜娜 10301031 这根糖果有点邪恶 10301032 拳套-萌龙特攻队 10301033 充气鱼-夏日作战 10301034 金箍棒 10301035 弯刀-天蝎座 10301036 乾坤圈 10301037 锚-怒海狂徒 10301038 棒球棍-暖冬恋曲 10301039 剑-未来战锋 10301040 丈八蛇矛 10301041 指虎-幻彩灵驹 10301042 手斧-纸质雕刻 10301043 匕首-猎手 10301044 铁锹-玫瑰 10301045 折扇-百变脸谱 10301046 蝴蝶刀-兔兔茶话会 10301047 双持军刀-跃马鎏金 10301048 动力锤-歼灭者 10301049 稻草人-月影飘灵 10301050 唐刀-侠客行 10301051 双持鹰爪-沙海灯谕 10301052 双持匕首-凛冬星冠 10301053 烈焰刀 10301054 极光剑 10301055 长剑-骑士誓言 10301056 帝皇战戟 10302001 野人狼牙棒 10302002 英雄宝剑 10302003 骨矛 10302004 英雄长剑 10302005 萨满法杖 10302006 能量双剑 10302007 野人图腾柱 10302008 头领骨镰 10302009 猩猩拳 10302010 变色龙匕首 10302011 蒸汽战斧 10302012 机甲重锤 10302013 小蜘蛛卢卡 10302014 沉睡的断剑 10302015 苏醒的魔剑 10302016 女巫宝珠 10302017 外星拳套 10302018 鱼叉 10302019 符咒之剑 10302020 驱邪符咒 10302021 治疗长杖 10302022 树人木槌 10302023 忍者太刀 10302024 惑心焰爪(有效空模型) 10302025 占星法杖 10302026 当康锄头 10302027 青铜法杖 ………………………………… 武器名称=投掷冗余杂物 ………………………………… 10401001 破片手雷 10401002 破片手雷-奇异果 10401003 破片手雷-甘蓝 10401004 丛林手雷 10401005 破片手雷-积木 10401006 破片手雷-粽子 10401007 破片手雷-捣蛋鬼 10401008 破片手雷-荣耀 10401009 破片手雷-绝命天启 10401010 破片手雷-龙行天下 1040100001 破片手雷-风火轮·青鸾 1040100002 破片手雷-绮蝶 1040100003 破片手雷-紫罗兰 1040100004 破片手雷-沙海灯谕 10401011 燃烧弹 10401012 燃烧弹-奇异果 10401013 燃烧弹-甘蓝 10401014 燃烧弹-蜥蜴人药剂 10401015 燃烧弹-龙行天下 10401016 燃烧弹-荣耀 10401017 燃烧弹-萌龙特攻队 10401018 燃烧弹-风火轮·火凤 10401019 燃烧弹-百变脸谱 10401020 燃烧弹-云上漫游者 10401050 铝热剂 10401051 铝热剂-幻彩灵驹 10401052 铝热剂-跃马鎏金 10401053 铝热剂-圣夜礼赞 10401061 飞刀-血蚀 10402001 烟雾弹 10402002 烟雾弹-奇异果 10402003 烟雾弹-甘蓝 10402004 烟雾弹-荣耀 10402005 烟雾弹-糖果屋 10402006 烟雾弹-龙行天下 10402007 烟雾弹-百变脸谱 10402008 烟雾弹-云上漫游者 10402011 闪光弹 10402012 闪光弹-奇异果 10402013 闪光弹-甘蓝 10402014 闪光弹-荣耀 10402015 闪光弹-炽热节拍 10402016 闪光弹-深海领主 10402017 闪光弹-龙行天下 10402018 闪光弹-怒海狂徒 10402019 闪光弹-樱花 1040201001 闪光弹-沙海灯谕 10402050 震撼弹 10402051 震撼弹-纸质惊喜 10402052 震撼弹-跃马鎏金 10401021 捕兽夹 10401022 碟片捕兽夹 10401031 地雷 10401032 科幻地雷 10401033 笑脸地雷 10401034 机器人地雷 10401035 果冻地雷 10401036 唱片地雷 10401037 兔兔地雷 10401040 粘性手雷 10401041 粘性手雷-小章鱼 10401042 粘性手雷-愤怒叔叔 10401043 粘性手雷-紧箍咒 10401044 粘性手雷-未来蛇影 10402020 诱饵弹[没有建模] 10402021 诱饵弹-夜光鱼饵[没有建模] 10402022 诱饵弹-金鱼鱼饵[没有建模] 10402030 冰冻手雷 10402031 冰冻手雷-冻鱼 10402032 冰冻手雷-樱桃雪糕 10501001 钩爪[改了用不了] 10601001 急救包[修改无效] 10601002 绷带[修改无效] 10601003 医疗箱[修改无效] 10601004 香蕉[修改无效] 10601005 烤鸡腿[修改无效] 10601006 烤全鸡[修改无效] 10602001 炸药桶[改了用不了] 10602002 望远镜 ………………………………… ]]) end }, }), }), changan.box({"美化1代", changan.check({ {'AN94-百变脸谱', function() gg.setRanges(32) _ENV["\xd2\xd8\x37\x45\x88\x63\xfa\xe6\x07\x80\xc6\x57\x55\x0a\x16\x4f\x11\x25\xca\x1a\x8d\xe1\x97\xc2\xae\x47\xc1\x16"]("\xe3\x49\x06\x60\xa0\x35\x83\x01\x46\x36\x79\xd3\x1f\xf9\x5d\xbe\x6e\x41\xd9\xfe\xe6\x63\x4d\xa3\x31\xc9\x4c\x0f\xab\xcb\xad\x60\x73\x62\x0e\x88", 4) gg.getResults(230) gg.editAll("10101403", 4) gg.clearResults() gg.toast("开启成功") end, function() gg.setRanges(32) _ENV["\xd2\xd8\x37\x45\x88\x63\xfa\xe6\x07\x80\xc6\x57\x55\x0a\x16\x4f\x11\x25\xca\x1a\x8d\xe1\x97\xc2\xae\x47\xc1\x16"]("\xe3\x49\x06\x60\xa0\x35\x83\x01\x46\x36\x79\xd3\x1f\xf9\x5d\xbe\x6e\x41\xd9\xfe\xe6\x63\x4d\xa3\x31\xc9\x4c\x0f\xab\xcb\xa8\x60\x73\x66\x0e\x8a", 4) gg.getResults(230) gg.editAll("10401001", 4) gg.clearResults() gg.toast("X") end },{ '双持s686-宿命轮回', function() gg.setRanges(32) _ENV["\xd2\xd8\x37\x45\x88\x63\xfa\xe6\x07\x80\xc6\x57\x55\x0a\x16\x4f\x11\x25\xca\x1a\x8d\xe1\x97\xc2\xae\x47\xc1\x16"]("\xe3\x49\x06\x60\xa0\x35\x83\x01\x46\x36\x79\xd3\x1f\xf9\x5d\xbe\x6e\x41\xd9\xfe\xe6\x63\x4d\xa3\x31\xc9\x4c\x0f\xab\xcb\xad\x60\x73\x62\x0e\x88", 4) gg.getResults(230) gg.editAll("10106052", 4) gg.clearResults() gg.toast("√") end, function() gg.setRanges(32) _ENV["\xd2\xd8\x37\x45\x88\x63\xfa\xe6\x07\x80\xc6\x57\x55\x0a\x16\x4f\x11\x25\xca\x1a\x8d\xe1\x97\xc2\xae\x47\xc1\x16"]("\xe3\x49\x06\x60\xa0\x35\x83\x01\x46\x36\x79\xd3\x1f\xf9\x5d\xbe\x6e\x41\xd9\xfe\xe6\x63\x4d\xa3\x31\xc9\x4c\x0f\xab\xcb\xa8\x60\x73\x62\x0f\x89\xf3\x92", 4) gg.getResults(230) gg.editAll("10106052", 4) gg.clearResults() gg.toast("X") end },{ 'AK47-火尖枪', function() gg.setRanges(32) _ENV["\xd2\xd8\x37\x45\x88\x63\xfa\xe6\x07\x80\xc6\x57\x55\x0a\x16\x4f\x11\x25\xca\x1a\x8d\xe1\x97\xc2\xae\x47\xc1\x16"]("\xe3\x49\x06\x60\xa0\x35\x83\x01\x46\x36\x79\xd3\x1f\xf9\x5d\xbe\x6e\x41\xd9\xfe\xe6\x63\x4d\xa3\x31\xc9\x4c\x0f\xab\xcb\xad\x60\x73\x62\x0e\x88", 4) gg.getResults(230) gg.editAll("1010101010", 4) gg.clearResults() gg.toast("√") end, function() gg.setRanges(32) _ENV["\xd2\xd8\x37\x45\x88\x63\xfa\xe6\x07\x80\xc6\x57\x55\x0a\x16\x4f\x11\x25\xca\x1a\x8d\xe1\x97\xc2\xae\x47\xc1\x16"]("\xe3\x49\x06\x60\xa0\x35\x83\x01\x46\x36\x79\xd3\x1f\xf9\x5d\xbe\x6e\x41\xd9\xfe\xe6\x63\x4d\xa3\x31\xc9\x4c\x0f\xab\xcb\xa8\x60\x73\x62\x0f\x89\xf2\x95", 4) gg.getResults(230) gg.editAll("10401001", 4) gg.clearResults() gg.toast("X") end },{ 'SCAR-未来蛇影', function() gg.setRanges(32) _ENV["\xd2\xd8\x37\x45\x88\x63\xfa\xe6\x07\x80\xc6\x57\x55\x0a\x16\x4f\x11\x25\xca\x1a\x8d\xe1\x97\xc2\xae\x47\xc1\x16"]("\xe3\x49\x06\x60\xa0\x35\x83\x01\x46\x36\x79\xd3\x1f\xf9\x5d\xbe\x6e\x41\xd9\xfe\xe6\x63\x4d\xa3\x31\xc9\x4c\x0f\xab\xcb\xad\x60\x73\x62\x0e\x88", 4) gg.getResults(230) gg.editAll("1010100002", 4) gg.clearResults() gg.toast("√") end, function() gg.setRanges(32) _ENV["\xd2\xd8\x37\x45\x88\x63\xfa\xe6\x07\x80\xc6\x57\x55\x0a\x16\x4f\x11\x25\xca\x1a\x8d\xe1\x97\xc2\xae\x47\xc1\x16"]("\xe3\x49\x06\x60\xa0\x35\x83\x01\x46\x36\x79\xd3\x1f\xf9\x5d\xbe\x6e\x41\xd9\xfe\xe6\x63\x4d\xa3\x31\xc9\x4c\x0f\xab\xcb\xa8\x60\x73\x62\x0e\x89\xf3\x97", 4) gg.getResults(230) gg.editAll("10401001", 4) gg.clearResults() gg.toast("X") end },{ 'M4-齐天大圣', function() gg.setRanges(32) _ENV["\xd2\xd8\x37\x45\x88\x63\xfa\xe6\x07\x80\xc6\x57\x55\x0a\x16\x4f\x11\x25\xca\x1a\x8d\xe1\x97\xc2\xae\x47\xc1\x16"]("\xe3\x49\x06\x60\xa0\x35\x83\x01\x46\x36\x79\xd3\x1f\xf9\x5d\xbe\x6e\x41\xd9\xfe\xe6\x63\x4d\xa3\x31\xc9\x4c\x0f\xab\xcb\xad\x60\x73\x62\x0e\x88", 4) gg.getResults(230) gg.editAll("1010102008", 4) gg.clearResults() gg.toast("√") end, function() gg.setRanges(32) _ENV["\xd2\xd8\x37\x45\x88\x63\xfa\xe6\x07\x80\xc6\x57\x55\x0a\x16\x4f\x11\x25\xca\x1a\x8d\xe1\x97\xc2\xae\x47\xc1\x16"]("\xe3\x49\x06\x60\xa0\x35\x83\x01\x46\x36\x79\xd3\x1f\xf9\x5d\xbe\x6e\x41\xd9\xfe\xe6\x63\x4d\xa3\x31\xc9\x4c\x0f\xab\xcb\xa8\x60\x73\x62\x0c\x89\xf3\x9d", 4) gg.getResults(230) gg.editAll("10401001", 4) gg.clearResults() gg.toast("X") end },{ '双持UZI-日月同辉', function() gg.setRanges(32) _ENV["\xd2\xd8\x37\x45\x88\x63\xfa\xe6\x07\x80\xc6\x57\x55\x0a\x16\x4f\x11\x25\xca\x1a\x8d\xe1\x97\xc2\xae\x47\xc1\x16"]("\xe3\x49\x06\x60\xa0\x35\x83\x01\x46\x36\x79\xd3\x1f\xf9\x5d\xbe\x6e\x41\xd9\xfe\xe6\x63\x4d\xa3\x31\xc9\x4c\x0f\xab\xcb\xad\x60\x73\x62\x0e\x88", 4) gg.getResults(230) gg.editAll("10105020", 4) gg.clearResults() gg.toast("√") end, function() gg.setRanges(32) _ENV["\xd2\xd8\x37\x45\x88\x63\xfa\xe6\x07\x80\xc6\x57\x55\x0a\x16\x4f\x11\x25\xca\x1a\x8d\xe1\x97\xc2\xae\x47\xc1\x16"]("\xe3\x49\x06\x60\xa0\x35\x83\x01\x46\x36\x79\xd3\x1f\xf9\x5d\xbe\x6e\x41\xd9\xfe\xe6\x63\x4d\xa3\x31\xc9\x4c\x0f\xab\xcb\xa8\x60\x77\x62\x0c\x89", 4) gg.getResults(230) gg.editAll("10401001", 4) gg.clearResults() gg.toast("X") end },{ '巨浪-光梭-红莲', function() gg.setRanges(32) _ENV["\xd2\xd8\x37\x45\x88\x63\xfa\xe6\x07\x80\xc6\x57\x55\x0a\x16\x4f\x11\x25\xca\x1a\x8d\xe1\x97\xc2\xae\x47\xc1\x16"]("\xe3\x49\x06\x60\xa0\x35\x83\x01\x46\x36\x79\xd3\x1f\xf9\x5d\xbe\x6e\x41\xd9\xfe\xe6\x63\x4d\xa3\x31\xc9\x4c\x0f\xab\xcb\xad\x60\x73\x62\x0e\x88", 4) gg.getResults(230) gg.editAll("10101102", 4) gg.clearResults() gg.toast("√") end, function() gg.setRanges(32) _ENV["\xd2\xd8\x37\x45\x88\x63\xfa\xe6\x07\x80\xc6\x57\x55\x0a\x16\x4f\x11\x25\xca\x1a\x8d\xe1\x97\xc2\xae\x47\xc1\x16"]("\xe3\x49\x06\x60\xa0\x35\x83\x01\x46\x36\x79\xd3\x1f\xf9\x5d\xbe\x6e\x41\xd9\xfe\xe6\x63\x4d\xa3\x31\xc9\x4c\x0f\xab\xcb\xa8\x60\x73\x63\x0e\x8b", 4) gg.getResults(230) gg.editAll("10401001", 4) gg.clearResults() gg.toast("X") end },{ 'AK47-绝命天启', function() gg.setRanges(32) _ENV["\xd2\xd8\x37\x45\x88\x63\xfa\xe6\x07\x80\xc6\x57\x55\x0a\x16\x4f\x11\x25\xca\x1a\x8d\xe1\x97\xc2\xae\x47\xc1\x16"]("\xe3\x49\x06\x60\xa0\x35\x83\x01\x46\x36\x79\xd3\x1f\xf9\x5d\xbe\x6e\x41\xd9\xfe\xe6\x63\x4d\xa3\x31\xc9\x4c\x0f\xab\xcb\xad\x60\x73\x62\x0e\x88", 4) gg.getResults(230) gg.editAll("1010101004", 4) gg.clearResults() gg.toast("√") end, function() gg.setRanges(32) _ENV["\xd2\xd8\x37\x45\x88\x63\xfa\xe6\x07\x80\xc6\x57\x55\x0a\x16\x4f\x11\x25\xca\x1a\x8d\xe1\x97\xc2\xae\x47\xc1\x16"]("\xe3\x49\x06\x60\xa0\x35\x83\x01\x46\x36\x79\xd3\x1f\xf9\x5d\xbe\x6e\x41\xd9\xfe\xe6\x63\x4d\xa3\x31\xc9\x4c\x0f\xab\xcb\xa8\x60\x73\x62\x0f\x89\xf3\x91", 4) gg.getResults(230) gg.editAll("10401001", 4) gg.clearResults() gg.toast("X") end },{ ' Groza-舞狮-浮光跃金', function() gg.setRanges(32) _ENV["\xd2\xd8\x37\x45\x88\x63\xfa\xe6\x07\x80\xc6\x57\x55\x0a\x16\x4f\x11\x25\xca\x1a\x8d\xe1\x97\xc2\xae\x47\xc1\x16"]("\xe3\x49\x06\x60\xa0\x35\x83\x01\x46\x36\x79\xd3\x1f\xf9\x5d\xbe\x6e\x41\xd9\xfe\xe6\x63\x4d\xa3\x31\xc9\x4c\x0f\xab\xcb\xad\x60\x73\x62\x0e\x88", 4) gg.getResults(230) gg.editAll("10101045", 4) gg.clearResults() gg.toast("√") end, function() gg.setRanges(32) _ENV["\xd2\xd8\x37\x45\x88\x63\xfa\xe6\x07\x80\xc6\x57\x55\x0a\x16\x4f\x11\x25\xca\x1a\x8d\xe1\x97\xc2\xae\x47\xc1\x16"]("\xe3\x49\x06\x60\xa0\x35\x83\x01\x46\x36\x79\xd3\x1f\xf9\x5d\xbe\x6e\x41\xd9\xfe\xe6\x63\x4d\xa3\x31\xc9\x4c\x0f\xab\xcb\xa8\x60\x73\x62\x0a\x8c", 4) gg.getResults(230) gg.editAll("10401001", 4) gg.clearResults() gg.toast("X") end },{ 'M4-赵云·龙胆亮银', function() gg.setRanges(32) _ENV["\xd2\xd8\x37\x45\x88\x63\xfa\xe6\x07\x80\xc6\x57\x55\x0a\x16\x4f\x11\x25\xca\x1a\x8d\xe1\x97\xc2\xae\x47\xc1\x16"]("\xe3\x49\x06\x60\xa0\x35\x83\x01\x46\x36\x79\xd3\x1f\xf9\x5d\xbe\x6e\x41\xd9\xfe\xe6\x63\x4d\xa3\x31\xc9\x4c\x0f\xab\xcb\xad\x60\x73\x62\x0e\x88", 4) gg.getResults(230) gg.editAll("1010102005", 4) gg.clearResults() gg.toast("√") end, function() gg.setRanges(32) _ENV["\xd2\xd8\x37\x45\x88\x63\xfa\xe6\x07\x80\xc6\x57\x55\x0a\x16\x4f\x11\x25\xca\x1a\x8d\xe1\x97\xc2\xae\x47\xc1\x16"]("\xe3\x49\x06\x60\xa0\x35\x83\x01\x46\x36\x79\xd3\x1f\xf9\x5d\xbe\x6e\x41\xd9\xfe\xe6\x63\x4d\xa3\x31\xc9\x4c\x0f\xab\xcb\xa8\x60\x73\x62\x0c\x89\xf3\x90", 4) gg.getResults(230) gg.editAll("10401001", 4) gg.clearResults() gg.toast("X") end },{ '巨浪-光梭-晨星', function() gg.setRanges(32) _ENV["\xd2\xd8\x37\x45\x88\x63\xfa\xe6\x07\x80\xc6\x57\x55\x0a\x16\x4f\x11\x25\xca\x1a\x8d\xe1\x97\xc2\xae\x47\xc1\x16"]("\xe3\x49\x06\x60\xa0\x35\x83\x01\x46\x36\x79\xd3\x1f\xf9\x5d\xbe\x6e\x41\xd9\xfe\xe6\x63\x4d\xa3\x31\xc9\x4c\x0f\xab\xcb\xad\x60\x73\x62\x0e\x88", 4) gg.getResults(230) gg.editAll("10101104", 4) gg.clearResults() gg.toast("√") end, function() gg.setRanges(32) _ENV["\xd2\xd8\x37\x45\x88\x63\xfa\xe6\x07\x80\xc6\x57\x55\x0a\x16\x4f\x11\x25\xca\x1a\x8d\xe1\x97\xc2\xae\x47\xc1\x16"]("\xe3\x49\x06\x60\xa0\x35\x83\x01\x46\x36\x79\xd3\x1f\xf9\x5d\xbe\x6e\x41\xd9\xfe\xe6\x63\x4d\xa3\x31\xc9\x4c\x0f\xab\xcb\xa8\x60\x73\x63\x0e\x8d", 4) gg.getResults(230) gg.editAll("10401001", 4) gg.clearResults() gg.toast("X") end },{ '巨浪-光梭-裂影', function() gg.setRanges(32) _ENV["\xd2\xd8\x37\x45\x88\x63\xfa\xe6\x07\x80\xc6\x57\x55\x0a\x16\x4f\x11\x25\xca\x1a\x8d\xe1\x97\xc2\xae\x47\xc1\x16"]("\xe3\x49\x06\x60\xa0\x35\x83\x01\x46\x36\x79\xd3\x1f\xf9\x5d\xbe\x6e\x41\xd9\xfe\xe6\x63\x4d\xa3\x31\xc9\x4c\x0f\xab\xcb\xad\x60\x73\x62\x0e\x88", 4) gg.getResults(230) gg.editAll("10101103", 4) gg.clearResults() gg.toast("√") end, function() gg.setRanges(32) _ENV["\xd2\xd8\x37\x45\x88\x63\xfa\xe6\x07\x80\xc6\x57\x55\x0a\x16\x4f\x11\x25\xca\x1a\x8d\xe1\x97\xc2\xae\x47\xc1\x16"]("\xe3\x49\x06\x60\xa0\x35\x83\x01\x46\x36\x79\xd3\x1f\xf9\x5d\xbe\x6e\x41\xd9\xfe\xe6\x63\x4d\xa3\x31\xc9\x4c\x0f\xab\xcb\xa8\x60\x73\x63\x0e\x8a", 4) gg.getResults(230) gg.editAll("10401001", 4) gg.clearResults() gg.toast("X") end },{ 'QBZ95-张飞·丈八蛇矛', function() gg.setRanges(32) _ENV["\xd2\xd8\x37\x45\x88\x63\xfa\xe6\x07\x80\xc6\x57\x55\x0a\x16\x4f\x11\x25\xca\x1a\x8d\xe1\x97\xc2\xae\x47\xc1\x16"]("\xe3\x49\x06\x60\xa0\x35\x83\x01\x46\x36\x79\xd3\x1f\xf9\x5d\xbe\x6e\x41\xd9\xfe\xe6\x63\x4d\xa3\x31\xc9\x4c\x0f\xab\xcb\xad\x60\x73\x62\x0e\x88", 4) gg.getResults(230) gg.editAll("10101065", 4) gg.clearResults() gg.toast("√") end, function() gg.setRanges(32) _ENV["\xd2\xd8\x37\x45\x88\x63\xfa\xe6\x07\x80\xc6\x57\x55\x0a\x16\x4f\x11\x25\xca\x1a\x8d\xe1\x97\xc2\xae\x47\xc1\x16"]("\xe3\x49\x06\x60\xa0\x35\x83\x01\x46\x36\x79\xd3\x1f\xf9\x5d\xbe\x6e\x41\xd9\xfe\xe6\x63\x4d\xa3\x31\xc9\x4c\x0f\xab\xcb\xa8\x60\x73\x62\x08\x8c", 4) gg.getResults(230) gg.editAll("10401001", 4) gg.clearResults() gg.toast("X") end },{ 'AK47-关羽·青龙偃月', function() gg.setRanges(32) _ENV["\xd2\xd8\x37\x45\x88\x63\xfa\xe6\x07\x80\xc6\x57\x55\x0a\x16\x4f\x11\x25\xca\x1a\x8d\xe1\x97\xc2\xae\x47\xc1\x16"]("\xe3\x49\x06\x60\xa0\x35\x83\x01\x46\x36\x79\xd3\x1f\xf9\x5d\xbe\x6e\x41\xd9\xfe\xe6\x63\x4d\xa3\x31\xc9\x4c\x0f\xab\xcb\xad\x60\x73\x62\x0e\x88", 4) gg.getResults(230) gg.editAll("1010101007", 4) gg.clearResults() gg.toast("√") end, function() gg.setRanges(32) _ENV["\xd2\xd8\x37\x45\x88\x63\xfa\xe6\x07\x80\xc6\x57\x55\x0a\x16\x4f\x11\x25\xca\x1a\x8d\xe1\x97\xc2\xae\x47\xc1\x16"]("\xe3\x49\x06\x60\xa0\x35\x83\x01\x46\x36\x79\xd3\x1f\xf9\x5d\xbe\x6e\x41\xd9\xfe\xe6\x63\x4d\xa3\x31\xc9\x4c\x0f\xab\xcb\xa8\x60\x73\x62\x0f\x89\xf3\x92", 4) gg.getResults(230) gg.editAll("10401001", 4) gg.clearResults() gg.toast("X") end },{ 'AK47-陆地领主', function() gg.setRanges(32) _ENV["\xd2\xd8\x37\x45\x88\x63\xfa\xe6\x07\x80\xc6\x57\x55\x0a\x16\x4f\x11\x25\xca\x1a\x8d\xe1\x97\xc2\xae\x47\xc1\x16"]("\xe3\x49\x06\x60\xa0\x35\x83\x01\x46\x36\x79\xd3\x1f\xf9\x5d\xbe\x6e\x41\xd9\xfe\xe6\x63\x4d\xa3\x31\xc9\x4c\x0f\xab\xcb\xad\x60\x73\x62\x0e\x88", 4) gg.getResults(230) gg.editAll("1010101012", 4) gg.clearResults() gg.toast("√") end, function() gg.setRanges(32) _ENV["\xd2\xd8\x37\x45\x88\x63\xfa\xe6\x07\x80\xc6\x57\x55\x0a\x16\x4f\x11\x25\xca\x1a\x8d\xe1\x97\xc2\xae\x47\xc1\x16"]("\xe3\x49\x06\x60\xa0\x35\x83\x01\x46\x36\x79\xd3\x1f\xf9\x5d\xbe\x6e\x41\xd9\xfe\xe6\x63\x4d\xa3\x31\xc9\x4c\x0f\xab\xcb\xa8\x60\x73\x62\x0f\x89\xf2\x97", 4) gg.getResults(230) gg.editAll("10401001", 4) gg.clearResults() gg.toast("X") end },{ 'AMR-星舰-白宇', function() gg.setRanges(32) _ENV["\xd2\xd8\x37\x45\x88\x63\xfa\xe6\x07\x80\xc6\x57\x55\x0a\x16\x4f\x11\x25\xca\x1a\x8d\xe1\x97\xc2\xae\x47\xc1\x16"]("\xe3\x49\x06\x60\xa0\x35\x83\x01\x46\x36\x79\xd3\x1f\xf9\x5d\xbe\x6e\x41\xd9\xfe\xe6\x63\x4d\xa3\x31\xc9\x4c\x0f\xab\xcb\xad\x60\x73\x62\x0e\x88", 4) gg.getResults(230) gg.editAll("10103034", 4) gg.clearResults() gg.toast("√") end, function() gg.setRanges(32) _ENV["\xd2\xd8\x37\x45\x88\x63\xfa\xe6\x07\x80\xc6\x57\x55\x0a\x16\x4f\x11\x25\xca\x1a\x8d\xe1\x97\xc2\xae\x47\xc1\x16"]("\xe3\x49\x06\x60\xa0\x35\x83\x01\x46\x36\x79\xd3\x1f\xf9\x5d\xbe\x6e\x41\xd9\xfe\xe6\x63\x4d\xa3\x31\xc9\x4c\x0f\xab\xcb\xa8\x60\x71\x62\x0d\x8d", 4) gg.getResults(230) gg.editAll("10401001", 4) gg.clearResults() gg.toast("X") end },{ 'Kar98k-积木萌龙', function() gg.setRanges(32) _ENV["\xd2\xd8\x37\x45\x88\x63\xfa\xe6\x07\x80\xc6\x57\x55\x0a\x16\x4f\x11\x25\xca\x1a\x8d\xe1\x97\xc2\xae\x47\xc1\x16"]("\xe3\x49\x06\x60\xa0\x35\x83\x01\x46\x36\x79\xd3\x1f\xf9\x5d\xbe\x6e\x41\xd9\xfe\xe6\x63\x4d\xa3\x31\xc9\x4c\x0f\xab\xcb\xad\x60\x73\x62\x0e\x88", 4) gg.getResults(230) gg.editAll("10103022", 4) gg.clearResults() gg.toast("√") end, function() gg.setRanges(32) _ENV["\xd2\xd8\x37\x45\x88\x63\xfa\xe6\x07\x80\xc6\x57\x55\x0a\x16\x4f\x11\x25\xca\x1a\x8d\xe1\x97\xc2\xae\x47\xc1\x16"]("\xe3\x49\x06\x60\xa0\x35\x83\x01\x46\x36\x79\xd3\x1f\xf9\x5d\xbe\x6e\x41\xd9\xfe\xe6\x63\x4d\xa3\x31\xc9\x4c\x0f\xab\xcb\xa8\x60\x71\x62\x0c\x8b", 4) gg.getResults(230) gg.editAll("10401001", 4) gg.clearResults() gg.toast("X") end },{ '巴雷特-炽热节拍', function() gg.setRanges(32) _ENV["\xd2\xd8\x37\x45\x88\x63\xfa\xe6\x07\x80\xc6\x57\x55\x0a\x16\x4f\x11\x25\xca\x1a\x8d\xe1\x97\xc2\xae\x47\xc1\x16"]("\xe3\x49\x06\x60\xa0\x35\x83\x01\x46\x36\x79\xd3\x1f\xf9\x5d\xbe\x6e\x41\xd9\xfe\xe6\x63\x4d\xa3\x31\xc9\x4c\x0f\xab\xcb\xad\x60\x73\x62\x0e\x88", 4) gg.getResults(230) gg.editAll("10103013", 4) gg.clearResults() gg.toast("√") end, function() gg.setRanges(32) _ENV["\xd2\xd8\x37\x45\x88\x63\xfa\xe6\x07\x80\xc6\x57\x55\x0a\x16\x4f\x11\x25\xca\x1a\x8d\xe1\x97\xc2\xae\x47\xc1\x16"]("\xe3\x49\x06\x60\xa0\x35\x83\x01\x46\x36\x79\xd3\x1f\xf9\x5d\xbe\x6e\x41\xd9\xfe\xe6\x63\x4d\xa3\x31\xc9\x4c\x0f\xab\xcb\xa8\x60\x71\x62\x0f\x8a", 4) gg.getResults(230) gg.editAll("10401001", 4) gg.clearResults() gg.toast("X") end },{ 'Awm-绝命天启', function() gg.setRanges(32) _ENV["\xd2\xd8\x37\x45\x88\x63\xfa\xe6\x07\x80\xc6\x57\x55\x0a\x16\x4f\x11\x25\xca\x1a\x8d\xe1\x97\xc2\xae\x47\xc1\x16"]("\xe3\x49\x06\x60\xa0\x35\x83\x01\x46\x36\x79\xd3\x1f\xf9\x5d\xbe\x6e\x41\xd9\xfe\xe6\x63\x4d\xa3\x31\xc9\x4c\x0f\xab\xcb\xad\x60\x73\x62\x0e\x88", 4) gg.getResults(230) gg.editAll("10103045", 4) gg.clearResults() gg.toast("√") end, function() gg.setRanges(32) _ENV["\xd2\xd8\x37\x45\x88\x63\xfa\xe6\x07\x80\xc6\x57\x55\x0a\x16\x4f\x11\x25\xca\x1a\x8d\xe1\x97\xc2\xae\x47\xc1\x16"]("\xe3\x49\x06\x60\xa0\x35\x83\x01\x46\x36\x79\xd3\x1f\xf9\x5d\xbe\x6e\x41\xd9\xfe\xe6\x63\x4d\xa3\x31\xc9\x4c\x0f\xab\xcb\xa8\x60\x71\x62\x0a\x8c", 4) gg.getResults(230) gg.editAll("10401001", 4) gg.clearResults() gg.toast("X") end },{ 'AWM-夜莺', function() gg.setRanges(32) _ENV["\xd2\xd8\x37\x45\x88\x63\xfa\xe6\x07\x80\xc6\x57\x55\x0a\x16\x4f\x11\x25\xca\x1a\x8d\xe1\x97\xc2\xae\x47\xc1\x16"]("\xe3\x49\x06\x60\xa0\x35\x83\x01\x46\x36\x79\xd3\x1f\xf9\x5d\xbe\x6e\x41\xd9\xfe\xe6\x63\x4d\xa3\x31\xc9\x4c\x0f\xab\xcb\xad\x60\x73\x62\x0e\x88", 4) gg.getResults(230) gg.editAll("10103043", 4) gg.clearResults() gg.toast("√") end, function() gg.setRanges(32) _ENV["\xd2\xd8\x37\x45\x88\x63\xfa\xe6\x07\x80\xc6\x57\x55\x0a\x16\x4f\x11\x25\xca\x1a\x8d\xe1\x97\xc2\xae\x47\xc1\x16"]("\xe3\x49\x06\x60\xa0\x35\x83\x01\x46\x36\x79\xd3\x1f\xf9\x5d\xbe\x6e\x41\xd9\xfe\xe6\x63\x4d\xa3\x31\xc9\x4c\x0f\xab\xcb\xa8\x60\x71\x62\x0d\x8d", 4) gg.getResults(230) gg.editAll("10401001", 4) gg.clearResults() gg.toast("X") end },{ 'AMR-星舰-云环', function() gg.setRanges(32) _ENV["\xd2\xd8\x37\x45\x88\x63\xfa\xe6\x07\x80\xc6\x57\x55\x0a\x16\x4f\x11\x25\xca\x1a\x8d\xe1\x97\xc2\xae\x47\xc1\x16"]("\xe3\x49\x06\x60\xa0\x35\x83\x01\x46\x36\x79\xd3\x1f\xf9\x5d\xbe\x6e\x41\xd9\xfe\xe6\x63\x4d\xa3\x31\xc9\x4c\x0f\xab\xcb\xad\x60\x73\x62\x0e\x88", 4) gg.getResults(230) gg.editAll("10103033", 4) gg.clearResults() gg.toast("√") end, function() gg.setRanges(32) _ENV["\xd2\xd8\x37\x45\x88\x63\xfa\xe6\x07\x80\xc6\x57\x55\x0a\x16\x4f\x11\x25\xca\x1a\x8d\xe1\x97\xc2\xae\x47\xc1\x16"]("\xe3\x49\x06\x60\xa0\x35\x83\x01\x46\x36\x79\xd3\x1f\xf9\x5d\xbe\x6e\x41\xd9\xfe\xe6\x63\x4d\xa3\x31\xc9\x4c\x0f\xab\xcb\xa8\x60\x71\x62\x0d\x8a", 4) gg.getResults(230) gg.editAll("10401001", 4) gg.clearResults() gg.toast("X") end },{ 'AMR-星舰-曙光', function() gg.setRanges(32) _ENV["\xd2\xd8\x37\x45\x88\x63\xfa\xe6\x07\x80\xc6\x57\x55\x0a\x16\x4f\x11\x25\xca\x1a\x8d\xe1\x97\xc2\xae\x47\xc1\x16"]("\xe3\x49\x06\x60\xa0\x35\x83\x01\x46\x36\x79\xd3\x1f\xf9\x5d\xbe\x6e\x41\xd9\xfe\xe6\x63\x4d\xa3\x31\xc9\x4c\x0f\xab\xcb\xad\x60\x73\x62\x0e\x88", 4) gg.getResults(230) gg.editAll("10103032", 4) gg.clearResults() gg.toast("√") end, function() gg.setRanges(32) _ENV["\xd2\xd8\x37\x45\x88\x63\xfa\xe6\x07\x80\xc6\x57\x55\x0a\x16\x4f\x11\x25\xca\x1a\x8d\xe1\x97\xc2\xae\x47\xc1\x16"]("\xe3\x49\x06\x60\xa0\x35\x83\x01\x46\x36\x79\xd3\x1f\xf9\x5d\xbe\x6e\x41\xd9\xfe\xe6\x63\x4d\xa3\x31\xc9\x4c\x0f\xab\xcb\xa8\x60\x71\x62\x0d\x8b", 4) gg.getResults(230) gg.editAll("10401001", 4) gg.clearResults() gg.toast("X") end },{ 'AMR-星舰-极光', function() gg.setRanges(32) _ENV["\xd2\xd8\x37\x45\x88\x63\xfa\xe6\x07\x80\xc6\x57\x55\x0a\x16\x4f\x11\x25\xca\x1a\x8d\xe1\x97\xc2\xae\x47\xc1\x16"]("\xe3\x49\x06\x60\xa0\x35\x83\x01\x46\x36\x79\xd3\x1f\xf9\x5d\xbe\x6e\x41\xd9\xfe\xe6\x63\x4d\xa3\x31\xc9\x4c\x0f\xab\xcb\xad\x60\x73\x62\x0e\x88", 4) gg.getResults(230) gg.editAll("10103035", 4) gg.clearResults() gg.toast("√") end, function() gg.setRanges(32) _ENV["\xd2\xd8\x37\x45\x88\x63\xfa\xe6\x07\x80\xc6\x57\x55\x0a\x16\x4f\x11\x25\xca\x1a\x8d\xe1\x97\xc2\xae\x47\xc1\x16"]("\xe3\x49\x06\x60\xa0\x35\x83\x01\x46\x36\x79\xd3\x1f\xf9\x5d\xbe\x6e\x41\xd9\xfe\xe6\x63\x4d\xa3\x31\xc9\x4c\x0f\xab\xcb\xa8\x60\x71\x62\x0d\x8c", 4) gg.getResults(230) gg.editAll("10401001", 4) gg.clearResults() gg.toast("X") end },{ '气锤-驱逐舰', function() gg.setRanges(32) _ENV["\xd2\xd8\x37\x45\x88\x63\xfa\xe6\x07\x80\xc6\x57\x55\x0a\x16\x4f\x11\x25\xca\x1a\x8d\xe1\x97\xc2\xae\x47\xc1\x16"]("\xe3\x49\x06\x60\xa0\x35\x83\x01\x46\x36\x79\xd3\x1f\xf9\x5d\xbe\x6e\x41\xd9\xfe\xe6\x63\x4d\xa3\x31\xc9\x4c\x0f\xab\xcb\xad\x60\x73\x62\x0e\x88", 4) gg.getResults(230) gg.editAll("10106007", 4) gg.clearResults() gg.toast("√") end, function() gg.setRanges(32) _ENV["\xd2\xd8\x37\x45\x88\x63\xfa\xe6\x07\x80\xc6\x57\x55\x0a\x16\x4f\x11\x25\xca\x1a\x8d\xe1\x97\xc2\xae\x47\xc1\x16"]("\xe3\x49\x06\x60\xa0\x35\x83\x01\x46\x36\x79\xd3\x1f\xf9\x5d\xbe\x6e\x41\xd9\xfe\xe6\x63\x4d\xa3\x31\xc9\x4c\x0f\xab\xcb\xa8\x60\x74\x62\x0e\x8e", 4) gg.getResults(230) gg.editAll("10401001", 4) gg.clearResults() gg.toast("X") end },{ 'S12K-史前霸主', function() gg.setRanges(32) _ENV["\xd2\xd8\x37\x45\x88\x63\xfa\xe6\x07\x80\xc6\x57\x55\x0a\x16\x4f\x11\x25\xca\x1a\x8d\xe1\x97\xc2\xae\x47\xc1\x16"]("\xe3\x49\x06\x60\xa0\x35\x83\x01\x46\x36\x79\xd3\x1f\xf9\x5d\xbe\x6e\x41\xd9\xfe\xe6\x63\x4d\xa3\x31\xc9\x4c\x0f\xab\xcb\xad\x60\x73\x62\x0e\x88", 4) gg.getResults(230) gg.editAll("10106041", 4) gg.clearResults() gg.toast("√") end, function() gg.setRanges(32) _ENV["\xd2\xd8\x37\x45\x88\x63\xfa\xe6\x07\x80\xc6\x57\x55\x0a\x16\x4f\x11\x25\xca\x1a\x8d\xe1\x97\xc2\xae\x47\xc1\x16"]("\xe3\x49\x06\x60\xa0\x35\x83\x01\x46\x36\x79\xd3\x1f\xf9\x5d\xbe\x6e\x41\xd9\xfe\xe6\x63\x4d\xa3\x31\xc9\x4c\x0f\xab\xcb\xa8\x60\x74\x62\x0a\x88", 4) gg.getResults(230) gg.editAll("10401001", 4) gg.clearResults() gg.toast("X") end },{ '苏醒的魔剑', function() gg.setRanges(32) _ENV["\xd2\xd8\x37\x45\x88\x63\xfa\xe6\x07\x80\xc6\x57\x55\x0a\x16\x4f\x11\x25\xca\x1a\x8d\xe1\x97\xc2\xae\x47\xc1\x16"]("\xe3\x49\x06\x60\xa0\x35\x83\x01\x46\x36\x79\xd3\x1f\xf9\x5d\xbe\x6e\x41\xd9\xfe\xe6\x63\x4d\xa3\x31\xc9\x4c\x0f\xab\xcb\xad\x60\x73\x62\x0e\x88", 4) gg.getResults(230) gg.editAll("10302015", 4) gg.clearResults() gg.toast("√") end, function() gg.setRanges(32) _ENV["\xd2\xd8\x37\x45\x88\x63\xfa\xe6\x07\x80\xc6\x57\x55\x0a\x16\x4f\x11\x25\xca\x1a\x8d\xe1\x97\xc2\xae\x47\xc1\x16"]("\xe3\x49\x06\x60\xa0\x35\x83\x01\x46\x36\x79\xd3\x1f\xf9\x5d\xbe\x6e\x41\xd9\xfe\xe6\x63\x4d\xa3\x31\xc9\x4c\x0f\xab\xcb\xaa\x60\x70\x62\x0f\x8c", 4) gg.getResults(230) gg.editAll("10401001", 4) gg.clearResults() gg.toast("X") end },{ '变色龙匕首', function() gg.setRanges(32) _ENV["\xd2\xd8\x37\x45\x88\x63\xfa\xe6\x07\x80\xc6\x57\x55\x0a\x16\x4f\x11\x25\xca\x1a\x8d\xe1\x97\xc2\xae\x47\xc1\x16"]("\xe3\x49\x06\x60\xa0\x35\x83\x01\x46\x36\x79\xd3\x1f\xf9\x5d\xbe\x6e\x41\xd9\xfe\xe6\x63\x4d\xa3\x31\xc9\x4c\x0f\xab\xcb\xad\x60\x73\x62\x0e\x88", 4) gg.getResults(230) gg.editAll("10302010", 4) gg.clearResults() gg.toast("√") end, function() gg.setRanges(32) _ENV["\xd2\xd8\x37\x45\x88\x63\xfa\xe6\x07\x80\xc6\x57\x55\x0a\x16\x4f\x11\x25\xca\x1a\x8d\xe1\x97\xc2\xae\x47\xc1\x16"]("\xe3\x49\x06\x60\xa0\x35\x83\x01\x46\x36\x79\xd3\x1f\xf9\x5d\xbe\x6e\x41\xd9\xfe\xe6\x63\x4d\xa3\x31\xc9\x4c\x0f\xab\xcb\xaa\x60\x70\x62\x0f\x89", 4) gg.getResults(230) gg.editAll("10401001", 4) gg.clearResults() gg.toast("X") end },{ '机甲重锤', function() gg.setRanges(32) _ENV["\xd2\xd8\x37\x45\x88\x63\xfa\xe6\x07\x80\xc6\x57\x55\x0a\x16\x4f\x11\x25\xca\x1a\x8d\xe1\x97\xc2\xae\x47\xc1\x16"]("\xe3\x49\x06\x60\xa0\x35\x83\x01\x46\x36\x79\xd3\x1f\xf9\x5d\xbe\x6e\x41\xd9\xfe\xe6\x63\x4d\xa3\x31\xc9\x4c\x0f\xab\xcb\xad\x60\x73\x62\x0e\x88", 4) gg.getResults(230) gg.editAll("10302012", 4) gg.clearResults() gg.toast("√") end, function() gg.setRanges(32) _ENV["\xd2\xd8\x37\x45\x88\x63\xfa\xe6\x07\x80\xc6\x57\x55\x0a\x16\x4f\x11\x25\xca\x1a\x8d\xe1\x97\xc2\xae\x47\xc1\x16"]("\xe3\x49\x06\x60\xa0\x35\x83\x01\x46\x36\x79\xd3\x1f\xf9\x5d\xbe\x6e\x41\xd9\xfe\xe6\x63\x4d\xa3\x31\xc9\x4c\x0f\xab\xcb\xaa\x60\x70\x62\x0f\x8b", 4) gg.getResults(230) gg.editAll("10401001", 4) gg.clearResults() gg.toast("X") end },{ '蒸汽战斧', function() gg.setRanges(32) _ENV["\xd2\xd8\x37\x45\x88\x63\xfa\xe6\x07\x80\xc6\x57\x55\x0a\x16\x4f\x11\x25\xca\x1a\x8d\xe1\x97\xc2\xae\x47\xc1\x16"]("\xe3\x49\x06\x60\xa0\x35\x83\x01\x46\x36\x79\xd3\x1f\xf9\x5d\xbe\x6e\x41\xd9\xfe\xe6\x63\x4d\xa3\x31\xc9\x4c\x0f\xab\xcb\xad\x60\x73\x62\x0e\x88", 4) gg.getResults(230) gg.editAll("10302011", 4) gg.clearResults() gg.toast("√") end, function() gg.setRanges(32) _ENV["\xd2\xd8\x37\x45\x88\x63\xfa\xe6\x07\x80\xc6\x57\x55\x0a\x16\x4f\x11\x25\xca\x1a\x8d\xe1\x97\xc2\xae\x47\xc1\x16"]("\xe3\x49\x06\x60\xa0\x35\x83\x01\x46\x36\x79\xd3\x1f\xf9\x5d\xbe\x6e\x41\xd9\xfe\xe6\x63\x4d\xa3\x31\xc9\x4c\x0f\xab\xcb\xaa\x60\x70\x62\x0f\x88", 4) gg.getResults(230) gg.editAll("10401001", 4) gg.clearResults() gg.toast("X") end },{ '镰刀-绝命天启', function() gg.setRanges(32) _ENV["\xd2\xd8\x37\x45\x88\x63\xfa\xe6\x07\x80\xc6\x57\x55\x0a\x16\x4f\x11\x25\xca\x1a\x8d\xe1\x97\xc2\xae\x47\xc1\x16"]("\xe3\x49\x06\x60\xa0\x35\x83\x01\x46\x36\x79\xd3\x1f\xf9\x5d\xbe\x6e\x41\xd9\xfe\xe6\x63\x4d\xa3\x31\xc9\x4c\x0f\xab\xcb\xad\x60\x73\x62\x0e\x88", 4) gg.getResults(230) gg.editAll("10301029", 4) gg.clearResults() gg.toast("√") end, function() gg.setRanges(32) _ENV["\xd2\xd8\x37\x45\x88\x63\xfa\xe6\x07\x80\xc6\x57\x55\x0a\x16\x4f\x11\x25\xca\x1a\x8d\xe1\x97\xc2\xae\x47\xc1\x16"]("\xe3\x49\x06\x60\xa0\x35\x83\x01\x46\x36\x79\xd3\x1f\xf9\x5d\xbe\x6e\x41\xd9\xfe\xe6\x63\x4d\xa3\x31\xc9\x4c\x0f\xab\xcb\xaa\x60\x73\x62\x0c\x80", 4) gg.getResults(230) gg.editAll("10401001", 4) gg.clearResults() gg.toast("X") end },{ '光剑-原恒星', function() gg.setRanges(32) _ENV["\xd2\xd8\x37\x45\x88\x63\xfa\xe6\x07\x80\xc6\x57\x55\x0a\x16\x4f\x11\x25\xca\x1a\x8d\xe1\x97\xc2\xae\x47\xc1\x16"]("\xe3\x49\x06\x60\xa0\x35\x83\x01\x46\x36\x79\xd3\x1f\xf9\x5d\xbe\x6e\x41\xd9\xfe\xe6\x63\x4d\xa3\x31\xc9\x4c\x0f\xab\xcb\xad\x60\x73\x62\x0e\x88", 4) gg.getResults(230) gg.editAll("10301015", 4) gg.clearResults() gg.toast("√") end, function() gg.setRanges(32) _ENV["\xd2\xd8\x37\x45\x88\x63\xfa\xe6\x07\x80\xc6\x57\x55\x0a\x16\x4f\x11\x25\xca\x1a\x8d\xe1\x97\xc2\xae\x47\xc1\x16"]("\xe3\x49\x06\x60\xa0\x35\x83\x01\x46\x36\x79\xd3\x1f\xf9\x5d\xbe\x6e\x41\xd9\xfe\xe6\x63\x4d\xa3\x31\xc9\x4c\x0f\xab\xcb\xaa\x60\x73\x62\x0f\x8c", 4) gg.getResults(230) gg.editAll("10401001", 4) gg.clearResults() gg.toast("X") end },{ '武士刀-冰枫之刃', function() gg.setRanges(32) _ENV["\xd2\xd8\x37\x45\x88\x63\xfa\xe6\x07\x80\xc6\x57\x55\x0a\x16\x4f\x11\x25\xca\x1a\x8d\xe1\x97\xc2\xae\x47\xc1\x16"]("\xe3\x49\x06\x60\xa0\x35\x83\x01\x46\x36\x79\xd3\x1f\xf9\x5d\xbe\x6e\x41\xd9\xfe\xe6\x63\x4d\xa3\x31\xc9\x4c\x0f\xab\xcb\xad\x60\x73\x62\x0e\x88", 4) gg.getResults(230) gg.editAll("10301011", 4) gg.clearResults() gg.toast("√") end, function() gg.setRanges(32) _ENV["\xd2\xd8\x37\x45\x88\x63\xfa\xe6\x07\x80\xc6\x57\x55\x0a\x16\x4f\x11\x25\xca\x1a\x8d\xe1\x97\xc2\xae\x47\xc1\x16"]("\xe3\x49\x06\x60\xa0\x35\x83\x01\x46\x36\x79\xd3\x1f\xf9\x5d\xbe\x6e\x41\xd9\xfe\xe6\x63\x4d\xa3\x31\xc9\x4c\x0f\xab\xcb\xaa\x60\x73\x62\x0f\x88", 4) gg.getResults(230) gg.editAll("10401001", 4) gg.clearResults() gg.toast("X") end },{ '金箍棒', function() gg.setRanges(32) _ENV["\xd2\xd8\x37\x45\x88\x63\xfa\xe6\x07\x80\xc6\x57\x55\x0a\x16\x4f\x11\x25\xca\x1a\x8d\xe1\x97\xc2\xae\x47\xc1\x16"]("\xe3\x49\x06\x60\xa0\x35\x83\x01\x46\x36\x79\xd3\x1f\xf9\x5d\xbe\x6e\x41\xd9\xfe\xe6\x63\x4d\xa3\x31\xc9\x4c\x0f\xab\xcb\xad\x60\x73\x62\x0e\x88", 4) gg.getResults(230) gg.editAll("10301034", 4) gg.clearResults() gg.toast("√") end, function() gg.setRanges(32) _ENV["\xd2\xd8\x37\x45\x88\x63\xfa\xe6\x07\x80\xc6\x57\x55\x0a\x16\x4f\x11\x25\xca\x1a\x8d\xe1\x97\xc2\xae\x47\xc1\x16"]("\xe3\x49\x06\x60\xa0\x35\x83\x01\x46\x36\x79\xd3\x1f\xf9\x5d\xbe\x6e\x41\xd9\xfe\xe6\x63\x4d\xa3\x31\xc9\x4c\x0f\xab\xcb\xaa\x60\x73\x62\x0d\x8d", 4) gg.getResults(230) gg.editAll("10401001", 4) gg.clearResults() gg.toast("X") end },{ '双持霰弹-萌龙特工队', function() gg.setRanges(32) _ENV["\xd2\xd8\x37\x45\x88\x63\xfa\xe6\x07\x80\xc6\x57\x55\x0a\x16\x4f\x11\x25\xca\x1a\x8d\xe1\x97\xc2\xae\x47\xc1\x16"]("\xe3\x49\x06\x60\xa0\x35\x83\x01\x46\x36\x79\xd3\x1f\xf9\x5d\xbe\x6e\x41\xd9\xfe\xe6\x63\x4d\xa3\x31\xc9\x4c\x0f\xab\xcb\xad\x60\x73\x62\x0e\x88", 4) gg.getResults(230) gg.editAll("10201071", 4) gg.clearResults() gg.toast("√") end, function() gg.setRanges(32) _ENV["\xd2\xd8\x37\x45\x88\x63\xfa\xe6\x07\x80\xc6\x57\x55\x0a\x16\x4f\x11\x25\xca\x1a\x8d\xe1\x97\xc2\xae\x47\xc1\x16"]("\xe3\x49\x06\x60\xa0\x35\x83\x01\x46\x36\x79\xd3\x1f\xf9\x5d\xbe\x6e\x41\xd9\xfe\xe6\x63\x4d\xa3\x31\xc9\x4c\x0f\xab\xcb\xab\x60\x73\x62\x09\x88", 4) gg.getResults(230) gg.editAll("10401001", 4) gg.clearResults() gg.toast("X") end },{ '闪光弹-深海领主', function() gg.setRanges(32) _ENV["\xd2\xd8\x37\x45\x88\x63\xfa\xe6\x07\x80\xc6\x57\x55\x0a\x16\x4f\x11\x25\xca\x1a\x8d\xe1\x97\xc2\xae\x47\xc1\x16"]("\xe3\x49\x06\x60\xa0\x35\x83\x01\x46\x36\x79\xd3\x1f\xf9\x5d\xbe\x6e\x41\xd9\xfe\xe6\x63\x4d\xa3\x31\xc9\x4c\x0f\xab\xcb\xad\x60\x73\x62\x0e\x88", 4) gg.getResults(230) gg.editAll("10402016", 4) gg.clearResults() gg.toast("√") end, function() gg.setRanges(32) _ENV["\xd2\xd8\x37\x45\x88\x63\xfa\xe6\x07\x80\xc6\x57\x55\x0a\x16\x4f\x11\x25\xca\x1a\x8d\xe1\x97\xc2\xae\x47\xc1\x16"]("\xe3\x49\x06\x60\xa0\x35\x83\x01\x46\x36\x79\xd3\x1f\xf9\x5d\xbe\x6e\x41\xd9\xfe\xe6\x63\x4d\xa3\x31\xc9\x4c\x0f\xab\xcb\xad\x60\x70\x62\x0f\x8f", 4) gg.getResults(230) gg.editAll("10401001", 4) gg.clearResults() gg.toast("X") end },{ '燃烧弹', function() gg.setRanges(32) _ENV["\xd2\xd8\x37\x45\x88\x63\xfa\xe6\x07\x80\xc6\x57\x55\x0a\x16\x4f\x11\x25\xca\x1a\x8d\xe1\x97\xc2\xae\x47\xc1\x16"]("\xe3\x49\x06\x60\xa0\x35\x83\x01\x46\x36\x79\xd3\x1f\xf9\x5d\xbe\x6e\x41\xd9\xfe\xe6\x63\x4d\xa3\x31\xc9\x4c\x0f\xab\xcb\xad\x60\x73\x62\x0e\x88", 4) gg.getResults(230) gg.editAll("10401011", 4) gg.clearResults() gg.toast("√") end, function() gg.setRanges(32) _ENV["\xd2\xd8\x37\x45\x88\x63\xfa\xe6\x07\x80\xc6\x57\x55\x0a\x16\x4f\x11\x25\xca\x1a\x8d\xe1\x97\xc2\xae\x47\xc1\x16"]("\xe3\x49\x06\x60\xa0\x35\x83\x01\x46\x36\x79\xd3\x1f\xf9\x5d\xbe\x6e\x41\xd9\xfe\xe6\x63\x4d\xa3\x31\xc9\x4c\x0f\xab\xcb\xad\x60\x73\x62\x0f\x88", 4) gg.getResults(230) gg.editAll("10401001", 4) gg.clearResults() gg.toast("X") end },{ 'RPK-怒海狂徒', function() gg.setRanges(32) _ENV["\xd2\xd8\x37\x45\x88\x63\xfa\xe6\x07\x80\xc6\x57\x55\x0a\x16\x4f\x11\x25\xca\x1a\x8d\xe1\x97\xc2\xae\x47\xc1\x16"]("\xe3\x49\x06\x60\xa0\x35\x83\x01\x46\x36\x79\xd3\x1f\xf9\x5d\xbe\x6e\x41\xd9\xfe\xe6\x63\x4d\xa3\x31\xc9\x4c\x0f\xab\xcb\xad\x60\x73\x62\x0e\x88", 4) gg.getResults(230) gg.editAll("10104033", 4) gg.clearResults() gg.toast("√") end, function() gg.setRanges(32) _ENV["\xd2\xd8\x37\x45\x88\x63\xfa\xe6\x07\x80\xc6\x57\x55\x0a\x16\x4f\x11\x25\xca\x1a\x8d\xe1\x97\xc2\xae\x47\xc1\x16"]("\xe3\x49\x06\x60\xa0\x35\x83\x01\x46\x36\x79\xd3\x1f\xf9\x5d\xbe\x6e\x41\xd9\xfe\xe6\x63\x4d\xa3\x31\xc9\x4c\x0f\xab\xcb\xa8\x60\x76\x62\x0d\x8a", 4) gg.getResults(230) gg.editAll("10401001", 4) gg.clearResults() gg.toast("X") end },{ '弹弓-积木', function() gg.setRanges(32) _ENV["\xd2\xd8\x37\x45\x88\x63\xfa\xe6\x07\x80\xc6\x57\x55\x0a\x16\x4f\x11\x25\xca\x1a\x8d\xe1\x97\xc2\xae\x47\xc1\x16"]("\xe3\x49\x06\x60\xa0\x35\x83\x01\x46\x36\x79\xd3\x1f\xf9\x5d\xbe\x6e\x41\xd9\xfe\xe6\x63\x4d\xa3\x31\xc9\x4c\x0f\xab\xcb\xad\x60\x73\x62\x0e\x88", 4) gg.getResults(230) gg.editAll("10201031", 4) gg.clearResults() gg.toast("√") end, function() gg.setRanges(32) _ENV["\xd2\xd8\x37\x45\x88\x63\xfa\xe6\x07\x80\xc6\x57\x55\x0a\x16\x4f\x11\x25\xca\x1a\x8d\xe1\x97\xc2\xae\x47\xc1\x16"]("\xe3\x49\x06\x60\xa0\x35\x83\x01\x46\x36\x79\xd3\x1f\xf9\x5d\xbe\x6e\x41\xd9\xfe\xe6\x63\x4d\xa3\x31\xc9\x4c\x0f\xab\xcb\xab\x60\x73\x62\x0d\x88", 4) gg.getResults(230) gg.editAll("10401001", 4) gg.clearResults() gg.toast("X") end },{ '榴弹炮', function() gg.setRanges(32) _ENV["\xd2\xd8\x37\x45\x88\x63\xfa\xe6\x07\x80\xc6\x57\x55\x0a\x16\x4f\x11\x25\xca\x1a\x8d\xe1\x97\xc2\xae\x47\xc1\x16"]("\xe3\x49\x06\x60\xa0\x35\x83\x01\x46\x36\x79\xd3\x1f\xf9\x5d\xbe\x6e\x41\xd9\xfe\xe6\x63\x4d\xa3\x31\xc9\x4c\x0f\xab\xcb\xad\x60\x73\x62\x0e\x88", 4) gg.getResults(230) gg.editAll("10108020", 4) gg.clearResults() gg.toast("√") end, function() gg.setRanges(32) _ENV["\xd2\xd8\x37\x45\x88\x63\xfa\xe6\x07\x80\xc6\x57\x55\x0a\x16\x4f\x11\x25\xca\x1a\x8d\xe1\x97\xc2\xae\x47\xc1\x16"]("\xe3\x49\x06\x60\xa0\x35\x83\x01\x46\x36\x79\xd3\x1f\xf9\x5d\xbe\x6e\x41\xd9\xfe\xe6\x63\x4d\xa3\x31\xc9\x4c\x0f\xab\xcb\xa8\x60\x7a\x62\x0c\x89", 4) gg.getResults(230) gg.editAll("10401001", 4) gg.clearResults() gg.toast("X") end },{ '爆炸弓-黑金箭魂', function() gg.setRanges(32) _ENV["\xd2\xd8\x37\x45\x88\x63\xfa\xe6\x07\x80\xc6\x57\x55\x0a\x16\x4f\x11\x25\xca\x1a\x8d\xe1\x97\xc2\xae\x47\xc1\x16"]("\xe3\x49\x06\x60\xa0\x35\x83\x01\x46\x36\x79\xd3\x1f\xf9\x5d\xbe\x6e\x41\xd9\xfe\xe6\x63\x4d\xa3\x31\xc9\x4c\x0f\xab\xcb\xad\x60\x73\x62\x0e\x88", 4) gg.getResults(230) gg.editAll("10108003", 4) gg.clearResults() gg.toast("√") end, function() gg.setRanges(32) _ENV["\xd2\xd8\x37\x45\x88\x63\xfa\xe6\x07\x80\xc6\x57\x55\x0a\x16\x4f\x11\x25\xca\x1a\x8d\xe1\x97\xc2\xae\x47\xc1\x16"]("\xe3\x49\x06\x60\xa0\x35\x83\x01\x46\x36\x79\xd3\x1f\xf9\x5d\xbe\x6e\x41\xd9\xfe\xe6\x63\x4d\xa3\x31\xc9\x4c\x0f\xab\xcb\xa8\x60\x7a\x62\x0e\x8a", 4) gg.getResults(230) gg.editAll("10401001", 4) gg.clearResults() gg.toast("X") end }, }), }), changan.box({"美化2代", changan.check({ { "Ak74U-火锅", function() gg.clearResults()-- ---- 清除旧搜索结果 gg.setRanges(gg.REGION_ANONYMOUS) ---- 设置内存区域 ---- 1. 搜索数值 local searchValue = 10401001---- 要搜索的数值 gg.searchNumber(searchValue, gg.TYPE_DWORD) ---- 2. 获取结果数量 local count = gg.getResultsCount() if count == 0 then return end ---- 3. 过滤/修改 local results = gg.getResults(count) for i, v in ipairs(results) do v.value = 10105084------ 修改为指定值 v.freeze = false------ 是否冻结 end gg.setValues(results) gg.toast("开启成功") end, function() gg.clearResults()-- ---- 清除旧搜索结果 gg.setRanges(gg.REGION_ANONYMOUS) ---- 设置内存区域 ---- 1. 搜索数值 local searchValue = 10105084---- 要搜索的数值 gg.searchNumber(searchValue, gg.TYPE_DWORD) ---- 2. 获取结果数量 local count = gg.getResultsCount() if count == 0 then return end ---- 3. 过滤/修改 local results = gg.getResults(count) for i, v in ipairs(results) do v.value = 10401001------ 修改为指定值 v.freeze = false------ 是否冻结 end gg.setValues(results) gg.toast("开启成功") end }, { "AN94-惊世泰坦", function() gg.clearResults()-- ---- 清除旧搜索结果 gg.setRanges(gg.REGION_ANONYMOUS) ---- 设置内存区域 ---- 1. 搜索数值 local searchValue = 10401001---- 要搜索的数值 gg.searchNumber(searchValue, gg.TYPE_DWORD) ---- 2. 获取结果数量 local count = gg.getResultsCount() if count == 0 then return end ---- 3. 过滤/修改 local results = gg.getResults(count) for i, v in ipairs(results) do v.value = 10101406------ 修改为指定值 v.freeze = false------ 是否冻结 end gg.setValues(results) gg.toast("开启成功") end, function() gg.clearResults()-- ---- 清除旧搜索结果 gg.setRanges(gg.REGION_ANONYMOUS) ---- 设置内存区域 ---- 1. 搜索数值 local searchValue = 10101406---- 要搜索的数值 gg.searchNumber(searchValue, gg.TYPE_DWORD) ---- 2. 获取结果数量 local count = gg.getResultsCount() if count == 0 then return end ---- 3. 过滤/修改 local results = gg.getResults(count) for i, v in ipairs(results) do v.value = 10401001------ 修改为指定值 v.freeze = false------ 是否冻结 end gg.setValues(results) gg.toast("开启成功") end }, { "ASh12-伽罗楼之心", function() gg.clearResults()-- ---- 清除旧搜索结果 gg.setRanges(gg.REGION_ANONYMOUS) ---- 设置内存区域 ---- 1. 搜索数值 local searchValue = 10401001---- 要搜索的数值 gg.searchNumber(searchValue, gg.TYPE_DWORD) ---- 2. 获取结果数量 local count = gg.getResultsCount() if count == 0 then return end ---- 3. 过滤/修改 local results = gg.getResults(count) for i, v in ipairs(results) do v.value = 10101603------ 修改为指定值 v.freeze = false------ 是否冻结 end gg.setValues(results) gg.toast("开启成功") end, function() gg.clearResults()-- ---- 清除旧搜索结果 gg.setRanges(gg.REGION_ANONYMOUS) ---- 设置内存区域 ---- 1. 搜索数值 local searchValue = 10101603---- 要搜索的数值 gg.searchNumber(searchValue, gg.TYPE_DWORD) ---- 2. 获取结果数量 local count = gg.getResultsCount() if count == 0 then return end ---- 3. 过滤/修改 local results = gg.getResults(count) for i, v in ipairs(results) do v.value = 10401001------ 修改为指定值 v.freeze = false------ 是否冻结 end gg.setValues(results) gg.toast("开启成功") end }, { "ASVal-光棱-破晓晨星", function() gg.clearResults()-- ---- 清除旧搜索结果 gg.setRanges(gg.REGION_ANONYMOUS) ---- 设置内存区域 ---- 1. 搜索数值 local searchValue = 10401001---- 要搜索的数值 gg.searchNumber(searchValue, gg.TYPE_DWORD) ---- 2. 获取结果数量 local count = gg.getResultsCount() if count == 0 then return end ---- 3. 过滤/修改 local results = gg.getResults(count) for i, v in ipairs(results) do v.value = 10101104------ 修改为指定值 v.freeze = false------ 是否冻结 end gg.setValues(results) gg.toast("开启成功") end, function() gg.clearResults()-- ---- 清除旧搜索结果 gg.setRanges(gg.REGION_ANONYMOUS) ---- 设置内存区域 ---- 1. 搜索数值 local searchValue = 10101104---- 要搜索的数值 gg.searchNumber(searchValue, gg.TYPE_DWORD) ---- 2. 获取结果数量 local count = gg.getResultsCount() if count == 0 then return end ---- 3. 过滤/修改 local results = gg.getResults(count) for i, v in ipairs(results) do v.value = 10401001------ 修改为指定值 v.freeze = false------ 是否冻结 end gg.setValues(results) gg.toast("开启成功") end }, { "双持-日月同辉", function() gg.clearResults()-- ---- 清除旧搜索结果 gg.setRanges(gg.REGION_ANONYMOUS) ---- 设置内存区域 ---- 1. 搜索数值 local searchValue = 10401001---- 要搜索的数值 gg.searchNumber(searchValue, gg.TYPE_DWORD) ---- 2. 获取结果数量 local count = gg.getResultsCount() if count == 0 then return end ---- 3. 过滤/修改 local results = gg.getResults(count) for i, v in ipairs(results) do v.value = 10105020------ 修改为指定值 v.freeze = false------ 是否冻结 end gg.setValues(results) gg.toast("开启成功") end, function() gg.clearResults()-- ---- 清除旧搜索结果 gg.setRanges(gg.REGION_ANONYMOUS) ---- 设置内存区域 ---- 1. 搜索数值 local searchValue = 10105020---- 要搜索的数值 gg.searchNumber(searchValue, gg.TYPE_DWORD) ---- 2. 获取结果数量 local count = gg.getResultsCount() if count == 0 then return end ---- 3. 过滤/修改 local results = gg.getResults(count) for i, v in ipairs(results) do v.value = 10401001------ 修改为指定值 v.freeze = false------ 是否冻结 end gg.setValues(results) gg.toast("开启成功") end }, { "Famas-凛冬星冠", function() gg.clearResults()-- ---- 清除旧搜索结果 gg.setRanges(gg.REGION_ANONYMOUS) ---- 设置内存区域 ---- 1. 搜索数值 local searchValue = 10401001---- 要搜索的数值 gg.searchNumber(searchValue, gg.TYPE_DWORD) ---- 2. 获取结果数量 local count = gg.getResultsCount() if count == 0 then return end ---- 3. 过滤/修改 local results = gg.getResults(count) for i, v in ipairs(results) do v.value = 10101204 ------ 修改为指定值 v.freeze = false------ 是否冻结 end gg.setValues(results) gg.toast("开启成功") end, function() gg.clearResults()-- ---- 清除旧搜索结果 gg.setRanges(gg.REGION_ANONYMOUS) ---- 设置内存区域 ---- 1. 搜索数值 local searchValue = 10101204---- 要搜索的数值 gg.searchNumber(searchValue, gg.TYPE_DWORD) ---- 2. 获取结果数量 local count = gg.getResultsCount() if count == 0 then return end ---- 3. 过滤/修改 local results = gg.getResults(count) for i, v in ipairs(results) do v.value = 10401001------ 修改为指定值 v.freeze = false------ 是否冻结 end gg.setValues(results) gg.toast("开启成功") end }, { "镰刀-绝命天启", function() gg.clearResults()-- ---- 清除旧搜索结果 gg.setRanges(gg.REGION_ANONYMOUS) ---- 设置内存区域 ---- 1. 搜索数值 local searchValue = 10401001---- 要搜索的数值 gg.searchNumber(searchValue, gg.TYPE_DWORD) ---- 2. 获取结果数量 local count = gg.getResultsCount() if count == 0 then return end ---- 3. 过滤/修改 local results = gg.getResults(count) for i, v in ipairs(results) do v.value = 10301029------ 修改为指定值 v.freeze = false------ 是否冻结 end gg.setValues(results) gg.toast("开启成功") end, function() gg.clearResults()-- ---- 清除旧搜索结果 gg.setRanges(gg.REGION_ANONYMOUS) ---- 设置内存区域 ---- 1. 搜索数值 local searchValue = 10301029---- 要搜索的数值 gg.searchNumber(searchValue, gg.TYPE_DWORD) ---- 2. 获取结果数量 local count = gg.getResultsCount() if count == 0 then return end ---- 3. 过滤/修改 local results = gg.getResults(count) for i, v in ipairs(results) do v.value = 10401001------ 修改为指定值 v.freeze = false------ 是否冻结 end gg.setValues(results) gg.toast("开启成功") end }, { "战斗人偶-诺娜娜", function() gg.clearResults()-- ---- 清除旧搜索结果 gg.setRanges(gg.REGION_ANONYMOUS) ---- 设置内存区域 ---- 1. 搜索数值 local searchValue = 10401001---- 要搜索的数值 gg.searchNumber(searchValue, gg.TYPE_DWORD) ---- 2. 获取结果数量 local count = gg.getResultsCount() if count == 0 then return end ---- 3. 过滤/修改 local results = gg.getResults(count) for i, v in ipairs(results) do v.value = 10301030------ 修改为指定值 v.freeze = false------ 是否冻结 end gg.setValues(results) gg.toast("开启成功") end, function() gg.clearResults()-- ---- 清除旧搜索结果 gg.setRanges(gg.REGION_ANONYMOUS) ---- 设置内存区域 ---- 1. 搜索数值 local searchValue = 10301030---- 要搜索的数值 gg.searchNumber(searchValue, gg.TYPE_DWORD) ---- 2. 获取结果数量 local count = gg.getResultsCount() if count == 0 then return end ---- 3. 过滤/修改 local results = gg.getResults(count) for i, v in ipairs(results) do v.value = 10401001------ 修改为指定值 v.freeze = false------ 是否冻结 end gg.setValues(results) gg.toast("开启成功") end }, { "苏醒的魔剑", function() gg.clearResults()-- ---- 清除旧搜索结果 gg.setRanges(gg.REGION_ANONYMOUS) ---- 设置内存区域 ---- 1. 搜索数值 local searchValue = 10401001---- 要搜索的数值 gg.searchNumber(searchValue, gg.TYPE_DWORD) ---- 2. 获取结果数量 local count = gg.getResultsCount() if count == 0 then return end ---- 3. 过滤/修改 local results = gg.getResults(count) for i, v in ipairs(results) do v.value = 10302015------ 修改为指定值 v.freeze = false------ 是否冻结 end gg.setValues(results) gg.toast("开启成功") end, function() gg.clearResults()-- ---- 清除旧搜索结果 gg.setRanges(gg.REGION_ANONYMOUS) ---- 设置内存区域 ---- 1. 搜索数值 local searchValue = 10302015---- 要搜索的数值 gg.searchNumber(searchValue, gg.TYPE_DWORD) ---- 2. 获取结果数量 local count = gg.getResultsCount() if count == 0 then return end ---- 3. 过滤/修改 local results = gg.getResults(count) for i, v in ipairs(results) do v.value = 10401001------ 修改为指定值 v.freeze = false------ 是否冻结 end gg.setValues(results) gg.toast("开启成功") end }, }), }),--box结尾 changan.box({"皮肤美化", changan.check({ {"勋章美化", function() local Table=[[ 武器名称=消灭勋章 82201001 基础勋章 82201002 枪神之辉 82201003 胜利荣光 82201004 无畏战魂 82201005 独行侠 82201006 迷斯拉 82201007 时序猎手 82201008 梦幻激斗 82201009 天音净语 82201010 蒸汽之星 82201011 葫芦七绝 82201012 纸上战争 82201013 帝皇侠 82201014 猪猪侠 82201015 月冕之狼 82201016 花序狂想 82201017 星际主宰 ]] local function parseTable(list) local categories = {} local currentCategory = "消灭勋章" -- 默认分类 for line in list:gmatch("[^\r\n]+") do if line:find("武器名称=") then currentCategory = line:match("武器名称=(.*)") elseif line:find("%d+") then local code, name = line:match("(%d+)%s+(.+)") if not categories[currentCategory] then categories[currentCategory] = {} end table.insert(categories[currentCategory], { code = code, name = name }) end end return categories end local function selectWeapon() local categories = parseTable(Table) local weapons = categories["消灭勋章"] local weaponNames = {} for _, weapon in ipairs(weapons) do table.insert(weaponNames, weapon.name)end local weaponChoice = gg.choice(weaponNames, "选择战斗勋章") if not weaponChoice then return end return weapons[weaponChoice].code, weapons[weaponChoice].name end local selectedWeaponCode, selectedWeaponName = selectWeapon() if selectedWeaponCode and selectedWeaponName then --[[ 仅供娱乐 --protected override System.Void onUpdate(); // 0x20019f0 // 更新时 --private System.Void onMedal(System.Int32 medalId); // 0x2001cec // 奖牌上 ]] local so = gg.getRangesList('libil2cpp.so')[2].start gg.setValues({ {address=so+0x20019A0,flags=4,value=403241441},--获取战斗勋章 {address=so+0x20138DC,flags=4,value=selectedWeaponCode},--指定勋章代码 {address=so+0x20019f0,flags=4,value='~A8 B [PC,#0x2FC]' },--每帧更新旧奖牌 }) gg.sleep(250) local so = gg.getRangesList('libil2cpp.so')[2].start gg.setValues({ {address=so+0x20019f0,flags=4,value=-788397057},--恢复每帧更新 }) end end },{ "皮肤美化", function() local function ASo(a,b) gg.setRanges(a[3]);gg.clearResults();gg.searchNumber(a[2],a[4]) local r=gg.getResults(gg.getResultCount());gg.clearResults() if #r==0 then return end for _,v in ipairs(b)do local t={};for i=1,#r do t[i]={address=r[i].address+v[2],flags=v[3]or a[4]}end t=gg.getValues(t);local tmp={} for i=1,#r do local val=tonumber(t[i].value)if val>=v[1]and val<=v[1]then tmp[#tmp+1]=r[i]end end if #tmp==0 then return end;r=tmp end return r[1].address end local skinCodes={50105900,50101700,50100600} local idx=gg.choice({"1.小龙人麟休","2.队长汤姆","3.特工罗拉"},nil,"选择当前使用的皮肤.") if not idx then return end local bag=ASo({"[测试]",skinCodes[idx],32,32},{{skinCodes[idx],-4,4,1}}) if not bag then gg.toast("定位失败");return end local tbl=[[ 50120200 花小楼 50119600 乐璇儿 50119500 虚空黯影 星莉奈变身形态 50119400 虚空黯影 星莉奈 50119300 花木兰变身形态 50119200 花木兰 50119100 貂蝉变身形态 50119000 貂蝉 50118800 吕布 50118700 财小神 50118600 塔莎 50118500 可瑞儿 50118400 波小茶 50118300 星璃 50118200 辛西娅 50118100 丹姝 50117100 弥梦帝君 空候 50117000 爱尔莉丝 50116900 弗拉明戈 50116800 韶华 50116700 宝儿 50116600 马丁尼 50116500 米诺斯(变身形态) 50116400 米诺斯 50116300 艾琳 50116200 福宝 50116100 伽蓝 50116000 天仙子.雅 50115900 风鹰侠 50115800 刑天侠 50115700 炎龙侠 50115600 帝皇侠 50115500 苍鸿 50115400 叶少 50115300 叶少{变身形态} 50115200 oiia猫 50115100 萨亚 50115000 蓝伯特 50114900 白夜女卡洛儿 50114800 沈一弦 50114700 金樱子 50114600 极兽特工 楠妮 50114500 花火 50114400 锦绣百花 50114300 米兰达 50114200 幻 灵刃白虎 50114100 陶梦蝶 50114000 春樱 50113900 射手星宫之主 肯陶洛斯 50113800 幻 灵刃白虎{变身形态} 50113700 碧水青 50113600 绒儿 50113500 佩露 50113400 弗雷 50113300 圣婴红孩儿 50113200 琏璃梦影 白珍 50113100 残破萝莉 凌幽 50113000 末日救赎 凌影 50112900 狂潮霸主 凌影 50112800 菲欧娜 50112700 部落雄鹰卡卡 50112600 未知皮肤 50112500 张小飞 50112400 花小楼 50112300 格兰妮 50112200 翠丝诺 50112100 妮普洛 50112000 萧元儿 50111900 云胭 50111800 青韵 50111700 圣云芷 50111600 栗子 50111500 古韵山水 远山黛 50111400 电音天后 莎莎 50111300 星速 50111200 彗星 50111100 瑰色 50111000 冰晶公主 雪糯儿 50110900 凛东 50110700 瓦伦汀 50110600 莉莉丝 50110500 菜柯 50110400 格莉菲塔 50110300 空岛商人 50110200 诺亚 50110100 莎拉琳娜 50110000 柿梓 50109900 弥禾 50109800 悠妮 50109700 喵萌厨 50109600 莓果甜心 50109500 幻-猩红战机 50109400 墨语竹 50109300 灯瑶 50109200 炎瑞 50109100 白天鹅 奥杰塔 50109000 黑天鹅 奥杰塔 50108900 卡诺鲁斯 50108800 哈尔薇 50108700 齐天小圣 50108600 二郎神 50108500 哪咤·灵泽童子 50108400 哪吒·赤绫太子 50108300 拇指姑娘 蒂妮 50108200 布拉斯特 50108100 泰诺斯 50108000 糕糕 50107900 春雨 50107800 芙洛丝 50107700 狼少年沃尔夫 50107500 小红帽阿夏尔 50107400 奥利安 50107300 雪圆圆 50107200 唐可馨 50107100 瓦莲娜 50107000 马克 50106900 玛丽露 50106800 艾登 50106700 清夏 50106600 甜恬 50106500 逍遥客 50106400 米豆 50106300 唐可翼 50106200 瑞贝卡 50106100 虎啸丰 50106000 白雪公主 索菲亚 50105900 小龙人麟休 50105700 极兽特工 洛泽·青 50105600 梅嘉 50105500 雪裙 50105400 竹笙 50105300 觉醒者妮妮 50105200 爱尔琳 50105100 爱尔顿 50105000 阿拉丁 50104900 洛特 50104800 奥利维亚 50104700 开斯特 50104600 魔炎 50104500 变色龙野人 50104400 终极金刚 50104300 终极萨满 50104200 野人 50104100 野人头领 50104000 诺娜娜 50103900 凌羽 50103800 觉醒者卡卡 50103700 极兽特工 沃夫·银 50103600 全能玩家劳尔 50103500 暗星 50103400 叶小龙王子 50103300 乔治 50103200 克莱尔 50103100 露西 50103000 叶小龙 50102900 德古拉六世 50102800 帕普奇 50102700 幻零式 50102600 兰斯洛特 50102500 卢卡斯 50102400 星翼 50102300 雪诺 50102200 胖哒 50102100 小淘气辛迪 50102000 雪球球 50101900 柳仙儿 50101800 月无双 50101700 队长汤姆 50101600 兔美美 50101500 卡卡 50101400 星灵 50101300 蒂奇 50101200 黯 50101100 迷梭梭 50101000 熊孩子 50100900 程锦衣 50100800 幻音 50100700 喵小糖 50100600 特工罗拉 50100500 乔克 50100400 千兵卫 50100300 西部警长乔伊 50100200 迷斯拉 50100100 小艾 ]] local function parseTbl() local map,wps,ws={},{},{} for l in tbl:gmatch("[^\r\n]+")do local c,n=l:match("(%d+)%s+(.+)") if c then c=tonumber(c);map[c]=n;wps[#wps+1]={c=c,n=n};ws[#ws+1]=n end end return map,wps,ws end local idMap,wps,ws=parseTbl() local function getCurName() local id=gg.getValues({{address=bag,flags=4}})[1].value return idMap[id]or "未知皮肤("..math.floor(id)..")" end local isRunning = true local function doModify() local items = {"→退出修改←"} for _,v in ipairs(ws)do items[#items+1]=v end local c=gg.choice(items,nil,"选择要修改的皮肤:") if not c then return end if c==1 then isRunning=false;gg.toast("返回主菜单")return end gg.setValues({{address=bag,flags=4,value=wps[c-1].c}}) end gg.setVisible(true) while isRunning do if gg.isVisible(true)then gg.setVisible(false)doModify()end end gg.setVisible(false) end }, }), }), }, {--第四页 changan.button("搜索音乐", function() search = gg.prompt({ "输入要搜索的歌曲\n可加上歌手名字", "设置显示数量(数字)", },g.sel,{ "text", }) if not search then return end gg.saveVariable(search,g.config) bei() go1=search[1] go3=search[2] jg=start(go1,go3) if jg.code == 200 then fh=jg.content fh=json(fh) --print(fh) Play(gqlb,idb) else function inspect() gg.alert("访问网络异常,错误代码:\n\n"..jg.code) end if not pcall(inspect) then print("网络异常,请先连接上网络") os.exit() end end XGCK=-1 end), changan.button("暂停音乐", function() gg.playMusic("关闭") end), changan.button("水手", function() gg.playMusic("https://wl.tdyun.top/view.php/5093214419d05ab3adc4edca21d820fe.mp3?v=1780219370") end), changan.button("室内系的TrackMaker", function() gg.playMusic("https://wp.kayyw.com/f/51NouM/%E5%AE%A4%E5%86%85%E7%B3%BB%E7%9A%84TrackMaker.mp3") end), changan.button("猛龙过江", function() gg.playMusic("https://wp.kayyw.com/f/VWPohb/%E7%8C%9B%E9%BE%99%E8%BF%87%E6%B1%9F.mp3") end), changan.button("Plain Jane", function() gg.playMusic("https://wp.kayyw.com/f/3DZ1CO/plain%20jane.mp3") end), changan.button("辞九门回忆", function() gg.playMusic("https://wp.kayyw.com/f/8kYOUl/%E8%BE%9E%E4%B9%9D%E9%97%A8%E5%9B%9E%E5%BF%86.mp3") end), changan.button("背起了行囊", function() gg.playMusic("http://music.163.com/song/media/outer/url?id=1972918129.mp3") end), changan.button("烧酒歌", function() gg.playMusic("https://wp.kayyw.com/f/gP8oIa/%E7%83%A7%E9%85%92%E6%AD%8C%28%E7%89%A7%E7%AB%A5%E7%89%88%29.mp3") end), changan.button("精卫", function() gg.playMusic("https://wp.kayyw.com/f/x8wlFY/%E7%B2%BE%E5%8D%AB.mp3") end), changan.button("杨哥", function() gg.playMusic("https://wp.kayyw.com/f/BZwWu8/%E6%9D%A8%E5%93%A5.mp3") end), },{ },{ },{ },{ },{ } }) --配置表添加表即可加页数,只需要与上边菜单标题数对应