|
本帖最后由 xts 于 2021-6-9 22:12 编辑
-----------------------------------------------------------------------------------------
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.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.address xgxc(szpy, qmxg) end end
if xgjg == true then
gg.toast(qmnb[2]["name"] .. "开启成功,共修改" .. xgsl .. "条数据")
else
gg.toast(qmnb[2]["name"] .. "开启失败")
end
end
end
end
-----------------------------------------------------------------------------------------
function Main()
SN = gg.multiChoice({
"飞天",
"变速",
"建筑任意建",
"农作物满级",
"退出脚本"
}, nil, "")
if SN == nil then
else
if SN[1] == true then
a()
end
if SN[2] == true then
b()
end
if SN[3] == true then
c()
end
if SN[4] == true then
Main2()
end
if SN[5] == true then
Exit()
end
end
XGCK = -1
end
function a()
qmnb = {
{["memory"] = gg.REGION_ANONYMOUS},
{["name"] = "20飞天"},
{["value"] = 1063843267, ["type"] = 4},
{["lv"] = -1081881290, ["offset"] = 4, ["type"] = 4},
{["lv"] = 1117063741, ["offset"] = 8, ["type"] = 4},
{["lv"] = -120, ["offset"] = -5, ["type"] = 1},
{["lv"] = -65, ["offset"] = 7, ["type"] = 1},
{["lv"] = 66, ["offset"] = 11, ["type"] = 1},
}
qmxg = {
{["value"] = 20, ["offset"] = 4, ["type"] = 16,["freeze"] = true}
}
xqmnb(qmnb)
end
function b()
qmnb = {
{["memory"] = gg.REGION_ANONYMOUS},
{["name"] = "399变速"},
{["value"] = 1106247680, ["type"] = 4},
{["lv"] = 3, ["offset"] = -48, ["type"] = 4},
}
qmxg = {
{["value"] = 399, ["offset"] = 0, ["type"] = 16,["freeze"] = true}
}
xqmnb(qmnb)
end
function c()
qmnb = {
{["memory"] = gg.REGION_ANONYMOUS},
{["name"] = "建筑任意键"},
{["value"] = 205, ["type"] = 4},
{["lv"] = 20, ["offset"] = -188, ["type"] = 4},
{["lv"] = 9, ["offset"] = -192, ["type"] = 4},
}
qmxg = {
{["value"] = 1, ["offset"] = -200, ["type"] = 4,["freeze"] = true}
}
xqmnb(qmnb)
end
function Main2()
SN = gg.multiChoice({
"恢复",
"浇水收果挖地播种一键满级",
"挖石满级",
"砍树满级",
"除草满级",
"返回主页",
}, nil, "点恢复再点铲子,在使用功能")
if SN == nil then
else
if SN[1] == true then
a1()
end
if SN[2] == true then
b1()
end
if SN[3] == true then
c1()
end
if SN[4] == true then
d1()
end
if SN[5] == true then
e1()
end
if SN[6] == true then
f1()
end
end
XGCK = -1
end
function a1()
gg.clearList()
end
function b1()
qmnb = {
{["memory"] = gg.REGION_ANONYMOUS},
{["name"] = "浇水收果挖地播种一键满级"},
{["value"] = 800004, ["type"] = 4},
{["lv"] = 17, ["offset"] = -12, ["type"] = 4},
{["lv"] = 1, ["offset"] = -4, ["type"] = 4},
{["lv"] = 9, ["offset"] = 8, ["type"] = 4},
}
qmxg = {
{["value"] = 800306, ["offset"] = 0, ["type"] = 4,["freeze"] = true}
}
xqmnb(qmnb)
end
function c1()
qmnb = {
{["memory"] = gg.REGION_ANONYMOUS},
{["name"] = "挖石满级"},
{["value"] = 800004, ["type"] = 4},
{["lv"] = 17, ["offset"] = -12, ["type"] = 4},
{["lv"] = 1, ["offset"] = -4, ["type"] = 4},
{["lv"] = 9, ["offset"] = 8, ["type"] = 4},
}
qmxg = {
{["value"] = 800308, ["offset"] = 0, ["type"] = 4,["freeze"] = true}
}
xqmnb(qmnb)
end
function d1()
qmnb = {
{["memory"] = gg.REGION_ANONYMOUS},
{["name"] = "砍树满级"},
{["value"] = 800004, ["type"] = 4},
{["lv"] = 17, ["offset"] = -12, ["type"] = 4},
{["lv"] = 1, ["offset"] = -4, ["type"] = 4},
{["lv"] = 9, ["offset"] = 8, ["type"] = 4},
}
qmxg = {
{["value"] = 800307, ["offset"] = 0, ["type"] = 4,["freeze"] = true}
}
xqmnb(qmnb)
end
function e1()
qmnb = {
{["memory"] = gg.REGION_ANONYMOUS},
{["name"] = "除草满级"},
{["value"] = 800004, ["type"] = 4},
{["lv"] = 17, ["offset"] = -12, ["type"] = 4},
{["lv"] = 1, ["offset"] = -4, ["type"] = 4},
{["lv"] = 9, ["offset"] = 8, ["type"] = 4},
}
qmxg = {
{["value"] = 800309, ["offset"] = 0, ["type"] = 4,["freeze"] = true}
}
xqmnb(qmnb)
end
function f1()
Main()
end
function Exit()
print("")
os.exit()
end
cs = ""
while true do
if gg.isVisible(true) then
XGCK = 1
gg.setVisible(false)
end
gg.clearResults()
if XGCK == 1 then
Main()
end
end
|
|