Fixes and Updates

fixed Cayo Perico Cuts Globals thx to xt95 aka Void • Vortex on discord

removed auto cracker its useless for now and it has some bugs

fixed data cracker bug thx to imaginenothing on unknowncheats.me  for the help :3

some other little changes you can view on the commit line changes enjoy <3
This commit is contained in:
L7NEG
2026-08-01 05:54:02 +03:00
committed by GitHub
parent 150f423ed7
commit b6e598c4f7
+340 -213
View File
@@ -30,6 +30,7 @@ AFPl = 9831 -- apartment pacific hack local
AHSo = 19808 + 2 -- Apartment heist skip checkpoint AHSo = 19808 + 2 -- Apartment heist skip checkpoint
ACDg = 2686119 -- apartment cooldown global ACDg = 2686119 -- apartment cooldown global
AHDg = 4718592 + 3771 -- search in tuneables_processing.c for joaat("HEIST_DIFFICULTY_EASY") then search the global you find in fmmc_launcher.c then take the global in switch state above it done AHDg = 4718592 + 3771 -- search in tuneables_processing.c for joaat("HEIST_DIFFICULTY_EASY") then search the global you find in fmmc_launcher.c then take the global in switch state above it done
AHLIVES = 26234 + 1325 + 1 -- Apartment Heist team lives local found below if (eventData == -1248635465) in ("fm_mission_controller")
-- Diamond Casino Heist -- Diamond Casino Heist
DCRBl = 217 -- diamond casino reload board local DCRBl = 217 -- diamond casino reload board local
@@ -43,6 +44,7 @@ DCFHl = 54118 -- diamond casino fingerprint hack local
DCKHl = 55188 -- diamond casino keypad hack local DCKHl = 55188 -- diamond casino keypad hack local
DCDVDl1 = 10125 + 7 -- diamond casino drill vault door local 1 --("DLC_HEIST_MINIGAME_FLEECA_DRILLING_SCENE") in ("fm_mission_controller") DCDVDl1 = 10125 + 7 -- diamond casino drill vault door local 1 --("DLC_HEIST_MINIGAME_FLEECA_DRILLING_SCENE") in ("fm_mission_controller")
DCDVDl2 = 10125 + 37 -- diamond casino drill vault door local 2 --("fm_mission_controller") DCDVDl2 = 10125 + 37 -- diamond casino drill vault door local 2 --("fm_mission_controller")
DCLIVESL = 26234 + 1325 + 1 -- diamond casino team lives local found below if (eventData == -1248635465) in ("fm_mission_controller")
DCXf1 = 19808 DCXf1 = 19808
DCXf2 = 19808 + 1062 DCXf2 = 19808 + 1062
DCXf3 = 19808 + 1740 + 1 DCXf3 = 19808 + 1740 + 1
@@ -52,15 +54,16 @@ DCXf6 = 31981 + 1 + 68
-- Cayo Perico Heist -- Cayo Perico Heist
CPRSl = 1578 -- cayo perico reload screen local CPRSl = 1578 -- cayo perico reload screen local
CPCg1 = 1980404 + 831 + 56 + 1 -- cayo perico player 1 cut global --("heist_island_planning") CPCg1 = 1979291 + 831 + 56 + 1 -- cayo perico player 1 cut global --("heist_island_planning")
CPCg2 = 1980404 + 831 + 56 + 2 -- cayo perico player 2 cut global --("heist_island_planning") CPCg2 = 1979291 + 831 + 56 + 2 -- cayo perico player 2 cut global --("heist_island_planning")
CPCg3 = 1980404 + 831 + 56 + 3 -- cayo perico player 3 cut global --("heist_island_planning") CPCg3 = 1979291 + 831 + 56 + 3 -- cayo perico player 3 cut global --("heist_island_planning")
CPCg4 = 1980404 + 831 + 56 + 4 -- cayo perico player 4 cut global --("heist_island_planning") CPCg4 = 1979291 + 831 + 56 + 4 -- cayo perico player 4 cut global --("heist_island_planning")
CPFHl = 26217 -- cayo perico fingerprint hack local ("heist") in ("fm_mission_controller_2020") CPFHl = 26217 -- cayo perico fingerprint hack local ("heist") in ("fm_mission_controller_2020")
CPPCCl = 32349 + 3 -- cayo perico plasma cutter cut local ("DLC_H4_anims_glass_cutter_Sounds") in ("fm_mission_controller_2020") CPPCCl = 32349 + 3 -- cayo perico plasma cutter cut local ("DLC_H4_anims_glass_cutter_Sounds") in ("fm_mission_controller_2020")
CPSTCl = 31109 -- cayo perico drainage pipe cut local ("IntroFinished") in ("fm_mission_controller_2020") CPSTCl = 31109 -- cayo perico drainage pipe cut local ("IntroFinished") in ("fm_mission_controller_2020")
CPXf1 = 56070 -- cayo perico instant finish local 1 CPXf1 = 56070 -- cayo perico instant finish local 1
CPXf2 = 56070 + 1776 + 1 -- cayo perico instant finish local 2 CPXf2 = 56070 + 1776 + 1 -- cayo perico instant finish local 2
CPLIVESL = 62851 + 1109 + 1 -- Cayo Perico team lives local found below if (eventData == -1248635465) in ("fm_mission_controller_2020")
-- Doomsday Heist -- Doomsday Heist
DDSHl = 1312 + 135 -- doomsday doomsday scenario hack local DDSHl = 1312 + 135 -- doomsday doomsday scenario hack local
@@ -74,6 +77,30 @@ DDIF2 = 19808 + 1740 + 1 -- doomsday instant finish local 2
DDIF3 = 28722 + 1 -- doomsday instant finish local 3 DDIF3 = 28722 + 1 -- doomsday instant finish local 3
DDIF4 = 31981 + 1 + 68 -- doomsday instant finish local 4 DDIF4 = 31981 + 1 + 68 -- doomsday instant finish local 4
DDIF5 = 31981 + 97 -- doomsday instant finish local 5 DDIF5 = 31981 + 97 -- doomsday instant finish local 5
DDLIVESL = 26234 + 1325 + 1 -- Doomsday team lives local found below if (eventData == -1248635465) in ("fm_mission_controller")
-- Kortz Center Heist
-- Local Variables
KCDCL = 1386 -- Data crack local (1386 + (i * 4) for i = 0-7)
KCFHL = 26464 -- Fingerprint hack local
KCAC_BASE = 32416 + 1 -- Access code base (32416 + 1 + (i * 2) for i = 0-2)
KCLGL = 70416 -- Lasers local
KCVLL = 27512 -- Vault door local
-- Target State Locals (these are the same as KCPTL/KCSTL but renamed for clarity)
KCPT_STATE = 28953 + 11 -- Primary target state (15/17 = available, 3 = taken)
KCST_STATE = 28953 + 11 -- Secondary target state (3 = available)
-- Global Variables
KCBGL = FMg + 37438 -- Bag size global
KCWMG = FMg + 38199 -- Weekly multiplier global
KCCDG = FMg + 38102 -- Cooldown normal global
KCCD2G = FMg + 38103 -- Cooldown hard mode global
KCLDG = 1935234 -- Lasers disable global
-- Lives
KCLIVESL = 63515 + 1109 + 1 -- Team lives local
-- Agency Variables -- Agency Variables
AGFl1 = 56070 + 1 AGFl1 = 56070 + 1
@@ -4935,6 +4962,7 @@ HeistsDataEditorMenu = makeOnlineTab(L7NEG:add_tab("Heists Data Editor Menu"))
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
local ApartmentDataEditorMenu = HeistsDataEditorMenu:add_tab("Apartment Heist ") local ApartmentDataEditorMenu = HeistsDataEditorMenu:add_tab("Apartment Heist ")
ApartmentDataEditorMenu:add_text("Preps") ApartmentDataEditorMenu:add_text("Preps")
ApartmentDataEditorMenu:add_button("Complete Preps", function() ApartmentDataEditorMenu:add_button("Complete Preps", function()
stats.set_int(MPX() .. "HEIST_PLANNING_STAGE", -1) stats.set_int(MPX() .. "HEIST_PLANNING_STAGE", -1)
@@ -4956,6 +4984,28 @@ ApartmentDataEditorMenu:add_button("Change Session", function()
changeSession(8) changeSession(8)
end) end)
-- Lives Editor for Apartment Heist
ApartmentDataEditorMenu:add_separator()
ApartmentDataEditorMenu:add_text("Team Lives:")
local livesValueApartment = 3
ApartmentDataEditorMenu:add_imgui(function()
if checkOnline() then return end
ImGui.Text("Team Lives:")
livesValueApartment, _ = ImGui.InputInt("##ApartmentLives", livesValueApartment)
if ImGui.Button("Set Lives##Apartment") then
if livesValueApartment < 1 then
gui.show_message("Apartment Heist", "Lives must be at least 1!")
else
locals.set_int("fm_mission_controller", AHLIVESL, livesValueApartment)
gui.show_message("Apartment Heist", "Team lives set to " .. livesValueApartment)
end
end
if ImGui.IsItemHovered() then
ImGui.SetTooltip("Default is 3. Infinite team lives for the heist (set to 999999 for unlimited)")
end
end)
local heistCuts = { local heistCuts = {
easy = { easy = {
[1328892776] = {-5862, 2981}, [1328892776] = {-5862, 2981},
@@ -5657,6 +5707,7 @@ end)
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-- Doomsday -- -- Doomsday --
local function DoomsdayActSetter(progress, status) local function DoomsdayActSetter(progress, status)
stats.set_int(MPX() .. "GANGOPS_FLOW_MISSION_PROG", progress) stats.set_int(MPX() .. "GANGOPS_FLOW_MISSION_PROG", progress)
stats.set_int(MPX() .. "GANGOPS_HEIST_STATUS", status) stats.set_int(MPX() .. "GANGOPS_HEIST_STATUS", status)
@@ -5746,6 +5797,29 @@ SN_Doomsday:add_button("Apply Cuts", function()
globals.set_int(DCg4, dmsdyCut4:get_value()) globals.set_int(DCg4, dmsdyCut4:get_value())
gui.show_message("Doomsday Heist", "Cuts should've been applied") gui.show_message("Doomsday Heist", "Cuts should've been applied")
end) end)
-- Lives Editor for Doomsday Heist
SN_Doomsday:add_separator()
SN_Doomsday:add_text("Team Lives:")
local livesValueDoomsday = 3
SN_Doomsday:add_imgui(function()
if checkOnline() then return end
ImGui.Text("Team Lives:")
livesValueDoomsday, _ = ImGui.InputInt("##DoomsdayLives", livesValueDoomsday)
if ImGui.Button("Set Lives##Doomsday") then
if livesValueDoomsday < 1 then
gui.show_message("Doomsday Heist", "Lives must be at least 1!")
else
locals.set_int("fm_mission_controller", DDLIVESL, livesValueDoomsday)
gui.show_message("Doomsday Heist", "Team lives set to " .. livesValueDoomsday)
end
end
if ImGui.IsItemHovered() then
ImGui.SetTooltip("Default is 3. Infinite team lives for the heist (set to 999999 for unlimited)")
end
end)
SN_Doomsday:add_separator() SN_Doomsday:add_separator()
SN_Doomsday:add_text("Preps") SN_Doomsday:add_text("Preps")
SN_Doomsday:add_button("Reset Preps", SN_Doomsday:add_button("Reset Preps",
@@ -5806,6 +5880,7 @@ SN_Doomsday:add_button("Skip Cutscene", SkipCutscene)
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-- Casino Heist -- -- Casino Heist --
local CasinoHeistEditorMenu = HeistsDataEditorMenu:add_tab("Casino Heist") local CasinoHeistEditorMenu = HeistsDataEditorMenu:add_tab("Casino Heist")
CasinoHeistEditorMenu:add_text("One Click Setups:") CasinoHeistEditorMenu:add_text("One Click Setups:")
@@ -5860,6 +5935,29 @@ end)
CasinoHeistEditorMenu:add_separator() CasinoHeistEditorMenu:add_separator()
-- Lives Editor for Casino Heist
CasinoHeistEditorMenu:add_text("Team Lives:")
local livesValueCasino = 3
CasinoHeistEditorMenu:add_imgui(function()
if checkOnline() then return end
ImGui.Text("Team Lives:")
livesValueCasino, _ = ImGui.InputInt("##CasinoLives", livesValueCasino)
if ImGui.Button("Set Lives##Casino") then
if livesValueCasino < 1 then
gui.show_message("Casino Heist", "Lives must be at least 1!")
else
locals.set_int("fm_mission_controller", DCLIVESL, livesValueCasino)
gui.show_message("Casino Heist", "Team lives set to " .. livesValueCasino)
end
end
if ImGui.IsItemHovered() then
ImGui.SetTooltip("Default is 3. Infinite team lives for the heist (set to 999999 for unlimited)")
end
end)
CasinoHeistEditorMenu:add_separator()
DiamondCasinoDifficulties = { DiamondCasinoDifficulties = {
{ name = "Normal", index = 0 }, { name = "Normal", index = 0 },
{ name = "Hard", index = 1 } { name = "Hard", index = 1 }
@@ -6491,6 +6589,7 @@ local cayocut2 = 0
local cayocut3 = 0 local cayocut3 = 0
local cayocut4 = 0 local cayocut4 = 0
local cayoCrewCuts = false local cayoCrewCuts = false
local livesValueCayo = 3
local CayoHeistEditorMenu = HeistsDataEditorMenu:add_tab("Cayo Perico Heist ") local CayoHeistEditorMenu = HeistsDataEditorMenu:add_tab("Cayo Perico Heist ")
@@ -6688,6 +6787,16 @@ CayoHeistEditorMenu:add_imgui(function()
gui.show_message("Cayo Perico Heist", "Cutting process should've been skipped") gui.show_message("Cayo Perico Heist", "Cutting process should've been skipped")
end end
ImGui.Text("Team Lives:")
livesValueCayo, _ = ImGui.InputInt("##CayolivesValue", livesValueCayo)
if ImGui.Button("Set Lives") then
locals.set_int("fm_mission_controller_2020", CPLIVESL, livesValueCayo)
gui.show_message("Cayo Perico Heist", "Team Lives value set to " .. livesValueCayo)
end
if ImGui.IsItemHovered() then
ImGui.SetTooltip("Default is 3. Infinite team lives for the heist (set to 999999 for unlimited)")
end
if ImGui.Button("Remove All CCTV's") then if ImGui.Button("Remove All CCTV's") then
for _, ent in pairs(entities.get_all_objects_as_handles()) do for _, ent in pairs(entities.get_all_objects_as_handles()) do
for __, cam in pairs(CamList) do for __, cam in pairs(CamList) do
@@ -6768,22 +6877,37 @@ end)
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-- Kortz Center Heist -- -- Kortz Center Heist
local KortzCenterHeistMenu = HeistsDataEditorMenu:add_tab("Kortz Center Heist")
-- State variables -- Glass case data (global)
local k26_general_bs = 0 glassCaseNames = {
local k26_robbery_prog = 0 [0] = "Venus d'Algernon",
local k26_heist_target = 0 [1] = "Gemstone",
local k26_scoping_bs = -1 [2] = "Horse",
local k26_poi_bs = -1 [3] = "Coquard Carcanet",
[4] = "Memento Non Mori"
}
glassCaseTypes = {
[0] = "Tall Glass Case",
[1] = "Tall Glass Case",
[2] = "Horizontal Glass Case",
[3] = "Horizontal Glass Case",
[4] = "Horizontal Glass Case"
}
-- Bag size & multiplier variables -- Create menu
local bagSizeValue = 100 KortzCenterHeistMenu = HeistsDataEditorMenu:add_tab("Kortz Center Heist")
local weeklyMultiplierValue = 4.0
-- State variables (global)
k26_heist_target = 0
-- UI values (global)
bagSizeValue = 100
weeklyMultiplierValue = 4.0
livesValue = 3
-- Primary Target Names -- Primary Target Names
local k26Targets = { k26Targets = {
{name = "La Dernière Débauche", id = 0, payout = 481250}, {name = "La Dernière Débauche", id = 0, payout = 481250},
{name = "Hare Oneself Think", id = 1, payout = 304500}, {name = "Hare Oneself Think", id = 1, payout = 304500},
{name = "The Downfall of Rome", id = 2, payout = 305000}, {name = "The Downfall of Rome", id = 2, payout = 305000},
@@ -6813,44 +6937,48 @@ local k26Targets = {
{name = "Mi O Melee", id = 26, payout = 317000} {name = "Mi O Melee", id = 26, payout = 317000}
} }
local targetNames = {} targetNames = {}
for _, target in ipairs(k26Targets) do for _, target in ipairs(k26Targets) do
table.insert(targetNames, target.name) table.insert(targetNames, target.name)
end end
-- Helper function to set bits -- Helper functions
local function setK26Bit(stat, bit, name) function setK26Bit(stat, bit, name)
local current = stats.get_int(MPX() .. stat) local current = stats.get_int(MPX() .. stat)
stats.set_int(MPX() .. stat, current | bit) stats.set_int(MPX() .. stat, current | bit)
gui.show_message("Kortz Center Heist", name .. " enabled") gui.show_message("Kortz Center Heist", name .. " enabled")
end end
-- Helper function to check if Kortz Heist is active function isKortzHeistActive()
local function isKortzHeistActive()
return SCRIPT.GET_NUMBER_OF_THREADS_RUNNING_THE_SCRIPT_WITH_THIS_HASH(joaat("fm_mission_controller_v3")) > 0 return SCRIPT.GET_NUMBER_OF_THREADS_RUNNING_THE_SCRIPT_WITH_THIS_HASH(joaat("fm_mission_controller_v3")) > 0
end end
-- Kortz Center Cracker Functions using YimMenu API function getGlassProgress(i)
return locals.get_float("fm_mission_controller_v3", KCCGL_BASE + (i * 13) + KCCGL_OFFSET)
end
-- Data Crack - Fixed with correct offset (1386 + 1 + (b * 4))
local function KortzSkipDataCrack() local function KortzSkipDataCrack()
if isKortzHeistActive() then if isKortzHeistActive() then
for b = 0, 7 do for b = 0, 7 do
locals.set_int("fm_mission_controller_v3", 1386 + (b * 4), 1) locals.set_int("fm_mission_controller_v3", 1386 + 1 + (b * 4), 1)
end end
gui.show_message("Kortz Center Cracker", "Data crack skipped") gui.show_message("Kortz Center Cracker", "Data crack bypassed! The terminal is now unlocked.")
else else
gui.show_message("Kortz Center Cracker", "Heist not active!") gui.show_message("Kortz Center Cracker", "Heist not active! Please start The Kortz Center Heist first.")
end end
end end
local function KortzSkipFingerprint() local function KortzSkipFingerprint()
if isKortzHeistActive() then if isKortzHeistActive() then
locals.set_int("fm_mission_controller_v3", 26464, 5) locals.set_int("fm_mission_controller_v3", KCFHL, 5)
gui.show_message("Kortz Center Cracker", "Fingerprint hack skipped") gui.show_message("Kortz Center Cracker", "Fingerprint scanner bypassed! Security system disabled.")
else else
gui.show_message("Kortz Center Cracker", "Heist not active!") gui.show_message("Kortz Center Cracker", "Heist not active! Please start The Kortz Center Heist first.")
end end
end end
-- Access Code
local function KortzAutoAccessCode() local function KortzAutoAccessCode()
if isKortzHeistActive() then if isKortzHeistActive() then
for i = 0, 2 do for i = 0, 2 do
@@ -6858,115 +6986,68 @@ local function KortzAutoAccessCode()
locals.set_float("fm_mission_controller_v3", 32416 + 1 + (i * 2), 0.0) locals.set_float("fm_mission_controller_v3", 32416 + 1 + (i * 2), 0.0)
PAD.SET_CONTROL_VALUE_NEXT_FRAME(0, 237, 1.0) PAD.SET_CONTROL_VALUE_NEXT_FRAME(0, 237, 1.0)
end end
gui.show_message("Kortz Center Cracker", "Access code entered") gui.show_message("Kortz Center Cracker", "Access code 000 entered! The system is now unlocked.")
else else
gui.show_message("Kortz Center Cracker", "Heist not active!") gui.show_message("Kortz Center Cracker", "Heist not active! Please start The Kortz Center Heist first.")
end end
end end
local function KortzDisableLasers() local function KortzDisableLasers()
if isKortzHeistActive() then if isKortzHeistActive() then
locals.set_int("fm_mission_controller_v3", 70416, 4294784) locals.set_int("fm_mission_controller_v3", KCLGL, 4294784)
globals.set_int(1935234, 1) globals.set_int(KCLDG, 1)
gui.show_message("Kortz Center Cracker", "Lasers disabled") gui.show_message("Kortz Center Cracker", "Laser grid neutralized! The path is now clear.")
else else
gui.show_message("Kortz Center Cracker", "Heist not active!") gui.show_message("Kortz Center Cracker", "Heist not active! Please start The Kortz Center Heist first.")
end end
end end
local function KortzSkipVaultDoor() local function KortzSkipVaultDoor()
if isKortzHeistActive() then if isKortzHeistActive() then
locals.set_int("fm_mission_controller_v3", 27512, 5) locals.set_int("fm_mission_controller_v3", KCVLL, 5)
gui.show_message("Kortz Center Cracker", "Vault door hack skipped") gui.show_message("Kortz Center Cracker", "Vault door bypassed! The vault is now accessible.")
else else
gui.show_message("Kortz Center Cracker", "Heist not active!") gui.show_message("Kortz Center Cracker", "Heist not active! Please start The Kortz Center Heist first.")
end
end
local function KortzCutGlass()
if isKortzHeistActive() then
locals.set_float("fm_mission_controller_v3", 32453 + (4 * 13) + 3, 100.0)
gui.show_message("Kortz Center Cracker", "Glass cut instantly")
else
gui.show_message("Kortz Center Cracker", "Heist not active!")
end end
end end
-- Take primary target
local function KortzTakePrimary() local function KortzTakePrimary()
if isKortzHeistActive() then if isKortzHeistActive() then
locals.set_int("fm_mission_controller_v3", 28953 + 11, 15) locals.set_int("fm_mission_controller_v3", KCPT_STATE, 10)
locals.set_int("fm_mission_controller_v3", 28953 + 11, 17) locals.set_int("fm_mission_controller_v3", KCPT_STATE, 17)
PAD.SET_CONTROL_VALUE_NEXT_FRAME(0, 237, 1.0) PAD.SET_CONTROL_VALUE_NEXT_FRAME(0, 237, 1.0)
gui.show_message("Kortz Center Cracker", "Primary target taken! Don't forget to hammer the clip once") gui.show_message("Kortz Center Cracker", "Primary target acquired! The main prize is yours!")
else else
gui.show_message("Kortz Center Cracker", "Heist not active!") gui.show_message("Kortz Center Cracker", "Heist not active! Please start The Kortz Center Heist first.")
end end
end end
-- Take secondary target
local function KortzTakeSecondary() local function KortzTakeSecondary()
if isKortzHeistActive() then if isKortzHeistActive() then
locals.set_int("fm_mission_controller_v3", 28953 + 11, 3) locals.set_int("fm_mission_controller_v3", KCST_STATE, 3)
PAD.SET_CONTROL_VALUE_NEXT_FRAME(0, 219, 1.0) PAD.SET_CONTROL_VALUE_NEXT_FRAME(0, 219, 1.0)
gui.show_message("Kortz Center Cracker", "Secondary target taken! Don't forget to cut down once") gui.show_message("Kortz Center Cracker", "Secondary target secured! Extra loot collected!")
else else
gui.show_message("Kortz Center Cracker", "Heist not active!") gui.show_message("Kortz Center Cracker", "Heist not active! Please start The Kortz Center Heist first.")
end end
end end
-- Skip cooldown function
local function KortzSkipCooldown() local function KortzSkipCooldown()
globals.set_int(FMg + 37503, 0) -- Normal cooldown globals.set_int(KCCDG, 0)
globals.set_int(FMg + 37504, 0) -- Hard mode cooldown globals.set_int(KCCD2G, 0)
gui.show_message("Kortz Center Heist", "Cooldowns skipped! You can start again") gui.show_message("Kortz Center Heist", "Cooldowns reset! You can start the heist again immediately.")
end end
-- Auto-hack state variable -- Main UI
local autoAllHacks = false
-- Auto-hack loop
script.register_looped("KortzCenterAutoHack", function(script)
script:yield()
if not network.is_session_started() or SCRIPT.GET_NUMBER_OF_THREADS_RUNNING_THE_SCRIPT_WITH_THIS_HASH(joaat("maintransition")) > 0 then
return
end
if autoAllHacks and isKortzHeistActive() then
for b = 0, 7 do
locals.set_int("fm_mission_controller_v3", 1386 + (b * 4), 1)
end
locals.set_int("fm_mission_controller_v3", 27512, 5)
for i = 0, 2 do
locals.set_int("fm_mission_controller_v3", 32416 + 1 + (i * 2) + 1, 0)
locals.set_float("fm_mission_controller_v3", 32416 + 1 + (i * 2), 0.0)
PAD.SET_CONTROL_VALUE_NEXT_FRAME(0, 237, 1.0)
end
locals.set_int("fm_mission_controller_v3", 70416, 4294784)
globals.set_int(1935234, 1)
locals.set_int("fm_mission_controller_v3", 26464, 5)
locals.set_float("fm_mission_controller_v3", 32453 + (4 * 13) + 3, 100.0)
locals.set_int("fm_mission_controller_v3", 28953 + 11, 15)
locals.set_int("fm_mission_controller_v3", 28953 + 11, 17)
PAD.SET_CONTROL_VALUE_NEXT_FRAME(0, 237, 1.0)
gui.show_message("Kortz Center Cracker", "Primary target taken! Don't forget to hammer the clip once")
locals.set_int("fm_mission_controller_v3", 28953 + 11, 3)
PAD.SET_CONTROL_VALUE_NEXT_FRAME(0, 219, 1.0)
gui.show_message("Kortz Center Cracker", "Secondary target taken! Don't forget to cut down once")
end
script:sleep(500)
end)
-- Main Kortz Center Heist Tab
KortzCenterHeistMenu:add_imgui(function() KortzCenterHeistMenu:add_imgui(function()
if checkOnline() then return end if checkOnline() then return end
-- General Settings
ImGui.Text("General Settings") ImGui.Text("General Settings")
ImGui.Separator() ImGui.Separator()
-- Primary Target local nIndex, changed = ImGui.Combo("Primary Target:", k26_heist_target, targetNames, #targetNames)
ImGui.Text("Primary Target:")
local nIndex, changed = ImGui.Combo("##K26Target", k26_heist_target, targetNames, #targetNames)
if changed then if changed then
k26_heist_target = nIndex k26_heist_target = nIndex
stats.set_int(MPX() .. "K26_HEIST_TARGET", k26_heist_target) stats.set_int(MPX() .. "K26_HEIST_TARGET", k26_heist_target)
@@ -6975,216 +7056,299 @@ KortzCenterHeistMenu:add_imgui(function()
ImGui.Separator() ImGui.Separator()
-- Cooldown Skip
ImGui.Text("Cooldowns:")
if ImGui.Button("Skip Cooldown") then if ImGui.Button("Skip Cooldown") then
KortzSkipCooldown() KortzSkipCooldown()
end end
if ImGui.IsItemHovered() then if ImGui.IsItemHovered() then
ImGui.SetTooltip("Sets both normal and hard mode cooldowns to 0 so you can start again") ImGui.SetTooltip("Resets both normal and hard mode cooldowns to 0, allowing you to start the heist again immediately.")
end end
ImGui.Separator() ImGui.Separator()
-- Bag Capacity Editor
ImGui.Text("Bag Capacity:") ImGui.Text("Bag Capacity:")
bagSizeValue, _ = ImGui.InputInt("##BagSize", bagSizeValue) bagSizeValue, _ = ImGui.InputInt("##BagSize", bagSizeValue)
if ImGui.Button("Set Bag Size") then if ImGui.Button("Set Bag Size") then
if bagSizeValue < 1 then if bagSizeValue < 1 then
gui.show_message("Kortz Center Heist", "Bag size must be at least 1!") gui.show_message("Kortz Center Heist", "Bag size must be at least 1!")
else else
globals.set_int(FMg + 37438, bagSizeValue) globals.set_int(KCBGL, bagSizeValue)
gui.show_message("Kortz Center Heist", "Bag capacity set to " .. bagSizeValue) gui.show_message("Kortz Center Heist", "Bag capacity set to " .. bagSizeValue .. " units.")
end end
end end
if ImGui.IsItemHovered() then if ImGui.IsItemHovered() then
ImGui.SetTooltip("Default is 100. How much you can carry in the heist") ImGui.SetTooltip("Default is 100. Determines how much loot you can carry during the heist.")
end
ImGui.Separator()
ImGui.Text("Team Lives:")
livesValue, _ = ImGui.InputInt("##Lives", livesValue)
if ImGui.Button("Set Lives") then
if livesValue < 1 then
gui.show_message("Kortz Center Heist", "Lives must be at least 1!")
else
locals.set_int("fm_mission_controller_v3", KCLIVESL, livesValue)
gui.show_message("Kortz Center Heist", "Team lives set to " .. livesValue .. ". Set to 999999 for unlimited lives.")
end
end
if ImGui.IsItemHovered() then
ImGui.SetTooltip("Default is 3. Set to 999999 for unlimited team lives during the heist.")
end end
ImGui.Separator() ImGui.Separator()
-- Weekly Multiplier Editor
ImGui.Text("Weekly Bonus Multiplier:") ImGui.Text("Weekly Bonus Multiplier:")
weeklyMultiplierValue, _ = ImGui.InputFloat("##WeeklyMultiplier", weeklyMultiplierValue) weeklyMultiplierValue, _ = ImGui.InputFloat("##WeeklyMultiplier", weeklyMultiplierValue)
if ImGui.Button("Set Weekly Multiplier") then if ImGui.Button("Set Weekly Multiplier") then
if weeklyMultiplierValue < 1.0 then if weeklyMultiplierValue < 1.0 then
gui.show_message("Kortz Center Heist", "Multiplier must be at least 1.0!") gui.show_message("Kortz Center Heist", "Multiplier must be at least 1.0!")
else else
globals.set_float(FMg + 38199, weeklyMultiplierValue) globals.set_float(KCWMG, weeklyMultiplierValue)
gui.show_message("Kortz Center Heist", "Weekly multiplier set to " .. weeklyMultiplierValue .. "x") gui.show_message("Kortz Center Heist", "Weekly multiplier set to " .. weeklyMultiplierValue .. "x.")
end end
end end
if ImGui.IsItemHovered() then if ImGui.IsItemHovered() then
ImGui.SetTooltip("Default is 4.0x. First sale of the week bonus multiplier") ImGui.SetTooltip("Default is 4.0x. Affects the first sale bonus multiplier of the week.")
end end
ImGui.Separator() ImGui.Separator()
-- Difficulty
ImGui.Text("Difficulty:") ImGui.Text("Difficulty:")
if ImGui.Button("Hard Mode") then if ImGui.Button("Hard Mode") then
stats.set_int(MPX() .. "K26_GENERAL_BS", 1784442458) stats.set_int(MPX() .. "K26_GENERAL_BS", 1784442458)
gui.show_message("Kortz Center Heist", "Hard Mode enabled") gui.show_message("Kortz Center Heist", "Hard Mode enabled! Higher risk, higher reward.")
end
if ImGui.IsItemHovered() then
ImGui.SetTooltip("Enables Hard Mode for the heist. Increases difficulty but also increases payout.")
end end
ImGui.SameLine() ImGui.SameLine()
if ImGui.Button("Normal Mode") then if ImGui.Button("Normal Mode") then
local current = stats.get_int(MPX() .. "K26_GENERAL_BS") local current = stats.get_int(MPX() .. "K26_GENERAL_BS")
stats.set_int(MPX() .. "K26_GENERAL_BS", current & ~1784442458) stats.set_int(MPX() .. "K26_GENERAL_BS", current & ~1784442458)
gui.show_message("Kortz Center Heist", "Normal Mode enabled") gui.show_message("Kortz Center Heist", "Normal Mode enabled! Standard difficulty.")
end
if ImGui.IsItemHovered() then
ImGui.SetTooltip("Enables Normal Mode for the heist. Standard difficulty with standard payout.")
end end
ImGui.Separator() ImGui.Separator()
-- Prep Work
ImGui.Text("Prep Work") ImGui.Text("Prep Work")
ImGui.Separator() ImGui.Separator()
-- Scope Out
if ImGui.Button("Scope Out Kortz Center") then if ImGui.Button("Scope Out Kortz Center") then
stats.set_int(MPX() .. "K26_ROBBERY_PROG", stats.get_int(MPX() .. "K26_ROBBERY_PROG") | 1) stats.set_int(MPX() .. "K26_ROBBERY_PROG", stats.get_int(MPX() .. "K26_ROBBERY_PROG") | 1)
gui.show_message("Kortz Center Heist", "Kortz Center scoped out") gui.show_message("Kortz Center Heist", "Kortz Center scoped out! Intel gathered.")
end
if ImGui.IsItemHovered() then
ImGui.SetTooltip("Completes the Scope Out prep mission.")
end end
ImGui.SameLine() ImGui.SameLine()
if ImGui.Button("Unscope Out") then if ImGui.Button("Unscope Out") then
stats.set_int(MPX() .. "K26_ROBBERY_PROG", stats.get_int(MPX() .. "K26_ROBBERY_PROG") & ~1) stats.set_int(MPX() .. "K26_ROBBERY_PROG", stats.get_int(MPX() .. "K26_ROBBERY_PROG") & ~1)
gui.show_message("Kortz Center Heist", "Kortz Center unscoped") gui.show_message("Kortz Center Heist", "Kortz Center unscoped.")
end
if ImGui.IsItemHovered() then
ImGui.SetTooltip("Removes the Scope Out completion.")
end end
-- Disguises
if ImGui.Button("Alpha Mail Disguise") then if ImGui.Button("Alpha Mail Disguise") then
stats.set_int(MPX() .. "K26_ROBBERY_PROG", stats.get_int(MPX() .. "K26_ROBBERY_PROG") | 2) stats.set_int(MPX() .. "K26_ROBBERY_PROG", stats.get_int(MPX() .. "K26_ROBBERY_PROG") | 2)
gui.show_message("Kortz Center Heist", "Alpha Mail Disguise acquired") gui.show_message("Kortz Center Heist", "Alpha Mail Disguise acquired! Blend in as a courier.")
end
if ImGui.IsItemHovered() then
ImGui.SetTooltip("Completes the Alpha Mail Disguise prep.")
end end
ImGui.SameLine() ImGui.SameLine()
if ImGui.Button("Hazmat Suit") then if ImGui.Button("Hazmat Suit") then
stats.set_int(MPX() .. "K26_ROBBERY_PROG", stats.get_int(MPX() .. "K26_ROBBERY_PROG") | 4) stats.set_int(MPX() .. "K26_ROBBERY_PROG", stats.get_int(MPX() .. "K26_ROBBERY_PROG") | 4)
gui.show_message("Kortz Center Heist", "Hazmat Suit acquired") gui.show_message("Kortz Center Heist", "Hazmat Suit acquired! Protected from hazardous materials.")
end
if ImGui.IsItemHovered() then
ImGui.SetTooltip("Completes the Hazmat Suit prep.")
end end
-- Equipment
if ImGui.Button("Staff Key Card") then if ImGui.Button("Staff Key Card") then
stats.set_int(MPX() .. "K26_ROBBERY_PROG", stats.get_int(MPX() .. "K26_ROBBERY_PROG") | 8) stats.set_int(MPX() .. "K26_ROBBERY_PROG", stats.get_int(MPX() .. "K26_ROBBERY_PROG") | 8)
gui.show_message("Kortz Center Heist", "Staff Key Card acquired") gui.show_message("Kortz Center Heist", "Staff Key Card acquired! Access to restricted areas.")
end
if ImGui.IsItemHovered() then
ImGui.SetTooltip("Completes the Staff Key Card prep.")
end end
ImGui.SameLine() ImGui.SameLine()
if ImGui.Button("Tactical Equipment") then if ImGui.Button("Tactical Equipment") then
stats.set_int(MPX() .. "K26_ROBBERY_PROG", stats.get_int(MPX() .. "K26_ROBBERY_PROG") | 16) stats.set_int(MPX() .. "K26_ROBBERY_PROG", stats.get_int(MPX() .. "K26_ROBBERY_PROG") | 16)
gui.show_message("Kortz Center Heist", "Tactical Equipment acquired") gui.show_message("Kortz Center Heist", "Tactical Equipment acquired! Tools for the job.")
end
if ImGui.IsItemHovered() then
ImGui.SetTooltip("Completes the Tactical Equipment prep.")
end end
if ImGui.Button("Hacking Device") then if ImGui.Button("Hacking Device") then
stats.set_int(MPX() .. "K26_ROBBERY_PROG", stats.get_int(MPX() .. "K26_ROBBERY_PROG") | 32) stats.set_int(MPX() .. "K26_ROBBERY_PROG", stats.get_int(MPX() .. "K26_ROBBERY_PROG") | 32)
gui.show_message("Kortz Center Heist", "Hacking Device acquired") gui.show_message("Kortz Center Heist", "Hacking Device acquired! Ready to crack digital security.")
end
if ImGui.IsItemHovered() then
ImGui.SetTooltip("Completes the Hacking Device prep.")
end end
ImGui.SameLine() ImGui.SameLine()
if ImGui.Button("Access Code") then if ImGui.Button("Access Code") then
stats.set_int(MPX() .. "K26_ROBBERY_PROG", stats.get_int(MPX() .. "K26_ROBBERY_PROG") | 64) stats.set_int(MPX() .. "K26_ROBBERY_PROG", stats.get_int(MPX() .. "K26_ROBBERY_PROG") | 64)
gui.show_message("Kortz Center Heist", "Access Code acquired") gui.show_message("Kortz Center Heist", "Access Code acquired! The vault awaits.")
end
if ImGui.IsItemHovered() then
ImGui.SetTooltip("Completes the Access Code prep.")
end end
-- Vehicles
ImGui.Text("Vehicles:") ImGui.Text("Vehicles:")
if ImGui.Button("Armored Caracara") then if ImGui.Button("Armored Caracara") then
stats.set_int(MPX() .. "K26_ROBBERY_PROG", stats.get_int(MPX() .. "K26_ROBBERY_PROG") | 256) stats.set_int(MPX() .. "K26_ROBBERY_PROG", stats.get_int(MPX() .. "K26_ROBBERY_PROG") | 256)
gui.show_message("Kortz Center Heist", "Armored Caracara unlocked") gui.show_message("Kortz Center Heist", "Armored Caracara unlocked! Heavy armor for the escape.")
end
if ImGui.IsItemHovered() then
ImGui.SetTooltip("Unlocks the Armored Caracara as an escape vehicle.")
end end
ImGui.SameLine() ImGui.SameLine()
if ImGui.Button("Annihilator Stealth") then if ImGui.Button("Annihilator Stealth") then
stats.set_int(MPX() .. "K26_ROBBERY_PROG", stats.get_int(MPX() .. "K26_ROBBERY_PROG") | 512) stats.set_int(MPX() .. "K26_ROBBERY_PROG", stats.get_int(MPX() .. "K26_ROBBERY_PROG") | 512)
gui.show_message("Kortz Center Heist", "Annihilator Stealth unlocked") gui.show_message("Kortz Center Heist", "Annihilator Stealth unlocked! Silent aerial extraction.")
end
if ImGui.IsItemHovered() then
ImGui.SetTooltip("Unlocks the Stealth Annihilator as an escape vehicle.")
end end
ImGui.SameLine() ImGui.SameLine()
if ImGui.Button("Manchez (Any Color)") then if ImGui.Button("Manchez (Any Color)") then
stats.set_int(MPX() .. "K26_ROBBERY_PROG", stats.get_int(MPX() .. "K26_ROBBERY_PROG") | 1024) stats.set_int(MPX() .. "K26_ROBBERY_PROG", stats.get_int(MPX() .. "K26_ROBBERY_PROG") | 1024)
gui.show_message("Kortz Center Heist", "Manchez unlocked") gui.show_message("Kortz Center Heist", "Manchez unlocked! Quick and agile escape bike.")
end
if ImGui.IsItemHovered() then
ImGui.SetTooltip("Unlocks the Manchez as an escape vehicle.")
end end
ImGui.Separator() ImGui.Separator()
-- Optional Prep Work
ImGui.Text("Optional Prep Work (Requires POI)") ImGui.Text("Optional Prep Work (Requires POI)")
ImGui.Separator() ImGui.Separator()
if ImGui.Button("Scope Points of Interest") then if ImGui.Button("Scope Points of Interest") then
stats.set_int(MPX() .. "K26_POI_BS", -1) stats.set_int(MPX() .. "K26_POI_BS", -1)
gui.show_message("Kortz Center Heist", "Points of Interest scoped") gui.show_message("Kortz Center Heist", "Points of Interest scoped! Valuable intel gathered.")
end
if ImGui.IsItemHovered() then
ImGui.SetTooltip("Scopes all Points of Interest in the Kortz Center.")
end end
ImGui.Text("General Upgrades:") ImGui.Text("General Upgrades:")
if ImGui.Button("Guard Routes") then if ImGui.Button("Guard Routes") then
setK26Bit("K26_GENERAL_BS", 32, "Guard Routes") setK26Bit("K26_GENERAL_BS", 32, "Guard Routes")
end end
if ImGui.IsItemHovered() then
ImGui.SetTooltip("Reveals guard patrol routes for easier stealth.")
end
ImGui.SameLine() ImGui.SameLine()
if ImGui.Button("Glass Cutter") then if ImGui.Button("Glass Cutter") then
setK26Bit("K26_GENERAL_BS", 64, "Glass Cutter") setK26Bit("K26_GENERAL_BS", 64, "Glass Cutter")
end end
if ImGui.IsItemHovered() then
ImGui.SetTooltip("Provides a glass cutter for display cases.")
end
if ImGui.Button("Power Drills") then if ImGui.Button("Power Drills") then
setK26Bit("K26_GENERAL_BS", 128, "Power Drills") setK26Bit("K26_GENERAL_BS", 128, "Power Drills")
end end
if ImGui.IsItemHovered() then
ImGui.SetTooltip("Provides power drills for breaking through obstacles.")
end
ImGui.SameLine() ImGui.SameLine()
if ImGui.Button("EMP Charges") then if ImGui.Button("EMP Charges") then
setK26Bit("K26_GENERAL_BS", 256, "EMP Charges") setK26Bit("K26_GENERAL_BS", 256, "EMP Charges")
end end
if ImGui.IsItemHovered() then
ImGui.SetTooltip("Provides EMP charges to disable electronics.")
end
ImGui.Text("Loadouts:") ImGui.Text("Loadouts:")
if ImGui.Button("Street Loadout") then if ImGui.Button("Street Loadout") then
setK26Bit("K26_GENERAL_BS", 512, "Street Loadout") setK26Bit("K26_GENERAL_BS", 512, "Street Loadout")
end end
if ImGui.IsItemHovered() then
ImGui.SetTooltip("Equips the Street Loadout for the heist.")
end
ImGui.SameLine() ImGui.SameLine()
if ImGui.Button("Security Loadout") then if ImGui.Button("Security Loadout") then
setK26Bit("K26_GENERAL_BS", 1024, "Security Loadout") setK26Bit("K26_GENERAL_BS", 1024, "Security Loadout")
end end
if ImGui.IsItemHovered() then
ImGui.SetTooltip("Equips the Security Loadout for the heist.")
end
ImGui.SameLine() ImGui.SameLine()
if ImGui.Button("Military Loadout") then if ImGui.Button("Military Loadout") then
setK26Bit("K26_GENERAL_BS", 2048, "Military Loadout") setK26Bit("K26_GENERAL_BS", 2048, "Military Loadout")
end end
if ImGui.IsItemHovered() then
ImGui.SetTooltip("Equips the Military Loadout for the heist.")
end
ImGui.Text("Manchez Colors:") ImGui.Text("Manchez Colors:")
if ImGui.Button("Red Manchez") then if ImGui.Button("Red Manchez") then
setK26Bit("K26_GENERAL_BS", 131072, "Red Manchez") setK26Bit("K26_GENERAL_BS", 131072, "Red Manchez")
end end
if ImGui.IsItemHovered() then
ImGui.SetTooltip("Unlocks the Red Manchez.")
end
ImGui.SameLine() ImGui.SameLine()
if ImGui.Button("Blue Manchez") then if ImGui.Button("Blue Manchez") then
setK26Bit("K26_GENERAL_BS", 262144, "Blue Manchez") setK26Bit("K26_GENERAL_BS", 262144, "Blue Manchez")
end end
if ImGui.IsItemHovered() then
ImGui.SetTooltip("Unlocks the Blue Manchez.")
end
ImGui.SameLine() ImGui.SameLine()
if ImGui.Button("Green Manchez") then if ImGui.Button("Green Manchez") then
setK26Bit("K26_GENERAL_BS", 524288, "Green Manchez") setK26Bit("K26_GENERAL_BS", 524288, "Green Manchez")
end end
if ImGui.IsItemHovered() then
ImGui.SetTooltip("Unlocks the Green Manchez.")
end
ImGui.SameLine() ImGui.SameLine()
if ImGui.Button("Yellow Manchez") then if ImGui.Button("Yellow Manchez") then
setK26Bit("K26_GENERAL_BS", 1048576, "Yellow Manchez") setK26Bit("K26_GENERAL_BS", 1048576, "Yellow Manchez")
end end
if ImGui.IsItemHovered() then
ImGui.SetTooltip("Unlocks the Yellow Manchez.")
end
if ImGui.Button("Manhole Key") then if ImGui.Button("Manhole Key") then
setK26Bit("K26_GENERAL_BS", 134217728, "Manhole Key") setK26Bit("K26_GENERAL_BS", 134217728, "Manhole Key")
end end
if ImGui.IsItemHovered() then
ImGui.SetTooltip("Provides a key to access the manhole escape route.")
end
ImGui.SameLine() ImGui.SameLine()
if ImGui.Button("Weak Guards") then if ImGui.Button("Weak Guards") then
setK26Bit("K26_GENERAL_BS", -2147483648, "Weak Guards") setK26Bit("K26_GENERAL_BS", -2147483648, "Weak Guards")
end end
if ImGui.IsItemHovered() then
ImGui.Separator() ImGui.SetTooltip("Weaker guards - easier to take down.")
-- Secondary Targets
ImGui.Text("Secondary Targets")
if ImGui.Button("Scope All Secondary Targets") then
stats.set_int(MPX() .. "K26_SCOPING_BS", -1)
gui.show_message("Kortz Center Heist", "All secondary targets scoped")
end end
ImGui.Separator() ImGui.Separator()
ImGui.Text("Secondary Targets")
if ImGui.Button("Scope All Secondary Targets") then
stats.set_int(MPX() .. "K26_SCOPING_BS", -1)
gui.show_message("Kortz Center Heist", "All secondary targets scoped! Extra loot locations marked.")
end
if ImGui.IsItemHovered() then
ImGui.SetTooltip("Reveals all secondary targets in the Kortz Center.")
end
-- Quick Actions ImGui.Separator()
ImGui.Text("Quick Actions") ImGui.Text("Quick Actions")
if ImGui.Button("Complete All Preps") then if ImGui.Button("Complete All Preps") then
stats.set_int(MPX() .. "K26_GENERAL_BS", -1) stats.set_int(MPX() .. "K26_GENERAL_BS", -1)
stats.set_int(MPX() .. "K26_ROBBERY_PROG", 65535) stats.set_int(MPX() .. "K26_ROBBERY_PROG", 65535)
stats.set_int(MPX() .. "K26_SCOPING_BS", -1) stats.set_int(MPX() .. "K26_SCOPING_BS", -1)
stats.set_int(MPX() .. "K26_POI_BS", -1) stats.set_int(MPX() .. "K26_POI_BS", -1)
gui.show_message("Kortz Center Heist", "All preps completed") gui.show_message("Kortz Center Heist", "All preps completed! Ready to start the heist.")
end
if ImGui.IsItemHovered() then
ImGui.SetTooltip("Completes all prep missions instantly. Ready to launch the heist.")
end end
ImGui.SameLine() ImGui.SameLine()
if ImGui.Button("Reset All Preps") then if ImGui.Button("Reset All Preps") then
@@ -7192,135 +7356,98 @@ KortzCenterHeistMenu:add_imgui(function()
stats.set_int(MPX() .. "K26_ROBBERY_PROG", 0) stats.set_int(MPX() .. "K26_ROBBERY_PROG", 0)
stats.set_int(MPX() .. "K26_SCOPING_BS", 0) stats.set_int(MPX() .. "K26_SCOPING_BS", 0)
stats.set_int(MPX() .. "K26_POI_BS", 0) stats.set_int(MPX() .. "K26_POI_BS", 0)
gui.show_message("Kortz Center Heist", "All preps reset") gui.show_message("Kortz Center Heist", "All preps reset! Back to square one.")
end
if ImGui.IsItemHovered() then
ImGui.SetTooltip("Resets all prep progress. Start fresh.")
end end
if ImGui.Button("Reload Planning Board") then if ImGui.Button("Reload Planning Board") then
stats.set_int(MPX() .. "K26_GENERAL_BS2", stats.get_int(MPX() .. "K26_GENERAL_BS2") + 1) stats.set_int(MPX() .. "K26_GENERAL_BS2", stats.get_int(MPX() .. "K26_GENERAL_BS2") + 1)
gui.show_message("Kortz Center Heist", "Planning board reloaded") gui.show_message("Kortz Center Heist", "Planning board reloaded! Updated progress.")
end
if ImGui.IsItemHovered() then
ImGui.SetTooltip("Reloads the planning board to reflect latest changes.")
end end
ImGui.Separator() ImGui.Separator()
-- Extras
ImGui.Text("Extras") ImGui.Text("Extras")
if ImGui.Button("Skip Cutscene") then if ImGui.Button("Skip Cutscene") then
SkipCutscene() SkipCutscene()
gui.show_message("Kortz Center Heist", "Cutscene skipped") gui.show_message("Kortz Center Heist", "Cutscene skipped! Back to action.")
end
if ImGui.IsItemHovered() then
ImGui.SetTooltip("Skips any currently playing cutscene.")
end end
end) end)
-- Kortz Center Cracker (Sub-tab inside Kortz Center Heist) -- Mission Cracker Tab
local KortzCenterCrackerMenu = KortzCenterHeistMenu:add_tab("Mission Cracker") KortzCenterCrackerMenu = KortzCenterHeistMenu:add_tab("Mission Cracker")
KortzCenterCrackerMenu:add_imgui(function() KortzCenterCrackerMenu:add_imgui(function()
if checkOnline() then return end if checkOnline() then return end
local isHeistActive = isKortzHeistActive() ImGui.Text("The Kortz Center Heist - Manual Hacks")
ImGui.Separator()
if not isHeistActive then ImGui.TextColored(0.6, 0.6, 0.6, 1.0, "Press these buttons when you reach the corresponding hack in the heist")
ImGui.TextColored(0.6, 0.6, 0.6, 1.0, "Please start The Kortz Center Heist first.")
ImGui.TextColored(0.6, 0.6, 0.6, 1.0, " ")
return
end
ImGui.Text("The Kortz Center Heist - Hacks")
ImGui.Separator() ImGui.Separator()
-- Master Auto-Hack Checkbox
local changed
autoAllHacks, changed = ImGui.Checkbox("Enable All Auto-Hacks", autoAllHacks)
if changed then
if autoAllHacks then
gui.show_message("Kortz Center Cracker", "All auto-hacks enabled")
else
gui.show_message("Kortz Center Cracker", "All auto-hacks disabled")
end
end
if ImGui.IsItemHovered() then
ImGui.SetTooltip("Automatically performs all hacks when needed")
end
ImGui.Separator()
ImGui.TextColored(0.6, 0.6, 0.6, 1.0, "Manual Hacks (Press when needed)")
ImGui.Separator()
-- Row 1
if ImGui.Button("Skip Data Crack") then if ImGui.Button("Skip Data Crack") then
KortzSkipDataCrack() KortzSkipDataCrack()
end end
if ImGui.IsItemHovered() then if ImGui.IsItemHovered() then
ImGui.SetTooltip("Press when doing the data crack minigame") ImGui.SetTooltip("Bypasses the data crack minigame.\n\nCracks all 8 rods instantly.")
end end
ImGui.SameLine() ImGui.Separator()
if ImGui.Button("Skip Fingerprint Hack") then if ImGui.Button("Skip Fingerprint Hack") then
KortzSkipFingerprint() KortzSkipFingerprint()
end end
if ImGui.IsItemHovered() then if ImGui.IsItemHovered() then
ImGui.SetTooltip("Press when doing the fingerprint hacking") ImGui.SetTooltip("Bypasses the fingerprint scanner entirely.\n\nNo need to find matching fingerprints.")
end end
ImGui.SameLine()
-- Row 2
if ImGui.Button("Auto-Enter Access Code") then if ImGui.Button("Auto-Enter Access Code") then
script.run_in_fiber(function(script) KortzAutoAccessCode()
KortzAutoAccessCode()
script:sleep(100)
end)
end end
if ImGui.IsItemHovered() then if ImGui.IsItemHovered() then
ImGui.SetTooltip("Press when entering the PC access code") ImGui.SetTooltip("Automatically enters the access code 000.\n\nSkips the PC access code puzzle.")
end end
ImGui.SameLine() ImGui.Separator()
if ImGui.Button("Disable Lasers") then if ImGui.Button("Disable Lasers") then
KortzDisableLasers() KortzDisableLasers()
end end
if ImGui.IsItemHovered() then if ImGui.IsItemHovered() then
ImGui.SetTooltip("Press to disable the laser grid") ImGui.SetTooltip("Deactivates the laser grid security system.\n\nClear path through the laser hallway.")
end end
ImGui.SameLine()
-- Row 3
if ImGui.Button("Skip Vault Door Hack") then if ImGui.Button("Skip Vault Door Hack") then
KortzSkipVaultDoor() KortzSkipVaultDoor()
end end
if ImGui.IsItemHovered() then if ImGui.IsItemHovered() then
ImGui.SetTooltip("Press to skip signal nodes hacking") ImGui.SetTooltip("Bypasses the vault door signal nodes hack.\n\nInstant access to the vault.")
end end
ImGui.SameLine() ImGui.Separator()
if ImGui.Button("Cut Glass") then
KortzCutGlass()
end
if ImGui.IsItemHovered() then
ImGui.SetTooltip("Press to cut display cases instantly")
end
-- Row 4
if ImGui.Button("Take Primary Target") then if ImGui.Button("Take Primary Target") then
script.run_in_fiber(function(script) script.run_in_fiber(function(s) KortzTakePrimary(); s:sleep(1000) end)
KortzTakePrimary()
script:sleep(1000)
end)
end end
if ImGui.IsItemHovered() then if ImGui.IsItemHovered() then
ImGui.SetTooltip("Press to take the primary target instantly - Don't forget to hammer the clip once") ImGui.SetTooltip("Grabs the primary target instantly.\n\nThe main objective of the heist.")
end end
ImGui.SameLine() ImGui.SameLine()
if ImGui.Button("Take Secondary Target") then if ImGui.Button("Take Secondary Target") then
KortzTakeSecondary() KortzTakeSecondary()
end end
if ImGui.IsItemHovered() then if ImGui.IsItemHovered() then
ImGui.SetTooltip("Press to take a secondary target instantly - Don't forget to cut down once") ImGui.SetTooltip("Grabs a secondary target instantly.\n\nExtra loot for bigger payout.")
end end
ImGui.Separator()
ImGui.TextColored(0.6, 0.6, 0.6, 1.0, "Toggle the checkbox above for full automation")
end) end)
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------