gg.setVisible(false) gg.clearResults() function mainMenu() local choice = gg.choice({ '防封号(加载开启 D解)', '开发者内购(加载中开启 支付时点击取消支付)', '4x通用无限货币(加载中开启)', '钓鱼传说专区', '通用刷物(全游戏通用)', '蛊界改原石(然后去购买黄金舍利蛊)', '版本异常(使用1.57.0的创游替换1.60.0的so)', '开网文本(搭配版本异常使用)' }, nil, '创游多功能脚本\n作者:mg\nQQ群:495165256') if choice == nil then return false end if choice == 1 then antiBan() elseif choice == 2 then devPurchase() elseif choice == 3 then unlimitedCurrency() elseif choice == 4 then fishingLegendMenu() elseif choice == 5 then generalDupe() elseif choice == 6 then yuanshi() elseif choice == 7 then yichang() elseif choice == 8 then kaiwang() return false end return true end function antiBan() gg.processPause() gg.clearResults() gg.searchNumber(';let e = l.getFloat64(0);', gg.TYPE_WORD, false, gg.SIGN_EQUAL, 0, -1, 0) gg.getResults(10000) gg.editAll(';let e = this.fakeValue; ', gg.TYPE_WORD) gg.clearResults() gg.processResume() gg.toast('防封号功能已开启') gg.setVisible(false) end function devPurchase() gg.processPause() gg.clearResults() gg.setRanges(gg.REGION_ANONYMOUS) gg.searchNumber(';success: !1', gg.TYPE_WORD, false, gg.SIGN_EQUAL, 0, -1) gg.getResults(100000) gg.editAll(';success: !0', gg.TYPE_WORD) gg.clearResults() gg.processResume() gg.toast('开发者内购已开启') gg.setVisible(false) end function unlimitedCurrency() gg.processPause() gg.clearResults() gg.setRanges(gg.REGION_ANONYMOUS) gg.searchNumber('this.checkIfAssetIsCoin(e) && this._coinMap.has(e) ? this._coinMap.get(e).getValue() : 0', gg.TYPE_WORD, false, gg.SIGN_EQUAL, 0, -1) gg.searchNumber(';this.checkIfAssetIsCoin(e) && this._coinMap.has(e) ? this._coinMap.get(e).getValue() : 0', gg.TYPE_WORD, false, gg.SIGN_EQUAL, 0, -1) gg.getResults(100000) gg.editAll(';this.checkIfAssetIsCoin(e) && this._coinMap.has(e) ? 52013145201314 : 52013145201314', gg.TYPE_WORD) gg.clearResults() gg.processResume() gg.toast('4x通用无限货币已开启') gg.setVisible(false) end function generalDupe() gg.clearResults() gg.toast("刷物启动") local input = gg.prompt({"请输入你当前拥有的物品的数量(闪退属于正常现象):"},{[1]=1},{"number"}) if not input then gg.alert("操作已取消") return end local fishCount = tonumber(input[1]) gg.searchNumber(fishCount * 2, gg.TYPE_DWORD) local resultCount = gg.getResultsCount() if resultCount == 0 then gg.alert("初始搜索未找到结果") return end gg.toast(string.format("初始找到%d个结果", resultCount)) while resultCount > 3 do gg.alert("请在5秒内丢物品") gg.sleep(5000) gg.refineNumber(0, gg.TYPE_DWORD) resultCount = gg.getResultsCount() if resultCount == 0 then gg.alert("丢物品后未找到结果") return end gg.alert("请在5秒内捡") gg.sleep(5000) gg.refineNumber(fishCount * 2, gg.TYPE_DWORD) resultCount = gg.getResultsCount() gg.toast(string.format("当前剩余结果数: %d", resultCount)) end local finalResults = gg.getResults(resultCount) gg.toast(string.format("完成,找到%d个地址", #finalResults)) local modifyInput = gg.prompt({"你想修改为?"},{[1]=fishCount},{"number"}) if modifyInput then local newValue = tonumber(modifyInput[1]) * 2 local modifyData = {} for i, v in ipairs(finalResults) do modifyData[i] = {address = v.address, flags = gg.TYPE_DWORD, value = newValue} end gg.setValues(modifyData) gg.toast(string.format("已修改%d个地址", #modifyData)) gg.refineNumber(newValue, gg.TYPE_DWORD) if gg.getResultsCount() > 0 then gg.alert("修改成功") else gg.alert("修改后验证失败") end else gg.alert("修改操作已取消") end gg.clearResults() end function yuanshi() local input = gg.prompt({"请输入你要改的元石(请不要超过10亿否则会清零)"},{[1]=""},{"number"}) if not input then return end local yuanShi = tonumber(input[1]) if not yuanShi then gg.alert("请输入有效的数字") return end gg.clearResults() gg.searchNumber("180000", gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1, 0) local results = gg.getResults(gg.getResultsCount()) if #results > 0 then for i, v in ipairs(results) do v.value = -2 * yuanShi end gg.setValues(results) gg.toast("已修改 " .. #results .. " 个地址") gg.alert("前去蛊虫商店购买白银舍利蛊") else gg.alert("未找到匹配的地址") end end function yichang() gg.setRanges(gg.REGION_ANONYMOUS) local revert = nil gg.clearResults() gg.searchNumber(":1.57.0", gg.TYPE_BYTE, false, gg.SIGN_EQUAL, 0, -1, 0) revert = gg.getResults(10000, nil, nil, nil, nil, nil, nil, nil, nil) gg.editAll(":1.60.0", gg.TYPE_BYTE) gg.clearResults() gg.toast("已开启") end function kaiwang() gg.setRanges(gg.REGION_ANONYMOUS) local revert = nil gg.clearResults() gg.searchNumber(":1.60.0", gg.TYPE_BYTE, false, gg.SIGN_EQUAL, 0, -1, 0) revert = gg.getResults(10000, nil, nil, nil, nil, nil, nil, nil, nil) gg.editAll(":1.48.0", gg.TYPE_BYTE) gg.clearResults() gg.toast("已开启") end function fishingLegendMenu() local choice = gg.choice({ '改等级(新需要多尝试几次)', '秒杀', '极限鱼竿内购(铸造台开启)', '过黑屋', '里程碑' }) if choice == 1 then gaidengji() elseif choice == 2 then miaosha() elseif choice == 3 then neigou() elseif choice == 4 then heiwu() elseif choice == 5 then lichengbei() return false end return true end function gaigendji() local revert = nil gg.clearResults() gg.searchNumber("101.9657;101.9657", gg.TYPE_DOUBLE, false, gg.SIGN_EQUAL, 0, -1, 0) revert = gg.getResults(10000, nil, nil, nil, nil, nil, nil, nil, nil) local newValue = gg.prompt({"请输入你想要的等级随后钓鱼升1级"}, {[1] = "0"}, {"number"}) if newValue == nil then gg.toast("用户取消输入") os.exit() end local modifiedValue = newValue[1] * 101.9657 results[1].value = modifiedValue gg.setValues(results) gg.toast("修改完成: " .. modifiedValue) end function miaosha() local input = gg.prompt( { "请输入你鱼竿目前伤害(不要带小数点):", }, { [1] = 1, [2] = "Dword" }, { [1] = "number", [2] = {"Dword", "Float", "Double"} } ) if not input then gg.alert("操作已取消") os.exit() end input[1] = input[1] * 2 gg.clearResults() gg.searchNumber(input[1], TYPE_MAP["Dword"]) local results = gg.getResults(9999) if #results == 0 then gg.alert("未找到匹配结果") os.exit() end gg.alert("请将鱼竿升一级") gg.sleep(4000) local TYPE_MAP = { ["Dword"] = gg.TYPE_DWORD, ["Float"] = gg.TYPE_FLOAT, ["Double"] = gg.TYPE_DOUBLE } local input = gg.prompt( { "请输入你现在鱼竿伤害:", }, { [1] = 1, [2] = "Dword" }, { [1] = "number", [2] = {"Dword", "Float", "Double"} } ) if not input then gg.alert("操作已取消") os.exit() end input[1] = input[1] * 2 gg.refineNumber(input[1], TYPE_MAP["Dword"]) local results = gg.getResults(9999) if #results == 0 then gg.alert("未找到匹配结果") os.exit() end local modify = gg.prompt( { "找到 "..#results.." 个地址\n输入新数值(必须冻结修改):", "启用冻结修改" }, { [1] = input[1], [2] = true }, { [1] = "number", [2] = "checkbox" } ) if modify then for _, v in ipairs(results) do v.value = modify[1] v.freeze = modify[2] v.address = v.address & 0xFFFFFFFFFFFF end gg.setValues(results) if modify[2] then gg.addListItems(results) gg.toast("已冻结数值,重启游戏即可生效") end gg.alert("成功修改 "..#results.." 个地址\n冻结状态:"..(modify[2] and "已启用" or "未启用")) end gg.clearResults() gg.processResume() gg.alert("修改成功") end function neigou() local revert = nil gg.clearResults() gg.searchNumber("2500", gg.TYPE_DOUBLE, false, gg.SIGN_EQUAL, 0, -1, 0) revert = gg.getResults(100000, nil, nil, nil, nil, nil, nil, nil, nil) gg.editAll("0", gg.TYPE_DOUBLE) gg.clearResults() end function heiwu() gg.clearResults() gg.setRanges(gg.REGION_ANONYMOUS) gg.searchNumber("135.5", gg.TYPE_DOUBLE) local results = gg.getResults(99999) local edit = {{ address = results[99999].address, flags = gg.TYPE_DOUBLE, value = "13550000" }} gg.setValues(edit) gg.alert("数值已修改成功!\n请去钓一条黑屋鱼,然后退出游戏。") gg.toast("脚本将在3秒后退出...") os.exit() end function lichengbei() gg.setRanges(gg.REGION_ANONYMOUS) local originalDamage = 0 local searchValue = 0 local newDamage = 0 originalDamage = gg.prompt({ "请输入里程碑需要鱼的数量(最好改最后两个不然闪退):" }, nil, {"number"}) if originalDamage == nil then gg.toast("操作已取消") os.exit() end originalDamage = tonumber(originalDamage[1]) searchValue = originalDamage * 1 gg.toast("正在搜索 " .. searchValue .. "...") gg.searchNumber(searchValue, gg.TYPE_DOUBLE, false, gg.SIGN_EQUAL, 0, -1, 0) local results = gg.getResults(gg.getResultsCount()) gg.toast("找到 " .. #results .. " 个结果") newDamage = gg.prompt({ "请输入0(随后保存退出):" }, nil, {"number"}) if newDamage == nil then gg.toast("操作已取消") os.exit() end newDamage = tonumber(newDamage[1]) for i, v in ipairs(results) do v.value = newDamage * 1 v.freeze = true end gg.setValues(results) gg.addListItems(results) gg.toast("修改完成!已将设置为 " .. newDamage .. " (" .. (newDamage * 1) .. ") ") end gg.alert('创游多功能脚本\n作者:mg\nQQ群:495165256', '开始使用') while mainMenu() do end gg.toast('脚本已退出')