Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- print("Script制作:かめ", "Twitter:@gg5a0", "Discord:@ka_me4455")
- while true do
- if gg.isVisible(true) then
- Lext = -1
- gg.setVisible(false)
- gg.sleep(100)
- end
- --set variable
- offset = {}
- cat, XP, nomal, rea = 49000, 99999999, 999, 999
- eye, NP, bta, rock = 999, 9999999, 999, 999
- ilei = 0
- -- パスワード設定
- local correctPassword = "kamemememe"
- local passwordCheckedKey = "passwordChecked"
- -- スクリプトの設定を保存するファイル
- local settingsFile = "/sdcard/gg_settings.txt"
- -- 設定の読み込み
- function loadSettings()
- local file = io.open(settingsFile, "r")
- if file then
- local content = file:read("*a")
- file:close()
- return content
- end
- return nil
- end
- -- 設定の保存
- function saveSettings(content)
- local file = io.open(settingsFile, "w")
- if file then
- file:write(content)
- file:close()
- end
- end
- -- ユーザーからのパスワード入力を求める
- function askForPassword()
- gg.alert('パスワードを入力してください:')
- local inputPassword = gg.prompt({'パスワード'}, nil, {'text'})
- return inputPassword and inputPassword[1] or ''
- end
- -- パスワード確認
- function checkPassword()
- local settings = loadSettings()
- if settings == passwordCheckedKey then
- return
- end
- local inputPassword = askForPassword()
- if inputPassword ~= correctPassword then
- gg.alert('パスワードが間違っています!')
- os.exit() -- パスワードが間違っている場合、スクリプトを終了
- end
- saveSettings(passwordCheckedKey)
- -- メニューの表示
- function Main()
- local Ax = gg.choice({
- " 基本メニュー",
- " サブメニュー",
- " サブメニュー2",
- " ネタ枠チート",
- " ステージ系メニュー",
- " アップデート情報",
- " 終了"}, "Main")
- if Ax == nil then gg.setVisible(false) return nil
- end
- if Ax ~= nil then
- if Ax == 1 then
- menu1()
- end
- if Ax == 2 then
- menu2()
- end
- if Ax == 3 then
- menu3()
- end
- if Ax == 4 then
- menu4()
- end
- if Ax == 5 then
- menu5()
- end
- if Ax == 6 then
- gg.alert("V1.1 レジェンドステージ開放を追加・個別ステ開放を追加")
- end
- if Ax == 7 then
- gg.setVisible(true)
- os.exit()
- end
- Lext=-1
- end
- end
- function menu1()
- local Bx = gg.prompt({
- "ネコ缶 ON",
- "ネコ缶 Number",
- "XP ON",
- "XP Number",
- "ノマチケ ON",
- "ノマチケ Number",
- "レアチケ ON",
- "レアチケ Number",
- "全ステージ解放",
- "即勝利 ON",
- "戻る"}, {
- [1] = false,
- [2] = cat,
- [3] = false,
- [4] = XP,
- [5] = false,
- [6] = nomal,
- [7] = false,
- [8] = rea,
- [9] = false,
- [10] = false,
- [11] = false}, {
- "checkbox",
- "number",
- "checkbox",
- "number",
- "checkbox",
- "number",
- "checkbox",
- "number",
- "checkbox",
- "checkbox",
- "checkbox"})
- if Bx ~= nil then
- if Bx[1] then
- -- 検索の結果をクリア
- gg.clearResults()
- -- 検索範囲を指定
- gg.setRanges(gg.REGION_C_BSS)
- -- DWORD型で「32400」を検索
- gg.searchNumber("32400", gg.TYPE_DWORD, false, gg.SIGN_EQUAL)
- -- 検索結果を取得
- local result = gg.getResults(1)
- -- 検索結果が存在する場合の処理
- if result[1] then
- local s = {}
- -- 結果のアドレスを基に新しいアドレスを設定
- s[1] = {address = result[1].address - 0x108, flags = gg.TYPE_DWORD, value = Bx[2]}
- s[2] = {address = result[1].address - 0x104, flags = gg.TYPE_DWORD, value = 0}
- -- メモリの値を設定
- gg.setValues(s)
- -- 結果をクリア
- gg.clearResults()
- -- 成功メッセージを表示
- gg.toast("成功")
- else
- -- 検索結果が存在しない場合のエラーメッセージを表示
- gg.toast("失敗")
- end
- end
- if Bx[3] then
- -- 検索結果をクリア
- gg.clearResults()
- -- 検索範囲を指定
- gg.setRanges(gg.REGION_C_BSS)
- -- DWORD型で「32400」を検索
- gg.searchNumber("32400", gg.TYPE_DWORD, false, gg.SIGN_EQUAL)
- -- 検索結果を取得
- local result = gg.getResults(1)
- -- 検索結果が存在する場合の処理
- if result[1] then
- local s = {}
- -- 結果のアドレスを基に新しいアドレスを設定
- s[1] = {address = result[1].address + 0x40, flags = gg.TYPE_DWORD, value = Bx[4]}
- s[2] = {address = result[1].address + 0x44, flags = gg.TYPE_DWORD, value = 0}
- -- メモリの値を設定
- gg.setValues(s)
- -- 結果をクリア
- gg.clearResults()
- -- 成功メッセージを表示
- gg.toast("成功")
- else
- -- 検索結果が存在しない場合のエラーメッセージを表示
- gg.toast("失敗")
- end
- end
- if Bx[5] then
- gg.clearResults()
- gg.setRanges(gg.REGION_C_BSS)
- gg.searchNumber("32400", gg.TYPE_DWORD, false, gg.SIGN_EQUAL)
- local result = gg.getResults(1)
- if result[1] then
- local s = {}
- s[1] = {address = result[1].address + 0x2ADC58, flags = gg.TYPE_DWORD, value = Bx[6]}
- s[2] = {address = result[1].address + 0x2ADC5C, flags = gg.TYPE_DWORD, value = 0}
- gg.setValues(s)
- gg.clearResults()
- gg.toast("成功")
- else
- gg.toast("失敗")
- end
- end
- if Bx[7] then
- gg.clearResults()
- gg.setRanges(gg.REGION_C_BSS)
- gg.searchNumber("32400", gg.TYPE_DWORD, false, gg.SIGN_EQUAL)
- local result = gg.getResults(1)
- if result[1] then
- local s = {}
- s[1] = {address = result[1].address + 0x2ADC60, flags = gg.TYPE_DWORD, value = Bx[8]}
- s[2] = {address = result[1].address + 0x2ADC64, flags = gg.TYPE_DWORD, value = 0}
- gg.setValues(s)
- gg.clearResults()
- gg.toast("成功")
- else
- gg.toast("失敗")
- end
- end
- if Bx[9] then
- gg.clearResults()
- gg.setRanges(gg.REGION_C_BSS)
- gg.searchNumber("32400", gg.TYPE_DWORD, false, gg.SIGN_EQUAL)
- local result = gg.getResults(1)
- if result[1] then
- local s = {}
- s[1] = {address = result[1].address + 0x654, flags = gg.TYPE_DWORD, value = 65585}
- s[2] = {address = result[1].address + 0x658, flags = gg.TYPE_DWORD, value = 65585}
- s[3] = {address = result[1].address + 0x65C, flags = gg.TYPE_DWORD, value = 65585}
- s[4] = {address = result[1].address + 0x664, flags = gg.TYPE_DWORD, value = 65585}
- s[5] = {address = result[1].address + 0x668, flags = gg.TYPE_DWORD, value = 65585}
- s[6] = {address = result[1].address + 0x66C, flags = gg.TYPE_DWORD, value = 65585}
- s[7] = {address = result[1].address + 0x670, flags = gg.TYPE_DWORD, value = 65585}
- s[8] = {address = result[1].address + 0x674, flags = gg.TYPE_DWORD, value = 65585}
- s[9] = {address = result[1].address + 0x678, flags = gg.TYPE_DWORD, value = 65585}
- s[10] = {address = result[1].address + 0x660, flags = gg.TYPE_DWORD, value = 65585}
- s[11] = {address = result[1].address + 0x67C, flags = gg.TYPE_DWORD, value = 65537}
- gg.setValues(s)
- gg.clearResults()
- gg.toast("成功")
- else
- gg.toast("失敗")
- end
- end
- if Bx[10] then
- local Mx = gg.choice({
- "1回のみ勝利する",
- "常に勝利する(氷結)"
- }, "即勝利")
- if Mx ~= nil then
- gg.clearResults()
- gg.setRanges(gg.REGION_C_BSS)
- gg.searchNumber("32400", gg.TYPE_DWORD, false, gg.SIGN_EQUAL)
- local result = gg.getResults(1)
- if result[1] then
- local s = {}
- s[1] = {}
- s[1].name = "即勝利"
- s[1].address = result[1].address + 0x74058
- s[1].flags = gg.TYPE_DWORD
- s[1].value = 0
- if Mx == 1 then
- -- 1回のみ勝利する場合
- s[1].freeze = false
- gg.setValues(s)
- gg.clearResults()
- gg.toast("1回のみ勝利する設定が成功しました")
- elseif Mx == 2 then
- -- 常に勝利する(氷結)の場合
- s[1].freeze = true
- gg.addListItems(s)
- gg.setValues(s)
- gg.clearResults()
- gg.toast("常に勝利する(氷結)設定が成功しました")
- else
- gg.toast("失敗")
- end
- else
- gg.toast("検索結果がありません")
- end
- end
- end
- if Bx[11] then
- Main()
- end
- end
- end
- function menu2()
- gg.toast("サブメニューを開きます")
- local Cx = gg.prompt({
- "全キャラ解放 ON",
- "エラーキャラ削除",
- "NP ON",
- "NP",
- "マタタビ ON",
- "キャッツアイ ON",
- "キャッツアイ",
- "ネコビタ ON",
- "ネコビタ",
- "城素材 ON",
- "城素材",
- "戻る"}, {
- [1] = false,
- [2] = false,
- [3] = false,
- [4] = NP,
- [5] = mata,
- [6] = false,
- [7] = eye,
- [8] = false,
- [9] = bta,
- [10] = false,
- [11] = rock,
- [12] = false,}, {
- "checkbox",
- "checkbox",
- "checkbox",
- "number",
- "checkbox",
- "checkbox",
- "number",
- "checkbox",
- "number",
- "checkbox",
- "number",
- "checkbox",})
- if Cx ~= nil then
- if Cx[1] then
- gg.clearResults()
- gg.setRanges(gg.REGION_C_BSS)
- gg.searchNumber("32400", gg.TYPE_DWORD, false, gg.SIGN_EQUAL)
- local result = gg.getResults(1)
- if result[1] then
- local s = {}
- s[1] = {address = result[1].address + 0x343E0, flags = gg.TYPE_DWORD, value = 0}
- s[2] = {address = result[1].address + 0x343DC, flags = gg.TYPE_DWORD, value = (gg.getValues({{address = result[1].address + 0x343DC}})[1].value or 0) + 1}
- gg.setValues(s)
- gg.clearResults()
- gg.toast("成功")
- else
- gg.toast("失敗")
- end
- end
- if Cx[2] then
- gg.clearResults()
- gg.setRanges(gg.REGION_C_BSS)
- gg.searchNumber("32400", gg.TYPE_DWORD, false, gg.SIGN_EQUAL)
- local result = gg.getResults(1)
- if #result > 0 then
- local s = {}
- for i = 1, 7 do
- s[i] = {}
- end
- s[1].address = result[1].address + 0x33a4C
- s[2].address = result[1].address + 0x33d2C
- s[3].address = result[1].address + 0x33d64
- s[4].address = result[1].address + 0x34264
- s[5].address = result[1].address + 0x34378
- s[6].address = result[1].address + 0x3437C
- s[7].address = result[1].address + 0x343b8
- for i = 1, 7 do
- s[i].flags = gg.TYPE_DWORD
- local value = gg.getValues({s[i]})[1].value
- s[i].value = (value or 0) + 1
- end
- gg.setValues(s)
- gg.clearResults()
- gg.toast("成功")
- else
- gg.toast("失敗")
- end
- end
- if Cx[3] then
- gg.clearResults()
- gg.setRanges(gg.REGION_C_BSS)
- gg.searchNumber("32400", gg.TYPE_DWORD, false, gg.SIGN_EQUAL)
- local result = gg.getResults(1)
- if #result > 0 then
- local s = {}
- s[1] = {}
- s[2] = {}
- s[1].address = result[1].address + 0x48
- s[2].address = result[1].address + 0x4C
- s[1].flags = gg.TYPE_DWORD
- s[2].flags = gg.TYPE_DWORD
- s[1].value = Cx[4] -- Cx[4]の値を設定
- s[2].value = 0
- gg.setValues(s)
- gg.clearResults()
- gg.toast("成功")
- else
- gg.toast("失敗")
- end
- end
- if Cx[5] then
- -- マタタビメニューを表示
- gg.toast("マタタビメニューを表示")
- -- マタタビの数を指定するためのプロンプトを表示
- local Xx = gg.prompt({
- "マタタビの数を指定"
- }, {
- [1] = matatabi
- }, {
- "number"
- })
- if Xx then
- gg.clearResults()
- gg.setRanges(gg.REGION_OTHER)
- -- 数値の検索
- gg.searchNumber("1048843D;4294967296Q;115964116992Q;120259084288Q:237", gg.TYPE_DWORD, false, gg.SIGN_EQUAL, 0, -1, 0)
- -- 検索結果の取得
- local result = gg.getResults(1)
- if result[1] then
- local s = {}
- -- アドレスとフラグの設定
- for i = 1, 29 do
- s[i] = {}
- -- 0x14から始まり、1個飛ばしでアドレスを計算
- s[i].address = result[1].address + 0x14 + (i - 1) * 0x08
- s[i].flags = gg.TYPE_DWORD
- s[i].value = Xx[1]
- end
- -- 値の設定
- gg.setValues(s)
- gg.toast("成功")
- else
- gg.toast("失敗")
- end
- else
- gg.toast("プロンプトで数値が指定されませんでした")
- end
- end
- if Cx[6] then
- gg.clearResults()
- gg.setRanges(gg.REGION_C_BSS)
- gg.searchNumber("32400", gg.TYPE_DWORD, false, gg.SIGN_EQUAL)
- local result = gg.getResults(1)
- if result[1] then
- local s = {}
- local baseAddress = result[1].address
- local offsets = {
- 0x39f734, 0x39f738, 0x39f73C, 0x39f740, 0x39f744,
- 0x39f748, 0x39f74C, 0x39f750, 0x39f754, 0x39f758,
- 0x39f75C, 0x39f760
- }
- -- 値の設定
- for i = 1, #offsets do
- s[i] = {
- address = baseAddress + offsets[i],
- flags = gg.TYPE_DWORD,
- value = (i % 2 == 1) and Cx[7] or 0 -- 奇数インデックスにCx[7]の値、偶数インデックスに0を設定
- }
- end
- gg.setValues(s)
- gg.clearResults()
- gg.toast("成功")
- else
- gg.toast("検索結果が見つかりませんでした")
- end
- else
- gg.toast("条件が満たされていません")
- end
- if Cx[8] then
- gg.clearResults()
- gg.setRanges(gg.REGION_C_BSS)
- gg.searchNumber("32400", gg.TYPE_DWORD, false, gg.SIGN_EQUAL)
- local results = gg.getResults(6)
- if #results > 0 then
- local s = {}
- for i = 1, 6 do
- s[i] = {}
- s[i].address = results[1].address + (0x39F764 + (i - 1) * 0x4)
- s[i].flags = gg.TYPE_DWORD
- s[i].value = (i % 2 == 1) and Cx[9] or 0
- end
- gg.setValues(s)
- gg.clearResults()
- gg.toast("成功")
- else
- gg.toast("失敗")
- end
- end
- if Cx[10] then
- gg.clearResults()
- gg.setRanges(gg.REGION_C_BSS)
- gg.searchNumber("32400", gg.TYPE_DWORD, false, gg.SIGN_EQUAL)
- local result = gg.getResults(1)
- if result[1] then
- local s = {}
- for i = 1, 18 do
- s[i] = {}
- s[i].address = result[1].address + 0x39F77C + (i - 1) * 0x4
- s[i].flags = gg.TYPE_DWORD
- s[i].value = (i % 2 == 1) and Cx[11] or 0
- end
- gg.setValues(s)
- gg.clearResults()
- gg.toast("成功")
- else
- gg.toast("失敗")
- end
- end
- if Cx[12] then
- Main()
- end
- end
- end
- function menu3()
- local Dx = gg.prompt({
- "ゴールド会員 ON",
- "バトルアイテム ON",
- "リーダーシップカンスト ON",
- "チケットメニュー ON",
- "城レベルメニュー ON",
- "ユーザーランク ON",
- "戻る"}, {
- [1] = false,
- [2] = false,
- [3] = false,
- [4] = false,
- [5] = false,
- [6] = false,
- [7] = false}, {
- "checkbox",
- "checkbox",
- "checkbox",
- "checkbox",
- "checkbox",
- "checkbox",
- "checkbox"})
- if Dx ~= nil then
- if Dx[1] then
- -- ユーザーに値を入力させる
- local Rx = gg.prompt({"ゴールド会員の回数を指定"}, {[1] = gold}, {"number"})
- -- ユーザーが値を入力しなかった場合のチェック
- if not Rx or not Rx[1] then
- gg.toast("無効な値が入力されました")
- return
- end
- -- メモリ範囲を設定
- gg.clearResults()
- gg.setRanges(gg.REGION_C_BSS)
- gg.searchNumber("32400", gg.TYPE_DWORD, false, gg.SIGN_EQUAL)
- -- 検索結果を取得
- local result = gg.getResults(1)
- -- 検索結果が取得できなかった場合のチェック
- if not result[1] or not result[1].address then
- gg.toast("アドレスの取得に失敗しました")
- return
- end
- -- 検索結果に基づいてアドレスと値を設定
- local s = {}
- for i = 1, 10 do
- s[i] = {}
- end
- s[1].address = result[1].address - 0x8F74
- s[2].address = result[1].address - 0x8F64
- s[3].address = result[1].address - 0x8F5C
- s[4].address = result[1].address - 0x8F70
- s[5].address = result[1].address - 0x8F68
- s[6].address = result[1].address - 0x8F60
- s[7].address = result[1].address - 0x8F58
- s[8].address = result[1].address - 0x8F54
- s[9].address = result[1].address - 0x8F50
- s[10].address = result[1].address - 0x8F4C
- s[1].flags = gg.TYPE_QWORD
- s[2].flags = gg.TYPE_DWORD
- s[3].flags = gg.TYPE_DWORD
- s[4].flags = gg.TYPE_DWORD
- s[5].flags = gg.TYPE_DWORD
- s[6].flags = gg.TYPE_DWORD
- s[7].flags = gg.TYPE_DWORD
- s[8].flags = gg.TYPE_DWORD
- s[9].flags = gg.TYPE_DWORD
- s[10].flags = gg.TYPE_DWORD
- s[1].value = Rx[1]
- s[2].value = 1104786382
- s[3].value = 1104788998
- s[4].value = Rx[1]
- s[5].value = -603979776
- s[6].value = 2080374784
- s[7].value = -603979776
- s[8].value = 1104786382
- s[9].value = 2080374784
- s[10].value = 1104788998
- -- 値の設定を実行
- local success, err = pcall(function()
- gg.setValues(s)
- end)
- if success then
- gg.clearResults()
- gg.toast("成功")
- else
- gg.toast("設定に失敗しました: " .. tostring(err))
- end
- else
- gg.toast("Dx[1] が存在しません")
- end
- if Dx[2] then
- local Lx = gg.prompt({
- "バトルアイテム数指定"
- }, {
- [1] = batle
- }, {
- "number"
- })
- if not Lx then
- gg.toast("キャンセルされました")
- return
- end
- gg.clearResults()
- gg.setRanges(gg.REGION_C_BSS)
- gg.searchNumber("32400", gg.TYPE_DWORD, false, gg.SIGN_EQUAL)
- local result = gg.getResults(1)
- if result[1] then
- local s = {}
- for i = 1, 12 do
- s[i] = {}
- s[i].address = result[1].address + 0x36898 + (i - 1) * 0x4
- s[i].flags = gg.TYPE_DWORD
- s[i].value = (i % 2 == 1) and Lx[1] or 0
- end
- gg.setValues(s)
- gg.clearResults()
- gg.toast("成功")
- else
- gg.toast("失敗")
- end
- end
- if Dx[3] then
- gg.clearResults()
- gg.setRanges(gg.REGION_C_BSS)
- gg.searchNumber("32400", gg.TYPE_DWORD, false, gg.SIGN_EQUAL)
- local result = gg.getResults(1)
- if result[1] then
- local s = {}
- s[1] = {}
- s[1].address = result[1].address - 0x8FD8
- s[1].flags = gg.TYPE_FLOAT
- s[1].value = 1.98452366e-15
- gg.setValues(s)
- gg.clearResults()
- gg.toast("成功")
- else
- gg.toast("検索結果が見つかりませんでした")
- end
- else
- gg.toast("条件が満たされていません")
- end
- if Dx[4] then
- local Px = gg.prompt({
- "プラチナチケット ON",
- "プラチケ",
- "プラチナ欠片 ON",
- "欠片",
- "レジェンド ON",
- "レジェンド",
- "戻る"
- }, {
- [1] = false,
- [2] = pla,
- [3] = false,
- [4] = hen,
- [5] = false,
- [6] = leg,
- [7] = false
- }, {
- "checkbox",
- "number",
- "checkbox",
- "number",
- "checkbox",
- "number",
- "checkbox"
- })
- if Px == nil then
- gg.toast("操作がキャンセルされました")
- return
- end
- if Px[1] then
- local result = performSearchAndSetValues(0x88f8, 0x88f4, Px[2])
- if result then gg.toast("プラチナチケット設定成功") else gg.toast("プラチナチケット設定失敗") end
- end
- if Px[3] then
- local result = performSearchAndSetValues(0x88e8, 0x88e4, Px[4])
- if result then gg.toast("プラチナ欠片設定成功") else gg.toast("プラチナ欠片設定失敗") end
- end
- if Px[5] then
- local result = performSearchAndSetValues(0x88f0, 0x88ec, Px[6])
- if result then gg.toast("レジェンド設定成功") else gg.toast("レジェンド設定失敗") end
- end
- end
- function performSearchAndSetValues(offset1, offset2, value)
- gg.clearResults()
- gg.setRanges(gg.REGION_C_BSS)
- gg.searchNumber("32400", gg.TYPE_DWORD, false, gg.SIGN_EQUAL)
- local result = gg.getResults(1)
- if result[1] then
- local s = {}
- s[1] = { address = result[1].address - offset1, flags = gg.TYPE_DWORD, value = value }
- s[2] = { address = result[1].address - offset2, flags = gg.TYPE_DWORD, value = 0 }
- gg.setValues(s)
- gg.clearResults()
- return true
- else
- return false
- end
- end
- if Dx[5] then
- local Vx = gg.prompt({
- "城レベルを指定"
- }, {
- [1] = level
- }, {
- "number"
- })
- if Vx == nil then
- gg.toast("操作がキャンセルされました")
- return
- end
- gg.clearResults()
- gg.setRanges(gg.REGION_C_BSS)
- gg.searchNumber("32400", gg.TYPE_DWORD, false, gg.SIGN_EQUAL)
- local result = gg.getResults(1)
- if result[1] then
- local baseAddress = result[1].address
- local offsets = {
- 0x367e4, 0x367e8, 0x367f4, 0x367f8, 0x367fC, 0x36800, 0x36804,
- 0x36808, 0x3680C, 0x36810, 0x36814, 0x36818, 0x3681C, 0x36820,
- 0x36824, 0x36828, 0x3682C, 0x36830, 0x36834, 0x36838
- }
- local s = {}
- for i = 1, #offsets do
- s[i] = {}
- s[i].address = baseAddress + offsets[i]
- s[i].flags = gg.TYPE_DWORD
- s[i].value = (i % 2 == 1) and Vx[1] or 0
- end
- gg.setValues(s)
- gg.clearResults()
- gg.toast("成功")
- else
- gg.toast("検索結果が見つかりませんでした")
- end
- else
- gg.toast("Dx[5] が偽です")
- end
- if Dx[6] then
- local Wx = gg.prompt({
- "ユーザーランクを指定"
- }, {
- [1] = dog
- }, {
- "number"
- })
- if Wx == nil then
- gg.toast("操作がキャンセルされました")
- return
- end
- gg.clearResults()
- gg.setRanges(gg.REGION_C_BSS)
- gg.searchNumber("32400", gg.TYPE_DWORD, false, gg.SIGN_EQUAL)
- local result = gg.getResults(1)
- if result[1] then
- local s = {}
- s[1] = {}
- s[1].address = result[1].address - 0xA6A8
- s[1].flags = gg.TYPE_DWORD
- s[1].value = Wx[1]
- s[1].freeze = true
- s[1].name = "ユーザーランク"
- gg.setValues(s)
- gg.addListItems(s)
- gg.clearResults()
- gg.toast("成功")
- else
- gg.toast("検索結果が見つかりませんでした")
- end
- else
- gg.toast("Dx[6] が偽です")
- end
- if Dx[7] then
- Main()
- end
- end
- end
- function menu4()
- local Ex = gg.prompt({
- "生産額無料 ON",
- "ベビーラッシュ ON",
- "自城HPメニュー ON",
- "敵城HPメニュー ON",
- "イベガチャチケ ON",
- "道場スコアメニュー ON",
- "神のチカラメニュー ON",
- "戻る"}, {
- [1] = false,
- [2] = false,
- [3] = false,
- [4] = false,
- [5] = false,
- [6] = false,
- [7] = false,
- [8] = false}, {
- "checkbox",
- "checkbox",
- "checkbox",
- "checkbox",
- "checkbox",
- "checkbox",
- "checkbox",
- "checkbox"})
- if Ex ~= nil then
- if Ex[1] then
- local Qx = gg.prompt({
- "改ざんしたいキャラの現在の値段を入力",
- "改ざんしたい値段を入力"
- }, {
- [1] = dojo,
- [2] = ilei
- }, {
- "number",
- "number"
- })
- if Qx == nil then
- gg.toast("操作がキャンセルされました")
- return
- end
- local currentPrice = Qx[1] * 100
- local newPrice = Qx[2] * 100
- gg.clearResults()
- gg.setRanges(gg.REGION_C_BSS)
- gg.searchNumber(currentPrice, gg.TYPE_DWORD)
- local results = gg.getResults(10000)
- if #results > 0 then
- for i = 1, #results do
- results[i].value = newPrice
- end
- gg.setValues(results)
- gg.clearResults()
- gg.toast("値段が変更されました")
- else
- gg.toast("指定した値段が見つかりませんでした")
- end
- else
- gg.toast("Ex[1] が偽です")
- end
- if Ex[2] then
- local Ox = gg.choice({
- "1回のみONにする",
- "常にベビーラッシュ(氷結)"
- }, "ベビーラッシュ")
- if Ox ~= nil then
- gg.clearResults()
- gg.setRanges(gg.REGION_C_BSS)
- gg.searchNumber("32400", gg.TYPE_DWORD, false, gg.SIGN_EQUAL)
- gg.getResults(1, nil, nil, nil, nil, nil, nil, nil, nil)
- local result = gg.getResults(1)
- if #result > 0 then
- local s = {}
- s[1] = {}
- s[1].name = "ベビーラッシュ"
- s[1].address = result[1].address + 0x2ac7d0
- s[1].flags = gg.TYPE_DWORD
- s[1].value = 1
- if Ox == 2 then
- s[1].freeze = true
- gg.addListItems(s)
- end
- gg.setValues(s)
- gg.clearResults()
- gg.toast("成功")
- else
- gg.toast("検索結果が見つかりませんでした")
- end
- else
- gg.toast("選択肢が無効です")
- end
- end
- if Ex[3] then
- local Mx = gg.prompt({
- "自城HPを指定"
- }, {
- [1] = dog
- }, {
- "number"
- })
- if Mx ~= nil and Mx[1] ~= nil then
- gg.clearResults()
- gg.setRanges(gg.REGION_C_BSS)
- gg.searchNumber("32400", gg.TYPE_DWORD, false, gg.SIGN_EQUAL)
- gg.getResults(1, nil, nil, nil, nil, nil, nil, nil, nil)
- local result = gg.getResults(1)
- if #result > 0 then
- local s = {}
- s[1] = {}
- s[1].address = result[1].address + 0x68DD8
- s[1].flags = gg.TYPE_DWORD
- s[1].value = Mx[1]
- gg.setValues(s)
- gg.clearResults()
- gg.toast("成功")
- else
- gg.toast("検索結果が見つかりませんでした")
- end
- else
- gg.toast("無効な入力です")
- end
- else
- gg.toast("失敗")
- end
- if Ex[4] then
- local Ix = gg.prompt({
- "敵城HPを指定"
- }, {
- [1] = dog
- }, {
- "number"
- })
- if Ix ~= nil and Ix[1] ~= nil then
- gg.clearResults()
- gg.setRanges(gg.REGION_C_BSS)
- gg.searchNumber("32400", gg.TYPE_DWORD, false, gg.SIGN_EQUAL)
- gg.getResults(1, nil, nil, nil, nil, nil, nil, nil, nil)
- local result = gg.getResults(1)
- if #result > 0 then
- local s = {}
- s[1] = {}
- s[1].address = result[1].address + 0x74058
- s[1].flags = gg.TYPE_DWORD
- s[1].value = Ix[1]
- gg.setValues(s)
- gg.addListItems(s)
- gg.clearResults()
- gg.toast("成功")
- else
- gg.toast("検索結果が見つかりませんでした")
- end
- else
- gg.toast("無効な入力です")
- end
- else
- gg.toast("失敗")
- end
- if Ex[5] then
- local hnO = gg.prompt({
- "イベントガチャチケ"
- }, {
- [1] = dog
- }, {
- "number"
- })
- if hnO ~= nil and hnO[1] ~= nil then
- gg.clearResults()
- gg.setRanges(gg.REGION_C_BSS)
- gg.searchNumber("32400", gg.TYPE_DWORD, false, gg.SIGN_EQUAL)
- gg.getResults(1, nil, nil, nil, nil, nil, nil, nil, nil)
- local result = gg.getResults(1)
- if #result > 0 then
- local s = {}
- s[1] = {}
- s[1].address = result[1].address + 0x2adce4
- s[1].flags = gg.TYPE_DWORD
- s[1].value = hnO[1]
- gg.setValues(s)
- gg.clearResults()
- gg.toast("成功")
- else
- gg.toast("検索結果が見つかりませんでした")
- end
- else
- gg.toast("無効な入力です")
- end
- else
- gg.toast("失敗")
- end
- if Ex[6] then
- local Jx = gg.prompt({
- "道場のスコアを指定"
- }, {
- [1] = dojo
- }, {
- "number"
- })
- if Jx ~= nil and Jx[1] ~= nil then
- gg.clearResults()
- gg.setRanges(gg.REGION_C_BSS)
- gg.searchNumber("32400", gg.TYPE_DWORD, false, gg.SIGN_EQUAL)
- gg.getResults(1, nil, nil, nil, nil, nil, nil, nil, nil)
- local result = gg.getResults(1)
- if #result > 0 then
- local s = {}
- s[1] = {}
- s[1].address = result[1].address - 0x7fd4
- s[1].flags = gg.TYPE_DWORD
- s[1].value = Jx[1]
- gg.setValues(s)
- gg.clearResults()
- gg.toast("成功")
- else
- gg.toast("検索結果が見つかりませんでした")
- end
- else
- gg.toast("無効な入力です")
- end
- else
- gg.toast("失敗")
- end
- if Ex[7] then
- local Sx = gg.choice({
- "いやしの楽園 ON",
- "神の怒り ON",
- "かみのくしゃみ ON"
- }, "神のチカラメニュー")
- if Sx ~= nil then
- local offsets = {
- [1] = 0x2ac7c4,
- [2] = 0x2ac7c8,
- [3] = 0x2ac7cc
- }
- local offset = offsets[Sx]
- if offset then
- gg.clearResults()
- gg.setRanges(gg.REGION_C_BSS)
- gg.searchNumber("32400", gg.TYPE_DWORD, false, gg.SIGN_EQUAL)
- local result = gg.getResults(1)
- if #result > 0 then
- local s = {}
- s[1] = {}
- s[1].address = result[1].address + offset
- s[1].flags = gg.TYPE_DWORD
- s[1].value = 1
- gg.setValues(s)
- gg.clearResults()
- gg.toast("成功")
- else
- gg.toast("検索結果が見つかりませんでした")
- end
- else
- gg.toast("無効な選択肢です")
- end
- else
- gg.toast("失敗")
- end
- end
- if Ex[8] then
- Main()
- end
- end
- end
- function menu5()
- local Nx = gg.prompt({
- "旧レジェ開放 ON",
- "新レジェ開放 ON",
- "0レジェ開放 ON",
- "個別ステ開放メニュー ON",
- "戻る"}, {
- [1] = false,
- [2] = false,
- [3] = false,
- [4] = false,
- [5] = false}, {
- "checkbox",
- "checkbox",
- "checkbox",
- "checkbox",
- "checkbox"})
- if Nx ~= nil then
- if Nx[1] then
- gg.clearResults()
- gg.setRanges(gg.REGION_C_BSS)
- gg.searchNumber("32400", gg.TYPE_DWORD, false, gg.SIGN_EQUAL)
- local result = gg.getResults(1)
- if #result > 0 then
- local s = {}
- local baseOffset1 = 0x2BE198 -- 1〜49番目のオフセット
- local baseOffset2 = 0x2EF3B8 -- 50〜98番目のオフセット
- local value1 = 8
- local value2 = 3
- -- 1〜98番目のアドレス設定
- for i = 1, 98 do
- s[i] = {}
- if i <= 49 then
- -- 1〜49番目のアドレス
- s[i].address = result[1].address + (baseOffset1 + (i - 1) * 4)
- s[i].value = value1
- else
- -- 50〜98番目のアドレス
- s[i].address = result[1].address + (baseOffset2 + (i - 50) * 4)
- s[i].value = value2
- end
- s[i].flags = gg.TYPE_DWORD
- end
- -- 99番目のアドレス設定
- s[99] = {}
- s[99].address = result[1].address + 0x2C13A8
- s[99].flags = gg.TYPE_DWORD
- s[99].value = 1
- -- 値の設定を一度に実行
- gg.setValues(s)
- gg.clearResults()
- gg.toast("成功")
- else
- gg.toast("失敗")
- end
- end
- if Nx[4] then
- -- 日本編、未来編、宇宙編の選択肢を表示
- local Hx = gg.prompt({
- "日本編",
- "未来編",
- "宇宙編"
- }, {
- [1] = false,
- [2] = false,
- [3] = false
- }, {
- "checkbox",
- "checkbox",
- "checkbox"
- })
- -- 選択した編に応じた処理
- if Hx ~= nil then
- -- 編ごとのオフセットマップ
- local offsets = {
- Japan = {0x654, 0x658, 0x65C},
- Future = {0x664, 0x668, 0x66C},
- Space = {0x670, 0x674, 0x678}
- }
- -- 各編の章ごとの値
- local chapters = {
- [1] = 65585
- }
- -- 日本編の処理
- if Hx[1] then
- local Ux = gg.prompt({
- "日本編1章",
- "日本編2章",
- "日本編3章"
- }, {
- [1] = false,
- [2] = false,
- [3] = false
- }, {
- "checkbox",
- "checkbox",
- "checkbox"
- })
- if Ux ~= nil then
- local address_offset = offsets.Japan
- local base_value = "32400"
- for i = 1, 3 do
- if Ux[i] then
- gg.clearResults()
- gg.setRanges(gg.REGION_C_BSS)
- gg.searchNumber(base_value, gg.TYPE_DWORD, false, gg.SIGN_EQUAL)
- local result = gg.getResults(1)
- if result[1] then
- local s = {
- {
- address = result[1].address + address_offset[i],
- flags = gg.TYPE_DWORD,
- value = chapters[i]
- }
- }
- gg.setValues(s)
- gg.clearResults()
- gg.toast("成功")
- else
- gg.toast("失敗")
- end
- end
- end
- end
- end
- -- 未来編の処理
- if Hx[2] then
- local Zx = gg.prompt({
- "未来編1章",
- "未来編2章",
- "未来編3章"
- }, {
- [1] = false,
- [2] = false,
- [3] = false
- }, {
- "checkbox",
- "checkbox",
- "checkbox"
- })
- if Zx ~= nil then
- local address_offset = offsets.Future
- local base_value = "32400"
- for i = 1, 2 do
- if Zx[i] then
- gg.clearResults()
- gg.setRanges(gg.REGION_C_BSS)
- gg.searchNumber(base_value, gg.TYPE_DWORD, false, gg.SIGN_EQUAL)
- local result = gg.getResults(1)
- if result[1] then
- local s = {
- {
- address = result[1].address + address_offset[i],
- flags = gg.TYPE_DWORD,
- value = chapters[i]
- }
- }
- gg.setValues(s)
- gg.clearResults()
- gg.toast("成功")
- else
- gg.toast("失敗")
- end
- end
- end
- end
- end
- -- 宇宙編の処理
- if Hx[3] then
- local Jx = gg.prompt({
- "宇宙編1章",
- "宇宙編2章",
- "宇宙編3章"
- }, {
- [1] = false,
- [2] = false,
- [3] = false
- }, {
- "checkbox",
- "checkbox",
- "checkbox"
- })
- if Jx ~= nil then
- local address_offset = offsets.Space
- local base_value = "32400"
- for i = 1, 3 do
- if Jx[i] then
- gg.clearResults()
- gg.setRanges(gg.REGION_C_BSS)
- gg.searchNumber(base_value, gg.TYPE_DWORD, false, gg.SIGN_EQUAL)
- local result = gg.getResults(1)
- if result[1] then
- local s = {
- {
- address = result[1].address + address_offset[i],
- flags = gg.TYPE_DWORD,
- value = chapters[i]
- }
- }
- gg.setValues(s)
- gg.clearResults()
- gg.toast("成功")
- else
- gg.toast("失敗")
- end
- end
- end
- end
- end
- end
- end
- if Nx[5] then
- Main()
- end
- end
- end
- if Lext == 1 then
- Main()
- end
- end
- end
Advertisement
Add Comment
Please, Sign In to add comment