function Main() menu = gg.choice({ '主功能名称1', '主功能名称2', '退出脚本'}, 2018,'这里可以填QQ号') if menu == 1 then A() end if menu == 2 then B() end if menu == 3 then Exit() end XGCK=-1 end function A() menu1 = gg.choice({ '选择进程', '范围', '副功能名称3', '副功能名称4', '副功能名称5', '副功能名称6', '副功能名称7', '副功能名称8', '副功能名称9', '副功能名称10', '返回上一页'}, 2018,'这里也可以随便填') if menu1 == 1 then a1() end if menu1 == 2 then a2() end if menu1 == 3 then a3() end if menu1 == 4 then a4() end if menu1 == 5 then a5() end if menu1 == 6 then a6() end if menu1 == 7 then a7() end if menu1 == 8 then a8() end if menu1 == 9 then a9() end if menu1 == 10 then a10() end if menu1 == 11 then HOME() end GLWW=-1 end function B() menu1 = gg.choice({ '副功能名称1', '副功能名称2', '副功能名称3', '副功能名称4', '副功能名称5', '副功能名称6', '副功能名称7', '副功能名称8', '副功能名称9', '副功能名称10', '返回上一页'}, 2018,'这里也可以随便填') if menu1 == 1 then b1() end if menu1 == 2 then b2() end if menu1 == 3 then b3() end if menu1 == 4 then b4() end if menu1 == 5 then b5() end if menu1 == 6 then b6() end if menu1 == 7 then b7() end if menu1 == 8 then b8() end if menu1 == 9 then b9() end if menu1 == 10 then b10() end if menu1 == 11 then HOME() end GLWW=-1 end function a1() gg.setProcessX() gg.toast("开启成功") end function a2() 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 = ti_bit and 32 or 4 local _S = nil 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 not _S then return nil end local t = {{address = _S.start + Offset[1], flags = _t}} if #Offset ~= 1 then for i = 2, #Offset do local S = gg.getValues(t) t = {} for _,v in pairs(S) do if not ti.x64 then v.value = v.value & 0xFFFFFFFF end t[#t+1] = {address = v.value + Offset[i], flags = _t} end end end return t[#t].address end return Get_Address(t_So, t_Offset, _bit) end local so_gun = {"libunity.so", "Cd"} local off_gun = {0x1F5A0, 0xEC} local function gunRangeOn() local addr = S_Pointer(so_gun, off_gun, true) if addr then gg.setValues({{address=addr,flags=16,value=15}}) gg.toast("gun range on") else gg.toast("addr fail") end end local function gunRangeOff() local addr = S_Pointer(so_gun, off_gun, true) if addr then gg.setValues({{address=addr,flags=16,value=1}}) gg.toast("gun range off") else gg.toast("addr fail") end end local menuList = { "1. Gun Range On", "2. Gun Range Off", "0. Exit" } while true do local choose = gg.choice(menuList,nil,"Menu") if choose == nil or choose == #menuList then break end if choose == 1 then gunRangeOn() elseif choose == 2 then gunRangeOff() end gg.sleep(200) end gg.toast("开启成功") end function a3() gg.toast("开启成功") end function a4() gg.toast("开启成功") end function a5() gg.toast("开启成功") end function a6() gg.toast("开启成功") end function a7() gg.toast("开启成功") end function a8() gg.toast("开启成功") end function a9() gg.toast("开启成功") end function a10() gg.toast("开启成功") end function b1() gg.toast("开启成功") end function b2() gg.toast("开启成功") end function b3() gg.toast("开启成功") end function b4() gg.toast("开启成功") end function b5() gg.toast("开启成功") end function b6() gg.toast("开启成功") end function b7() gg.toast("开启成功") end function b8() gg.toast("开启成功") end function b9() gg.toast("开启成功") end function b10() gg.toast("开启成功") end function Exit() print("这里是退出脚本后的提示文字") os.exit() end function HOME() lw=1 Main() end cs = '这里可以填QQ' while(true)do if gg.isVisible(true) then XGCK=1 gg.setVisible(false) end gg.clearResults() if XGCK==1 then Main() end end --[[Welcome to Dluae]]