You are on page 1of 17

arch = gg.

getTargetInfo()
if arch.x64 == true then
script_coins_functions = {
['ARM8'] = {
[1] = {
['edits'] = {
[1] = {
[1] = '0xDCA1EC',
[2] = '14008052r',
[3] = false,
[4] = '',
[5] = '',
[6] = '0xDCA1EC'
}
},
['name'] = 'Free Coins Purchases'
}
}
}
script_gems_functions = {
['ARM8'] = {
[1] = {
['edits'] = {
[1] = {
[1] = '0xF69068',
[2] = '13008052r',
[3] = false,
[4] = '',
[5] = '',
[6] = '0xF69068'
}
},
['name'] = 'Free Gems Purchases'
}
}
}
script_tokens_functions = {
['ARM8'] = {
[1] = {
['edits'] = {
[1] = {
[1] = '0x6BA474 ',
[2] = '28FA8052r',
[3] = false,
[4] = '',
[5] = '',
[6] = '0x6BA474'
},
[2] = {
[1] = '0xBBF9C4',
[2] = '28FA8052r',
[3] = false,
[4] = '',
[5] = '',
[6] = '0xBBF9C4'
}
},
['name'] = 'Free Tokens Purchases'
}
}
}
script_scrap_functions = {
['ARM8'] = {
[1] = {
['edits'] = {
[1] = {
[1] = '0xFCA0E0',
[2] = '01008052r',
[3] = false,
[4] = '',
[5] = '',
[6] = '0xFCA0E0'
},
[2] = {
[1] = '0xCEB314',
[2] = 'E8131432r',
[3] = false,
[4] = '',
[5] = '',
[6] = '0xCEB314'
}
},
['name'] = 'Free Scrap Purchases'
}
}
}
else
script_coins_functions = {
['ARM7'] = {
[1] = {
['edits'] = {
[1] = {
[1] = '0x4EA800',
[2] = '0024r',
[3] = false,
[4] = '',
[5] = '',
[6] = '0x4EA800'
}
},
['name'] = 'Free Coins Purchases'
}
}
}
script_gems_functions = {
['ARM7'] = {
[1] = {
['edits'] = {
[1] = {
[1] = '0x8B8596',
[2] = '0025r',
[3] = false,
[4] = '',
[5] = '',
[6] = '0x8B8596'
}
},
['name'] = 'Free Gems Purchases'
}
}
}
script_tokens_functions = {
['ARM7'] = {
[1] = {
['edits'] = {
[1] = {
[1] = '0x307DE4',
[2] = '40F2D172r',
[3] = false,
[4] = '',
[5] = '',
[6] = '0x307DE4'
},
[2] = {
[1] = '0x60C798',
[2] = '40F2D171r',
[3] = false,
[4] = '',
[5] = '',
[6] = '0x60C798'
}
},
['name'] = 'Free Tokens Purchases'
}
}
}
script_scrap_functions = {
['ARM7'] = {
[1] = {
['edits'] = {
[1] = {
[1] = '0x51CE68',
[2] = '0021r',
[3] = false,
[4] = '',
[5] = '',
[6] = '0x51CE68'
},
[2] = {
[1] = '0x9FF5C4',
[2] = '4FF40031r',
[3] = false,
[4] = '',
[5] = '',
[6] = '0x9FF5C4'
}
},
['name'] = 'Free Scrap Purchases'
}
}
}
end
generated_script_title = "HCR2 \n\n Free Shopping! - By NoFear & Rei"
target_process = "com.fingersoft.hcr2"
target_name = "Hill Climb Racing 2"
if gg.getTargetPackage() ~= target_process then
gg.alert("This script was written for " .. target_name .. " (" ..
target_process .. ") but you are attached to " ..
arch.label .. " (" .. gg.getTargetPackage() .. "). Attach to the
correct process and try again.")
os.exit()
end

function getlib_1()
lib_size = 0
lib_index = ""
for i, v in pairs(gg.getRangesList("libcocos2dcpp.so")) do
if v["end"] - v["start"] > lib_size and v["state"] == "Xa" then
lib_size = v["end"] - v["start"]
lib_index = i
end
end
BASEADDR = gg.getRangesList("libcocos2dcpp.so")[lib_index].start
end

getlib_1()

if arch.x64 == true then


end_bool = "1EFF2FE1r"
file_coins_ext = "ARM8"
file_gems_ext = "ARM8"
file_tokens_ext = "ARM8"
file_scrap_ext = "ARM8"
else
end_bool = "1EFF2FE1r"
file_coins_ext = "ARM7"
file_gems_ext = "ARM7"
file_tokens_ext = "ARM7"
file_scrap_ext = "ARM7"
end

function get_original_coins_values(func_coins_index)
local temp_table = {}
for i, v in pairs(script_coins_functions[file_coins_ext]
[func_coins_index].edits) do
if string.len(v[2]) == 9 then
if script_coins_functions[file_coins_ext][func_coins_index]["edits"][i]
[3] == false then
temp_table[1] = {}
temp_table[1].address = script_coins_functions[file_coins_ext]
[func_coins_index]["edits"][i][1] +
BASEADDR
temp_table[1].flags = gg.TYPE_DWORD
temp_table = gg.getValues(temp_table)
script_coins_functions[file_coins_ext][func_coins_index]["edits"]
[i][7] = {temp_table[1].value}
end
if script_coins_functions[file_coins_ext][func_coins_index]["edits"][i]
[3] == true then
temp_table[1] = {}
temp_table[1].address = script_coins_functions[file_coins_ext]
[func_coins_index]["edits"][i][1] +
BASEADDR
temp_table[1].flags = gg.TYPE_DWORD
temp_table[2] = {}
temp_table[2].address = script_coins_functions[file_coins_ext]
[func_coins_index]["edits"][i][1] + 4 +
BASEADDR
temp_table[2].flags = gg.TYPE_DWORD
temp_table = gg.getValues(temp_table)
script_coins_functions[file_coins_ext][func_coins_index]["edits"]
[i][7] = {temp_table[1].value,

temp_table[2].value}
end
else
if script_coins_functions[file_coins_ext][func_coins_index]["edits"][i]
[3] == false then
temp_table[1] = {}
temp_table[1].address = script_coins_functions[file_coins_ext]
[func_coins_index]["edits"][i][1] +
BASEADDR
temp_table[1].flags = gg.TYPE_WORD
temp_table = gg.getValues(temp_table)
script_coins_functions[file_coins_ext][func_coins_index]["edits"]
[i][7] = {temp_table[1].value}
end
if script_coins_functions[file_coins_ext][func_coins_index]["edits"][i]
[3] == true then
temp_table[1] = {}
temp_table[1].address = script_coins_functions[file_coins_ext]
[func_coins_index]["edits"][i][1] +
BASEADDR
temp_table[1].flags = gg.TYPE_WORD
temp_table[2] = {}
temp_table[2].address = script_coins_functions[file_coins_ext]
[func_coins_index]["edits"][i][1] + 4 +
BASEADDR
temp_table[2].flags = gg.TYPE_WORD
temp_table = gg.getValues(temp_table)
script_coins_functions[file_coins_ext][func_coins_index]["edits"]
[i][7] = {temp_table[1].value,

temp_table[2].value}
end
end
end
end

function restore_coins_value(func_coins_index)
restore_coins_temp_table = {}
local temp_index = 1
for i, v in pairs(script_coins_functions[file_coins_ext]
[func_coins_index].edits) do
if string.len(v[2]) == 9 then
restore_coins_temp_table[temp_index] = {}
restore_coins_temp_table[temp_index].address = v[1] + BASEADDR
restore_coins_temp_table[temp_index].flags = gg.TYPE_DWORD
restore_coins_temp_table[temp_index].value = v[7][1]
temp_index = temp_index + 1
if v[3] == true then
restore_coins_temp_table[temp_index] = {}
restore_coins_temp_table[temp_index].address = v[1] + BASEADDR + 4
restore_coins_temp_table[temp_index].flags = gg.TYPE_DWORD
restore_coins_temp_table[temp_index].value = v[7][2]
temp_index = temp_index + 1
end
else
restore_coins_temp_table[temp_index] = {}
restore_coins_temp_table[temp_index].address = v[1] + BASEADDR
restore_coins_temp_table[temp_index].flags = gg.TYPE_WORD
restore_coins_temp_table[temp_index].value = v[7][1]
temp_index = temp_index + 1
if v[3] == true then
restore_coins_temp_table[temp_index] = {}
restore_coins_temp_table[temp_index].address = v[1] + BASEADDR + 4
restore_coins_temp_table[temp_index].flags = gg.TYPE_WORD
restore_coins_temp_table[temp_index].value = v[7][2]
temp_index = temp_index + 1
end
end
end
gg.setValues(restore_coins_temp_table)
gg.toast(string.gsub(script_coins_functions[file_coins_ext][func_coins_index]
["name"], "Disable ", "") ..
" disabled.")
gg.sleep(1000)
end

function set_coins_value(func_coins_index)
if string.find(script_coins_functions[file_coins_ext][func_coins_index]
["name"], "^Disable ") then
script_coins_functions[file_coins_ext][func_coins_index]["name"] =
string.gsub(
script_coins_functions[file_coins_ext][func_coins_index]["name"],
"^Disable ", "")
restore_coins_value(func_coins_index)
else
script_coins_functions[file_coins_ext][func_coins_index]["name"] = "Disable
" ..

script_coins_functions[file_coins_ext][func_coins_index]["name"]
local count = 0
set_coins_temp_table = {}
local temp_index = 1
for i, v in pairs(script_coins_functions[file_coins_ext]
[func_coins_index].edits) do
if string.len(v[2]) == 9 then
set_coins_temp_table[temp_index] = {}
set_coins_temp_table[temp_index].address = v[1] + BASEADDR
set_coins_temp_table[temp_index].flags = gg.TYPE_DWORD
set_coins_temp_table[temp_index].value = v[2]
temp_index = temp_index + 1
if v[3] == true then
set_coins_temp_table[temp_index] = {}
set_coins_temp_table[temp_index].address = v[1] + BASEADDR + 4
set_coins_temp_table[temp_index].flags = gg.TYPE_DWORD
set_coins_temp_table[temp_index].value = end_bool
temp_index = temp_index + 1
end
else
set_coins_temp_table[temp_index] = {}
set_coins_temp_table[temp_index].address = v[1] + BASEADDR
set_coins_temp_table[temp_index].flags = gg.TYPE_WORD
set_coins_temp_table[temp_index].value = v[2]
temp_index = temp_index + 1
if v[3] == true then
set_coins_temp_table[temp_index] = {}
set_coins_temp_table[temp_index].address = v[1] + BASEADDR + 4
set_coins_temp_table[temp_index].flags = gg.TYPE_WORD
set_coins_temp_table[temp_index].value = end_bool
temp_index = temp_index + 1
end
end
for index, value in pairs(v) do
count = count + 1
end
if count == 6 then
get_original_coins_values(func_coins_index)
end
end
gg.setValues(set_coins_temp_table)
gg.toast(string.gsub(script_coins_functions[file_coins_ext]
[func_coins_index]["name"], "Disable ", "") ..
" enabled.")
gg.sleep(1000)
end
end

function get_original_gems_values(func_gems_index)
local temp_table = {}
for i, v in pairs(script_gems_functions[file_gems_ext][func_gems_index].edits)
do
if string.len(v[2]) == 9 then
if script_gems_functions[file_gems_ext][func_gems_index]["edits"][i][3]
== false then
temp_table[1] = {}
temp_table[1].address = script_gems_functions[file_gems_ext]
[func_gems_index]["edits"][i][1] + BASEADDR
temp_table[1].flags = gg.TYPE_DWORD
temp_table = gg.getValues(temp_table)
script_gems_functions[file_gems_ext][func_gems_index]["edits"][i]
[7] = {temp_table[1].value}
end
if script_gems_functions[file_gems_ext][func_gems_index]["edits"][i][3]
== true then
temp_table[1] = {}
temp_table[1].address = script_gems_functions[file_gems_ext]
[func_gems_index]["edits"][i][1] + BASEADDR
temp_table[1].flags = gg.TYPE_DWORD
temp_table[2] = {}
temp_table[2].address = script_gems_functions[file_gems_ext]
[func_gems_index]["edits"][i][1] + 4 +
BASEADDR
temp_table[2].flags = gg.TYPE_DWORD
temp_table = gg.getValues(temp_table)
script_gems_functions[file_gems_ext][func_gems_index]["edits"][i]
[7] = {temp_table[1].value,

temp_table[2].value}
end
else
if script_gems_functions[file_gems_ext][func_gems_index]["edits"][i][3]
== false then
temp_table[1] = {}
temp_table[1].address = script_gems_functions[file_gems_ext]
[func_gems_index]["edits"][i][1] + BASEADDR
temp_table[1].flags = gg.TYPE_WORD
temp_table = gg.getValues(temp_table)
script_gems_functions[file_gems_ext][func_gems_index]["edits"][i]
[7] = {temp_table[1].value}
end
if script_gems_functions[file_gems_ext][func_gems_index]["edits"][i][3]
== true then
temp_table[1] = {}
temp_table[1].address = script_gems_functions[file_gems_ext]
[func_gems_index]["edits"][i][1] + BASEADDR
temp_table[1].flags = gg.TYPE_WORD
temp_table[2] = {}
temp_table[2].address = script_gems_functions[file_gems_ext]
[func_gems_index]["edits"][i][1] + 4 +
BASEADDR
temp_table[2].flags = gg.TYPE_WORD
temp_table = gg.getValues(temp_table)
script_gems_functions[file_gems_ext][func_gems_index]["edits"][i]
[7] = {temp_table[1].value,

temp_table[2].value}
end
end
end
end

function restore_gems_value(func_gems_index)
restore_temp_gems_table = {}
local temp_index = 1
for i, v in pairs(script_gems_functions[file_gems_ext][func_gems_index].edits)
do
if string.len(v[2]) == 9 then
restore_temp_gems_table[temp_index] = {}
restore_temp_gems_table[temp_index].address = v[1] + BASEADDR
restore_temp_gems_table[temp_index].flags = gg.TYPE_DWORD
restore_temp_gems_table[temp_index].value = v[7][1]
temp_index = temp_index + 1
if v[3] == true then
restore_temp_gems_table[temp_index] = {}
restore_temp_gems_table[temp_index].address = v[1] + BASEADDR + 4
restore_temp_gems_table[temp_index].flags = gg.TYPE_DWORD
restore_temp_gems_table[temp_index].value = v[7][2]
temp_index = temp_index + 1
end
else
restore_temp_gems_table[temp_index] = {}
restore_temp_gems_table[temp_index].address = v[1] + BASEADDR
restore_temp_gems_table[temp_index].flags = gg.TYPE_WORD
restore_temp_gems_table[temp_index].value = v[7][1]
temp_index = temp_index + 1
if v[3] == true then
restore_temp_gems_table[temp_index] = {}
restore_temp_gems_table[temp_index].address = v[1] + BASEADDR + 4
restore_temp_gems_table[temp_index].flags = gg.TYPE_WORD
restore_temp_gems_table[temp_index].value = v[7][2]
temp_index = temp_index + 1
end
end
end
gg.setValues(restore_temp_gems_table)
gg.toast(string.gsub(script_gems_functions[file_gems_ext][func_gems_index]
["name"], "Disable ", "") .. " disabled.")
gg.sleep(1000)
end

function set_gems_value(func_gems_index)
if string.find(script_gems_functions[file_gems_ext][func_gems_index]["name"],
"^Disable ") then
script_gems_functions[file_gems_ext][func_gems_index]["name"] =
string.gsub(
script_gems_functions[file_gems_ext][func_gems_index]["name"],
"^Disable ", "")
restore_gems_value(func_gems_index)
else
script_gems_functions[file_gems_ext][func_gems_index]["name"] = "Disable
" ..

script_gems_functions[file_gems_ext][func_gems_index]["name"]
local count = 0
set_temp_gems_table = {}
local temp_index = 1
for i, v in pairs(script_gems_functions[file_gems_ext]
[func_gems_index].edits) do
if string.len(v[2]) == 9 then
set_temp_gems_table[temp_index] = {}
set_temp_gems_table[temp_index].address = v[1] + BASEADDR
set_temp_gems_table[temp_index].flags = gg.TYPE_DWORD
set_temp_gems_table[temp_index].value = v[2]
temp_index = temp_index + 1
if v[3] == true then
set_temp_gems_table[temp_index] = {}
set_temp_gems_table[temp_index].address = v[1] + BASEADDR + 4
set_temp_gems_table[temp_index].flags = gg.TYPE_DWORD
set_temp_gems_table[temp_index].value = end_bool
temp_index = temp_index + 1
end
else
set_temp_gems_table[temp_index] = {}
set_temp_gems_table[temp_index].address = v[1] + BASEADDR
set_temp_gems_table[temp_index].flags = gg.TYPE_WORD
set_temp_gems_table[temp_index].value = v[2]
temp_index = temp_index + 1
if v[3] == true then
set_temp_gems_table[temp_index] = {}
set_temp_gems_table[temp_index].address = v[1] + BASEADDR + 4
set_temp_gems_table[temp_index].flags = gg.TYPE_WORD
set_temp_gems_table[temp_index].value = end_bool
temp_index = temp_index + 1
end
end
for index, value in pairs(v) do
count = count + 1
end
if count == 6 then
get_original_gems_values(func_gems_index)
end
end
gg.setValues(set_temp_gems_table)
gg.toast(string.gsub(script_gems_functions[file_gems_ext][func_gems_index]
["name"], "Disable ", "") ..
" enabled.")
gg.sleep(1000)
end
end

function get_original_tokens_values(func_tokens_index)
local temp_table = {}
for i, v in pairs(script_tokens_functions[file_tokens_ext]
[func_tokens_index].edits) do
if string.len(v[2]) == 9 then
if script_tokens_functions[file_tokens_ext][func_tokens_index]["edits"]
[i][3] == false then
temp_table[1] = {}
temp_table[1].address = script_tokens_functions[file_tokens_ext]
[func_tokens_index]["edits"][i][1] +
BASEADDR
temp_table[1].flags = gg.TYPE_DWORD
temp_table = gg.getValues(temp_table)
script_tokens_functions[file_tokens_ext][func_tokens_index]
["edits"][i][7] = {temp_table[1].value}
end
if script_tokens_functions[file_tokens_ext][func_tokens_index]["edits"]
[i][3] == true then
temp_table[1] = {}
temp_table[1].address = script_tokens_functions[file_tokens_ext]
[func_tokens_index]["edits"][i][1] +
BASEADDR
temp_table[1].flags = gg.TYPE_DWORD
temp_table[2] = {}
temp_table[2].address = script_tokens_functions[file_tokens_ext]
[func_tokens_index]["edits"][i][1] + 4 +
BASEADDR
temp_table[2].flags = gg.TYPE_DWORD
temp_table = gg.getValues(temp_table)
script_tokens_functions[file_tokens_ext][func_tokens_index]
["edits"][i][7] = {temp_table[1].value,

temp_table[2].value}
end
else
if script_tokens_functions[file_tokens_ext][func_tokens_index]["edits"]
[i][3] == false then
temp_table[1] = {}
temp_table[1].address = script_tokens_functions[file_tokens_ext]
[func_tokens_index]["edits"][i][1] +
BASEADDR
temp_table[1].flags = gg.TYPE_WORD
temp_table = gg.getValues(temp_table)
script_tokens_functions[file_tokens_ext][func_tokens_index]
["edits"][i][7] = {temp_table[1].value}
end
if script_tokens_functions[file_tokens_ext][func_tokens_index]["edits"]
[i][3] == true then
temp_table[1] = {}
temp_table[1].address = script_tokens_functions[file_tokens_ext]
[func_tokens_index]["edits"][i][1] +
BASEADDR
temp_table[1].flags = gg.TYPE_WORD
temp_table[2] = {}
temp_table[2].address = script_tokens_functions[file_tokens_ext]
[func_tokens_index]["edits"][i][1] + 4 +
BASEADDR
temp_table[2].flags = gg.TYPE_WORD
temp_table = gg.getValues(temp_table)
script_tokens_functions[file_tokens_ext][func_tokens_index]
["edits"][i][7] = {temp_table[1].value,

temp_table[2].value}
end
end
end
end

function restore_tokens_value(func_tokens_index)
restore_temp_tokens_table = {}
local temp_index = 1
for i, v in pairs(script_tokens_functions[file_tokens_ext]
[func_tokens_index].edits) do
if string.len(v[2]) == 9 then
restore_temp_tokens_table[temp_index] = {}
restore_temp_tokens_table[temp_index].address = v[1] + BASEADDR
restore_temp_tokens_table[temp_index].flags = gg.TYPE_DWORD
restore_temp_tokens_table[temp_index].value = v[7][1]
temp_index = temp_index + 1
if v[3] == true then
restore_temp_tokens_table[temp_index] = {}
restore_temp_tokens_table[temp_index].address = v[1] + BASEADDR + 4
restore_temp_tokens_table[temp_index].flags = gg.TYPE_DWORD
restore_temp_tokens_table[temp_index].value = v[7][2]
temp_index = temp_index + 1
end
else
restore_temp_tokens_table[temp_index] = {}
restore_temp_tokens_table[temp_index].address = v[1] + BASEADDR
restore_temp_tokens_table[temp_index].flags = gg.TYPE_WORD
restore_temp_tokens_table[temp_index].value = v[7][1]
temp_index = temp_index + 1
if v[3] == true then
restore_temp_tokens_table[temp_index] = {}
restore_temp_tokens_table[temp_index].address = v[1] + BASEADDR + 4
restore_temp_tokens_table[temp_index].flags = gg.TYPE_WORD
restore_temp_tokens_table[temp_index].value = v[7][2]
temp_index = temp_index + 1
end
end
end
gg.setValues(restore_temp_tokens_table)
gg.toast(string.gsub(script_tokens_functions[file_tokens_ext]
[func_tokens_index]["name"], "Disable ", "") ..
" disabled.")
gg.sleep(1000)
end
function set_tokens_value(func_tokens_index)
if string.find(script_tokens_functions[file_tokens_ext][func_tokens_index]
["name"], "^Disable ") then
script_tokens_functions[file_tokens_ext][func_tokens_index]["name"] =
string.gsub(
script_tokens_functions[file_tokens_ext][func_tokens_index]["name"],
"^Disable ", "")
restore_tokens_value(func_tokens_index)
else
script_tokens_functions[file_tokens_ext][func_tokens_index]["name"] =
"Disable " ..

script_tokens_functions[file_tokens_ext][func_tokens_index]["name"]
local count = 0
set_temp_tokens_table = {}
local temp_index = 1
for i, v in pairs(script_tokens_functions[file_tokens_ext]
[func_tokens_index].edits) do
if string.len(v[2]) == 9 then
set_temp_tokens_table[temp_index] = {}
set_temp_tokens_table[temp_index].address = v[1] + BASEADDR
set_temp_tokens_table[temp_index].flags = gg.TYPE_DWORD
set_temp_tokens_table[temp_index].value = v[2]
temp_index = temp_index + 1
if v[3] == true then
set_temp_tokens_table[temp_index] = {}
set_temp_tokens_table[temp_index].address = v[1] + BASEADDR + 4
set_temp_tokens_table[temp_index].flags = gg.TYPE_DWORD
set_temp_tokens_table[temp_index].value = end_bool
temp_index = temp_index + 1
end
else
set_temp_tokens_table[temp_index] = {}
set_temp_tokens_table[temp_index].address = v[1] + BASEADDR
set_temp_tokens_table[temp_index].flags = gg.TYPE_WORD
set_temp_tokens_table[temp_index].value = v[2]
temp_index = temp_index + 1
if v[3] == true then
set_temp_tokens_table[temp_index] = {}
set_temp_tokens_table[temp_index].address = v[1] + BASEADDR + 4
set_temp_tokens_table[temp_index].flags = gg.TYPE_WORD
set_temp_tokens_table[temp_index].value = end_bool
temp_index = temp_index + 1
end
end
for index, value in pairs(v) do
count = count + 1
end
if count == 6 then
get_original_tokens_values(func_tokens_index)
end
end
gg.setValues(set_temp_tokens_table)
gg.toast(string.gsub(script_tokens_functions[file_tokens_ext]
[func_tokens_index]["name"], "Disable ", "") ..
" enabled.")
gg.sleep(1000)
end
end

function get_original_scrap_values(func_scrap_index)
local temp_table = {}
for i, v in pairs(script_scrap_functions[file_scrap_ext]
[func_scrap_index].edits) do
if string.len(v[2]) == 9 then
if script_scrap_functions[file_scrap_ext][func_scrap_index]["edits"][i]
[3] == false then
temp_table[1] = {}
temp_table[1].address = script_scrap_functions[file_scrap_ext]
[func_scrap_index]["edits"][i][1] +
BASEADDR
temp_table[1].flags = gg.TYPE_DWORD
temp_table = gg.getValues(temp_table)
script_scrap_functions[file_scrap_ext][func_scrap_index]["edits"]
[i][7] = {temp_table[1].value}
end
if script_scrap_functions[file_scrap_ext][func_scrap_index]["edits"][i]
[3] == true then
temp_table[1] = {}
temp_table[1].address = script_scrap_functions[file_scrap_ext]
[func_scrap_index]["edits"][i][1] +
BASEADDR
temp_table[1].flags = gg.TYPE_DWORD
temp_table[2] = {}
temp_table[2].address = script_scrap_functions[file_scrap_ext]
[func_scrap_index]["edits"][i][1] + 4 +
BASEADDR
temp_table[2].flags = gg.TYPE_DWORD
temp_table = gg.getValues(temp_table)
script_scrap_functions[file_scrap_ext][func_scrap_index]["edits"]
[i][7] = {temp_table[1].value,

temp_table[2].value}
end
else
if script_scrap_functions[file_scrap_ext][func_scrap_index]["edits"][i]
[3] == false then
temp_table[1] = {}
temp_table[1].address = script_scrap_functions[file_scrap_ext]
[func_scrap_index]["edits"][i][1] +
BASEADDR
temp_table[1].flags = gg.TYPE_WORD
temp_table = gg.getValues(temp_table)
script_scrap_functions[file_scrap_ext][func_scrap_index]["edits"]
[i][7] = {temp_table[1].value}
end
if script_scrap_functions[file_scrap_ext][func_scrap_index]["edits"][i]
[3] == true then
temp_table[1] = {}
temp_table[1].address = script_scrap_functions[file_scrap_ext]
[func_scrap_index]["edits"][i][1] +
BASEADDR
temp_table[1].flags = gg.TYPE_WORD
temp_table[2] = {}
temp_table[2].address = script_scrap_functions[file_scrap_ext]
[func_scrap_index]["edits"][i][1] + 4 +
BASEADDR
temp_table[2].flags = gg.TYPE_WORD
temp_table = gg.getValues(temp_table)
script_scrap_functions[file_scrap_ext][func_scrap_index]["edits"]
[i][7] = {temp_table[1].value,

temp_table[2].value}
end
end
end
end

function restore_scrap_value(func_scrap_index)
restore_scrap_temp_table = {}
local temp_index = 1
for i, v in pairs(script_scrap_functions[file_scrap_ext]
[func_scrap_index].edits) do
if string.len(v[2]) == 9 then
restore_scrap_temp_table[temp_index] = {}
restore_scrap_temp_table[temp_index].address = v[1] + BASEADDR
restore_scrap_temp_table[temp_index].flags = gg.TYPE_DWORD
restore_scrap_temp_table[temp_index].value = v[7][1]
temp_index = temp_index + 1
if v[3] == true then
restore_scrap_temp_table[temp_index] = {}
restore_scrap_temp_table[temp_index].address = v[1] + BASEADDR + 4
restore_scrap_temp_table[temp_index].flags = gg.TYPE_DWORD
restore_scrap_temp_table[temp_index].value = v[7][2]
temp_index = temp_index + 1
end
else
restore_scrap_temp_table[temp_index] = {}
restore_scrap_temp_table[temp_index].address = v[1] + BASEADDR
restore_scrap_temp_table[temp_index].flags = gg.TYPE_WORD
restore_scrap_temp_table[temp_index].value = v[7][1]
temp_index = temp_index + 1
if v[3] == true then
restore_scrap_temp_table[temp_index] = {}
restore_scrap_temp_table[temp_index].address = v[1] + BASEADDR + 4
restore_scrap_temp_table[temp_index].flags = gg.TYPE_WORD
restore_scrap_temp_table[temp_index].value = v[7][2]
temp_index = temp_index + 1
end
end
end
gg.setValues(restore_scrap_temp_table)
gg.toast(string.gsub(script_scrap_functions[file_scrap_ext][func_scrap_index]
["name"], "Disable ", "") ..
" disabled.")
gg.sleep(1000)
end

function set_scrap_value(func_scrap_index)
if string.find(script_scrap_functions[file_scrap_ext][func_scrap_index]
["name"], "^Disable ") then
script_scrap_functions[file_scrap_ext][func_scrap_index]["name"] =
string.gsub(
script_scrap_functions[file_scrap_ext][func_scrap_index]["name"],
"^Disable ", "")
restore_scrap_value(func_scrap_index)
else
script_scrap_functions[file_scrap_ext][func_scrap_index]["name"] = "Disable
" ..

script_scrap_functions[file_scrap_ext][func_scrap_index]["name"]
local count = 0
set_temp_scrap_table = {}
local temp_index = 1
for i, v in pairs(script_scrap_functions[file_scrap_ext]
[func_scrap_index].edits) do
if string.len(v[2]) == 9 then
set_temp_scrap_table[temp_index] = {}
set_temp_scrap_table[temp_index].address = v[1] + BASEADDR
set_temp_scrap_table[temp_index].flags = gg.TYPE_DWORD
set_temp_scrap_table[temp_index].value = v[2]
temp_index = temp_index + 1
if v[3] == true then
set_temp_scrap_table[temp_index] = {}
set_temp_scrap_table[temp_index].address = v[1] + BASEADDR + 4
set_temp_scrap_table[temp_index].flags = gg.TYPE_DWORD
set_temp_scrap_table[temp_index].value = end_bool
temp_index = temp_index + 1
end
else
set_temp_scrap_table[temp_index] = {}
set_temp_scrap_table[temp_index].address = v[1] + BASEADDR
set_temp_scrap_table[temp_index].flags = gg.TYPE_WORD
set_temp_scrap_table[temp_index].value = v[2]
temp_index = temp_index + 1
if v[3] == true then
set_temp_scrap_table[temp_index] = {}
set_temp_scrap_table[temp_index].address = v[1] + BASEADDR + 4
set_temp_scrap_table[temp_index].flags = gg.TYPE_WORD
set_temp_scrap_table[temp_index].value = end_bool
temp_index = temp_index + 1
end
end
for index, value in pairs(v) do
count = count + 1
end
if count == 6 then
get_original_scrap_values(func_scrap_index)
end
end
gg.setValues(set_temp_scrap_table)
gg.toast(string.gsub(script_scrap_functions[file_scrap_ext]
[func_scrap_index]["name"], "Disable ", "") ..
" enabled.")
gg.sleep(1000)
end
end

function bchome()
main_menu_items = {}
for i, v in pairs(script_coins_functions[file_coins_ext]) do
if v["active_emoji"] then
active_emoji = v["active_emoji"]
else
active_emoji = utf8.char(9989)
end
if v["inactive_emoji"] then
inactive_emoji = v["inactive_emoji"]
else
inactive_emoji = utf8.char(11093)
end
if string.find(v["name"], "^Disable") then
main_menu_items[i] = active_emoji .. " " .. v["name"]
else
main_menu_items[i] = inactive_emoji .. " " .. v["name"]
end
end
for i, v in pairs(script_gems_functions[file_gems_ext]) do
if v["active_emoji"] then
active_emoji = v["active_emoji"]
else
active_emoji = utf8.char(9989)
end
if v["inactive_emoji"] then
inactive_emoji = v["inactive_emoji"]
else
inactive_emoji = utf8.char(11093)
end
if string.find(v["name"], "^Disable") then
main_menu_items[i + 1] = active_emoji .. " " .. v["name"]
else
main_menu_items[i + 1] = inactive_emoji .. " " .. v["name"]
end
end
for i, v in pairs(script_tokens_functions[file_tokens_ext]) do
if v["active_emoji"] then
active_emoji = v["active_emoji"]
else
active_emoji = utf8.char(9989)
end
if v["inactive_emoji"] then
inactive_emoji = v["inactive_emoji"]
else
inactive_emoji = utf8.char(11093)
end
if string.find(v["name"], "^Disable") then
main_menu_items[i + 2] = active_emoji .. " " .. v["name"]
else
main_menu_items[i + 2] = inactive_emoji .. " " .. v["name"]
end
end
for i, v in pairs(script_scrap_functions[file_scrap_ext]) do
if v["active_emoji"] then
active_emoji = v["active_emoji"]
else
active_emoji = utf8.char(9989)
end
if v["inactive_emoji"] then
inactive_emoji = v["inactive_emoji"]
else
inactive_emoji = utf8.char(11093)
end
if string.find(v["name"], "^Disable") then
main_menu_items[i + 3] = active_emoji .. " " .. v["name"]
else
main_menu_items[i + 3] = inactive_emoji .. " " .. v["name"]
end
end
main_menu_items[#main_menu_items + 1] = "❌ Exit"
main_menu = gg.choice(main_menu_items, nil, generated_script_title)
if main_menu ~= nil then
if main_menu == #main_menu_items then
os.exit()
elseif main_menu == #main_menu_items - 1 then
set_scrap_value(1)
elseif main_menu == #main_menu_items - 2 then
set_tokens_value(1)
elseif main_menu == #main_menu_items - 3 then
set_gems_value(1)
elseif main_menu == #main_menu_items - 4 then
set_coins_value(1)
end
else
gg.setVisible(false)
end
end

bchome()

while true do
if gg.isVisible() then
gg.setVisible(false)
bchome()
end
gg.sleep(100)
end

You might also like