


gg.alert("\n温馨")gg.alert("别浪！")

exit=os.exit
function os.exit()
  gg.clearList()--清楚保存
  gg.clearResults()--清楚搜索
  exit()
end

gg.clearList()--清楚保存
gg.clearResults()--清楚搜索


function split(szFullString, szSeparator)

  local nFindStartIndex = 1
  local nSplitIndex = 1
  local nSplitArray = {}

  while true do
    gg.setVisible(false)
    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 j(szpy, qmxg)
  for i, v in ipairs(qmxg) do
    xgpy= szpy + v["偏移"]
    xglx = v["类型"]
    xgsz = v["修改征码"]
    xgdj = v["是否冻结"]
    if xgdj == nil or xgdj == "" then
      gg.addListItems({[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 xsBOOS(qmnb,qmxg)
  gg.setVisible(false)
  gg.clearResults()
  gg.setRanges(qmnb[1]["内存范围"])
  gg.setVisible(false)
  gg.searchNumber(qmnb[3]["联合搜索"],qmnb[3]["类型"],qmnb[3]["是否加密搜索"])
  if gg.getResultCount() == 0 then
    gg.toast(qmnb[2]["功能名字"] .. "开启失败")
   else
    h=gg.getResults(gg.getResultCount())--值数量
    --gg.toast("\n一共搜索到[ "..(#h).." ]个数值")

    gg.searchNumber(qmnb[4]["主特征码"], qmnb[4]["类型"])
    gg.refineNumber(qmnb[4]["主特征码"], qmnb[4]["类型"])
    gg.refineNumber(qmnb[4]["主特征码"], qmnb[4]["类型"])
    gg.refineNumber(qmnb[4]["主特征码"], qmnb[4]["类型"])

    if gg.getResults(gg.getResultCount()) == 0 then
      gg.toast(qmnb[2]["功能名字"] .. "开启失败")
     else
     gg.setVisible(false)
      sl = gg.getResults(999999)
      sz = gg.getResultCount()
      xgsl = 0
      if sz > 999999 then
        sz = 999999
      end

      for i = 1, sz do
        gg.setVisible(false)
        pdsz = true
        for v = 5, #(qmnb) do

          if pdsz == true then
            pysz = {}
            pysz[1]= {}

            pysz[1].address= sl[i].address + qmnb[v]["偏移"]

            pysz[1].flags= qmnb[v]["类型"]

            szpy = gg.getValues(pysz)

            pdpd = qmnb[v]["副特征"] .. ";" .. 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
          j(szpy,qmxg)
        end
      end
      if xgjg == true then
        gg.sleep(1200)--延迟
        gg.toast("\n"..qmnb[2]["功能名字"] .. "\n开启成功\n共修改 [" ..xgsl.. "] 条数据")
        gg.clearResults()
       else
        gg.toast(qmnb[2]["功能名字"] .. "开启失败")
        gg.clearResults()
      end
    end
  end
end









henga="[ 已关闭 ]"
shua="[ 已关闭 ]"
baoa="[ 已关闭 ]"
molia="[ 已关闭 ]"
baoa_f=false
henga_f=false
shua_f=false
molia_f=false

henga_x="[ 已关闭 ]"
shua_x="[ 已关闭 ]"
baoa_x="[ 已关闭 ]"
molia_x="[ 已关闭 ]"
baoa_x_f=false
henga_x_f=false
shua_x_f=false
molia_x_f=false

function main()
  main_a=gg.choice({
    ">>>>>>[初始化]<<<<<<",
    "横排爆炸特效"..henga,
    "竖排爆炸特效"..shua,
    "全屏爆炸特效〔推荐使用〕"..baoa,
    "全屏魔力鸟〔易卡屏_装b〕"..molia,
    "横排爆炸〔小范围〕"..henga_x,
    "竖排爆炸〔小范围〕"..shua_x,
    "爆炸特效〔小范围〕"..baoa_x,
    "彩魔力鸟〔三合一〕"..molia_x,
    "关闭功能",
  },nil,"[支持最新游戏版本|最新关卡]\n\n开心消消乐最新特效辅助\n\n先初始化[就可以上分了]")--单选功能



  if main_a == 1 then
    csh()
  end
  if main_a == 2 then
    main_aa3()--横消
  end
  if main_a == 6 then
    main_aa31()--小横消
  end
  if main_a == 3 then
    main_aa4()--竖消
  end
  if main_a == 7 then
    main_aa41()--小竖消
  end
  if main_a == 4 then
    main_aa()--爆炸
  end
  if main_a == 8 then
    main_aa1()--小爆炸
  end
  if main_a == 5 then
    main_aa2()--彩魔力鸟
  end  
  if main_a == 9 then
    main_aa21()--小魔力
  end
  if main_a == 10 then
    main_aa5()
  end

  gg.setVisible(false)
end





----------------------------------------------------------------------------------------------------------------------
local ca={}--配
local cv={}--改
----------------------------------------------------------------------------------------------------------------------
function csh()
  if #ca==0 or #cv==0 then
    
  
gg.setVisible(false)
gg.searchNumber(";1.94")--搜索
gg.setVisible(false)
gg.refineNumber(";1.94")--改善
gg.setVisible(false)
gg.getResults(9999)--值数量
gg.setVisible(false)
gg.editAll("99999",4)--修改

gg.clearList()--清楚保存
gg.clearResults()--清楚搜索 


  xs={

    {["内存范围"] = 32},

    {["功能名字"] =""},

    {["联合搜索"] ="256;32;1024::",["类型"] =4},--内存块过滤

    {["主特征码"] ="256", ["类型"] = 4},

    {["副特征"] = "32", ["偏移"] = 24, ["类型"] =4},

    {["副特征"] = "1024", ["偏移"] = 264, ["类型"] =4},

		--{["副特征"] = "0", ["偏移"] = -116, ["类型"] =4},
		
		--{["副特征"] = "512", ["偏移"] = -72, ["类型"] =4},
  }


  xs2={



    {
      --1080877056
      ["偏移"] = -116,
      ["类型"] = 4,
      ["是否冻结"]=""},


    {
      --1080098816",
      ["偏移"] = -188,
      ["类型"] = 4,
      ["是否冻结"]=""},

    {
      --1081303040",
      ["偏移"] = -20,
      ["类型"] = 4,
      ["是否冻结"]=""},

    {
      --1081524224
      ["偏移"] = 244,
      ["类型"] = 4,
      ["是否冻结"]=""},



  }




  xsBOOS(xs,xs2)


  t=gg.getListItems()
  for i, v in ipairs(t) do
    ca[i]={['address']=v.address,['value']=v.value,['flags']=v.flags}
  end

  ----------------------------------------------------------------------------------------------------------------------
  gg.clearList()--清楚保存
  gg.clearResults()--清楚搜索

  xst={

    {["内存范围"] = 32},

    {["功能名字"] =""},

    {["联合搜索"] ="91;6;-1;0;0;0;0::",["类型"] =4},--内存块过滤

    {["主特征码"] ="91", ["类型"] = 4},

    {["副特征"] = "6", ["偏移"] = 28, ["类型"] =4},

    {["副特征"] = "-1", ["偏移"] = 40, ["类型"] =4},

    {["副特征"] = "0", ["偏移"] = 45, ["类型"] =4},

    {["副特征"] = "0", ["偏移"] = 52, ["类型"] =4},


  }

  xst2={
    {
      ["偏移"] = 48,
      ["类型"] = 4,
      ["是否冻结"]=""
      },
      
      {
      ["偏移"] = 56,
      ["类型"] = 4,
      ["是否冻结"]=""
      },
      
      {
      ["偏移"] = 64,
      ["类型"] = 4,
      ["是否冻结"]=""
      },
      
      {
      ["偏移"] = 72,
      ["类型"] = 4,
      ["是否冻结"]=""
      },
      
  }


  ---------------------------------------------------------------------------------------------------------------------
  xsBOOS(xst,xst2)


  t=gg.getListItems()
  cv[1]=t[1]

  gg.clearList()--清楚保存
  gg.clearResults()--清楚搜索
  
  else
    gg.alert("已经初始化完成，开启下面的功能交换精灵即可")--对话框
    return
  end
  
end


-- ca=配寄存器
--cv--改寄存器

function yu(a,b,c)
  gg.setValues({[1]={
      address=a,
      flags=b,
      value=c
    }})
end




function main_aa()
  if #ca==0 or #cv==0 then
    gg.alert("请先初始化")--对话框
    return
  end
  if baoa_f==false then
	  yu(cv[1].address,cv[1].flags,0)
	  yu(ca[3].address,ca[3].flags,0)
	  gg.setVisible(false)
	  gg.toast("轰炸消除[成功]")--提示
	  baoa="[ 已开启 ]"
	  baoa_f=true
	  while baoa_f do
	    if gg.isVisible(true) then
	      gg.setVisible(false)
	      main()
	    end
	  end
  else
  	yu(cv[1].address,cv[1].flags,cv[1].value)
    yu(ca[3].address,ca[3].flags,ca[3].value)
    gg.toast("轰炸消除[关闭]")--提示
    baoa="[ 已关闭 ]"
    baoa_f=false
  end
  
end

function main_aa1()
  if #ca==0 or #cv==0 then
    gg.alert("请先初始化")--对话框
    return
  end
  if baoa_x_f==false then
	  yu(cv[1].address,cv[1].flags,1072693248)
	  yu(ca[3].address,ca[3].flags,1072693248)
	  gg.setVisible(false)
	  gg.toast("小轰炸消除[成功]")--提示
	  baoa_x="[ 已开启 ]"
	  baoa_x_f=true
	  while baoa_x_f do
	    if gg.isVisible(true) then
	      gg.setVisible(false)
	      main()
	    end
	  end
  else
  	yu(cv[1].address,cv[1].flags,cv[1].value)
    yu(ca[3].address,ca[3].flags,ca[3].value)
    gg.toast("小轰炸消除[关闭]")--提示
    baoa_x="[ 已关闭 ]"
    baoa_x_f=false
  end
  
end


function main_aa2()
  if #ca==0 or #cv==0 then
    gg.alert("请先初始化")--对话框
    return
  end
  
  if molia_f==false then
	  yu(cv[1].address,cv[1].flags,0)
	  yu(ca[4].address,ca[4].flags,0)
	  gg.setVisible(false)
	  gg.toast("彩魔力鸟[成功]")--提示
	  molia="[ 已开启 ]"
	  molia_f=true
	  while molia_f do
	    if gg.isVisible(true) then
	      gg.setVisible(false)
	      main()
	    end
	  end
  else
  	yu(cv[1].address,cv[1].flags,cv[1].value)
    yu(ca[4].address,ca[4].flags,ca[4].value)
    gg.toast("彩魔力鸟[关闭]")--提示
    molia="[ 已关闭 ]"
    molia_f=false
  end

end


function main_aa21()
  if #ca==0 or #cv==0 then
    gg.alert("请先初始化")--对话框
    return
  end
  
  if molia_x_f==false then
	  yu(cv[1].address,cv[1].flags,1072693248)
	  yu(ca[4].address,ca[4].flags,1072693248)
	  gg.setVisible(false)
	  gg.toast("小彩魔力鸟[成功]")--提示
	  molia_x="[ 已开启 ]"
	  molia_x_f=true
	  while molia_x_f do
	    if gg.isVisible(true) then
	      gg.setVisible(false)
	      main()
	    end
	  end
  else
  	yu(cv[1].address,cv[1].flags,cv[1].value)
    yu(ca[4].address,ca[4].flags,ca[4].value)
    gg.toast("小彩魔力鸟[关闭]")--提示
    molia_x="[ 已关闭 ]"
    molia_x_f=false
  end

end


function main_aa3()
  if #ca==0 or #cv==0 then
    gg.alert("请先初始化")--对话框
    return
  end

	if henga_f==false then
	  yu(cv[1].address,cv[1].flags,0)
	  yu(ca[2].address,ca[2].flags,0)
	  gg.setVisible(false)
	  gg.toast("横向消除[成功]")--提示
	  henga="[ 已开启 ]"
	  henga_f=true
	  while henga_f do
	    if gg.isVisible(true) then
	      gg.setVisible(false)
	      main()
	    end
	  end
  else
  	yu(cv[1].address,cv[1].flags,cv[1].value)
    yu(ca[2].address,ca[2].flags,ca[2].value)
    gg.toast("横向消除[关闭]")--提示
    henga="[ 已关闭 ]"
    henga_f=false
  end


end


function main_aa31()
  if #ca==0 or #cv==0 then
    gg.alert("请先初始化")--对话框
    return
  end

	if henga_x_f==false then
	  yu(cv[1].address,cv[1].flags,1072693248)
	  yu(ca[2].address,ca[2].flags,1072693248)
	  gg.setVisible(false)
	  gg.toast("小横向消除[成功]")--提示
	  henga_x="[ 已开启 ]"
	  henga_x_f=true
	  while henga_x_f do
	    if gg.isVisible(true) then
	      gg.setVisible(false)
	      main()
	    end
	  end
  else
  	yu(cv[1].address,cv[1].flags,cv[1].value)
    yu(ca[2].address,ca[2].flags,ca[2].value)
    gg.toast("小横向消除[关闭]")--提示
    henga_x="[ 已关闭 ]"
    henga_x_f=false
  end


end


function main_aa4()
  if #ca==0 or #cv==0 then
    gg.alert("请先初始化")--对话框
    return
  end
  
  if shua_f==false then
	  yu(cv[1].address,cv[1].flags,0)
	  yu(ca[1].address,ca[1].flags,0)
	  gg.setVisible(false)
	  gg.toast("竖向消除[成功]")--提示
	  shua="[ 已开启 ]"
	  shua_f=true
	  while shua_f do
	    if gg.isVisible(true) then
	      gg.setVisible(false)
	      main()
	    end
	  end
  else
  	yu(cv[1].address,cv[1].flags,cv[1].value)
    yu(ca[1].address,ca[1].flags,ca[1].value)
    gg.toast("竖向消除[关闭]")--提示
    shua="[ 已关闭 ]"
    shua_f=false
  end

end


function main_aa41()
  if #ca==0 or #cv==0 then
    gg.alert("请先初始化")--对话框
    return
  end
  
  if shua_x_f==false then
	  yu(cv[1].address,cv[1].flags,1072693248)
	  yu(ca[1].address,ca[1].flags,1072693248)
	  gg.setVisible(false)
	  gg.toast("小竖向消除[成功]")--提示
	  shua_x="[ 已开启 ]"
	  shua_x_f=true
	  while shua_x_f do
	    if gg.isVisible(true) then
	      gg.setVisible(false)
	      main()
	    end
	  end
  else
  	yu(cv[1].address,cv[1].flags,cv[1].value)
    yu(ca[1].address,ca[1].flags,ca[1].value)
    gg.toast("小竖向消除[关闭]")--提示
    shua_x="[ 已关闭 ]"
    shua_x_f=false
  end

end


function main_aa5()
  if #ca==0 or #cv==0 then
    gg.alert("请先初始化")--对话框
    return
  end

  if shua_f==true then
  	yu(cv[1].address,cv[1].flags,cv[1].value)
    yu(ca[1].address,ca[1].flags,ca[1].value)
    gg.toast("竖向消除[关闭]")--提示
    shua="[ 已关闭 ]"
    shua_f=false
  end
  if henga_f==true then
  	henga="[ 已关闭 ]"
    henga_f=false
    yu(cv[1].address,cv[1].flags,cv[1].value)
    yu(ca[2].address,ca[2].flags,ca[2].value)
    gg.toast("横向消除[关闭]")--提示
  end
  if baoa_f==true then
  	baoa="[ 已关闭 ]"
    baoa_f=false
    yu(cv[1].address,cv[1].flags,cv[1].value)
    yu(ca[3].address,ca[3].flags,ca[3].value)
    gg.toast("轰炸消除[关闭]")--提示 
  end
  if molia_f==true then
  	molia="[ 已关闭 ]"
    molia_f=false
  	yu(cv[1].address,cv[1].flags,cv[1].value)
    yu(ca[4].address,ca[4].flags,ca[4].value)
    gg.toast("彩魔力鸟[关闭]")--提示
  end
  
  if shua_x_f==true then
  	yu(cv[1].address,cv[1].flags,cv[1].value)
    yu(ca[1].address,ca[1].flags,ca[1].value)
    gg.toast("小竖向消除[关闭]")--提示
    shua_x="[ 已关闭 ]"
    shua_x_f=false
  end
  if henga_x_f==true then
  	henga_x="[ 已关闭 ]"
    henga_x_f=false
    yu(cv[1].address,cv[1].flags,cv[1].value)
    yu(ca[2].address,ca[2].flags,ca[2].value)
    gg.toast("小横向消除[关闭]")--提示
  end
  if baoa_x_f==true then
  	baoa_x="[ 已关闭 ]"
    baoa_x_f=false
    yu(cv[1].address,cv[1].flags,cv[1].value)
    yu(ca[3].address,ca[3].flags,ca[3].value)
    gg.toast("小轰炸消除[关闭]")--提示 
  end
  if molia_x_f==true then
  	molia_x="[ 已关闭 ]"
    molia_x_f=false
  	yu(cv[1].address,cv[1].flags,cv[1].value)
    yu(ca[4].address,ca[4].flags,ca[4].value)
    gg.toast("小彩魔力鸟[关闭]")--提示
  end

end


while true do
  if gg.isVisible(true) then
    main()
  end
end



