import("android.renderscript.RenderScript")
import("android.renderscript.ScriptIntrinsicBlur")
import("android.renderscript.Allocation")
import("android.renderscript.Element")
import("android.graphics.Bitmap")
import("android.graphics.Canvas")
import("android.graphics.Paint")
import("android.graphics.drawable.BitmapDrawable")
if tonumber(device.width)==nil then
dwidth=1340
dheight=2300
else
dwidth=device.width
dheight=device.height
end
function Blur(view, radius)--radius大于0小于25
view:measure(View.MeasureSpec:makeMeasureSpec(0, View.MeasureSpec.UNSPECIFIED), View.MeasureSpec:makeMeasureSpec(0, View.MeasureSpec.UNSPECIFIED))
view:layout(0, 0, view:getMeasuredWidth(), view:getMeasuredHeight())
local width, height = view:getMeasuredWidth(), view:getMeasuredHeight()
local bitmap = Bitmap:createBitmap(width, height, Bitmap.Config.ARGB_8888)
local canvas = Canvas(bitmap)
view:draw(canvas)
local renderScript = RenderScript:create(context)
local input = Allocation:createFromBitmap(renderScript, bitmap)
local output = Allocation:createTyped(renderScript, input:getType())
local blurScript = ScriptIntrinsicBlur:create(renderScript, Element:U8_4(renderScript))
blurScript:setRadius(radius)
blurScript:setInput(input)
blurScript:forEach(output)
output:copyTo(bitmap)
view:setBackgroundDrawable(BitmapDrawable(context:getResources(), bitmap))
renderScript:destroy()
input:destroy()
output:destroy()
blurScript:destroy()
end
tcbTouch = function(v, event)
local Action = event:getAction()
if Action == MotionEvent.ACTION_DOWN then
isMove = false
RawY = event:getRawY()
elseif Action == MotionEvent.ACTION_UP then
if tox<0 then
if tox<-120 then tox=-120 end
canMove=false
changebg()
luajava.newThread(function()
--vibra:vibrate(16)
for i=1,-(tox/6) do
luajava.runUiThread(function()
tcbar:scrollBy(0,6)
end)
gg.sleep(10)
end
end):start()
canMove=true
end
elseif Action == MotionEvent.ACTION_MOVE then
isMove = true
tox=-(event:getRawY() - RawY)
if canMove then
if tox>-120 and tox<0 then
tcbar:scrollTo(0,tox)
end
end
end
end
if (rlgg.VERSION < 2.09) then
gg.alert('请使用大于等于2.09版本的RLGG')
os.exit()
end
--local typeface = import("android.graphics.Typeface")
--local FontPath = "/storage/emulated/0/云烛/配置文件/GoogleSans-Bold.otf"--字体路径
--local font = typeface:createFromFile(FontPath)
local baseWindow = require 'floatingWindowManager2'
if not baseWindow.getContext then
gg.alert('请重启一下RLGG')
app.exit()
end
import "android.graphics.Color"
import "android.content.res.ColorStateList"
function SliderColor(id,color1,color2,color3)
id:setTrackActiveTintList(ColorStateList({{}},{"0xff"..color1}))
id:setTrackInactiveTintList(ColorStateList({{}},{"0x50"..color2}))
id:setThumbTintList(ColorStateList({{}},{"0xff"..color3}))
end
function SwitchColor(id,color1,color2)
id:setTrackTintList(ColorStateList({{android.R.attr.state_checked},{}},{color1,color2}))
end
local context = baseWindow:getContext()
import "android.view.animation.TranslateAnimation"
import "android.view.animation.Animation"
import "android.animation.ArgbEvaluator"
import "android.animation.LayoutTransition"
import "android.graphics.drawable.GradientDrawable"
import "android.graphics.drawable.ClipDrawable"
import "android.media.MediaPlayer"
MediaPlayer=MediaPlayer()
import "java.io.File"
import "android.graphics.Typeface"
import "android.animation.LayoutTransition"
layoutTransition=LayoutTransition()
layoutTransition:setDuration(500)
import 'com.google.android.material.imageview.ShapeableImageView'
import 'com.google.android.material.shape.CornerFamily'
import 'com.google.android.material.materialswitch.MaterialSwitch'
import 'com.google.android.material.button.MaterialButton'
import 'com.google.android.material.dialog.MaterialAlertDialogBuilder'
import 'com.google.android.material.slider.Slider'
import 'com.google.android.material.snackbar.Snackbar'
import 'com.google.android.material.sidesheet.SideSheetDialog'
import 'com.google.android.material.bottomsheet.BottomSheetDialog'
import 'com.google.android.material.bottomsheet.BottomSheetBehavior'
import 'com.google.android.material.progressindicator.LinearProgressIndicator'
import 'com.google.android.material.progressindicator.CircularProgressIndicator'
import 'com.google.android.material.chip.ChipGroup'
import 'com.google.android.material.chip.Chip'
import 'com.google.android.material.radiobutton.MaterialRadioButton'
import 'com.google.android.material.checkbox.MaterialCheckBox'
import 'androidx.coordinatorlayout.widget.CoordinatorLayout'
import 'androidx.core.widget.NestedScrollView'
import 'android.graphics.drawable.Icon'
import 'android.widget.LinearLayout'
import 'android.widget.Button'
import 'android.widget.TextView'
import 'android.widget.ScrollView'
import 'android.widget.RadioGroup'
import 'java.lang.CharSequence'
import 'java.lang.Boolean'
import 'java.lang.reflect.Array'
baseWindow:darkMode()
check字体颜色=0xFFFF0000
switch颜色=0xFFFFFFFF
按钮颜色=0xFFFFFFFF
vibra = context:getSystemService(Context.VIBRATOR_SERVICE)
changan = {}
local changan = changan
local android = import('android.*')
function write(fileName, content)
file.write(fileName, content)
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,ii)
if panduan("/sdcard/波奇酱/图片/"..tmp) ~= true then
gg.toast("正在下载资源"..ii.."/"..#ckimg.."\n请耐心等待")
luajava.download("https://pan.jl8.top/down.php/77e927dead5757d00cf8dbecb5abf0e5.zip"..tmp,"/sdcard/波奇酱/图片/"..tmp)
else
if file.length("/sdcard/波奇酱/图片/"..tmp) <= 1 then
gg.toast("正在下载资源"..ii.."/"..#ckimg.."\n请耐心等待")
luajava.download("https://pan.jl8.top/down.php/77e927dead5757d00cf8dbecb5abf0e5.zip"..tmp,"/sdcard/波奇酱/图片/"..tmp)
end
end
end
ckimg = {
'skin',
'heir',
'hei_right',
'quarkcheckoff',
'quarkcheckon',
'dz_check','dz_title',
'dz_slcta','dz_slctb','quarkx'
}
for i = 1,#ckimg do
jindu = i
checkimg(ckimg[i],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 = 0xFFFF0026 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 = 0xFFFF0026 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({
0xFFFFDEFF,0xFFFFDEFF
})
jianbian6:setStroke(3,"0xFFFF0026")--边框宽度和颜色
return jianbian6
end
slctb = getRes('dz_slctb')
slcta = getRes('dz_slcta')
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 = 15
}
function getButtonBG()
local selector = luajava.getStateListDrawable()
selector:addState({
android.R.attr.state_pressed
}, getVerticalBG({0xaaFBF259,0xaaFBE641},90))
selector:addState({
-android.R.attr.state_pressed
}, getVerticalBG({0xffFBF259,0xffFBE641},90))
return selector
end
function getButtonB()
local selector = luajava.getStateListDrawable()
selector:addState({
android.R.attr.state_pressed
}, getVerticalBG({0xFFFFFFFF,0xFFFFFFFF},90))
selector:addState({
-android.R.attr.state_pressed
}, getVerticalBG({0xFFFFFFFF,0xFFFFFFFF},90))
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 = "right",
orientation='vertical',
}
jmbg={}
for i = 1,#stab do
jmbg[i]=getSelector()
cebian[#cebian+1] = {
LinearLayout,
id = "jm"..i,
gravity="center_vertical",
layout_height = "35dp",--字体间隔
layout_width = "62dp",
layout_marginTop = "1dp",
layout_marginBottom = "1dp",
layout_marginRight = "3dp",
layout_marginLeft = "3dp",
elevation='2dp',
onClick = function() 切换(i) end,
{
TextView,
text = stab[i][1],
id="jmt"..i,
gravity = "center",
textSize = "13sp",
textColor = "#"..颜色2,
layout_height = "wrap_content",
layout_width = "80dp",
}
}
end
cebian[#cebian+1] = {
LinearLayout,
id = 'backvv',
visibility='gone',
gravity="center_vertical",
layout_height = "50dp",
layout_width = "100dp",
layout_marginTop = "1dp",
layout_marginBottom = "1dp",
layout_marginRight = "3dp",
layout_marginLeft = "3dp",
elevation='2dp',
onClick = function() 切换(当前ui) end,
background=slcta,
{
TextView,
text = '返回',
id="backvt",
gravity = "center",
textSize = "13sp",
textColor = "#000000",
layout_height = "wrap_content",
layout_width = "150dp",
}}
cebian = {
ScrollView,
layout_marginTop='dp',
layout_marginLeft='8dp',
layout_marginRight='dp',
layout_marginBottom='8dp',
background=getVerticalBG({0xFB9CAFED,0xFB9CAFED},30),---左边滑动栏
layout_height = "250dp",
layout_width = "50dp",
cebian
}
for i = 1,#stab do
_ENV["layout"..i] = luajava.loadlayout({
LinearLayout,
layout_width = "fill_parent",
layout_height = "250dp",----边缘长度
visibility = "gone",
orientation = "vertical",
{
ScrollView,
fillViewport = "true",
--padding = "10dp",
gravity = "center",
layout_width = "222dp",----边缘宽度
layout_height = "250dp",----选择页面长度
orientation = "horizontal",
{
LinearLayout,
id = "layoutm"..i,
layout_marginTop='dp',
layout_marginRight = "dp",
layout_marginLeft = "5dp",
layout_width = "215dp",----选择页面宽度
background=getVerticalBG({0xFB9CAFED,0xFB9CAFED},20),--右边主要部分
orientation = "vertical",
gravity = "center_horizontal",
}
}})
end
ckou = {
LinearLayout,
layout_width = "wrap_content",
layout_height = "wrap_content",
cebian,
{
LinearLayout,
layout_marginBottom = "10dp",
layout_marginTop = "1dp",
layout_width = "1dp",
layout_height = "match_parent",
background = "#88D7D7D7"
}
}
for i = 1,#stab do
ckou[#ckou+1] = _ENV["layout"..i]
end
for i,v in pairs(tuozhans) do
ckou[#ckou+1]=v
end
contri=luajava.loadlayout({
ImageView,
id = "control",
background = 获取图片(xfcpic),
layout_width = "50dp",
layout_height = "50dp",
onTouch = hanshu,
onClick = 隐藏,
})
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',
layout_marginLeft='15dp',
layout_marginTop='30dp',
layout_marginRight='6dp',
visibility='gone',
{--顶部栏
FrameLayout,
orientation = "horizontal",
padding = "2dp",
layout_height='30dp',
layout_width="fill_parent",
-- background=getVerticalBG({0xFFFFDEFF,0xFFFFDEFF},12),
{ImageView,
src=getRes('xz_gg'),
layout_height='30dp',
layout_width='30dp',
layout_marginTop='-3dp',
layout_marginLeft='150dp',
layout_marginRight='0dp',
onClick=function()
end,
},
-- onClick=changebg,
{ImageView,
background=getVerticalBG({0x72000000,0x72000000},0),---小栏
onClick = 隐藏,
layout_width = "50dp",
layout_height = "4dp",
layout_marginLeft='150dp',
layout_marginTop='10dp',
},
{ImageView,
src=getRes('heix'),
layout_height='29dp',
layout_width='29dp',
layout_marginTop='0dp',
layout_marginLeft='230dp',
layout_marginRight='0dp',
onClick=function()
--string.toMusic("退出全防")
luajava.setFloatingWindowHide(false)
tuichu=1
end,
},
{ImageView,
visibility='gone',
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='110dp',
layout_marginBottom='2dp',
background=getVerticalBG({0xffefefef,0xffefefef},12),
elevation='2dp'
},
},ckou
},{LinearLayout,
id='dztitle',
{TextView,
layout_marginLeft='25dp',
layout_marginRight='5dp',
layout_marginTop='-45dp',
layout_width='match_parent',
gravity='center',
textSize='12dp',
layout_width='55dp',
layout_height='35dp',
background = 获取图片(xfcpic),
onClick=隐藏,
onTouch=hanshu,
src=getRes('ski'),
},
{TextView,
layout_marginLeft='-65dp',
layout_marginRight='10dp',
layout_marginTop='170dp',
layout_width='match_parent',
gravity='center',
textSize='12dp',
layout_width='60dp',
layout_height='180dp',
background = 获取图片(宫园薰),
--onClick=隐藏,
onTouch=hanshu,
--src=getRes('麻衣'),
}
},
{ImageView,
id='suox',
src=getRes('quarkx'),
--colorFilter=0xff3cede6,
layout_gravity='right',
--onClick=隐藏,
--background=getVerticalBG({0xFFFF00FF,0xffefefef},12),
layout_height='60dp',
layout_width='190dp',
layout_marginTop='-13dp',
padding='2dp',
onTouch=hanshu
},contri,{
ImageView,
layout_marginTop='6dp',
layout_marginLeft='6dp',
id='ctrol1',
layout_width = "24dp",
layout_height = "24dp",
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
if ylfunc~=nil then ylfunc() end
if yyfunc~=nil then yyfunc() 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)
changan.controlRotation2 = function(control, time)
luajava.runUiThread(function()
import "android.view.animation.Animation"
import "android.animation.ObjectAnimator"
xuanzhuandonghua = ObjectAnimator:ofFloat(control, "rotation", {
0, 360
})
xuanzhuandonghua:setRepeatCount(0)
xuanzhuandonghua:setRepeatMode(Animation.RESTART)
xuanzhuandonghua:setDuration(time)
xuanzhuandonghua:start()
end)
end
luajava.startThread(function()
while true do
if 显示==0 and 转动 then changan.controlRotation2(contri,2000) end
gg.sleep(2000)
end
end)
while true do
if tuichu == 1 then break end
if 音量键 then
jianting3(qiehuan)
end
gg.sleep(300)
end
luajava.setFloatingWindowHide(false)
end
radon=getRes("quarkcheckon")
radoff=getRes("quarkcheckoff")
radiog={}
function changan.intradio(nid,name,func)
return {
LinearLayout ,
layout_width = 'match_parent' ,
layout_height = "wrap_content" ,
layout_weight=1,
layout_marginLeft = "2dp" ,
layout_marginRight = "5dp" ,
layout_marginTop='2dp',
layout_marginBottom='8dp',
gravity = "center_vertical" ,
onClick = function ()
--changan.controlWater (_ENV [tid] , 200)
func()
end
,
{
ImageView ,
id = luajava.newId (nid) ,
layout_width = '15dp' ,
layout_height = "15dp" ,
layout_marginLeft = "2dp" ,
layout_marginRight = "4dp" ,
src =radoff ,
padding='-4dp',
} , {
TextView ,
gravity = "top" ,
text = name ,
textSize="12sp",
textColor = '#000000' ,
layout_width = 'wrap_content' ,
layout_height = 'wrap_content' ,
}
}
end
function changan.radio(cklist)
local rid=guid()
radiog[rid]={}
rest = {
LinearLayout ,
layout_width = 'match_parent' ,
layout_height = "wrap_content" ,
layout_marginTop = "10dp" ,
}
if type (cklist [1]) == "string" then
rest [# rest + 1] = {
TextView ,
gravity = "left" ,
text = cklist [1] ,
textSize = "13sp" ,
textColor = '#000000' ,
layout_width = '80dp' ,
layout_height = 'wrap_content' ,
layout_marginLeft = "10dp" ,
layout_marginRight = "5dp" ,
layout_marginTop = "0dp" ,
layout_marginBottom = "0dp" ,
}
table.remove(cklist,1)
end
local restt={
LinearLayout ,
layout_width = 'match_parent' ,
layout_weight=1,
layout_height = "wrap_content" ,
gravity = "left" ,
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 nid = name..guid ()
local name = cklist[i + j][1]
radiog[rid][nid]=false
local func1 = radin(rid,nid,cklist[i + j][2])
if not name then name = "未设置" end
local rstt = changan.intradio(nid,name,func1)
table.insert(tempTable, rstt)
else
table.insert(tempTable, {LinearLayout,
layout_width = 'match_parent',
layout_weight=1,})
end
end
table.insert(restt, tempTable)
end
rest [# rest + 1] = restt
return luajava.loadlayout (rest)
end
function radin(rid,nid,func)
return function()
for k,v in pairs(radiog[rid]) do
luajava.getIdValue(k):setImageDrawable(radoff)
if k==nid and v~=true then
luajava.getIdValue(k):setImageDrawable(radon)
v=true
luajava.newThread(func):start()
end
end
end
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 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" ,
luajava.loadlayout({
LinearLayout,
layout_width="wrap_content",
layout_height= "30dp",
layout_width = "30dp",
background="https://wp.kayyw.com/f/JopkIx/17616635508110.jpeg",
}),
layout_marginLeft='2dp',
layout_marginRight='2dp',
layout_marginBottom = "2dp" ,
elevation="2dp",
onClick = function ()
visi (tid , ttid)
end
,
background = getButtonB(),
{
TextView , text = views [1] ,
textSize = "12sp" ,
layout_marginLeft = "5dp" ,
layout_width = "match_parent" ,
layout_weight=1,
textColor = "#000000" ,
gravity = "left" ,
},{
LinearLayout ,
padding={"0dp","0dp","10dp","0dp"},
layout_width = "24dp" ,
layout_height = "24dp" ,
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()
if 分页ing~=false then
tuozhans[分页ing]:setVisibility(View.GONE)
backvv:setVisibility(View.GONE)
分页ing=false
for i=1,#stab do
_ENV['jm'..i]:setVisibility(View.VISIBLE)
end
changan.controlBigX(floatWindow,600)
end
for i = 1,#stab do
_ENV["jmt"..i]:setTextColor(0xFF000000)
--_ENV["jmp"..i]:setColorFilter(0xffd7d7d7)
_ENV["layout"..i]:setVisibility(View.GONE)
_ENV['jm'..i]:setBackground(jmbg[i])
end
_ENV['jm'..当前ui]:setBackground(slcta)
--_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 = "#FFE2E2",
cornerRadius = 10
})
function changan.image(img,height,width,pad,func)
if not func then func=function() end end
if not pad then pad="0dp" end
if not height then height="80dp" end
if not width then width="80dp" end
return luajava.loadlayout({
LinearLayout,
layout_height="wrap_content",
layout_width="fill_parent",
gravity="center",
{
ImageView,
layout_height=height,
layout_width=width,
padding=pad,
src=获取图片(img),
onClick=function() luajava.newThread(func):start() end,
}})
end
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
ctrol1:setVisibility(View.VISIBLE)
suox:setVisibility(View.VISIBLE)
dztitle:setVisibility(View.VISIBLE)
chuangk:setVisibility(View.VISIBLE)
if 分页ing~=false then
tuozhans[分页ing]:setVisibility(View.VISIBLE)
else
_ENV["layout"..当前ui]:setVisibility(View.VISIBLE)
end
--changan.controlBig(floatWindow,500)
chuangk:setBackground(beij)
changan.controlBigX(floatWindow,800)
else
luajava.startThread(function()
luajava.runUiThread(function()
changan.controlSmallX(floatWindow,790)
end)
gg.sleep(800)
luajava.runUiThread(function()
ctrol1:setVisibility(View.GONE)
suox:setVisibility(View.GONE)
dztitle:setVisibility(View.GONE)
chuangk:setVisibility(View.GONE)
chuangk:setBackground(beij2)
control:setVisibility(View.VISIBLE) 显示 = 0
changan.controlBigX(floatWindow,400)
if 分页ing~=false then
tuozhans[分页ing]:setVisibility(View.GONE)
else
_ENV["layout"..当前ui]:setVisibility(View.GONE)
end
end)
end)
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.controlSmallX = function(control,time)
luajava.runUiThread(function()
import "android.animation.ObjectAnimator"
ObjectAnimator():ofFloat(control,"scaleX", {
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
changan.controlBigX = function(control,time)
luajava.runUiThread(function()
import "android.animation.ObjectAnimator"
ObjectAnimator():ofFloat(control,"scaleX", {
0, 0.4, 0.7, 1
}):setDuration(time):start()
end) end
function 开关3(name,func1,func2,nid)
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)
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)
end
end
end
end
function getShape3()
jianbians = luajava.new(GradientDrawable)
jianbians:setCornerRadius(20)
jianbians:setGradientType(GradientDrawable.LINEAR_GRADIENT)
jianbians:setColors({
0xffFFFDF2,0xffFFFDF2
})
jianbians:setOrientation(GradientDrawable.Orientation.LEFT_RIGHT)
jianbians:setStroke(8,0xFF000000)--边框宽度和颜色
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 = getVerticalBG({0xFF000000,0xFF000000},360)
checkbg2 = getRes("dz_check")
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 = '15dp',
layout_height = '15dp',
padding = "0dp",
},{
TextView,
layout_marginLeft='5dp',
id=luajava.newId(nid.."t"),
gravity = "left",
text = name,
textColor=check字体颜色,
textSize = "12sp",
layout_marginLeft="8dp",
layout_width = 'match_parent',
layout_weight=1,
},
}
}
return switchs[nid]
end
checkbg1 = getRes("bbts_checkoff")
checkbg2 = getRes("bbts_check")
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 = "28dp",
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),
{
ImageView,
id = luajava.newId(nid),
src = checkbg1,
layout_width = '20dp',
layout_height = '20dp',
padding = "0dp",
colorFilter=0xff0f87fa,
},{
TextView,
id=luajava.newId(nid.."t"),
gravity = "left",
text = name,
textColor='#000000',
textSize = "11sp",
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):setImageDrawable(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):setImageDrawable(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)
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)
end
end
if localname=="悬浮窗转动开关" 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(
15,
{
switch颜色,switch颜色
},
4,switch颜色)
checkbg0 = getShape2(
15,
{
0xFF89FFFF,0xFF89FFFF
},
4,0x00ffffff)
checkbga = getShape2(
15,
{
按钮颜色,按钮颜色
},
4,0xffE6E6E6)
switchbg1 = getShape(
15,
{
0xffffffff,0xffffffff
},
4,0xffffffff)
switchbg2 = luajava.loadlayout {
GradientDrawable ,
color = "#333333" ,
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',
luajava.loadlayout({
LinearLayout,
layout_width="wrap_content",
layout_height= "30dp",
layout_width = "30dp",
background="https://wp.kayyw.com/f/6ZjkTM/17617119736170.webp",
}),
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',
}
}
if not miaoshu then
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",
luajava.loadlayout({
LinearLayout,
layout_width="wrap_content",
layout_height= "30dp",
layout_width = "30dp",
background="https://wp.kayyw.com/f/NlpXIq/17617119834341.webp",
}),
layout_marginLeft='2dp',
layout_marginRight='2dp',
layout_marginTop='2dp',
layout_marginBottom='2dp',
elevation='2dp',
background = luajava.loadlayout {
GradientDrawable ,
color = 按钮颜色 ,
cornerRadius = 15
} ,padding = {
"0dp","0dp","6dp","0dp"
},
{
LinearLayout,
layout_width = 'match_parent',
layout_height = 'match_parent',
orientation = 'vertical',
{
MaterialSwitch,
id=nid,
layout_width = 'match_parent',
layout_height = 'wrap_content',
text = name,
Typeface=font,
textSize = "13sp",
-- setTrackTintList('0xff000000'),
--mddd3:setTrackTintList(ColorStateList({{android.R.attr.state_checked},{}},{0xff2000ff,0xffd7d7d7})),
---setThumbTintList('0xff000000'),
layout_marginLeft = "10dp",
layout_weight = 1,
textColor = "0xFF000000",
Typeface=font,
--setThumbTintList='0xff000000',
onClick = function() luajava.newThread(function() func() end):start() end,
},
}}
})
else
rest = luajava.loadlayout({
LinearLayout,
layout_width = 'fill_parent',
layout_height = "wrap_content",
gravity = "center_vertical",
{
LinearLayout,
layout_width = 'fill_parent',
layout_height = "wrap_content",
gravity = "center_vertical",
layout_marginLeft='2dp',
layout_marginRight='2dp',
layout_marginTop='2dp',
layout_marginBottom='2dp',
elevation='2dp',
background = luajava.loadlayout {
GradientDrawable ,
color = 按钮颜色 ,
cornerRadius = 15
} ,padding = {
"0dp","0dp","6dp","0dp"
} ,
{
LinearLayout,
layout_width = 'match_parent',
layout_height = 'match_parent',
orientation = 'vertical',
{
MaterialSwitch,
id=nid,
layout_width = 'match_parent',
layout_height = 'wrap_content',
text = name,
Typeface=font,
textSize = "13sp",
-- setTrackTintList('0xff000000'),
--mddd3:setTrackTintList(ColorStateList({{android.R.attr.state_checked},{}},{0xff2000ff,0xffd7d7d7})),
---setThumbTintList('0xff000000'),
layout_marginLeft = "10dp",
layout_weight = 1,
textColor = "0xFF000000",
Typeface=font,
--setThumbTintList='0xff000000',
onClick = function() luajava.newThread(function() func() end):start() end,
},
}}
})
end
return rest
end
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",
{
MaterialCheckBox,
layout_width = 'match_parent',
layout_height = 'wrap_content',
text = name,
onClick = function() luajava.newThread(function() func() end):start() end,
}
}
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()
end)
_ENV[name] = "开"
pcall(func1)
else
vibra:vibrate(9)
luajava.runUiThread(function()
end)
_ENV[name] = "关"
pcall(func2)
end
end
end
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="#FF006AFF" end
local tid="Cbutton"..guid()
buts[tid]=luajava.loadlayout(
{
LinearLayout,
layout_width = 'match_parent',
layout_height = "wrap_content", {
LinearLayout,
id=luajava.newId(tid),
layout_width = "fill_parent",
gravity = "center_vertical",
luajava.loadlayout({
LinearLayout,
layout_width="wrap_content",
layout_height= "30dp",
layout_width = "30dp",
background="https://wp.kayyw.com/f/49elu7/Screenshot_2025-10-03-20-29-19-66_2332cb9b27b851b548ba47a91682926c.jpg",
}),
layout_marginTop = "5dp",
layout_marginBottom = "5dp",
layout_marginLeft="3dp",
layout_marginRight="3dp",
elevation="2dp",
background = getButtonB(),
padding="10dp",
onClick = function()
changan.controlWater(buts[tid],300)
vibra:vibrate(10)
luajava.newThread(func):start() end,
{
TextView,
id = luajava.newId(tid.."bt"),
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
chazhi={} chajv={}
function changan.seek(name,bian,smin,smax,nows)
local thum= getVerticalBG({0xffffffff,0xffffffff},4,10,switch颜色)
thum:setSize(30, 40)
_ENV[bian] =nows
smin=tonumber(smin) smax=tonumber(smax)
chajv[bian]=smax-smin
chazhi[bian]=1-smin
if smin==nil then smin=1 smax=10 end
truesmin=1
truesmax=truesmin+chajv[bian]
if not nows then nows = smin tnows=(smin-nows)
else
tnows=(nows-smin)+1
end
if _ENV[bian] == nil then _ENV[bian] = 1.0 end
if not name then name = "未设置" end
local names = name..guid()
rest = luajava.loadlayout({
LinearLayout,
layout_width = 'fill_parent',
layout_hight = "fill_parent",
{
LinearLayout,
layout_width = 'fill_parent',
layout_hight = "fill_parent",
layout_marginTop = "5dp",
layout_marginBottom = "5dp",
gravity = "center_vertical",
background = getVerticalBG({按钮颜色,按钮颜色},15),
elevation='2dp',
{
TextView,
padding={"5dp","10dp","0dp","10dp",},
textSize="12sp",
gravity = "top",
textColor="#000000",
Typeface=font,
text = name..":"..nows,
id = luajava.newId(names),
layout_width = '100dp',
layout_marginLeft = "5dp",
layout_marginRight = "0dp",
},
{
Slider,
id=nid,
thumbHeight='23dp',
trackHeight='15dp',
trackStopIndicatorSize='0dp',
layout_width = 'match_parent',
layout_height = 'wrap_content',
padding = {
"0dp","0dp","0dp","0dp"
},
value = nows,
valueTo = smax,
valueFrom = smin,
stepSize = 1,
thumbSize="2dp",
tickVisible=false,
onClick = function() luajava.newThread(function() func() end):start() end,
addOnChangeListener = function(slider, value, fromUser) -- 如果执行的功能不是修改器的函数,或者不带阻塞的,可以不用 window:threadWraper 包裹,性能更好(属于UI线程)
-- 如果不是用户触发的,不处理
if not fromUser then
return
end
Snackbar:make(slider, '已选择数值 > '..value, Snackbar.LENGTH_SHORT):show()
end
},
}})
return rest
end
levels={}
function changan.seek2(name , bian , smin , smax , nows,level)
local smin=math.ceil(smin* 10)/10
local smax=math.ceil(smax* 10)/10
local nows=math.ceil(nows* 10)/10
local level=math.ceil(level* 10)/10
if bian~='mubx' and bian~='muby' then
if _ENV [bian] == nil then
_ENV [bian] = nows
else
gg.alert("seek控件的变量名称:"..bian.."重复!\n请换一个名称") os.exit()
end
end
if not name then
name = "未设置"
end
local names = name..guid ()
if not level then level=1 end
levels[bian]=math.ceil(level* 10)/10
local shuzhi=luajava.loadlayout({
TextView ,
gravity = "center" ,
text = tostring(nows) ,
textColor=switch颜色,
Typeface=font,
id = luajava.newId (names) ,
layout_width = '50dp' ,
layout_marginLeft = "5dp" ,
layout_marginRight = "0dp" ,
})
local tmp1={TextView,
background=getVerticalBG({0xFF000000,0xFF000000},15,2.5,0xFF000000),
layout_height="24dp",
layout_width="24dp",
gravity="center",
elevation="2dp",
layout_marginTop = "5dp" ,
layout_marginBottom = "5dp" ,
layout_marginLeft = "5dp" ,
layout_marginRight = "5dp" ,
text="-",
textColor="#000000",
Typeface=font,
onClick=function()
vibra:vibrate(4)
if _ENV[bian]>smin then
_ENV[bian]=_ENV[bian]-levels[bian]
_ENV[bian]=tonumber(string.format("%.1f", _ENV[bian]))
if _ENV[bian]smax then _ENV[bian]=smax end
_ENV[bian]=math.ceil(_ENV[bian]* 10)/10
luajava.getIdValue(names):setText(tostring(_ENV[bian]))
if bian=='mubx' or bian=='muby' then daxiao() end
end
end,
}
rest = luajava.loadlayout ( {
LinearLayout ,
layout_width = 'fill_parent' ,
gravity = "center" ,
layout_height = "wrap_content" ,
{
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 = 15
} ,padding = {
"0dp","0dp","6dp","0dp"
},
{
TextView ,
gravity = "top" ,
text = name ,
textColor="#000000",
Typeface=font,
layout_weight=1,
textSize='12sp',
layout_width = 'match_parent' ,
layout_marginLeft = "10dp" ,
layout_marginRight = "0dp" ,
},
tmp1,shuzhi,tmp2
}
})
return rest
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)
else
_ENV[name] = "关"
pcall(func2)
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()
else
luajava.runUiThread(function()
luajava.getIdValue(nid):setBackground(luajava.getBitmapDrawable("/sdcard/波奇酱/图片/check1"))
end)
_ENV[name] = "关"
func2()
end
end
end
end
tuozhans={}
function 生成页面(name,views)
if tuozhans[name]~=nil then gg.alert(name..'页面存在重名!') os.exit() end
local tmp={
LinearLayout,
layout_marginRight = "5dp",
layout_marginLeft = "5dp",
layout_width = "240dp",
orientation = "vertical",
gravity = "center_horizontal",
}
for i=1,#views do
table.insert(tmp,views[i])
end
tuozhans[name] = luajava.loadlayout({
LinearLayout,
layout_width = "fill_parent",
layout_height = "300dp",
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",
tmp
}})
end
function 显示页面(name)
luajava.runUiThread(function()
if tuozhans[name]==nil then luajava.startThread(function() gg.alert(name..'分页不存在!') end) return 0 end
for i=1,#stab do
_ENV['layout'..i]:setVisibility(View.GONE)
_ENV['jm'..i]:setVisibility(View.GONE)
end
for i,v in pairs(tuozhans) do
if i==name then
v:setVisibility(View.VISIBLE)
else
v:setVisibility(View.GONE)
end
end
backvv:setVisibility(View.VISIBLE)
分页ing=name
changan.controlBigX(floatWindow,600)
end)
end
分页ing=false
bglist={
getHorizontalBG({0xffE8EEFf,0xffE8EEFF},35),
getHorizontalBG({0xff7F58FF,0xff2964FF,0xff5399FF},30),
getHorizontalBG({0xaaffffff,0xaaffffff},12,3,0xaa232323),
}
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 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 getvalue(addr,flags) local asbd={} asbd[1]={} asbd[1].address=addr asbd[1].flags=flags tmp=gg.getValues(asbd) return tmp[1].value end function iceEdit(addr,type,value) local t={} t[1]={} t[1].address=addr t[1].flags=type t[1].value=value t[1].freeze=true gg.addListItems(t) end function breakice(addr,type) local t={} t[1]={} t[1].address=addr t[1].flags=type t[1].freeze=false gg.addListItems(t) end function getMapRanges() local ranges = {} local r_list = {} local _index = 1 local library = gg.getRangesList('^/data/*.so*$') for index, map in ipairs(library) do if map.type:sub(2, 2) == "w" or map.type == "r-xp" then local name = map.internalName local state = map.state local count = map.count if not r_list[name] then r_list[name] = {} end if not r_list[name][state] then r_list[name][state] = {0, _index} end r_list[name][state][1] = r_list[name][state][1] + 1 r_list[name][state][2] = _index map.count = r_list[name][state][1] table.insert(ranges, map) _index = _index + 1 end end return ranges, r_list end function staticstart(map) local ranges = getMapRanges() if not map[3] then map[3] = 1 end for index, value in ipairs(ranges) do local name = value.internalName:gsub("^.*/", "") if map[1] == name and map[2] == value.state and map[3] == value.count then return value.start end end end function xing(start, offset) local flags = {[true] = 32, [false] = 4} local ti64 = gg.getTargetInfo().x64 local type = flags[ti64] local addr = 0 if start then addr = start + offset[1] for index = 2, #offset do local pointer = gg.getValues({{address = addr, flags = type}}) if not ti64 then pointer[1].value = pointer[1].value & 0xFFFFFFFF end addr = pointer[1].value + offset[index] end end return addr end
local time=os.clock()
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(0x2C4D6BCE) 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 & 0xBAE0FFFF 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
------------------------------
------------------------------
----动态基址写法配置
function PS() end
function setvalue(address,flags,value) PS('修改地址数值(地址,数值类型,要65536)') local tt = {} tt[1] = {} tt[1].address = address tt[1].flags = flags tt[1].value = value gg.setValues(tt) 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
------------------------------
------------------------------
--仿SX写法配置
------------------------------
------------------------------
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 edit(orig,ret)_om=orig[1].memory or orig[1][1]_ov=orig[3].value or orig[3][1]_on=orig[2].name or orig[2][1]gg.clearResults()gg.setRanges(_om)gg.searchNumber(_ov,orig[3].type or orig[3][2])sz=gg.getResultCount()if sz<1 then gg.toast(_on.."失败")else sl=gg.getResults(720)for i=1,sz do ist=true for v=4,#orig do if ist==true and sl[i].value==_ov then cd={{}}cd[1].address=sl[i].address+(orig[v].offset or orig[v][2])cd[1].flags=orig[v].type or orig[v][3]szpy=gg.getValues(cd)cdlv=orig[v].lv or orig[v][1]cdv=szpy[1].value if cdlv==cdv then pdjg=true ist=true else pdjg=false ist=false end end end if pdjg==true then szpy=sl[i].address for x=1,#(ret)do xgpy=szpy+(ret[x].offset or ret[x][2])xglx=ret[x].type or ret[x][3]xgsz=ret[x].value or ret[x][1]xgdj=ret[x].freeze or ret[x][4]xgsj={{address=xgpy,flags=xglx,value=xgsz}}if xgdj==true then xgsj[1].freeze=xgdj gg.addListItems(xgsj)else gg.setValues(xgsj)end end xgjg=true end end if xgjg==true then gg.toast(_on.."成功")else gg.toast(_on.."失败")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("搜索到"..#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) gg.toast("已修改"..#t.."条数据") gg.addListItems(t) else gg.toast("not found", false) return false end else gg.toast("Not Found") 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) 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]) 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 & 0xBAE0FFFF 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
local Ranges = gg.getRangesList('/')
local function Read(module,type)
for k,v in pairs(Ranges) do
if v['internalName']:match('[^/]*$') == module and v['type'] == type then
return v['start']
end
end
end
------------------------------
------------------------------
local Table = {}
local function Modify(address,value,flags)
Table[#Table+1] = {
address = address,value = value,flags = flags
}
end
------------------------------
------------------------------
-- 读取内存地址的函数
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])
end
function getRanges()
local ranges = {}
local t = gg.getRangesList('^/dev/kgsl-3d0*$')
for i, v in pairs(t) do
if v.type:sub(4, 4) == 's' then
table.insert(ranges, v)
end
end
return ranges
end
local function readD(a)
return gg.getValues({{
address = a,
flags = gg.TYPE_DWORD
}})[1].value
end
local function readF(a)
return gg.getValues({{
address = a,
flags = gg.TYPE_FLOAT
}})[1].value
end
------------------------------
------------------------------
function setvalue(address,flags,value)
local t = {}
t[1] = {}
t[1].address = address
t[1].flags = flags
t[1].value = value
gg.setValues(t)
gg.addListItems(t)
end
------------------------------
------------------------------
function _V(add,value1,flag,value2)
local num = 0;ednum = 0
if flag == gg.TYPE_DWORD then
readV = readD
elseif flag == gg.TYPE_FLOAT then
readV = readF
else
os.exit("不支持的类型")
end
local S_list = getRanges()
for i in pairs(S_list) do
num = num+1
addr = S_list[i].start+add
if readV(addr) == value1 then
setvalue(addr,flag,value2)
ednum = ednum+1
end
end
return "遍历了"..num.."个地址\n".."修改了"..ednum.."个地址"
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 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
ms = { }
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
menu ={}
name ={}
id = 0
play = false
song = ""
_G_ = {
function()
local searchMusic = gg.prompt({
"歌曲•歌手",
"列表•限制",
},{"","10"},{
"text",
"text",
})
if not searchMusic then gg.setVisible(false) Main() elseif
searchMusic[1] == "" then gg.alert("请输入歌曲/歌手!") _G_[1]()
else
local results = gg.makeRequest("http://music.163.com/api/search/get?s="..searchMusic[1].."&type=1&offset=0&total=true&limit="..searchMusic[2])
if results.code == 200 then
n=1
for v,k in results.content:gmatch('"id":(.-),"name":"(.-)"') do
if n%4 == 1 then
menu[n/4+1] = v..";"..k
end
if n%4 == 2 then
menu[n/4+1] = menu[n/4+1]..";"..k
end
n=n+1
end
_G_[2]()
else
local s = gg.alert("请求异常,请检查网络……","返回","退出")
if not s then gg.setVisible(false) Main() end
if s == 1 then os.exit() end
if s == 2 then _G_[1]() end
end
end
end,
function()
if #menu == 0 then gg.alert("没有搜索记录") Main() else
for n=1,#menu do
name[n] = menu[n]:gsub("[0-9]+;",""):gsub(";","\n歌手:")
end
local mu = gg.choice(name,0,"歌单")
if not mu then _G_[1]() else
song = name[mu]
local sn=gg.choice({"播放","查看歌词"},nil,"歌曲:"..name[mu])
if not sn then _G_[1]() end
if sn == 1 then
id = menu[mu]:match("(.-);")
gg.toast("正在播放音乐:"..name[mu],true)
string.toMusic("http://music.163.com/song/media/outer/url?id="..id..".mp3")
play = true
end
if sn == 2 then id = menu[mu]:match("(.-);") song = name[mu] _G_[3]() end
end
end
end,
function()
if id == 0 then gg.alert("未有播放记录") Main() else
local results = gg.makeRequest("http://music.163.com/api/song/media?id="..id).content
rs = results:match('"lyric":"(.-)","code'):gsub("\\n","\n"):gsub("[[!-z]+]","")
gg.alert("\n《"..song:gsub("\n","》\n").."\n\n"..rs)
gg.setVisible(false)
end
end,
function()
if play then
play = false
gg.toast("正在停止播放...")
for i=1,100 do
string.toMusic("stop")
string.toMusic("stop")
string.toMusic("stop")
string.toMusic("stop")
string.toMusic("stop")
string.toMusic("stop")
end
gg.toast("播放已停止")
else
gg.toast("无正在播放的音乐")
end
end,
function()
gg.setVisible(false)
if play then _G_[4]() end
LSP()
end
}
function WTYY()
local emo = gg.choice({
"搜索歌曲",
"搜索列表",
"显示歌词",
"暂停播放",
},nil,"温特音乐功能")
if not emo then gg.setVisible(false) end
if emo then
_G_[emo]()
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----频道:@xbhook
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
print(string.char(64,1,100,1,122,1,121,1,121,1,100,1,115,1,65,1,57,1,49,1))
end
return _S
end
local _A = string.format('0x%X', Get_Address(t_So, t_Offset, _bit))
return _A
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--静态
local Ranges=gg.getRangesList('/')
local function Read(module,type)
for k,v in pairs(Ranges) do
if v['internalName']:match('[^/]*$')==module and v['type']==type then
return v['start']
end
end
end
local Table={}
local function Modify(address,value,flags)
Table[#Table+1]={address=address,value=value,flags=flags}
end
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 function readD ( a )
return gg.getValues ( { {
address = a ,
flags = 4
} } ) [ 1 ].value
end
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 addListltems(address,flags,value,freeze)
t={} t[1]={}
t[1].address=address
t[1].flags=flags
t[1].value=value
t[1].freeze=freeze
gg.addListItems(t)
end
function xfnb(add,lx)
return gg.getValues({
{
address=add,flags = lx
}
})[1].value
end
local function X(address)
return gg.getValues({{address = address, flags = gg.TYPE_QWORD}})[1].value
end
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 addListltems(address,flags,value,freeze) t={} t[1]={} t[1].address=address t[1].flags=flags t[1].value=value t[1].freeze=freeze gg.addListItems(t) end
local function X(address)
return gg.getValues({{address = address, flags = gg.TYPE_QWORD}})[1].value
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 Format(tab, format, value, type, Function)
if format == "查看" then
tab[1]["flags"] = type
return gg.getValues(tab)
elseif format == "修改" then
tab[1]["flags"] = type
tab[1]["value"] = value
return gg.setValues(tab)
elseif format == "冻结" then
tab[1]["flags"] = type
tab[1]["freeze"] = true
tab[1]["value"] = value
tab[1]["name"] = Function or "功能"
return gg.addListItems(tab)
elseif format == "加载" then
tab[1]["flags"] = type
return gg.loadResults(tab)
end
end
function Unfreeze()
--获取保存列表
local t = gg.getListItems()
for k, v in pairs(t) do
t[k]["freeze"] = false
end
return gg.addListItems(t)
end
function xqmnb(Search,Modification)
gg.clearResults()
gg.setRanges(Search[1].memory)
gg.searchNumber(Search[3].value,Search[3].type,false,536870912,0,-1)
if gg.getResultCount()==0 then
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 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 Format(tab, format, value, type, Function)
if format == "查看" then
tab[1]["flags"] = type
return print(gg.getValues(tab))
elseif format == "修改" then
tab[1]["flags"] = type
tab[1]["value"] = value
return gg.setValues(tab)
elseif format == "冻结" then
tab[1]["flags"] = type
tab[1]["freeze"] = true
tab[1]["value"] = value
tab[1]["name"] = Function or "功能"
return gg.addListItems(tab)
elseif format == "加载" then
tab[1]["flags"] = type
return gg.loadResults(tab)
end
end
function XunK_Chain(so, offset, format, value, type, Function)--模块设置, 偏移量, 功能参数, 修改值, 类型, 功能 频道:@dzyyds A91
getRanges = getRanges or (function()
local ranges = {}
local t = gg.getRangesList('^/data/*.so*$')
for i, v in pairs(t) do
if v["type"]:sub(2, 2) == 'w' then--判断so是否可读可写
ranges[#ranges+1] = v
end
end
return ranges
end)
local rest, ranges, sostart, valtype = {}, getRanges(), nil , gg.TYPE_DWORD
if gg.getTargetInfo()["x64"] then--判断应用程序是否为64位
valtype = gg.TYPE_QWORD
end
for i in pairs(ranges) do
local _name = ranges[i]["internalName"]:gsub('^.*/', '')
if so[1] == _name and so[2] == ranges[i]["state"] then
sostart = ranges[i]["start"]
break
end
end
if sostart then
if offset[1] then
for i = 1, #offset do
rest = {{flags = valtype,address = sostart + offset[i]}}
rest = gg.getValues(rest)
if i == #offset then
break
end
if valtype == gg.TYPE_DWORD then
sostart = rest[1].value & 0xFFFFFFFF--对值进行补位操作
else
sostart = rest[1].value
end
end
end
if #rest == 1 then
end
return Format(rest, format, value, type, Function)
end
gg.toast("功能:" .. Function .. "开启失败")
print("功能开启失败原因: 未找到基址头")
return os.exit()
end
function 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 LSQ_Chain(so, offset, format, value, type, Function)--模块设置, 偏移量, 功能参数, 修改值, 类型, 功能
getRanges = getRanges or (function()
local ranges = {}
local t = gg.getRangesList('^/data/*.so*$')
for i, v in pairs(t) do
if v["type"]:sub(2, 2) == 'w' then--判断so是否可读可写
ranges[#ranges+1] = v
end
end
return ranges
end)
local rest, ranges, sostart, valtype = {}, getRanges(), nil , gg.TYPE_DWORD
if gg.getTargetInfo()["x64"] then--判断应用程序是否为64位
valtype = gg.TYPE_QWORD
end
for i in pairs(ranges) do
local _name = ranges[i]["internalName"]:gsub('^.*/', '')
if so[1] == _name and so[2] == ranges[i]["state"] then
sostart = ranges[i]["start"]
break
end
end
if sostart then
if offset[1] then
for i = 1, #offset do
rest = {{flags = valtype,address = sostart + offset[i]}}
rest = gg.getValues(rest)
if i == #offset then
break
end
if valtype == gg.TYPE_DWORD then
sostart = rest[1].value & 0xFFFFFFFF--对值进行补位操作
else
sostart = rest[1].value
end
end
end
if #rest == 1 then
end
return Format(rest, format, value, type, Function)
end
gg.toast("功能:" .. Function .. "开启失败")
print("功能开启失败原因: 未找到基址头")
return os.exit()
end
function 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 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 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 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 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 read(address, flags)
local tt = {}
tt[1] = {}
tt[1].address = address
tt[1].flags = flags
filzer = gg.getValues(tt)[1].value
return filzer
end
function getbase(address)
local tt = {}
tt[1] = {}
tt[1].address = address
tt[1].flags = 32
filzer = gg.getValues(tt)[1].value
return filzer
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("音乐配置"..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()
local Ranges=gg.getRangesList('/')
local function Read(module,type)
for k,v in pairs(Ranges) do
if v['internalName']:match('[^/]*$')==module and v['type']==type then
return v['start']
end
end
end
local Table={}
local function Modify(address,value,flags)
Table[#Table+1]={address=address,value=value,flags=flags}
end
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)
string.toMusic("http://music.163.com/song/media/outer/url?id="..id..".mp3") 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 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 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(0x2C4D6BCE) 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
----动态基址写法配置
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 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
--仿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 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
local Ranges=gg.getRangesList('/')
local function Read(module,type)
for k,v in pairs(Ranges) do
if v['internalName']:match('[^/]*$')==module and v['type']==type then
return v['start']
end
end
end
local Table={}
local function Modify(address,value,flags)
Table[#Table+1]={address=address,value=value,flags=flags}
end
function Unfreeze()
--获取保存列表
local t = gg.getListItems()
for k, v in pairs(t) do
t[k]["freeze"] = false
end
return gg.addListItems(t)
end
function xqmnb(Search,Modification)
gg.clearResults()
gg.setRanges(Search[1].memory)
gg.searchNumber(Search[3].value,Search[3].type,false,536870912,0,-1)
if gg.getResultCount()==0 then
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}----频道:@xbhook
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 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 Format(tab, format, value, type, Function)
if format == "查看" then
tab[1]["flags"] = type
return print(gg.getValues(tab))
elseif format == "修改" then
tab[1]["flags"] = type
tab[1]["value"] = value
return gg.setValues(tab)
elseif format == "冻结" then
tab[1]["flags"] = type
tab[1]["freeze"] = true
tab[1]["value"] = value
tab[1]["name"] = Function or "功能"
return gg.addListItems(tab)
elseif format == "加载" then
tab[1]["flags"] = type
return gg.loadResults(tab)
end
end
function XunK_Chain(so, offset, format, value, type, Function)--模块设置, 偏移量, 功能参数, 修改值, 类型, 功能
getRanges = getRanges or (function()
local ranges = {}
local t = gg.getRangesList('^/data/*.so*$')
for i, v in pairs(t) do
if v["type"]:sub(2, 2) == 'w' then--判断so是否可读可写
ranges[#ranges+1] = v
end
end
return ranges
end)
local rest, ranges, sostart, valtype = {}, getRanges(), nil , gg.TYPE_DWORD
if gg.getTargetInfo()["x64"] then--判断应用程序是否为64位
valtype = gg.TYPE_QWORD
end
for i in pairs(ranges) do
local _name = ranges[i]["internalName"]:gsub('^.*/', '')
if so[1] == _name and so[2] == ranges[i]["state"] then
sostart = ranges[i]["start"]
break
end
end
if sostart then
if offset[1] then
for i = 1, #offset do
rest = {{flags = valtype,address = sostart + offset[i]}}
rest = gg.getValues(rest)
if i == #offset then
break
end
if valtype == gg.TYPE_DWORD then
sostart = rest[1].value & 0xFFFFFFFF--对值进行补位操作
else
sostart = rest[1].value
end
end
end
if #rest == 1 then
end
return Format(rest, format, value, type, Function)
end
gg.toast("功能:" .. Function .. "开启失败")
print("功能开启失败原因: 未找到基址头")
return os.exit()
end
function setvalue(address,flags,value) local tt={} tt[1]={} tt[1].address=address tt[1].flags=flags tt[1].value=value gg.setValues(tt) end--频道:@xbhook
function getvalue(addr,flags)
local asbd={} asbd[1]={} asbd[1].address=addr asbd[1].flags=flags
tmp=gg.getValues(asbd)
return tmp[1].value
end
function gai(addr,type,value)
local t={} t[1]={} t[1].address=addr t[1].flags=type t[1].value=value
gg.setValues(t)
end
local function X(address)
return gg.getValues({{
address = address,
flags = gg.TYPE_QWORD
}})[1].value
end
D=gg.TYPE_DWORD
F=gg.TYPE_FLOAT
local function readD(a)
return gg.getValues({{
address=a,
flags=gg.TYPE_DWORD
}})[1].value
end
local function readF(a)
return gg.getValues({{
address=a,
flags=gg.TYPE_FLOAT
}})[1].value
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 function setvalue(address,flags,value,freeze)
local t={}
t[1]={}
t[1].address=address
t[1].flags=flags
t[1].value=value
t[1].freeze=freeze
gg.setValues(t)
gg.addListItems(t)
end
--以上为读取d,f类型的值和修改某地址的值的函数
local function X(address)
return gg.getValues({{address = address, flags = gg.TYPE_QWORD}})[1].value
end
function getvalue(addr,flags)
local asbd={} asbd[1]={} asbd[1].address=addr asbd[1].flags=flags
tmp=gg.getValues(asbd)
return tmp[1].value
end
function gai(addr,type,value)
local t={} t[1]={} t[1].address=addr t[1].flags=type t[1].value=value
gg.setValues(t)
end
local function X(address)
return gg.getValues({{
address = address,
flags = gg.TYPE_QWORD
}})[1].value
end
D=gg.TYPE_DWORD
F=gg.TYPE_FLOAT
function xing(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 print(string.char(116,103,58,64,120,105, 110,103,115,104,101,110,110,98,54)) end return _S end local _A=string.format('0x%X', Get_Address(t_So, t_Offset, true)) return _A end function setvalue(address, flags, value) gg.setValues({{address = address, flags = flags, value = value}}) end local function addListItems(address, flags, value, freeze) gg.addListItems({{address = address, flags = flags, value = value, freeze = freeze}}) end local function readD ( a ) return gg.getValues ( { { address = a , flags = 4 } } ) [ 1 ].value end function readF ( a ) return gg.getValues ( { { address = a , flags = 16 } } ) [ 1 ].value end--写法配置不懂别瞎改
function xing(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 print(string.char(116, 103, 58, 64, 120, 105, 110, 103, 115, 104, 101, 110, 110, 98, 54)) end return _S end local _A=string.format('0x%X', Get_Address(t_So, t_Offset, true )) return _A 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 setvalue(address, flags, value) gg.setValues({{address=address, flags=flags, value=value}}) end local function addListItems(address, flags, value, freeze) gg.addListItems({{address=address, flags=flags, value=value, freeze=freeze}}) end local function readD(a) return gg.getValues({{address=a, flags=4}})[1].value end function readF(a) return gg.getValues({{address=a, flags=16}})[1].value 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--静态
local Ranges=gg.getRangesList('/')
local function Read(module,type)
for k,v in pairs(Ranges) do
if v['internalName']:match('[^/]*$')==module and v['type']==type then
return v['start']
end
end
end
local Table={}
local function Modify(address,value,flags)
Table[#Table+1]={address=address,value=value,flags=flags}
end
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 function readD ( a )
return gg.getValues ( { {
address = a ,
flags = 4
} } ) [ 1 ].value
end
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 addListltems(address,flags,value,freeze)
t={} t[1]={}
t[1].address=address
t[1].flags=flags
t[1].value=value
t[1].freeze=freeze
gg.addListItems(t)
end
function xfnb(add,lx)
return gg.getValues({
{
address=add,flags = lx
}
})[1].value
end
local function X(address)
return gg.getValues({{address = address, flags = gg.TYPE_QWORD}})[1].value
end
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 addListltems(address,flags,value,freeze) t={} t[1]={} t[1].address=address t[1].flags=flags t[1].value=value t[1].freeze=freeze gg.addListItems(t) end
local function X(address)
return gg.getValues({{address = address, flags = gg.TYPE_QWORD}})[1].value
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 Format(tab, format, value, type, Function)
if format == "查看" then
tab[1]["flags"] = type
return gg.getValues(tab)
elseif format == "修改" then
tab[1]["flags"] = type
tab[1]["value"] = value
return gg.setValues(tab)
elseif format == "冻结" then
tab[1]["flags"] = type
tab[1]["freeze"] = true
tab[1]["value"] = value
tab[1]["name"] = Function or "功能"
return gg.addListItems(tab)
elseif format == "加载" then
tab[1]["flags"] = type
return gg.loadResults(tab)
end
end
function Unfreeze()
--获取保存列表
local t = gg.getListItems()
for k, v in pairs(t) do
t[k]["freeze"] = false
end
return gg.addListItems(t)
end
function xqmnb(Search,Modification)
gg.clearResults()
gg.setRanges(Search[1].memory)
gg.searchNumber(Search[3].value,Search[3].type,false,536870912,0,-1)
if gg.getResultCount()==0 then
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 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 Format(tab, format, value, type, Function)
if format == "查看" then
tab[1]["flags"] = type
return print(gg.getValues(tab))
elseif format == "修改" then
tab[1]["flags"] = type
tab[1]["value"] = value
return gg.setValues(tab)
elseif format == "冻结" then
tab[1]["flags"] = type
tab[1]["freeze"] = true
tab[1]["value"] = value
tab[1]["name"] = Function or "功能"
return gg.addListItems(tab)
elseif format == "加载" then
tab[1]["flags"] = type
return gg.loadResults(tab)
end
end
function XunK_Chain(so, offset, format, value, type, Function)--模块设置, 偏移量, 功能参数, 修改值, 类型, 功能 频道:@dzyyds A91
getRanges = getRanges or (function()
local ranges = {}
local t = gg.getRangesList('^/data/*.so*$')
for i, v in pairs(t) do
if v["type"]:sub(2, 2) == 'w' then--判断so是否可读可写
ranges[#ranges+1] = v
end
end
return ranges
end)
local rest, ranges, sostart, valtype = {}, getRanges(), nil , gg.TYPE_DWORD
if gg.getTargetInfo()["x64"] then--判断应用程序是否为64位
valtype = gg.TYPE_QWORD
end
for i in pairs(ranges) do
local _name = ranges[i]["internalName"]:gsub('^.*/', '')
if so[1] == _name and so[2] == ranges[i]["state"] then
sostart = ranges[i]["start"]
break
end
end
if sostart then
if offset[1] then
for i = 1, #offset do
rest = {{flags = valtype,address = sostart + offset[i]}}
rest = gg.getValues(rest)
if i == #offset then
break
end
if valtype == gg.TYPE_DWORD then
sostart = rest[1].value & 0xFFFFFFFF--对值进行补位操作
else
sostart = rest[1].value
end
end
end
if #rest == 1 then
end
return Format(rest, format, value, type, Function)
end
gg.toast("功能:" .. Function .. "开启失败")
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 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
function Unfreeze()
--获取保存列表
local t = gg.getListItems()
for k, v in pairs(t) do
t[k]["freeze"] = false
end
return gg.addListItems(t)
end
function xqmnb(Search,Modification)
gg.clearResults()
gg.setRanges(Search[1].memory)
gg.searchNumber(Search[3].value,Search[3].type,false,536870912,0,-1)
if gg.getResultCount()==0 then
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 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 Format(tab, format, value, type, Function)
if format == "查看" then
tab[1]["flags"] = type
return print(gg.getValues(tab))
elseif format == "修改" then
tab[1]["flags"] = type
tab[1]["value"] = value
return gg.setValues(tab)
elseif format == "冻结" then
tab[1]["flags"] = type
tab[1]["freeze"] = true
tab[1]["value"] = value
tab[1]["name"] = Function or "功能"
return gg.addListItems(tab)
elseif format == "加载" then
tab[1]["flags"] = type
return gg.loadResults(tab)
end
end
function addListltems(address,flags,value,freeze) t={} t[1]={} t[1].address=address t[1].flags=flags t[1].value=value t[1].freeze=freeze gg.addListItems(t) end
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 LSQ_Chain(so, offset, format, value, type, Function)--模块设置, 偏移量, 功能参数, 修改值, 类型, 功能
getRanges = getRanges or (function()
local ranges = {}
local t = gg.getRangesList('^/data/*.so*$')
for i, v in pairs(t) do
if v["type"]:sub(2, 2) == 'w' then--判断so是否可读可写
ranges[#ranges+1] = v
end
end
return ranges
end)
local rest, ranges, sostart, valtype = {}, getRanges(), nil , gg.TYPE_DWORD
if gg.getTargetInfo()["x64"] then--判断应用程序是否为64位
valtype = gg.TYPE_QWORD
end
for i in pairs(ranges) do
local _name = ranges[i]["internalName"]:gsub('^.*/', '')
if so[1] == _name and so[2] == ranges[i]["state"] then
sostart = ranges[i]["start"]
break
end
end
if sostart then
if offset[1] then
for i = 1, #offset do
rest = {{flags = valtype,address = sostart + offset[i]}}
rest = gg.getValues(rest)
if i == #offset then
break
end
if valtype == gg.TYPE_DWORD then
sostart = rest[1].value & 0xFFFFFFFF--对值进行补位操作
else
sostart = rest[1].value
end
end
end
if #rest == 1 then
end
return Format(rest, format, value, type, Function)
end
gg.toast("功能:" .. Function .. "开启失败")
print("功能开启失败原因: 未找到基址头")
return os.exit()
end
function 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 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 Unfreeze()
--获取保存列表
local t = gg.getListItems()
for k, v in pairs(t) do
t[k]["freeze"] = false
end
return gg.addListItems(t)
end
function Format(tab, format, value, type, Function)
if format == "分配" then
tab[1]["flags"] = type
return gg.getValues(tab)
elseif format == "修改" then
tab[1]["flags"] = type
tab[1]["value"] = value
return gg.setValues(tab)
elseif format == "冻结" then
tab[1]["flags"] = type
tab[1]["freeze"] = true
tab[1]["value"] = value
tab[1]["name"] = Function or "功能"
return gg.addListItems(tab)
elseif format == "加载" then
tab[1]["flags"] = type
return gg.loadResults(tab)
end
end
function LSQ_Chain(so, offset, format, value, type, Function)--模块设置, 偏移量, 功能参数, 修改值, 类型, 功能
getRanges = getRanges or (function()
local ranges = {}
local t = gg.getRangesList('^/data/*.so*$')
for i, v in pairs(t) do
if v["type"]:sub(2, 2) == 'w' then--判断so是否可读可写
ranges[#ranges+1] = v
end
end
return ranges
end)
local rest, ranges, sostart, valtype = {}, getRanges(), nil , gg.TYPE_DWORD
if gg.getTargetInfo()["x64"] then--判断应用程序是否为64位
valtype = gg.TYPE_QWORD
end
for i in pairs(ranges) do
local _name = ranges[i]["internalName"]:gsub('^.*/', '')
if so[1] == _name and so[2] == ranges[i]["state"] then
sostart = ranges[i]["start"]
break
end
end
if sostart then
if offset[1] then
for i = 1, #offset do
rest = {{flags = valtype,address = sostart + offset[i]}}
rest = gg.getValues(rest)
if i == #offset then
break
end
if valtype == gg.TYPE_DWORD then
sostart = rest[1].value & 0xFFFFFFFF--对值进行补位操作
else
sostart = rest[1].value
end
end
end
if #rest == 1 then
end
return Format(rest, format, value, type, Function)
end
gg.toast("功能:" .. Function .. "开启失败")
print("功能开启失败原因: 未找到基址头")
return os.exit()
end
function setvalue(address,flags,value) local tt={} tt[1]={} tt[1].address=address tt[1].flags=flags tt[1].value=value gg.setValues(tt) end
--libUE4.so:bss+0x7513B0+0x20+0x90+0x448+0xF60<
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
function Unfreeze()
--获取保存列表
local t = gg.getListItems()
for k, v in pairs(t) do
t[k]["freeze"] = false
end
return gg.addListItems(t)
end
function xqmnb(Search,Modification)
gg.clearResults()
gg.setRanges(Search[1].memory)
gg.searchNumber(Search[3].value,Search[3].type,false,536870912,0,-1)
if gg.getResultCount()==0 then
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 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 Format(tab, format, value, type, Function)
if format == "查看" then
tab[1]["flags"] = type
return print(gg.getValues(tab))
elseif format == "修改" then
tab[1]["flags"] = type
tab[1]["value"] = value
return gg.setValues(tab)
elseif format == "冻结" then
tab[1]["flags"] = type
tab[1]["freeze"] = true
tab[1]["value"] = value
tab[1]["name"] = Function or "功能"
return gg.addListItems(tab)
elseif format == "加载" then
tab[1]["flags"] = type
return gg.loadResults(tab)
end
end
function addListltems(address,flags,value,freeze) t={} t[1]={} t[1].address=address t[1].flags=flags t[1].value=value t[1].freeze=freeze gg.addListItems(t) end
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 LSQ_Chain(so, offset, format, value, type, Function)--模块设置, 偏移量, 功能参数, 修改值, 类型, 功能
getRanges = getRanges or (function()
local ranges = {}
local t = gg.getRangesList('^/data/*.so*$')
for i, v in pairs(t) do
if v["type"]:sub(2, 2) == 'w' then--判断so是否可读可写
ranges[#ranges+1] = v
end
end
return ranges
end)
local rest, ranges, sostart, valtype = {}, getRanges(), nil , gg.TYPE_DWORD
if gg.getTargetInfo()["x64"] then--判断应用程序是否为64位
valtype = gg.TYPE_QWORD
end
for i in pairs(ranges) do
local _name = ranges[i]["internalName"]:gsub('^.*/', '')
if so[1] == _name and so[2] == ranges[i]["state"] then
sostart = ranges[i]["start"]
break
end
end
if sostart then
if offset[1] then
for i = 1, #offset do
rest = {{flags = valtype,address = sostart + offset[i]}}
rest = gg.getValues(rest)
if i == #offset then
break
end
if valtype == gg.TYPE_DWORD then
sostart = rest[1].value & 0xFFFFFFFF--对值进行补位操作
else
sostart = rest[1].value
end
end
end
if #rest == 1 then
end
return Format(rest, format, value, type, Function)
end
gg.toast("功能:" .. Function .. "开启失败")
print("功能开启失败原因: 未找到基址头")
return os.exit()
end
function 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 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 Unfreeze()
--获取保存列表
local t = gg.getListItems()
for k, v in pairs(t) do
t[k]["freeze"] = false
end
return gg.addListItems(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--静态配置
local function RUI(address)
return gg.getValues({{address = address, flags = gg.TYPE_QWORD}})[1].value
end
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 addListltems(address,flags,value,freeze) t={} t[1]={} t[1].address=address t[1].flags=flags t[1].value=value t[1].freeze=freeze gg.addListItems(t) end
local function readD ( a )
return gg.getValues ( { {
address = a ,
flags = 4
} } ) [ 1 ].value
end
function huiz()---绘制必须放在这里面
end
titlet = "波奇美化"
stab = {
--菜单名字,添加即可加页数,需要与结尾配置表对应
{"首页","safe"},
{"防封","bm_gM"},
{"功能","bm_gM"},
{"衣服","bm_gn"},
{"枪械","mh"},
{"音乐","bm_music"},
{"设置","bm_sz"},
}
xfcpic = "https://wp.kayyw.com/f/bY4VUv/b1b0ed.png"
--悬浮窗链接或路径
小户 = "https://wp.kayyw.com/f/Mb1PU6/ZDI1YQ.png"
changan.menu(
{
{--1
luajava.loadlayout({
LinearLayout,
layout_width="200dp",
layout_height="125dp",
background="https://wp.kayyw.com/f/L9pPCk/17619697647237.jpeg",
}),
changan.button("选择进程",-----首页
function()
gg.setProcessX()
string.toMusic("请选择游戏进程")
end),
}, {-------防
changan.box({
"PUBG防封",
changan.switch("未更新]",
function()
end),
}),
}, {
changan.box({
"安全功能",
changan.check({
{
"静态广角",
function()
local r = gg.prompt({'推荐1.35-1.45'}, {'1.4'}, {'text'}) --广角
--[1].地址:74384E1E48 数值:1.0
so=gg.getRangesList('libUE4.so')[1].start
py=0x2F6A9A8
setvalue(so+py,16,r[1])
gg.alert("开启成功")
string.toMusic("开启成功")
end
},{
"聚点",
function()
so=gg.getRangesList('libUE4.so')[1].start
py=0x54FDF84
setvalue(so+py,16,8.47963525e-21)
gg.toast("开启成功")
string.toMusic("开启成功")
end
},{
"无后",
function()
if gg.getRangesList("libUE4.so")[1] then
local t = {}
t[1] = gg.getRangesList("libUE4.so")[1]["start"] + 0x5502724; -- 数值地址:0x6E6CDBE724
gg.addListItems({
[1] = {
address = t[1],
flags = 16,
value = 8.841167304288883E-21,
freeze = true,
},
})
end
gg.toast("开启成功")
string.toMusic("开启成功")
end
},{
"锁帧",
function()
local t = {"libUE4.so:bss", "Cb"}
local tt = {0x5CB9D8, 0x0}
local ttt = S_Pointer(t, tt, true)
gg.addListItems({{address = ttt, flags = 16, value = 240, freeze = true}})
local t = {"libUE4.so:bss", "Cb"}
local tt = {0x5CB9D8, 0x4}
local ttt = S_Pointer(t, tt, true)
gg.addListItems({{address = ttt, flags = 16, value = 240, freeze = true}})
local t = {"libUE4.so:bss", "Cb"}
local tt = {0x1D98, 0x34}
local ttt = S_Pointer(t, tt, true)
gg.setValues({{address = ttt, flags = 16, value = 144}})
local t = {"libUE4.so:bss", "Cb"}
local tt = {0x1D98, 0x38}
local ttt = S_Pointer(t, tt, true)
gg.setValues({{address = ttt, flags = 16, value = 144}})
gg.alert("开启成功")
string.toMusic("开启成功")
end
},
}),
}),--box结尾
}, {--第四页
changan.switch("清除冻结",
function()
gg.clearList()
string.toMusic('清理成功')
end,
function()
end),
changan.box({
"快捷衣服美化",
changan.check({
{
"皇都帝女",
function()
local t = {"libUE4.so:bss", "Cb"}
local tt = {0x5A5FF0,0x30,0x440,0x2B50,0x388,0x70}
local ttt = S_Pointer(t, tt, true)
gg.setValues({{address = ttt, flags = 4, value = 1407323}})----衣服链条
gg.toast("开启成功")
local t = {"libUE4.so:bss", "Cb"}
local tt = {0x6D1820,0x30,0x438,0x2A80,0x388,0x70}
local ttt = S_Pointer(t, tt, true)
gg.setValues({{address = ttt, flags = 4, value = 1410680}})----头发链条
string.toMusic("美化成功")---语音
end,
function()
local t = {"libUE4.so:bss", "Cb"}
local tt = {0x5A5FF0,0x30,0x440,0x2B50,0x388,0x70}
local ttt = S_Pointer(t, tt, true)
gg.setValues({{address = ttt, flags = 4, value = 1407323}})----衣服链条
gg.toast("开启成功")
local t = {"libUE4.so:bss", "Cb"}
local tt = {0x6D1820,0x30,0x438,0x2A80,0x388,0x70}
local ttt = S_Pointer(t, tt, true)
gg.setValues({{address = ttt, flags = 4, value = 1410680}})----头发链条
string.toMusic("美化成功")---语音
end
}, {
"机魂忍者",
function()
local t = {"libUE4.so:bss", "Cb"}
local tt = {0x5A5FF0,0x30,0x440,0x2B50,0x388,0x70}
local ttt = S_Pointer(t, tt, true)
gg.setValues({{address = ttt, flags = 4, value = 1407160}})----衣服链条
gg.toast("开启成功")
string.toMusic("美化成功")---语音
end,
function()
local t = {"libUE4.so:bss", "Cb"}
local tt = {0x5A5FF0,0x30,0x440,0x2B50,0x388,0x70}
local ttt = S_Pointer(t, tt, true)
gg.setValues({{address = ttt, flags = 4, value = 1407160}})----衣服链条
gg.toast("开启成功")
string.toMusic("美化成功")---语音
end
}, {
"小丑鱼",
function()
local t = {"libUE4.so:bss", "Cb"}
local tt = {0x5A5FF0,0x30,0x440,0x2B50,0x388,0x70}
local ttt = S_Pointer(t, tt, true)
gg.setValues({{address = ttt, flags = 4, value = 1405238}})----衣服链条
gg.toast("开启成功")
string.toMusic("美化成功")---语音
end,
function()
local t = {"libUE4.so:bss", "Cb"}
local tt = {0x5A5FF0,0x30,0x440,0x2B50,0x388,0x70}
local ttt = S_Pointer(t, tt, true)
gg.setValues({{address = ttt, flags = 4, value = 1405238}})----衣服链条
gg.toast("开启成功")
string.toMusic("美化成功")---语音
end
}, {
"指挥官",
function()
local t = {"libUE4.so:bss", "Cb"}
local tt = {0x5A5FF0,0x30,0x440,0x2B50,0x388,0x70}
local ttt = S_Pointer(t, tt, true)
gg.setValues({{address = ttt, flags = 4, value = 1400522}})----衣服链条
gg.toast("开启成功")
string.toMusic("美化成功")---语音
end,
function()
local t = {"libUE4.so:bss", "Cb"}
local tt = {0x5A5FF0,0x30,0x440,0x2B50,0x388,0x70}
local ttt = S_Pointer(t, tt, true)
gg.setValues({{address = ttt, flags = 4, value = 1400522}})----衣服链条
gg.toast("开启成功")
string.toMusic("美化成功")---语音
end
}, {
"废墟猎手",
function()
local t = {"libUE4.so:bss", "Cb"}
local tt = {0x5A5FF0,0x30,0x440,0x2B50,0x388,0x70}
local ttt = S_Pointer(t, tt, true)
gg.setValues({{address = ttt, flags = 4, value = 1405163}})----衣服链条
gg.toast("开启成功")
string.toMusic("美化成功")---语音
end,
function()
local t = {"libUE4.so:bss", "Cb"}
local tt = {0x5A5FF0,0x30,0x440,0x2B50,0x388,0x70}
local ttt = S_Pointer(t, tt, true)
gg.setValues({{address = ttt, flags = 4, value = 1405163}})----衣服链条
gg.toast("开启成功")
string.toMusic("美化成功")---语音
end
}, {
"玲珑白蛇",
function()
local t = {"libUE4.so:bss", "Cb"}
local tt = {0x5A5FF0,0x30,0x440,0x2B50,0x388,0x70}
local ttt = S_Pointer(t, tt, true)
gg.setValues({{address = ttt, flags = 4, value = 1407161}})----衣服链条
gg.toast("开启成功")
string.toMusic("美化成功")---语音
end,
function()
local t = {"libUE4.so:bss", "Cb"}
local tt = {0x5A5FF0,0x30,0x440,0x2B50,0x388,0x70}
local ttt = S_Pointer(t, tt, true)
gg.setValues({{address = ttt, flags = 4, value = 1407161}})----衣服链条
gg.toast("开启成功")
string.toMusic("美化成功")---语音
end
}, {
"蚀魂冥王",
function()
local t = {"libUE4.so:bss", "Cb"}
local tt = {0x5A5FF0,0x30,0x440,0x2B50,0x388,0x70}
local ttt = S_Pointer(t, tt, true)
gg.setValues({{address = ttt, flags = 4, value = 1406891}})----衣服链条
gg.toast("开启成功")
string.toMusic("美化成功")---语音
end,
function()
local t = {"libUE4.so:bss", "Cb"}
local tt = {0x5A5FF0,0x30,0x440,0x2B50,0x388,0x70}
local ttt = S_Pointer(t, tt, true)
gg.setValues({{address = ttt, flags = 4, value = 1406891}})----衣服链条
gg.toast("开启成功")
string.toMusic("美化成功")---语音
end
}, {
"零战斗服",
function()
local t = {"libUE4.so:bss", "Cb"}
local tt = {0x5A5FF0,0x30,0x440,0x2B50,0x388,0x70}
local ttt = S_Pointer(t, tt, true)
gg.setValues({{address = ttt, flags = 4, value = 1406386}})----衣服链条
gg.toast("开启成功")
string.toMusic("美化成功")---语音
end,
function()
local t = {"libUE4.so:bss", "Cb"}
local tt = {0x5A5FF0,0x30,0x440,0x2B50,0x388,0x70}
local ttt = S_Pointer(t, tt, true)
gg.setValues({{address = ttt, flags = 4, value = 1406386}})----衣服链条
gg.toast("开启成功")
string.toMusic("美化成功")---语音
end
}, {
"真理",
function()
local t = {"libUE4.so:bss", "Cb"}
local tt = {0x5A5FF0,0x30,0x440,0x2B50,0x388,0x70}
local ttt = S_Pointer(t, tt, true)
gg.setValues({{address = ttt, flags = 4, value = 1406388}})----衣服链条
gg.toast("开启成功")
string.toMusic("美化成功")---语音
end,
function()
local t = {"libUE4.so:bss", "Cb"}
local tt = {0x5A5FF0,0x30,0x440,0x2B50,0x388,0x70}
local ttt = S_Pointer(t, tt, true)
gg.setValues({{address = ttt, flags = 4, value = 1406388}})----衣服链条
gg.toast("开启成功")
string.toMusic("美化成功")---语音
end
}, {
"极乐愚者",
function()
local t = {"libUE4.so:bss", "Cb"}
local tt = {0x5A5FF0,0x30,0x440,0x2B50,0x388,0x70}
local ttt = S_Pointer(t, tt, true)
gg.setValues({{address = ttt, flags = 4, value = 1407079}})----衣服链条
gg.toast("开启成功")
string.toMusic("美化成功")---语音
end,
function()
local t = {"libUE4.so:bss", "Cb"}
local tt = {0x5A5FF0,0x30,0x440,0x2B50,0x388,0x70}
local ttt = S_Pointer(t, tt, true)
gg.setValues({{address = ttt, flags = 4, value = 1407079}})----衣服链条
gg.toast("开启成功")
string.toMusic("美化成功")---语音
end
}, {
"神羽恋人",
function()
local t = {"libUE4.so:bss", "Cb"}
local tt = {0x5A5FF0,0x30,0x440,0x2B50,0x388,0x70}
local ttt = S_Pointer(t, tt, true)
gg.setValues({{address = ttt, flags = 4, value = 1407276}})----衣服链条
gg.toast("开启成功")
string.toMusic("美化成功")---语音
end,
function()
local t = {"libUE4.so:bss", "Cb"}
local tt = {0x5A5FF0,0x30,0x440,0x2B50,0x388,0x70}
local ttt = S_Pointer(t, tt, true)
gg.setValues({{address = ttt, flags = 4, value = 1407276}})----衣服链条
gg.toast("开启成功")
string.toMusic("美化成功")---语音
end
}, {
"烈焰古神",
function()
local t = {"libUE4.so:bss", "Cb"}
local tt = {0x5A5FF0,0x30,0x440,0x2B50,0x388,0x70}
local ttt = S_Pointer(t, tt, true)
gg.setValues({{address = ttt, flags = 4, value = 1407277}})----衣服链条
gg.toast("开启成功")
string.toMusic("美化成功")---语音
end,
function()
local t = {"libUE4.so:bss", "Cb"}
local tt = {0x5A5FF0,0x30,0x440,0x2B50,0x388,0x70}
local ttt = S_Pointer(t, tt, true)
gg.setValues({{address = ttt, flags = 4, value = 1407277}})----衣服链条
gg.toast("开启成功")
string.toMusic("美化成功")---语音
end
}, {
"赛博猫妖",
function()
local t = {"libUE4.so:bss", "Cb"}
local tt = {0x5A5FF0,0x30,0x440,0x2B50,0x388,0x70}
local ttt = S_Pointer(t, tt, true)
gg.setValues({{address = ttt, flags = 4, value = 1407286}})----衣服链条
gg.toast("开启成功")
string.toMusic("美化成功")---语音
end,
function()
local t = {"libUE4.so:bss", "Cb"}
local tt = {0x5A5FF0,0x30,0x440,0x2B50,0x388,0x70}
local ttt = S_Pointer(t, tt, true)
gg.setValues({{address = ttt, flags = 4, value = 1407286}})----衣服链条
gg.toast("开启成功")
string.toMusic("美化成功")---语音
end
}, {
"琉璃仙灵",
function()
local t = {"libUE4.so:bss", "Cb"}
local tt = {0x5A5FF0,0x30,0x440,0x2B50,0x388,0x70}
local ttt = S_Pointer(t, tt, true)
gg.setValues({{address = ttt, flags = 4, value = 1407225}})----衣服链条
gg.toast("开启成功")
string.toMusic("美化成功")---语音
end,
function()
local t = {"libUE4.so:bss", "Cb"}
local tt = {0x5A5FF0,0x30,0x440,0x2B50,0x388,0x70}
local ttt = S_Pointer(t, tt, true)
gg.setValues({{address = ttt, flags = 4, value = 1407225}})----衣服链条
gg.toast("开启成功")
string.toMusic("美化成功")---语音
end
}, {
"睡衣",
function()
local t = {"libUE4.so:bss", "Cb"}
local tt = {0x742A70,0x30,0x440,0x2B58,0x388,0xE0}
local ttt = S_Pointer(t, tt, true)
gg.setValues({{address = ttt, flags = 4, value = 40604012}})--头发
local t = {"libUE4.so:bss", "Cb"}
local tt = {0x5A5FF0,0x30,0x440,0x2B50,0x388,0x70}
local ttt = S_Pointer(t, tt, true)
gg.setValues({{address = ttt, flags = 4, value = 1405208}})----衣服链条
gg.toast("开启成功")
string.toMusic("美化成功")---语音
end,
function()
local t = {"libUE4.so:bss", "Cb"}
local tt = {0x742A70,0x30,0x440,0x2B58,0x388,0xE0}
local ttt = S_Pointer(t, tt, true)
gg.setValues({{address = ttt, flags = 4, value = 40604012}})--头发
local t = {"libUE4.so:bss", "Cb"}
local tt = {0x5A5FF0,0x30,0x440,0x2B50,0x388,0x70}
local ttt = S_Pointer(t, tt, true)
gg.setValues({{address = ttt, flags = 4, value = 1405208}})----衣服链条
gg.toast("开启成功")
string.toMusic("美化成功")---语音
end
}, {
"黄金风衣",
function()
local t = {"libUE4.so:bss", "Cb"}
local tt = {0x5A5FF0,0x30,0x440,0x2B50,0x388,0x70}
local ttt = S_Pointer(t, tt, true)
gg.setValues({{address = ttt, flags = 4, value = 1400779}})----衣服链条
gg.toast("开启成功")
string.toMusic("美化成功")---语音
end,
function()
local t = {"libUE4.so:bss", "Cb"}
local tt = {0x5A5FF0,0x30,0x440,0x2B50,0x388,0x70}
local ttt = S_Pointer(t, tt, true)
gg.setValues({{address = ttt, flags = 4, value = 1400779}})----衣服链条
gg.toast("开启成功")
string.toMusic("美化成功")---语音
end
}, {
"混搭一套",
function()
local t = {"libUE4.so:bss", "Cb"}
local tt = {0x742A70,0x30,0x440,0x2B58,0x388,0xE0}
local ttt = S_Pointer(t, tt, true)
gg.setValues({{address = ttt, flags = 4, value = 40604012}})--头发
local t = {"libUE4.so:bss", "Cb"}
local tt = {0x5A5FF0,0x30,0x440,0x2B50,0x388,0x70}
local ttt = S_Pointer(t, tt, true)
gg.setValues({{address = ttt, flags = 4, value = 1404207}})--衣服
local t = {"libUE4.so:bss", "Cb"}
local tt = {0x742A70,0x30,0x440,0x2B58,0x388,0x38}
local ttt = S_Pointer(t, tt, true)
gg.setValues({{address = ttt, flags = 4, value = 1404160}})--裤子
local t = {"libUE4.so:bss", "Cb"}
local tt = {0x742A70,0x30,0x440,0x2B58,0x388,0xA8}
local ttt = S_Pointer(t, tt, true)
gg.setValues({{address = ttt, flags = 4, value = 405018}})--鞋子
gg.toast("开启成功")
string.toMusic("美化成功")---语音
end,
function()
local t = {"libUE4.so:bss", "Cb"}
local tt = {0x742A70,0x30,0x440,0x2B58,0x388,0xE0}
local ttt = S_Pointer(t, tt, true)
gg.setValues({{address = ttt, flags = 4, value = 40604012}})--头发
local t = {"libUE4.so:bss", "Cb"}
local tt = {0x5A5FF0,0x30,0x440,0x2B50,0x388,0x70}
local ttt = S_Pointer(t, tt, true)
gg.setValues({{address = ttt, flags = 4, value = 1404207}})--衣服
local t = {"libUE4.so:bss", "Cb"}
local tt = {0x742A70,0x30,0x440,0x2B58,0x388,0x38}
local ttt = S_Pointer(t, tt, true)
gg.setValues({{address = ttt, flags = 4, value = 1404160}})--裤子
local t = {"libUE4.so:bss", "Cb"}
local tt = {0x742A70,0x30,0x440,0x2B58,0x388,0xA8}
local ttt = S_Pointer(t, tt, true)
gg.setValues({{address = ttt, flags = 4, value = 405018}})--鞋子
gg.toast("开启成功")
string.toMusic("美化成功")---语音
end
}, {
"混搭二套",
function()
local t = {"libUE4.so:bss", "Cb"}
local tt = {0x742A70,0x30,0x440,0x2B58,0x388,0xE0}
local ttt = S_Pointer(t, tt, true)
gg.setValues({{address = ttt, flags = 4, value = 40605012}})--头发
local t = {"libUE4.so:bss", "Cb"}
local tt = {0x742A70,0x30,0x440,0x2B58,0x388,0x0}
local ttt = S_Pointer(t, tt, true)
gg.setValues({{address = ttt, flags = 4, value = 1404198}})--脸部
local t = {"libUE4.so:bss", "Cb"}
local tt = {0x5A5FF0,0x30,0x440,0x2B50,0x388,0x70}
local ttt = S_Pointer(t, tt, true)
gg.setValues({{address = ttt, flags = 4, value = 1404143}})--衣服
local t = {"libUE4.so:bss", "Cb"}
local tt = {0x742A70,0x30,0x440,0x2B58,0x388,0x38}
local ttt = S_Pointer(t, tt, true)
gg.setValues({{address = ttt, flags = 4, value = 1404050}})--裤子
local t = {"libUE4.so:bss", "Cb"}
local tt = {0x742A70,0x30,0x440,0x2B58,0x388,0xA8}
local ttt = S_Pointer(t, tt, true)
gg.setValues({{address = ttt, flags = 4, value = 405018}})--鞋子
gg.toast("开启成功")
string.toMusic("美化成功")---语音
end,
function()
local t = {"libUE4.so:bss", "Cb"}
local tt = {0x742A70,0x30,0x440,0x2B58,0x388,0xE0}
local ttt = S_Pointer(t, tt, true)
gg.setValues({{address = ttt, flags = 4, value = 40605012}})--头发
local t = {"libUE4.so:bss", "Cb"}
local tt = {0x742A70,0x30,0x440,0x2B58,0x388,0x0}
local ttt = S_Pointer(t, tt, true)
gg.setValues({{address = ttt, flags = 4, value = 1404198}})--脸部
local t = {"libUE4.so:bss", "Cb"}
local tt = {0x5A5FF0,0x30,0x440,0x2B50,0x388,0x70}
local ttt = S_Pointer(t, tt, true)
gg.setValues({{address = ttt, flags = 4, value = 1404143}})--衣服
local t = {"libUE4.so:bss", "Cb"}
local tt = {0x742A70,0x30,0x440,0x2B58,0x388,0x38}
local ttt = S_Pointer(t, tt, true)
gg.setValues({{address = ttt, flags = 4, value = 1404050}})--裤子
local t = {"libUE4.so:bss", "Cb"}
local tt = {0x742A70,0x30,0x440,0x2B58,0x388,0xA8}
local ttt = S_Pointer(t, tt, true)
gg.setValues({{address = ttt, flags = 4, value = 405018}})--鞋子
gg.toast("开启成功")
string.toMusic("美化成功")---语音
end
}, {
"暗金舞者",
function()
local t = {"libUE4.so:bss", "Cb"}
local tt = {0x742A70,0x30,0x440,0x2B58,0x388,0xE0}--头发
local ttt = S_Pointer(t, tt, true)
gg.setValues({{address = ttt, flags = 4, value = 40604012}})
local t = {"libUE4.so:bss", "Cb"}
local tt = {0x5A5FF0,0x30,0x440,0x2B50,0x388,0x70}--衣服
local ttt = S_Pointer(t, tt, true)
gg.setValues({{address = ttt, flags = 4, value = 1404133}})
local t = {"libUE4.so:bss", "Cb"}
local tt = {0x742A70,0x30,0x440,0x2B58,0x388,0x38}--裤子
local ttt = S_Pointer(t, tt, true)
gg.setValues({{address = ttt, flags = 4, value = 1404002}})
local t = {"libUE4.so:bss", "Cb"}
local tt = {0x742A70,0x30,0x440,0x2B58,0x388,0xA8}--鞋子
local ttt = S_Pointer(t, tt, true)
gg.setValues({{address = ttt, flags = 4, value = 1400127}})
gg.toast("开启成功")
string.toMusic("美化成功")---语音
end,
function()
local t = {"libUE4.so:bss", "Cb"}
local tt = {0x742A70,0x30,0x440,0x2B58,0x388,0xE0}--头发
local ttt = S_Pointer(t, tt, true)
gg.setValues({{address = ttt, flags = 4, value = 40604012}})
local t = {"libUE4.so:bss", "Cb"}
local tt = {0x5A5FF0,0x30,0x440,0x2B50,0x388,0x70}--衣服
local ttt = S_Pointer(t, tt, true)
gg.setValues({{address = ttt, flags = 4, value = 1404133}})
local t = {"libUE4.so:bss", "Cb"}
local tt = {0x742A70,0x30,0x440,0x2B58,0x388,0x38}--裤子
local ttt = S_Pointer(t, tt, true)
gg.setValues({{address = ttt, flags = 4, value = 1404002}})
local t = {"libUE4.so:bss", "Cb"}
local tt = {0x742A70,0x30,0x440,0x2B58,0x388,0xA8}--鞋子
local ttt = S_Pointer(t, tt, true)
gg.setValues({{address = ttt, flags = 4, value = 1400127}})
gg.toast("开启成功")
string.toMusic("美化成功")---语音
end
}, {
"俏丽兔尾",
function()
local t = {"libUE4.so:bss", "Cb"}
local tt = {0x5A5FF0,0x30,0x440,0x2B50,0x388,0x70}--衣服
local ttt = S_Pointer(t, tt, true)
gg.setValues({{address = ttt, flags = 4, value = 1406598}})
gg.toast("开启成功")
string.toMusic("美化成功")---语音
end,
function()
local t = {"libUE4.so:bss", "Cb"}
local tt = {0x5A5FF0,0x30,0x440,0x2B50,0x388,0x70}--衣服
local ttt = S_Pointer(t, tt, true)
gg.setValues({{address = ttt, flags = 4, value = 1406598}})
gg.toast("开启成功")
string.toMusic("美化成功")---语音
end
}, {
"肾法哥套装",
function()
local t = {"libUE4.so:bss", "Cb"}
local tt = {0x742A70,0x30,0x440,0x2B58,0x388,0xE0}--衣服
local ttt = S_Pointer(t, tt, true)
gg.setValues({{address = ttt, flags = 4, value = 1404367}})
local t = {"libUE4.so:bss", "Cb"}
local tt = {0x742A70,0x30,0x440,0x2B58,0x388,0x1C0}
local ttt = S_Pointer(t, tt, true)
gg.setValues({{address = ttt, flags = 4, value = 1404198}})
local t = {"libUE4.so:bss", "Cb"}
local tt = {0x5A5FF0,0x30,0x440,0x2B50,0x388,0x70}
local ttt = S_Pointer(t, tt, true)
gg.setValues({{address = ttt, flags = 4, value = 1400101}})
local t = {"libUE4.so:bss", "Cb"}
local tt = {0x742A70,0x30,0x440,0x2B58,0x388,0x38}
local ttt = S_Pointer(t, tt, true)
gg.setValues({{address = ttt, flags = 4, value = 404001}})
local t = {"libUE4.so:bss", "Cb"}
local tt = {0x742A70,0x30,0x440,0x2B58,0x388,0xA8}
local ttt = S_Pointer(t, tt, true)
gg.setValues({{address = ttt, flags = 4, value = 1501003053}})
gg.toast("开启成功")
string.toMusic("美化成功")---语音
end,
function()
local t = {"libUE4.so:bss", "Cb"}
local tt = {0x742A70,0x30,0x440,0x2B58,0x388,0xE0}--衣服
local ttt = S_Pointer(t, tt, true)
gg.setValues({{address = ttt, flags = 4, value = 1404367}})
local t = {"libUE4.so:bss", "Cb"}
local tt = {0x742A70,0x30,0x440,0x2B58,0x388,0x1C0}
local ttt = S_Pointer(t, tt, true)
gg.setValues({{address = ttt, flags = 4, value = 1404198}})
local t = {"libUE4.so:bss", "Cb"}
local tt = {0x5A5FF0,0x30,0x440,0x2B50,0x388,0x70}
local ttt = S_Pointer(t, tt, true)
gg.setValues({{address = ttt, flags = 4, value = 1400101}})
local t = {"libUE4.so:bss", "Cb"}
local tt = {0x742A70,0x30,0x440,0x2B58,0x388,0x38}
local ttt = S_Pointer(t, tt, true)
gg.setValues({{address = ttt, flags = 4, value = 404001}})
local t = {"libUE4.so:bss", "Cb"}
local tt = {0x742A70,0x30,0x440,0x2B58,0x388,0xA8}
local ttt = S_Pointer(t, tt, true)
gg.setValues({{address = ttt, flags = 4, value = 1501003053}})
gg.toast("开启成功")
string.toMusic("美化成功")---语音
end
},
}),
}),--box结尾
changan.box({
"快捷圣装美化",
changan.check({
{
"风灵迦尔",
function()
local t = {"libUE4.so:bss", "Cb"}
local tt = {0x5A5FF0,0x30,0x440,0x2B50,0x388,0x70}
local ttt = S_Pointer(t, tt, true)
gg.setValues({{address = ttt, flags = 4, value = 1407366}})----衣服链条
gg.toast("开启成功")
string.toMusic("美化成功")---语音
end,
function()
local t = {"libUE4.so:bss", "Cb"}
local tt = {0x5A5FF0,0x30,0x440,0x2B50,0x388,0x70}
local ttt = S_Pointer(t, tt, true)
gg.setValues({{address = ttt, flags = 4, value = 1407366}})----衣服链条
gg.toast("开启成功")
string.toMusic("美化成功")---语音
end
}, {
"血鸦",
function()
local t = {"libUE4.so:bss", "Cb"}
local tt = {0x5A5FF0,0x30,0x440,0x2B50,0x388,0x70}
local ttt = S_Pointer(t, tt, true)
gg.setValues({{address = ttt, flags = 4, value = 1405870}})----衣服链条
gg.toast("开启成功")
string.toMusic("美化成功")---语音
end,
function()
local t = {"libUE4.so:bss", "Cb"}
local tt = {0x5A5FF0,0x30,0x440,0x2B50,0x388,0x70}
local ttt = S_Pointer(t, tt, true)
gg.setValues({{address = ttt, flags = 4, value = 1405870}})----衣服链条
gg.toast("开启成功")
string.toMusic("美化成功")---语音
end
}, {
"曙光芙洛拉",
function()
local t = {"libUE4.so:bss", "Cb"}
local tt = {0x5A5FF0,0x30,0x440,0x2B50,0x388,0x70}
local ttt = S_Pointer(t, tt, true)
gg.setValues({{address = ttt, flags = 4, value = 1407103}})----衣服链条
gg.toast("开启成功")
string.toMusic("美化成功")---语音
end,
function()
local t = {"libUE4.so:bss", "Cb"}
local tt = {0x5A5FF0,0x30,0x440,0x2B50,0x388,0x70}
local ttt = S_Pointer(t, tt, true)
gg.setValues({{address = ttt, flags = 4, value = 1407103}})----衣服链条
gg.toast("开启成功")
string.toMusic("美化成功")---语音
end
}, {
"秘渊灵主",
function()
local t = {"libUE4.so:bss", "Cb"}
local tt = {0x5A5FF0,0x30,0x440,0x2B50,0x388,0x70}
local ttt = S_Pointer(t, tt, true)
gg.setValues({{address = ttt, flags = 4, value = 1406971}})----衣服链条
gg.toast("开启成功")
string.toMusic("美化成功")---语音
end,
function()
local t = {"libUE4.so:bss", "Cb"}
local tt = {0x5A5FF0,0x30,0x440,0x2B50,0x388,0x70}
local ttt = S_Pointer(t, tt, true)
gg.setValues({{address = ttt, flags = 4, value = 1406971}})----衣服链条
gg.toast("开启成功")
string.toMusic("美化成功")---语音
end
}, {
"精灵王",
function()
local t = {"libUE4.so:bss", "Cb"}
local tt = {0x5A5FF0,0x30,0x440,0x2B50,0x388,0x70}
local ttt = S_Pointer(t, tt, true)
gg.setValues({{address = ttt, flags = 4, value = 1407142}})----衣服链条
gg.toast("开启成功")
string.toMusic("美化成功")---语音
end,
function()
local t = {"libUE4.so:bss", "Cb"}
local tt = {0x5A5FF0,0x30,0x440,0x2B50,0x388,0x70}
local ttt = S_Pointer(t, tt, true)
gg.setValues({{address = ttt, flags = 4, value = 1407142}})----衣服链条
gg.toast("开启成功")
string.toMusic("美化成功")---语音
end
}, {
"寒冰",
function()
local t = {"libUE4.so:bss", "Cb"}
local tt = {0x5A5FF0,0x30,0x440,0x2B50,0x388,0x70}
local ttt = S_Pointer(t, tt, true)
gg.setValues({{address = ttt, flags = 4, value = 1407141}})----衣服链条
gg.toast("开启成功")
string.toMusic("美化成功")---语音
end,
function()
local t = {"libUE4.so:bss", "Cb"}
local tt = {0x5A5FF0,0x30,0x440,0x2B50,0x388,0x70}
local ttt = S_Pointer(t, tt, true)
gg.setValues({{address = ttt, flags = 4, value = 1407141}})----衣服链条
gg.toast("开启成功")
string.toMusic("美化成功")---语音
end
}, {
"法老",
function()
local t = {"libUE4.so:bss", "Cb"}
local tt = {0x5A5FF0,0x30,0x440,0x2B50,0x388,0x70}
local ttt = S_Pointer(t, tt, true)
gg.setValues({{address = ttt, flags = 4, value = 1406469}})----衣服链条
gg.toast("开启成功")
string.toMusic("美化成功")---语音
end,
function()
local t = {"libUE4.so:bss", "Cb"}
local tt = {0x5A5FF0,0x30,0x440,0x2B50,0x388,0x70}
local ttt = S_Pointer(t, tt, true)
gg.setValues({{address = ttt, flags = 4, value = 1406469}})----衣服链条
gg.toast("开启成功")
string.toMusic("美化成功")---语音
end
},
}),
}),--box结尾
changan.box({
"快捷背包美化",
changan.check({
{
"哥斯拉联名",
function()
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 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 getvalue(addr,flags) local asbd={} asbd[1]={} asbd[1].address=addr asbd[1].flags=flags tmp=gg.getValues(asbd) return tmp[1].value end function iceEdit(addr,type,value) local t={} t[1]={} t[1].address=addr t[1].flags=type t[1].value=value t[1].freeze=true gg.addListItems(t) end function breakice(addr,type) local t={} t[1]={} t[1].address=addr t[1].flags=type t[1].freeze=false gg.addListItems(t) end function getMapRanges() local ranges = {} local r_list = {} local _index = 1 local library = gg.getRangesList('^/data/*.so*$') for index, map in ipairs(library) do if map.type:sub(2, 2) == "w" or map.type == "r-xp" then local name = map.internalName local state = map.state local count = map.count if not r_list[name] then r_list[name] = {} end if not r_list[name][state] then r_list[name][state] = {0, _index} end r_list[name][state][1] = r_list[name][state][1] + 1 r_list[name][state][2] = _index map.count = r_list[name][state][1] table.insert(ranges, map) _index = _index + 1 end end return ranges, r_list end function staticstart(map) local ranges = getMapRanges() if not map[3] then map[3] = 1 end for index, value in ipairs(ranges) do local name = value.internalName:gsub("^.*/", "") if map[1] == name and map[2] == value.state and map[3] == value.count then return value.start end end end function xing(start, offset) local flags = {[true] = 32, [false] = 4} local ti64 = gg.getTargetInfo().x64 local type = flags[ti64] local addr = 0 if start then addr = start + offset[1] for index = 2, #offset do local pointer = gg.getValues({{address = addr, flags = type}}) if not ti64 then pointer[1].value = pointer[1].value & 0xFFFFFFFF end addr = pointer[1].value + offset[index] end end return addr end
ue4=staticstart({"libUE4.so:bss", "Cb", 1})
nmsl=xing(ue4,{0x5A5FF0,0x30,0x440,0x2B50,0x388,0x0})
function bb(kjsm)--背包
for qckjsm=0x0,0x196,0x38 do
if getvalue(nmsl+0x11c+qckjsm,4)>=501000 and getvalue(nmsl+0x11c+qckjsm,4)<=501106 then
setvalue(nmsl+0x118+qckjsm,4,kjsm)
end
end
end
bb(1501003061)--这里填代码
gg.toast("开启成功")
string.toMusic("美化成功")---语音
end,
function()
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 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 getvalue(addr,flags) local asbd={} asbd[1]={} asbd[1].address=addr asbd[1].flags=flags tmp=gg.getValues(asbd) return tmp[1].value end function iceEdit(addr,type,value) local t={} t[1]={} t[1].address=addr t[1].flags=type t[1].value=value t[1].freeze=true gg.addListItems(t) end function breakice(addr,type) local t={} t[1]={} t[1].address=addr t[1].flags=type t[1].freeze=false gg.addListItems(t) end function getMapRanges() local ranges = {} local r_list = {} local _index = 1 local library = gg.getRangesList('^/data/*.so*$') for index, map in ipairs(library) do if map.type:sub(2, 2) == "w" or map.type == "r-xp" then local name = map.internalName local state = map.state local count = map.count if not r_list[name] then r_list[name] = {} end if not r_list[name][state] then r_list[name][state] = {0, _index} end r_list[name][state][1] = r_list[name][state][1] + 1 r_list[name][state][2] = _index map.count = r_list[name][state][1] table.insert(ranges, map) _index = _index + 1 end end return ranges, r_list end function staticstart(map) local ranges = getMapRanges() if not map[3] then map[3] = 1 end for index, value in ipairs(ranges) do local name = value.internalName:gsub("^.*/", "") if map[1] == name and map[2] == value.state and map[3] == value.count then return value.start end end end function xing(start, offset) local flags = {[true] = 32, [false] = 4} local ti64 = gg.getTargetInfo().x64 local type = flags[ti64] local addr = 0 if start then addr = start + offset[1] for index = 2, #offset do local pointer = gg.getValues({{address = addr, flags = type}}) if not ti64 then pointer[1].value = pointer[1].value & 0xFFFFFFFF end addr = pointer[1].value + offset[index] end end return addr end
ue4=staticstart({"libUE4.so:bss", "Cb", 1})
nmsl=xing(ue4,{0x5A5FF0,0x30,0x440,0x2B50,0x388,0x0})
function bb(kjsm)--背包
for qckjsm=0x0,0x196,0x38 do
if getvalue(nmsl+0x11c+qckjsm,4)>=501000 and getvalue(nmsl+0x11c+qckjsm,4)<=501106 then
setvalue(nmsl+0x118+qckjsm,4,kjsm)
end
end
end
bb(1501003061)--这里填代码
gg.toast("开启成功")
string.toMusic("美化成功")---语音
end
}, {
"法老",
function()
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 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 getvalue(addr,flags) local asbd={} asbd[1]={} asbd[1].address=addr asbd[1].flags=flags tmp=gg.getValues(asbd) return tmp[1].value end function iceEdit(addr,type,value) local t={} t[1]={} t[1].address=addr t[1].flags=type t[1].value=value t[1].freeze=true gg.addListItems(t) end function breakice(addr,type) local t={} t[1]={} t[1].address=addr t[1].flags=type t[1].freeze=false gg.addListItems(t) end function getMapRanges() local ranges = {} local r_list = {} local _index = 1 local library = gg.getRangesList('^/data/*.so*$') for index, map in ipairs(library) do if map.type:sub(2, 2) == "w" or map.type == "r-xp" then local name = map.internalName local state = map.state local count = map.count if not r_list[name] then r_list[name] = {} end if not r_list[name][state] then r_list[name][state] = {0, _index} end r_list[name][state][1] = r_list[name][state][1] + 1 r_list[name][state][2] = _index map.count = r_list[name][state][1] table.insert(ranges, map) _index = _index + 1 end end return ranges, r_list end function staticstart(map) local ranges = getMapRanges() if not map[3] then map[3] = 1 end for index, value in ipairs(ranges) do local name = value.internalName:gsub("^.*/", "") if map[1] == name and map[2] == value.state and map[3] == value.count then return value.start end end end function xing(start, offset) local flags = {[true] = 32, [false] = 4} local ti64 = gg.getTargetInfo().x64 local type = flags[ti64] local addr = 0 if start then addr = start + offset[1] for index = 2, #offset do local pointer = gg.getValues({{address = addr, flags = type}}) if not ti64 then pointer[1].value = pointer[1].value & 0xFFFFFFFF end addr = pointer[1].value + offset[index] end end return addr end
ue4=staticstart({"libUE4.so:bss", "Cb", 1})
nmsl=xing(ue4,{0x5A5FF0,0x30,0x440,0x2B50,0x388,0x0})
function bb(kjsm)--背包
for qckjsm=0x0,0x196,0x38 do
if getvalue(nmsl+0x11c+qckjsm,4)>=501000 and getvalue(nmsl+0x11c+qckjsm,4)<=501106 then
setvalue(nmsl+0x118+qckjsm,4,kjsm)
end
end
end
bb(1501003174)--这里填代码
gg.toast("开启成功")
string.toMusic("美化成功")---语音
end,
function()
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 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 getvalue(addr,flags) local asbd={} asbd[1]={} asbd[1].address=addr asbd[1].flags=flags tmp=gg.getValues(asbd) return tmp[1].value end function iceEdit(addr,type,value) local t={} t[1]={} t[1].address=addr t[1].flags=type t[1].value=value t[1].freeze=true gg.addListItems(t) end function breakice(addr,type) local t={} t[1]={} t[1].address=addr t[1].flags=type t[1].freeze=false gg.addListItems(t) end function getMapRanges() local ranges = {} local r_list = {} local _index = 1 local library = gg.getRangesList('^/data/*.so*$') for index, map in ipairs(library) do if map.type:sub(2, 2) == "w" or map.type == "r-xp" then local name = map.internalName local state = map.state local count = map.count if not r_list[name] then r_list[name] = {} end if not r_list[name][state] then r_list[name][state] = {0, _index} end r_list[name][state][1] = r_list[name][state][1] + 1 r_list[name][state][2] = _index map.count = r_list[name][state][1] table.insert(ranges, map) _index = _index + 1 end end return ranges, r_list end function staticstart(map) local ranges = getMapRanges() if not map[3] then map[3] = 1 end for index, value in ipairs(ranges) do local name = value.internalName:gsub("^.*/", "") if map[1] == name and map[2] == value.state and map[3] == value.count then return value.start end end end function xing(start, offset) local flags = {[true] = 32, [false] = 4} local ti64 = gg.getTargetInfo().x64 local type = flags[ti64] local addr = 0 if start then addr = start + offset[1] for index = 2, #offset do local pointer = gg.getValues({{address = addr, flags = type}}) if not ti64 then pointer[1].value = pointer[1].value & 0xFFFFFFFF end addr = pointer[1].value + offset[index] end end return addr end
ue4=staticstart({"libUE4.so:bss", "Cb", 1})
nmsl=xing(ue4,{0x5A5FF0,0x30,0x440,0x2B50,0x388,0x0})
function bb(kjsm)--背包
for qckjsm=0x0,0x196,0x38 do
if getvalue(nmsl+0x11c+qckjsm,4)>=501000 and getvalue(nmsl+0x11c+qckjsm,4)<=501106 then
setvalue(nmsl+0x118+qckjsm,4,kjsm)
end
end
end
bb(1501003174)--这里填代码
gg.toast("开启成功")
string.toMusic("美化成功")---语音
end
}, {
"小猫背包",
function()
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 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 getvalue(addr,flags) local asbd={} asbd[1]={} asbd[1].address=addr asbd[1].flags=flags tmp=gg.getValues(asbd) return tmp[1].value end function iceEdit(addr,type,value) local t={} t[1]={} t[1].address=addr t[1].flags=type t[1].value=value t[1].freeze=true gg.addListItems(t) end function breakice(addr,type) local t={} t[1]={} t[1].address=addr t[1].flags=type t[1].freeze=false gg.addListItems(t) end function getMapRanges() local ranges = {} local r_list = {} local _index = 1 local library = gg.getRangesList('^/data/*.so*$') for index, map in ipairs(library) do if map.type:sub(2, 2) == "w" or map.type == "r-xp" then local name = map.internalName local state = map.state local count = map.count if not r_list[name] then r_list[name] = {} end if not r_list[name][state] then r_list[name][state] = {0, _index} end r_list[name][state][1] = r_list[name][state][1] + 1 r_list[name][state][2] = _index map.count = r_list[name][state][1] table.insert(ranges, map) _index = _index + 1 end end return ranges, r_list end function staticstart(map) local ranges = getMapRanges() if not map[3] then map[3] = 1 end for index, value in ipairs(ranges) do local name = value.internalName:gsub("^.*/", "") if map[1] == name and map[2] == value.state and map[3] == value.count then return value.start end end end function xing(start, offset) local flags = {[true] = 32, [false] = 4} local ti64 = gg.getTargetInfo().x64 local type = flags[ti64] local addr = 0 if start then addr = start + offset[1] for index = 2, #offset do local pointer = gg.getValues({{address = addr, flags = type}}) if not ti64 then pointer[1].value = pointer[1].value & 0xFFFFFFFF end addr = pointer[1].value + offset[index] end end return addr end
ue4=staticstart({"libUE4.so:bss", "Cb", 1})
nmsl=xing(ue4,{0x5A5FF0,0x30,0x440,0x2B50,0x388,0x0})
function bb(kjsm)--背包
for qckjsm=0x0,0x196,0x38 do
if getvalue(nmsl+0x11c+qckjsm,4)>=501000 and getvalue(nmsl+0x11c+qckjsm,4)<=501106 then
setvalue(nmsl+0x118+qckjsm,4,kjsm)
end
end
end
bb(1501003050)--这里填代码
gg.toast("开启成功")
string.toMusic("美化成功")---语音
end,
function()
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 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 getvalue(addr,flags) local asbd={} asbd[1]={} asbd[1].address=addr asbd[1].flags=flags tmp=gg.getValues(asbd) return tmp[1].value end function iceEdit(addr,type,value) local t={} t[1]={} t[1].address=addr t[1].flags=type t[1].value=value t[1].freeze=true gg.addListItems(t) end function breakice(addr,type) local t={} t[1]={} t[1].address=addr t[1].flags=type t[1].freeze=false gg.addListItems(t) end function getMapRanges() local ranges = {} local r_list = {} local _index = 1 local library = gg.getRangesList('^/data/*.so*$') for index, map in ipairs(library) do if map.type:sub(2, 2) == "w" or map.type == "r-xp" then local name = map.internalName local state = map.state local count = map.count if not r_list[name] then r_list[name] = {} end if not r_list[name][state] then r_list[name][state] = {0, _index} end r_list[name][state][1] = r_list[name][state][1] + 1 r_list[name][state][2] = _index map.count = r_list[name][state][1] table.insert(ranges, map) _index = _index + 1 end end return ranges, r_list end function staticstart(map) local ranges = getMapRanges() if not map[3] then map[3] = 1 end for index, value in ipairs(ranges) do local name = value.internalName:gsub("^.*/", "") if map[1] == name and map[2] == value.state and map[3] == value.count then return value.start end end end function xing(start, offset) local flags = {[true] = 32, [false] = 4} local ti64 = gg.getTargetInfo().x64 local type = flags[ti64] local addr = 0 if start then addr = start + offset[1] for index = 2, #offset do local pointer = gg.getValues({{address = addr, flags = type}}) if not ti64 then pointer[1].value = pointer[1].value & 0xFFFFFFFF end addr = pointer[1].value + offset[index] end end return addr end
ue4=staticstart({"libUE4.so:bss", "Cb", 1})
nmsl=xing(ue4,{0x5A5FF0,0x30,0x440,0x2B50,0x388,0x0})
function bb(kjsm)--背包
for qckjsm=0x0,0x196,0x38 do
if getvalue(nmsl+0x11c+qckjsm,4)>=501000 and getvalue(nmsl+0x11c+qckjsm,4)<=501106 then
setvalue(nmsl+0x118+qckjsm,4,kjsm)
end
end
end
bb(1501003050)--这里填代码
gg.toast("开启成功")
string.toMusic("美化成功")---语音
end
}, {
"朋克犀牛",
function()
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 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 getvalue(addr,flags) local asbd={} asbd[1]={} asbd[1].address=addr asbd[1].flags=flags tmp=gg.getValues(asbd) return tmp[1].value end function iceEdit(addr,type,value) local t={} t[1]={} t[1].address=addr t[1].flags=type t[1].value=value t[1].freeze=true gg.addListItems(t) end function breakice(addr,type) local t={} t[1]={} t[1].address=addr t[1].flags=type t[1].freeze=false gg.addListItems(t) end function getMapRanges() local ranges = {} local r_list = {} local _index = 1 local library = gg.getRangesList('^/data/*.so*$') for index, map in ipairs(library) do if map.type:sub(2, 2) == "w" or map.type == "r-xp" then local name = map.internalName local state = map.state local count = map.count if not r_list[name] then r_list[name] = {} end if not r_list[name][state] then r_list[name][state] = {0, _index} end r_list[name][state][1] = r_list[name][state][1] + 1 r_list[name][state][2] = _index map.count = r_list[name][state][1] table.insert(ranges, map) _index = _index + 1 end end return ranges, r_list end function staticstart(map) local ranges = getMapRanges() if not map[3] then map[3] = 1 end for index, value in ipairs(ranges) do local name = value.internalName:gsub("^.*/", "") if map[1] == name and map[2] == value.state and map[3] == value.count then return value.start end end end function xing(start, offset) local flags = {[true] = 32, [false] = 4} local ti64 = gg.getTargetInfo().x64 local type = flags[ti64] local addr = 0 if start then addr = start + offset[1] for index = 2, #offset do local pointer = gg.getValues({{address = addr, flags = type}}) if not ti64 then pointer[1].value = pointer[1].value & 0xFFFFFFFF end addr = pointer[1].value + offset[index] end end return addr end
ue4=staticstart({"libUE4.so:bss", "Cb", 1})
nmsl=xing(ue4,{0x5A5FF0,0x30,0x440,0x2B50,0x388,0x0})
function bb(kjsm)--背包
for qckjsm=0x0,0x196,0x38 do
if getvalue(nmsl+0x11c+qckjsm,4)>=501000 and getvalue(nmsl+0x11c+qckjsm,4)<=501106 then
setvalue(nmsl+0x118+qckjsm,4,kjsm)
end
end
end
bb(1501003211)--这里填代码
gg.toast("开启成功")
string.toMusic("美化成功")---语音
end,
function()
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 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 getvalue(addr,flags) local asbd={} asbd[1]={} asbd[1].address=addr asbd[1].flags=flags tmp=gg.getValues(asbd) return tmp[1].value end function iceEdit(addr,type,value) local t={} t[1]={} t[1].address=addr t[1].flags=type t[1].value=value t[1].freeze=true gg.addListItems(t) end function breakice(addr,type) local t={} t[1]={} t[1].address=addr t[1].flags=type t[1].freeze=false gg.addListItems(t) end function getMapRanges() local ranges = {} local r_list = {} local _index = 1 local library = gg.getRangesList('^/data/*.so*$') for index, map in ipairs(library) do if map.type:sub(2, 2) == "w" or map.type == "r-xp" then local name = map.internalName local state = map.state local count = map.count if not r_list[name] then r_list[name] = {} end if not r_list[name][state] then r_list[name][state] = {0, _index} end r_list[name][state][1] = r_list[name][state][1] + 1 r_list[name][state][2] = _index map.count = r_list[name][state][1] table.insert(ranges, map) _index = _index + 1 end end return ranges, r_list end function staticstart(map) local ranges = getMapRanges() if not map[3] then map[3] = 1 end for index, value in ipairs(ranges) do local name = value.internalName:gsub("^.*/", "") if map[1] == name and map[2] == value.state and map[3] == value.count then return value.start end end end function xing(start, offset) local flags = {[true] = 32, [false] = 4} local ti64 = gg.getTargetInfo().x64 local type = flags[ti64] local addr = 0 if start then addr = start + offset[1] for index = 2, #offset do local pointer = gg.getValues({{address = addr, flags = type}}) if not ti64 then pointer[1].value = pointer[1].value & 0xFFFFFFFF end addr = pointer[1].value + offset[index] end end return addr end
ue4=staticstart({"libUE4.so:bss", "Cb", 1})
nmsl=xing(ue4,{0x5A5FF0,0x30,0x440,0x2B50,0x388,0x0})
function bb(kjsm)--背包
for qckjsm=0x0,0x196,0x38 do
if getvalue(nmsl+0x11c+qckjsm,4)>=501000 and getvalue(nmsl+0x11c+qckjsm,4)<=501106 then
setvalue(nmsl+0x118+qckjsm,4,kjsm)
end
end
end
bb(1501003211)--这里填代码
gg.toast("开启成功")
string.toMusic("美化成功")---语音
end
}, {
"黄鲨鱼",
function()
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 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 getvalue(addr,flags) local asbd={} asbd[1]={} asbd[1].address=addr asbd[1].flags=flags tmp=gg.getValues(asbd) return tmp[1].value end function iceEdit(addr,type,value) local t={} t[1]={} t[1].address=addr t[1].flags=type t[1].value=value t[1].freeze=true gg.addListItems(t) end function breakice(addr,type) local t={} t[1]={} t[1].address=addr t[1].flags=type t[1].freeze=false gg.addListItems(t) end function getMapRanges() local ranges = {} local r_list = {} local _index = 1 local library = gg.getRangesList('^/data/*.so*$') for index, map in ipairs(library) do if map.type:sub(2, 2) == "w" or map.type == "r-xp" then local name = map.internalName local state = map.state local count = map.count if not r_list[name] then r_list[name] = {} end if not r_list[name][state] then r_list[name][state] = {0, _index} end r_list[name][state][1] = r_list[name][state][1] + 1 r_list[name][state][2] = _index map.count = r_list[name][state][1] table.insert(ranges, map) _index = _index + 1 end end return ranges, r_list end function staticstart(map) local ranges = getMapRanges() if not map[3] then map[3] = 1 end for index, value in ipairs(ranges) do local name = value.internalName:gsub("^.*/", "") if map[1] == name and map[2] == value.state and map[3] == value.count then return value.start end end end function xing(start, offset) local flags = {[true] = 32, [false] = 4} local ti64 = gg.getTargetInfo().x64 local type = flags[ti64] local addr = 0 if start then addr = start + offset[1] for index = 2, #offset do local pointer = gg.getValues({{address = addr, flags = type}}) if not ti64 then pointer[1].value = pointer[1].value & 0xFFFFFFFF end addr = pointer[1].value + offset[index] end end return addr end
ue4=staticstart({"libUE4.so:bss", "Cb", 1})
nmsl=xing(ue4,{0x5A5FF0,0x30,0x440,0x2B50,0x388,0x0})
function bb(kjsm)--背包
for qckjsm=0x0,0x196,0x38 do
if getvalue(nmsl+0x11c+qckjsm,4)>=501000 and getvalue(nmsl+0x11c+qckjsm,4)<=501106 then
setvalue(nmsl+0x118+qckjsm,4,kjsm)
end
end
end
bb(1501003058)--这里填代码
gg.toast("开启成功")
string.toMusic("美化成功")---语音
end,
function()
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 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 getvalue(addr,flags) local asbd={} asbd[1]={} asbd[1].address=addr asbd[1].flags=flags tmp=gg.getValues(asbd) return tmp[1].value end function iceEdit(addr,type,value) local t={} t[1]={} t[1].address=addr t[1].flags=type t[1].value=value t[1].freeze=true gg.addListItems(t) end function breakice(addr,type) local t={} t[1]={} t[1].address=addr t[1].flags=type t[1].freeze=false gg.addListItems(t) end function getMapRanges() local ranges = {} local r_list = {} local _index = 1 local library = gg.getRangesList('^/data/*.so*$') for index, map in ipairs(library) do if map.type:sub(2, 2) == "w" or map.type == "r-xp" then local name = map.internalName local state = map.state local count = map.count if not r_list[name] then r_list[name] = {} end if not r_list[name][state] then r_list[name][state] = {0, _index} end r_list[name][state][1] = r_list[name][state][1] + 1 r_list[name][state][2] = _index map.count = r_list[name][state][1] table.insert(ranges, map) _index = _index + 1 end end return ranges, r_list end function staticstart(map) local ranges = getMapRanges() if not map[3] then map[3] = 1 end for index, value in ipairs(ranges) do local name = value.internalName:gsub("^.*/", "") if map[1] == name and map[2] == value.state and map[3] == value.count then return value.start end end end function xing(start, offset) local flags = {[true] = 32, [false] = 4} local ti64 = gg.getTargetInfo().x64 local type = flags[ti64] local addr = 0 if start then addr = start + offset[1] for index = 2, #offset do local pointer = gg.getValues({{address = addr, flags = type}}) if not ti64 then pointer[1].value = pointer[1].value & 0xFFFFFFFF end addr = pointer[1].value + offset[index] end end return addr end
ue4=staticstart({"libUE4.so:bss", "Cb", 1})
nmsl=xing(ue4,{0x5A5FF0,0x30,0x440,0x2B50,0x388,0x0})
function bb(kjsm)--背包
for qckjsm=0x0,0x196,0x38 do
if getvalue(nmsl+0x11c+qckjsm,4)>=501000 and getvalue(nmsl+0x11c+qckjsm,4)<=501106 then
setvalue(nmsl+0x118+qckjsm,4,kjsm)
end
end
end
bb(1501003058)--这里填代码
gg.toast("开启成功")
string.toMusic("美化成功")---语音
end
}, {
"恐龙布朗熊",
function()
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 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 getvalue(addr,flags) local asbd={} asbd[1]={} asbd[1].address=addr asbd[1].flags=flags tmp=gg.getValues(asbd) return tmp[1].value end function iceEdit(addr,type,value) local t={} t[1]={} t[1].address=addr t[1].flags=type t[1].value=value t[1].freeze=true gg.addListItems(t) end function breakice(addr,type) local t={} t[1]={} t[1].address=addr t[1].flags=type t[1].freeze=false gg.addListItems(t) end function getMapRanges() local ranges = {} local r_list = {} local _index = 1 local library = gg.getRangesList('^/data/*.so*$') for index, map in ipairs(library) do if map.type:sub(2, 2) == "w" or map.type == "r-xp" then local name = map.internalName local state = map.state local count = map.count if not r_list[name] then r_list[name] = {} end if not r_list[name][state] then r_list[name][state] = {0, _index} end r_list[name][state][1] = r_list[name][state][1] + 1 r_list[name][state][2] = _index map.count = r_list[name][state][1] table.insert(ranges, map) _index = _index + 1 end end return ranges, r_list end function staticstart(map) local ranges = getMapRanges() if not map[3] then map[3] = 1 end for index, value in ipairs(ranges) do local name = value.internalName:gsub("^.*/", "") if map[1] == name and map[2] == value.state and map[3] == value.count then return value.start end end end function xing(start, offset) local flags = {[true] = 32, [false] = 4} local ti64 = gg.getTargetInfo().x64 local type = flags[ti64] local addr = 0 if start then addr = start + offset[1] for index = 2, #offset do local pointer = gg.getValues({{address = addr, flags = type}}) if not ti64 then pointer[1].value = pointer[1].value & 0xFFFFFFFF end addr = pointer[1].value + offset[index] end end return addr end
ue4=staticstart({"libUE4.so:bss", "Cb", 1})
nmsl=xing(ue4,{0x5A5FF0,0x30,0x440,0x2B50,0x388,0x0})
function bb(kjsm)--背包
for qckjsm=0x0,0x196,0x38 do
if getvalue(nmsl+0x11c+qckjsm,4)>=501000 and getvalue(nmsl+0x11c+qckjsm,4)<=501106 then
setvalue(nmsl+0x118+qckjsm,4,kjsm)
end
end
end
bb(1501003261)--这里填代码
gg.toast("开启成功")
string.toMusic("美化成功")---语音
end,
function()
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 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 getvalue(addr,flags) local asbd={} asbd[1]={} asbd[1].address=addr asbd[1].flags=flags tmp=gg.getValues(asbd) return tmp[1].value end function iceEdit(addr,type,value) local t={} t[1]={} t[1].address=addr t[1].flags=type t[1].value=value t[1].freeze=true gg.addListItems(t) end function breakice(addr,type) local t={} t[1]={} t[1].address=addr t[1].flags=type t[1].freeze=false gg.addListItems(t) end function getMapRanges() local ranges = {} local r_list = {} local _index = 1 local library = gg.getRangesList('^/data/*.so*$') for index, map in ipairs(library) do if map.type:sub(2, 2) == "w" or map.type == "r-xp" then local name = map.internalName local state = map.state local count = map.count if not r_list[name] then r_list[name] = {} end if not r_list[name][state] then r_list[name][state] = {0, _index} end r_list[name][state][1] = r_list[name][state][1] + 1 r_list[name][state][2] = _index map.count = r_list[name][state][1] table.insert(ranges, map) _index = _index + 1 end end return ranges, r_list end function staticstart(map) local ranges = getMapRanges() if not map[3] then map[3] = 1 end for index, value in ipairs(ranges) do local name = value.internalName:gsub("^.*/", "") if map[1] == name and map[2] == value.state and map[3] == value.count then return value.start end end end function xing(start, offset) local flags = {[true] = 32, [false] = 4} local ti64 = gg.getTargetInfo().x64 local type = flags[ti64] local addr = 0 if start then addr = start + offset[1] for index = 2, #offset do local pointer = gg.getValues({{address = addr, flags = type}}) if not ti64 then pointer[1].value = pointer[1].value & 0xFFFFFFFF end addr = pointer[1].value + offset[index] end end return addr end
ue4=staticstart({"libUE4.so:bss", "Cb", 1})
nmsl=xing(ue4,{0x5A5FF0,0x30,0x440,0x2B50,0x388,0x0})
function bb(kjsm)--背包
for qckjsm=0x0,0x196,0x38 do
if getvalue(nmsl+0x11c+qckjsm,4)>=501000 and getvalue(nmsl+0x11c+qckjsm,4)<=501106 then
setvalue(nmsl+0x118+qckjsm,4,kjsm)
end
end
end
bb(1501003261)--这里填代码
gg.toast("开启成功")
string.toMusic("美化成功")---语音
end
}, {
"龙包",
function()
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 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 getvalue(addr,flags) local asbd={} asbd[1]={} asbd[1].address=addr asbd[1].flags=flags tmp=gg.getValues(asbd) return tmp[1].value end function iceEdit(addr,type,value) local t={} t[1]={} t[1].address=addr t[1].flags=type t[1].value=value t[1].freeze=true gg.addListItems(t) end function breakice(addr,type) local t={} t[1]={} t[1].address=addr t[1].flags=type t[1].freeze=false gg.addListItems(t) end function getMapRanges() local ranges = {} local r_list = {} local _index = 1 local library = gg.getRangesList('^/data/*.so*$') for index, map in ipairs(library) do if map.type:sub(2, 2) == "w" or map.type == "r-xp" then local name = map.internalName local state = map.state local count = map.count if not r_list[name] then r_list[name] = {} end if not r_list[name][state] then r_list[name][state] = {0, _index} end r_list[name][state][1] = r_list[name][state][1] + 1 r_list[name][state][2] = _index map.count = r_list[name][state][1] table.insert(ranges, map) _index = _index + 1 end end return ranges, r_list end function staticstart(map) local ranges = getMapRanges() if not map[3] then map[3] = 1 end for index, value in ipairs(ranges) do local name = value.internalName:gsub("^.*/", "") if map[1] == name and map[2] == value.state and map[3] == value.count then return value.start end end end function xing(start, offset) local flags = {[true] = 32, [false] = 4} local ti64 = gg.getTargetInfo().x64 local type = flags[ti64] local addr = 0 if start then addr = start + offset[1] for index = 2, #offset do local pointer = gg.getValues({{address = addr, flags = type}}) if not ti64 then pointer[1].value = pointer[1].value & 0xFFFFFFFF end addr = pointer[1].value + offset[index] end end return addr end
ue4=staticstart({"libUE4.so:bss", "Cb", 1})
nmsl=xing(ue4,{0x5A5FF0,0x30,0x440,0x2B50,0x388,0x0})
function bb(kjsm)--背包
for qckjsm=0x0,0x196,0x38 do
if getvalue(nmsl+0x11c+qckjsm,4)>=501000 and getvalue(nmsl+0x11c+qckjsm,4)<=501106 then
setvalue(nmsl+0x118+qckjsm,4,kjsm)
end
end
end
bb(1501003053)--这里填代码
gg.toast("开启成功")
string.toMusic("美化成功")---语音
end,
function()
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 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 getvalue(addr,flags) local asbd={} asbd[1]={} asbd[1].address=addr asbd[1].flags=flags tmp=gg.getValues(asbd) return tmp[1].value end function iceEdit(addr,type,value) local t={} t[1]={} t[1].address=addr t[1].flags=type t[1].value=value t[1].freeze=true gg.addListItems(t) end function breakice(addr,type) local t={} t[1]={} t[1].address=addr t[1].flags=type t[1].freeze=false gg.addListItems(t) end function getMapRanges() local ranges = {} local r_list = {} local _index = 1 local library = gg.getRangesList('^/data/*.so*$') for index, map in ipairs(library) do if map.type:sub(2, 2) == "w" or map.type == "r-xp" then local name = map.internalName local state = map.state local count = map.count if not r_list[name] then r_list[name] = {} end if not r_list[name][state] then r_list[name][state] = {0, _index} end r_list[name][state][1] = r_list[name][state][1] + 1 r_list[name][state][2] = _index map.count = r_list[name][state][1] table.insert(ranges, map) _index = _index + 1 end end return ranges, r_list end function staticstart(map) local ranges = getMapRanges() if not map[3] then map[3] = 1 end for index, value in ipairs(ranges) do local name = value.internalName:gsub("^.*/", "") if map[1] == name and map[2] == value.state and map[3] == value.count then return value.start end end end function xing(start, offset) local flags = {[true] = 32, [false] = 4} local ti64 = gg.getTargetInfo().x64 local type = flags[ti64] local addr = 0 if start then addr = start + offset[1] for index = 2, #offset do local pointer = gg.getValues({{address = addr, flags = type}}) if not ti64 then pointer[1].value = pointer[1].value & 0xFFFFFFFF end addr = pointer[1].value + offset[index] end end return addr end
ue4=staticstart({"libUE4.so:bss", "Cb", 1})
nmsl=xing(ue4,{0x5A5FF0,0x30,0x440,0x2B50,0x388,0x0})
function bb(kjsm)--背包
for qckjsm=0x0,0x196,0x38 do
if getvalue(nmsl+0x11c+qckjsm,4)>=501000 and getvalue(nmsl+0x11c+qckjsm,4)<=501106 then
setvalue(nmsl+0x118+qckjsm,4,kjsm)
end
end
end
bb(1501003053)--这里填代码
gg.toast("开启成功")
string.toMusic("美化成功")---语音
end
}, {
"小黄鸭",
function()
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 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 getvalue(addr,flags) local asbd={} asbd[1]={} asbd[1].address=addr asbd[1].flags=flags tmp=gg.getValues(asbd) return tmp[1].value end function iceEdit(addr,type,value) local t={} t[1]={} t[1].address=addr t[1].flags=type t[1].value=value t[1].freeze=true gg.addListItems(t) end function breakice(addr,type) local t={} t[1]={} t[1].address=addr t[1].flags=type t[1].freeze=false gg.addListItems(t) end function getMapRanges() local ranges = {} local r_list = {} local _index = 1 local library = gg.getRangesList('^/data/*.so*$') for index, map in ipairs(library) do if map.type:sub(2, 2) == "w" or map.type == "r-xp" then local name = map.internalName local state = map.state local count = map.count if not r_list[name] then r_list[name] = {} end if not r_list[name][state] then r_list[name][state] = {0, _index} end r_list[name][state][1] = r_list[name][state][1] + 1 r_list[name][state][2] = _index map.count = r_list[name][state][1] table.insert(ranges, map) _index = _index + 1 end end return ranges, r_list end function staticstart(map) local ranges = getMapRanges() if not map[3] then map[3] = 1 end for index, value in ipairs(ranges) do local name = value.internalName:gsub("^.*/", "") if map[1] == name and map[2] == value.state and map[3] == value.count then return value.start end end end function xing(start, offset) local flags = {[true] = 32, [false] = 4} local ti64 = gg.getTargetInfo().x64 local type = flags[ti64] local addr = 0 if start then addr = start + offset[1] for index = 2, #offset do local pointer = gg.getValues({{address = addr, flags = type}}) if not ti64 then pointer[1].value = pointer[1].value & 0xFFFFFFFF end addr = pointer[1].value + offset[index] end end return addr end
ue4=staticstart({"libUE4.so:bss", "Cb", 1})
nmsl=xing(ue4,{0x5A5FF0,0x30,0x440,0x2B50,0x388,0x0})
function bb(kjsm)--背包
for qckjsm=0x0,0x196,0x38 do
if getvalue(nmsl+0x11c+qckjsm,4)>=501000 and getvalue(nmsl+0x11c+qckjsm,4)<=501106 then
setvalue(nmsl+0x118+qckjsm,4,kjsm)
end
end
end
bb(1501003276)--这里填代码
gg.toast("开启成功")
string.toMusic("美化成功")---语音
end,
function()
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 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 getvalue(addr,flags) local asbd={} asbd[1]={} asbd[1].address=addr asbd[1].flags=flags tmp=gg.getValues(asbd) return tmp[1].value end function iceEdit(addr,type,value) local t={} t[1]={} t[1].address=addr t[1].flags=type t[1].value=value t[1].freeze=true gg.addListItems(t) end function breakice(addr,type) local t={} t[1]={} t[1].address=addr t[1].flags=type t[1].freeze=false gg.addListItems(t) end function getMapRanges() local ranges = {} local r_list = {} local _index = 1 local library = gg.getRangesList('^/data/*.so*$') for index, map in ipairs(library) do if map.type:sub(2, 2) == "w" or map.type == "r-xp" then local name = map.internalName local state = map.state local count = map.count if not r_list[name] then r_list[name] = {} end if not r_list[name][state] then r_list[name][state] = {0, _index} end r_list[name][state][1] = r_list[name][state][1] + 1 r_list[name][state][2] = _index map.count = r_list[name][state][1] table.insert(ranges, map) _index = _index + 1 end end return ranges, r_list end function staticstart(map) local ranges = getMapRanges() if not map[3] then map[3] = 1 end for index, value in ipairs(ranges) do local name = value.internalName:gsub("^.*/", "") if map[1] == name and map[2] == value.state and map[3] == value.count then return value.start end end end function xing(start, offset) local flags = {[true] = 32, [false] = 4} local ti64 = gg.getTargetInfo().x64 local type = flags[ti64] local addr = 0 if start then addr = start + offset[1] for index = 2, #offset do local pointer = gg.getValues({{address = addr, flags = type}}) if not ti64 then pointer[1].value = pointer[1].value & 0xFFFFFFFF end addr = pointer[1].value + offset[index] end end return addr end
ue4=staticstart({"libUE4.so:bss", "Cb", 1})
nmsl=xing(ue4,{0x5A5FF0,0x30,0x440,0x2B50,0x388,0x0})
function bb(kjsm)--背包
for qckjsm=0x0,0x196,0x38 do
if getvalue(nmsl+0x11c+qckjsm,4)>=501000 and getvalue(nmsl+0x11c+qckjsm,4)<=501106 then
setvalue(nmsl+0x118+qckjsm,4,kjsm)
end
end
end
bb(1501003276)--这里填代码
gg.toast("开启成功")
string.toMusic("美化成功")---语音
end
}, {
"隐藏背包",
function()
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 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 getvalue(addr,flags) local asbd={} asbd[1]={} asbd[1].address=addr asbd[1].flags=flags tmp=gg.getValues(asbd) return tmp[1].value end function iceEdit(addr,type,value) local t={} t[1]={} t[1].address=addr t[1].flags=type t[1].value=value t[1].freeze=true gg.addListItems(t) end function breakice(addr,type) local t={} t[1]={} t[1].address=addr t[1].flags=type t[1].freeze=false gg.addListItems(t) end function getMapRanges() local ranges = {} local r_list = {} local _index = 1 local library = gg.getRangesList('^/data/*.so*$') for index, map in ipairs(library) do if map.type:sub(2, 2) == "w" or map.type == "r-xp" then local name = map.internalName local state = map.state local count = map.count if not r_list[name] then r_list[name] = {} end if not r_list[name][state] then r_list[name][state] = {0, _index} end r_list[name][state][1] = r_list[name][state][1] + 1 r_list[name][state][2] = _index map.count = r_list[name][state][1] table.insert(ranges, map) _index = _index + 1 end end return ranges, r_list end function staticstart(map) local ranges = getMapRanges() if not map[3] then map[3] = 1 end for index, value in ipairs(ranges) do local name = value.internalName:gsub("^.*/", "") if map[1] == name and map[2] == value.state and map[3] == value.count then return value.start end end end function xing(start, offset) local flags = {[true] = 32, [false] = 4} local ti64 = gg.getTargetInfo().x64 local type = flags[ti64] local addr = 0 if start then addr = start + offset[1] for index = 2, #offset do local pointer = gg.getValues({{address = addr, flags = type}}) if not ti64 then pointer[1].value = pointer[1].value & 0xFFFFFFFF end addr = pointer[1].value + offset[index] end end return addr end
ue4=staticstart({"libUE4.so:bss", "Cb", 1})
nmsl=xing(ue4,{0x5A5FF0,0x30,0x440,0x2B50,0x388,0x0})
function bb(kjsm)--背包
for qckjsm=0x0,0x196,0x38 do
if getvalue(nmsl+0x11c+qckjsm,4)>=501000 and getvalue(nmsl+0x11c+qckjsm,4)<=501106 then
setvalue(nmsl+0x118+qckjsm,4,kjsm)
end
end
end
bb(0)--这里填代码
gg.toast("开启成功")
string.toMusic("美化成功")---语音
end,
function()
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 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 getvalue(addr,flags) local asbd={} asbd[1]={} asbd[1].address=addr asbd[1].flags=flags tmp=gg.getValues(asbd) return tmp[1].value end function iceEdit(addr,type,value) local t={} t[1]={} t[1].address=addr t[1].flags=type t[1].value=value t[1].freeze=true gg.addListItems(t) end function breakice(addr,type) local t={} t[1]={} t[1].address=addr t[1].flags=type t[1].freeze=false gg.addListItems(t) end function getMapRanges() local ranges = {} local r_list = {} local _index = 1 local library = gg.getRangesList('^/data/*.so*$') for index, map in ipairs(library) do if map.type:sub(2, 2) == "w" or map.type == "r-xp" then local name = map.internalName local state = map.state local count = map.count if not r_list[name] then r_list[name] = {} end if not r_list[name][state] then r_list[name][state] = {0, _index} end r_list[name][state][1] = r_list[name][state][1] + 1 r_list[name][state][2] = _index map.count = r_list[name][state][1] table.insert(ranges, map) _index = _index + 1 end end return ranges, r_list end function staticstart(map) local ranges = getMapRanges() if not map[3] then map[3] = 1 end for index, value in ipairs(ranges) do local name = value.internalName:gsub("^.*/", "") if map[1] == name and map[2] == value.state and map[3] == value.count then return value.start end end end function xing(start, offset) local flags = {[true] = 32, [false] = 4} local ti64 = gg.getTargetInfo().x64 local type = flags[ti64] local addr = 0 if start then addr = start + offset[1] for index = 2, #offset do local pointer = gg.getValues({{address = addr, flags = type}}) if not ti64 then pointer[1].value = pointer[1].value & 0xFFFFFFFF end addr = pointer[1].value + offset[index] end end return addr end
ue4=staticstart({"libUE4.so:bss", "Cb", 1})
nmsl=xing(ue4,{0x5A5FF0,0x30,0x440,0x2B50,0x388,0x0})
function bb(kjsm)--背包
for qckjsm=0x0,0x196,0x38 do
if getvalue(nmsl+0x11c+qckjsm,4)>=501000 and getvalue(nmsl+0x11c+qckjsm,4)<=501106 then
setvalue(nmsl+0x118+qckjsm,4,kjsm)
end
end
end
bb(0)--这里填代码
gg.toast("开启成功")
string.toMusic("美化成功")---语音
end
},
}),
}),--box结尾
changan.box({
"快捷头盔美化",
changan.check({
{
"刺头",
function()
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 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 getvalue(addr,flags) local asbd={} asbd[1]={} asbd[1].address=addr asbd[1].flags=flags tmp=gg.getValues(asbd) return tmp[1].value end function iceEdit(addr,type,value) local t={} t[1]={} t[1].address=addr t[1].flags=type t[1].value=value t[1].freeze=true gg.addListItems(t) end function breakice(addr,type) local t={} t[1]={} t[1].address=addr t[1].flags=type t[1].freeze=false gg.addListItems(t) end function getMapRanges() local ranges = {} local r_list = {} local _index = 1 local library = gg.getRangesList('^/data/*.so*$') for index, map in ipairs(library) do if map.type:sub(2, 2) == "w" or map.type == "r-xp" then local name = map.internalName local state = map.state local count = map.count if not r_list[name] then r_list[name] = {} end if not r_list[name][state] then r_list[name][state] = {0, _index} end r_list[name][state][1] = r_list[name][state][1] + 1 r_list[name][state][2] = _index map.count = r_list[name][state][1] table.insert(ranges, map) _index = _index + 1 end end return ranges, r_list end function staticstart(map) local ranges = getMapRanges() if not map[3] then map[3] = 1 end for index, value in ipairs(ranges) do local name = value.internalName:gsub("^.*/", "") if map[1] == name and map[2] == value.state and map[3] == value.count then return value.start end end end function xing(start, offset) local flags = {[true] = 32, [false] = 4} local ti64 = gg.getTargetInfo().x64 local type = flags[ti64] local addr = 0 if start then addr = start + offset[1] for index = 2, #offset do local pointer = gg.getValues({{address = addr, flags = type}}) if not ti64 then pointer[1].value = pointer[1].value & 0xFFFFFFFF end addr = pointer[1].value + offset[index] end end return addr end
ue4=staticstart({"libUE4.so:bss", "Cb", 1})
nmsl=xing(ue4,{0x5A5FF0,0x30,0x440,0x2B50,0x388,0x0})
function tk(kjsm)--头盔
for qckjsm=0x0,0x196,0x38 do
if getvalue(nmsl+0x11c+qckjsm,4)>=501000 and getvalue(nmsl+0x11c+qckjsm,4)<=502116 then
setvalue(nmsl+0x118+qckjsm,4,kjsm)
end
end
end
tk(1502003014)
gg.toast("开启成功")
string.toMusic("美化成功")---语音
end,
function()
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 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 getvalue(addr,flags) local asbd={} asbd[1]={} asbd[1].address=addr asbd[1].flags=flags tmp=gg.getValues(asbd) return tmp[1].value end function iceEdit(addr,type,value) local t={} t[1]={} t[1].address=addr t[1].flags=type t[1].value=value t[1].freeze=true gg.addListItems(t) end function breakice(addr,type) local t={} t[1]={} t[1].address=addr t[1].flags=type t[1].freeze=false gg.addListItems(t) end function getMapRanges() local ranges = {} local r_list = {} local _index = 1 local library = gg.getRangesList('^/data/*.so*$') for index, map in ipairs(library) do if map.type:sub(2, 2) == "w" or map.type == "r-xp" then local name = map.internalName local state = map.state local count = map.count if not r_list[name] then r_list[name] = {} end if not r_list[name][state] then r_list[name][state] = {0, _index} end r_list[name][state][1] = r_list[name][state][1] + 1 r_list[name][state][2] = _index map.count = r_list[name][state][1] table.insert(ranges, map) _index = _index + 1 end end return ranges, r_list end function staticstart(map) local ranges = getMapRanges() if not map[3] then map[3] = 1 end for index, value in ipairs(ranges) do local name = value.internalName:gsub("^.*/", "") if map[1] == name and map[2] == value.state and map[3] == value.count then return value.start end end end function xing(start, offset) local flags = {[true] = 32, [false] = 4} local ti64 = gg.getTargetInfo().x64 local type = flags[ti64] local addr = 0 if start then addr = start + offset[1] for index = 2, #offset do local pointer = gg.getValues({{address = addr, flags = type}}) if not ti64 then pointer[1].value = pointer[1].value & 0xFFFFFFFF end addr = pointer[1].value + offset[index] end end return addr end
ue4=staticstart({"libUE4.so:bss", "Cb", 1})
nmsl=xing(ue4,{0x5A5FF0,0x30,0x440,0x2B50,0x388,0x0})
function tk(kjsm)--头盔
for qckjsm=0x0,0x196,0x38 do
if getvalue(nmsl+0x11c+qckjsm,4)>=501000 and getvalue(nmsl+0x11c+qckjsm,4)<=502116 then
setvalue(nmsl+0x118+qckjsm,4,kjsm)
end
end
end
tk(1502003014)
gg.toast("开启成功")
string.toMusic("美化成功")---语音
end
}, {
"冰头",
function()
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 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 getvalue(addr,flags) local asbd={} asbd[1]={} asbd[1].address=addr asbd[1].flags=flags tmp=gg.getValues(asbd) return tmp[1].value end function iceEdit(addr,type,value) local t={} t[1]={} t[1].address=addr t[1].flags=type t[1].value=value t[1].freeze=true gg.addListItems(t) end function breakice(addr,type) local t={} t[1]={} t[1].address=addr t[1].flags=type t[1].freeze=false gg.addListItems(t) end function getMapRanges() local ranges = {} local r_list = {} local _index = 1 local library = gg.getRangesList('^/data/*.so*$') for index, map in ipairs(library) do if map.type:sub(2, 2) == "w" or map.type == "r-xp" then local name = map.internalName local state = map.state local count = map.count if not r_list[name] then r_list[name] = {} end if not r_list[name][state] then r_list[name][state] = {0, _index} end r_list[name][state][1] = r_list[name][state][1] + 1 r_list[name][state][2] = _index map.count = r_list[name][state][1] table.insert(ranges, map) _index = _index + 1 end end return ranges, r_list end function staticstart(map) local ranges = getMapRanges() if not map[3] then map[3] = 1 end for index, value in ipairs(ranges) do local name = value.internalName:gsub("^.*/", "") if map[1] == name and map[2] == value.state and map[3] == value.count then return value.start end end end function xing(start, offset) local flags = {[true] = 32, [false] = 4} local ti64 = gg.getTargetInfo().x64 local type = flags[ti64] local addr = 0 if start then addr = start + offset[1] for index = 2, #offset do local pointer = gg.getValues({{address = addr, flags = type}}) if not ti64 then pointer[1].value = pointer[1].value & 0xFFFFFFFF end addr = pointer[1].value + offset[index] end end return addr end
ue4=staticstart({"libUE4.so:bss", "Cb", 1})
nmsl=xing(ue4,{0x5A5FF0,0x30,0x440,0x2B50,0x388,0x0})
function tk(kjsm)--头盔
for qckjsm=0x0,0x196,0x38 do
if getvalue(nmsl+0x11c+qckjsm,4)>=501000 and getvalue(nmsl+0x11c+qckjsm,4)<=502116 then
setvalue(nmsl+0x118+qckjsm,4,kjsm)
end
end
end
tk(1502003023)
gg.toast("开启成功")
string.toMusic("美化成功")---语音
end,
function()
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 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 getvalue(addr,flags) local asbd={} asbd[1]={} asbd[1].address=addr asbd[1].flags=flags tmp=gg.getValues(asbd) return tmp[1].value end function iceEdit(addr,type,value) local t={} t[1]={} t[1].address=addr t[1].flags=type t[1].value=value t[1].freeze=true gg.addListItems(t) end function breakice(addr,type) local t={} t[1]={} t[1].address=addr t[1].flags=type t[1].freeze=false gg.addListItems(t) end function getMapRanges() local ranges = {} local r_list = {} local _index = 1 local library = gg.getRangesList('^/data/*.so*$') for index, map in ipairs(library) do if map.type:sub(2, 2) == "w" or map.type == "r-xp" then local name = map.internalName local state = map.state local count = map.count if not r_list[name] then r_list[name] = {} end if not r_list[name][state] then r_list[name][state] = {0, _index} end r_list[name][state][1] = r_list[name][state][1] + 1 r_list[name][state][2] = _index map.count = r_list[name][state][1] table.insert(ranges, map) _index = _index + 1 end end return ranges, r_list end function staticstart(map) local ranges = getMapRanges() if not map[3] then map[3] = 1 end for index, value in ipairs(ranges) do local name = value.internalName:gsub("^.*/", "") if map[1] == name and map[2] == value.state and map[3] == value.count then return value.start end end end function xing(start, offset) local flags = {[true] = 32, [false] = 4} local ti64 = gg.getTargetInfo().x64 local type = flags[ti64] local addr = 0 if start then addr = start + offset[1] for index = 2, #offset do local pointer = gg.getValues({{address = addr, flags = type}}) if not ti64 then pointer[1].value = pointer[1].value & 0xFFFFFFFF end addr = pointer[1].value + offset[index] end end return addr end
ue4=staticstart({"libUE4.so:bss", "Cb", 1})
nmsl=xing(ue4,{0x5A5FF0,0x30,0x440,0x2B50,0x388,0x0})
function tk(kjsm)--头盔
for qckjsm=0x0,0x196,0x38 do
if getvalue(nmsl+0x11c+qckjsm,4)>=501000 and getvalue(nmsl+0x11c+qckjsm,4)<=502116 then
setvalue(nmsl+0x118+qckjsm,4,kjsm)
end
end
end
tk(1502003023)
gg.toast("开启成功")
string.toMusic("美化成功")---语音
end
}, {
"胖达",
function()
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 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 getvalue(addr,flags) local asbd={} asbd[1]={} asbd[1].address=addr asbd[1].flags=flags tmp=gg.getValues(asbd) return tmp[1].value end function iceEdit(addr,type,value) local t={} t[1]={} t[1].address=addr t[1].flags=type t[1].value=value t[1].freeze=true gg.addListItems(t) end function breakice(addr,type) local t={} t[1]={} t[1].address=addr t[1].flags=type t[1].freeze=false gg.addListItems(t) end function getMapRanges() local ranges = {} local r_list = {} local _index = 1 local library = gg.getRangesList('^/data/*.so*$') for index, map in ipairs(library) do if map.type:sub(2, 2) == "w" or map.type == "r-xp" then local name = map.internalName local state = map.state local count = map.count if not r_list[name] then r_list[name] = {} end if not r_list[name][state] then r_list[name][state] = {0, _index} end r_list[name][state][1] = r_list[name][state][1] + 1 r_list[name][state][2] = _index map.count = r_list[name][state][1] table.insert(ranges, map) _index = _index + 1 end end return ranges, r_list end function staticstart(map) local ranges = getMapRanges() if not map[3] then map[3] = 1 end for index, value in ipairs(ranges) do local name = value.internalName:gsub("^.*/", "") if map[1] == name and map[2] == value.state and map[3] == value.count then return value.start end end end function xing(start, offset) local flags = {[true] = 32, [false] = 4} local ti64 = gg.getTargetInfo().x64 local type = flags[ti64] local addr = 0 if start then addr = start + offset[1] for index = 2, #offset do local pointer = gg.getValues({{address = addr, flags = type}}) if not ti64 then pointer[1].value = pointer[1].value & 0xFFFFFFFF end addr = pointer[1].value + offset[index] end end return addr end
ue4=staticstart({"libUE4.so:bss", "Cb", 1})
nmsl=xing(ue4,{0x5A5FF0,0x30,0x440,0x2B50,0x388,0x0})
function tk(kjsm)--头盔
for qckjsm=0x0,0x196,0x38 do
if getvalue(nmsl+0x11c+qckjsm,4)>=501000 and getvalue(nmsl+0x11c+qckjsm,4)<=502116 then
setvalue(nmsl+0x118+qckjsm,4,kjsm)
end
end
end
tk(1502003027)
gg.toast("开启成功")
string.toMusic("美化成功")---语音
end,
function()
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 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 getvalue(addr,flags) local asbd={} asbd[1]={} asbd[1].address=addr asbd[1].flags=flags tmp=gg.getValues(asbd) return tmp[1].value end function iceEdit(addr,type,value) local t={} t[1]={} t[1].address=addr t[1].flags=type t[1].value=value t[1].freeze=true gg.addListItems(t) end function breakice(addr,type) local t={} t[1]={} t[1].address=addr t[1].flags=type t[1].freeze=false gg.addListItems(t) end function getMapRanges() local ranges = {} local r_list = {} local _index = 1 local library = gg.getRangesList('^/data/*.so*$') for index, map in ipairs(library) do if map.type:sub(2, 2) == "w" or map.type == "r-xp" then local name = map.internalName local state = map.state local count = map.count if not r_list[name] then r_list[name] = {} end if not r_list[name][state] then r_list[name][state] = {0, _index} end r_list[name][state][1] = r_list[name][state][1] + 1 r_list[name][state][2] = _index map.count = r_list[name][state][1] table.insert(ranges, map) _index = _index + 1 end end return ranges, r_list end function staticstart(map) local ranges = getMapRanges() if not map[3] then map[3] = 1 end for index, value in ipairs(ranges) do local name = value.internalName:gsub("^.*/", "") if map[1] == name and map[2] == value.state and map[3] == value.count then return value.start end end end function xing(start, offset) local flags = {[true] = 32, [false] = 4} local ti64 = gg.getTargetInfo().x64 local type = flags[ti64] local addr = 0 if start then addr = start + offset[1] for index = 2, #offset do local pointer = gg.getValues({{address = addr, flags = type}}) if not ti64 then pointer[1].value = pointer[1].value & 0xFFFFFFFF end addr = pointer[1].value + offset[index] end end return addr end
ue4=staticstart({"libUE4.so:bss", "Cb", 1})
nmsl=xing(ue4,{0x5A5FF0,0x30,0x440,0x2B50,0x388,0x0})
function tk(kjsm)--头盔
for qckjsm=0x0,0x196,0x38 do
if getvalue(nmsl+0x11c+qckjsm,4)>=501000 and getvalue(nmsl+0x11c+qckjsm,4)<=502116 then
setvalue(nmsl+0x118+qckjsm,4,kjsm)
end
end
end
tk(1502003027)
gg.toast("开启成功")
string.toMusic("美化成功")---语音
end
},
}),
}),--box结尾
changan.box({
"人物混搭",
changan.check({
{
"重置人物",
function()
local t = {"libUE4.so:bss", "Cb"}
local tt = {0x5A5FF0,0x30,0x440,0x2B50,0x388,0xE0}
local ttt = S_Pointer(t, tt, true)
gg.setValues({{address = ttt, flags = 4, value = 40601009}})----头发
local t = {"libUE4.so:bss", "Cb"}
local tt = {0x6C0A70,0x30,0x440,0x2B08,0x388,0x38}
local ttt = S_Pointer(t, tt, true)
gg.setValues({{address = ttt, flags = 4, value = 401993}})----面部
local t = {"libUE4.so:bss", "Cb"}
local tt = {0x5A5FF0,0x30,0x440,0x2B50,0x388,0x70}
local ttt = S_Pointer(t, tt, true)
gg.setValues({{address = ttt, flags = 4, value = 1400129}})----衣服
local t = {"libUE4.so:bss", "Cb"}
local tt = {0x5A5FF0,0x30,0x440,0x2B50,0x388,0x38}
local ttt = S_Pointer(t, tt, true)
gg.setValues({{address = ttt, flags = 4, value = 404000}})----裤子
local t = {"libUE4.so:bss", "Cb"}
local tt = {0x5A5FF0,0x30,0x440,0x2B50,0x388,0xE0}
local ttt = S_Pointer(t, tt, true)
gg.setValues({{address = ttt, flags = 4, value = 405000}})----鞋子
local t = {"libUE4.so:bss", "Cb"}
local tt = {0x5A5FF0,0x30,0x440,0x2B50,0x388,0x0}
local ttt = S_Pointer(t, tt, true)
gg.setValues({{address = ttt, flags = 4, value = 0}})----头饰
local t = {"libUE4.so:bss", "Cb"}
local tt = {0x742A70,0x30,0x440,0x398,0x90,0x388,0x118}
local ttt = S_Pointer(t, tt, true)
gg.setValues({{address = ttt, flags = 4, value = 0}})----眼罩
local t = {"libUE4.so:bss", "Cb"}
local tt = {0x5A5FF0,0x30,0x440,0x2B50,0x388,0x1C0}
local ttt = S_Pointer(t, tt, true)
gg.setValues({{address = ttt, flags = 4, value = 0}})----口罩
string.toMusic('重置成功')---语音
end,
function()
end
},
{
"狂沙舞者套装",
function()
function nacho(a, b)--a是地址,b是类型,c是返回值
local c = gg.getValues({{address = a, flags = b}})[1].value
return c
end
local t = {"libUE4.so:bss", "Cb"}
local tt = {0x5A5FF0,0x30,0x440,0x2B50,0x388,0x70}
local ttt = S_Pointer(t, tt, true)
r={}
r[1] = {}
r[1].address = ttt
r[1].name = "判断"
r[1].flags = 4
gg.addListItems(r)
if nacho(ttt,4)==1400129 then---不穿衣服
local t = {"libUE4.so:bss", "Cb"}
local tt = {0x5A5FF0,0x30,0x440,0x2B50,0x388,0xA8}
local ttt = S_Pointer(t, tt, true)
gg.setValues({{address = ttt, flags = 4, value = 1400127}})----鞋子
local t = {"libUE4.so:bss", "Cb"}
local tt = {0x5A5FF0,0x30,0x440,0x2B50,0x388,0x70}
local ttt = S_Pointer(t, tt, true)
gg.setValues({{address = ttt, flags = 4, value = 1404207}})----衣服
local t = {"libUE4.so:bss", "Cb"}
local tt = {0x5A5FF0,0x30,0x440,0x2B50,0x388,0x38}
local ttt = S_Pointer(t, tt, true)
gg.setValues({{address = ttt, flags = 4, value = 1404160}})----裤子
local t = {"libUE4.so:bss", "Cb"}
local tt = {0x5A5FF0,0x30,0x440,0x2B50,0x388,0xE0}
local ttt = S_Pointer(t, tt, true)
gg.setValues({{address = ttt, flags = 4, value = 40604012}})----头发
-- 获取地址值并返回
else
--穿衣服
local t = {"libUE4.so:bss", "Cb"}
local tt = {0x5A5FF0,0x30,0x440,0x2B50,0x388,0xE0}
local ttt = S_Pointer(t, tt, true)
gg.setValues({{address = ttt, flags = 4, value = 1400127}})----鞋子
local t = {"libUE4.so:bss", "Cb"}
local tt = {0x5A5FF0,0x30,0x440,0x2B50,0x388,0x70}
local ttt = S_Pointer(t, tt, true)
gg.setValues({{address = ttt, flags = 4, value = 1404207}})----衣服
local t = {"libUE4.so:bss", "Cb"}
local tt = {0x5A5FF0,0x30,0x440,0x2B50,0x388,0x38}
local ttt = S_Pointer(t, tt, true)
gg.setValues({{address = ttt, flags = 4, value = 1404160}})----裤子
local t = {"libUE4.so:bss", "Cb"}
local tt = {0x5A5FF0,0x30,0x440,0x2B50,0x388,0xE0}
local ttt = S_Pointer(t, tt, true)
gg.setValues({{address = ttt, flags = 4, value = 40604012}})----头发
local t = {"libUE4.so:bss", "Cb"}
local tt = {0x5A5FF0,0x30,0x440,0x2B50,0x388,0xE0}
local ttt = S_Pointer(t, tt, true)
gg.setValues({{address = ttt, flags = 4, value = 1402218}})----头饰
local t = {"libUE4.so:bss", "Cb"}
local tt = {0x742A70,0x30,0x440,0x398,0x90,0x388,0x118}
local ttt = S_Pointer(t, tt, true)
gg.setValues({{address = ttt, flags = 4, value = 1404198}})----眼罩
local t = {"libUE4.so:bss", "Cb"}
local tt = {0x5A5FF0,0x30,0x440,0x2B50,0x388,0x1C0}
local ttt = S_Pointer(t, tt, true)
gg.setValues({{address = ttt, flags = 4, value = 1400165}})----口罩
end
string.toMusic("美化成功")---语音 ---语音 ---语音
end,
function()
end
}, {
"迷彩鲨鱼",
function()
function nacho(a, b)--a是地址,b是类型,c是返回值
local c = gg.getValues({{address = a, flags = b}})[1].value
return c
end
local t = {"libUE4.so:bss", "Cb"}
local tt = {0x5A5FF0,0x30,0x440,0x2B50,0x388,0x70}
local ttt = S_Pointer(t, tt, true)
r={}
r[1] = {}
r[1].address = ttt
r[1].name = "判断"
r[1].flags = 4
gg.addListItems(r)
if nacho(ttt,4)==1400129 then---不穿衣服
local t = {"libUE4.so:bss", "Cb"}
local tt = {0x5A5FF0,0x30,0x440,0x2B50,0x388,0xA8}
local ttt = S_Pointer(t, tt, true)
gg.setValues({{address = ttt, flags = 4, value = 1404051}})----鞋子
local t = {"libUE4.so:bss", "Cb"}
local tt = {0x5A5FF0,0x30,0x440,0x2B50,0x388,0x70}
local ttt = S_Pointer(t, tt, true)
gg.setValues({{address = ttt, flags = 4, value = 1404049}})----衣服
local t = {"libUE4.so:bss", "Cb"}
local tt = {0x5A5FF0,0x30,0x440,0x2B50,0x388,0x38}
local ttt = S_Pointer(t, tt, true)
gg.setValues({{address = ttt, flags = 4, value = 1404050}})----裤子
else
--穿衣服
local t = {"libUE4.so:bss", "Cb"}
local tt = {0x5A5FF0,0x30,0x440,0x2B50,0x388,0x70}
local ttt = S_Pointer(t, tt, true)
gg.setValues({{address = ttt, flags = 4, value = 1404049}})----衣服
local t = {"libUE4.so:bss", "Cb"}
local tt = {0x5A5FF0,0x30,0x440,0x2B50,0x388,0x38}
local ttt = S_Pointer(t, tt, true)
gg.setValues({{address = ttt, flags = 4, value = 1404050}})----裤子
local t = {"libUE4.so:bss", "Cb"}
local tt = {0x5A5FF0,0x30,0x440,0x2B50,0x388,0xE0}
local ttt = S_Pointer(t, tt, true)
gg.setValues({{address = ttt, flags = 4, value = 1404051}})----鞋子
end
string.toMusic("美化成功")---语音 ---语音 ---语音
end,
function()
end
}, {
"黑色风衣套装",
function()
function nacho(a, b)--a是地址,b是类型,c是返回值
local c = gg.getValues({{address = a, flags = b}})[1].value
return c
end
local t = {"libUE4.so:bss", "Cb"}
local tt = {0x5A5FF0,0x30,0x440,0x2B50,0x388,0x70}
local ttt = S_Pointer(t, tt, true)
r={}
r[1] = {}
r[1].address = ttt
r[1].name = "判断"
r[1].flags = 4
gg.addListItems(r)
if nacho(ttt,4)==1400129 then---不穿衣服
local t = {"libUE4.so:bss", "Cb"}
local tt = {0x5A5FF0,0x30,0x440,0x2B50,0x388,0xA8}
local ttt = S_Pointer(t, tt, true)
gg.setValues({{address = ttt, flags = 4, value = 1400127}})----鞋子
local t = {"libUE4.so:bss", "Cb"}
local tt = {0x5A5FF0,0x30,0x440,0x2B50,0x388,0x70}
local ttt = S_Pointer(t, tt, true)
gg.setValues({{address = ttt, flags = 4, value = 403182}})----衣服
local t = {"libUE4.so:bss", "Cb"}
local tt = {0x5A5FF0,0x30,0x440,0x2B50,0x388,0x38}
local ttt = S_Pointer(t, tt, true)
gg.setValues({{address = ttt, flags = 4, value = 1404002}})----裤子
else
--穿衣服
local t = {"libUE4.so:bss", "Cb"}
local tt = {0x5A5FF0,0x30,0x440,0x2B50,0x388,0x70}
local ttt = S_Pointer(t, tt, true)
gg.setValues({{address = ttt, flags = 4, value = 403182}})----衣服
local t = {"libUE4.so:bss", "Cb"}
local tt = {0x5A5FF0,0x30,0x440,0x2B50,0x388,0x38}
local ttt = S_Pointer(t, tt, true)
gg.setValues({{address = ttt, flags = 4, value = 1404002}})----裤子
local t = {"libUE4.so:bss", "Cb"}
local tt = {0x5A5FF0,0x30,0x440,0x2B50,0x388,0xE0}
local ttt = S_Pointer(t, tt, true)
gg.setValues({{address = ttt, flags = 4, value = 1400127}})----鞋子
end
string.toMusic("美化成功")---语音
end,
function()
end
}, {
"Bape套装",
function()
function nacho(a, b)--a是地址,b是类型,c是返回值
local c = gg.getValues({{address = a, flags = b}})[1].value
return c
end
local t = {"libUE4.so:bss", "Cb"}
local tt = {0x5A5FF0,0x30,0x440,0x2B50,0x388,0x70}
local ttt = S_Pointer(t, tt, true)
r={}
r[1] = {}
r[1].address = ttt
r[1].name = "判断"
r[1].flags = 4
gg.addListItems(r)
if nacho(ttt,4)==1400129 then---不穿衣服
local t = {"libUE4.so:bss", "Cb"}
local tt = {0x5A5FF0,0x30,0x440,0x2B50,0x388,0xA8}
local ttt = S_Pointer(t, tt, true)
gg.setValues({{address = ttt, flags = 4, value = 1400651}})----鞋子
local t = {"libUE4.so:bss", "Cb"}
local tt = {0x5A5FF0,0x30,0x440,0x2B50,0x388,0x70}
local ttt = S_Pointer(t, tt, true)
gg.setValues({{address = ttt, flags = 4, value = 1404000}})----衣服
local t = {"libUE4.so:bss", "Cb"}
local tt = {0x5A5FF0,0x30,0x440,0x2B50,0x388,0x38}
local ttt = S_Pointer(t, tt, true)
gg.setValues({{address = ttt, flags = 4, value = 1400650}})----裤子
local t = {"libUE4.so:bss", "Cb"}
local tt = {0x5A5FF0,0x30,0x440,0x2B50,0x388,0xE0}
local ttt = S_Pointer(t, tt, true)
gg.setValues({{address = ttt, flags = 4, value = 1410085}})----头发
else
--穿衣服
local t = {"libUE4.so:bss", "Cb"}
local tt = {0x5A5FF0,0x30,0x440,0x2B50,0x388,0xE0}
local ttt = S_Pointer(t, tt, true)
gg.setValues({{address = ttt, flags = 4, value = 1410085}})----头发
local t = {"libUE4.so:bss", "Cb"}
local tt = {0x5A5FF0,0x30,0x440,0x2B50,0x388,0x70}
local ttt = S_Pointer(t, tt, true)
gg.setValues({{address = ttt, flags = 4, value = 1404000}})----衣服
local t = {"libUE4.so:bss", "Cb"}
local tt = {0x5A5FF0,0x30,0x440,0x2B50,0x388,0x38}
local ttt = S_Pointer(t, tt, true)
gg.setValues({{address = ttt, flags = 4, value = 1400650}})----裤子
local t = {"libUE4.so:bss", "Cb"}
local tt = {0x5A5FF0,0x30,0x440,0x2B50,0x388,0xA8}
local ttt = S_Pointer(t, tt, true)
gg.setValues({{address = ttt, flags = 4, value = 1400651}})----鞋子
local t = {"libUE4.so:bss", "Cb"}
local tt = {0x742A70,0x30,0x440,0x398,0x90,0x388,0x118}
local ttt = S_Pointer(t, tt, true)
gg.setValues({{address = ttt, flags = 4, value = 1404198}})----眼罩
end
string.toMusic("美化成功")---语音 ---语音 ---语音
end,
function()
end
},
}),
}),--box结尾
changan.box({
"头发专区",
changan.check({
{
"重置头发",
function()
local t = {"libUE4.so:bss", "Cb"}
local tt = {0x5A5FF0,0x30,0x440,0x2B50,0x388,0xE0}
local ttt = S_Pointer(t, tt, true)
gg.setValues({{address = ttt, flags = 4, value = 40601009}})----头发
string.toMusic('重置头发成功')---语音
end,
function()
end
}, {
"新发型2",
function()
local t = {"libUE4.so:bss", "Cb"}
local tt = {0x5A5FF0,0x30,0x440,0x2B50,0x388,0xE0}
local ttt = S_Pointer(t, tt, true)
gg.setValues({{address = ttt, flags = 4, value = 40605011}})----头发
string.toMusic("美化成功")---语音
end,
function()
end
},
{
"双马尾白",
function()
local t = {"libUE4.so:bss", "Cb"}
local tt = {0x5A5FF0,0x30,0x440,0x2B50,0x388,0xE0}
local ttt = S_Pointer(t, tt, true)
gg.setValues({{address = ttt, flags = 4, value = 40604012}})----头发
string.toMusic("美化成功")---语音
end,
function()
end
}, {
"武魂宗师",
function()
local t = {"libUE4.so:bss", "Cb"}
local tt = {0x5A5FF0,0x30,0x440,0x2B50,0x388,0xE0}
local ttt = S_Pointer(t, tt, true)
gg.setValues({{address = ttt, flags = 4, value = 1410299}})----头发
string.toMusic("美化成功")---语音
end,
function()
end
},
}),
}),--box结尾
changan.box({
"头饰专区",
changan.check({
{
"重置头饰",
function()
local t = {"libUE4.so:bss", "Cb"}
local tt = {0x5A5FF0,0x30,0x440,0x2B50,0x388,0x0}
local ttt = S_Pointer(t, tt, true)
gg.setValues({{address = ttt, flags = 4, value = 0}})----头饰
string.toMusic('重置头饰成功')---语音
end,
function()
end
}, {
"恶魔之翼",
function()
local t = {"libUE4.so:bss", "Cb"}
local tt = {0x5A5FF0,0x30,0x440,0x2B50,0x388,0x0}
local ttt = S_Pointer(t, tt, true)
gg.setValues({{address = ttt, flags = 4, value = 1402218}})----头发
string.toMusic("美化成功")---语音
end,
function()
end
}, {
"天使之翼",
function()
local t = {"libUE4.so:bss", "Cb"}
local tt = {0x5A5FF0,0x30,0x440,0x2B50,0x388,0x0}
local ttt = S_Pointer(t, tt, true)
gg.setValues({{address = ttt, flags = 4, value = 1402223}})----头发
string.toMusic("美化成功")---语音
end,
function()
end
}, {
"兔女郎泳衣头饰",
function()
local t = {"libUE4.so:bss", "Cb"}
local tt = {0x5A5FF0,0x30,0x440,0x2B50,0x388,0x0}
local ttt = S_Pointer(t, tt, true)
gg.setValues({{address = ttt, flags = 4, value = 1400328}})----头发
string.toMusic("美化成功")---语音
end,
function()
end
}, {
"俏皮小夜魔发带",
function()
local t = {"libUE4.so:bss", "Cb"}
local tt = {0x5A5FF0,0x30,0x440,0x2B50,0x388,0x0}
local ttt = S_Pointer(t, tt, true)
gg.setValues({{address = ttt, flags = 4, value = 1400594}})----头发
string.toMusic("美化成功")---语音
end,
function()
end
},
}),
}),--box结尾
changan.box({
"眼罩专区",
changan.check({
{
"重置眼罩",
function()
local t = {"libUE4.so:bss", "Cb"}
local tt = {0x742A70,0x30,0x440,0x398,0x90,0x388,0x118}
local ttt = S_Pointer(t, tt, true)
gg.setValues({{address = ttt, flags = 4, value = 0}})----眼罩
string.toMusic('重置眼罩成功')---语音
end,
function()
end
},{
"幻境骇客",
function()
local t = {"libUE4.so:bss", "Cb"}
local tt = {0x742A70,0x30,0x440,0x398,0x90,0x388,0x118}
local ttt = S_Pointer(t, tt, true)
gg.setValues({{address = ttt, flags = 4, value = 1403326}})----头发
string.toMusic("美化成功")---语音
end,
function()
end
}, {
"古堡爵士",
function()
local t = {"libUE4.so:bss", "Cb"}
local tt = {0x742A70,0x30,0x440,0x398,0x90,0x388,0x118}
local ttt = S_Pointer(t, tt, true)
gg.setValues({{address = ttt, flags = 4, value = 1404198}})----头发
string.toMusic("美化成功")---语音
end,
function()
end
}, {
"终结战神",
function()
local t = {"libUE4.so:bss", "Cb"}
local tt = {0x742A70,0x30,0x440,0x398,0x90,0x388,0x118}
local ttt = S_Pointer(t, tt, true)
gg.setValues({{address = ttt, flags = 4, value = 1403201}})----头发
string.toMusic("美化成功")---语音
end,
function()
end
},
}),
}),--box结尾
changan.box({
"口罩专区",
changan.check({
{
"重置口罩",
function()
local t = {"libUE4.so:bss", "Cb"}
local tt = {0x5A5FF0,0x30,0x440,0x2B50,0x388,0x1C0}
local ttt = S_Pointer(t, tt, true)
gg.setValues({{address = ttt, flags = 4, value = 0}})----口罩
string.toMusic('重置口罩成功')---语音
end,
function()
end
},{
"小丑鼻子",
function()
local t = {"libUE4.so:bss", "Cb"}
local tt = {0x5A5FF0,0x30,0x440,0x2B50,0x388,0x1C0}
local ttt = S_Pointer(t, tt, true)
gg.setValues({{address = ttt, flags = 4, value = 1400165}})----头发
string.toMusic("美化成功")---语音
end,
function()
end
}, {
"小丑面具",
function()
local t = {"libUE4.so:bss", "Cb"}
local tt = {0x5A5FF0,0x30,0x440,0x2B50,0x388,0x1C0}
local ttt = S_Pointer(t, tt, true)
gg.setValues({{address = ttt, flags = 4, value = 1400168}})----头发
string.toMusic("美化成功")---语音
end,
function()
end
}, {
"豹皮蒙脸巾",
function()
local t = {"libUE4.so:bss", "Cb"}
local tt = {0x5A5FF0,0x30,0x440,0x2B50,0x388,0x1C0}
local ttt = S_Pointer(t, tt, true)
gg.setValues({{address = ttt, flags = 4, value = 474031}})----头发
string.toMusic("美化成功")---语音
end,
function()
end
},
}),
}),--box结尾
changan.box({
"上衣专区",
changan.check({
{
"重置上衣",
function()
local t = {"libUE4.so:bss", "Cb"}
local tt = {0x5A5FF0,0x30,0x440,0x2B50,0x388,0x70}
local ttt = S_Pointer(t, tt, true)
gg.setValues({{address = ttt, flags = 4, value = 1400129}})----衣服
string.toMusic('重置上衣成功')---语音
end,
function()
end
},{
"骷髅船长",
function()
local t = {"libUE4.so:bss", "Cb"}
local tt = {0x5A5FF0,0x30,0x440,0x2B50,0x388,0x70}
local ttt = S_Pointer(t, tt, true)
gg.setValues({{address = ttt, flags = 4, value = 1404053}})----头发
string.toMusic("美化成功")---语音
end,
function()
end
}, {
"战队服",
function()
local t = {"libUE4.so:bss", "Cb"}
local tt = {0x5A5FF0,0x30,0x440,0x2B50,0x388,0x70}
local ttt = S_Pointer(t, tt, true)
gg.setValues({{address = ttt, flags = 4, value = 1400708}})----头发
string.toMusic("美化成功")---语音
end,
function()
end
}, {
"白色游骑兵连帽夹克",
function()
local t = {"libUE4.so:bss", "Cb"}
local tt = {0x5A5FF0,0x30,0x440,0x2B50,0x388,0x70}
local ttt = S_Pointer(t, tt, true)
gg.setValues({{address = ttt, flags = 4, value = 403183}})----头发
string.toMusic("美化成功")---语音
end,
function()
end
}, {
"暗金舞者上衣",
function()
local t = {"libUE4.so:bss", "Cb"}
local tt = {0x5A5FF0,0x30,0x440,0x2B50,0x388,0x70}
local ttt = S_Pointer(t, tt, true)
gg.setValues({{address = ttt, flags = 4, value = 1404133}})----头发
string.toMusic("美化成功")---语音
end,
function()
end
}, {
"水银刺客大衣",
function()
local t = {"libUE4.so:bss", "Cb"}
local tt = {0x5A5FF0,0x30,0x440,0x2B50,0x388,0x70}
local ttt = S_Pointer(t, tt, true)
gg.setValues({{address = ttt, flags = 4, value = 403190}})----头发
string.toMusic("美化成功")---语音
end,
function()
end
},
}),
}),--box结尾
changan.box({
"裤子专区",
changan.check({
{
"重置裤子",
function()
local t = {"libUE4.so:bss", "Cb"}
local tt = {0x5A5FF0,0x30,0x440,0x2B50,0x388,0x38}
local ttt = S_Pointer(t, tt, true)
gg.setValues({{address = ttt, flags = 4, value = 404000}})----裤子
string.toMusic('重置裤子成功')---语音
end,
function()
end
}, {
"运动裤",
function()
local t = {"libUE4.so:bss", "Cb"}
local tt = {0x5A5FF0,0x30,0x440,0x2B50,0x388,0x38}
local ttt = S_Pointer(t, tt, true)
gg.setValues({{address = ttt, flags = 4, value = 404030}})----头发
string.toMusic("美化成功")---语音
end,
function()
end
}, {
"雪地潮人裤子",
function()
local t = {"libUE4.so:bss", "Cb"}
local tt = {0x5A5FF0,0x30,0x440,0x2B50,0x388,0x38}
local ttt = S_Pointer(t, tt, true)
gg.setValues({{address = ttt, flags = 4, value = 1404155}})----头发
string.toMusic("美化成功")---语音
end,
function()
end
}, {
"甜蜜菠萝裤子",
function()
local t = {"libUE4.so:bss", "Cb"}
local tt = {0x5A5FF0,0x30,0x440,0x2B50,0x388,0x38}
local ttt = S_Pointer(t, tt, true)
gg.setValues({{address = ttt, flags = 4, value = 1404152}})----头发
string.toMusic("美化成功")---语音
end,
function()
end
}, {
"战地飞驰裤子",
function()
local t = {"libUE4.so:bss", "Cb"}
local tt = {0x5A5FF0,0x30,0x440,0x2B50,0x388,0x38}
local ttt = S_Pointer(t, tt, true)
gg.setValues({{address = ttt, flags = 4, value = 1404160}})----头发
string.toMusic("美化成功")---语音
end,
function()
end
},
}),
}),--box结尾
changan.box({
"鞋子专区",
changan.check({
{
"重置鞋子",
function()
local t = {"libUE4.so:bss", "Cb"}
local tt = {0x5A5FF0,0x30,0x440,0x2B50,0x388,0xA8}
local ttt = S_Pointer(t, tt, true)
gg.setValues({{address = ttt, flags = 4, value = 405000}})----鞋子
string.toMusic('重置鞋子成功')---语音
end,
function()
end
}, {
"黑色帆布鞋",
function()
local t = {"libUE4.so:bss", "Cb"}
local tt = {0x5A5FF0,0x30,0x440,0x2B50,0x388,0xA8}
local ttt = S_Pointer(t, tt, true)
gg.setValues({{address = ttt, flags = 4, value = 1400022}})----头发
string.toMusic("美化成功")---语音
end,
function()
end
}, {
"粉色天使凉鞋",
function()
local t = {"libUE4.so:bss", "Cb"}
local tt = {0x5A5FF0,0x30,0x440,0x2B50,0x388,0xA8}
local ttt = S_Pointer(t, tt, true)
gg.setValues({{address = ttt, flags = 4, value = 1400127}})----头发
string.toMusic("美化成功")---语音
end,
function()
end
}, {
"飞鱼凉鞋(黑)",
function()
local t = {"libUE4.so:bss", "Cb"}
local tt = {0x5A5FF0,0x30,0x440,0x2B50,0x388,0xA8}
local ttt = S_Pointer(t, tt, true)
gg.setValues({{address = ttt, flags = 4, value = 1400371}})----头发
string.toMusic("美化成功")---语音
end,
function()
end
},
}),
}),--box结尾
}, {
--第五页
changan.switch("清除冻结",
function()
gg.clearList()
string.toMusic('清理成功')
end,
function()
end),
changan.switch("便利枪械",
function()
local time=os.clock()
local function readD ( a )
return gg.getValues ( { {
address = a ,
flags = 4
} } ) [ 1 ].value
end
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 addListltems(address,flags,value,freeze) t={} t[1]={} t[1].address=address t[1].flags=flags t[1].value=value t[1].freeze=freeze gg.addListItems(t) end
local function RUI(address)
return gg.getValues({{address = address, flags = gg.TYPE_QWORD}})[1].value
end
a=0x0
while(a <=0x1098)
do
a=a+0x10
mk=gg.getRangesList('libUE4.so:bss')[1].start
add = RUI(RUI(RUI(RUI(RUI(mk + 0xC4CF8) + 0x558) + a) + 0x38) + 0x38)--动态DD900
adpd= RUI(RUI(RUI(RUI(RUI(RUI(mk + 0xC4CF8) + 0x558) +a) +0x38) + 0x38) +0x8) +0x18
--libUE4.so:bss+0xC4CF8+0x558+0x20+0x38+0x38+0x1098
print(adpd)
if readD(adpd) == 1000 then
print(adpd)
addListltems(add,4,0,false)
break
add=add
end
end
setvalue(RUI(add + 0x5510) + 0x18, 4, 1101004226)--经典M416
setvalue(RUI(add + 0x69E0) + 0x18, 4, 1010042215)--m4机瞄
setvalue(RUI(add + 0x6F50) + 0x18, 4, 1010042216)--m4枪托
setvalue(RUI(add + 0x84C8) + 0x18, 4, 1010042214)--m4弹夹
setvalue(RUI(add + 0x54C8) + 0x18, 4, 1101001242)--经典AKM
setvalue(RUI(add + 0x54F8) + 0x18, 4, 1101003124)--经典SCAR
setvalue(RUI(add + 0x5528) + 0x18, 4, 1101005025)--经典GROZA
setvalue(RUI(add + 0x5540) + 0x18, 4, 1101006075)--经典AUG
setvalue(RUI(add + 0x55D0) + 0x18, 4, 1101002009)--经典蜜獾
setvalue(RUI(add + 0x5570) + 0x18, 4, 1101008146)--经典M762
setvalue(RUI(add + 0x5618) + 0x18, 4, 1101102017)--经典ACE32
setvalue(RUI(add + 0x5768) + 0x18, 4, 1102002136)--经典UMP45
setvalue(RUI(add + 0x5780) + 0x18, 4, 1102003031)--经典vector
setvalue(RUI(add + 0x5840) + 0x18, 4, 1102102087)--经典M24
setvalue(RUI(add + 0x5828) + 0x18, 4, 1103001179)--经典98K
setvalue(RUI(add + 0x57E0) + 0x18, 4, 1102105012)--经典P90
setvalue(RUI(add + 0x58B8) + 0x18, 4, 1103007028)--经典MK14
setvalue(RUI(add + 0x5870) + 0x18, 4, 1103004058)--经典SKS
setvalue(RUI(add + 0x5858) + 0x18, 4, 1103003087)--经典AWM
setvalue(RUI(add + 0x5A50) + 0x18, 4, 1104003029)--经典S12K
setvalue(RUI(add + 0x58E8) + 0x18, 4, 1103009037)--经典SLR
setvalue(RUI(add + 0x5AE0) + 0x18, 4, 1105002018)--经典DP-28
setvalue(RUI(add + 0x5BA0) + 0x18, 4, 1105010019)--经典MG3
setvalue(RUI(add + 0x5AC8) + 0x18, 4, 1105001020)--经典M249
setvalue(RUI(add + 0x5A68) + 0x18, 4, 1104004012)--经典DBS
setvalue(RUI(add + 0x5930) + 0x18, 4, 1103012010)--经典AMR
setvalue(RUI(add + 0x6278) + 0x18, 4, 1108004160)--平底锅
setvalue(RUI(add + 0x6290) + 0x18, 4, 1108002059)--军用匕首
setvalue(RUI(add + 0x6260) + 0x18, 4, 1108001037)--镰刀
setvalue(RUI(add + 0x6248) + 0x18, 4, 1108002027)--撬棍
setvalue(RUI(add + 0x6230) + 0x18, 4, 1108001037)--大砍刀
-----------------------------------------------------------以下是地铁枪械
setvalue(RUI(add + 0x11E70) + 0x18, 4, 1101004046)--完好
setvalue(RUI(add + 0x11E88) + 0x18, 4, 1101004046)--改进
setvalue(RUI(add + 0x11EA0) + 0x18, 4, 1101004046)--精致
setvalue(RUI(add + 0x11EB8) + 0x18, 4, 1101004046)--独眼蛇
setvalue(RUI(add + 0x11ED0) + 0x18, 4, 1101004046)--钢铁--m416
setvalue(RUI(add + 0x12A58) + 0x18, 4, 1102102087)--完好
setvalue(RUI(add + 0x12A70) + 0x18, 4, 1102102087)--改进
setvalue(RUI(add + 0x12A88) + 0x18, 4, 1102102087)--精致
setvalue(RUI(add + 0x12AA0) + 0x18, 4, 1102102089)--独眼蛇
setvalue(RUI(add + 0x12AB8) + 0x18, 4, 1102102087)--钢铁--m24
setvalue(RUI(add + 0x129C8) + 0x18, 4, 1103001179)--完好
setvalue(RUI(add + 0x129E0) + 0x18, 4, 1103001179)--改进
setvalue(RUI(add + 0x129F8) + 0x18, 4, 1103001179)--精致--98k
setvalue(RUI(add + 0x128C0) + 0x18, 4, 1102105001)--完好
setvalue(RUI(add + 0x128D8) + 0x18, 4, 1102105001)--改进
setvalue(RUI(add + 0x128F0) + 0x18, 4, 1102105001)--精致
setvalue(RUI(add + 0x12908) + 0x18, 4, 1102105001)--独眼蛇
setvalue(RUI(add + 0x12920) + 0x18, 4, 1102105001)--钢铁--p90
setvalue(RUI(add + 0x12668) + 0x18, 4, 1102003031)--完好
setvalue(RUI(add + 0x12680) + 0x18, 4, 1102003031)--改进
setvalue(RUI(add + 0x12698) + 0x18, 4, 1102003031)--精致
setvalue(RUI(add + 0x126B0) + 0x18, 4, 1102003031)--独眼蛇
setvalue(RUI(add + 0x126C8) + 0x18, 4, 1102003031)--钢铁--Vector
setvalue(RUI(add + 0x125D8) + 0x18, 4, 1102002136)--完好
setvalue(RUI(add + 0x125F0) + 0x18, 4, 1102002136)--改进
setvalue(RUI(add + 0x12608) + 0x18, 4, 1102002136)--精致--UMP45
setvalue(RUI(add + 0x12470) + 0x18, 4, 1101102007)--完好
setvalue(RUI(add + 0x12488) + 0x18, 4, 1101102007)--改进
setvalue(RUI(add + 0x124A0) + 0x18, 4, 1101102007)--精致
setvalue(RUI(add + 0x124B8) + 0x18, 4, 1101102007)--独眼蛇
setvalue(RUI(add + 0x124D0) + 0x18, 4, 1101102007)--钢铁--ACE32
setvalue(RUI(add + 0x12320) + 0x18, 4, 1101012009)--完好
setvalue(RUI(add + 0x12338) + 0x18, 4, 1101012009)--改进
setvalue(RUI(add + 0x12350) + 0x18, 4, 1101012009)--精致
setvalue(RUI(add + 0x12368) + 0x18, 4, 1101012009)--独眼蛇
setvalue(RUI(add + 0x12380) + 0x18, 4, 1101012009)--钢铁--蜜獾
setvalue(RUI(add + 0x12140) + 0x18, 4, 1101008116)--完好
setvalue(RUI(add + 0x12158) + 0x18, 4, 1101008116)--改进
setvalue(RUI(add + 0x12170) + 0x18, 4, 1101008116)--精致
setvalue(RUI(add + 0x12188) + 0x18, 4, 1101008116)--独眼蛇
setvalue(RUI(add + 0x121A0) + 0x18, 4, 1101008116)--钢铁--M762
setvalue(RUI(add + 0x11F30) + 0x18, 4, 1101005038)--完好
setvalue(RUI(add + 0x11F48) + 0x18, 4, 1101005038)--改进
setvalue(RUI(add + 0x11F60) + 0x18, 4, 1101005038)--精致
setvalue(RUI(add + 0x11F78) + 0x18, 4, 1101005038)--独眼蛇
setvalue(RUI(add + 0x11F90) + 0x18, 4, 1101005038)--钢铁--Groza
setvalue(RUI(add + 0x11DB0) + 0x18, 4, 1101003124)--完好
setvalue(RUI(add + 0x11DC8) + 0x18, 4, 1101003124)--改进
setvalue(RUI(add + 0x11DE0) + 0x18, 4, 1101003124)--精致
setvalue(RUI(add + 0x11DF8) + 0x18, 4, 1101003124)--独眼蛇
setvalue(RUI(add + 0x11E10) + 0x18, 4, 1101003124)--钢铁--SCAR-L
setvalue(RUI(add + 0x11C78) + 0x18, 4, 1101001213)--完好
setvalue(RUI(add + 0x11C90) + 0x18, 4, 1101001213)--改进
setvalue(RUI(add + 0x11CA8) + 0x18, 4, 1101001213)--精致
setvalue(RUI(add + 0x11CC0) + 0x18, 4, 1101001213)--独眼蛇
setvalue(RUI(add + 0x11CD8) + 0x18, 4, 1101001213)--钢铁--akm
setvalue(RUI(add + 0x12D88) + 0x18, 4, 1103007028)--完好
setvalue(RUI(add + 0x12DA0) + 0x18, 4, 1103007028)--改进
setvalue(RUI(add + 0x12DB8) + 0x18, 4, 1103007028)--精致
setvalue(RUI(add + 0x12DD0) + 0x18, 4, 1103007028)--独眼蛇
setvalue(RUI(add + 0x12DE8) + 0x18, 4, 1103007028)--钢铁--mk14
setvalue(RUI(add + 0x13610) + 0x18, 4, 1105010019)--完好
setvalue(RUI(add + 0x13628) + 0x18, 4, 1105010019)--改进
setvalue(RUI(add + 0x13640) + 0x18, 4, 1105010019)--精致
setvalue(RUI(add + 0x13658) + 0x18, 4, 1105010019)--独眼蛇
setvalue(RUI(add + 0x13670) + 0x18, 4, 1105010019)--钢铁--mg3
-----------------------------------------------------------以下是配件
setvalue(RUI(add + 0x6E30) + 0x18, 4, 1010042235)--快速弹匣
setvalue(RUI(add + 0x6E48) + 0x18, 4, 1010042236)--快速扩容
setvalue(RUI(add + 0x6E18) + 0x18, 4, 1010042234)--扩容弹匣
setvalue(RUI(add + 0x67B8) + 0x18, 4, 1010042239)--消音器
setvalue(RUI(add + 0x67A0) + 0x18, 4, 1010042238)--消焰器
setvalue(RUI(add + 0x6788) + 0x18, 4, 1010042237)--枪口补偿器
setvalue(RUI(add + 0x6878) + 0x18, 4, 1010042243)--垂直握把
setvalue(RUI(add + 0x6860) + 0x18, 4, 1010042241)--直角握把
setvalue(RUI(add + 0x68A8) + 0x18, 4, 1010042245)--轻型握把
setvalue(RUI(add + 0x68D8) + 0x18, 4, 1010042242)--拇指握把
setvalue(RUI(add + 0x68F0) + 0x18, 4, 1010042247)--激光握把
setvalue(RUI(add + 0x68C0) + 0x18, 4, 1010042246)--半截式握把
setvalue(RUI(add + 0x6F08) + 0x18, 4, 1010042244)--战术枪托
--弹夹
setvalue(RUI(add + 0x94670) + 0x18, 4, 1010042236)--快速扩容完好
setvalue(RUI(add + 0x94688) + 0x18, 4, 1010042236)--快速扩容改进
setvalue(RUI(add + 0x946A0) + 0x18, 4, 1010042236)--快速扩容精致
--枪口
setvalue(RUI(add + 0x937E8) + 0x18, 4, 1010042237)--枪口补偿器完好
setvalue(RUI(add + 0x93800) + 0x18, 4, 1010042237)--枪口补偿器改进
setvalue(RUI(add + 0x93818) + 0x18, 4, 1010042237)--枪口补偿器精致
--消音
setvalue(RUI(add + 0x938D8) + 0x18, 4, 1010042239)--消音器完好
setvalue(RUI(add + 0x938F0) + 0x18, 4, 1010042239)--消音器改进
setvalue(RUI(add + 0x93908) + 0x18, 4, 1010042239)--消音器精致
--握把
setvalue(RUI(add + 0x93BA8) + 0x18, 4, 1010042243)--垂直握把完好
setvalue(RUI(add + 0x93BC0) + 0x18, 4, 1010042243)--垂直握把改进
setvalue(RUI(add + 0x93BD8) + 0x18, 4, 1010042243)--垂直握把精致
--枪托
setvalue(RUI(add + 0x94940) + 0x18, 4, 1010042244)--战术枪托完好
setvalue(RUI(add + 0x94958) + 0x18, 4, 1010042244)--战术枪托改进
setvalue(RUI(add + 0x94970) + 0x18, 4, 1010042244)--战术枪托精致
gg.alert("遍历成功共耗时" .. time .. "秒")
end),
changan.box({
"m416(手持)",
changan.check({
{
"冰霜核心",
function()
local t = {"libUE4.so:bss", "Cb"}
local tt = {0x5A5FF0,0x30,0x440,0x2810,0x9D0,0x11C}
local ttt = S_Pointer(t, tt, true)
gg.setValues({{address = ttt, flags = 4, value = 1101004046}})----衣服链条
gg.toast("开启成功")
string.toMusic("美化成功")---语音
end,
function()
local t = {"libUE4.so:bss", "Cb"}
local tt = {0x5A5FF0,0x30,0x440,0x2810,0x9D0,0x11C}
local ttt = S_Pointer(t, tt, true)
gg.setValues({{address = ttt, flags = 4, value = 1101004046}})----衣服链条
gg.toast("开启成功")
string.toMusic("美化成功")---语音
end
}, {
"愚人小丑",
function()
local t = {"libUE4.so:bss", "Cb"}
local tt = {0x5A5FF0,0x30,0x440,0x2810,0x9D0,0x11C}
local ttt = S_Pointer(t, tt, true)
gg.setValues({{address = ttt, flags = 4, value = 1101004062}})----衣服链条
gg.toast("开启成功")
string.toMusic("美化成功")---语音
end,
function()
local t = {"libUE4.so:bss", "Cb"}
local tt = {0x5A5FF0,0x30,0x440,0x2810,0x9D0,0x11C}
local ttt = S_Pointer(t, tt, true)
gg.setValues({{address = ttt, flags = 4, value = 1101004062}})----衣服链条
gg.toast("开启成功")
string.toMusic("美化成功")---语音
end
}, {
"庇护之潮",
function()
local t = {"libUE4.so:bss", "Cb"}
local tt = {0x5A5FF0,0x30,0x440,0x2810,0x9D0,0x11C}
local ttt = S_Pointer(t, tt, true)
gg.setValues({{address = ttt, flags = 4, value = 1101004208}})----衣服链条
gg.toast("开启成功")
string.toMusic("美化成功")---语音
end,
function()
local t = {"libUE4.so:bss", "Cb"}
local tt = {0x5A5FF0,0x30,0x440,0x2810,0x9D0,0x11C}
local ttt = S_Pointer(t, tt, true)
gg.setValues({{address = ttt, flags = 4, value = 1101004208}})----衣服链条
gg.toast("开启成功")
string.toMusic("美化成功")---语音
end
}, {
"封印幽冥",
function()
local t = {"libUE4.so:bss", "Cb"}
local tt = {0x5A5FF0,0x30,0x440,0x2810,0x9D0,0x11C}
local ttt = S_Pointer(t, tt, true)
gg.setValues({{address = ttt, flags = 4, value = 1101004225}})----衣服链条
gg.toast("开启成功")
string.toMusic("美化成功")---语音
end,
function()
local t = {"libUE4.so:bss", "Cb"}
local tt = {0x5A5FF0,0x30,0x440,0x2810,0x9D0,0x11C}
local ttt = S_Pointer(t, tt, true)
gg.setValues({{address = ttt, flags = 4, value = 1101004225}})----衣服链条
gg.toast("开启成功")
string.toMusic("美化成功")---语音
end
}, {
"虎啸丹青",
function()
local t = {"libUE4.so:bss", "Cb"}
local tt = {0x5A5FF0,0x30,0x440,0x2810,0x9D0,0x11C}
local ttt = S_Pointer(t, tt, true)
gg.setValues({{address = ttt, flags = 4, value = 1101004236}})----衣服链条
gg.toast("开启成功")
string.toMusic("美化成功")---语音
end,
function()
local t = {"libUE4.so:bss", "Cb"}
local tt = {0x5A5FF0,0x30,0x440,0x2810,0x9D0,0x11C}
local ttt = S_Pointer(t, tt, true)
gg.setValues({{address = ttt, flags = 4, value = 1101004236}})----衣服链条
gg.toast("开启成功")
string.toMusic("美化成功")---语音
end
},
}),
}),--box结尾
changan.box({
"AKM(手持)",
changan.check({
{
"未来科技",
function()
local t = {"libUE4.so:bss", "Cb"}
local tt = {0x5A5FF0,0x30,0x440,0x2810,0x9D0,0x11C}
local ttt = S_Pointer(t, tt, true)
gg.setValues({{address = ttt, flags = 4, value = 1101001242}})----衣服链条
gg.toast("开启成功")
string.toMusic("美化成功")---语音
end,
function()
local t = {"libUE4.so:bss", "Cb"}
local tt = {0x5A5FF0,0x30,0x440,0x2810,0x9D0,0x11C}
local ttt = S_Pointer(t, tt, true)
gg.setValues({{address = ttt, flags = 4, value = 1101001242}})----衣服链条
gg.toast("开启成功")
string.toMusic("美化成功")---语音
end
},
}),
}),--box结尾
changan.box({
"死噶(手持)",
changan.check({
{
"愚者之拥",
function()
local t = {"libUE4.so:bss", "Cb"}
local tt = {0x5A5FF0,0x30,0x440,0x2810,0x9D0,0x11C}
local ttt = S_Pointer(t, tt, true)
gg.setValues({{address = ttt, flags = 4, value = 1101003181}})----衣服链条
gg.toast("开启成功")
string.toMusic("美化成功")---语音
end,
function()
local t = {"libUE4.so:bss", "Cb"}
local tt = {0x5A5FF0,0x30,0x440,0x2810,0x9D0,0x11C}
local ttt = S_Pointer(t, tt, true)
gg.setValues({{address = ttt, flags = 4, value = 1101003181}})----衣服链条
gg.toast("开启成功")
string.toMusic("美化成功")---语音
end
}, {
"霓虹天后",
function()
local t = {"libUE4.so:bss", "Cb"}
local tt = {0x5A5FF0,0x30,0x440,0x2810,0x9D0,0x11C}
local ttt = S_Pointer(t, tt, true)
gg.setValues({{address = ttt, flags = 4, value = 1101003195}})----衣服链条
gg.toast("开启成功")
string.toMusic("美化成功")---语音
end,
function()
local t = {"libUE4.so:bss", "Cb"}
local tt = {0x5A5FF0,0x30,0x440,0x2810,0x9D0,0x11C}
local ttt = S_Pointer(t, tt, true)
gg.setValues({{address = ttt, flags = 4, value = 1101003195}})----衣服链条
gg.toast("开启成功")
string.toMusic("美化成功")---语音
end
},
}),
}),--box结尾
changan.box({
"狗杂(手持)",
changan.check({
{
"两面宿傩",
function()
local t = {"libUE4.so:bss", "Cb"}
local tt = {0x5A5FF0,0x30,0x440,0x2810,0x9D0,0x11C}
local ttt = S_Pointer(t, tt, true)
gg.setValues({{address = ttt, flags = 4, value = 1101005038}})----衣服链条
gg.toast("开启成功")
string.toMusic("美化成功")---语音
end,
function()
local t = {"libUE4.so:bss", "Cb"}
local tt = {0x5A5FF0,0x30,0x440,0x2810,0x9D0,0x11C}
local ttt = S_Pointer(t, tt, true)
gg.setValues({{address = ttt, flags = 4, value = 1101005038}})----衣服链条
gg.toast("开启成功")
string.toMusic("美化成功")---语音
end
},
}),
}),--box结尾
changan.box({
"M762(手持)",
changan.check({
{
"龙女魔后",
function()
local t = {"libUE4.so:bss", "Cb"}
local tt = {0x5A5FF0,0x30,0x440,0x2810,0x9D0,0x11C}
local ttt = S_Pointer(t, tt, true)
gg.setValues({{address = ttt, flags = 4, value = 1101008126}})----衣服链条
gg.toast("开启成功")
string.toMusic("美化成功")---语音
end,
function()
local t = {"libUE4.so:bss", "Cb"}
local tt = {0x5A5FF0,0x30,0x440,0x2810,0x9D0,0x11C}
local ttt = S_Pointer(t, tt, true)
gg.setValues({{address = ttt, flags = 4, value = 1101008126}})----衣服链条
gg.toast("开启成功")
string.toMusic("美化成功")---语音
end
},
}),
}),--box结尾
changan.box({
"妹控(手持)",
changan.check({
{
"龙吟国度",
function()
local t = {"libUE4.so:bss", "Cb"}
local tt = {0x5A5FF0,0x30,0x440,0x2810,0x9D0,0x11C}
local ttt = S_Pointer(t, tt, true)
gg.setValues({{address = ttt, flags = 4, value = 1103007027}})----衣服链条
gg.toast("开启成功")
string.toMusic("美化成功")---语音
end,
function()
local t = {"libUE4.so:bss", "Cb"}
local tt = {0x5A5FF0,0x30,0x440,0x2810,0x9D0,0x11C}
local ttt = S_Pointer(t, tt, true)
gg.setValues({{address = ttt, flags = 4, value = 1103007027}})----衣服链条
gg.toast("开启成功")
string.toMusic("美化成功")---语音
end
}, {
"凌霄凤鸣",
function()
local t = {"libUE4.so:bss", "Cb"}
local tt = {0x5A5FF0,0x30,0x440,0x2810,0x9D0,0x11C}
local ttt = S_Pointer(t, tt, true)
gg.setValues({{address = ttt, flags = 4, value = 1103007029}})----衣服链条
gg.toast("开启成功")
string.toMusic("美化成功")---语音
end,
function()
local t = {"libUE4.so:bss", "Cb"}
local tt = {0x5A5FF0,0x30,0x440,0x2810,0x9D0,0x11C}
local ttt = S_Pointer(t, tt, true)
gg.setValues({{address = ttt, flags = 4, value = 1103007029}})----衣服链条
gg.toast("开启成功")
string.toMusic("美化成功")---语音
end
},
}),
}),--box结尾
changan.box({
"UMP45(手持)",
changan.check({
{
"eva联名",
function()
local t = {"libUE4.so:bss", "Cb"}
local tt = {0x5A5FF0,0x30,0x440,0x2810,0x9D0,0x11C}
local ttt = S_Pointer(t, tt, true)
gg.setValues({{address = ttt, flags = 4, value = 1102002124}})----衣服链条
gg.toast("开启成功")
string.toMusic("美化成功")---语音
end,
function()
local t = {"libUE4.so:bss", "Cb"}
local tt = {0x5A5FF0,0x30,0x440,0x2810,0x9D0,0x11C}
local ttt = S_Pointer(t, tt, true)
gg.setValues({{address = ttt, flags = 4, value = 1102002124}})----衣服链条
gg.toast("开启成功")
string.toMusic("美化成功")---语音
end
},
}),
}),--box结尾
changan.box({
"MG3(手持)",
changan.check({
{
"暗黑萝娘",
function()
local t = {"libUE4.so:bss", "Cb"}
local tt = {0x5A5FF0,0x30,0x440,0x2810,0x9D0,0x11C}
local ttt = S_Pointer(t, tt, true)
gg.setValues({{address = ttt, flags = 4, value = 1105010012}})----衣服链条
gg.toast("开启成功")
string.toMusic("美化成功")---语音
end,
function()
local t = {"libUE4.so:bss", "Cb"}
local tt = {0x5A5FF0,0x30,0x440,0x2810,0x9D0,0x11C}
local ttt = S_Pointer(t, tt, true)
gg.setValues({{address = ttt, flags = 4, value = 1105010012}})----衣服链条
gg.toast("开启成功")
string.toMusic("美化成功")---语音
end
}, {
"风鸣神戟",
function()
local t = {"libUE4.so:bss", "Cb"}
local tt = {0x5A5FF0,0x30,0x440,0x2810,0x9D0,0x11C}
local ttt = S_Pointer(t, tt, true)
gg.setValues({{address = ttt, flags = 4, value = 1105010019}})----衣服链条
gg.toast("开启成功")
string.toMusic("美化成功")---语音
end,
function()
local t = {"libUE4.so:bss", "Cb"}
local tt = {0x5A5FF0,0x30,0x440,0x2810,0x9D0,0x11C}
local ttt = S_Pointer(t, tt, true)
gg.setValues({{address = ttt, flags = 4, value = 1105010019}})----衣服链条
gg.toast("开启成功")
string.toMusic("美化成功")---语音
end
},
}),
}),--box结尾
changan.box({
"AWM(手持)",
changan.check({
{
"玲珑白蛇",
function()
local t = {"libUE4.so:bss", "Cb"}
local tt = {0x5A5FF0,0x30,0x440,0x2810,0x9D0,0x11C}
local ttt = S_Pointer(t, tt, true)
gg.setValues({{address = ttt, flags = 4, value = 1103003087}})----衣服链条
gg.toast("开启成功")
string.toMusic("美化成功")---语音
end,
function()
local t = {"libUE4.so:bss", "Cb"}
local tt = {0x5A5FF0,0x30,0x440,0x2810,0x9D0,0x11C}
local ttt = S_Pointer(t, tt, true)
gg.setValues({{address = ttt, flags = 4, value = 1103003087}})----衣服链条
gg.toast("开启成功")
string.toMusic("美化成功")---语音
end
}, {
"致命炎凤",
function()
local t = {"libUE4.so:bss", "Cb"}
local tt = {0x5A5FF0,0x30,0x440,0x2810,0x9D0,0x11C}
local ttt = S_Pointer(t, tt, true)
gg.setValues({{address = ttt, flags = 4, value = 1103003062}})----衣服链条
gg.toast("开启成功")
string.toMusic("美化成功")---语音
end,
function()
local t = {"libUE4.so:bss", "Cb"}
local tt = {0x5A5FF0,0x30,0x440,0x2810,0x9D0,0x11C}
local ttt = S_Pointer(t, tt, true)
gg.setValues({{address = ttt, flags = 4, value = 1103003062}})----衣服链条
gg.toast("开启成功")
string.toMusic("美化成功")---语音
end
},
}),
}),--box结尾
changan.box({
"AMR(手持)",
changan.check({
{
"嗜血龙魇",
function()
local t = {"libUE4.so:bss", "Cb"}
local tt = {0x5A5FF0,0x30,0x440,0x2810,0x9D0,0x11C}
local ttt = S_Pointer(t, tt, true)
gg.setValues({{address = ttt, flags = 4, value = 1103012009}})----衣服链条
gg.toast("开启成功")
string.toMusic("美化成功")---语音
end,
function()
local t = {"libUE4.so:bss", "Cb"}
local tt = {0x5A5FF0,0x30,0x440,0x2810,0x9D0,0x11C}
local ttt = S_Pointer(t, tt, true)
gg.setValues({{address = ttt, flags = 4, value = 1103012009}})----衣服链条
gg.toast("开启成功")
string.toMusic("美化成功")---语音
end
}, {
"烈焰圣枪",
function()
local t = {"libUE4.so:bss", "Cb"}
local tt = {0x5A5FF0,0x30,0x440,0x2810,0x9D0,0x11C}
local ttt = S_Pointer(t, tt, true)
gg.setValues({{address = ttt, flags = 4, value = 1103012019}})----衣服链条
gg.toast("开启成功")
string.toMusic("美化成功")---语音
end,
function()
local t = {"libUE4.so:bss", "Cb"}
local tt = {0x5A5FF0,0x30,0x440,0x2810,0x9D0,0x11C}
local ttt = S_Pointer(t, tt, true)
gg.setValues({{address = ttt, flags = 4, value = 1103012019}})----衣服链条
gg.toast("开启成功")
string.toMusic("美化成功")---语音
end
},
}),
}),--box结尾
changan.box({
"维克托(手持)",
changan.check({
{
"掠空之翼",
function()
local t = {"libUE4.so:bss", "Cb"}
local tt = {0x5A5FF0,0x30,0x440,0x2810,0x9D0,0x11C}
local ttt = S_Pointer(t, tt, true)
gg.setValues({{address = ttt, flags = 4, value = 1102003080}})----衣服链条
gg.toast("开启成功")
string.toMusic("美化成功")---语音
end,
function()
local t = {"libUE4.so:bss", "Cb"}
local tt = {0x5A5FF0,0x30,0x440,0x2810,0x9D0,0x11C}
local ttt = S_Pointer(t, tt, true)
gg.setValues({{address = ttt, flags = 4, value = 1102003080}})----衣服链条
gg.toast("开启成功")
string.toMusic("美化成功")---语音
end
},
}),
}),--box结尾
changan.box({
"ace(手持)",
changan.check({
{
"终极对撞",
function()
local t = {"libUE4.so:bss", "Cb"}
local tt = {0x5A5FF0,0x30,0x440,0x2810,0x9D0,0x11C}
local ttt = S_Pointer(t, tt, true)
gg.setValues({{address = ttt, flags = 4, value = 1101102007}})----衣服链条
gg.toast("开启成功")
string.toMusic("美化成功")---语音
end,
function()
local t = {"libUE4.so:bss", "Cb"}
local tt = {0x5A5FF0,0x30,0x440,0x2810,0x9D0,0x11C}
local ttt = S_Pointer(t, tt, true)
gg.setValues({{address = ttt, flags = 4, value = 1101102007}})----衣服链条
gg.toast("开启成功")
string.toMusic("美化成功")---语音
end
}, {
"神庭冰棘",
function()
local t = {"libUE4.so:bss", "Cb"}
local tt = {0x5A5FF0,0x30,0x440,0x2810,0x9D0,0x11C}
local ttt = S_Pointer(t, tt, true)
gg.setValues({{address = ttt, flags = 4, value = 1101102017}})----衣服链条
gg.toast("开启成功")
string.toMusic("美化成功")---语音
end,
function()
local t = {"libUE4.so:bss", "Cb"}
local tt = {0x5A5FF0,0x30,0x440,0x2810,0x9D0,0x11C}
local ttt = S_Pointer(t, tt, true)
gg.setValues({{address = ttt, flags = 4, value = 1101102017}})----衣服链条
gg.toast("开启成功")
string.toMusic("美化成功")---语音
end
},
}),
}),--box结尾
changan.box({
"快捷枪械播报",
changan.check({
{
"决胜之日播报",
function()
gg.setConfig("冻结间隔", 0)
gg.setConfig("快速冻结", 1)
local t = {"libUE4.so:bss", "Cb"}
local tt = {0x5A5FF0,0x30,0x440,0x90,0x1768}
local ttt = S_Pointer(t, tt, true)
gg.addListItems({{address = ttt, flags = 4, value = 1101001242, freeze = true}})
string.toMusic("美化成功")---语音 ---语音
end,
function()
end,
},{
"破军狂鸣播报",
function()
gg.setConfig("冻结间隔", 0)
gg.setConfig("快速冻结", 1)
local t = {"libUE4.so:bss", "Cb"}
local tt = {0x5A5FF0,0x30,0x440,0x90,0x1768}
local ttt = S_Pointer(t, tt, true)
gg.addListItems({{address = ttt, flags = 4, value = 1101006075, freeze = true}})
string.toMusic("美化成功")---语音 ---语音
end,
function()
end,
},
{
"龙呤国度播报",
function()
gg.setConfig("冻结间隔", 0)
gg.setConfig("快速冻结", 1)
local t = {"libUE4.so:bss", "Cb"}
local tt = {0x5A5FF0,0x30,0x440,0x90,0x1768}
local ttt = S_Pointer(t, tt, true)
gg.addListItems({{address = ttt, flags = 4, value = 1103007028, freeze = true}})
string.toMusic("美化成功")---语音 ---语音
end,
function()
end,
},
{
"冰霜核心播报",
function()
gg.setConfig("冻结间隔", 0)
gg.setConfig("快速冻结", 1)
local t = {"libUE4.so:bss", "Cb"}
local tt = {0x5A5FF0,0x30,0x440,0x90,0x1768}
local ttt = S_Pointer(t, tt, true)
gg.addListItems({{address = ttt, flags = 4, value = 1101004046, freeze = true}})
string.toMusic("美化成功")---语音 ---语音
end,
function()
end,
},
{
"庇护之朝播报",
function()
gg.setConfig("冻结间隔", 0)
gg.setConfig("快速冻结", 1)
local t = {"libUE4.so:bss", "Cb"}
local tt = {0x5A5FF0,0x30,0x440,0x90,0x1768}
local ttt = S_Pointer(t, tt, true)
gg.addListItems({{address = ttt, flags = 4, value = 1101004209, freeze = true}})
string.toMusic("美化成功")---语音 ---语音
end,
function()
end,
},
{
"机魂忍神播报",
function()
gg.setConfig("冻结间隔", 0)
gg.setConfig("快速冻结", 1)
local t = {"libUE4.so:bss", "Cb"}
local tt = {0x5A5FF0,0x30,0x440,0x90,0x1768}
local ttt = S_Pointer(t, tt, true)
gg.addListItems({{address = ttt, flags = 4, value = 1101004218, freeze = true}})
string.toMusic("美化成功")---语音 ---语音
end,
function()
end,
},
{
"冰川之触播报",
function()
gg.setConfig("冻结间隔", 0)
gg.setConfig("快速冻结", 1)
local t = {"libUE4.so:bss", "Cb"}
local tt = {0x5A5FF0,0x30,0x440,0x90,0x1768}
local ttt = S_Pointer(t, tt, true)
gg.addListItems({{address = ttt, flags = 4, value = 1103006030, freeze = true}})
string.toMusic("美化成功")---语音 ---语音
end,
function()
end,
},
{
"禁区幻想播报",
function()
gg.setConfig("冻结间隔", 0)
gg.setConfig("快速冻结", 1)
local t = {"libUE4.so:bss", "Cb"}
local tt = {0x5A5FF0,0x30,0x440,0x90,0x1768}
local ttt = S_Pointer(t, tt, true)
gg.addListItems({{address = ttt, flags = 4, value = 1102002061, freeze = true}})
string.toMusic("美化成功")---语音 ---语音
end,
function()
end,
},
{
"龙焰之怒播报",
function()
gg.setConfig("冻结间隔", 0)
gg.setConfig("快速冻结", 1)
local t = {"libUE4.so:bss", "Cb"}
local tt = {0x5A5FF0,0x30,0x440,0x90,0x1768}
local ttt = S_Pointer(t, tt, true)
gg.addListItems({{address = ttt, flags = 4, value = 1102002043, freeze = true}})
string.toMusic("美化成功")---语音 ---语音
end,
function()
end,
},
{
"紫戮电极播报",
function()
gg.setConfig("冻结间隔", 0)
gg.setConfig("快速冻结", 1)
local t = {"libUE4.so:bss", "Cb"}
local tt = {0x5A5FF0,0x30,0x440,0x90,0x1768}
local ttt = S_Pointer(t, tt, true)
gg.addListItems({{address = ttt, flags = 4, value = 1103001179, freeze = true}})
string.toMusic("美化成功")---语音 ---语音
end,
function()
end,
},
{
"黄金权杖播报",
function()
gg.setConfig("冻结间隔", 0)
gg.setConfig("快速冻结", 1)
local t = {"libUE4.so:bss", "Cb"}
local tt = {0x5A5FF0,0x30,0x440,0x90,0x1768}
local ttt = S_Pointer(t, tt, true)
gg.addListItems({{address = ttt, flags = 4, value = 1103002030, freeze = true}})
string.toMusic("美化成功")---语音 ---语音
end,
function()
end,
},
{
"水晶冰刺播报",
function()
gg.setConfig("冻结间隔", 0)
gg.setConfig("快速冻结", 1)
local t = {"libUE4.so:bss", "Cb"}
local tt = {0x5A5FF0,0x30,0x440,0x90,0x1768}
local ttt = S_Pointer(t, tt, true)
gg.addListItems({{address = ttt, flags = 4, value = 1102002136, freeze = true}})
string.toMusic("美化成功")---语音 ---语音
end,
function()
end,
},
{
"瑰绮灵姬播报",
function()
gg.setConfig("冻结间隔", 0)
gg.setConfig("快速冻结", 1)
local t = {"libUE4.so:bss", "Cb"}
local tt = {0x5A5FF0,0x30,0x440,0x90,0x1768}
local ttt = S_Pointer(t, tt, true)
gg.addListItems({{address = ttt, flags = 4, value = 1101007046, freeze = true}})
string.toMusic("美化成功")---语音 ---语音
end,
function()
end,
},
}),
}),--box结尾
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 addListltems(address,flags,value,freeze)
t={}
t[1]={}
t[1].address=address
t[1].flags=flags
t[1].value=value
t[1].freeze=true
gg.addListItems(t)
end
function RUI(address)
return gg.getValues({
{
["address"] = address,
flags = 32
}
})[1]["value"]
end
function readD(address)
return gg.getValues({
{
["address"] = address,
flags = 4
}
})[1]["value"]
end
function readF(address)
return gg.getValues({
{
["address"] = address,
flags = 16
}
})[1]["value"]
end
-- 其余代码保持不变,0x261A8++++0x58+0x10
ue=gg.getRangesList("libUE4.so:bss", "Cb")[1].start
local addr = RUI(RUI(RUI(RUI(RUI( ue + 0x26598) + 0x1F0) + 0x110) + 0x200) + 0x58) + 0x14
setvalue(addr,16,8)
setvalue(addr+0x4,16,0.2)
setvalue(addr+0x8,16,8)
gg.toast("开启成功")
string.toMusic("美化成功")---语音
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 addListltems(address,flags,value,freeze)
t={}
t[1]={}
t[1].address=address
t[1].flags=flags
t[1].value=value
t[1].freeze=true
gg.addListItems(t)
end
function RUI(address)
return gg.getValues({
{
["address"] = address,
flags = 32
}
})[1]["value"]
end
function readD(address)
return gg.getValues({
{
["address"] = address,
flags = 4
}
})[1]["value"]
end
function readF(address)
return gg.getValues({
{
["address"] = address,
flags = 16
}
})[1]["value"]
end
-- 其余代码保持不变,0x261A8++++0x58+0x10
ue=gg.getRangesList("libUE4.so:bss", "Cb")[1].start
local addr = RUI(RUI(RUI(RUI(RUI( ue + 0x26598) + 0x1F0) + 0x110) + 0x200) + 0x58) + 0x14
setvalue(addr,16,8)
setvalue(addr+0x4,16,0.2)
setvalue(addr+0x8,16,8)
gg.toast("开启成功")
string.toMusic("美化成功")---语音
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 addListltems(address,flags,value,freeze)
t={}
t[1]={}
t[1].address=address
t[1].flags=flags
t[1].value=value
t[1].freeze=true
gg.addListItems(t)
end
function RUI(address)
return gg.getValues({
{
["address"] = address,
flags = 32
}
})[1]["value"]
end
function readD(address)
return gg.getValues({
{
["address"] = address,
flags = 4
}
})[1]["value"]
end
function readF(address)
return gg.getValues({
{
["address"] = address,
flags = 16
}
})[1]["value"]
end
-- 其余代码保持不变,0x261A8++++0x58+0x10
ue=gg.getRangesList("libUE4.so:bss", "Cb")[1].start
local addr = RUI(RUI(RUI(RUI(RUI( ue + 0x26598) + 0x1F0) + 0x110) + 0x200) + 0x58) + 0x14
setvalue(addr,16,0.1)
setvalue(addr+0x4,16,0.8)
setvalue(addr+0x8,16,1)
gg.toast("开启成功")
string.toMusic("美化成功")---语音
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 addListltems(address,flags,value,freeze)
t={}
t[1]={}
t[1].address=address
t[1].flags=flags
t[1].value=value
t[1].freeze=true
gg.addListItems(t)
end
function RUI(address)
return gg.getValues({
{
["address"] = address,
flags = 32
}
})[1]["value"]
end
function readD(address)
return gg.getValues({
{
["address"] = address,
flags = 4
}
})[1]["value"]
end
function readF(address)
return gg.getValues({
{
["address"] = address,
flags = 16
}
})[1]["value"]
end
-- 其余代码保持不变,0x261A8++++0x58+0x10
ue=gg.getRangesList("libUE4.so:bss", "Cb")[1].start
local addr = RUI(RUI(RUI(RUI(RUI( ue + 0x26598) + 0x1F0) + 0x110) + 0x200) + 0x58) + 0x14
setvalue(addr,16,0.1)
setvalue(addr+0x4,16,0.8)
setvalue(addr+0x8,16,1)
gg.toast("开启成功")
string.toMusic("美化成功")---语音
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 addListltems(address,flags,value,freeze)
t={}
t[1]={}
t[1].address=address
t[1].flags=flags
t[1].value=value
t[1].freeze=true
gg.addListItems(t)
end
function RUI(address)
return gg.getValues({
{
["address"] = address,
flags = 32
}
})[1]["value"]
end
function readD(address)
return gg.getValues({
{
["address"] = address,
flags = 4
}
})[1]["value"]
end
function readF(address)
return gg.getValues({
{
["address"] = address,
flags = 16
}
})[1]["value"]
end
-- 其余代码保持不变,0x261A8++++0x58+0x10
ue=gg.getRangesList("libUE4.so:bss", "Cb")[1].start
local addr = RUI(RUI(RUI(RUI(RUI( ue + 0x26598) + 0x1F0) + 0x110) + 0x200) + 0x58) + 0x14
setvalue(addr,16,0.1)
setvalue(addr+0x4,16,0.2)
setvalue(addr+0x8,16,2)
gg.toast("开启成功")
string.toMusic("美化成功")---语音
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 addListltems(address,flags,value,freeze)
t={}
t[1]={}
t[1].address=address
t[1].flags=flags
t[1].value=value
t[1].freeze=true
gg.addListItems(t)
end
function RUI(address)
return gg.getValues({
{
["address"] = address,
flags = 32
}
})[1]["value"]
end
function readD(address)
return gg.getValues({
{
["address"] = address,
flags = 4
}
})[1]["value"]
end
function readF(address)
return gg.getValues({
{
["address"] = address,
flags = 16
}
})[1]["value"]
end
-- 其余代码保持不变,0x261A8++++0x58+0x10
ue=gg.getRangesList("libUE4.so:bss", "Cb")[1].start
local addr = RUI(RUI(RUI(RUI(RUI( ue + 0x26598) + 0x1F0) + 0x110) + 0x200) + 0x58) + 0x14
setvalue(addr,16,0.1)
setvalue(addr+0x4,16,0.2)
setvalue(addr+0x8,16,2)
gg.toast("开启成功")
string.toMusic("美化成功")---语音
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 addListltems(address,flags,value,freeze)
t={}
t[1]={}
t[1].address=address
t[1].flags=flags
t[1].value=value
t[1].freeze=true
gg.addListItems(t)
end
function RUI(address)
return gg.getValues({
{
["address"] = address,
flags = 32
}
})[1]["value"]
end
function readD(address)
return gg.getValues({
{
["address"] = address,
flags = 4
}
})[1]["value"]
end
function readF(address)
return gg.getValues({
{
["address"] = address,
flags = 16
}
})[1]["value"]
end
-- 其余代码保持不变,0x261A8++++0x58+0x10
ue=gg.getRangesList("libUE4.so:bss", "Cb")[1].start
local addr = RUI(RUI(RUI(RUI(RUI( ue + 0x26598) + 0x1F0) + 0x110) + 0x200) + 0x58) + 0x14
setvalue(addr,16,0.1)
setvalue(addr+0x4,16,0.1)
setvalue(addr+0x8,16,0.81)
gg.toast("开启成功")
string.toMusic("美化成功")---语音
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 addListltems(address,flags,value,freeze)
t={}
t[1]={}
t[1].address=address
t[1].flags=flags
t[1].value=value
t[1].freeze=true
gg.addListItems(t)
end
function RUI(address)
return gg.getValues({
{
["address"] = address,
flags = 32
}
})[1]["value"]
end
function readD(address)
return gg.getValues({
{
["address"] = address,
flags = 4
}
})[1]["value"]
end
function readF(address)
return gg.getValues({
{
["address"] = address,
flags = 16
}
})[1]["value"]
end
-- 其余代码保持不变,0x261A8++++0x58+0x10
ue=gg.getRangesList("libUE4.so:bss", "Cb")[1].start
local addr = RUI(RUI(RUI(RUI(RUI( ue + 0x26598) + 0x1F0) + 0x110) + 0x200) + 0x58) + 0x14
setvalue(addr,16,0.1)
setvalue(addr+0x4,16,0.1)
setvalue(addr+0x8,16,0.81)
gg.toast("开启成功")
string.toMusic("美化成功")---语音
end
},
}),
}),--box结尾
changan.box({
"快捷倍镜美化",
changan.check({
{
"冰霜核心",
function()
local t = {"libUE4.so:bss", "Cb"}
local tt = {0xC4CF8,0x558,0x20,0x38,0x38,0x6938,0x18}
local ttt = S_Pointer(t, tt, true)
gg.setValues({{address = ttt, flags = 4, value = 1010040470}})----红点链条
local t = {"libUE4.so:bss", "Cb"}
local tt = {0xC0D98,0x558,0x20,0x38,0x38,0x5F60,0x18}
local ttt = S_Pointer(t, tt, true)
gg.setValues({{address = ttt, flags = 4, value = 1010040469}})----全息链条
local t = {"libUE4.so:bss", "Cb"}
local tt = {0xC4CF8,0x558,0x20,0x38,0x38,0x6968,0x18}
local ttt = S_Pointer(t, tt, true)
gg.setValues({{address = ttt, flags = 4, value = 1010040468}})----2倍链条
local t = {"libUE4.so:bss", "Cb"}
local tt = {0xC4CF8,0x558,0x20,0x38,0x38,0x6A70,0x18}
local ttt = S_Pointer(t, tt, true)
gg.setValues({{address = ttt, flags = 4, value = 1010040467}})----3倍链条
local t = {"libUE4.so:bss", "Cb"}
local tt = {0xC4CF8,0x558,0x20,0x38,0x38,0x6980,0x18}
local ttt = S_Pointer(t, tt, true)
gg.setValues({{address = ttt, flags = 4, value = 1010040466}})----4倍链条
local t = {"libUE4.so:bss", "Cb"}
local tt = {0xC4CF8,0x558,0x20,0x38,0x38,0x6A88,0x18}
local ttt = S_Pointer(t, tt, true)
gg.setValues({{address = ttt, flags = 4, value = 1010040481}})----6倍链条
gg.toast("开启成功")
string.toMusic("美化成功")---语音
end,
function()
local t = {"libUE4.so:bss", "Cb"}
local tt = {0xC4CF8,0x558,0x20,0x38,0x38,0x6938,0x18}
local ttt = S_Pointer(t, tt, true)
gg.setValues({{address = ttt, flags = 4, value = 1010040470}})----红点链条
local t = {"libUE4.so:bss", "Cb"}
local tt = {0xC0D98,0x558,0x20,0x38,0x38,0x5F60,0x18}
local ttt = S_Pointer(t, tt, true)
gg.setValues({{address = ttt, flags = 4, value = 1010040469}})----全息链条
local t = {"libUE4.so:bss", "Cb"}
local tt = {0xC4CF8,0x558,0x20,0x38,0x38,0x6968,0x18}
local ttt = S_Pointer(t, tt, true)
gg.setValues({{address = ttt, flags = 4, value = 1010040468}})----2倍链条
local t = {"libUE4.so:bss", "Cb"}
local tt = {0xC4CF8,0x558,0x20,0x38,0x38,0x6A70,0x18}
local ttt = S_Pointer(t, tt, true)
gg.setValues({{address = ttt, flags = 4, value = 1010040467}})----3倍链条
local t = {"libUE4.so:bss", "Cb"}
local tt = {0xC4CF8,0x558,0x20,0x38,0x38,0x6980,0x18}
local ttt = S_Pointer(t, tt, true)
gg.setValues({{address = ttt, flags = 4, value = 1010040466}})----4倍链条
local t = {"libUE4.so:bss", "Cb"}
local tt = {0xC4CF8,0x558,0x20,0x38,0x38,0x6A88,0x18}
local ttt = S_Pointer(t, tt, true)
gg.setValues({{address = ttt, flags = 4, value = 1010040481}})----6倍链条
gg.toast("开启成功")
string.toMusic("美化成功")---语音
end
}, {
"机魂忍者",
function()
local t = {"libUE4.so:bss", "Cb"}
local tt = {0xC4CF8,0x558,0x20,0x38,0x38,0x6938,0x18}
local ttt = S_Pointer(t, tt, true)
gg.setValues({{address = ttt, flags = 4, value = 1010042119}})----红点链条
local t = {"libUE4.so:bss", "Cb"}
local tt = {0xC0D98,0x558,0x20,0x38,0x38,0x5F60,0x18}
local ttt = S_Pointer(t, tt, true)
gg.setValues({{address = ttt, flags = 4, value = 1010042118}})----全息链条
local t = {"libUE4.so:bss", "Cb"}
local tt = {0xC4CF8,0x558,0x20,0x38,0x38,0x6968,0x18}
local ttt = S_Pointer(t, tt, true)
gg.setValues({{address = ttt, flags = 4, value = 1010042117}})----2倍链条
local t = {"libUE4.so:bss", "Cb"}
local tt = {0xC4CF8,0x558,0x20,0x38,0x38,0x6A70,0x18}
local ttt = S_Pointer(t, tt, true)
gg.setValues({{address = ttt, flags = 4, value = 1010042116}})----3倍链条
local t = {"libUE4.so:bss", "Cb"}
local tt = {0xC4CF8,0x558,0x20,0x38,0x38,0x6980,0x18}
local ttt = S_Pointer(t, tt, true)
gg.setValues({{address = ttt, flags = 4, value = 1010042115}})----4倍链条
local t = {"libUE4.so:bss", "Cb"}
local tt = {0xC4CF8,0x558,0x20,0x38,0x38,0x6A88,0x18}
local ttt = S_Pointer(t, tt, true)
gg.setValues({{address = ttt, flags = 4, value = 1010042114}})----6倍链条
gg.toast("开启成功")
string.toMusic("美化成功")---语音
end,
function()
local t = {"libUE4.so:bss", "Cb"}
local tt = {0xC4CF8,0x558,0x20,0x38,0x38,0x6938,0x18}
local ttt = S_Pointer(t, tt, true)
gg.setValues({{address = ttt, flags = 4, value = 1010042119}})----红点链条
local t = {"libUE4.so:bss", "Cb"}
local tt = {0xC0D98,0x558,0x20,0x38,0x38,0x5F60,0x18}
local ttt = S_Pointer(t, tt, true)
gg.setValues({{address = ttt, flags = 4, value = 1010042118}})----全息链条
local t = {"libUE4.so:bss", "Cb"}
local tt = {0xC4CF8,0x558,0x20,0x38,0x38,0x6968,0x18}
local ttt = S_Pointer(t, tt, true)
gg.setValues({{address = ttt, flags = 4, value = 1010042117}})----2倍链条
local t = {"libUE4.so:bss", "Cb"}
local tt = {0xC4CF8,0x558,0x20,0x38,0x38,0x6A70,0x18}
local ttt = S_Pointer(t, tt, true)
gg.setValues({{address = ttt, flags = 4, value = 1010042116}})----3倍链条
local t = {"libUE4.so:bss", "Cb"}
local tt = {0xC4CF8,0x558,0x20,0x38,0x38,0x6980,0x18}
local ttt = S_Pointer(t, tt, true)
gg.setValues({{address = ttt, flags = 4, value = 1010042115}})----4倍链条
local t = {"libUE4.so:bss", "Cb"}
local tt = {0xC4CF8,0x558,0x20,0x38,0x38,0x6A88,0x18}
local ttt = S_Pointer(t, tt, true)
gg.setValues({{address = ttt, flags = 4, value = 1010042114}})----6倍链条
gg.toast("开启成功")
string.toMusic("美化成功")---语音
end
}, {
"幽冥封印",
function()
local t = {"libUE4.so:bss", "Cb"}
local tt = {0xC4CF8,0x558,0x20,0x38,0x38,0x6938,0x18}
local ttt = S_Pointer(t, tt, true)
gg.setValues({{address = ttt, flags = 4, value = 1010042233}})----红点链条
local t = {"libUE4.so:bss", "Cb"}
local tt = {0xC0D98,0x558,0x20,0x38,0x38,0x5F60,0x18}
local ttt = S_Pointer(t, tt, true)
gg.setValues({{address = ttt, flags = 4, value = 1010042232}})----全息链条
local t = {"libUE4.so:bss", "Cb"}
local tt = {0xC4CF8,0x558,0x20,0x38,0x38,0x6968,0x18}
local ttt = S_Pointer(t, tt, true)
gg.setValues({{address = ttt, flags = 4, value = 1010042231}})----2倍链条
local t = {"libUE4.so:bss", "Cb"}
local tt = {0xC4CF8,0x558,0x20,0x38,0x38,0x6A70,0x18}
local ttt = S_Pointer(t, tt, true)
gg.setValues({{address = ttt, flags = 4, value = 1010042219}})----3倍链条
local t = {"libUE4.so:bss", "Cb"}
local tt = {0xC4CF8,0x558,0x20,0x38,0x38,0x6980,0x18}
local ttt = S_Pointer(t, tt, true)
gg.setValues({{address = ttt, flags = 4, value = 1010042218}})----4倍链条
local t = {"libUE4.so:bss", "Cb"}
local tt = {0xC4CF8,0x558,0x20,0x38,0x38,0x6A88,0x18}
local ttt = S_Pointer(t, tt, true)
gg.setValues({{address = ttt, flags = 4, value = 1010042217}})----6倍链条
gg.toast("开启成功")
string.toMusic("美化成功")---语音
end,
function()
local t = {"libUE4.so:bss", "Cb"}
local tt = {0xC4CF8,0x558,0x20,0x38,0x38,0x6938,0x18}
local ttt = S_Pointer(t, tt, true)
gg.setValues({{address = ttt, flags = 4, value = 1010042233}})----红点链条
local t = {"libUE4.so:bss", "Cb"}
local tt = {0xC0D98,0x558,0x20,0x38,0x38,0x5F60,0x18}
local ttt = S_Pointer(t, tt, true)
gg.setValues({{address = ttt, flags = 4, value = 1010042232}})----全息链条
local t = {"libUE4.so:bss", "Cb"}
local tt = {0xC4CF8,0x558,0x20,0x38,0x38,0x6968,0x18}
local ttt = S_Pointer(t, tt, true)
gg.setValues({{address = ttt, flags = 4, value = 1010042231}})----2倍链条
local t = {"libUE4.so:bss", "Cb"}
local tt = {0xC4CF8,0x558,0x20,0x38,0x38,0x6A70,0x18}
local ttt = S_Pointer(t, tt, true)
gg.setValues({{address = ttt, flags = 4, value = 1010042219}})----3倍链条
local t = {"libUE4.so:bss", "Cb"}
local tt = {0xC4CF8,0x558,0x20,0x38,0x38,0x6980,0x18}
local ttt = S_Pointer(t, tt, true)
gg.setValues({{address = ttt, flags = 4, value = 1010042218}})----4倍链条
local t = {"libUE4.so:bss", "Cb"}
local tt = {0xC4CF8,0x558,0x20,0x38,0x38,0x6A88,0x18}
local ttt = S_Pointer(t, tt, true)
gg.setValues({{address = ttt, flags = 4, value = 1010042217}})----6倍链条
gg.toast("开启成功")
string.toMusic("美化成功")---语音
end
}, {
"龙吟国度",
function()
local t = {"libUE4.so:bss", "Cb"}
local tt = {0xC4CF8,0x558,0x20,0x38,0x38,0x6938,0x18}
local ttt = S_Pointer(t, tt, true)
gg.setValues({{address = ttt, flags = 4, value = 1030070218}})----红点链条
local t = {"libUE4.so:bss", "Cb"}
local tt = {0xC0D98,0x558,0x20,0x38,0x38,0x5F60,0x18}
local ttt = S_Pointer(t, tt, true)
gg.setValues({{address = ttt, flags = 4, value = 1030070217}})----全息链条
local t = {"libUE4.so:bss", "Cb"}
local tt = {0xC4CF8,0x558,0x20,0x38,0x38,0x6968,0x18}
local ttt = S_Pointer(t, tt, true)
gg.setValues({{address = ttt, flags = 4, value = 1030070216}})----2倍链条
local t = {"libUE4.so:bss", "Cb"}
local tt = {0xC4CF8,0x558,0x20,0x38,0x38,0x6A70,0x18}
local ttt = S_Pointer(t, tt, true)
gg.setValues({{address = ttt, flags = 4, value = 1030070215}})----3倍链条
local t = {"libUE4.so:bss", "Cb"}
local tt = {0xC4CF8,0x558,0x20,0x38,0x38,0x6980,0x18}
local ttt = S_Pointer(t, tt, true)
gg.setValues({{address = ttt, flags = 4, value = 1030070214}})----4倍链条
local t = {"libUE4.so:bss", "Cb"}
local tt = {0xC4CF8,0x558,0x20,0x38,0x38,0x6A88,0x18}
local ttt = S_Pointer(t, tt, true)
gg.setValues({{address = ttt, flags = 4, value = 1030070213}})----6倍链条
local t = {"libUE4.so:bss", "Cb"}
local tt = {0xC4CF8,0x558,0x20,0x38,0x38,0x6998,0x18}
local ttt = S_Pointer(t, tt, true)
gg.setValues({{address = ttt, flags = 4, value = 1030070212}})----8倍链条
gg.toast("开启成功")
string.toMusic("美化成功")---语音
end,
function()
local t = {"libUE4.so:bss", "Cb"}
local tt = {0xC4CF8,0x558,0x20,0x38,0x38,0x6938,0x18}
local ttt = S_Pointer(t, tt, true)
gg.setValues({{address = ttt, flags = 4, value = 1030070218}})----红点链条
local t = {"libUE4.so:bss", "Cb"}
local tt = {0xC0D98,0x558,0x20,0x38,0x38,0x5F60,0x18}
local ttt = S_Pointer(t, tt, true)
gg.setValues({{address = ttt, flags = 4, value = 1030070217}})----全息链条
local t = {"libUE4.so:bss", "Cb"}
local tt = {0xC4CF8,0x558,0x20,0x38,0x38,0x6968,0x18}
local ttt = S_Pointer(t, tt, true)
gg.setValues({{address = ttt, flags = 4, value = 1030070216}})----2倍链条
local t = {"libUE4.so:bss", "Cb"}
local tt = {0xC4CF8,0x558,0x20,0x38,0x38,0x6A70,0x18}
local ttt = S_Pointer(t, tt, true)
gg.setValues({{address = ttt, flags = 4, value = 1030070215}})----3倍链条
local t = {"libUE4.so:bss", "Cb"}
local tt = {0xC4CF8,0x558,0x20,0x38,0x38,0x6980,0x18}
local ttt = S_Pointer(t, tt, true)
gg.setValues({{address = ttt, flags = 4, value = 1030070214}})----4倍链条
local t = {"libUE4.so:bss", "Cb"}
local tt = {0xC4CF8,0x558,0x20,0x38,0x38,0x6A88,0x18}
local ttt = S_Pointer(t, tt, true)
gg.setValues({{address = ttt, flags = 4, value = 1030070213}})----6倍链条
local t = {"libUE4.so:bss", "Cb"}
local tt = {0xC4CF8,0x558,0x20,0x38,0x38,0x6998,0x18}
local ttt = S_Pointer(t, tt, true)
gg.setValues({{address = ttt, flags = 4, value = 1030070212}})----8倍链条
gg.toast("开启成功")
string.toMusic("美化成功")---语音
end
}, {
"玲珑白蛇",
function()
local t = {"libUE4.so:bss", "Cb"}
local tt = {0xC4CF8,0x558,0x20,0x38,0x38,0x6938,0x18}
local ttt = S_Pointer(t, tt, true)
gg.setValues({{address = ttt, flags = 4, value = 1030030818}})----红点链条
local t = {"libUE4.so:bss", "Cb"}
local tt = {0xC0D98,0x558,0x20,0x38,0x38,0x5F60,0x18}
local ttt = S_Pointer(t, tt, true)
gg.setValues({{address = ttt, flags = 4, value = 1030030817}})----全息链条
local t = {"libUE4.so:bss", "Cb"}
local tt = {0xC4CF8,0x558,0x20,0x38,0x38,0x6968,0x18}
local ttt = S_Pointer(t, tt, true)
gg.setValues({{address = ttt, flags = 4, value = 1030030816}})----2倍链条
local t = {"libUE4.so:bss", "Cb"}
local tt = {0xC4CF8,0x558,0x20,0x38,0x38,0x6A70,0x18}
local ttt = S_Pointer(t, tt, true)
gg.setValues({{address = ttt, flags = 4, value = 1030030815}})----3倍链条
local t = {"libUE4.so:bss", "Cb"}
local tt = {0xC4CF8,0x558,0x20,0x38,0x38,0x6980,0x18}
local ttt = S_Pointer(t, tt, true)
gg.setValues({{address = ttt, flags = 4, value = 1030030814}})----4倍链条
local t = {"libUE4.so:bss", "Cb"}
local tt = {0xC4CF8,0x558,0x20,0x38,0x38,0x6A88,0x18}
local ttt = S_Pointer(t, tt, true)
gg.setValues({{address = ttt, flags = 4, value = 1030030813}})----6倍链条
local t = {"libUE4.so:bss", "Cb"}
local tt = {0xC4CF8,0x558,0x20,0x38,0x38,0x6998,0x18}
local ttt = S_Pointer(t, tt, true)
gg.setValues({{address = ttt, flags = 4, value = 1030030812}})----8倍链条
gg.toast("开启成功")
string.toMusic("美化成功")---语音
end,
function()
local t = {"libUE4.so:bss", "Cb"}
local tt = {0xC4CF8,0x558,0x20,0x38,0x38,0x6938,0x18}
local ttt = S_Pointer(t, tt, true)
gg.setValues({{address = ttt, flags = 4, value = 1030030818}})----红点链条
local t = {"libUE4.so:bss", "Cb"}
local tt = {0xC0D98,0x558,0x20,0x38,0x38,0x5F60,0x18}
local ttt = S_Pointer(t, tt, true)
gg.setValues({{address = ttt, flags = 4, value = 1030030817}})----全息链条
local t = {"libUE4.so:bss", "Cb"}
local tt = {0xC4CF8,0x558,0x20,0x38,0x38,0x6968,0x18}
local ttt = S_Pointer(t, tt, true)
gg.setValues({{address = ttt, flags = 4, value = 1030030816}})----2倍链条
local t = {"libUE4.so:bss", "Cb"}
local tt = {0xC4CF8,0x558,0x20,0x38,0x38,0x6A70,0x18}
local ttt = S_Pointer(t, tt, true)
gg.setValues({{address = ttt, flags = 4, value = 1030030815}})----3倍链条
local t = {"libUE4.so:bss", "Cb"}
local tt = {0xC4CF8,0x558,0x20,0x38,0x38,0x6980,0x18}
local ttt = S_Pointer(t, tt, true)
gg.setValues({{address = ttt, flags = 4, value = 1030030814}})----4倍链条
local t = {"libUE4.so:bss", "Cb"}
local tt = {0xC4CF8,0x558,0x20,0x38,0x38,0x6A88,0x18}
local ttt = S_Pointer(t, tt, true)
gg.setValues({{address = ttt, flags = 4, value = 1030030813}})----6倍链条
local t = {"libUE4.so:bss", "Cb"}
local tt = {0xC4CF8,0x558,0x20,0x38,0x38,0x6998,0x18}
local ttt = S_Pointer(t, tt, true)
gg.setValues({{address = ttt, flags = 4, value = 1030030812}})----8倍链条
gg.toast("开启成功")
string.toMusic("美化成功")---语音
end
},
}),
}),--box结尾
changan.box({
"快捷配件美化(经典)",
changan.check({
{
"冰霜",
function()
local t = {"libUE4.so:bss", "Cb"}
local tt = {0xC5A40,0x558,0x20,0x38,0x38,0x6C98,0x18}
local ttt = S_Pointer(t, tt, true)
gg.addListItems({{address = ttt, flags = 4, value = 1010040480, freeze = true}})--默认枪托
local t = {"libUE4.so:bss", "Cb"}
local tt = {0xC5A40,0x558,0x20,0x38,0x38,0x6C50,0x18}
local ttt = S_Pointer(t, tt, true)
gg.addListItems({{address = ttt, flags = 4, value = 1010040463, freeze = true}})--战术枪托
local t = {"libUE4.so:bss", "Cb"}
local tt = {0xC5A40,0x558,0x20,0x38,0x38,0x6B78,0x18}
local ttt = S_Pointer(t, tt, true)
gg.addListItems({{address = ttt, flags = 4, value = 1010040472, freeze = true}})--快速弹夹
local t = {"libUE4.so:bss", "Cb"}
local tt = {0xC5A40,0x558,0x20,0x38,0x38,0x8198,0x18}
local ttt = S_Pointer(t, tt, true)
gg.addListItems({{address = ttt, flags = 4, value = 1010040473, freeze = true}})--默认弹夹
local t = {"libUE4.so:bss", "Cb"}
local tt = {0xC5A40,0x558,0x20,0x38,0x38,0x6B60,0x18}
local ttt = S_Pointer(t, tt, true)
gg.addListItems({{address = ttt, flags = 4, value = 1010040471, freeze = true}})--扩容弹夹
local t = {"libUE4.so:bss", "Cb"}
local tt = {0xC5A40,0x558,0x20,0x38,0x38,0x6B90,0x18}
local ttt = S_Pointer(t, tt, true)
gg.addListItems({{address = ttt, flags = 4, value = 1010040473, freeze = true}})--快速扩容弹夹
local t = {"libUE4.so:bss", "Cb"}
local tt = {0xC5A40,0x558,0x20,0x38,0x38,0x64E8,0x18}
local ttt = S_Pointer(t, tt, true)
gg.addListItems({{address = ttt, flags = 4, value = 1010040474, freeze = true}})--消焰器
local t = {"libUE4.so:bss", "Cb"}
local tt = {0xC5A40,0x558,0x20,0x38,0x38,0x6500,0x18}
local ttt = S_Pointer(t, tt, true)
gg.addListItems({{address = ttt, flags = 4, value = 1010040476, freeze = true}})--消音器
local t = {"libUE4.so:bss", "Cb"}
local tt = {0xC5A40,0x558,0x20,0x38,0x38,0x64D0,0x18}
local ttt = S_Pointer(t, tt, true)
gg.addListItems({{address = ttt, flags = 4, value = 1010040475, freeze = true}})--枪口补偿器
local t = {"libUE4.so:bss", "Cb"}
local tt = {0xC5A40,0x558,0x20,0x38,0x38,0x65C0,0x18}
local ttt = S_Pointer(t, tt, true)
gg.addListItems({{address = ttt, flags = 4, value = 1010040479, freeze = true}})--垂直握把
local t = {"libUE4.so:bss", "Cb"}
local tt = {0xC5A40,0x558,0x20,0x38,0x38,0x6638,0x18}
local ttt = S_Pointer(t, tt, true)
gg.addListItems({{address = ttt, flags = 4, value = 1010040484, freeze = true}})--激光
local t = {"libUE4.so:bss", "Cb"}
local tt = {0xC5A40,0x558,0x20,0x38,0x38,0x6728,0x18}
local ttt = S_Pointer(t, tt, true)
gg.addListItems({{address = ttt, flags = 4, value = 1010040461, freeze = true}})--鸡苗
gg.toast("开启成功")
string.toMusic("美化成功")---语音
end,
function()
local t = {"libUE4.so:bss", "Cb"}
local tt = {0xC5A40,0x558,0x20,0x38,0x38,0x6C98,0x18}
local ttt = S_Pointer(t, tt, true)
gg.addListItems({{address = ttt, flags = 4, value = 1010040480, freeze = true}})--默认枪托
local t = {"libUE4.so:bss", "Cb"}
local tt = {0xC5A40,0x558,0x20,0x38,0x38,0x6C50,0x18}
local ttt = S_Pointer(t, tt, true)
gg.addListItems({{address = ttt, flags = 4, value = 1010040463, freeze = true}})--战术枪托
local t = {"libUE4.so:bss", "Cb"}
local tt = {0xC5A40,0x558,0x20,0x38,0x38,0x6B78,0x18}
local ttt = S_Pointer(t, tt, true)
gg.addListItems({{address = ttt, flags = 4, value = 1010040472, freeze = true}})--快速弹夹
local t = {"libUE4.so:bss", "Cb"}
local tt = {0xC5A40,0x558,0x20,0x38,0x38,0x8198,0x18}
local ttt = S_Pointer(t, tt, true)
gg.addListItems({{address = ttt, flags = 4, value = 1010040473, freeze = true}})--默认弹夹
local t = {"libUE4.so:bss", "Cb"}
local tt = {0xC5A40,0x558,0x20,0x38,0x38,0x6B60,0x18}
local ttt = S_Pointer(t, tt, true)
gg.addListItems({{address = ttt, flags = 4, value = 1010040471, freeze = true}})--扩容弹夹
local t = {"libUE4.so:bss", "Cb"}
local tt = {0xC5A40,0x558,0x20,0x38,0x38,0x6B90,0x18}
local ttt = S_Pointer(t, tt, true)
gg.addListItems({{address = ttt, flags = 4, value = 1010040473, freeze = true}})--快速扩容弹夹
local t = {"libUE4.so:bss", "Cb"}
local tt = {0xC5A40,0x558,0x20,0x38,0x38,0x64E8,0x18}
local ttt = S_Pointer(t, tt, true)
gg.addListItems({{address = ttt, flags = 4, value = 1010040474, freeze = true}})--消焰器
local t = {"libUE4.so:bss", "Cb"}
local tt = {0xC5A40,0x558,0x20,0x38,0x38,0x6500,0x18}
local ttt = S_Pointer(t, tt, true)
gg.addListItems({{address = ttt, flags = 4, value = 1010040476, freeze = true}})--消音器
local t = {"libUE4.so:bss", "Cb"}
local tt = {0xC5A40,0x558,0x20,0x38,0x38,0x64D0,0x18}
local ttt = S_Pointer(t, tt, true)
gg.addListItems({{address = ttt, flags = 4, value = 1010040475, freeze = true}})--枪口补偿器
local t = {"libUE4.so:bss", "Cb"}
local tt = {0xC5A40,0x558,0x20,0x38,0x38,0x65C0,0x18}
local ttt = S_Pointer(t, tt, true)
gg.addListItems({{address = ttt, flags = 4, value = 1010040479, freeze = true}})--垂直握把
local t = {"libUE4.so:bss", "Cb"}
local tt = {0xC5A40,0x558,0x20,0x38,0x38,0x6638,0x18}
local ttt = S_Pointer(t, tt, true)
gg.addListItems({{address = ttt, flags = 4, value = 1010040484, freeze = true}})--激光
local t = {"libUE4.so:bss", "Cb"}
local tt = {0xC5A40,0x558,0x20,0x38,0x38,0x6728,0x18}
local ttt = S_Pointer(t, tt, true)
gg.addListItems({{address = ttt, flags = 4, value = 1010040461, freeze = true}})--鸡苗
gg.toast("开启成功")
string.toMusic("美化成功")---语音
end
}, {
"幽冥封印",
function()
local t = {"libUE4.so:bss", "Cb"}
local tt = {0x5A5FF0,0x30,0x440,0x2810,0x9D0,0x7C }
local ttt = S_Pointer(t, tt, true)
gg.addListItems({{address = ttt, flags = 4, value = 1010042244, freeze = true}})--枪脱
local t = {"libUE4.so:bss", "Cb"}
local tt = {0x5A5FF0,0x30,0x440,0x2810,0x9D0,0x54 }
local ttt = S_Pointer(t, tt, true)
gg.addListItems({{address = ttt, flags = 4, value = 1010042236, freeze = true}})--弹夹
local t = {"libUE4.so:bss", "Cb"}
local tt = {0x5A5FF0,0x30,0x440,0x2810,0x9D0,0x04 }
local ttt = S_Pointer(t, tt, true)
gg.addListItems({{address = ttt, flags = 4, value = 1010042237, freeze = true}})--枪口
local t = {"libUE4.so:bss", "Cb"}
local tt = {0x5A5FF0,0x30,0x440,0x2810,0x9D0,0x2C}
local ttt = S_Pointer(t, tt, true)
gg.addListItems({{address = ttt, flags = 4, value = 1010042243, freeze = true}})--握把
gg.toast("开启成功")
string.toMusic("美化成功")---语音
end,
function()
local t = {"libUE4.so:bss", "Cb"}
local tt = {0x5A5FF0,0x30,0x440,0x2810,0x9D0,0x7C }
local ttt = S_Pointer(t, tt, true)
gg.addListItems({{address = ttt, flags = 4, value = 1010042244, freeze = true}})--枪脱
local t = {"libUE4.so:bss", "Cb"}
local tt = {0x5A5FF0,0x30,0x440,0x2810,0x9D0,0x54 }
local ttt = S_Pointer(t, tt, true)
gg.addListItems({{address = ttt, flags = 4, value = 1010042236, freeze = true}})--弹夹
local t = {"libUE4.so:bss", "Cb"}
local tt = {0x5A5FF0,0x30,0x440,0x2810,0x9D0,0x04 }
local ttt = S_Pointer(t, tt, true)
gg.addListItems({{address = ttt, flags = 4, value = 1010042237, freeze = true}})--枪口
local t = {"libUE4.so:bss", "Cb"}
local tt = {0x5A5FF0,0x30,0x440,0x2810,0x9D0,0x2C}
local ttt = S_Pointer(t, tt, true)
gg.addListItems({{address = ttt, flags = 4, value = 1010042243, freeze = true}})--握把
gg.toast("开启成功")
string.toMusic("美化成功")---语音
end
}, {
"龙吟国度",
function()
local t = {"libUE4.so:bss", "Cb"}
local tt = {0x5A5FF0,0x30,0x440,0x2810,0x9D0,0x7C}
local ttt = S_Pointer(t, tt, true)
gg.addListItems({{address = ttt, flags = 4, value = 1030070236, freeze = true}})---枪托
local t = {"libUE4.so:bss", "Cb"}
local tt = {0x5A5FF0,0x30,0x440,0x2810,0x9D0,0x54}
local ttt = S_Pointer(t, tt, true)
gg.addListItems({{address = ttt, flags = 4, value = 1030070251, freeze = true}})---弹夹
local t = {"libUE4.so:bss", "Cb"}
local tt = {0x5A5FF0,0x30,0x440,0x2810,0x9D0,0x04}
local ttt = S_Pointer(t, tt, true)
gg.addListItems({{address = ttt, flags = 4, value = 1030070234, freeze = true}})---枪口
gg.toast("开启成功")
string.toMusic("美化成功")---语音
end,
function()
local t = {"libUE4.so:bss", "Cb"}
local tt = {0x5A5FF0,0x30,0x440,0x2810,0x9D0,0x7C}
local ttt = S_Pointer(t, tt, true)
gg.addListItems({{address = ttt, flags = 4, value = 1030070236, freeze = true}})---枪托
local t = {"libUE4.so:bss", "Cb"}
local tt = {0x5A5FF0,0x30,0x440,0x2810,0x9D0,0x54}
local ttt = S_Pointer(t, tt, true)
gg.addListItems({{address = ttt, flags = 4, value = 1030070251, freeze = true}})---弹夹
local t = {"libUE4.so:bss", "Cb"}
local tt = {0x5A5FF0,0x30,0x440,0x2810,0x9D0,0x04}
local ttt = S_Pointer(t, tt, true)
gg.addListItems({{address = ttt, flags = 4, value = 1030070234, freeze = true}})---枪口
gg.toast("开启成功")
string.toMusic("美化成功")---语音
end
},
}),
}),--box结尾
},{
changan.button("搜索音乐",
function()
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 = {"",""}
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)
string.toMusic("http://music.163.com/song/media/outer/url?id="..id..".mp3")
end
--停止播放
function stop()
gg.toast("正在停止音乐")
for i=1,100 do
string.toMusic("stop")
string.toMusic("stop")
string.toMusic("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
--主页
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.switch("播放热歌",
function()
A="https://api.uomg.com/api/rand.music?sort=热歌榜&format=json"
Obtain=gg.makeRequest(A).content
muchen=Obtain:match('url":"(.-)","picurl')
name=Obtain:match('name":"(.-)","')
gg.toast('开始播放['..name..']')
gg.playMusic(muchen)
end
),
changan.switch("江南",
function()
string.toMusic("http://music.163.com/song/media/outer/url?id=1958405457.mp3")
end,
function()
end
),
changan.switch("篝火旁",
function()
string.toMusic("http://music.163.com/song/media/outer/url?id=518725853.mp3")
end,
function()
end
),
changan.switch("心做",
function()
gg.playMusic("http://music.163.com/song/media/outer/url?id=2008921547.mp3")
end,
function()
end
),
changan.switch("爱如火",
function()
string.toMusic("http://music.163.com/song/media/outer/url?id=1999552137.mp3")
end,
function()
end
),
changan.switch("把回忆拼好给你",
function()
string.toMusic("http://music.163.com/song/media/outer/url?id=1403318151.mp3")
end,
function()
end
),
changan.switch("Normal NO More",
function()
string.toMusic("http://music.163.com/song/media/outer/url?id=1440570723.mp3")
end
),
changan.switch("Wannabe",
function()
string.toMusic("http://music.163.com/song/media/outer/url?id=501220770.mp3")
end
),
changan.switch("Bamba",
function()
string.toMusic("http://music.163.com/song/media/outer/url?id=1892409985.mp3")
end
),
changan.switch("Dead lnside",
function()
string.toMusic("http://music.163.com/song/media/outer/url?id=1890128737.mp3")
end
),
changan.switch("IKUN",
function()
string.toMusic("http://music.163.com/song/media/outer/url?id=2012977462.mp3")
end
),
changan.switch("停止播放音乐",
function()
for i=1,100 do
string.toMusic("stop")
string.toMusic("stop")
string.toMusic("stop")
string.toMusic("stop")
string.toMusic("stop")
string.toMusic("stop")
end
gg.alert("停止播放音乐开启成功")
string.toMusic('停止播放音乐开启成功')
end
),
},{
changan.switch("音量键隐藏UI",
function()
音量键=true
end,
function()
音量键=false
end),
changan.switch("悬浮窗转动",
function()
转动=true
end,
function()
转动=true
end),
changan.text("\n\n\n"),
changan.button("退出",function()
luajava.setFloatingWindowHide(false)
tuichu=1
end),
},{
},{
},{
},{
},{
}
})
--配置表添加表即可加页数,只需要与上边菜单标题数对应