--Required Stats---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- local function MPX() local PI = stats.get_int("MPPLY_LAST_MP_CHAR") if PI == 1 then return "MP1_" end return "MP0_" end local function SkipCutscene() script.run_in_fiber(function(script) if CUTSCENE.IS_CUTSCENE_PLAYING() then CUTSCENE.STOP_CUTSCENE_IMMEDIATELY() script:sleep(100) CUTSCENE.REMOVE_CUTSCENE() end end) end local CamList = { joaat("prop_cctv_cam_01a"), joaat("prop_cctv_cam_01b"), joaat("prop_cctv_cam_02a"), joaat("prop_cctv_cam_03a"), joaat("prop_cctv_cam_04a"), joaat("prop_cctv_cam_04c"), joaat("prop_cctv_cam_05a"), joaat("prop_cctv_cam_06a"), joaat("prop_cctv_cam_07a"), joaat("prop_cs_cctv"), joaat("p_cctv_s"), joaat("hei_prop_bank_cctv_01"), joaat("hei_prop_bank_cctv_02"), joaat("ch_prop_ch_cctv_cam_02a"), joaat("xm_prop_x17_server_farm_cctv_01"), } local function SPX() local player_ped = PLAYER.PLAYER_PED_ID() if player_ped == 0 then return "SP0_" end local PI = ENTITY.GET_ENTITY_MODEL(player_ped) if PI == joaat("Player_One") then return "SP1_" elseif PI == joaat("Player_Two") then return "SP2_" end return "SP0_" end local bypassOnlineCheckbox = nil local function checkOnline() if bypassOnlineCheckbox and bypassOnlineCheckbox:is_enabled() then return false end if SCRIPT.GET_NUMBER_OF_THREADS_RUNNING_THE_SCRIPT_WITH_THIS_HASH(joaat("maintransition")) > 0 or not ENTITY.DOES_ENTITY_EXIST(PLAYER.PLAYER_PED_ID()) then ImGui.Text("Waiting for game...") return true end if not network.is_session_started() then ImGui.Text("This feature requires GTA Online.") return true end return false end local function checkStoryMode() if SCRIPT.GET_NUMBER_OF_THREADS_RUNNING_THE_SCRIPT_WITH_THIS_HASH(joaat("maintransition")) > 0 or not ENTITY.DOES_ENTITY_EXIST(PLAYER.PLAYER_PED_ID()) then ImGui.Text("Waiting for game...") return true end if network.is_session_started() then ImGui.Text("This menu is for Story Mode only.") return true end return false end -- Silent offline check: returns true if offline, but shows NO text local function isOffline() if bypassOnlineCheckbox and bypassOnlineCheckbox:is_enabled() then return false end if SCRIPT.GET_NUMBER_OF_THREADS_RUNNING_THE_SCRIPT_WITH_THIS_HASH(joaat("maintransition")) > 0 or not ENTITY.DOES_ENTITY_EXIST(PLAYER.PLAYER_PED_ID()) then return true end if not network.is_session_started() then return true end return false end -- Shared guard: ensures exactly ONE warning callback per tab local online_guards = {} local function ensureOnlineGuard(tab) if not online_guards[tab] then online_guards[tab] = true tab:add_imgui(function() checkOnline() -- only this one shows the warning text end) end end local online_widgets = {} local function initOnlineTab(tab) if not online_widgets[tab] then online_widgets[tab] = {} ensureOnlineGuard(tab) -- shared guard shows the warning tab:add_imgui(function() if isOffline() then return end -- silent check, no duplicate text for _, widget in ipairs(online_widgets[tab]) do if widget.type == "button" then if ImGui.Button(widget.label) then widget.callback() end elseif widget.type == "sameline" then ImGui.SameLine() elseif widget.type == "separator" then ImGui.Separator() elseif widget.type == "text" then ImGui.Text(widget.label) elseif widget.type == "checkbox" then local changed widget.state, changed = ImGui.Checkbox(widget.label, widget.state) elseif widget.type == "input_int" then widget.value, _ = ImGui.InputInt(widget.label, widget.value) end end end) end end local function addOnlineButton(tab, label, callback) initOnlineTab(tab) table.insert(online_widgets[tab], { type = "button", label = label, callback = callback }) end local function addOnlineSameline(tab) initOnlineTab(tab) table.insert(online_widgets[tab], { type = "sameline" }) end local function addOnlineSeparator(tab) initOnlineTab(tab) table.insert(online_widgets[tab], { type = "separator" }) end local function addOnlineText(tab, label) initOnlineTab(tab) table.insert(online_widgets[tab], { type = "text", label = label }) end local function addOnlineCheckbox(tab, label, default_value) initOnlineTab(tab) local checkbox_obj = { type = "checkbox", label = label, state = default_value or false, is_enabled = function(self) return self.state end, set_enabled = function(self, val) self.state = val end } table.insert(online_widgets[tab], checkbox_obj) return checkbox_obj end local function addOnlineInputInt(tab, label, default_value) initOnlineTab(tab) local input_obj = { type = "input_int", label = label, value = default_value or 0, get_value = function(self) return self.value end, set_value = function(self, val) self.value = val end } table.insert(online_widgets[tab], input_obj) return input_obj end local function makeOnlineTab(tab) local wrapped = {} function wrapped:add_tab(name) return makeOnlineTab(tab:add_tab(name)) end function wrapped:add_button(label, callback) addOnlineButton(tab, label, callback) end function wrapped:add_checkbox(label, default_value) return addOnlineCheckbox(tab, label, default_value) end function wrapped:add_input_int(label, default_value) return addOnlineInputInt(tab, label, default_value) end function wrapped:add_text(label) addOnlineText(tab, label) end function wrapped:add_separator() addOnlineSeparator(tab) end function wrapped:add_sameline() addOnlineSameline(tab) end function wrapped:add_imgui(callback) ensureOnlineGuard(tab) -- shared guard shows the warning tab:add_imgui(function() if isOffline() then return end -- silent check, no duplicate text callback() end) end return wrapped end local function CutsPresetter(global_start, global_finish, cut) globals.set_int(GCg, cut) for i = global_start, global_finish do globals.set_int(i, cut) end end local function changeSession(session) script.run_in_fiber(function(script) globals.set_int(CSg1, session) if session == -1 then globals.set_int(CSg3, -1) end script:sleep(1000) globals.set_int(CSg2, 1) script:sleep(1000) globals.set_int(CSg2, 0) end) end local currentlevel = 0 local currentcrewlevel = 0 --Required Scripts-- FMC = "fm_mission_controller" FMMCL = "fmmc_launcher" FMC2020 = "fm_mission_controller_2020" HIP = "heist_island_planning" --Globals & Locals & Variables-- FMg = 262145 -- free mode global ("CASH_MULTIPLIER") //correct CSg1 = 1575046 -- change session (type) 1 // Guide: NETWORK::UGC_SET_USING_OFFLINE_CONTENT(false); in freemode.c CSg2 = 1574589 -- change session (switch) 2 // Guide: MP_POST_MATCH_TRANSITION_SCENE in freemode.c CSg3 = 1574589 + 2 -- change session (quit) 3 // Guide: MP_POST_MATCH_TRANSITION_SCENE in freemode.c -- Apartment Heist ACg1 = 1935929 + 1 + 1 -- global apartment player 1 cut global ("fmmc_launcher") ACg2 = 1935929 + 1 + 2 -- global apartment player 2 cut global ("fmmc_launcher") ACg3 = 1935929 + 1 + 3 -- global apartment player 3 cut global ("fmmc_launcher") ACg4 = 1935929 + 1 + 4 -- global apartment player 4 cut global ("fmmc_launcher") ACg5 = 1937897 + 3008 + 1 -- local apartment player 1 cut global ("fmmc_launcher") AUAJg1 = FMg + 9184 -- apartment unlock all jobs global 1 ("ROOT_ID_HASH_THE_FLECCA_JOB") AUAJg2 = FMg + 9189 -- apartment unlock all jobs global 2 ("ROOT_ID_HASH_THE_PRISON_BREAK") AUAJg3 = FMg + 9196 -- apartment unlock all jobs global 3 ("ROOT_ID_HASH_THE_HUMANE_LABS_RAID") AUAJg4 = FMg + 9202 -- apartment unlock all jobs global 4 ("ROOT_ID_HASH_SERIES_A_FUNDING") AUAJg5 = FMg + 9208 -- apartment unlock all jobs global 5 ("ROOT_ID_HASH_THE_PACIFIC_STANDARD_JOB") AIFl1 = 19808 -- apartment instant finish local 1 AIFl2 = 19808 + 1062 -- apartment instant finish local 2 AIFl3 = 19808 + 1740 + 1 -- apartment instant finish local 3 AIFl4 = 19808 + 2686 -- apartment instant finish local 4 AIFl5 = 28722 + 1 -- apartment instant finish local 5 AIFl6 = 31981 + 1 + 68 -- apartment instant finish local 6 AFHl = 11837 + 24 -- apartment fleeca hack local AFDl = 10125 + 11 -- apartment fleeca drill local AFPl = 9831 -- apartment pacific hack local AHSo = 19808 + 2 -- Apartment heist skip checkpoint ACDg = 2686119 -- apartment cooldown global AHRg = 2687102 + 67 -- apartment redraw board global -- Diamond Casino Heist DCRBl = 217 -- diamond casino reload board local DCCg1 = 1972483 + 1497 + 736 + 92 + 1 -- diamond casino player 1 cut global ("gb_casino_heist_planning") DCCg2 = 1972483 + 1497 + 736 + 92 + 2 -- diamond casino player 2 cut global ("gb_casino_heist_planning") DCCg3 = 1972483 + 1497 + 736 + 92 + 3 -- diamond casino player 3 cut global ("gb_casino_heist_planning") DCCg4 = 1972483 + 1497 + 736 + 92 + 4 -- diamond casino player 4 cut global ("gb_casino_heist_planning") DCAg = 53132 + 434 -- casino autograbber local 1 DCAs = 53132 + 435 -- casino autograbber local 2 DCFHl = 53132 -- diamond casino fingerprint hack local DCKHl = 54198 -- diamond casino keypad hack local DCDVDl1 = 10109 + 7 -- diamond casino drill vault door local 1 --("DLC_HEIST_MINIGAME_FLEECA_DRILLING_SCENE") in ("fm_mission_controller") DCDVDl2 = 10109 + 37 -- diamond casino drill vault door local 2 --("fm_mission_controller") DCXf1 = 19808 DCXf2 = 19808 + 1062 DCXf3 = 19808 + 1740 + 1 DCXf4 = 19808 + 2686 DCXf5 = 28722 + 1 DCXf6 = 31981 + 1 + 68 -- Cayo Perico Heist CPRSl = 1578 -- cayo perico reload screen local CPCg1 = 1980404 + 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") CPCg3 = 1980404 + 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") 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") CPSTCl = 31109 -- cayo perico drainage pipe cut local ("IntroFinished") in ("fm_mission_controller_2020") CPXf1 = 56070 -- cayo perico instant finish local 1 CPXf2 = 56070 + 1776 + 1 -- cayo perico instant finish local 2 -- Doomsday Heist DDSHl = 1312 + 135 -- doomsday doomsday scenario hack local DCg1 = 1968511 + 812 + 50 + 1 -- doomsday player 1 cut global --("gb_gang_ops_planning") DCg2 = 1968511 + 812 + 50 + 2 -- doomsday player 2 cut global --("gb_gang_ops_planning") DCg3 = 1968511 + 812 + 50 + 3 -- doomsday player 3 cut global --("gb_gang_ops_planning") DCg4 = 1968511 + 812 + 50 + 4 -- doomsday player 4 cut global --("gb_gang_ops_planning") GCg = 2686119 + 6791 -- global cut global (value2 = value2 * (num / 100f);) DDIF1 = 19808 -- doomsday instant finish local 1 DDIF2 = 19808 + 1740 + 1 -- doomsday instant finish local 2 DDIF3 = 28722 + 1 -- doomsday instant finish local 3 DDIF4 = 31981 + 1 + 68 -- doomsday instant finish local 4 DDIF5 = 31981 + 97 -- doomsday instant finish local 5 -- Agency Variables AGFl1 = 56070 + 1 AGFl2 = 56070 + 1776 + 1 -- Auto Shop variables ASIFl1 = 56070 + 1 -- auto shop instant finish local 1 ASIFl2 = 56070 + 1776 + 1 -- auto shop finish local 2 ASRBl = 406 -- auto shop reload board local -- Salvage Yard SYRl1 = 1566 -- salvage yard reload board local -- Heists Meta HGLs1 = 4718592 + 3769 HGLs2 = 4718592 + 3772 HGLs3 = 4718592 + 3773 HGLs4 = 4718592 + 190163 + 1 HGGs1 = 20054 + 34 HGGs2 = 20054 + 15 IHPB = 56070 --Instant Heist Passed Local Base (Casino And CayoPerico) IHPL = 56070 + 1776 + 1 --Instant Heist Passed Locals (Casino And CayoPerico) NLCl = 213 + 32 + 1 --("nightclub_office_cutscene") in ("am_mp_nightclub") SNOW = FMg + 4413 halloweatherAddress = FMg + 32246 --GUN VAN VARIABLES------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- GVADg = FMg + 33392 GVWDg = FMg + 33373 GVTDg = FMg + 33384 --BV = Ballastic Value---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- BV = FMg + 20113 --CCBL = Casino Chips Buy Limit------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- CCBL0 = FMg + 26623 CCBL1 = FMg + 26624 --BAS=Bag Size------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ BAS1 = FMg + 29300 --PSV=Panther Statue----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- PSV = FMg + 29552 --PDIAMOND=Pink Diamond--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- PDIAMOND = FMg + 29550 --BB=Bearer Bonds--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- BB = FMg + 29549 --RN=Ruby Necklace-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- RN = FMg + 29548 --TEQUILA=Tequila--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- TEQUILA = FMg + 29547 -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- L7NEG = gui.add_tab("Ultimate Menu 1.73 Legacy") L7NEG:add_text(" Ultimate Menu 1.73 Legacy ") L7NEG:add_text(" v3") bypassOnlineCheckbox = L7NEG:add_checkbox("Bypass Online Check") -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- Self = L7NEG:add_tab("Self Menu") -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- AGCT = Self:add_checkbox("Unlock Gender Change") script.register_looped("UnlockGenderChange", 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 AGCT:is_enabled() then stats.set_int(MPX() .. "ALLOW_GENDER_CHANGE", 52) else stats.set_int(MPX() .. "ALLOW_GENDER_CHANGE", 52) end end) RTPT = Self:add_checkbox("Remove Transaction Error") script.register_looped("RemoveTransactionError", 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 RTPT:is_enabled() then globals.set_int(4516981, 0) globals.set_int(4516982, 0) globals.set_int(4516983, 0) end end) Self:add_button("Remove Published And Players Job Liked To You", function() stats.set_int("MPPLY_AWD_FM_CR_DM_MADE", 0) stats.set_int("MPPLY_AWD_FM_CR_RACES_MADE", 0) stats.set_int("MPPLY_NUM_CAPTURES_CREATED", 0) stats.set_int("MPPLY_LTS_CREATED", 0) stats.set_int("MPPLY_AWD_FM_CR_PLAYED_BY_PEEP", 0) stats.set_int("MPPLY_AWD_FM_CR_MISSION_SCORE", 0) stats.set_int("MPPLY_FM_MISSION_LIKES", 0) end) Self:add_button("Remove Orbital Cannon Cooldown", function() stats.set_int(MPX() .. "ORBITAL_CANNON_COOLDOWN", 0) end) Self:add_button("Refill Nightclub Popularity", function() stats.set_int(MPX() .. "CLUB_POPULARITY", 1000) end) -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- Self:add_button("Refill Inventory/Armour", function() stats.set_int(MPX() .. "NO_BOUGHT_YUM_SNACKS", 30) stats.set_int(MPX() .. "NO_BOUGHT_HEALTH_SNACKS", 15) stats.set_int(MPX() .. "NO_BOUGHT_EPIC_SNACKS", 5) stats.set_int(MPX() .. "NUMBER_OF_CHAMP_BOUGHT", 5) stats.set_int(MPX() .. "NUMBER_OF_ORANGE_BOUGHT", 11) stats.set_int(MPX() .. "NUMBER_OF_BOURGE_BOUGHT", 10) stats.set_int(MPX() .. "NUMBER_OF_SPRUNK_BOUGHT", 10) stats.set_int(MPX() .. "CIGARETTES_BOUGHT", 20) stats.set_int(MPX() .. "MP_CHAR_ARMOUR_1_COUNT", 10) stats.set_int(MPX() .. "MP_CHAR_ARMOUR_2_COUNT", 10) stats.set_int(MPX() .. "MP_CHAR_ARMOUR_3_COUNT", 10) stats.set_int(MPX() .. "MP_CHAR_ARMOUR_4_COUNT", 10) stats.set_int(MPX() .. "MP_CHAR_ARMOUR_5_COUNT", 10) stats.set_int(MPX() .. "BREATHING_APPAR_BOUGHT", 20) end) Self:add_button("Refill Inv/Armour x1000", function() stats.set_int(MPX() .. "NO_BOUGHT_YUM_SNACKS", 1000) stats.set_int(MPX() .. "NO_BOUGHT_HEALTH_SNACKS", 1000) stats.set_int(MPX() .. "NO_BOUGHT_EPIC_SNACKS", 1000) stats.set_int(MPX() .. "NUMBER_OF_CHAMP_BOUGHT", 1000) stats.set_int(MPX() .. "NUMBER_OF_ORANGE_BOUGHT", 1000) stats.set_int(MPX() .. "NUMBER_OF_BOURGE_BOUGHT", 1000) stats.set_int(MPX() .. "NUMBER_OF_SPRUNK_BOUGHT", 1000) stats.set_int(MPX() .. "CIGARETTES_BOUGHT", 1000) stats.set_int(MPX() .. "MP_CHAR_ARMOUR_1_COUNT", 1000) stats.set_int(MPX() .. "MP_CHAR_ARMOUR_2_COUNT", 1000) stats.set_int(MPX() .. "MP_CHAR_ARMOUR_3_COUNT", 1000) stats.set_int(MPX() .. "MP_CHAR_ARMOUR_4_COUNT", 1000) stats.set_int(MPX() .. "MP_CHAR_ARMOUR_5_COUNT", 1000) stats.set_int(MPX() .. "BREATHING_APPAR_BOUGHT", 1000) end) Self:add_separator() Self:add_text("Bad Sport!") BadSportCombo = 0 Self:add_imgui(function() ImGui.PushItemWidth(140) BadSportCombo = ImGui.Combo("##BadSport", BadSportCombo, { "Remove", "Add" }, 2) end) local function BadSport(State, Overall, Bool) script.run_in_fiber(function(script) gui.show_message("Bad Sport!", "Awaiting Session Change") script:sleep(1000) stats.set_int("MPPLY_BADSPORT_MESSAGE", State) stats.set_int("MPPLY_BADSPORT_MESSAGE", State) stats.set_float("MPPLY_OVERALL_BADSPORT", Overall) stats.set_bool("MPPLY_CHAR_IS_BADSPORT", Bool) globals.set_int(CSg1, 11) globals.set_int(CSg2, 1) script:sleep(300) globals.set_int(CSg2, 0) end) end Self:add_sameline() Self:add_button("Execute", function() if BadSportCombo == 0 then BadSport(0, 0, false) else BadSport(1, 3000, true) end end) StoryCharacters = L7NEG:add_tab("Story Mode") StoryCharacters:add_imgui(function() if checkStoryMode() then return end local CurrentSPMoneyValue = stats.get_int(SPX() .. "TOTAL_CASH") local used CurrentSPMoneyValue, used = ImGui.SliderInt("Current Character Cash", CurrentSPMoneyValue, 1, 2147483646) if used then stats.set_int(SPX() .. "TOTAL_CASH", CurrentSPMoneyValue) end end) StoryCharacters:add_separator() StoryCharacters:add_button("Add 1 Mil Cash $", function() stats.set_int(SPX() .. "TOTAL_CASH", stats.get_int(SPX() .. "TOTAL_CASH") + 1000000) end) StoryCharacters:add_button("Add 10 Mil Cash $", function() stats.set_int(SPX() .. "TOTAL_CASH", stats.get_int(SPX() .. "TOTAL_CASH") + 10000000) end) StoryCharacters:add_button("Add 100 Mil Cash $", function() stats.set_int(SPX() .. "TOTAL_CASH", stats.get_int(SPX() .. "TOTAL_CASH") + 100000000) end) StoryCharacters:add_button("Add 1 Bil Cash $", function() stats.set_int(SPX() .. "TOTAL_CASH", stats.get_int(SPX() .. "TOTAL_CASH") + 1000000000) end) StoryCharacters:add_separator() StoryCharacters:add_button("Max Current Character Skills", function() stats.set_int(SPX() .. "SPECIAL_ABILITY_UNLOCKED", 100) stats.set_float(SPX() .. "DIST_RUNNING", 175 * 100) stats.set_int(SPX() .. "TIME_UNDERWATER", 30 * 60 * 1000 * 100) stats.set_int(SPX() .. "UNARMED_HITS", 20 * 100) stats.set_int(SPX() .. "NUMBER_NEAR_MISS", 50 * 100) stats.set_int(SPX() .. "PLANE_LANDINGS", 10 * 100) stats.set_int(SPX() .. "KILLS_STEALTH", 2 * 100) stats.set_int(SPX() .. "HITS_MISSION", 40 * 100) stats.set_int(SPX() .. "HITS_PEDS_VEHICLES", 80 * 100) end) -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- RecoveryMenu = L7NEG:add_tab("Recovery Menu") -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- local rp = { 0, 800, 2100, 3800, 6100, 9500, 12500, 16000, 19800, 24000, 28500, 33400, 38700, 44200, 50200, 56400, 63000, 69900, 77100, 84700, 92500, 100700, 109200, 118000, 127100, 136500, 146200, 156200, 166500, 177100, 188000, 199200, 210700, 222400, 234500, 246800, 259400, 272300, 285500, 299000, 312700, 326800, 341000, 355600, 370500, 385600, 401000, 416600, 432600, 448800, 465200, 482000, 499000, 516300, 533800, 551600, 569600, 588000, 606500, 625400, 644500, 663800, 683400, 703300, 723400, 743800, 764500, 785400, 806500, 827900, 849600, 871500, 893600, 916000, 938700, 961600, 984700, 1008100, 1031800, 1055700, 1079800, 1104200, 1128800, 1153700, 1178800, 1204200, 1229800, 1255600, 1281700, 1308100, 1334600, 1361400, 1388500, 1415800, 1443300, 1471100, 1499100, 1527300, } local function getRP(level) if level < #rp then return rp[level] else return math.floor(25 * (level ^ 2) + 23575 * level - 1023150) end end RankSetter = RecoveryMenu:add_tab("Set Rank menu") local rpLevelValue = 1 RankSetter:add_imgui(function() if checkOnline() then return end ImGui.Text("Your current Rank is " .. stats.get_int(MPX() .. "CHAR_RANK_FM")) ImGui.Separator() rpLevelValue, _ = ImGui.InputInt("Rank", rpLevelValue) if ImGui.Button("Set Rank") then local rankValue = rpLevelValue if rankValue <= 0 or rankValue > 8000 then gui.show_message( "ERROR", "Your RP level " .. rankValue .. " cannot be set because it is outside the valid range (1-8000)." ) else stats.set_int(MPX() .. "CHAR_SET_RP_GIFT_ADMIN", getRP(rankValue)) stats.set_int("MPPLY_GLOBALXP", getRP(rankValue)) globals.set_int(CSg1, 11) globals.set_int(CSg2, 1) globals.set_int(CSg2, 0) gui.show_message( "Rank Correction", "Your Rank was set to " .. rankValue .. ", Click change session For Your New Rank." ) end end end) -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- CrewRankSetter = RecoveryMenu:add_tab("Set Crew Rank menu") local crewRpLevelValue = 1 CrewRankSetter:add_imgui(function() if checkOnline() then return end ImGui.Text("Your Current Crew Rank is " .. stats.get_int("MPPLY_CURRENT_CREW_RANK")) ImGui.Separator() crewRpLevelValue, _ = ImGui.InputInt("Rank##Crew", crewRpLevelValue) if ImGui.Button("Set Slot 1 Crew Rank") then local rankValue = crewRpLevelValue if rankValue <= 0 or rankValue > 8000 then gui.show_message("ERROR", "Your Crew level " .. rankValue .. " cannot be set because it is outside the valid range (1-8000).") else stats.set_int("MPPLY_CREW_LOCAL_XP_0", getRP(rankValue)) gui.show_message("Crew Rank Setter", "Your Crew Slot 1 Rank was set to " .. rankValue .. ", .") end end if ImGui.Button("Set Slot 2 Crew Rank") then local rankValue = crewRpLevelValue if rankValue <= 0 or rankValue > 8000 then gui.show_message("ERROR", "Your Crew level " .. rankValue .. " cannot be set because it is outside the valid range (1-8000).") else stats.set_int("MPPLY_CREW_LOCAL_XP_1", getRP(rankValue)) gui.show_message("Crew Rank Setter", "Your Crew Slot 2 Rank was set to " .. rankValue .. ", .") end end if ImGui.Button("Set Slot 3 Crew Rank") then local rankValue = crewRpLevelValue if rankValue <= 0 or rankValue > 8000 then gui.show_message("ERROR", "Your Crew level " .. rankValue .. " cannot be set because it is outside the valid range (1-8000).") else stats.set_int("MPPLY_CREW_LOCAL_XP_2", getRP(rankValue)) gui.show_message("Crew Rank Setter", "Your Crew Slot 3 Rank was set to " .. rankValue .. ", .") end end if ImGui.Button("Set Slot 4 Crew Rank") then local rankValue = crewRpLevelValue if rankValue <= 0 or rankValue > 8000 then gui.show_message("ERROR", "Your Crew level " .. rankValue .. " cannot be set because it is outside the valid range (1-8000).") else stats.set_int("MPPLY_CREW_LOCAL_XP_3", getRP(rankValue)) gui.show_message("Crew Rank Setter", "Your Crew Slot 4 Rank was set to " .. rankValue .. ", .") end end if ImGui.Button("Set Slot 5 Crew Rank") then local rankValue = crewRpLevelValue if rankValue <= 0 or rankValue > 8000 then gui.show_message("ERROR", "Your Crew level " .. rankValue .. " cannot be set because it is outside the valid range (1-8000).") else stats.set_int("MPPLY_CREW_LOCAL_XP_4", getRP(rankValue)) gui.show_message("Crew Rank Setter", "Your Crew Slot 5 Rank was set to " .. rankValue .. ", .") end end end) SkillsMenu = RecoveryMenu:add_tab("Skills Menu") SkillsMenu:add_button("Max Current Skills", function() stats.set_int(MPX() .. "SCRIPT_INCREASE_STAM", 100) stats.set_int(MPX() .. "SCRIPT_INCREASE_STRN", 100) stats.set_int(MPX() .. "SCRIPT_INCREASE_LUNG", 100) stats.set_int(MPX() .. "SCRIPT_INCREASE_DRIV", 100) stats.set_int(MPX() .. "SCRIPT_INCREASE_FLY", 100) stats.set_int(MPX() .. "SCRIPT_INCREASE_SHO", 100) stats.set_int(MPX() .. "SCRIPT_INCREASE_STL", 100) gui.show_message("Skills", "Skills should've been maximized") end) SkillsMenu:add_button("Reset Skills", function() stats.set_int(MPX() .. "SCRIPT_INCREASE_STAM", 0) stats.set_int(MPX() .. "SCRIPT_INCREASE_STRN", 0) stats.set_int(MPX() .. "SCRIPT_INCREASE_LUNG", 0) stats.set_int(MPX() .. "SCRIPT_INCREASE_DRIV", 0) stats.set_int(MPX() .. "SCRIPT_INCREASE_FLY", 0) stats.set_int(MPX() .. "SCRIPT_INCREASE_SHO", 0) stats.set_int(MPX() .. "SCRIPT_INCREASE_STL", 0) end) -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- OnlineServicesMenu = L7NEG:add_tab("Online Services Menu") -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- CasinoServicesMenu = OnlineServicesMenu:add_tab("Casino Services Menu") ensureOnlineGuard(CasinoServicesMenu) -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- local cslots = "casino_slots" slots_random_results_table = 1379 prize_wheel_win_state = 309 prize_wheel_prize = 14 prize_wheel_prize_state = 45 CasinoServicesMenu:add_text("Casino Chips") chipsVal = 1800 CasinoServicesMenu:add_imgui(function() if isOffline() then return end chipsVal, used = ImGui.SliderInt("Casino Chips Buy Limit", chipsVal, 1800, 2147483647) if used then globals.set_int(CCBL0, chipsVal) globals.set_int(CCBL1, chipsVal) end end) CasinoServicesMenu:add_button("Bypass Casino Cooldown", function() stats.set_int("MPPLY_CASINO_CHIPS_WON_GD", 0) stats.set_int("MPPLY_CASINO_CHIPS_WONTIM", 0) stats.set_int("MPPLY_CASINO_GMBLNG_GD", 0) stats.set_int("MPPLY_CASINO_BAN_TIME", 0) stats.set_int("MPPLY_CASINO_CHIPS_PURTIM", 0) stats.set_int("MPPLY_CASINO_CHIPS_PUR_GD", 0) stats.set_int("MPPLY_CASINO_CHIPS_SOLD", 0) stats.set_int("MPPLY_CASINO_CHIPS_SELTIM", 0) end) CasinoServicesMenu:add_text("Winning too much too quickly might get you banned, enable this at your own risk.") CasinoServicesMenu:add_separator() CasinoServicesMenu:add_text("Slots") CasinoServicesMenu:add_button("Rig Slot Machines", function() for i = 3, 196 do if i ~= 67 and i ~= 132 then locals.set_int(cslots, slots_random_results_table + i, 6) end end end) CasinoServicesMenu:add_button("Lose Slot Machines", function() for i = 3, 196 do if i ~= 67 and i ~= 132 then locals.set_int(cslots, slots_random_results_table + i, 0) end end end) CasinoServicesMenu:add_separator() CasinoServicesMenu:add_text("Lucky Wheel") CasinoServicesMenu:add_button("Give Podium Vehicle", function() script.run_in_fiber(function(script) if SCRIPT.GET_NUMBER_OF_THREADS_RUNNING_THE_SCRIPT_WITH_THIS_HASH(joaat("casino_lucky_wheel")) ~= 0 then locals.set_int("casino_lucky_wheel", prize_wheel_win_state + prize_wheel_prize, 18) locals.set_int("casino_lucky_wheel", prize_wheel_win_state + prize_wheel_prize_state, 11) end end) end) CasinoServicesMenu:add_sameline() CasinoServicesMenu:add_button("Give Mystery Prize", function() script.run_in_fiber(function(script) if SCRIPT.GET_NUMBER_OF_THREADS_RUNNING_THE_SCRIPT_WITH_THIS_HASH(joaat("casino_lucky_wheel")) ~= 0 then locals.set_int("casino_lucky_wheel", prize_wheel_win_state + prize_wheel_prize, 11) locals.set_int("casino_lucky_wheel", prize_wheel_win_state + prize_wheel_prize_state, 11) end end) end) CasinoServicesMenu:add_sameline() CasinoServicesMenu:add_button("Give $50,000", function() script.run_in_fiber(function(script) if SCRIPT.GET_NUMBER_OF_THREADS_RUNNING_THE_SCRIPT_WITH_THIS_HASH(joaat("casino_lucky_wheel")) ~= 0 then locals.set_int("casino_lucky_wheel", prize_wheel_win_state + prize_wheel_prize, 19) locals.set_int("casino_lucky_wheel", prize_wheel_win_state + prize_wheel_prize_state, 11) end end) end) CasinoServicesMenu:add_sameline() CasinoServicesMenu:add_button("Give 25,000 Chips", function() script.run_in_fiber(function(script) if SCRIPT.GET_NUMBER_OF_THREADS_RUNNING_THE_SCRIPT_WITH_THIS_HASH(joaat("casino_lucky_wheel")) ~= 0 then locals.set_int("casino_lucky_wheel", prize_wheel_win_state + prize_wheel_prize, 15) locals.set_int("casino_lucky_wheel", prize_wheel_win_state + prize_wheel_prize_state, 11) end end) end) CasinoServicesMenu:add_button("Give 15,000RP", function() script.run_in_fiber(function(script) if SCRIPT.GET_NUMBER_OF_THREADS_RUNNING_THE_SCRIPT_WITH_THIS_HASH(joaat("casino_lucky_wheel")) ~= 0 then locals.set_int("casino_lucky_wheel", prize_wheel_win_state + prize_wheel_prize, 17) locals.set_int("casino_lucky_wheel", prize_wheel_win_state + prize_wheel_prize_state, 11) end end) end) CasinoServicesMenu:add_sameline() CasinoServicesMenu:add_button("Give Discount", function() script.run_in_fiber(function(script) if SCRIPT.GET_NUMBER_OF_THREADS_RUNNING_THE_SCRIPT_WITH_THIS_HASH(joaat("casino_lucky_wheel")) ~= 0 then locals.set_int("casino_lucky_wheel", prize_wheel_win_state + prize_wheel_prize, 4) locals.set_int("casino_lucky_wheel", prize_wheel_win_state + prize_wheel_prize_state, 11) end end) end) CasinoServicesMenu:add_sameline() CasinoServicesMenu:add_button("Give Clothing", function() script.run_in_fiber(function(script) if SCRIPT.GET_NUMBER_OF_THREADS_RUNNING_THE_SCRIPT_WITH_THIS_HASH(joaat("casino_lucky_wheel")) ~= 0 then locals.set_int("casino_lucky_wheel", prize_wheel_win_state + prize_wheel_prize, 8) locals.set_int("casino_lucky_wheel", prize_wheel_win_state + prize_wheel_prize_state, 11) end end) end) -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- CollectiblesMenu = L7NEG:add_tab("Collectibles") CollectiblesMenu:add_button("Collect All Action Figures", function() for i = 0, 99 do stats.set_bool(MPX() .. "PROP_FIGURE_" .. i, true) end end) CollectiblesMenu:add_button("Collect All Signal Jammers", function() for i = 0, 49 do stats.set_bool(MPX() .. "JAMMER_IDENTIFIED_" .. i, true) end end) CollectiblesMenu:add_button("Collect All Playing Cards", function() for i = 0, 53 do stats.set_bool(MPX() .. "CH_CARD_ID_" .. i, true) end end) CollectiblesMenu:add_button("Collect All Props", function() for i = 0, 9 do stats.set_bool(MPX() .. "PROP_HIDDEN_SOL_ID_" .. i, true) end end) CollectiblesMenu:add_button("Collect All Movie Props", function() for i = 1, 10 do stats.set_int(MPX() .. "MOVIE_PROP_COLLECTED_" .. i, -1) end end) CollectiblesMenu:add_button("Collect All LD Organics", function() for i = 0, 99 do stats.set_bool(MPX() .. "LD_ORGANIC_COLLECTED_" .. i, true) end end) CollectiblesMenu:add_button("Collect Ghost Exposed", function() for i = 0, 9 do stats.set_bool(MPX() .. "GHOST_EXPOSED_" .. i, true) end end) -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- EventsMenu = L7NEG:add_tab("Events Menu") -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- SnowToggleMenu = EventsMenu:add_tab("Snow Toggle Menu") -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- SNOWCB = SnowToggleMenu:add_checkbox("Snow") script.register_looped("snow", function(script) script:yield() if SNOWCB:is_enabled() then globals.set_int(SNOW, 1) else globals.set_int(SNOW, 0) end end) -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- halloweatherMenu = EventsMenu:add_tab("Halloween Weather Toggle Menu") -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- hallowCB = halloweatherMenu:add_checkbox("Halloween Weather") script.register_looped("halloweather", function(script) script:yield() if hallowCB:is_enabled() then globals.set_int(halloweatherAddress, 1) else globals.set_int(halloweatherAddress, 0) end end) -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- YetiHuntMenu = EventsMenu:add_tab("Yeti Hunt Menu") -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- YetiHuntMenu:add_button("Enable Yeti Hunt Event", function() globals.set_int(FMg + 35041, 1) -- enable the event 1833904680 gui.show_message("Yeti Hunt Event", "Enabled") end) YetiHuntMenu:add_button("Clue Location 1", function() PED.SET_PED_COORDS_KEEP_VEHICLE(self.get_ped(), -1562.69, 4699.04, 50.426) end) YetiHuntMenu:add_button("Clue Location 2", function() PED.SET_PED_COORDS_KEEP_VEHICLE(self.get_ped(), -1359.869, 4733.429, 46.919) end) YetiHuntMenu:add_button("Clue Location 3", function() PED.SET_PED_COORDS_KEEP_VEHICLE(self.get_ped(), -1715.398, 4501.203, 0.096) end) YetiHuntMenu:add_button("Clue Location 4", function() PED.SET_PED_COORDS_KEEP_VEHICLE(self.get_ped(), -1282.18, 4487.826, 12.643) end) YetiHuntMenu:add_button("Clue Location 5", function() PED.SET_PED_COORDS_KEEP_VEHICLE(self.get_ped(), -1569.665, 4478.485, 20.215) end) YetiHuntMenu:add_button("Teleport To Yeti Fight Location", function() PED.SET_PED_COORDS_KEEP_VEHICLE(self.get_ped(), -1345.828, 4838.062, 137.522) end) -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- AUM = RecoveryMenu:add_tab("Awards Unlocker Menu") AUM:add_button("Victory", function() stats.set_int(MPX() .. "AWD_FM_DM_WINS", 50) stats.set_int(MPX() .. "AWD_FM_TDM_WINS", 50) stats.set_int(MPX() .. "AWD_FM_TDM_MVP", 50) stats.set_int(MPX() .. "AWD_RACES_WON", 50) stats.set_int(MPX() .. "AWD_FMWINAIRRACE", 25) stats.set_int(MPX() .. "AWD_FMWINSEARACE", 25) stats.set_int(MPX() .. "AWD_FM_GTA_RACES_WON", 50) stats.set_bool(MPX() .. "AWD_FMKILL3ANDWINGTARACE", true) stats.set_int(MPX() .. "AWD_FMRALLYWONDRIVE", 25) stats.set_int(MPX() .. "AWD_FMRALLYWONNAV", 25) stats.set_bool(MPX() .. "AWD_FMWINCUSTOMRACE", true) stats.set_int(MPX() .. "AWD_FMWINRACETOPOINTS", 25) stats.set_bool(MPX() .. "CL_RACE_MODDED_CAR", true) stats.set_int(MPX() .. "AWD_FM_RACE_LAST_FIRST", 25) stats.set_bool(MPX() .. "AWD_FMRACEWORLDRECHOLDER", true) stats.set_int(MPX() .. "AWD_FM_RACES_FASTEST_LAP", 50) stats.set_bool(MPX() .. "AWD_FMWINALLRACEMODES", true) stats.set_int(MPX() .. "AWD_FMHORDWAVESSURVIVE", 10) stats.set_int(MPX() .. "NUMBER_SLIPSTREAMS_IN_RACE", 100) stats.set_int(MPX() .. "NUMBER_TURBO_STARTS_IN_RACE", 50) stats.set_int(MPX() .. "AWD_NO_ARMWRESTLING_WINS", 25) stats.set_int(MPX() .. "MOST_ARM_WRESTLING_WINS", 25) stats.set_int(MPX() .. "AWD_WIN_AT_DARTS", 25) stats.set_int(MPX() .. "AWD_FM_GOLF_WON", 25) stats.set_int(MPX() .. "AWD_FM_TENNIS_WON", 25) stats.set_bool(MPX() .. "AWD_FM_TENNIS_5_SET_WINS", true) stats.set_bool(MPX() .. "AWD_FM_TENNIS_STASETWIN", true) stats.set_int(MPX() .. "AWD_FM_SHOOTRANG_CT_WON", 25) stats.set_int(MPX() .. "AWD_FM_SHOOTRANG_RT_WON", 25) stats.set_int(MPX() .. "AWD_FM_SHOOTRANG_TG_WON", 25) stats.set_bool(MPX() .. "AWD_FM_SHOOTRANG_GRAN_WON", true) stats.set_bool(MPX() .. "AWD_FMWINEVERYGAMEMODE", true) stats.set_int(MPX() .. "AWD_WIN_CAPTURES", 50) stats.set_int(MPX() .. "AWD_WIN_CAPTURE_DONT_DYING", 25) stats.set_int(MPX() .. "AWD_WIN_LAST_TEAM_STANDINGS", 50) stats.set_int(MPX() .. "AWD_ONLY_PLAYER_ALIVE_LTS", 50) stats.set_int(MPX() .. "AWD_KILL_TEAM_YOURSELF_LTS", 25) stats.set_int(MPX() .. "AIR_LAUNCHES_OVER_40M", 25) stats.set_int(MPX() .. "AWD_CARS_EXPORTED", 50) stats.set_int(MPX() .. "AWD_LESTERDELIVERVEHICLES", 25) stats.set_int(MPX() .. "TOTAL_RACES_WON", 500) stats.set_int(MPX() .. "TOTAL_RACES_LOST", 250) stats.set_int(MPX() .. "TOTAL_CUSTOM_RACES_WON", 500) stats.set_int(MPX() .. "TOTAL_DEATHMATCH_LOST", 250) stats.set_int(MPX() .. "TOTAL_DEATHMATCH_WON", 500) stats.set_int(MPX() .. "TOTAL_TDEATHMATCH_LOST", 250) stats.set_int(MPX() .. "TOTAL_TDEATHMATCH_WON", 500) stats.set_int(MPX() .. "SHOOTINGRANGE_WINS", 500) stats.set_int(MPX() .. "SHOOTINGRANGE_LOSSES", 250) stats.set_int(MPX() .. "TENNIS_MATCHES_WON", 500) stats.set_int(MPX() .. "TENNIS_MATCHES_LOST", 250) stats.set_int(MPX() .. "GOLF_WINS", 500) stats.set_int(MPX() .. "GOLF_LOSSES", 250) stats.set_int(MPX() .. "DARTS_TOTAL_WINS", 500) stats.set_int(MPX() .. "DARTS_TOTAL_MATCHES", 750) stats.set_int(MPX() .. "SHOOTINGRANGE_TOTAL_MATCH", 800) stats.set_int(MPX() .. "BJ_WINS", 500) stats.set_int(MPX() .. "BJ_LOST", 250) stats.set_int(MPX() .. "RACE_2_POINT_WINS", 500) stats.set_int(MPX() .. "RACE_2_POINT_LOST", 250) stats.set_int(MPX() .. "KILLS_PLAYERS", 3593) stats.set_int(MPX() .. "DEATHS_PLAYER", 1002) stats.set_int(MPX() .. "MISSIONS_CREATED", 500) stats.set_int(MPX() .. "LTS_CREATED", 500) stats.set_int(MPX() .. "FM_MISSION_LIKES", 1500) end) AUM:add_button("General", function() stats.set_bool(MPX() .. "AWD_FM25DIFFERENTDM", true) stats.set_int(MPX() .. "CR_DIFFERENT_DM", 25) stats.set_bool(MPX() .. "AWD_FM25DIFFERENTRACES", true) stats.set_int(MPX() .. "CR_DIFFERENT_RACES", 25) stats.set_int(MPX() .. "AWD_PARACHUTE_JUMPS_20M", 25) stats.set_int(MPX() .. "AWD_PARACHUTE_JUMPS_50M", 25) stats.set_int(MPX() .. "AWD_FMBASEJMP", 25) stats.set_bool(MPX() .. "AWD_FMATTGANGHQ", true) stats.set_bool(MPX() .. "AWD_FM6DARTCHKOUT", true) stats.set_int(MPX() .. "AWD_FM_GOLF_BIRDIES", 25) stats.set_bool(MPX() .. "AWD_FM_GOLF_HOLE_IN_1", true) stats.set_int(MPX() .. "AWD_FM_TENNIS_ACE", 25) stats.set_int(MPX() .. "AWD_FMBBETWIN", 50000) stats.set_int(MPX() .. "AWD_LAPDANCES", 25) stats.set_int(MPX() .. "AWD_FMCRATEDROPS", 25) stats.set_bool(MPX() .. "AWD_FMPICKUPDLCCRATE1ST", true) stats.set_bool(MPX() .. "AWD_FM25DIFITEMSCLOTHES", true) stats.set_int(MPX() .. "AWD_NO_HAIRCUTS", 25) stats.set_bool(MPX() .. "AWD_BUY_EVERY_GUN", true) stats.set_bool(MPX() .. "AWD_DRIVELESTERCAR5MINS", true) stats.set_bool(MPX() .. "AWD_FMTATTOOALLBODYPARTS", true) stats.set_int(MPX() .. "AWD_DROPOFF_CAP_PACKAGES", 100) stats.set_int(MPX() .. "AWD_PICKUP_CAP_PACKAGES", 100) stats.set_int(MPX() .. "AWD_MENTALSTATE_TO_NORMAL", 50) stats.set_bool(MPX() .. "AWD_STORE_20_CAR_IN_GARAGES", true) stats.set_int(MPX() .. "AWD_TRADE_IN_YOUR_PROPERTY", 25) stats.set_bool(MPX() .. "AWD_DAILYOBJWEEKBONUS", true) stats.set_bool(MPX() .. "AWD_DAILYOBJMONTHBONUS", true) stats.set_int(MPX() .. "AWD_FM_CR_DM_MADE", 25) stats.set_int(MPX() .. "AWD_FM_CR_RACES_MADE", 25) stats.set_int(MPX() .. "AWD_FM_CR_PLAYED_BY_PEEP", 1598) stats.set_int(MPX() .. "AWD_FM_CR_MISSION_SCORE", 100) stats.set_bool(MPX() .. "CL_DRIVE_RALLY", true) stats.set_bool(MPX() .. "CL_PLAY_GTA_RACE", true) stats.set_bool(MPX() .. "CL_PLAY_BOAT_RACE", true) stats.set_bool(MPX() .. "CL_PLAY_FOOT_RACE", true) stats.set_bool(MPX() .. "CL_PLAY_TEAM_DM", true) stats.set_bool(MPX() .. "CL_PLAY_VEHICLE_DM", true) stats.set_bool(MPX() .. "CL_PLAY_MISSION_CONTACT", true) stats.set_bool(MPX() .. "CL_PLAY_A_PLAYLIST", true) stats.set_bool(MPX() .. "CL_PLAY_POINT_TO_POINT", true) stats.set_bool(MPX() .. "CL_PLAY_ONE_ON_ONE_DM", true) stats.set_bool(MPX() .. "CL_PLAY_ONE_ON_ONE_RACE", true) stats.set_bool(MPX() .. "CL_SURV_A_BOUNTY", true) stats.set_bool(MPX() .. "CL_SET_WANTED_LVL_ON_PLAY", true) stats.set_bool(MPX() .. "CL_GANG_BACKUP_GANGS", true) stats.set_bool(MPX() .. "CL_GANG_BACKUP_LOST", true) stats.set_bool(MPX() .. "CL_GANG_BACKUP_VAGOS", true) stats.set_bool(MPX() .. "CL_CALL_MERCENARIES", true) stats.set_bool(MPX() .. "CL_PHONE_MECH_DROP_CAR", true) stats.set_bool(MPX() .. "CL_GONE_OFF_RADAR", true) stats.set_bool(MPX() .. "CL_FILL_TITAN", true) stats.set_bool(MPX() .. "CL_MOD_CAR_USING_APP", true) stats.set_bool(MPX() .. "CL_MOD_CAR_USING_APP", true) stats.set_bool(MPX() .. "CL_BUY_INSURANCE", true) stats.set_bool(MPX() .. "CL_BUY_GARAGE", true) stats.set_bool(MPX() .. "CL_ENTER_FRIENDS_HOUSE", true) stats.set_bool(MPX() .. "CL_CALL_STRIPPER_HOUSE", true) stats.set_bool(MPX() .. "CL_CALL_FRIEND", true) stats.set_bool(MPX() .. "CL_SEND_FRIEND_REQUEST", true) stats.set_bool(MPX() .. "CL_W_WANTED_PLAYER_TV", true) stats.set_bool(MPX() .. "FM_INTRO_CUT_DONE", true) stats.set_bool(MPX() .. "FM_INTRO_MISS_DONE", true) stats.set_bool(MPX() .. "SHOOTINGRANGE_SEEN_TUT", true) stats.set_bool(MPX() .. "TENNIS_SEEN_TUTORIAL", true) stats.set_bool(MPX() .. "DARTS_SEEN_TUTORIAL", true) stats.set_bool(MPX() .. "ARMWRESTLING_SEEN_TUTORIAL", true) stats.set_bool(MPX() .. "HAS_WATCHED_BENNY_CUTSCE", true) stats.set_int(MPX() .. "NO_PHOTOS_TAKEN", 100) stats.set_int(MPX() .. "BOUNTSONU", 200) stats.set_int(MPX() .. "BOUNTPLACED", 500) stats.set_int(MPX() .. "BETAMOUNT", 500) stats.set_int(MPX() .. "CRARMWREST", 500) stats.set_int(MPX() .. "CRBASEJUMP", 500) stats.set_int(MPX() .. "CRDARTS", 500) stats.set_int(MPX() .. "CRDM", 500) stats.set_int(MPX() .. "CRGANGHIDE", 500) stats.set_int(MPX() .. "CRGOLF", 500) stats.set_int(MPX() .. "CRHORDE", 500) stats.set_int(MPX() .. "CRMISSION", 500) stats.set_int(MPX() .. "CRSHOOTRNG", 500) stats.set_int(MPX() .. "CRTENNIS", 500) stats.set_int(MPX() .. "NO_TIMES_CINEMA", 500) end) AUM:add_button("Weapons", function() stats.set_int(MPX() .. "CHAR_WEAP_UNLOCKED", -1) stats.set_int(MPX() .. "CHAR_WEAP_UNLOCKED2", -1) stats.set_int(MPX() .. "CHAR_WEAP_UNLOCKED3", -1) stats.set_int(MPX() .. "CHAR_WEAP_UNLOCKED4", -1) stats.set_int(MPX() .. "CHAR_WEAP_ADDON_1_UNLCK", -1) stats.set_int(MPX() .. "CHAR_WEAP_ADDON_2_UNLCK", -1) stats.set_int(MPX() .. "CHAR_WEAP_ADDON_3_UNLCK", -1) stats.set_int(MPX() .. "CHAR_WEAP_ADDON_4_UNLCK", -1) stats.set_int(MPX() .. "CHAR_WEAP_FREE", -1) stats.set_int(MPX() .. "CHAR_WEAP_FREE2", -1) stats.set_int(MPX() .. "CHAR_FM_WEAP_FREE", -1) stats.set_int(MPX() .. "CHAR_FM_WEAP_FREE2", -1) stats.set_int(MPX() .. "CHAR_FM_WEAP_FREE3", -1) stats.set_int(MPX() .. "CHAR_FM_WEAP_FREE4", -1) stats.set_int(MPX() .. "CHAR_WEAP_PURCHASED", -1) stats.set_int(MPX() .. "CHAR_WEAP_PURCHASED2", -1) stats.set_int(MPX() .. "WEAPON_PICKUP_BITSET", -1) stats.set_int(MPX() .. "WEAPON_PICKUP_BITSET2", -1) stats.set_int(MPX() .. "CHAR_FM_WEAP_UNLOCKED", -1) stats.set_int(MPX() .. "NO_WEAPONS_UNLOCK", -1) stats.set_int(MPX() .. "NO_WEAPON_MODS_UNLOCK", -1) stats.set_int(MPX() .. "NO_WEAPON_CLR_MOD_UNLOCK", -1) stats.set_int(MPX() .. "CHAR_FM_WEAP_UNLOCKED2", -1) stats.set_int(MPX() .. "CHAR_FM_WEAP_UNLOCKED3", -1) stats.set_int(MPX() .. "CHAR_FM_WEAP_UNLOCKED4", -1) stats.set_int(MPX() .. "CHAR_KIT_1_FM_UNLCK", -1) stats.set_int(MPX() .. "CHAR_KIT_2_FM_UNLCK", -1) stats.set_int(MPX() .. "CHAR_KIT_3_FM_UNLCK", -1) stats.set_int(MPX() .. "CHAR_KIT_4_FM_UNLCK", -1) stats.set_int(MPX() .. "CHAR_KIT_5_FM_UNLCK", -1) stats.set_int(MPX() .. "CHAR_KIT_6_FM_UNLCK", -1) stats.set_int(MPX() .. "CHAR_KIT_7_FM_UNLCK", -1) stats.set_int(MPX() .. "CHAR_KIT_8_FM_UNLCK", -1) stats.set_int(MPX() .. "CHAR_KIT_9_FM_UNLCK", -1) stats.set_int(MPX() .. "CHAR_KIT_10_FM_UNLCK", -1) stats.set_int(MPX() .. "CHAR_KIT_11_FM_UNLCK", -1) stats.set_int(MPX() .. "CHAR_KIT_12_FM_UNLCK", -1) stats.set_int(MPX() .. "CHAR_KIT_FM_PURCHASE", -1) stats.set_int(MPX() .. "CHAR_WEAP_FM_PURCHASE", -1) stats.set_int(MPX() .. "CHAR_WEAP_FM_PURCHASE2", -1) stats.set_int(MPX() .. "CHAR_WEAP_FM_PURCHASE3", -1) stats.set_int(MPX() .. "CHAR_WEAP_FM_PURCHASE4", -1) stats.set_int(MPX() .. "FIREWORK_TYPE_1_WHITE", 1000) stats.set_int(MPX() .. "FIREWORK_TYPE_1_RED", 1000) stats.set_int(MPX() .. "FIREWORK_TYPE_1_BLUE", 1000) stats.set_int(MPX() .. "FIREWORK_TYPE_2_WHITE", 1000) stats.set_int(MPX() .. "FIREWORK_TYPE_2_RED", 1000) stats.set_int(MPX() .. "FIREWORK_TYPE_2_BLUE", 1000) stats.set_int(MPX() .. "FIREWORK_TYPE_3_WHITE", 1000) stats.set_int(MPX() .. "FIREWORK_TYPE_3_RED", 1000) stats.set_int(MPX() .. "FIREWORK_TYPE_3_BLUE", 1000) stats.set_int(MPX() .. "FIREWORK_TYPE_4_WHITE", 1000) stats.set_int(MPX() .. "FIREWORK_TYPE_4_RED", 1000) stats.set_int(MPX() .. "FIREWORK_TYPE_4_BLUE", 1000) stats.set_int(MPX() .. "WEAP_FM_ADDON_PURCH", -1) for i = 2, 19 do stats.set_int(MPX() .. "WEAP_FM_ADDON_PURCH" .. i, -1) end for j = 1, 19 do stats.set_int(MPX() .. "CHAR_FM_WEAP_ADDON_" .. j .. "_UNLCK", -1) end for m = 1, 41 do stats.set_int(MPX() .. "CHAR_KIT_" .. m .. "_FM_UNLCK", -1) end for l = 2, 41 do stats.set_int(MPX() .. "CHAR_KIT_FM_PURCHASE" .. l, -1) end end) AUM:add_button("Crimes", function() stats.set_int(MPX() .. "AWD_FMTIME5STARWANTED", 120) stats.set_int(MPX() .. "AWD_5STAR_WANTED_AVOIDANCE", 50) stats.set_int(MPX() .. "AWD_FMSHOOTDOWNCOPHELI", 25) stats.set_int(MPX() .. "AWD_VEHICLES_JACKEDR", 500) stats.set_int(MPX() .. "AWD_SECURITY_CARS_ROBBED", 25) stats.set_int(MPX() .. "AWD_HOLD_UP_SHOPS", 20) stats.set_int(MPX() .. "AWD_ODISTRACTCOPSNOEATH", 25) stats.set_int(MPX() .. "AWD_ENEMYDRIVEBYKILLS", 100) stats.set_int(MPX() .. "CHAR_WANTED_LEVEL_TIME5STAR", 18000000) stats.set_int(MPX() .. "CARS_COPS_EXPLODED", 300) stats.set_int(MPX() .. "BIKES_EXPLODED", 100) stats.set_int(MPX() .. "BOATS_EXPLODED", 168) stats.set_int(MPX() .. "HELIS_EXPLODED", 98) stats.set_int(MPX() .. "PLANES_EXPLODED", 138) stats.set_int(MPX() .. "QUADBIKE_EXPLODED", 50) stats.set_int(MPX() .. "BICYCLE_EXPLODED", 48) stats.set_int(MPX() .. "SUBMARINE_EXPLODED", 28) stats.set_int(MPX() .. "TIRES_POPPED_BY_GUNSHOT", 500) stats.set_int(MPX() .. "NUMBER_CRASHES_CARS", 300) stats.set_int(MPX() .. "NUMBER_CRASHES_BIKES", 300) stats.set_int(MPX() .. "BAILED_FROM_VEHICLE", 300) stats.set_int(MPX() .. "NUMBER_CRASHES_QUADBIKES", 300) stats.set_int(MPX() .. "NUMBER_STOLEN_COP_VEHICLE", 300) stats.set_int(MPX() .. "NUMBER_STOLEN_CARS", 300) stats.set_int(MPX() .. "NUMBER_STOLEN_BIKES", 300) stats.set_int(MPX() .. "NUMBER_STOLEN_BOATS", 300) stats.set_int(MPX() .. "NUMBER_STOLEN_HELIS", 300) stats.set_int(MPX() .. "NUMBER_STOLEN_PLANES", 300) stats.set_int(MPX() .. "NUMBER_STOLEN_QUADBIKES", 300) stats.set_int(MPX() .. "NUMBER_STOLEN_BICYCLES", 300) stats.set_int(MPX() .. "MC_CONTRIBUTION_POINTS", 1000) stats.set_int(MPX() .. "MEMBERSMARKEDFORDEATH", 700) stats.set_int(MPX() .. "MCKILLS", 500) stats.set_int(MPX() .. "MCDEATHS", 700) stats.set_int(MPX() .. "RIVALPRESIDENTKILLS", 700) stats.set_int(MPX() .. "RIVALCEOANDVIPKILLS", 700) stats.set_int(MPX() .. "CLUBHOUSECONTRACTSCOMPLETE", 700) stats.set_int(MPX() .. "CLUBHOUSECONTRACTEARNINGS", 32698547) stats.set_int(MPX() .. "CLUBCHALLENGESCOMPLETED", 700) stats.set_int(MPX() .. "MEMBERCHALLENGESCOMPLETED", 700) stats.set_int(MPX() .. "GHKILLS", 500) stats.set_int(MPX() .. "HORDELVL", 10) stats.set_int(MPX() .. "HORDKILLS", 500) stats.set_int(MPX() .. "UNIQUECRATES", 500) stats.set_int(MPX() .. "BJWINS", 500) stats.set_int(MPX() .. "HORDEWINS", 500) stats.set_int(MPX() .. "MCMWINS", 500) stats.set_int(MPX() .. "GANGHIDWINS", 500) stats.set_int(MPX() .. "KILLS", 800) stats.set_int(MPX() .. "HITS_PEDS_VEHICLES", 100) stats.set_int(MPX() .. "SHOTS", 1000) stats.set_int(MPX() .. "HEADSHOTS", 100) stats.set_int(MPX() .. "KILLS_ARMED", 650) stats.set_int(MPX() .. "SUCCESSFUL_COUNTERS", 100) stats.set_int(MPX() .. "KILLS_PLAYERS", 3593) stats.set_int(MPX() .. "DEATHS_PLAYER", 1002) stats.set_int(MPX() .. "KILLS_STEALTH", 100) stats.set_int(MPX() .. "KILLS_INNOCENTS", 500) stats.set_int(MPX() .. "KILLS_ENEMY_GANG_MEMBERS", 500) stats.set_int(MPX() .. "KILLS_FRIENDLY_GANG_MEMBERS", 500) stats.set_int(MPX() .. "KILLS_BY_OTHERS", 100) stats.set_int(MPX() .. "BIGGEST_VICTIM_KILLS", 500) stats.set_int(MPX() .. "ARCHENEMY_KILLS", 500) stats.set_int(MPX() .. "KILLS_COP", 4500) stats.set_int(MPX() .. "KILLS_SWAT", 500) stats.set_int(MPX() .. "STARS_ATTAINED", 5000) stats.set_int(MPX() .. "STARS_EVADED", 4000) stats.set_int(MPX() .. "VEHEXPORTED", 500) stats.set_int(MPX() .. "TOTAL_NO_SHOPS_HELD_UP", 100) stats.set_int(MPX() .. "CR_GANGATTACK_CITY", 1000) stats.set_int(MPX() .. "CR_GANGATTACK_COUNTRY", 1000) stats.set_int(MPX() .. "CR_GANGATTACK_LOST", 1000) stats.set_int(MPX() .. "CR_GANGATTACK_VAGOS", 1000) stats.set_int(MPX() .. "NO_NON_CONTRACT_RACE_WIN", 500) stats.set_int(MPX() .. "DIED_IN_DROWNING", 833) stats.set_int(MPX() .. "DIED_IN_DROWNINGINVEHICLE", 833) stats.set_int(MPX() .. "DIED_IN_EXPLOSION", 833) stats.set_int(MPX() .. "DIED_IN_FALL", 833) stats.set_int(MPX() .. "DIED_IN_FIRE", 833) stats.set_int(MPX() .. "DIED_IN_ROAD", 833) stats.set_int(MPX() .. "GRENADE_ENEMY_KILLS", 50) stats.set_int(MPX() .. "MICROSMG_ENEMY_KILLS", 500) stats.set_int(MPX() .. "SMG_ENEMY_KILLS", 500) stats.set_int(MPX() .. "ASLTSMG_ENEMY_KILLS", 500) stats.set_int(MPX() .. "CRBNRIFLE_ENEMY_KILLS", 500) stats.set_int(MPX() .. "ADVRIFLE_ENEMY_KILLS", 500) stats.set_int(MPX() .. "MG_ENEMY_KILLS", 500) stats.set_int(MPX() .. "CMBTMG_ENEMY_KILLS", 500) stats.set_int(MPX() .. "ASLTMG_ENEMY_KILLS", 500) stats.set_int(MPX() .. "RPG_ENEMY_KILLS", 500) stats.set_int(MPX() .. "PISTOL_ENEMY_KILLS", 500) stats.set_int(MPX() .. "PLAYER_HEADSHOTS", 500) stats.set_int(MPX() .. "SAWNOFF_ENEMY_KILLS", 500) stats.set_int(MPX() .. "STKYBMB_ENEMY_KILLS", 50) stats.set_int(MPX() .. "UNARMED_ENEMY_KILLS", 50) stats.set_int(MPX() .. "SNIPERRFL_ENEMY_KILLS", 500) stats.set_int(MPX() .. "HVYSNIPER_ENEMY_KILLS", 500) end) AUM:add_button("Vehicles", function() stats.set_int(MPX() .. "AWD_50_VEHICLES_BLOWNUP", 500) stats.set_int(MPX() .. "CARS_EXPLODED", 500) stats.set_int(MPX() .. "AWD_CAR_EXPORT", 100) stats.set_int(MPX() .. "AWD_FMDRIVEWITHOUTCRASH", 30) stats.set_int(MPX() .. "AWD_PASSENGERTIME", 4) stats.set_int(MPX() .. "AWD_TIME_IN_HELICOPTER", 4) stats.set_int(MPX() .. "AWD_VEHICLE_JUMP_OVER_40M", 25) stats.set_int(MPX() .. "MOST_FLIPS_IN_ONE_JUMP", 5) stats.set_int(MPX() .. "MOST_SPINS_IN_ONE_JUMP", 5) stats.set_int(MPX() .. "CHAR_FM_VEHICLE_1_UNLCK", -1) stats.set_int(MPX() .. "CHAR_FM_VEHICLE_2_UNLCK", -1) stats.set_int(MPX() .. "NO_CARS_REPAIR", 1000) stats.set_int(MPX() .. "VEHICLES_SPRAYED", 500) stats.set_int(MPX() .. "NUMBER_NEAR_MISS_NOCRASH", 500) stats.set_int(MPX() .. "USJS_FOUND", 50) stats.set_int(MPX() .. "USJS_COMPLETED", 50) stats.set_int(MPX() .. "USJS_TOTAL_COMPLETED", 50) stats.set_int(MPX() .. "CRDEADLINE", 5) stats.set_int(MPX() .. "FAVOUTFITBIKETIMECURRENT", 2069146067) stats.set_int(MPX() .. "FAVOUTFITBIKETIME1ALLTIME", 2069146067) stats.set_int(MPX() .. "FAVOUTFITBIKETYPECURRENT", 2069146067) stats.set_int(MPX() .. "FAVOUTFITBIKETYPEALLTIME", 2069146067) stats.set_int(MPX() .. "LONGEST_WHEELIE_DIST", 1000) stats.set_int(MPX() .. "RACES_WON", 50) stats.set_int(MPX() .. "COUNT_HOTRING_RACE", 20) stats.set_bool(MPX() .. "AWD_FMFURTHESTWHEELIE", true) stats.set_bool(MPX() .. "AWD_FMFULLYMODDEDCAR", true) end) AUM:add_button("Combat", function() stats.set_int(MPX() .. "AWD_100_HEADSHOTS", 500) stats.set_int(MPX() .. "AWD_FMOVERALLKILLS", 1000) stats.set_int(MPX() .. "AWD_FMKILLBOUNTY", 25) stats.set_int(MPX() .. "AWD_FM_DM_3KILLSAMEGUY", 50) stats.set_int(MPX() .. "AWD_FM_DM_KILLSTREAK", 100) stats.set_int(MPX() .. "AWD_FM_DM_STOLENKILL", 50) stats.set_int(MPX() .. "AWD_FM_DM_TOTALKILLS", 500) stats.set_bool(MPX() .. "AWD_FMKILLSTREAKSDM", true) stats.set_bool(MPX() .. "AWD_FMMOSTKILLSGANGHIDE", true) stats.set_bool(MPX() .. "AWD_FMMOSTKILLSSURVIVE", true) stats.set_int(MPX() .. "AWD_FMREVENGEKILLSDM", 50) stats.set_int(MPX() .. "AWD_KILL_CARRIER_CAPTURE", 100) stats.set_int(MPX() .. "AWD_NIGHTVISION_KILLS", 100) stats.set_int(MPX() .. "AWD_KILL_PSYCHOPATHS", 100) stats.set_int(MPX() .. "AWD_TAKEDOWNSMUGPLANE", 50) stats.set_int(MPX() .. "AWD_100_KILLS_PISTOL", 500) stats.set_int(MPX() .. "AWD_100_KILLS_SMG", 500) stats.set_int(MPX() .. "AWD_100_KILLS_SHOTGUN", 500) stats.set_int(MPX() .. "ASLTRIFLE_ENEMY_KILLS", 500) stats.set_int(MPX() .. "AWD_100_KILLS_SNIPER", 500) stats.set_int(MPX() .. "MG_ENEMY_KILLS", 500) stats.set_int(MPX() .. "AWD_25_KILLS_STICKYBOMBS", 50) stats.set_int(MPX() .. "AWD_50_KILLS_GRENADES", 50) stats.set_int(MPX() .. "AWD_50_KILLS_ROCKETLAUNCH", 50) stats.set_int(MPX() .. "AWD_20_KILLS_MELEE", 50) stats.set_int(MPX() .. "AWD_CAR_BOMBS_ENEMY_KILLS", 25) stats.set_int(MPX() .. "MELEEKILLS", 700) stats.set_int(MPX() .. "HITS", 10000) stats.set_int(MPX() .. "DEATHS", 499) stats.set_int(MPX() .. "HIGHEST_SKITTLES", 900) stats.set_int(MPX() .. "NUMBER_NEAR_MISS", 1000) end) HAUM = AUM:add_tab("Heists Awards Unlocker Menu") APARTMENTAUM = HAUM:add_tab("Apartment Heist Menu") APARTMENTAUM:add_button("Unlock All Apartment Heists Awards", function() stats.set_int(MPX() .. "AWD_FINISH_HEISTS", 50) stats.set_int(MPX() .. "AWD_FINISH_HEIST_SETUP_JOB", 50) stats.set_int(MPX() .. "AWD_COMPLETE_HEIST_NOT_DIE", -1) stats.set_bool(MPX() .. "AWD_FINISH_HEIST_NO_DAMAGE", true) stats.set_int(MPX() .. "AWD_WIN_GOLD_MEDAL_HEISTS", 25) stats.set_int(MPX() .. "AWD_DO_HEIST_AS_MEMBER", 25) stats.set_int(MPX() .. "AWD_DO_HEIST_AS_THE_LEADER", 25) stats.set_bool(MPX() .. "AWD_SPLIT_HEIST_TAKE_EVENLY", true) stats.set_bool(MPX() .. "AWD_ACTIVATE_2_PERSON_KEY", true) stats.set_int(MPX() .. "AWD_CONTROL_CROWDS", 25) stats.set_bool(MPX() .. "AWD_ALL_ROLES_HEIST", true) stats.set_int(MPX() .. "HEIST_COMPLETION", 25) stats.set_int(MPX() .. "HEISTS_ORGANISED", -1) stats.set_int(MPX() .. "HEIST_START", -1) stats.set_int(MPX() .. "HEIST_END", -1) stats.set_int(MPX() .. "CUTSCENE_MID_PRISON", -1) stats.set_int(MPX() .. "CUTSCENE_MID_HUMANE", -1) stats.set_int(MPX() .. "CUTSCENE_MID_NARC", -1) stats.set_int(MPX() .. "CUTSCENE_MID_ORNATE", -1) stats.set_int(MPX() .. "CR_FLEECA_PREP_1", -1) stats.set_int(MPX() .. "CR_FLEECA_PREP_2", -1) stats.set_int(MPX() .. "CR_FLEECA_FINALE", -1) stats.set_int(MPX() .. "CR_PRISON_PLANE", -1) stats.set_int(MPX() .. "CR_PRISON_BUS", -1) stats.set_int(MPX() .. "CR_PRISON_STATION", -1) stats.set_int(MPX() .. "CR_PRISON_UNFINISHED_BIZ", -1) stats.set_int(MPX() .. "CR_PRISON_FINALE", -1) stats.set_int(MPX() .. "CR_HUMANE_KEY_CODES", -1) stats.set_int(MPX() .. "CR_HUMANE_ARMORDILLOS", -1) stats.set_int(MPX() .. "CR_HUMANE_EMP", -1) stats.set_int(MPX() .. "CR_HUMANE_VALKYRIE", -1) stats.set_int(MPX() .. "CR_HUMANE_FINALE", -1) stats.set_int(MPX() .. "CR_NARC_COKE", -1) stats.set_int(MPX() .. "CR_NARC_TRASH_TRUCK", -1) stats.set_int(MPX() .. "CR_NARC_BIKERS", -1) stats.set_int(MPX() .. "CR_NARC_WEED", -1) stats.set_int(MPX() .. "CR_NARC_STEAL_METH", -1) stats.set_int(MPX() .. "CR_NARC_FINALE", -1) stats.set_int(MPX() .. "CR_PACIFIC_TRUCKS", -1) stats.set_int(MPX() .. "CR_PACIFIC_WITSEC", -1) stats.set_int(MPX() .. "CR_PACIFIC_HACK", -1) stats.set_int(MPX() .. "CR_PACIFIC_BIKES", -1) stats.set_int(MPX() .. "CR_PACIFIC_CONVOY", -1) stats.set_int(MPX() .. "CR_PACIFIC_FINALE", -1) stats.set_int("MPPLY_HEIST_ACH_TRACKER", -1) stats.set_int("MPPLY_WIN_GOLD_MEDAL_HEISTS", 25) stats.set_bool("MPPLY_AWD_FLEECA_FIN", true) stats.set_bool("MPPLY_AWD_PRISON_FIN", true) stats.set_bool("MPPLY_AWD_HUMANE_FIN", true) stats.set_bool("MPPLY_AWD_SERIESA_FIN", true) stats.set_bool("MPPLY_AWD_PACIFIC_FIN", true) stats.set_bool("MPPLY_AWD_HST_ORDER", true) stats.set_bool("MPPLY_AWD_COMPLET_HEIST_MEM", true) stats.set_bool("MPPLY_AWD_COMPLET_HEIST_1STPER", true) stats.set_bool("MPPLY_AWD_HST_SAME_TEAM", true) stats.set_bool("MPPLY_AWD_HST_ULT_CHAL", true) stats.set_bool(MPX() .. "AWD_MATCHING_OUTFIT_HEIST", true) stats.set_bool(MPX() .. "HEIST_PLANNING_DONE_PRINT", true) stats.set_bool(MPX() .. "HEIST_PLANNING_DONE_HELP_0", true) stats.set_bool(MPX() .. "HEIST_PLANNING_DONE_HELP_1", true) stats.set_bool(MPX() .. "HEIST_PRE_PLAN_DONE_HELP_0", true) stats.set_bool(MPX() .. "HEIST_CUTS_DONE_FINALE", true) stats.set_bool(MPX() .. "HEIST_IS_TUTORIAL", true) stats.set_bool(MPX() .. "HEIST_STRAND_INTRO_DONE", true) stats.set_bool(MPX() .. "HEIST_CUTS_DONE_ORNATE", true) stats.set_bool(MPX() .. "HEIST_CUTS_DONE_PRISON", true) stats.set_bool(MPX() .. "HEIST_CUTS_DONE_BIOLAB", true) stats.set_bool(MPX() .. "HEIST_CUTS_DONE_NARCOTIC", true) stats.set_bool(MPX() .. "HEIST_CUTS_DONE_TUTORIAL", true) stats.set_bool(MPX() .. "HEIST_AWARD_DONE_PREP", true) stats.set_bool(MPX() .. "HEIST_AWARD_BOUGHT_IN", true) stats.set_int(MPX() .. "HEIST_PLANNING_STAGE", -1) end) DIAMONHDAUM = HAUM:add_tab("Diamond Casino Heist") DIAMONHDAUM:add_button("Unlock All Diamond Casino Heist Awards", function() stats.set_int(MPX() .. "CAS_HEIST_NOTS", -1) stats.set_int(MPX() .. "CAS_HEIST_FLOW", -1) stats.set_int(MPX() .. "SIGNAL_JAMMERS_COLLECTED", 50) stats.set_int(MPX() .. "AWD_PREPARATION", 40) stats.set_int(MPX() .. "AWD_ASLEEPONJOB", 20) stats.set_int(MPX() .. "AWD_DAICASHCRAB", 100000) stats.set_int(MPX() .. "AWD_BIGBRO", 40) stats.set_int(MPX() .. "AWD_SHARPSHOOTER", 40) stats.set_int(MPX() .. "AWD_RACECHAMP", 40) stats.set_int(MPX() .. "AWD_BATSWORD", 1000000) stats.set_int(MPX() .. "AWD_COINPURSE", 950000) stats.set_int(MPX() .. "AWD_ASTROCHIMP", 3000000) stats.set_int(MPX() .. "AWD_MASTERFUL", 40000) stats.set_int(MPX() .. "H3_BOARD_DIALOGUE0", -1) stats.set_int(MPX() .. "H3_BOARD_DIALOGUE1", -1) stats.set_int(MPX() .. "H3_BOARD_DIALOGUE2", -1) stats.set_int(MPX() .. "H3_VEHICLESUSED", -1) stats.set_int(MPX() .. "H3_CR_STEALTH_1A", 100) stats.set_int(MPX() .. "H3_CR_STEALTH_2B_RAPP", 100) stats.set_int(MPX() .. "H3_CR_STEALTH_2C_SIDE", 100) stats.set_int(MPX() .. "H3_CR_STEALTH_3A", 100) stats.set_int(MPX() .. "H3_CR_STEALTH_4A", 100) stats.set_int(MPX() .. "H3_CR_STEALTH_5A", 100) stats.set_int(MPX() .. "H3_CR_SUBTERFUGE_1A", 100) stats.set_int(MPX() .. "H3_CR_SUBTERFUGE_2A", 100) stats.set_int(MPX() .. "H3_CR_SUBTERFUGE_2B", 100) stats.set_int(MPX() .. "H3_CR_SUBTERFUGE_3A", 100) stats.set_int(MPX() .. "H3_CR_SUBTERFUGE_3B", 100) stats.set_int(MPX() .. "H3_CR_SUBTERFUGE_4A", 100) stats.set_int(MPX() .. "H3_CR_SUBTERFUGE_5A", 100) stats.set_int(MPX() .. "H3_CR_DIRECT_1A", 100) stats.set_int(MPX() .. "H3_CR_DIRECT_2A1", 100) stats.set_int(MPX() .. "H3_CR_DIRECT_2A2", 100) stats.set_int(MPX() .. "H3_CR_DIRECT_2BP", 100) stats.set_int(MPX() .. "H3_CR_DIRECT_2C", 100) stats.set_int(MPX() .. "H3_CR_DIRECT_3A", 100) stats.set_int(MPX() .. "H3_CR_DIRECT_4A", 100) stats.set_int(MPX() .. "H3_CR_DIRECT_5A", 100) stats.set_int(MPX() .. "CR_ORDER", 100) stats.set_bool(MPX() .. "AWD_SCOPEOUT", true) stats.set_bool(MPX() .. "AWD_CREWEDUP", true) stats.set_bool(MPX() .. "AWD_MOVINGON", true) stats.set_bool(MPX() .. "AWD_PROMOCAMP", true) stats.set_bool(MPX() .. "AWD_GUNMAN", true) stats.set_bool(MPX() .. "AWD_SMASHNGRAB", true) stats.set_bool(MPX() .. "AWD_INPLAINSI", true) stats.set_bool(MPX() .. "AWD_UNDETECTED", true) stats.set_bool(MPX() .. "AWD_ALLROUND", true) stats.set_bool(MPX() .. "AWD_ELITETHEIF", true) stats.set_bool(MPX() .. "AWD_PRO", true) stats.set_bool(MPX() .. "AWD_SUPPORTACT", true) stats.set_bool(MPX() .. "AWD_SHAFTED", true) stats.set_bool(MPX() .. "AWD_COLLECTOR", true) stats.set_bool(MPX() .. "AWD_DEADEYE", true) stats.set_bool(MPX() .. "AWD_PISTOLSATDAWN", true) stats.set_bool(MPX() .. "AWD_TRAFFICAVOI", true) stats.set_bool(MPX() .. "AWD_CANTCATCHBRA", true) stats.set_bool(MPX() .. "AWD_WIZHARD", true) stats.set_bool(MPX() .. "AWD_APEESCAPE", true) stats.set_bool(MPX() .. "AWD_MONKEYKIND", true) stats.set_bool(MPX() .. "AWD_AQUAAPE", true) stats.set_bool(MPX() .. "AWD_KEEPFAITH", true) stats.set_bool(MPX() .. "AWD_TRUELOVE", true) stats.set_bool(MPX() .. "AWD_NEMESIS", true) stats.set_bool(MPX() .. "AWD_FRIENDZONED", true) stats.set_bool(MPX() .. "VCM_FLOW_CS_RSC_SEEN", true) stats.set_bool(MPX() .. "VCM_FLOW_CS_BWL_SEEN", true) stats.set_bool(MPX() .. "VCM_FLOW_CS_MTG_SEEN", true) stats.set_bool(MPX() .. "VCM_FLOW_CS_OIL_SEEN", true) stats.set_bool(MPX() .. "VCM_FLOW_CS_DEF_SEEN", true) stats.set_bool(MPX() .. "VCM_FLOW_CS_FIN_SEEN", true) stats.set_bool(MPX() .. "HELP_FURIA", true) stats.set_bool(MPX() .. "HELP_MINITAN", true) stats.set_bool(MPX() .. "HELP_YOSEMITE2", true) stats.set_bool(MPX() .. "HELP_ZHABA", true) stats.set_bool(MPX() .. "HELP_IMORGEN", true) stats.set_bool(MPX() .. "HELP_SULTAN2", true) stats.set_bool(MPX() .. "HELP_VAGRANT", true) stats.set_bool(MPX() .. "HELP_VSTR", true) stats.set_bool(MPX() .. "HELP_STRYDER", true) stats.set_bool(MPX() .. "HELP_SUGOI", true) stats.set_bool(MPX() .. "HELP_KANJO", true) stats.set_bool(MPX() .. "HELP_FORMULA", true) stats.set_bool(MPX() .. "HELP_FORMULA2", true) stats.set_bool(MPX() .. "HELP_JB7002", true) for i = 0, 4 do for j = 0, 63 do stats.set_bool_masked(MPX() .. "CASINOHSTPSTAT_BOOL" .. i, true, j) end end end) CAYOAUM = HAUM:add_tab("Cayo Heist Menu") CAYOAUM:add_button("Unlock All Cayo Heist Awards", function() stats.set_bool(MPX() .. "AWD_INTELGATHER", true) stats.set_bool(MPX() .. "AWD_COMPOUNDINFILT", true) stats.set_bool(MPX() .. "AWD_LOOT_FINDER", true) stats.set_bool(MPX() .. "AWD_MAX_DISRUPT", true) stats.set_bool(MPX() .. "AWD_THE_ISLAND_HEIST", true) stats.set_bool(MPX() .. "AWD_GOING_ALONE", true) stats.set_bool(MPX() .. "AWD_TEAM_WORK", true) stats.set_bool(MPX() .. "AWD_MIXING_UP", true) stats.set_bool(MPX() .. "AWD_TEAM_WORK", true) stats.set_bool(MPX() .. "AWD_MIXING_UP", true) stats.set_bool(MPX() .. "AWD_PRO_THIEF", true) stats.set_bool(MPX() .. "AWD_CAT_BURGLAR", true) stats.set_bool(MPX() .. "AWD_ONE_OF_THEM", true) stats.set_bool(MPX() .. "AWD_GOLDEN_GUN", true) stats.set_bool(MPX() .. "AWD_ELITE_THIEF", true) stats.set_bool(MPX() .. "AWD_PROFESSIONAL", true) stats.set_bool(MPX() .. "AWD_HELPING_OUT", true) stats.set_bool(MPX() .. "AWD_COURIER", true) stats.set_bool(MPX() .. "AWD_PARTY_VIBES", true) stats.set_bool(MPX() .. "AWD_HELPING_HAND", true) stats.set_bool(MPX() .. "AWD_ELEVENELEVEN", true) stats.set_bool(MPX() .. "COMPLETE_H4_F_USING_VETIR", true) stats.set_bool(MPX() .. "COMPLETE_H4_F_USING_LONGFIN", true) stats.set_bool(MPX() .. "COMPLETE_H4_F_USING_ANNIH", true) stats.set_bool(MPX() .. "COMPLETE_H4_F_USING_ALKONOS", true) stats.set_bool(MPX() .. "COMPLETE_H4_F_USING_PATROLB", true) stats.set_int(MPX() .. "AWD_LOSTANDFOUND", 500000) stats.set_int(MPX() .. "AWD_SUNSET", 1800000) stats.set_int(MPX() .. "AWD_TREASURE_HUNTER", 1000000) stats.set_int(MPX() .. "AWD_WRECK_DIVING", 1000000) stats.set_int(MPX() .. "AWD_KEINEMUSIK", 1800000) stats.set_int(MPX() .. "AWD_PALMS_TRAX", 1800000) stats.set_int(MPX() .. "AWD_MOODYMANN", 1800000) stats.set_int(MPX() .. "AWD_FILL_YOUR_BAGS", 1000000000) stats.set_int(MPX() .. "AWD_WELL_PREPARED", 80) stats.set_int(MPX() .. "H4_H4_DJ_MISSIONS", -1) stats.set_int(MPX() .. "H4CNF_APPROACH", -1) stats.set_int(MPX() .. "H4_MISSIONS", -1) stats.set_int(MPX() .. "H4_PLAYTHROUGH_STATUS", 100) for i = 0, 2 do for j = 0, 63 do stats.set_bool_masked(MPX() .. "HISLANDPSTAT_BOOL" .. i, true, j) end end end) DOOMSDAYAUM = HAUM:add_tab("Doomsday Heist Awards Menu") DOOMSDAYAUM:add_button("Unlock All Doomsday Heist Awards", function() stats.set_int(MPX() .. "GANGOPS_HEIST_STATUS", -1) stats.set_int(MPX() .. "GANGOPS_HEIST_STATUS", -229384) stats.set_int(MPX() .. "GANGOPS_FM_MISSION_PROG", -1) stats.set_int(MPX() .. "GANGOPS_FLOW_MISSION_PROG", -1) stats.set_int("MPPLY_GANGOPS_ALLINORDER", 100) stats.set_int("MPPLY_GANGOPS_LOYALTY", 100) stats.set_int("MPPLY_GANGOPS_CRIMMASMD", 100) stats.set_int("MPPLY_GANGOPS_LOYALTY2", 100) stats.set_int("MPPLY_GANGOPS_LOYALTY3", 100) stats.set_int("MPPLY_GANGOPS_CRIMMASMD2", 100) stats.set_int("MPPLY_GANGOPS_CRIMMASMD3", 100) stats.set_int("MPPLY_GANGOPS_SUPPORT", 100) stats.set_int(MPX() .. "CR_GANGOP_MORGUE", 10) stats.set_int(MPX() .. "CR_GANGOP_DELUXO", 10) stats.set_int(MPX() .. "CR_GANGOP_SERVERFARM", 10) stats.set_int(MPX() .. "CR_GANGOP_IAABASE_FIN", 10) stats.set_int(MPX() .. "CR_GANGOP_STEALOSPREY", 10) stats.set_int(MPX() .. "CR_GANGOP_FOUNDRY", 10) stats.set_int(MPX() .. "CR_GANGOP_RIOTVAN", 10) stats.set_int(MPX() .. "CR_GANGOP_SUBMARINECAR", 10) stats.set_int(MPX() .. "CR_GANGOP_SUBMARINE_FIN", 10) stats.set_int(MPX() .. "CR_GANGOP_PREDATOR", 10) stats.set_int(MPX() .. "CR_GANGOP_BMLAUNCHER", 10) stats.set_int(MPX() .. "CR_GANGOP_BCCUSTOM", 10) stats.set_int(MPX() .. "CR_GANGOP_STEALTHTANKS", 10) stats.set_int(MPX() .. "CR_GANGOP_SPYPLANE", 10) stats.set_int(MPX() .. "CR_GANGOP_FINALE", 10) stats.set_int(MPX() .. "CR_GANGOP_FINALE_P2", 10) stats.set_int(MPX() .. "CR_GANGOP_FINALE_P3", 10) stats.set_bool("MPPLY_AWD_GANGOPS_IAA", true) stats.set_bool("MPPLY_AWD_GANGOPS_SUBMARINE", true) stats.set_bool("MPPLY_AWD_GANGOPS_MISSILE", true) stats.set_bool("MPPLY_AWD_GANGOPS_ALLINORDER", true) stats.set_bool("MPPLY_AWD_GANGOPS_LOYALTY", true) stats.set_bool("MPPLY_AWD_GANGOPS_LOYALTY2", true) stats.set_bool("MPPLY_AWD_GANGOPS_LOYALTY3", true) stats.set_bool("MPPLY_AWD_GANGOPS_CRIMMASMD", true) stats.set_bool("MPPLY_AWD_GANGOPS_CRIMMASMD2", true) stats.set_bool("MPPLY_AWD_GANGOPS_CRIMMASMD3", true) stats.set_bool("MPPLY_AWD_GANGOPS_SUPPORT", true) for j = 0, 63 do stats.set_bool_masked(MPX() .. "GANGOPSPSTAT_BOOL0", true, j) end stats.set_masked_int(MPX() .. "DLCSMUGCHARPSTAT_INT260", 3, 16, 8) stats.set_masked_int(MPX() .. "BUSINESSBATPSTAT_INT260", 3, 24, 8) stats.set_masked_int(MPX() .. "BUSINESSBATPSTAT_INT260", 3, 32, 8) stats.set_masked_int(MPX() .. "BUSINESSBATPSTAT_INT260", 3, 40, 8) stats.set_masked_int(MPX() .. "BUSINESSBATPSTAT_INT260", 3, 48, 8) end) DLCAUM = AUM:add_tab("DLC Awards Menu") DLCAUM:add_button("The Kortz Center Heist", function() stats.set_bool(MPX() .. "AWD_SCOPING", true) stats.set_int(MPX() .. "AWD_PREPPER", 20) stats.set_bool(MPX() .. "AWD_ADAPTABLE", true) stats.set_bool(MPX() .. "AWD_KORTZCENTERHEIST", true) stats.set_bool(MPX() .. "AWD_FINDSAWAY", true) stats.set_bool(MPX() .. "AWD_WHOSTHERE", true) stats.set_bool(MPX() .. "AWD_ELITETHIEF", true) stats.set_bool(MPX() .. "AWD_NOLIFER", true) stats.set_bool(MPX() .. "AWD_SOLITUDE", true) stats.set_bool(MPX() .. "AWD_COORDINATION", true) stats.set_bool(MPX() .. "AWD_FLEXIBLETHIEF", true) stats.set_int(MPX() .. "AWD_REPEATOFFENDER", 20) stats.set_int(MPX() .. "AWD_FULLBAGS", 5000000) stats.set_bool(MPX() .. "AWD_HIDDENINPLAINSIGHT", true) stats.set_int(MPX() .. "AWD_CURATOR", 5) stats.set_int(MPX() .. "AWD_LAPIDARY", 5) stats.set_bool(MPX() .. "AWD_PACIFIST", true) stats.set_bool(MPX() .. "AWD_PUTRIDPILFERING", true) stats.set_bool(MPX() .. "AWD_METEORITICS", true) end) DLCAUM:add_button("A Safehouse In The Hills", function() stats.set_bool(MPX() .. "AWD_NEGATIVEPRESS", true) stats.set_bool(MPX() .. "AWD_USESELFDRIVINGVEH", true) stats.set_bool(MPX() .. "AWD_LIONSDEN", true) stats.set_bool(MPX() .. "AWD_TAKEOUTLEADEXPLO", true) stats.set_bool(MPX() .. "AWD_SUBWAYTRAIN", true) stats.set_bool(MPX() .. "AWD_SUBWAYSTUNTJUMP", true) stats.set_bool(MPX() .. "AWD_TRASHCOLLECTORS", true) stats.set_bool(MPX() .. "AWD_ALLTRASHCOLLECTED", true) stats.set_bool(MPX() .. "AWD_FIBFINALE", true) stats.set_bool(MPX() .. "AWD_HELPER", true) stats.set_bool(MPX() .. "AWD_FIBFINALECHALLENGE", true) stats.set_bool(MPX() .. "AWD_MANSIONDEFEND", true) stats.set_bool(MPX() .. "AWD_DEFLOWMOTIONKILLS", true) stats.set_bool(MPX() .. "AWD_YOUVEMADEIT", true) stats.set_bool(MPX() .. "AWD_ANIMALLOVER", true) stats.set_bool(MPX() .. "AWD_MANSADVERSARYWIN", true) stats.set_bool(MPX() .. "AWD_ONTHECLOCK", true) stats.set_int(MPX() .. "AWD_TAXIDESTRUCTION", 20) stats.set_int(MPX() .. "AWD_YOGA", 50) stats.set_int(MPX() .. "AWD_JUICEDUP", 100) stats.set_int(MPX() .. "AWD_MANADVERSARYDEFUSE", 10) stats.set_int(MPX() .. "AWD_FIREFIGHTER", 20) stats.set_int(MPX() .. "AWD_ALPHAMAIL", 20) stats.set_int(MPX() .. "AWD_LOSSANTOSMETEOR", 20) end) DLCAUM:add_button("Agents of Sabotage", function() for i = 9542, 9546 do stats.set_packed_stat_bool(i, true) end stats.set_packed_stat_bool(9549, true) stats.set_packed_stat_int(24903, 25) stats.set_packed_stat_int(24904, 2) stats.set_int(MPX() .. "HACKER24_GEN_BS", 8160) stats.set_bool(MPX() .. "AWD_FINEART", true) stats.set_bool(MPX() .. "AWD_BRUTEFORCE", true) stats.set_bool(MPX() .. "AWD_PROJECTBREAK", true) stats.set_bool(MPX() .. "AWD_BLACKBOXFILE", true) stats.set_bool(MPX() .. "AWD_BONUSPOINTS", true) stats.set_int(MPX() .. "AWD_DARNELLBROSINC", 50) stats.set_int(MPX() .. "AWD_GET_READY", 50) end) DLCAUM:add_button("After Hours", function() stats.set_int(MPX() .. "AWD_DANCE_TO_SOLOMUN", 120) stats.set_int(MPX() .. "AWD_DANCE_TO_TALEOFUS", 120) stats.set_int(MPX() .. "AWD_DANCE_TO_DIXON", 120) stats.set_int(MPX() .. "AWD_DANCE_TO_BLKMAD", 120) stats.set_int(MPX() .. "AWD_CLUB_DRUNK", 200) stats.set_int(MPX() .. "NIGHTCLUB_VIP_APPEAR", 700) stats.set_int(MPX() .. "NIGHTCLUB_JOBS_DONE", 700) stats.set_int(MPX() .. "NIGHTCLUB_EARNINGS", 5721002) stats.set_int(MPX() .. "HUB_SALES_COMPLETED", 1001) stats.set_int(MPX() .. "HUB_EARNINGS", 20721002) stats.set_int(MPX() .. "DANCE_COMBO_DURATION_MINS", 3600000) stats.set_int(MPX() .. "NIGHTCLUB_PLAYER_APPEAR", 100) stats.set_int(MPX() .. "LIFETIME_HUB_GOODS_SOLD", 784672) stats.set_int(MPX() .. "LIFETIME_HUB_GOODS_MADE", 507822) stats.set_int(MPX() .. "DANCEPERFECTOWNCLUB", 120) stats.set_int(MPX() .. "NUMUNIQUEPLYSINCLUB", 120) stats.set_int(MPX() .. "DANCETODIFFDJS", 4) stats.set_int(MPX() .. "NIGHTCLUB_HOTSPOT_TIME_MS", 3600000) stats.set_int(MPX() .. "NIGHTCLUB_CONT_TOTAL", 20) stats.set_int(MPX() .. "NIGHTCLUB_CONT_MISSION", -1) stats.set_int(MPX() .. "CLUB_CONTRABAND_MISSION", 1000) stats.set_int(MPX() .. "HUB_CONTRABAND_MISSION", 1000) stats.set_bool(MPX() .. "AWD_CLUB_HOTSPOT", true) stats.set_bool(MPX() .. "AWD_CLUB_CLUBBER", true) stats.set_bool(MPX() .. "AWD_CLUB_COORD", true) for j = 0, 63 do stats.set_bool_masked(MPX() .. "BUSINESSBATPSTAT_BOOL0", true, j) stats.set_bool_masked(MPX() .. "BUSINESSBATPSTAT_BOOL1", true, j) end if stats.get_masked_int(MPX() .. "BUSINESSBATPSTAT_INT380", 0, 8) < 20 then stats.set_masked_int(MPX() .. "BUSINESSBATPSTAT_INT380", 20, 0, 8) end stats.set_masked_int(MPX() .. "BUSINESSBATPSTAT_INT379", 50, 8, 8) stats.set_masked_int(MPX() .. "BUSINESSBATPSTAT_INT379", 100, 16, 8) stats.set_masked_int(MPX() .. "BUSINESSBATPSTAT_INT379", 20, 24, 8) stats.set_masked_int(MPX() .. "BUSINESSBATPSTAT_INT379", 80, 32, 8) stats.set_masked_int(MPX() .. "BUSINESSBATPSTAT_INT379", 60, 40, 8) stats.set_masked_int(MPX() .. "BUSINESSBATPSTAT_INT379", 40, 48, 8) stats.set_masked_int(MPX() .. "BUSINESSBATPSTAT_INT379", 10, 56, 8) end) DLCAUM:add_button("Arena War", function() stats.set_int(MPX() .. "ARN_BS_TRINKET_TICKERS", -1) stats.set_int(MPX() .. "ARN_BS_TRINKET_SAVED", -1) stats.set_int(MPX() .. "AWD_WATCH_YOUR_STEP", 50) stats.set_int(MPX() .. "AWD_TOWER_OFFENSE", 50) stats.set_int(MPX() .. "AWD_READY_FOR_WAR", 50) stats.set_int(MPX() .. "AWD_THROUGH_A_LENS", 50) stats.set_int(MPX() .. "AWD_SPINNER", 50) stats.set_int(MPX() .. "AWD_YOUMEANBOOBYTRAPS", 50) stats.set_int(MPX() .. "AWD_MASTER_BANDITO", 50) stats.set_int(MPX() .. "AWD_SITTING_DUCK", 50) stats.set_int(MPX() .. "AWD_CROWDPARTICIPATION", 50) stats.set_int(MPX() .. "AWD_KILL_OR_BE_KILLED", 50) stats.set_int(MPX() .. "AWD_MASSIVE_SHUNT", 50) stats.set_int(MPX() .. "AWD_YOURE_OUTTA_HERE", 200) stats.set_int(MPX() .. "AWD_WEVE_GOT_ONE", 50) stats.set_int(MPX() .. "AWD_ARENA_WAGEWORKER", 1000000) stats.set_int(MPX() .. "AWD_TIME_SERVED", 1000) stats.set_int(MPX() .. "AWD_TOP_SCORE", 55000) stats.set_int(MPX() .. "AWD_CAREER_WINNER", 1000) stats.set_int(MPX() .. "ARENAWARS_SP", 0) stats.set_int(MPX() .. "ARENAWARS_SKILL_LEVEL", 20) stats.set_int(MPX() .. "ARENAWARS_SP_LIFETIME", 100) stats.set_int(MPX() .. "ARENAWARS_AP", 0) stats.set_int(MPX() .. "ARENAWARS_AP_TIER", 1000) stats.set_int(MPX() .. "ARENAWARS_AP_LIFETIME", 5055000) stats.set_int(MPX() .. "ARENAWARS_CARRER_UNLK", -1) stats.set_int(MPX() .. "ARN_W_THEME_SCIFI", 1000) stats.set_int(MPX() .. "ARN_W_THEME_APOC", 1000) stats.set_int(MPX() .. "ARN_W_THEME_CONS", 1000) stats.set_int(MPX() .. "ARN_W_PASS_THE_BOMB", 1000) stats.set_int(MPX() .. "ARN_W_DETONATION", 1000) stats.set_int(MPX() .. "ARN_W_ARCADE_RACE", 1000) stats.set_int(MPX() .. "ARN_W_CTF", 1000) stats.set_int(MPX() .. "ARN_W_TAG_TEAM", 1000) stats.set_int(MPX() .. "ARN_W_DESTR_DERBY", 1000) stats.set_int(MPX() .. "ARN_W_CARNAGE", 1000) stats.set_int(MPX() .. "ARN_W_MONSTER_JAM", 1000) stats.set_int(MPX() .. "ARN_W_GAMES_MASTERS", 1000) stats.set_int(MPX() .. "ARN_L_PASS_THE_BOMB", 500) stats.set_int(MPX() .. "ARN_L_DETONATION", 500) stats.set_int(MPX() .. "ARN_L_ARCADE_RACE", 500) stats.set_int(MPX() .. "ARN_L_CTF", 500) stats.set_int(MPX() .. "ARN_L_TAG_TEAM", 500) stats.set_int(MPX() .. "ARN_L_DESTR_DERBY", 500) stats.set_int(MPX() .. "ARN_L_CARNAGE", 500) stats.set_int(MPX() .. "ARN_L_MONSTER_JAM", 500) stats.set_int(MPX() .. "ARN_L_GAMES_MASTERS", 500) stats.set_int(MPX() .. "NUMBER_OF_CHAMP_BOUGHT", 1000) stats.set_int(MPX() .. "ARN_SPECTATOR_KILLS", 1000) stats.set_int(MPX() .. "ARN_LIFETIME_KILLS", 1000) stats.set_int(MPX() .. "ARN_LIFETIME_DEATHS", 500) stats.set_int(MPX() .. "ARENAWARS_CARRER_WINS", 1000) stats.set_int(MPX() .. "ARENAWARS_CARRER_WINT", 1000) stats.set_int(MPX() .. "ARENAWARS_MATCHES_PLYD", 1000) stats.set_int(MPX() .. "ARENAWARS_MATCHES_PLYDT", 1000) stats.set_int(MPX() .. "ARN_SPEC_BOX_TIME_MS", 86400000) stats.set_int(MPX() .. "ARN_SPECTATOR_DRONE", 1000) stats.set_int(MPX() .. "ARN_SPECTATOR_CAMS", 1000) stats.set_int(MPX() .. "ARN_SMOKE", 1000) stats.set_int(MPX() .. "ARN_DRINK", 1000) stats.set_int(MPX() .. "ARN_VEH_MONSTER", 1000) stats.set_int(MPX() .. "ARN_VEH_MONSTER", 1000) stats.set_int(MPX() .. "ARN_VEH_MONSTER", 1000) stats.set_int(MPX() .. "ARN_VEH_CERBERUS", 1000) stats.set_int(MPX() .. "ARN_VEH_CERBERUS2", 1000) stats.set_int(MPX() .. "ARN_VEH_CERBERUS3", 1000) stats.set_int(MPX() .. "ARN_VEH_BRUISER", 1000) stats.set_int(MPX() .. "ARN_VEH_BRUISER2", 1000) stats.set_int(MPX() .. "ARN_VEH_BRUISER3", 1000) stats.set_int(MPX() .. "ARN_VEH_SLAMVAN4", 1000) stats.set_int(MPX() .. "ARN_VEH_SLAMVAN5", 1000) stats.set_int(MPX() .. "ARN_VEH_SLAMVAN6", 1000) stats.set_int(MPX() .. "ARN_VEH_BRUTUS", 1000) stats.set_int(MPX() .. "ARN_VEH_BRUTUS2", 1000) stats.set_int(MPX() .. "ARN_VEH_BRUTUS3", 1000) stats.set_int(MPX() .. "ARN_VEH_SCARAB", 1000) stats.set_int(MPX() .. "ARN_VEH_SCARAB2", 1000) stats.set_int(MPX() .. "ARN_VEH_SCARAB3", 1000) stats.set_int(MPX() .. "ARN_VEH_DOMINATOR4", 1000) stats.set_int(MPX() .. "ARN_VEH_DOMINATOR5", 1000) stats.set_int(MPX() .. "ARN_VEH_DOMINATOR6", 1000) stats.set_int(MPX() .. "ARN_VEH_IMPALER2", 1000) stats.set_int(MPX() .. "ARN_VEH_IMPALER3", 1000) stats.set_int(MPX() .. "ARN_VEH_IMPALER4", 1000) stats.set_int(MPX() .. "ARN_VEH_ISSI4", 1000) stats.set_int(MPX() .. "ARN_VEH_ISSI5", 1000) stats.set_int(MPX() .. "ARN_VEH_ISSI", 61000) stats.set_int(MPX() .. "ARN_VEH_IMPERATOR", 1000) stats.set_int(MPX() .. "ARN_VEH_IMPERATOR2", 1000) stats.set_int(MPX() .. "ARN_VEH_IMPERATOR3", 1000) stats.set_int(MPX() .. "ARN_VEH_ZR380", 1000) stats.set_int(MPX() .. "ARN_VEH_ZR3802", 1000) stats.set_int(MPX() .. "ARN_VEH_ZR3803", 1000) stats.set_int(MPX() .. "ARN_VEH_DEATHBIKE", 1000) stats.set_int(MPX() .. "ARN_VEH_DEATHBIKE2", 1000) stats.set_int(MPX() .. "ARN_VEH_DEATHBIKE3", 1000) stats.set_bool(MPX() .. "AWD_BEGINNER", true) stats.set_bool(MPX() .. "AWD_FIELD_FILLER", true) stats.set_bool(MPX() .. "AWD_ARMCHAIR_RACER", true) stats.set_bool(MPX() .. "AWD_LEARNER", true) stats.set_bool(MPX() .. "AWD_SUNDAY_DRIVER", true) stats.set_bool(MPX() .. "AWD_THE_ROOKIE", true) stats.set_bool(MPX() .. "AWD_BUMP_AND_RUN", true) stats.set_bool(MPX() .. "AWD_GEAR_HEAD", true) stats.set_bool(MPX() .. "AWD_DOOR_SLAMMER", true) stats.set_bool(MPX() .. "AWD_HOT_LAP", true) stats.set_bool(MPX() .. "AWD_ARENA_AMATEUR", true) stats.set_bool(MPX() .. "AWD_PAINT_TRADER", true) stats.set_bool(MPX() .. "AWD_SHUNTER", true) stats.set_bool(MPX() .. "AWD_JOCK", true) stats.set_bool(MPX() .. "AWD_WARRIOR", true) stats.set_bool(MPX() .. "AWD_T_BONE", true) stats.set_bool(MPX() .. "AWD_MAYHEM", true) stats.set_bool(MPX() .. "AWD_WRECKER", true) stats.set_bool(MPX() .. "AWD_CRASH_COURSE", true) stats.set_bool(MPX() .. "AWD_ARENA_LEGEND", true) stats.set_bool(MPX() .. "AWD_PEGASUS", true) stats.set_bool(MPX() .. "AWD_UNSTOPPABLE", true) stats.set_bool(MPX() .. "AWD_CONTACT_SPORT", true) stats.set_masked_int(MPX() .. "ARENAWARSPSTAT_INT", 1, 35, 8) for i = 0, 8 do for j = 0, 63 do stats.set_bool_masked(MPX() .. "ARENAWARSPSTAT_BOOL" .. i, true, j) end end end) DLCAUM:add_button("Diamond Casino n Resort", function() stats.set_int(MPX() .. "AWD_ODD_JOBS", 50) stats.set_int(MPX() .. "VCM_FLOW_PROGRESS", -1) stats.set_int(MPX() .. "VCM_STORY_PROGRESS", 5) stats.set_bool(MPX() .. "AWD_FIRST_TIME1", true) stats.set_bool(MPX() .. "AWD_FIRST_TIME2", true) stats.set_bool(MPX() .. "AWD_FIRST_TIME3", true) stats.set_bool(MPX() .. "AWD_FIRST_TIME4", true) stats.set_bool(MPX() .. "AWD_FIRST_TIME5", true) stats.set_bool(MPX() .. "AWD_FIRST_TIME6", true) stats.set_bool(MPX() .. "AWD_ALL_IN_ORDER", true) stats.set_bool(MPX() .. "AWD_SUPPORTING_ROLE", true) stats.set_bool(MPX() .. "AWD_LEADER", true) stats.set_bool(MPX() .. "AWD_SURVIVALIST", true) Paragon = stats.get_bool(MPX() .. "CAS_VEHICLE_REWARD") if Paragon == true then stats.set_bool(MPX() .. "CAS_VEHICLE_REWARD", true) else stats.set_bool(MPX() .. "CAS_VEHICLE_REWARD", false) end for i = 0, 6 do for j = 0, 63 do stats.set_bool_masked(MPX() .. "CASINOPSTAT_BOOL" .. i, true, j) end end end) DLCAUM:add_button("Arcade", function() stats.set_int(MPX() .. "AWD_PREPARATION", 50) stats.set_int(MPX() .. "AWD_ASLEEPONJOB", 20) stats.set_int(MPX() .. "AWD_DAICASHCRAB", 100000) stats.set_int(MPX() .. "AWD_BIGBRO", 40) stats.set_int(MPX() .. "AWD_SHARPSHOOTER", 40) stats.set_int(MPX() .. "AWD_RACECHAMP", 40) stats.set_int(MPX() .. "AWD_BATSWORD", 1000000) stats.set_int(MPX() .. "AWD_COINPURSE", 950000) stats.set_int(MPX() .. "AWD_ASTROCHIMP", 3000000) stats.set_int(MPX() .. "AWD_MASTERFUL", 40000) stats.set_int(MPX() .. "SCGW_NUM_WINS_GANG_0", 50) stats.set_int(MPX() .. "SCGW_NUM_WINS_GANG_1", 50) stats.set_int(MPX() .. "SCGW_NUM_WINS_GANG_2", 50) stats.set_int(MPX() .. "SCGW_NUM_WINS_GANG_3", 50) stats.set_int(MPX() .. "CH_ARC_CAB_CLAW_TROPHY", -1) stats.set_int(MPX() .. "CH_ARC_CAB_LOVE_TROPHY", -1) stats.set_int(MPX() .. "IAP_MAX_MOON_DIST", 2147483647) stats.set_int(MPX() .. "SCGW_INITIALS_0", 69644) stats.set_int(MPX() .. "SCGW_INITIALS_1", 50333) stats.set_int(MPX() .. "SCGW_INITIALS_2", 63512) stats.set_int(MPX() .. "SCGW_INITIALS_3", 46136) stats.set_int(MPX() .. "SCGW_INITIALS_4", 21638) stats.set_int(MPX() .. "SCGW_INITIALS_5", 2133) stats.set_int(MPX() .. "SCGW_INITIALS_6", 1215) stats.set_int(MPX() .. "SCGW_INITIALS_7", 2444) stats.set_int(MPX() .. "SCGW_INITIALS_8", 38023) stats.set_int(MPX() .. "SCGW_INITIALS_9", 2233) stats.set_int(MPX() .. "FOOTAGE_INITIALS_0", 0) stats.set_int(MPX() .. "FOOTAGE_INITIALS_1", 64) stats.set_int(MPX() .. "FOOTAGE_INITIALS_2", 8457) stats.set_int(MPX() .. "FOOTAGE_INITIALS_3", 91275) stats.set_int(MPX() .. "FOOTAGE_INITIALS_4", 53260) stats.set_int(MPX() .. "FOOTAGE_INITIALS_5", 78663) stats.set_int(MPX() .. "FOOTAGE_INITIALS_6", 25103) stats.set_int(MPX() .. "FOOTAGE_INITIALS_7", 102401) stats.set_int(MPX() .. "FOOTAGE_INITIALS_8", 12672) stats.set_int(MPX() .. "FOOTAGE_INITIALS_9", 74380) stats.set_int(MPX() .. "FOOTAGE_SCORE_0", 284544) stats.set_int(MPX() .. "FOOTAGE_SCORE_1", 275758) stats.set_int(MPX() .. "FOOTAGE_SCORE_2", 100000) stats.set_int(MPX() .. "FOOTAGE_SCORE_3", 90000) stats.set_int(MPX() .. "FOOTAGE_SCORE_4", 80000) stats.set_int(MPX() .. "FOOTAGE_SCORE_5", 70000) stats.set_int(MPX() .. "FOOTAGE_SCORE_6", 60000) stats.set_int(MPX() .. "FOOTAGE_SCORE_7", 50000) stats.set_int(MPX() .. "FOOTAGE_SCORE_8", 40000) stats.set_int(MPX() .. "FOOTAGE_SCORE_9", 30000) for i = 0, 9 do stats.set_int(MPX() .. "IAP_INITIALS_" .. i, 50) stats.set_int(MPX() .. "IAP_SCORE_" .. i, 50) stats.set_int(MPX() .. "IAP_SCORE_" .. i, 50) stats.set_int(MPX() .. "SCGW_SCORE_" .. i, 50) stats.set_int(MPX() .. "DG_DEFENDER_INITIALS_" .. i, 69644) stats.set_int(MPX() .. "DG_DEFENDER_SCORE_" .. i, 50) stats.set_int(MPX() .. "DG_MONKEY_INITIALS_" .. i, 69644) stats.set_int(MPX() .. "DG_MONKEY_SCORE_" .. i, 50) stats.set_int(MPX() .. "DG_PENETRATOR_INITIALS_" .. i, 69644) stats.set_int(MPX() .. "DG_PENETRATOR_SCORE_" .. i, 50) stats.set_int(MPX() .. "GGSM_INITIALS_" .. i, 69644) stats.set_int(MPX() .. "GGSM_SCORE_" .. i, 50) stats.set_int(MPX() .. "TWR_INITIALS_" .. i, 69644) stats.set_int(MPX() .. "TWR_SCORE_" .. i, 50) end stats.set_bool(MPX() .. "AWD_SCOPEOUT", true) stats.set_bool(MPX() .. "AWD_CREWEDUP", true) stats.set_bool(MPX() .. "AWD_MOVINGON", true) stats.set_bool(MPX() .. "AWD_PROMOCAMP", true) stats.set_bool(MPX() .. "AWD_GUNMAN", true) stats.set_bool(MPX() .. "AWD_SMASHNGRAB", true) stats.set_bool(MPX() .. "AWD_INPLAINSI", true) stats.set_bool(MPX() .. "AWD_UNDETECTED", true) stats.set_bool(MPX() .. "AWD_ALLROUND", true) stats.set_bool(MPX() .. "AWD_ELITETHEIF", true) stats.set_bool(MPX() .. "AWD_PRO", true) stats.set_bool(MPX() .. "AWD_SUPPORTACT", true) stats.set_bool(MPX() .. "AWD_SHAFTED", true) stats.set_bool(MPX() .. "AWD_COLLECTOR", true) stats.set_bool(MPX() .. "AWD_DEADEYE", true) stats.set_bool(MPX() .. "AWD_PISTOLSATDAWN", true) stats.set_bool(MPX() .. "AWD_TRAFFICAVOI", true) stats.set_bool(MPX() .. "AWD_CANTCATCHBRA", true) stats.set_bool(MPX() .. "AWD_WIZHARD", true) stats.set_bool(MPX() .. "AWD_APEESCAP", true) stats.set_bool(MPX() .. "AWD_MONKEYKIND", true) stats.set_bool(MPX() .. "AWD_AQUAAPE", true) stats.set_bool(MPX() .. "AWD_KEEPFAITH", true) stats.set_bool(MPX() .. "AWD_TRUELOVE", true) stats.set_bool(MPX() .. "AWD_NEMESIS", true) stats.set_bool(MPX() .. "AWD_FRIENDZONED", true) stats.set_bool(MPX() .. "IAP_CHALLENGE_0", true) stats.set_bool(MPX() .. "IAP_CHALLENGE_1", true) stats.set_bool(MPX() .. "IAP_CHALLENGE_2", true) stats.set_bool(MPX() .. "IAP_CHALLENGE_3", true) stats.set_bool(MPX() .. "IAP_CHALLENGE_4", true) stats.set_bool(MPX() .. "IAP_GOLD_TANK", true) stats.set_bool(MPX() .. "SCGW_WON_NO_DEATHS", true) for i = 0, 4 do for j = 0, 63 do stats.set_bool_masked(MPX() .. "CASINOHSTPSTAT_BOOL" .. i, true, j) end end for i = 0, 6 do for j = 0, 63 do stats.set_bool_masked(MPX() .. "CASINOPSTAT_BOOL" .. i, true, j) end end end) DLCAUM:add_button("LS Summer Special", function() stats.set_bool(MPX() .. "AWD_KINGOFQUB3D", true) stats.set_bool(MPX() .. "AWD_QUBISM", true) stats.set_bool(MPX() .. "AWD_QUIBITS", true) stats.set_bool(MPX() .. "AWD_GODOFQUB3D", true) stats.set_bool(MPX() .. "AWD_ELEVENELEVEN", true) stats.set_bool(MPX() .. "AWD_GOFOR11TH", true) stats.set_masked_int(MPX() .. "SU20PSTAT_INT", 1, 35, 8) for i = 0, 1 do for j = 0, 63 do stats.set_bool_masked(MPX() .. "SU20PSTAT_BOOL" .. i, true, j) stats.set_bool_masked(MPX() .. "SU20TATTOOSTAT_BOOL" .. i, true, j) end end end) DLCAUM:add_button("LS Tuners", function() stats.set_int(MPX() .. "AWD_CAR_CLUB_MEM", 100) stats.set_int(MPX() .. "AWD_SPRINTRACER", 50) stats.set_int(MPX() .. "AWD_STREETRACER", 50) stats.set_int(MPX() .. "AWD_PURSUITRACER", 50) stats.set_int(MPX() .. "AWD_TEST_CAR", 240) stats.set_int(MPX() .. "AWD_AUTO_SHOP", 50) stats.set_int(MPX() .. "AWD_GROUNDWORK", 40) stats.set_int(MPX() .. "AWD_CAR_EXPORT", 100) stats.set_int(MPX() .. "AWD_ROBBERY_CONTRACT", 100) stats.set_int(MPX() .. "AWD_FACES_OF_DEATH", 100) stats.set_bool(MPX() .. "AWD_CAR_CLUB", true) stats.set_bool(MPX() .. "AWD_PRO_CAR_EXPORT", true) stats.set_bool(MPX() .. "AWD_UNION_DEPOSITORY", true) stats.set_bool(MPX() .. "AWD_MILITARY_CONVOY", true) stats.set_bool(MPX() .. "AWD_FLEECA_BANK", true) stats.set_bool(MPX() .. "AWD_FREIGHT_TRAIN", true) stats.set_bool(MPX() .. "AWD_BOLINGBROKE_ASS", true) stats.set_bool(MPX() .. "AWD_IAA_RAID", true) stats.set_bool(MPX() .. "AWD_METH_JOB", true) stats.set_bool(MPX() .. "AWD_BUNKER_RAID", true) stats.set_bool(MPX() .. "AWD_STRAIGHT_TO_VIDEO", true) stats.set_bool(MPX() .. "AWD_MONKEY_C_MONKEY_DO", true) stats.set_bool(MPX() .. "AWD_TRAINED_TO_KILL", true) stats.set_bool(MPX() .. "AWD_DIRECTOR", true) for i = 0, 8 do for j = 0, 63 do stats.set_bool_masked(MPX() .. "TUNERPSTAT_BOOL" .. i, true, j) end end end) DLCAUM:add_button("Contract", function() stats.set_int(MPX() .. "AWD_CONTRACTOR", 50) stats.set_int(MPX() .. "AWD_COLD_CALLER", 50) stats.set_int(MPX() .. "AWD_PRODUCER", 60) stats.set_int(MPX() .. "FIXERTELEPHONEHITSCOMPL", 10) stats.set_int(MPX() .. "PAYPHONE_BONUS_KILL_METHOD", 10) stats.set_int(MPX() .. "PAYPHONE_BONUS_KILL_METHOD", -1) stats.set_int(MPX() .. "FIXER_GENERAL_BS", -1) stats.set_int(MPX() .. "FIXER_COMPLETED_BS", -1) stats.set_int(MPX() .. "FIXER_STORY_BS", -1) stats.set_int(MPX() .. "FIXER_STORY_STRAND", -1) stats.set_int(MPX() .. "FIXER_STORY_COOLDOWN", -1) stats.set_int(MPX() .. "FIXER_COUNT", 510) stats.set_int(MPX() .. "FIXER_SC_VEH_RECOVERED", 85) stats.set_int(MPX() .. "FIXER_SC_VAL_RECOVERED", 85) stats.set_int(MPX() .. "FIXER_SC_GANG_TERMINATED", 85) stats.set_int(MPX() .. "FIXER_SC_VIP_RESCUED", 85) stats.set_int(MPX() .. "FIXER_SC_ASSETS_PROTECTED", 85) stats.set_int(MPX() .. "FIXER_SC_EQ_DESTROYED", 85) stats.set_int(MPX() .. "FIXER_EARNINGS", 19734860) stats.set_bool(MPX() .. "AWD_TEEING_OFF", true) stats.set_bool(MPX() .. "AWD_PARTY_NIGHT", true) stats.set_bool(MPX() .. "AWD_BILLIONAIRE_GAMES", true) stats.set_bool(MPX() .. "AWD_HOOD_PASS", true) stats.set_bool(MPX() .. "AWD_STUDIO_TOUR", true) stats.set_bool(MPX() .. "AWD_DONT_MESS_DRE", true) stats.set_bool(MPX() .. "AWD_BACKUP", true) stats.set_bool(MPX() .. "AWD_SHORTFRANK_1", true) stats.set_bool(MPX() .. "AWD_SHORTFRANK_2", true) stats.set_bool(MPX() .. "AWD_SHORTFRANK_3", true) stats.set_bool(MPX() .. "AWD_CONTR_KILLER", true) stats.set_bool(MPX() .. "AWD_DOGS_BEST_FRIEND", true) stats.set_bool(MPX() .. "AWD_MUSIC_STUDIO", true) stats.set_bool(MPX() .. "AWD_SHORTLAMAR_1", true) stats.set_bool(MPX() .. "AWD_SHORTLAMAR_2", true) stats.set_bool(MPX() .. "AWD_SHORTLAMAR_3", true) stats.set_bool(MPX() .. "BS_FRANKLIN_DIALOGUE_0", true) stats.set_bool(MPX() .. "BS_FRANKLIN_DIALOGUE_1", true) stats.set_bool(MPX() .. "BS_FRANKLIN_DIALOGUE_2", true) stats.set_bool(MPX() .. "BS_IMANI_D_APP_SETUP", true) stats.set_bool(MPX() .. "BS_IMANI_D_APP_STRAND", true) stats.set_bool(MPX() .. "BS_IMANI_D_APP_PARTY", true) stats.set_bool(MPX() .. "BS_IMANI_D_APP_PARTY_2", true) stats.set_bool(MPX() .. "BS_IMANI_D_APP_PARTY_F", true) stats.set_bool(MPX() .. "BS_IMANI_D_APP_BILL", true) stats.set_bool(MPX() .. "BS_IMANI_D_APP_BILL_2", true) stats.set_bool(MPX() .. "BS_IMANI_D_APP_BILL_F", true) stats.set_bool(MPX() .. "BS_IMANI_D_APP_HOOD", true) stats.set_bool(MPX() .. "BS_IMANI_D_APP_HOOD_2", true) stats.set_bool(MPX() .. "BS_IMANI_D_APP_HOOD_F", true) for j = 0, 63 do stats.set_bool_masked(MPX() .. "FIXERPSTAT_BOOL0", true, j) stats.set_bool_masked(MPX() .. "FIXERPSTAT_BOOL1", true, j) stats.set_bool_masked(MPX() .. "FIXERTATTOOSTAT_BOOL0", true, j) end end) -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- FAUT = RecoveryMenu:add_tab("Full Account Unlock Menu") ensureOnlineGuard(FAUT) FAUT:add_imgui(function() if isOffline() then return end if ImGui.Button("Unlock WM 29 Pistol") then script.run_in_fiber(function(WM29) script.execute_as_script("shop_controller", function() if NETSHOPPING.NET_GAMESERVER_BASKET_IS_ACTIVE() then NETSHOPPING.NET_GAMESERVER_BASKET_END() end local state, id = NETSHOPPING.NET_GAMESERVER_BEGIN_SERVICE( -1, joaat("CATEGORY_WEAPON"), joaat("WP_WT_PISTOLXM3_t0_v0"), joaat("NET_SHOP_ACTION_SPEND"), 0, 4 ) if state then NETSHOPPING.NET_GAMESERVER_CHECKOUT_START(id) gui.show_message("WM29", "WM29 is now Unlocked Change Session To Apply Changes.") end end) end) end if ImGui.Button("Unlock The Shocker") then script.run_in_fiber(function(THESHOCKER) script.execute_as_script("shop_controller", function() if NETSHOPPING.NET_GAMESERVER_BASKET_IS_ACTIVE() then NETSHOPPING.NET_GAMESERVER_BASKET_END() end local state, id = NETSHOPPING.NET_GAMESERVER_BEGIN_SERVICE( -1, joaat("CATEGORY_WEAPON"), joaat("WP_WT_STUNROD_t1_v1"), joaat("NET_SHOP_ACTION_SPEND"), 0, 4 ) if state then NETSHOPPING.NET_GAMESERVER_CHECKOUT_START(id) gui.show_message("The Shocker", "The Shocker is now Unlocked Change Session To Apply Changes.") end end) end) end if ImGui.Button("Unlock The Snowball Launcher") then script.run_in_fiber(function(SNOWBALLLAUNCHER) script.execute_as_script("shop_controller", function() if NETSHOPPING.NET_GAMESERVER_BASKET_IS_ACTIVE() then NETSHOPPING.NET_GAMESERVER_BASKET_END() end local state, id = NETSHOPPING.NET_GAMESERVER_BEGIN_SERVICE( -1, joaat("CATEGORY_WEAPON"), joaat("WP_WT_SNOWLAUNCHER_t0_v0"), joaat("NET_SHOP_ACTION_SPEND"), 0, 4 ) if state then NETSHOPPING.NET_GAMESERVER_CHECKOUT_START(id) gui.show_message( "Snowball Launcher", "Snowball Launcher is now Unlocked Change Session To Apply Changes." ) end end) end) end end) -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- CSU = FAUT:add_tab("Character's Stats") CSU:add_imgui(function() if checkOnline() then return end if ImGui.Button("Max Character Skills") then stats.set_int(MPX() .. "SCRIPT_INCREASE_DRIV", 100) stats.set_int(MPX() .. "SCRIPT_INCREASE_FLY", 100) stats.set_int(MPX() .. "SCRIPT_INCREASE_LUNG", 100) stats.set_int(MPX() .. "SCRIPT_INCREASE_SHO", 100) stats.set_int(MPX() .. "SCRIPT_INCREASE_STAM", 100) stats.set_int(MPX() .. "SCRIPT_INCREASE_STL", 100) stats.set_int(MPX() .. "SCRIPT_INCREASE_STRN", 100) gui.show_message("Character Skills", "Your Character Skills Is Maxxed Out.") end end) AcMenu = CSU:add_tab("Achievements") Acv0 = false AG = 4525223 + 1 --("CHEAT_ACHIEVE") if ImGui.Button("Unlock All Achievements") then script.run_in_fiber(function(script) for i = 0, 77 do script:sleep(200) globals.set_int(AG, i) if i == 77 then gui.show_message("Achievements", "Unlocked 77 Achievements") end end end) end local achievements = { { "Welcome to Los Santos", 1 }, { "A Friendship Resurrected", 2 }, { "A Fair Day's Pay", 3 }, { "The Moment of Truth", 4 }, { "To Live or Die in Los Santos", 5 }, { "Diamond Hard", 6 }, { "Subversive", 7 }, { "Blitzed", 8 }, { "Small Town, Big Job", 9 }, { "The Government Gimps", 10 }, { "The Big One!", 11 }, { "Solid Gold, Baby!", 12 }, { "Career Criminal", 13 }, { "San Andreas Sightseer", 14 }, { "All's Fare in Love and War", 15 }, { "TP Industries Arms Race", 16 }, { "Multi-Disciplined", 17 }, { "From Beyond the Stars", 18 }, { "A Mystery, Solved", 19 }, { "Waste Management", 20 }, { "Red Mist", 21 }, { "Show Off", 22 }, { "Kifflom!", 23 }, { "Three Man Army", 24 }, { "Out of Your Depth", 25 }, { "Altruist Acolyte", 26 }, { "A Lot of Cheddar", 27 }, { "Trading Pure Alpha", 28 }, { "Pimp My Sidearm", 29 }, { "Wanted:Alive Or Alive", 30 }, { "Los Santos Customs", 31 }, { "Close Shave", 32 }, { "Off the Plane", 33 }, { "Three-Bit Gangster", 34 }, { "Making Moves", 35 }, { "Above the Law", 36 }, { "Numero Uno", 37 }, { "The Midnight Club", 38 }, { "Unnatural Selection", 39 }, { "Backseat Driver", 40 }, { "Run Like The Wind", 41 }, { "Clean Sweep", 42 }, { "Decorated", 43 }, { "Stick Up Kid", 44 }, { "Enjoy Your Stay", 45 }, { "Crew Cut", 46 }, { "Full Refund", 47 }, { "Dialling Digits", 48 }, { "American Dream", 49 }, { "A New Perspective", 50 }, { "Be Prepared", 51 }, { "In the Name of Science", 52 }, { "Dead Presidents", 53 }, { "Parole Day", 54 }, { "Shot Caller", 55 }, { "Four Way", 56 }, { "Live a Little", 57 }, { "Can't Touch This", 58 }, { "Mastermind", 59 }, { "Vinewood Visionary", 60 }, { "Majestic", 61 }, { "Humans of Los Santos", 62 }, { "First Time Director", 63 }, { "Animal Lover", 64 }, { "Ensemble Piece", 65 }, { "Cult Movie", 66 }, { "Location Scout", 67 }, { "Method Actor", 68 }, { "Cryptozoologist", 69 }, { "Getting Started", 70 }, { "The Data Breaches", 71 }, { "The Bogdan Problem", 72 }, { "The Doomsday Scenario", 73 }, { "A World Worth Saving", 74 }, { "Orbital Obliteration", 75 }, { "Elitist", 76 }, { "Masterminds", 77 } } AcMMenu = AcMenu:add_tab("Unlock One By One Menu") for _, ach in ipairs(achievements) do if ImGui.Button(ach[1]) then globals.set_int(AG, ach[2]) end end -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- local current_objectives_global = 2359296 --("am_challenges") local weekly_objectives_global = 2732111 --("am_challenges") local objectives_state_global = 1574746 --("am_challenges") FAUT:add_imgui(function() if isOffline() then return end if ImGui.Button("Complete All Daily & Weekly Challenges") then script.run_in_fiber(function(script) for i = 0, 2 do --Unlock all daily rewards. local objective = globals.get_int(current_objectives_global + (1 + (0 * 5574)) + 681 + 4248 + (1 + (i * 3))) globals.set_int(objectives_state_global + 1 + (1 + (i * 1)), objective) end globals.set_int(objectives_state_global, 1) globals.set_int( weekly_objectives_global + (1 + (0 * 6)) + 1, globals.get_int(weekly_objectives_global + (1 + (0 * 6)) + 2) ) --Unlock Weekly Objective gui.show_message("Challenges", "All Daily And Weekly Challenges Are Now Completed.") end) end end) -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- LSCMUnlockeRecoveryMenu = makeOnlineTab(RecoveryMenu:add_tab("LSCM Unlocker Menu")) LSCMUnlockeRecoveryMenu:add_button("Unlock All Rep Lvl 1000", function() for i = FMg + 31047, FMg + 31076 do globals.set_float(i, 100000) end gui.show_message( "LSCM", "LVL 1000 Activated Just Sit In The Test Drive Vehicle And Enter LSCM Track To See The Changes." ) end) LSCMUnlockeRecoveryMenu:add_button("LSCM Prize Ride Unlock", function() stats.set_bool(MPX() .. "CARMEET_PV_CHLLGE_CMPLT", true) stats.set_bool(MPX() .. "CARMEET_PV_CLMED", false) gui.show_message("LSCM", "Your Prize Car Is Now Unlocked.") end) LSCMUnlockeRecoveryMenu:add_button("Unlock Trade Prices for Headlights", function() stats_set_packed_bools(24980, 24991, true) gui.show_message("LSCM", "Trade Prices For Headlights Are Now Unlocked.") end) LSCMNote = LSCMUnlockeRecoveryMenu:add_tab("Read Me Tutorial") LSCMNote:add_text("Buy a membership, activate, sit in", function() end) LSCMNote:add_text("a test car and go to the track", function() end) LSCMNote:add_text("", function() end) LSCMNote:add_text("If your level is not 1, then activate", function() end) LSCMNote:add_text("and buy something in the LSCM store", function() end) LSCMNote:add_text("", function() end) LSCMNote:add_text("If you've used LS Tuner awards unlock", function() end) LSCMNote:add_text("before, all unlocks will be temporary only", function() end) LSCMNote:add_text("", function() end) LSCMNote:add_text("--- Manual Online Override ---", function() end) LSCMNote:add_text("To manually set/bypass the online state,", function() end) LSCMNote:add_text("toggle 'Bypass Online Check' in the main tab.", function() end) -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- local GVMENU = L7NEG:add_tab("Gun Van Menu ") local gunvan_locations = { vec3:new(-29.532, 6435.136, 31.162), vec3:new(1705.214, 4819.167, 41.75), vec3:new(1795.522, 3899.753, 33.869), vec3:new(1335.536, 2758.746, 51.099), vec3:new(795.583, 1210.78, 338.962), vec3:new(-3192.67, 1077.205, 20.594), vec3:new(-789.719, 5400.921, 33.915), vec3:new(-24.384, 3048.167, 40.703), vec3:new(2666.786, 1469.324, 24.237), vec3:new(-1454.966, 2667.503, 3.2), vec3:new(2340.418, 3054.188, 47.888), vec3:new(1509.183, -2146.795, 76.853), vec3:new(1137.404, -1358.654, 34.322), vec3:new(-57.208, -2658.793, 5.737), vec3:new(1905.017, 565.222, 175.558), vec3:new(974.484, -1718.798, 30.296), vec3:new(779.077, -3266.297, 5.719), vec3:new(-587.728, -1637.208, 19.611), vec3:new(733.99, -736.803, 26.165), vec3:new(-1694.632, -454.082, 40.712), vec3:new(-1330.726, -1163.948, 4.313), vec3:new(-496.618, 40.231, 52.316), vec3:new(275.527, 66.509, 94.108), vec3:new(260.928, -763.35, 30.559), vec3:new(-478.025, -741.45, 30.299), vec3:new(894.94, 3603.911, 32.56), vec3:new(-2166.511, 4289.503, 48.733), vec3:new(1465.633, 6553.67, 13.771), vec3:new(1101.032, -335.172, 66.944), vec3:new(149.683, -1655.674, 29.028), } local van_locations = { "Paleto Bay - 1", "Grapeseed - 2", "Sandy Shores - 3", "Grand Senora - 4", "Vinewood Hills - 5", "Chumash - 6", "Paleto Forest - 7", "Zancudo River - 8", "Power Station - 9", "Lago Zancudo - 10", "Grand Senora - 11", "El Burro Heights - 12", "Murrieta Heights - 13", "Elysian Island - 14", "Tataviam - 15", "La Mesa - 16", "Terminal - 17", "La Puerta - 18", "La Mesa - 19", "Del Perro - 20", "Magellan Ave - 21", "West Vinewood - 22", "Downtown Vinewood - 23", "Pillbox Hill - 24", "Little Seoul - 25", "Alamo Sea - 26", "North Chumash - 27", "Mount Chiliad - 28", "Mirror Park - 29", "Davis - 30", } local weapons_data = { "WEAPON_KNIFE", "WEAPON_NIGHTSTICK", "WEAPON_HAMMER", "WEAPON_BOTTLE", "WEAPON_DAGGER", "WEAPON_KNUCKLE", "WEAPON_MACHETE", "WEAPON_FLASHLIGHT", "WEAPON_SWITCHBLADE", "WEAPON_BATTLEAXE", "WEAPON_POOLCUE", "WEAPON_WRENCH", "WEAPON_HATCHET", "WEAPON_BAT", "WEAPON_CROWBAR", "WEAPON_STUNROD", "WEAPON_PISTOL", "WEAPON_PISTOL_MK2", "WEAPON_COMBATPISTOL", "WEAPON_APPISTOL", "WEAPON_PISTOL50", "WEAPON_SNSPISTOL", "WEAPON_SNSPISTOL_MK2", "WEAPON_HEAVYPISTOL", "WEAPON_VINTAGEPISTOL", "WEAPON_FLAREGUN", "WEAPON_MARKSMANPISTOL", "WEAPON_REVOLVER", "WEAPON_REVOLVER_MK2", "WEAPON_DOUBLEACTION", "WEAPON_RAYPISTOL", "WEAPON_CERAMICPISTOL", "WEAPON_NAVYREVOLVER", "WEAPON_GADGETPISTOL", "WEAPON_STUNGUN_MP", "WEAPON_MICROSMG", "WEAPON_SMG", "WEAPON_SMG_MK2", "WEAPON_ASSAULTSMG", "WEAPON_COMBATPDW", "WEAPON_MACHINEPISTOL", "WEAPON_MINISMG", "WEAPON_MG", "WEAPON_COMBATMG", "WEAPON_COMBATMG_MK2", "WEAPON_GUSENBERG", "WEAPON_RAYCARBINE", "WEAPON_ASSAULTRIFLE", "WEAPON_ASSAULTRIFLE_MK2", "WEAPON_CARBINERIFLE", "WEAPON_CARBINERIFLE_MK2", "WEAPON_ADVANCEDRIFLE", "WEAPON_SPECIALCARBINE", "WEAPON_SPECIALCARBINE_MK2", "WEAPON_BULLPUPRIFLE", "WEAPON_BULLPUPRIFLE_MK2", "WEAPON_COMPACTRIFLE", "WEAPON_MILITARYRIFLE", "WEAPON_HEAVYRIFLE", "WEAPON_TACTICALRIFLE", "WEAPON_PUMPSHOTGUN", "WEAPON_PUMPSHOTGUN_MK2", "WEAPON_SAWNOFFSHOTGUN", "WEAPON_ASSAULTSHOTGUN", "WEAPON_BULLPUPSHOTGUN", "WEAPON_MUSKET", "WEAPON_HEAVYSHOTGUN", "WEAPON_DBSHOTGUN", "WEAPON_AUTOSHOTGUN", "WEAPON_COMBATSHOTGUN", "WEAPON_SNIPERRIFLE", "WEAPON_HEAVYSNIPER", "WEAPON_HEAVYSNIPER_MK2", "WEAPON_MARKSMANRIFLE", "WEAPON_MARKSMANRIFLE_MK2", "WEAPON_PRECISIONRIFLE", "WEAPON_GRENADELAUNCHER", "WEAPON_RPG", "WEAPON_MINIGUN", "WEAPON_HOMINGLAUNCHER", "WEAPON_COMPACTLAUNCHER", "WEAPON_RAYMINIGUN", "WEAPON_EMPLAUNCHER", "WEAPON_RAILGUNXM3", "WEAPON_TECPISTOL", "WEAPON_FIREWORK", "WEAPON_BATTLERIFLE", "WEAPON_SNOWLAUNCHER", } selected_loc = 0 selected_slot = 0 is_typing = false weapon_skins = false gta_plus_blip = false livery_lock = false weapon_editor_popup = false filter_text = "" weapon_name = "" gun_van_loc = 0 local function help_marker(text) ImGui.SameLine() ImGui.TextDisabled("(?)") if ImGui.IsItemHovered() then ImGui.BeginTooltip() ImGui.PushTextWrapPos(ImGui.GetFontSize() * 35) ImGui.TextUnformatted(text) ImGui.PopTextWrapPos() ImGui.EndTooltip() end end local function render_weapon_editor() ImGui.SetNextWindowSize(700, 420) ImGui.OpenPopup("Weapon Editor") if ImGui.BeginPopupModal( "Weapon Editor", weapon_editor_popup, ImGuiWindowFlags.NoResize | ImGuiWindowFlags.NoCollapse | ImGuiWindowFlags.NoMove | ImGuiWindowFlags.Modal ) then selected_slot = ImGui.Combo("Select Slot", selected_slot, { "1", "2", "3", "4", "5", "6", "7", "8", "9", "10" }, 10) filter_text = ImGui.InputText("Weapon Name", filter_text, 100) if ImGui.IsItemActive() then is_typing = true else is_typing = false end if ImGui.BeginListBox("##weapons", 450, 200) then for index, item in ipairs(weapons_data) do local display_name = weapons.get_weapon_display_name(item) if string.find(display_name:lower(), filter_text:lower()) then if ImGui.Selectable(display_name) then filter_text = display_name weapon_name = item end end end ImGui.EndListBox() end if ImGui.Button("Set Weapon") then local is_weapon_valid = weapons.get_weapon_display_name(weapon_name) ~= "" if is_weapon_valid then tunables.set_int("XM22_GUN_VAN_SLOT_WEAPON_TYPE_" .. selected_slot, joaat(weapon_name)) else gui.show_error("Gun Van", "Invalid weapon.") end end ImGui.SameLine() if ImGui.Button("Remove Weapon") then tunables.set_int("XM22_GUN_VAN_SLOT_WEAPON_TYPE_" .. selected_slot, 0) end if ImGui.Button("Close") then selected_slot = 0 filter_text = "" weapon_name = "" weapon_editor_popup = false ImGui.CloseCurrentPopup() end ImGui.EndPopup() end end script.register_looped("Gun Van", function() if not network.is_session_started() or SCRIPT.GET_NUMBER_OF_THREADS_RUNNING_THE_SCRIPT_WITH_THIS_HASH(joaat("maintransition")) > 0 then return end gun_van_loc = globals.get_int(2652581 + 2706) if is_typing then PAD.DISABLE_ALL_CONTROL_ACTIONS(0) end if weapon_skins then tunables.set_bool(1490225691, false) end if livery_lock then local value = locals.get_int("gunclub_shop", 206 + 747) if value ~= nil then value = value | (1 << 8) locals.set_int("gunclub_shop", 206 + 747, value) end end if gta_plus_blip then local gun_van_sprite = HUD.GET_FIRST_BLIP_INFO_ID(844) tunables.set_float(15999531, 10000.0) if HUD.DOES_BLIP_EXIST(gun_van_sprite) then HUD.SET_BLIP_AS_SHORT_RANGE(gun_van_sprite, false) end end end) GVMENU:add_imgui(function() if weapon_editor_popup then render_weapon_editor() end ImGui.Text("Current Location: " .. (gun_van_loc ~= -1 and gun_van_loc + 1 or "N/A")) ImGui.SetNextItemWidth(265) selected_loc = ImGui.Combo("##selected_loc", selected_loc, van_locations, 30) ImGui.SameLine() if ImGui.Button("Set New Gun Van Location") then globals.set_int(2652581 + 2706, selected_loc) end ImGui.SameLine() if ImGui.Button("Teleport") then script.run_in_fiber(function() local coords = gunvan_locations[selected_loc + 1] PED.SET_PED_COORDS_KEEP_VEHICLE(self.get_ped(), coords.x, coords.y, coords.z) end) end weapon_skins, on_tick = ImGui.Checkbox("Weapon Skins", weapon_skins) help_marker("Enables the special liveries for Knife and Baseball Bat.") if on_tick then if not weapon_skins then tunables.set_bool(1490225691, true) end end livery_lock, on_tick = ImGui.Checkbox("Remove Livery Lock", livery_lock) help_marker( "Removes the hard-coded lock on special weapon liveries, such as Season's Greetings, Employee of the Month etc." ) if on_tick then if not livery_lock then local value = locals.get_int("gunclub_shop", 206 + 747) if value ~= nil then value = value & ~(1 << 8) locals.set_int("gunclub_shop", 206 + 747, value) end end end gta_plus_blip, on_tick = ImGui.Checkbox("Blip Always Visible", gta_plus_blip) help_marker("The Gun Van will always be blipped on the map, just like in GTA+.") if on_tick then if not gta_plus_blip then tunables.set_float(15999531, 500.0) end end discount, on_tick = ImGui.Checkbox("Jewish Trade Skills (-10%)", discount) help_marker("Allows 10% off off any weapon in gun van") if on_tick then if discount then globals_set_ints(GVADg + 1, GVADg + 9, 1, 1036831744) globals_set_ints(GVTDg + 1, GVTDg + 3, 1, 1036831744) globals_set_ints(GVWDg + 1, GVWDg + 5, 1, 1036831744) else globals_set_ints(GVADg + 1, GVADg + 9, 1, 0) globals_set_ints(GVTDg + 1, GVTDg + 3, 1, 0) globals_set_ints(GVWDg + 1, GVWDg + 5, 1, 0) end end ImGui.Separator() if ImGui.TreeNode("Weapons") then for i = 0, 9 do local weapon_hash = tunables.get_int("XM22_GUN_VAN_SLOT_WEAPON_TYPE_" .. i) if weapon_hash ~= 0 then local weapon_name = weapons.get_weapon_display_name(weapon_hash) local weapon_discount = math.floor(tunables.get_float("XM22_GUN_VAN_SLOT_WEAPON_DISCOUNT_" .. i) * 100.0) ImGui.Text(i + 1 .. " - " .. weapon_name .. " (" .. weapon_discount .. "%)") end end if ImGui.Button("Edit Weapons") then weapon_editor_popup = true end ImGui.Separator() ImGui.TreePop() end if ImGui.TreeNode("Throwables") then for i = 0, 2 do local throwable_hash = tunables.get_int("XM22_GUN_VAN_SLOT_THROWABLE_TYPE_" .. i) if throwable_hash ~= 0 then local throwable_name = weapons.get_weapon_display_name(throwable_hash) local throwable_discount = math.floor(tunables.get_float("XM22_GUN_VAN_SLOT_THROWABLE_DISCOUNT_" .. i) * 100.0) ImGui.Text(i + 1 .. " - " .. throwable_name .. " (" .. throwable_discount .. "%)") end end ImGui.Separator() ImGui.TreePop() end if ImGui.TreeNode("Body Armor") then local armour_discounts = {} for i = 0, 4 do armour_discounts[i + 1] = math.floor(tunables.get_float("XM22_GUN_VAN_SLOT_ARMOUR_DISCOUNT_" .. i) * 100.0) end ImGui.Text("Super Light Armor (" .. armour_discounts[1] .. "%)") ImGui.Text("Light Armor (" .. armour_discounts[2] .. "%)") ImGui.Text("Standard Armor (" .. armour_discounts[3] .. "%)") ImGui.Text("Heavy Armor (" .. armour_discounts[4] .. "%)") ImGui.Text("Super Heavy Armor (" .. armour_discounts[5] .. "%)") ImGui.TreePop() end end) -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- ---@diagnostic disable: undefined-global, lowercase-global SCRIPT_NAME = "YimResupplier" local TAGET_BUILD = "3788.0" -- ============================================================================ -- JSON LIBRARY (rxi's json.lua) -- ============================================================================ local function JSON() local json = { _version = "0.1.2" } local encode local escape_char_map = { ["\\"] = "\\", ['"'] = '"', ["\b"] = "b", ["\f"] = "f", ["\n"] = "n", ["\r"] = "r", ["\t"] = "t", } local escape_char_map_inv = { ["/"] = "/" } for k, v in pairs(escape_char_map) do escape_char_map_inv[v] = k end local function escape_char(c) return "\\" .. (escape_char_map[c] or string.format("u%04x", c:byte())) end local function encode_nil(val) return "null" end local function encode_table(val, stack) local res = {} stack = stack or {} if stack[val] then error("circular reference") end stack[val] = true if rawget(val, 1) ~= nil or next(val) == nil then local n = 0 for k in pairs(val) do if type(k) ~= "number" then error("invalid table: mixed or invalid key types") end n = n + 1 end if n ~= #val then error("invalid table: sparse array") end for i, v in ipairs(val) do table.insert(res, encode(v, stack)) end stack[val] = nil return "[" .. table.concat(res, ",") .. "]" else for k, v in pairs(val) do if type(k) ~= "string" then error("invalid table: mixed or invalid key types") end table.insert(res, encode(k, stack) .. ":" .. encode(v, stack)) end stack[val] = nil return "{" .. table.concat(res, ",") .. "}" end end local function encode_string(val) return '"' .. val:gsub('[%z\1-\31\\"]', escape_char) .. '"' end local function encode_number(val) if val ~= val or val <= -math.huge or val >= math.huge then error("unexpected number value '" .. tostring(val) .. "'") end return string.format("%.14g", val) end local type_func_map = { ["nil"] = encode_nil, ["table"] = encode_table, ["string"] = encode_string, ["number"] = encode_number, ["boolean"] = tostring, } encode = function(val, stack) local t = type(val) local f = type_func_map[t] if f then return f(val, stack) end error("unexpected type '" .. t .. "'") end function json.encode(val) return (encode(val)) end local parse local function create_set(...) local res = {} for i = 1, select("#", ...) do res[select(i, ...)] = true end return res end local space_chars = create_set(" ", "\t", "\r", "\n") local delim_chars = create_set(" ", "\t", "\r", "\n", "]", "}", ",") local escape_chars = create_set("\\", "/", '"', "b", "f", "n", "r", "t", "u") local literals = create_set("true", "false", "null") local literal_map = { ["true"] = true, ["false"] = false, ["null"] = nil, } local function next_char(str, idx, set, negate) for i = idx, #str do if set[str:sub(i, i)] ~= negate then return i end end return #str + 1 end local function decode_error(str, idx, msg) local line_count = 1 local col_count = 1 for i = 1, idx - 1 do col_count = col_count + 1 if str:sub(i, i) == "\n" then line_count = line_count + 1 col_count = 1 end end error(string.format("%s at line %d col %d", msg, line_count, col_count)) end local function codepoint_to_utf8(n) local f = math.floor if n <= 0x7f then return string.char(n) elseif n <= 0x7ff then return string.char(f(n / 64) + 192, n % 64 + 128) elseif n <= 0xffff then return string.char(f(n / 4096) + 224, f(n % 4096 / 64) + 128, n % 64 + 128) elseif n <= 0x10ffff then return string.char(f(n / 262144) + 240, f(n % 262144 / 4096) + 128, f(n % 4096 / 64) + 128, n % 64 + 128) end error(string.format("invalid unicode codepoint '%x'", n)) end local function parse_unicode_escape(s) local n1 = tonumber(s:sub(1, 4), 16) local n2 = tonumber(s:sub(7, 10), 16) if n2 then return codepoint_to_utf8((n1 - 0xd800) * 0x400 + (n2 - 0xdc00) + 0x10000) else return codepoint_to_utf8(n1) end end local function parse_string(str, i) local res = "" local j = i + 1 local k = j while j <= #str do local x = str:byte(j) if x < 32 then decode_error(str, j, "control character in string") elseif x == 92 then res = res .. str:sub(k, j - 1) j = j + 1 local c = str:sub(j, j) if c == "u" then local hex = str:match("^[dD][89aAbB]%x%x\\u%x%x%x%x", j + 1) or str:match("^%x%x%x%x", j + 1) or decode_error(str, j - 1, "invalid unicode escape in string") res = res .. parse_unicode_escape(hex) j = j + #hex else if not escape_chars[c] then decode_error(str, j - 1, "invalid escape char '" .. c .. "' in string") end res = res .. escape_char_map_inv[c] end k = j + 1 elseif x == 34 then res = res .. str:sub(k, j - 1) return res, j + 1 end j = j + 1 end decode_error(str, i, "expected closing quote for string") end local function parse_number(str, i) local x = next_char(str, i, delim_chars) local s = str:sub(i, x - 1) local n = tonumber(s) if not n then decode_error(str, i, "invalid number '" .. s .. "'") end return n, x end local function parse_literal(str, i) local x = next_char(str, i, delim_chars) local word = str:sub(i, x - 1) if not literals[word] then decode_error(str, i, "invalid literal '" .. word .. "'") end return literal_map[word], x end local function parse_array(str, i) local res = {} local n = 1 i = i + 1 while 1 do local x i = next_char(str, i, space_chars, true) if str:sub(i, i) == "]" then i = i + 1 break end x, i = parse(str, i) res[n] = x n = n + 1 i = next_char(str, i, space_chars, true) local chr = str:sub(i, i) i = i + 1 if chr == "]" then break end if chr ~= "," then decode_error(str, i, "expected ']' or ','") end end return res, i end local function parse_object(str, i) local res = {} i = i + 1 while 1 do local key, val i = next_char(str, i, space_chars, true) if str:sub(i, i) == "}" then i = i + 1 break end if str:sub(i, i) ~= '"' then decode_error(str, i, "expected string for key") end key, i = parse(str, i) i = next_char(str, i, space_chars, true) if str:sub(i, i) ~= ":" then decode_error(str, i, "expected ':' after key") end i = next_char(str, i + 1, space_chars, true) val, i = parse(str, i) res[key] = val i = next_char(str, i, space_chars, true) local chr = str:sub(i, i) i = i + 1 if chr == "}" then break end if chr ~= "," then decode_error(str, i, "expected '}' or ','") end end return res, i end local char_func_map = { ['"'] = parse_string, ["0"] = parse_number, ["1"] = parse_number, ["2"] = parse_number, ["3"] = parse_number, ["4"] = parse_number, ["5"] = parse_number, ["6"] = parse_number, ["7"] = parse_number, ["8"] = parse_number, ["9"] = parse_number, ["-"] = parse_number, ["t"] = parse_literal, ["f"] = parse_literal, ["n"] = parse_literal, ["["] = parse_array, ["{"] = parse_object, } parse = function(str, idx) local chr = str:sub(idx, idx) local f = char_func_map[chr] if f then return f(str, idx) end decode_error(str, idx, "unexpected character '" .. chr .. "'") end function json.decode(str) if type(str) ~= "string" then error("expected argument of type string, got " .. type(str)) end local res, idx = parse(str, next_char(str, 1, space_chars, true)) idx = next_char(str, idx, space_chars, true) if idx <= #str then decode_error(str, idx, "trailing garbage") end return res end return json end -- ============================================================================ -- YIMCONFIG SYSTEM -- ============================================================================ local function YimConfig(DEFAULT_CONFIG) local json = JSON() local script_json = string.format("%s.json", SCRIPT_NAME) local yc = { _version = "1.0.0", _credits = [[ ¤ Universal Config System For YimMenu-Lua ¤ - Original code written by Harmless: https://github.com/harmless05 - Modified for universal use by SAMURAI (xesdoog): https://github.com/xesdoog - Uses rxi's JSON Library: https://github.com/rxi/json.lua ]], } local function file_exists(name) local f = io.open(name, "r") if f ~= nil then f:close() return true else return false end end local writeToFile = function(data) local file, _ = io.open(script_json, "w") if file == nil then log.warning("Failed to write to " .. script_json) gui.show_error("YimConfig", "Failed to write to " .. script_json) return false end file:write(json.encode(data)) file:close() return true end local readFromFile = function() local file, _ = io.open(script_json, "r") if file == nil then return nil end local content = file:read("*all") file:close() return json.decode(content) end local checkAndCreateConfig = function() if DEFAULT_CONFIG == nil then gui.show_error( "YimConfig", "Missing default config! Please create a default config table in your main script." ) error("[FATAL] Missing default config! Please create a default config global table in your main script.") end local exists = file_exists(script_json) local config if not exists then log.debug("Config file not found! Creating a default config...") return writeToFile(DEFAULT_CONFIG) else config = readFromFile() if config == nil then error("[FATAL] Failed to read config file!") end for key, defaultValue in pairs(DEFAULT_CONFIG) do if config[key] == nil then config[key] = defaultValue end end return writeToFile(config) end end local readAndDecodeConfig = function() if not checkAndCreateConfig() then error("Failed to read config file!", 2) end return readFromFile() end yc.save = function(item_tag, value) local t = readAndDecodeConfig() if t then t[item_tag] = value if not writeToFile(t) then log.warning("Failed to save config to " .. script_json) end end end yc.read = function(item_tag) local t = readAndDecodeConfig() if t then return t[item_tag] else log.warning("Failed to read config from " .. script_json) end end yc.reset = function() writeToFile(DEFAULT_CONFIG) end yc.encode = json.encode yc.decode = json.decode return yc end -- ============================================================================ -- UTILITY FUNCTIONS -- ============================================================================ local TAGET_BUILD = "3889" function GetBuildNumber() local ptr = memory.scan_pattern("8B C3 33 D2 C6 44 24 20") if ptr and not ptr:is_null() then ptr = ptr:add(0x24) if ptr and not ptr:is_null() then ptr = ptr:rip() if ptr and not ptr:is_null() then return ptr:get_string() end end end return "Unknown" end function formatMoney(value) return "$" .. tostring(value):reverse():gsub("%d%d%d", "%1,"):reverse():gsub("^,", "") end function coloredText(text, wrap_size, color) ImGui.PushStyleColor(ImGuiCol.Text, color[1] / 255, color[2] / 255, color[3] / 255, color[4]) ImGui.PushTextWrapPos(ImGui.GetFontSize() * wrap_size) ImGui.TextWrapped(text) ImGui.PopTextWrapPos() ImGui.PopStyleColor(1) end function selfTP(keepVehicle, setHeading, coords, heading) script.run_in_fiber(function(selftp) STREAMING.REQUEST_COLLISION_AT_COORD(coords.x, coords.y, coords.z) selftp:sleep(300) if setHeading then if heading == nil then heading = 0 end ENTITY.SET_ENTITY_HEADING(self.get_ped(), heading) end if keepVehicle then PED.SET_PED_COORDS_KEEP_VEHICLE(self.get_ped(), coords.x, coords.y, coords.z) else TASK.CLEAR_PED_TASKS_IMMEDIATELY(self.get_ped()) ENTITY.SET_ENTITY_COORDS(self.get_ped(), coords.x, coords.y, coords.z, false, false, false, true) end end) end function getCEOvalue_G(crates) local G if crates ~= nil then if crates == 1 then G = 15821 end if crates == 2 then G = 15822 end if crates == 3 then G = 15823 end if crates == 4 or crates == 5 then G = 15824 end if crates == 6 or crates == 7 then G = 15825 end if crates == 8 or crates == 9 then G = 15826 end if crates >= 10 and crates <= 14 then G = 15827 end if crates >= 15 and crates <= 19 then G = 15828 end if crates >= 20 and crates <= 24 then G = 15829 end if crates >= 25 and crates <= 29 then G = 15830 end if crates >= 30 and crates <= 34 then G = 15831 end if crates >= 35 and crates <= 39 then G = 15832 end if crates >= 40 and crates <= 44 then G = 15833 end if crates >= 45 and crates <= 49 then G = 15834 end if crates >= 50 and crates <= 59 then G = 15835 end if crates >= 60 and crates <= 69 then G = 15836 end if crates >= 70 and crates <= 79 then G = 15837 end if crates >= 80 and crates <= 89 then G = 15838 end if crates >= 90 and crates <= 99 then G = 15839 end if crates >= 100 and crates <= 110 then G = 15840 end if crates == 111 then G = 15841 end else G = 0 end return G end -- ============================================================================ -- MAIN SCRIPT -- ============================================================================ local DEFAULT_CONFIG = { cashUpdgrade1 = false, cashUpdgrade2 = false, cokeUpdgrade1 = false, cokeUpdgrade2 = false, methUpdgrade1 = false, methUpdgrade2 = false, weedUpdgrade1 = false, weedUpdgrade2 = false, fdUpdgrade1 = false, fdUpdgrade2 = false, bunkerUpdgrade1 = false, bunkerUpdgrade2 = false, acidUpdgrade = false, } local CFG = YimConfig(DEFAULT_CONFIG) log.info(string.format("Ultimate_Menu_V3_1.73_Legacy.lua: YimConfig v%s successfully loaded\n%s", CFG._version, CFG._credits)) yim_resupplier = L7NEG:add_tab("YimResupplier") hangarOwned = false fCashOwned = false cokeOwned = false methOwned = false weedOwned = false fdOwned = false bunkerOwned = false acidOwned = false hangarTotal = 0 cashTotal = 0 cokeTotal = 0 methTotal = 0 weedTotal = 0 fdTotal = 0 bunkerTotal = 0 acidTotal = 0 main_global = 1673807 cashUpdgrade1 = CFG.read("cashUpdgrade1") cashUpdgrade2 = CFG.read("cashUpdgrade2") cokeUpdgrade1 = CFG.read("cokeUpdgrade1") cokeUpdgrade2 = CFG.read("cokeUpdgrade2") methUpdgrade1 = CFG.read("methUpdgrade1") methUpdgrade2 = CFG.read("methUpdgrade2") weedUpdgrade1 = CFG.read("weedUpdgrade1") weedUpdgrade2 = CFG.read("weedUpdgrade2") fdUpdgrade1 = CFG.read("fdUpdgrade1") fdUpdgrade2 = CFG.read("fdUpdgrade2") bunkerUpdgrade1 = CFG.read("bunkerUpdgrade1") bunkerUpdgrade2 = CFG.read("bunkerUpdgrade2") acidUpdgrade = CFG.read("acidUpdgrade") yim_resupplier:add_imgui(function() if network.is_session_started() and not (SCRIPT.GET_NUMBER_OF_THREADS_RUNNING_THE_SCRIPT_WITH_THIS_HASH(joaat("maintransition")) > 0) then hangarOwned = stats.get_int(MPX() .. "PROP_HANGAR") ~= 0 fCashOwned = stats.get_int(MPX() .. "PROP_FAC_SLOT0") ~= 0 cokeOwned = stats.get_int(MPX() .. "PROP_FAC_SLOT1") ~= 0 methOwned = stats.get_int(MPX() .. "PROP_FAC_SLOT2") ~= 0 weedOwned = stats.get_int(MPX() .. "PROP_FAC_SLOT3") ~= 0 fdOwned = stats.get_int(MPX() .. "PROP_FAC_SLOT4") ~= 0 bunkerOwned = stats.get_int(MPX() .. "PROP_FAC_SLOT5") ~= 0 acidOwned = stats.get_int(MPX() .. "PROP_FAC_SLOT6") ~= 0 ImGui.BeginTabBar("YimResupplier", ImGuiTabBarFlags.None) if ImGui.BeginTabItem("Manage Supplies") then local wh1Supplies = stats.get_int(MPX() .. "CONTOTALFORWHOUSE0") or 0 local wh2Supplies = stats.get_int(MPX() .. "CONTOTALFORWHOUSE1") or 0 local wh3Supplies = stats.get_int(MPX() .. "CONTOTALFORWHOUSE2") or 0 local wh4Supplies = stats.get_int(MPX() .. "CONTOTALFORWHOUSE3") or 0 local wh5Supplies = stats.get_int(MPX() .. "CONTOTALFORWHOUSE4") or 0 local hangarSupply = stats.get_int(MPX() .. "HANGAR_CONTRABAND_TOTAL") or 0 local cashSupply = stats.get_int(MPX() .. "MATTOTALFORFACTORY0") or 0 local dfSupply = stats.get_int(MPX() .. "MATTOTALFORFACTORY1") or 0 local methSupply = stats.get_int(MPX() .. "MATTOTALFORFACTORY2") or 0 local weedSupply = stats.get_int(MPX() .. "MATTOTALFORFACTORY3") or 0 local cokeSupply = stats.get_int(MPX() .. "MATTOTALFORFACTORY4") or 0 local bunkerSupply = stats.get_int(MPX() .. "MATTOTALFORFACTORY5") or 0 local acidSupply = stats.get_int(MPX() .. "MATTOTALFORFACTORY6") or 0 local ceoSupply = (wh1Supplies + wh2Supplies + wh3Supplies + wh4Supplies + wh5Supplies) ImGui.Spacing() ImGui.Text("Hangar Cargo") ImGui.Separator() if hangarOwned then ImGui.Text("Current Supplies:") ImGui.SameLine() ImGui.Dummy(10, 1) ImGui.SameLine() ImGui.ProgressBar((hangarSupply / 50), 140, 30) if hangarSupply < 50 then if ImGui.Button("Source Random Crate(s)") then script.run_in_fiber(function() stats.set_bool_masked(MPX() .. "DLC22022PSTAT_BOOL3", true, 9) end) end ImGui.SameLine() hangarLoop, used = ImGui.Checkbox("Auto-Fill", hangarLoop) if hangarLoop then script.run_in_fiber(function(hangarSupp) repeat stats.set_bool_masked(MPX() .. "DLC22022PSTAT_BOOL3", true, 9) hangarSupp:sleep(969) until hangarSupply == 50 or hangarLoop == false end) end else if hangarLoop then hangarLoop = false end end if INTERIOR.GET_INTERIOR_FROM_ENTITY(self.get_ped()) == 0 then if ImGui.Button("Teleport##hangar") then script.run_in_fiber(function() local hangarBlip = HUD.GET_FIRST_BLIP_INFO_ID(569) local hangarLoc if HUD.DOES_BLIP_EXIST(hangarBlip) then hangarLoc = HUD.GET_BLIP_COORDS(hangarBlip) selfTP(true, false, hangarLoc) end end) end end else ImGui.Text("You don't own a Hangar.") end ImGui.Spacing() ImGui.Text("CEO Warehouses") ImGui.Separator() ImGui.Text("Current Supplies:") ImGui.SameLine() ImGui.Dummy(10, 1) ImGui.SameLine() ImGui.ProgressBar((ceoSupply / 555), 140, 30) if ceoSupply < 555 then if ImGui.Button("Source Random Crate(s)##ceo") then script.run_in_fiber(function(fillceo) for i = 12, 16 do stats.set_bool_masked(MPX() .. "FIXERPSTAT_BOOL1", true, i) fillceo:sleep(500) end end) end ImGui.SameLine() ceoLoop, used = ImGui.Checkbox("Auto-Fill##ceo", ceoLoop) if ceoLoop then script.run_in_fiber(function(ceoloop) repeat for i = 12, 16 do stats.set_bool_masked(MPX() .. "FIXERPSTAT_BOOL1", true, i) ceoloop:sleep(500) end ceoloop:sleep(969) until ceoSupply == 555 or ceoLoop == false end) end else if ceoLoop then ceoLoop = false end end if INTERIOR.GET_INTERIOR_FROM_ENTITY(self.get_ped()) == 0 then if ImGui.Button("Teleport To Office") then script.run_in_fiber(function() local ceoBlip = HUD.GET_FIRST_BLIP_INFO_ID(475) local ceoLoc if HUD.DOES_BLIP_EXIST(ceoBlip) then ceoLoc = HUD.GET_BLIP_COORDS(ceoBlip) selfTP(true, false, ceoLoc) end end) end end ImGui.Spacing() ImGui.Text("MC Supplies") ImGui.Separator() if fCashOwned then ImGui.Text("Fake Cash:") ImGui.SameLine() ImGui.Dummy(55, 1) ImGui.SameLine() ImGui.ProgressBar((cashSupply / 100), 140, 30) if math.ceil(cashSupply) < 100 then ImGui.SameLine() if ImGui.Button(" Fill ##FakeCash") then globals.set_int(main_global + 0 + 1, 1) end ImGui.SameLine() ImGui.Dummy(5, 1) end if INTERIOR.GET_INTERIOR_FROM_ENTITY(self.get_ped()) == 0 then ImGui.SameLine() if ImGui.Button("Teleport##fc") then script.run_in_fiber(function() local fcBlip = HUD.GET_FIRST_BLIP_INFO_ID(500) local fcLoc if HUD.DOES_BLIP_EXIST(fcBlip) then fcLoc = HUD.GET_BLIP_COORDS(fcBlip) selfTP(false, false, fcLoc) end end) end end else ImGui.Text("You don't own a Fake Cash business.") end if cokeOwned then ImGui.Text("Cocaine:") ImGui.SameLine() ImGui.Dummy(73, 1) ImGui.SameLine() ImGui.ProgressBar((cokeSupply / 100), 140, 30) if math.ceil(cokeSupply) < 100 then ImGui.SameLine() if ImGui.Button(" Fill ##Cocaine") then globals.set_int(main_global + 4 + 1, 1) end ImGui.SameLine() ImGui.Dummy(5, 1) end if INTERIOR.GET_INTERIOR_FROM_ENTITY(self.get_ped()) == 0 then ImGui.SameLine() if ImGui.Button("Teleport##coke") then script.run_in_fiber(function() local cokeBlip = HUD.GET_FIRST_BLIP_INFO_ID(497) local cokeLoc if HUD.DOES_BLIP_EXIST(cokeBlip) then cokeLoc = HUD.GET_BLIP_COORDS(cokeBlip) selfTP(false, false, cokeLoc) end end) end end else ImGui.Text("You don't own a Cocaine business.") end if methOwned then ImGui.Text("Meth:") ImGui.SameLine() ImGui.Dummy(95, 1) ImGui.SameLine() ImGui.ProgressBar((methSupply / 100), 140, 30) if math.ceil(methSupply) < 100 then ImGui.SameLine() if ImGui.Button(" Fill ##Meth") then globals.set_int(main_global + 2 + 1, 1) end ImGui.SameLine() ImGui.Dummy(5, 1) end if INTERIOR.GET_INTERIOR_FROM_ENTITY(self.get_ped()) == 0 then ImGui.SameLine() if ImGui.Button("Teleport##meth") then script.run_in_fiber(function() local methBlip = HUD.GET_FIRST_BLIP_INFO_ID(499) local methLoc if HUD.DOES_BLIP_EXIST(methBlip) then methLoc = HUD.GET_BLIP_COORDS(methBlip) selfTP(false, false, methLoc) end end) end end else ImGui.Text("You don't own a Meth business.") end if weedOwned then ImGui.Text("Weed:") ImGui.SameLine() ImGui.Dummy(90, 1) ImGui.SameLine() ImGui.ProgressBar((weedSupply / 100), 140, 30) if math.ceil(weedSupply) < 100 then ImGui.SameLine() if ImGui.Button(" Fill ##Weed") then globals.set_int(main_global + 3 + 1, 1) end ImGui.SameLine() ImGui.Dummy(5, 1) end if INTERIOR.GET_INTERIOR_FROM_ENTITY(self.get_ped()) == 0 then ImGui.SameLine() if ImGui.Button("Teleport##weed") then script.run_in_fiber(function() local weedBlip = HUD.GET_FIRST_BLIP_INFO_ID(496) local weedLoc if HUD.DOES_BLIP_EXIST(weedBlip) then weedLoc = HUD.GET_BLIP_COORDS(weedBlip) selfTP(false, false, weedLoc) end end) end end else ImGui.Text("You don't own a Weed business.") end if fdOwned then ImGui.Text("Document Forgery: ") ImGui.SameLine() ImGui.ProgressBar((dfSupply / 100), 140, 30) if math.ceil(dfSupply) < 100 then ImGui.SameLine() if ImGui.Button(" Fill ##DocumentForgery") then globals.set_int(main_global + 1 + 1, 1) end ImGui.SameLine() ImGui.Dummy(5, 1) end if INTERIOR.GET_INTERIOR_FROM_ENTITY(self.get_ped()) == 0 then ImGui.SameLine() if ImGui.Button("Teleport##fd") then script.run_in_fiber(function() local fdBlip = HUD.GET_FIRST_BLIP_INFO_ID(498) local fdLoc if HUD.DOES_BLIP_EXIST(fdBlip) then fdLoc = HUD.GET_BLIP_COORDS(fdBlip) selfTP(false, false, fdLoc) end end) end end else ImGui.Text("You don't own a Document Forgery office.") end if bunkerOwned then ImGui.Text("Bunker:") ImGui.SameLine() ImGui.Dummy(80, 1) ImGui.SameLine() ImGui.ProgressBar((bunkerSupply / 100), 140, 30) if math.ceil(bunkerSupply) < 100 then ImGui.SameLine() if ImGui.Button(" Fill ##Bunker") then globals.set_int(main_global + 5 + 1, 1) end ImGui.SameLine() ImGui.Dummy(5, 1) end if INTERIOR.GET_INTERIOR_FROM_ENTITY(self.get_ped()) == 0 then ImGui.SameLine() if ImGui.Button("Teleport##bunker") then script.run_in_fiber(function() local bunkerBlip = HUD.GET_FIRST_BLIP_INFO_ID(557) local bunkerLoc if HUD.DOES_BLIP_EXIST(bunkerBlip) then bunkerLoc = HUD.GET_BLIP_COORDS(bunkerBlip) selfTP(true, false, bunkerLoc) end end) end end else ImGui.Text("You don't own a Bunker.") end if acidOwned then ImGui.Text("Acid Lab:") ImGui.SameLine() ImGui.Dummy(70, 1) ImGui.SameLine() ImGui.ProgressBar((acidSupply / 100), 140, 30) if math.ceil(acidSupply) < 100 then ImGui.SameLine() if ImGui.Button(" Fill ##AcidLab") then globals.set_int(main_global + 6 + 1, 1) end ImGui.SameLine() ImGui.Dummy(5, 1) end if INTERIOR.GET_INTERIOR_FROM_ENTITY(self.get_ped()) == 0 then ImGui.SameLine() if ImGui.Button("Teleport##acid") then script.run_in_fiber(function() local acidBlip = HUD.GET_FIRST_BLIP_INFO_ID(848) local acidLoc if HUD.DOES_BLIP_EXIST(acidBlip) then acidLoc = HUD.GET_BLIP_COORDS(acidBlip) selfTP(true, false, acidLoc) end end) end end if INTERIOR.GET_INTERIOR_FROM_ENTITY(self.get_ped()) == 0 then ImGui.Dummy(1, 10) coloredText( "WARNING!\10Teleport buttons might be broken in public sessions.", 40, { 255, 204, 0, 0.8 } ) end else ImGui.Text("You don't own an Acid Lab.") end ImGui.EndTabItem() end if ImGui.BeginTabItem("Production Overview") then --------------------------------------- Hangar ---------------------------------------------------------------------- if hangarOwned then ImGui.Text("Hangar:") local hangarCargo = stats.get_int(MPX() .. "HANGAR_CONTRABAND_TOTAL") or 0 hangarTotal = hangarCargo * 30000 ImGui.Text("Product:") ImGui.SameLine() ImGui.Dummy(5, 1) ImGui.SameLine() ImGui.ProgressBar( (hangarCargo / 50), 160, 25, tostring(hangarCargo) .. " Crates (" .. tostring(math.floor(hangarCargo / 0.5)) .. "%)" ) ImGui.SameLine() ImGui.Dummy(10, 1) ImGui.SameLine() ImGui.Text("Value:") ImGui.SameLine() ImGui.Text(formatMoney(hangarTotal)) end --------------------------------------- CEO ---------------------------------------------------------------------- ImGui.Separator() ImGui.Text("CEO:") local wh1Supplies = stats.get_int(MPX() .. "CONTOTALFORWHOUSE0") or 0 local wh2Supplies = stats.get_int(MPX() .. "CONTOTALFORWHOUSE1") or 0 local wh3Supplies = stats.get_int(MPX() .. "CONTOTALFORWHOUSE2") or 0 local wh4Supplies = stats.get_int(MPX() .. "CONTOTALFORWHOUSE3") or 0 local wh5Supplies = stats.get_int(MPX() .. "CONTOTALFORWHOUSE4") or 0 if wh1Supplies ~= nil and wh1Supplies > 0 then wh1Value = (globals.get_int(262145 + (getCEOvalue_G(wh1Supplies)))) else wh1Value = 0 end if wh2Supplies ~= nil and wh2Supplies > 0 then wh2Value = (globals.get_int(262145 + (getCEOvalue_G(wh2Supplies)))) else wh2Value = 0 end if wh3Supplies ~= nil and wh3Supplies > 0 then wh3Value = (globals.get_int(262145 + (getCEOvalue_G(wh3Supplies)))) else wh3Value = 0 end if wh4Supplies ~= nil and wh4Supplies > 0 then wh4Value = (globals.get_int(262145 + (getCEOvalue_G(wh4Supplies)))) else wh4Value = 0 end if wh5Supplies ~= nil and wh5Supplies > 0 then wh5Value = (globals.get_int(262145 + (getCEOvalue_G(wh5Supplies)))) else wh5Value = 0 end local ceoSupply = (wh1Supplies + wh2Supplies + wh3Supplies + wh4Supplies + wh5Supplies) ceoTotal = ( (wh1Value * wh1Supplies) + (wh2Value * wh2Supplies) + (wh3Value * wh3Supplies) + (wh4Value * wh4Supplies) + (wh5Value * wh5Supplies) ) ImGui.Text("Product:") ImGui.SameLine() ImGui.Dummy(5, 1) ImGui.SameLine() ImGui.ProgressBar( (ceoSupply / 555), 160, 25, tostring(ceoSupply) .. " Crates (" .. tostring(math.floor((ceoSupply / 555) * 100)) .. "%)" ) ImGui.SameLine() ImGui.Dummy(10, 1) ImGui.SameLine() ImGui.Text("Value:") ImGui.SameLine() ImGui.Text(formatMoney(ceoTotal)) --------------------------------------- Fake Cash ------------------------------------------------------------------- if fCashOwned then ImGui.Separator() ImGui.Text("Fake Cash:") ImGui.SameLine() cashUpdgrade1, used = ImGui.Checkbox("Equipment Upgrade##cash", cashUpdgrade1) ImGui.SameLine() if used then CFG.save("cashUpdgrade1", cashUpdgrade1) end cashUpdgrade2, used = ImGui.Checkbox("Staff Upgrade##cash", cashUpdgrade2) if used then CFG.save("cashUpdgrade2", cashUpdgrade2) end if cashUpdgrade1 then cashOffset1 = globals.get_int(262145 + 17415) else cashOffset1 = 0 end if cashUpdgrade2 then cashOffset2 = globals.get_int(262145 + 17421) else cashOffset2 = 0 end local cashProduct = stats.get_int(MPX() .. "PRODTOTALFORFACTORY0") or 0 cashTotal = ((globals.get_int(262145 + 17409) + cashOffset1 + cashOffset2) * cashProduct) ImGui.Text("Product:") ImGui.SameLine() ImGui.Dummy(5, 1) ImGui.SameLine() ImGui.ProgressBar( (cashProduct / 40), 160, 25, tostring(cashProduct) .. " Boxes (" .. tostring(math.floor(cashProduct * 2.5)) .. "%)" ) ImGui.SameLine() ImGui.Dummy(10, 1) ImGui.SameLine() ImGui.Text("Value:") ImGui.SameLine() ImGui.Text(formatMoney(cashTotal)) end ---------------------------------------Coke---------------------------------------------------------------------- if cokeOwned then ImGui.Separator() ImGui.Text("Cocaine: ") ImGui.SameLine() cokeUpdgrade1, used = ImGui.Checkbox("Equipment Upgrade##coke", cokeUpdgrade1) ImGui.SameLine() if used then CFG.save("cokeUpdgrade1", cokeUpdgrade1) end cokeUpdgrade2, used = ImGui.Checkbox("Staff Upgrade##coke", cokeUpdgrade2) if used then CFG.save("cokeUpdgrade2", cokeUpdgrade2) end if cokeUpdgrade1 then cokeOffset1 = globals.get_int(262145 + 17416) else cokeOffset1 = 0 end if cokeUpdgrade2 then cokeOffset2 = globals.get_int(262145 + 17422) else cokeOffset2 = 0 end local cokeProduct = stats.get_int(MPX() .. "PRODTOTALFORFACTORY1") or 0 cokeTotal = ((globals.get_int(262145 + 17410) + cokeOffset1 + cokeOffset2) * cokeProduct) ImGui.Text("Product:") ImGui.SameLine() ImGui.Dummy(5, 1) ImGui.SameLine() ImGui.ProgressBar( (cokeProduct / 10), 160, 25, tostring(cokeProduct) .. " Kilos (" .. tostring(cokeProduct * 10) .. "%)" ) ImGui.SameLine() ImGui.Dummy(10, 1) ImGui.SameLine() ImGui.Text("Value:") ImGui.SameLine() ImGui.Text(formatMoney(cokeTotal)) end ---------------------------------------Meth----------------------------------------------------------------------- if methOwned then ImGui.Separator() ImGui.Text("Meth: ") ImGui.SameLine() methUpdgrade1, used = ImGui.Checkbox("Equipment Upgrade##meth", methUpdgrade1) ImGui.SameLine() if used then CFG.save("methUpdgrade1", methUpdgrade1) end methUpdgrade2, used = ImGui.Checkbox("Staff Upgrade##meth", methUpdgrade2) if used then CFG.save("methUpdgrade2", methUpdgrade2) end if methUpdgrade1 then methOffset1 = globals.get_int(262145 + 17417) else methOffset1 = 0 end if methUpdgrade2 then methOffset2 = globals.get_int(262145 + 17423) else methOffset2 = 0 end local methProduct = stats.get_int(MPX() .. "PRODTOTALFORFACTORY2") or 0 methTotal = ((globals.get_int(262145 + 17411) + methOffset1 + methOffset2) * methProduct) ImGui.Text("Product:") ImGui.SameLine() ImGui.Dummy(5, 1) ImGui.SameLine() ImGui.ProgressBar( (methProduct / 20), 160, 25, tostring(methProduct) .. " Pounds (" .. tostring(methProduct * 5) .. "%)" ) ImGui.SameLine() ImGui.Dummy(10, 1) ImGui.SameLine() ImGui.Text("Value:") ImGui.SameLine() ImGui.Text(formatMoney(methTotal)) end ---------------------------------------Weed------------------------------------------------------------------------ if weedOwned then ImGui.Separator() ImGui.Text("Weed: ") ImGui.SameLine() weedUpdgrade1, used = ImGui.Checkbox("Equipment Upgrade##weed", weedUpdgrade1) ImGui.SameLine() if used then CFG.save("weedUpdgrade1", weedUpdgrade1) end weedUpdgrade2, used = ImGui.Checkbox("Staff Upgrade##weed", weedUpdgrade2) if used then CFG.save("weedUpdgrade2", weedUpdgrade2) end if weedUpdgrade1 then weedOffset1 = globals.get_int(262145 + 17418) else weedOffset1 = 0 end if weedUpdgrade2 then weedOffset2 = globals.get_int(262145 + 17424) else weedOffset2 = 0 end local weedProduct = stats.get_int("MPX_PRODTOTALFORFACTORY3") weedTotal = ((globals.get_int(262145 + 17412) + weedOffset1 + weedOffset2) * weedProduct) ImGui.Text("Product:") ImGui.SameLine() ImGui.Dummy(5, 1) ImGui.SameLine() ImGui.ProgressBar( (weedProduct / 80), 160, 25, tostring(weedProduct) .. " Pounds (" .. tostring(math.floor(weedProduct / 8 * 10)) .. "%)" ) ImGui.SameLine() ImGui.Dummy(10, 1) ImGui.SameLine() ImGui.Text("Value:") ImGui.SameLine() ImGui.Text(formatMoney(weedTotal)) end ---------------------------------------Document Forgery------------------------------------------------------------ if fdOwned then ImGui.Separator() ImGui.Text("Fake ID: ") ImGui.SameLine() fdUpdgrade1, used = ImGui.Checkbox("Equipment Upgrade##fd", fdUpdgrade1) ImGui.SameLine() if used then CFG.save("fdUpdgrade1", fdUpdgrade1) end fdUpdgrade2, used = ImGui.Checkbox("Staff Upgrade##fd", fdUpdgrade2) if used then CFG.save("fdUpdgrade2", fdUpdgrade2) end if fdUpdgrade1 then fdOffset1 = globals.get_int(262145 + 17414) else fdOffset1 = 0 end if fdUpdgrade2 then fdOffset2 = globals.get_int(262145 + 17420) else fdOffset2 = 0 end local fdProduct = stats.get_int("MPX_PRODTOTALFORFACTORY4") fdTotal = ((globals.get_int(262145 + 17408) + fdOffset1 + fdOffset2) * fdProduct) ImGui.Text("Product:") ImGui.SameLine() ImGui.Dummy(5, 1) ImGui.SameLine() ImGui.ProgressBar( (fdProduct / 60), 160, 25, tostring(fdProduct) .. " Boxes (" .. tostring(math.floor(fdProduct / 6 * 10)) .. "%)" ) ImGui.SameLine() ImGui.Dummy(10, 1) ImGui.SameLine() ImGui.Text("Value:") ImGui.SameLine() ImGui.Text(formatMoney(fdTotal)) end ---------------------------------------Bunker----------------------------------------------------------------------- if bunkerOwned then ImGui.Separator() ImGui.Text("Bunker: ") ImGui.SameLine() bunkerUpdgrade1, used = ImGui.Checkbox("Equipment Upgrade##bunker", bunkerUpdgrade1) ImGui.SameLine() if used then CFG.save("bunkerUpdgrade1", bunkerUpdgrade1) end bunkerUpdgrade2, used = ImGui.Checkbox("Staff Upgrade##bunker", bunkerUpdgrade2) if used then CFG.save("bunkerUpdgrade2", bunkerUpdgrade2) end if bunkerUpdgrade1 then bunkerOffset1 = globals.get_int(262145 + 21345) else bunkerOffset1 = 0 end if bunkerUpdgrade2 then bunkerOffset2 = globals.get_int(262145 + 21344) else bunkerOffset2 = 0 end local bunkerProduct = stats.get_int("MPX_PRODTOTALFORFACTORY5") bunkerTotal = ((globals.get_int(262145 + 21343) + bunkerOffset1 + bunkerOffset2) * bunkerProduct) ImGui.Text("Product:") ImGui.SameLine() ImGui.Dummy(5, 1) ImGui.SameLine() ImGui.ProgressBar( (bunkerProduct / 100), 160, 25, tostring(bunkerProduct) .. " Crates (" .. tostring(bunkerProduct) .. "%)" ) ImGui.SameLine() ImGui.Dummy(10, 1) ImGui.SameLine() ImGui.Text("Value:") ImGui.SameLine() ImGui.Text( "BC: " .. formatMoney(bunkerTotal) .. "\nLS: " .. formatMoney(math.floor(bunkerTotal * 1.5)) ) end ---------------------------------------Acid Lab------------------------------------------------------------------- if acidOwned then ImGui.Separator() ImGui.Text("Acid Lab: ") ImGui.SameLine() acidUpdgrade, used = ImGui.Checkbox("Equipment Upgrade##acid", acidUpdgrade) if used then CFG.save("acidUpdgrade", acidUpdgrade) end if acidUpdgrade then acidOffset = globals.get_int(262145 + 17419) else acidOffset = 0 end local acidProduct = stats.get_int("MPX_PRODTOTALFORFACTORY6") acidTotal = ((globals.get_int(262145 + 17413) + acidOffset) * acidProduct) ImGui.Text("Product:") ImGui.SameLine() ImGui.Dummy(5, 1) ImGui.SameLine() ImGui.ProgressBar( (acidProduct / 100), 160, 25, tostring(acidProduct) .. " Sheets (" .. tostring(math.floor(acidProduct / 16 * 10)) .. "%)" ) ImGui.SameLine() ImGui.Dummy(10, 1) ImGui.SameLine() ImGui.Text("Value:") ImGui.SameLine() ImGui.Text(formatMoney(acidTotal)) end ImGui.Spacing() ImGui.Separator() local finalAmt = ( hangarTotal + ceoTotal + cashTotal + cokeTotal + methTotal + weedTotal + fdTotal + bunkerTotal + acidTotal ) ImGui.Spacing() ImGui.Text("Total Profit = " .. formatMoney(finalAmt)) ImGui.EndTabItem() end if ImGui.BeginTabItem("Business Safes") then if stats.get_int("MPX_PROP_NIGHTCLUB") ~= 0 then ImGui.Spacing() ImGui.Spacing() ImGui.Text("¤ Nightclub ¤") if INTERIOR.GET_INTERIOR_FROM_ENTITY(self.get_ped()) == 0 then ImGui.SameLine() ImGui.Dummy(50, 1) ImGui.SameLine() if ImGui.Button("Teleport##nc") then script.run_in_fiber(function() local ncBlip = HUD.GET_FIRST_BLIP_INFO_ID(614) local ncLoc if HUD.DOES_BLIP_EXIST(ncBlip) then ncLoc = HUD.GET_BLIP_COORDS(ncBlip) selfTP(false, false, ncLoc) end end) end end local currentNcPop = stats.get_int("MPX_CLUB_POPULARITY") local popDiff = 1000 - currentNcPop local currNcSafeMoney = stats.get_int("MPX_CLUB_SAFE_CASH_VALUE") ImGui.Text("Popularity: ") ImGui.SameLine() ImGui.Dummy(35, 1) ImGui.SameLine() ImGui.ProgressBar(currentNcPop / 1000, 160, 25, tostring(currentNcPop)) if currentNcPop < 1000 then ImGui.SameLine() if ImGui.Button("Max Popularity") then stats.set_int("MPX_CLUB_POPULARITY", currentNcPop + popDiff) gui.show_success("YimResupplier", "Nightclub popularity increased.") end end ImGui.Text("Safe: ") ImGui.SameLine() ImGui.Dummy(75, 1) ImGui.SameLine() ImGui.ProgressBar(currNcSafeMoney / 250000, 160, 25, formatMoney(currNcSafeMoney)) ImGui.Separator() end if stats.get_int("MPX_PROP_ARCADE") ~= 0 then ImGui.Spacing() ImGui.Spacing() ImGui.Text("¤ Arcade ¤") if INTERIOR.GET_INTERIOR_FROM_ENTITY(self.get_ped()) == 0 then ImGui.SameLine() ImGui.Dummy(60, 1) ImGui.SameLine() if ImGui.Button("Teleport##arcade") then script.run_in_fiber(function() local arBlip = HUD.GET_FIRST_BLIP_INFO_ID(740) local arLoc if HUD.DOES_BLIP_EXIST(arBlip) then arLoc = HUD.GET_BLIP_COORDS(arBlip) selfTP(false, false, arLoc) end end) end end local currArSafeMoney = stats.get_int("MPX_ARCADE_SAFE_CASH_VALUE") ImGui.Text("Safe: ") ImGui.SameLine() ImGui.Dummy(75, 1) ImGui.SameLine() ImGui.ProgressBar(currArSafeMoney / 100000, 160, 25, formatMoney(currArSafeMoney)) ImGui.Separator() end if stats.get_int("MPX_PROP_SECURITY_OFFICE") ~= 0 then ImGui.Spacing() ImGui.Spacing() ImGui.Text("¤ Agency ¤") if INTERIOR.GET_INTERIOR_FROM_ENTITY(self.get_ped()) == 0 then ImGui.SameLine() ImGui.Dummy(60, 1) ImGui.SameLine() if ImGui.Button("Teleport##agnc") then script.run_in_fiber(function() local agncBlip = HUD.GET_FIRST_BLIP_INFO_ID(826) local agncLoc if HUD.DOES_BLIP_EXIST(agncBlip) then agncLoc = HUD.GET_BLIP_COORDS(agncBlip) selfTP(false, false, agncLoc) end end) end end local currAgSafeMoney = stats.get_int("MPX_FIXER_SAFE_CASH_VALUE") ImGui.Text("Safe: ") ImGui.SameLine() ImGui.Dummy(75, 1) ImGui.SameLine() ImGui.ProgressBar(currAgSafeMoney / 250000, 160, 25, formatMoney(currAgSafeMoney)) ImGui.Separator() end if stats.get_int("MPX_PROP_CLUBHOUSE") ~= 0 then ImGui.Spacing() ImGui.Spacing() ImGui.Text("¤ MC Clubhouse ¤") if INTERIOR.GET_INTERIOR_FROM_ENTITY(self.get_ped()) == 0 then ImGui.SameLine() ImGui.Dummy(10, 1) ImGui.SameLine() if ImGui.Button("Teleport##mc") then script.run_in_fiber(function() local mcBlip = HUD.GET_FIRST_BLIP_INFO_ID(492) local mcLoc if HUD.DOES_BLIP_EXIST(mcBlip) then mcLoc = HUD.GET_BLIP_COORDS(mcBlip) selfTP(false, false, mcLoc) end end) end end local currClubHouseBarProfit = stats.get_int("MPX_BIKER_BAR_RESUPPLY_CASH") ImGui.Text("Bar Earnings: ") ImGui.SameLine() ImGui.Dummy(15, 1) ImGui.SameLine() ImGui.ProgressBar(currClubHouseBarProfit / 100000, 160, 25, formatMoney(currClubHouseBarProfit)) ImGui.Separator() end if stats.get_int("MPX_PROP_BAIL_OFFICE") ~= 0 then ImGui.Spacing() ImGui.Spacing() ImGui.Text("¤ Bail Office ¤") if INTERIOR.GET_INTERIOR_FROM_ENTITY(self.get_ped()) == 0 then ImGui.SameLine() ImGui.Dummy(40, 1) ImGui.SameLine() if ImGui.Button("Teleport##bail") then script.run_in_fiber(function() local bailBlip = HUD.GET_FIRST_BLIP_INFO_ID(893) local bailLoc if HUD.DOES_BLIP_EXIST(bailBlip) then bailLoc = HUD.GET_BLIP_COORDS(bailBlip) bailLoc.y = bailLoc.y + 1.2 selfTP(false, false, bailLoc) end end) end end local currBailSafe = stats.get_int("MPX_BAIL_SAFE_CASH_VALUE") ImGui.Text("Safe: ") ImGui.SameLine() ImGui.Dummy(75, 1) ImGui.SameLine() ImGui.ProgressBar(currBailSafe / 100000, 160, 25, formatMoney(currBailSafe)) ImGui.Separator() end if stats.get_int("MPX_SALVAGE_YARD_OWNED") ~= 0 then ImGui.Spacing() ImGui.Spacing() ImGui.Text("¤ Salvage Yard ¤") if INTERIOR.GET_INTERIOR_FROM_ENTITY(self.get_ped()) == 0 then ImGui.SameLine() ImGui.Dummy(20, 1) ImGui.SameLine() if ImGui.Button("Teleport##salvage") then script.run_in_fiber(function() local slvgBlip = HUD.GET_FIRST_BLIP_INFO_ID(867) local slvgLoc if HUD.DOES_BLIP_EXIST(slvgBlip) then slvgLoc = HUD.GET_BLIP_COORDS(slvgBlip) selfTP(false, true, slvgLoc, 180) end end) end end local currSalvSafe = stats.get_int("MPX_SALVAGE_SAFE_CASH_VALUE") ImGui.Text("Safe: ") ImGui.SameLine() ImGui.Dummy(75, 1) ImGui.SameLine() ImGui.ProgressBar(currSalvSafe / 250000, 160, 25, formatMoney(currSalvSafe)) end if INTERIOR.GET_INTERIOR_FROM_ENTITY(self.get_ped()) == 0 then ImGui.Dummy(1, 10) coloredText( "WARNING!\10Teleport buttons might be broken in public sessions.", 40, { 255, 204, 0, 0.8 } ) end ImGui.EndTabItem() end else ImGui.Text("\nUnavailable in Single Player.\n\n") end end) -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- L7NEG7 = makeOnlineTab(L7NEG:add_tab("Ultimate Money Methods Menu")) -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- BusinessesMenu = L7NEG7:add_tab("Businesses Menu") -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- AirCargoMenu = BusinessesMenu:add_tab("Air Cargo Menu") -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- CARGO1 = FMg + 22581 CARGO2 = FMg + 22582 CARGO3 = FMg + 22583 CARGO4 = FMg + 22584 CARGO5 = FMg + 22585 CARGO6 = FMg + 22586 CARGO7 = FMg + 22587 CARGO8 = FMg + 22588 CARGO9 = FMg + 22589 local hanvalue = AirCargoMenu:add_input_int("Crate Value") AirCargoMenu:add_button("Set Value", function() local HangarCrateVlaue = hanvalue:get_value() globals.set_int(CARGO1, HangarCrateVlaue) globals.set_int(CARGO2, HangarCrateVlaue) globals.set_int(CARGO3, HangarCrateVlaue) globals.set_int(CARGO4, HangarCrateVlaue) globals.set_int(CARGO5, HangarCrateVlaue) globals.set_int(CARGO6, HangarCrateVlaue) globals.set_int(CARGO7, HangarCrateVlaue) globals.set_int(CARGO8, HangarCrateVlaue) globals.set_int(CARGO9, HangarCrateVlaue) gui.show_message("Crate Value Setter", "Your Crates Values was set to " .. HangarCrateVlaue .. ".") end) AirCargoMenu:add_separator() RCRT = AirCargoMenu:add_checkbox("Remove Ron's Cut") script.register_looped("RonCutRemover", 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 RCRT:is_enabled() then globals.set_float(FMg + 22564, 0) else globals.set_float(FMg + 22564, 0.025) end end) AirCargoMenu:add_separator() PRPGD = AirCargoMenu:add_checkbox("Disable Player RP Gain") script.register_looped("PlayerRPGainDisabler", 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 PRPGD:is_enabled() then globals.set_float(FMg + 1, 0) else globals.set_float(FMg + 1, 1) end end) AirCargoMenu:add_separator() AirCargoMenu:add_button("Open Hangar Screen", function() SCRIPT.REQUEST_SCRIPT("apparcadebusinesshub") SYSTEM.START_NEW_SCRIPT("apparcadebusinesshub", 8344) end) AirCargoEditorMenu = AirCargoMenu:add_tab("Air Cargo Data Editor") -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- AirCargoEditorMenu:add_button("Reset Crate Sell Stats-0/0 Sales", function() stats.set_int(MPX() .. "LFETIME_HANGAR_BUY_COMPLET", 0) stats.set_int(MPX() .. "LFETIME_HANGAR_BUY_UNDERTAK", 0) stats.set_int(MPX() .. "LFETIME_HANGAR_SEL_COMPLET", 0) stats.set_int(MPX() .. "LFETIME_HANGAR_SEL_UNDERTAK", 0) stats.set_int(MPX() .. "LFETIME_HANGAR_EARNINGS", 0) stats.set_int(MPX() .. "HANGAR_CONTRABAND_TOTAL", 0) stats.set_int(MPX() .. "LFETIME_HANGAR_EARN_BONUS", 0) stats.set_int(MPX() .. "RIVAL_HANGAR_CRATES_STOLEN", 0) globals.set_int(CSg1, 11) globals.set_int(CSg2, 1) globals.set_int(CSg2, 0) end) -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- UseAtYourOwnRiskMenu = L7NEG7:add_tab("Use At Your Own Risk Menu") -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- CeoManagerMenu = UseAtYourOwnRiskMenu:add_tab("Ceo Manager Menu") -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- CEO1 = FMg + 15821 --("EXEC_CONTRABAND_SALE_VALUE_THRESHOLD1") CEO2 = FMg + 15588 --("EXEC_BUY_COOLDOWN") CEO3 = FMg + 15589 --("EXEC_SELL_COOLDOWN") SMC1 = 574 + 1 --("gb_contraband_sell") SMC2 = 574 + 7 --("gb_contraband_sell") SMC3 = 574 + 584 --("gb_contraband_sell") SMC4 = 574 + 55 --("gb_contraband_sell") SMC5 = 574 + 595 --("gb_contraband_sell") SMC6 = 590 --("GTAO_Exec_SecuroServ_Computer_Sounds") in ("appsecuroserv") SMC7 = 770 --("MP_WH_SELL") or ("WH_MFREASON_12") in ("appsecuroserv") SMC8 = 771 --("MP_WH_SELL") or ("WH_MFREASON_12") in ("appsecuroserv") SMC9 = 632 + 5 --("SPEECH_PARAMS_SHOUTED_CRITICAL") in ("gb_contraband_buy") SMC10 = 632 + 1 --func_91() in ("gb_contraband_buy") SMC11 = 632 + 191 --("gb_contraband_buy") SMC12 = 632 + 192 --("gb_contraband_buy") local cs = "appsecuroserv" local ci = "gb_contraband_sell" local cb = "gb_contraband_buy" local am = "am_mp_warehouse" local am2 = "am_mp_peds" cratevalue = 0 CeoManagerMenu:add_imgui(function() if checkOnline() then return end cratevalue, used = ImGui.DragInt("Crate Value", cratevalue, 10000, 0, 6000000) if used then globals.set_int(CEO1, cratevalue) end end) checkbox = CeoManagerMenu:add_checkbox("Start Ceo Manager") PRPGD = CeoManagerMenu:add_checkbox("Disable Player RP Gain") script.register_looped("PlayerRPGainDisabler", function(script) script:yield() if PRPGD:is_enabled() then globals.set_float(FMg + 1, 0) else globals.set_float(FMg + 1, 1) end end) CeoManagerMenu:add_button("Open Warehouse Screen", function() SCRIPT.REQUEST_SCRIPT("apparcadebusinesshub") SYSTEM.START_NEW_SCRIPT("apparcadebusinesshub", 8344) end) script.register_looped("yimceoloop", 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 -- removed useless call globals.set_int(CEO2, 0) globals.set_int(CEO3, 0) if checkbox:is_enabled() == true then if locals.get_int(ci, 2) == 1 then locals.set_int(ci, SMC5, 1) locals.set_int(ci, SMC4, 0) locals.set_int(ci, SMC3, 0) locals.set_int(ci, SMC2, 7) script:sleep(500) locals.set_int(ci, SMC1, 99999) end if locals.get_int(cs, 2) == 1 then script:sleep(500) locals.set_int(cs, SMC8, 1) script:sleep(200) locals.set_int(cs, SMC7, 1) script:sleep(200) locals.set_int(cs, SMC6, 3012) script:sleep(1000) end if locals.get_int(cb, 2) == 1 then locals.set_int(cb, SMC9, 1) locals.set_int(cb, SMC10, 111) locals.set_int(cb, SMC11, 6) locals.set_int(cb, SMC12, 4) gui.show_message("Your Warehouse is now full! 111/111 Crates") end if locals.get_int(ci, 2) ~= 1 then script:sleep(500) if locals.get_int(am, 2) == 1 then SCRIPT.REQUEST_SCRIPT("appsecuroserv") SYSTEM.START_NEW_SCRIPT("appsecuroserv", 8344) SCRIPT.SET_SCRIPT_AS_NO_LONGER_NEEDED("appsecuroserv") end end end script:sleep(500) end) -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- NightClubSafeMenu = UseAtYourOwnRiskMenu:add_tab("NightClub Safe Loop Menu") SafeAmount = 300000 SafeCapacity = 23769 --NIGHTCLUBMAXSAFEVALUE IncomeStart = 23746 --NIGHTCLUBINCOMEUPTOPOP5 IncomeEnd = 23765 --NIGHTCLUBINCOMEUPTOPOP100 NCRSCB = NightClubSafeMenu:add_checkbox("Enable Nitghtclub $300k/5s (Safe Remote AFK)") script.register_looped("nightclubremotelooptest", 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 NCRSCB:is_enabled() == true then SafeValue = 1845298 + self.get_id() + 260 + 364 + 5 --("am_mp_nightclub") or we can just use TUNEABLE: NIGHTCLUBMAXSAFEVALUE for i = IncomeStart, IncomeEnd do globals.set_int(FMg + i, SafeAmount) end globals.set_int(FMg + SafeCapacity, SafeAmount) stats.set_int(MPX() .. "CLUB_PAY_TIME_LEFT", -1) script:sleep(2500) if globals.get_int(SafeValue) ~= 0 then end locals.set_int("am_mp_nightclub", NLCl, 1) globals.set_int(4516981, 0) globals.set_int(4516982, 0) globals.set_int(4516983, 0) script:sleep(2500) end end) NightClubSafeMenu:add_separator() NightClubSafeMenu:add_button("Open Nightclub Screen", function() SYSTEM.START_NEW_SCRIPT("appBusinessHub", 1424) end) --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- MoneyRemoverMenu = L7NEG:add_tab("Money Remover Menu") -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- moneyremovervalue = globals.get_int(BV) MoneyRemoverMenu:add_imgui(function() if checkOnline() then return end moneyremovervalue, used = ImGui.DragInt("Set Ballastic Value", moneyremovervalue, 1000000, 1000000, 2147483647) if used then globals.set_int(BV, moneyremovervalue) end end) -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- ReportsMenu = L7NEG:add_tab("Reports Menu") ReportsMenu:add_imgui(function() if checkOnline() then return end ImGui.Text("Griefing: " .. stats.get_int("MPPLY_GRIEFING")) ImGui.Text("Exploiting: " .. stats.get_int("MPPLY_EXPLOITS")) ImGui.Text("Abusing Bugs: " .. stats.get_int("MPPLY_GAME_EXPLOITS")) ImGui.Text("Annoying People In Text: " .. stats.get_int("MPPLY_TC_ANNOYINGME")) ImGui.Text("Hate Speech In Voice: " .. stats.get_int("MPPLY_VC_HATE")) ImGui.Text("Offensive Language: " .. stats.get_int("MPPLY_OFFENSIVE_LANGUAGE")) ImGui.Text("Offensive Tagplate: " .. stats.get_int("MPPLY_OFFENSIVE_TAGPLATE")) ImGui.Text("Offensive Content: " .. stats.get_int("MPPLY_OFFENSIVE_UGC")) ImGui.Text("Bad Crew Name: " .. stats.get_int("MPPLY_BAD_CREW_NAME")) ImGui.Text("Bad Crew Motto: " .. stats.get_int("MPPLY_BAD_CREW_MOTTO")) ImGui.Text("Bad Crew Status: " .. stats.get_int("MPPLY_BAD_CREW_STATUS")) ImGui.Text("Bad Crew Emblem: " .. stats.get_int("MPPLY_BAD_CREW_EMBLEM")) ImGui.Separator() ImGui.Text("Now onto your commends:") ImGui.Separator() ImGui.Text("Friendly: " .. stats.get_int("MPPLY_FRIENDLY")) ImGui.Text("Helpful: " .. stats.get_int("MPPLY_HELPFUL")) end) -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- WareHouseDataEditorMenu = CeoManagerMenu:add_tab("WareHouse Data Editor") -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- WareHouseDataEditorMenu:add_button("Reset Crate Sell Stats-0/0 Sales", function() stats.set_int(MPX() .. "LIFETIME_BUY_COMPLETE", 0) stats.set_int(MPX() .. "LIFETIME_BUY_UNDERTAKEN", 0) stats.set_int(MPX() .. "LIFETIME_SELL_COMPLETE", 0) stats.set_int(MPX() .. "LIFETIME_SELL_UNDERTAKEN", 0) stats.set_int(MPX() .. "LIFETIME_CONTRA_EARNINGS", 0) globals.set_int(CSg1, 11) globals.set_int(CSg2, 1) globals.set_int(CSg2, 0) end) -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- HeistsDataEditorMenu = makeOnlineTab(L7NEG:add_tab("Heists Data Editor Menu")) -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- local ApartmentDataEditorMenu = HeistsDataEditorMenu:add_tab("Apartment Heist ") ApartmentDataEditorMenu:add_text("Preps") ApartmentDataEditorMenu:add_button("Complete Preps", function() stats.set_int(MPX() .. "HEIST_PLANNING_STAGE", -1) gui.show_message("Apartment Heist", "Preps should've been completed") end) ApartmentDataEditorMenu:add_sameline() ApartmentDataEditorMenu:add_button("Redraw Board", function() globals.set_int(AHRg, 22) gui.show_message("Apartment Heist", "Board should've been redrawn") end) ApartmentDataEditorMenu:add_text("") ApartmentDataEditorMenu:add_text("For Fleeca:") ApartmentDataEditorMenu:add_text("Pay for the preparation, start the first mission and as soon as you are sent to scout\nchange the session, come back to planning room, press \"Complete Preps\" near white board and press \"E\"") ApartmentDataEditorMenu:add_text("For Other Heist:") ApartmentDataEditorMenu:add_text("Start the mission and leave after the 1st cutscene ends, press \"Complete Preps\" near white board and press \"E\"") ApartmentDataEditorMenu:add_separator() ApartmentDataEditorMenu:add_button("Kill Cooldown", function() globals.set_int(ACDg + 1 + (PLAYER.PLAYER_ID() * 77) + 76, -1) gui.show_message("Apartment Heist", "Cooldown should've been killed") end) ApartmentDataEditorMenu:add_sameline() ApartmentDataEditorMenu:add_button("Change Session", function() changeSession(8) end) local heistCuts = { easy = { [1328892776] = {-5862, 2981}, [964111671] = {-1614, 857}, [1131632450] = {-1168, 634}, [1967927346] = {-1596, 848}, [1182286714] = {-700, 400} }, normal = { [1328892776] = {-2878, 1489}, [964111671] = {-756, 428}, [1131632450] = {-534, 317}, [1967927346] = {-748, 424}, [1182286714] = {-300, 200} }, hard = { [1328892776] = {-2284, 1192}, [964111671] = {-584, 342}, [1131632450] = {-406, 253}, [1967927346] = {-578, 339}, [1182286714] = {-220, 160} } } ApartmentDataEditorMenu:add_separator() ApartmentDataEditorMenu:add_text("Works only for you. Allows you to get 12 millions bonus for The Pacific Standard Job on hard difficulty.\nEnable before starting the heist. Has a cooldown.") local apartmentBonus = ApartmentDataEditorMenu:add_checkbox("12mil Bonus") local previousState = false script.register_looped("SN_Apartment_Bonus", 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 local currentState = apartmentBonus:is_enabled() if currentState ~= previousState then stats.set_int(joaat("MPPLY_HEISTFLOWORDERPROGRESS"), currentState and 268435455 or 134217727) stats.set_bool(joaat("MPPLY_AWD_HST_ORDER"), not currentState) stats.set_int(joaat("MPPLY_HEISTTEAMPROGRESSBITSET"), currentState and 268435455 or 134217727) stats.set_bool(joaat("MPPLY_AWD_HST_SAME_TEAM"), not currentState) stats.set_int(joaat("MPPLY_HEISTNODEATHPROGREITSET"), currentState and 268435455 or 134217727) stats.set_bool(joaat("MPPLY_AWD_HST_ULT_CHAL"), not currentState) gui.show_message("12mil Bonus", currentState and "Bonus should've been applied. Don't forget about difficulty" or "Bonus should've been unapplied") previousState = currentState end script:sleep(100) end) ApartmentDataEditorMenu:add_separator() local difficultyKeys = {"easy", "normal", "hard"} ApartmentDataEditorMenu:add_button("3mil Payout", function() script.run_in_fiber(function(ap) local key = globals.get_int(ACDg + (PLAYER.PLAYER_ID() * 77) + 24 + 2) local difficultyG = globals.get_int(AHDg) local difficulty = difficultyKeys[difficultyG + 1] local cuts = heistCuts[difficulty][key] if cuts then globals.set_int(ACg1, 100 - (cuts[2] * locals.get_int("fmmc_launcher", HGGs1))) globals.set_int(ACg2, cuts[2]) if key ~= 1328892776 then globals.set_int(ACg3, cuts[2]) globals.set_int(ACg4, cuts[2]) end PAD.SET_CONTROL_VALUE_NEXT_FRAME(2, 201, 1) ap:sleep(1000) PAD.SET_CONTROL_VALUE_NEXT_FRAME(2, 202, 1) ap:sleep(1000) globals.set_int(ACg5, -1 * (-100 + cuts[1]) / 2) gui.show_message("Apartment Heist", "Cuts should've been applied") end end) end) ApartmentDataEditorMenu:add_separator() local apartCut1 = 0 local apartCut2 = 0 local apartCut3 = 0 local apartCut4 = 0 ApartmentDataEditorMenu:add_imgui( function () PAD.DISABLE_CONTROL_ACTION(2, 237, true) ImGui.Text("Custom Cuts:") ImGui.SetNextItemWidth(150) apartCut1 = ImGui.InputInt("Cut 1", apartCut1) ImGui.SameLine() ImGui.SetNextItemWidth(150) apartCut2 = ImGui.InputInt("Cut 2", apartCut2) ImGui.SetNextItemWidth(150) apartCut3 = ImGui.InputInt("Cut 3", apartCut3) ImGui.SameLine() ImGui.SetNextItemWidth(150) apartCut4 = ImGui.InputInt("Cut 4", apartCut4) if ImGui.Button("Set Cuts") then script.run_in_fiber(function(ccut) local heistType = locals.get_int("fmmc_launcher", HGGs1) local multiplier = (heistType == 1328892776) and 2 or 4 globals.set_int(ACg1, 100 - (apartCut1 * multiplier)) globals.set_int(ACg2, 100 - (apartCut2 * multiplier)) globals.set_int(ACg3, 100 - (apartCut3 * multiplier)) globals.set_int(ACg4, 100 - (apartCut4 * multiplier)) PAD.SET_CONTROL_VALUE_NEXT_FRAME(2, 201, 1) ccut:sleep(1000) PAD.SET_CONTROL_VALUE_NEXT_FRAME(2, 202, 1) ccut:sleep(1000) globals.set_int(ACg5, -1 * (-100 + globals.get_int(ACg1)) / multiplier) gui.show_message("Apartment Heist", "Cuts should've been applied") end) end end ) ApartmentDataEditorMenu:add_separator() ApartmentDataEditorMenu:add_text("Extras") ApartmentDataEditorMenu:add_button("Bypass Fleeca Hack", function() locals.set_int("fm_mission_controller", AFHl, 7) gui.show_message("Apartment Heist", "Hacking process should've been skipped") end) ApartmentDataEditorMenu:add_sameline() ApartmentDataEditorMenu:add_button("Bypass Fleeca Drill", function() locals.set_float("fm_mission_controller", AFDl, 100) gui.show_message("Apartment Heist", "Drilling process should've been skipped") end) ApartmentDataEditorMenu:add_sameline() ApartmentDataEditorMenu:add_button("Bypass Pacific Hack", function() locals.set_int("fm_mission_controller", AFPl, 9) gui.show_message("Apartment Heist", "Hacking process should've been skipped") end) ApartmentDataEditorMenu:add_sameline() ApartmentDataEditorMenu:add_button("Skip Checkpoint", function() locals.set_int("fm_mission_controller", AHSo, locals.get_int("fm_mission_controller", AHSo) | (1 << 17)) gui.show_message("Apartment Heist", "Checkpoint should've been skipped") end) ApartmentDataEditorMenu:add_sameline() ApartmentDataEditorMenu:add_button("Unlock All Jobs", function() stats.set_int(MPX() .. "HEIST_SAVED_STRAND_0", globals.get_int(AUAJg1)) stats.set_int(MPX() .. "HEIST_SAVED_STRAND_0_L", 5) stats.set_int(MPX() .. "HEIST_SAVED_STRAND_1", globals.get_int(AUAJg2)) stats.set_int(MPX() .. "HEIST_SAVED_STRAND_1_L", 5) stats.set_int(MPX() .. "HEIST_SAVED_STRAND_2", globals.get_int(AUAJg3)) stats.set_int(MPX() .. "HEIST_SAVED_STRAND_2_L", 5) stats.set_int(MPX() .. "HEIST_SAVED_STRAND_3", globals.get_int(AUAJg4)) stats.set_int(MPX() .. "HEIST_SAVED_STRAND_3_L", 5) stats.set_int(MPX() .. "HEIST_SAVED_STRAND_4", globals.get_int(AUAJg5)) stats.set_int(MPX() .. "HEIST_SAVED_STRAND_4_L", 5) gui.show_message("Apartment Heist", "All jobs should've been unlocked. Don't forget to restart the game") end) ApartmentDataEditorMenu:add_button("Solo Launch", function() if locals.get_int("fmmc_launcher", HGGs1) ~= nil then if locals.get_int("fmmc_launcher", HGGs1) ~= 0 then if locals.get_int("fmmc_launcher", HGGs1) > 1 then locals.set_int("fmmc_launcher", HGGs2, 1) globals.set_int(794989 + 4 + 1 + (locals.get_int("fmmc_launcher", HGGs1) * 95) + 75, 1) end globals.set_int(HGLs1, 1) globals.set_int(HGLs2, 1) globals.set_int(HGLs3, 1) globals.set_int(HGLs4, 0) end end end) ApartmentDataEditorMenu:add_sameline() ApartmentDataEditorMenu:add_button("Skip Cutscene", SkipCutscene) ApartmentDataEditorMenu:add_sameline() ApartmentDataEditorMenu:add_button("Force Ready", function() script.run_in_fiber(function(script) network.force_script_host("fm_mission_controller") script:sleep(1000) for i = 1, 4 do globals.set_int(2658291 + 1 + ((i - 1) * 468) + 270, 6) end gui.show_message("Apartment Heist", "Everyone should've been forced ready") end) end) ApartmentDataEditorMenu:add_sameline() ApartmentDataEditorMenu:add_button("Instant Finish", function() script.run_in_fiber(function(script) network.force_script_host("fm_mission_controller") script:sleep(1000) local heistType = globals.get_int(ACDg + (PLAYER.PLAYER_ID() * 77) + 24 + 2) if heistType == 1182286714 then locals.set_int("fm_mission_controller", AIFl2, 5) locals.set_int("fm_mission_controller", AIFl3, 80) locals.set_int("fm_mission_controller", AIFl4, 10000000) locals.set_int("fm_mission_controller", AIFl5, 99999) locals.set_int("fm_mission_controller", AIFl6, 99999) else locals.set_int("fm_mission_controller", AIFl1, 12) locals.set_int("fm_mission_controller", AIFl4, 99999) locals.set_int("fm_mission_controller", AIFl5, 99999) locals.set_int("fm_mission_controller", AIFl6, 99999) end end) end) ApartmentDataEditorMenu:add_text("") ApartmentDataEditorMenu:add_text("Note: After Clicking Unlock All Heists, restart the game") -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- -- Agency tab local AgencyContracts = { {name = "None", index = 3}, {name = "Nightclub", index = 4}, {name = "Marina", index = 12}, {name = "Nightlife Leak", index = 28}, {name = "Country Club", index = 60}, {name = "Guest List", index = 123}, {name = "High Society Leak", index = 254}, {name = "Davis", index = 508}, {name = "Ballas", index = 1020}, {name = "South Central Leak", index = 2044}, {name = "Studio Time", index = 2045}, {name = "Don't Fuck With Dre", index = 4095} } local contractNames = {} for i, contract in ipairs(AgencyContracts) do table.insert(contractNames, contract.name) end local sContract = 0 local SN_Agency = HeistsDataEditorMenu:add_tab("Agency ") SN_Agency:add_text("Money") local agencySafe = SN_Agency:add_checkbox("Agency Safe Loop") script.register_looped("agencyloop", function(script) script:yield() if agencySafe:is_enabled() == true then gui.show_message("Business Manager", "Supplying Agency Safe with money") STATS.STAT_SET_INT(joaat(MPX() .. "FIXER_COUNT"), 500, true) STATS.STAT_SET_INT(joaat(MPX() .. "FIXER_PASSIVE_PAY_TIME_LEFT"), -1, true) script:sleep(500) end end) SN_Agency:add_separator() SN_Agency:add_imgui(function() ImGui.Text("Contract:") ImGui.SetNextItemWidth(200) local nSelected, clicked = ImGui.Combo("##AgencyContract", sContract, contractNames, #contractNames) if clicked then sContract = nSelected local contractD = AgencyContracts[sContract + 1] local contractId = contractD.index stats.set_int(MPX() .. "FIXER_STORY_BS", contractId) if contractId < 18 then stats.set_int(MPX() .. "FIXER_STORY_STRAND", 0) elseif contractId < 128 then stats.set_int(MPX() .. "FIXER_STORY_STRAND", 1) elseif contractId < 2044 then stats.set_int(MPX() .. "FIXER_STORY_STRAND", 2) else stats.set_int(MPX() .. "FIXER_STORY_STRAND", -1) end end end) SN_Agency:add_button("Complete Preps", function() stats.set_int(MPX() .. "FIXER_GENERAL_BS", -1) stats.set_int(MPX() .. "FIXER_COMPLETED_BS", -1) stats.set_int(MPX() .. "FIXER_STORY_COOLDOWN", -1) gui.show_message("Agency", "Preps should've been completed") end) SN_Agency:add_separator() SN_Agency:add_text("Payouts:") local agencyPayoutValue = 0 SN_Agency:add_imgui(function() agencyPayoutValue, _ = ImGui.InputInt("##AgencyPayout", agencyPayoutValue) end) SN_Agency:add_button("Max", function() agencyPayoutValue = 2500000 gui.show_message("Agency", "Payout should've been maximized. Don't forget to apply") end) SN_Agency:add_button("Apply Payout", function() local payout = agencyPayoutValue tunables.set_int("FIXER_FINALE_LEADER_CASH_REWARD", payout) gui.show_message("Agency", "Payout should've been applied") end) SN_Agency:add_text("Use 'Apply Payout' after you can see the minimap.") SN_Agency:add_separator() SN_Agency:add_button("Instant Finish", function() locals.set_int("fm_mission_controller_2020", AGFl1, 51338752) locals.set_int("fm_mission_controller_2020", AGFl2, 50) gui.show_message("Agency", "Heist should've been finished") end) SN_Agency:add_sameline() SN_Agency:add_button("Skip Cutscene", SkipCutscene) SN_Agency:add_sameline() SN_Agency:add_button("Kill Cooldowns", function() tunables.set_int("FIXER_STORY_COOLDOWN_POSIX", 0) tunables.set_int("FIXER_SECURITY_CONTRACT_COOLDOWN_TIME", 0) tunables.set_int("REQUEST_FRANKLIN_PAYPHONE_HIT_COOLDOWN", 0) stats.set_int(MPX() .. "FIXER_STORY_COOLDOWN", -1) gui.show_message("Agency", "Cooldowns should've been killed") end) SN_Agency:add_separator() SN_Agency:add_text("After All choices and pressing Complete Preps wait for sometime") -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- -- Autoshop tab local AutoShopContracts = { { name = "None", index = -1 }, { name = "Union Deposit.", index = 0 }, { name = "Superdol. Deal", index = 1 }, { name = "Bank Contract", index = 2 }, { name = "ECU Job", index = 3 }, { name = "Prison Contrac.", index = 4 }, { name = "Agency Deal", index = 5 }, { name = "Lost Contract", index = 6 }, { name = "Data Contract", index = 7 } } local autoSelectedIndex = 0 local SN_Autoshop = HeistsDataEditorMenu:add_tab("Autoshop ") SN_Autoshop:add_imgui(function() ImGui.Text("Contract:") autoSelectedIndex = ImGui.Combo("##AutoContract", autoSelectedIndex, { AutoShopContracts[1].name, AutoShopContracts[2].name, AutoShopContracts[3].name, AutoShopContracts[4].name, AutoShopContracts[5].name, AutoShopContracts[6].name, AutoShopContracts[7].name, AutoShopContracts[8].name, AutoShopContracts[9].name }, 9) end) SN_Autoshop:add_button("Apply & Complete Preps", function() local contract = AutoShopContracts[autoSelectedIndex + 1].index stats.set_int(MPX() .. "TUNER_CURRENT", contract) stats.set_int(MPX() .. "TUNER_GEN_BS", (contract == 1 and 4351 or 12543)) locals.set_int("tuner_planning", ASRBl, 2) gui.show_message("Autoshop", "Preps should've been completed") end) SN_Autoshop:add_button("Reset Preps", function() stats.set_int(MPX() .. "TUNER_GEN_BS", 12467) locals.set_int("tuner_planning", ASRBl, 2) gui.show_message("Autoshop", "Preps should've been reset") end) SN_Autoshop:add_button("Redraw Board", function() locals.set_int("tuner_planning", ASRBl, 2) gui.show_message("Autoshop", "Board should've been redrawn") end) SN_Autoshop:add_separator() SN_Autoshop:add_text("Payouts:") local autoPayoutValue = 0 SN_Autoshop:add_imgui(function() autoPayoutValue, _ = ImGui.InputInt("##AutoPayout", autoPayoutValue) end) SN_Autoshop:add_button("Max", function() autoPayoutValue = 2000000 gui.show_message("Autoshop", "Payout should've been maximized. Don't forget to apply") end) SN_Autoshop:add_button("Apply Payout", function() local payout = autoPayoutValue tunables.set_int("TUNER_ROBBERY_LEADER_CASH_REWARD0", payout) tunables.set_int("TUNER_ROBBERY_LEADER_CASH_REWARD1", payout) tunables.set_int("TUNER_ROBBERY_LEADER_CASH_REWARD2", payout) tunables.set_int("TUNER_ROBBERY_LEADER_CASH_REWARD3", payout) tunables.set_int("TUNER_ROBBERY_LEADER_CASH_REWARD4", payout) tunables.set_int("TUNER_ROBBERY_LEADER_CASH_REWARD5", payout) tunables.set_int("TUNER_ROBBERY_LEADER_CASH_REWARD6", payout) tunables.set_int("TUNER_ROBBERY_LEADER_CASH_REWARD7", payout) tunables.set_float("TUNER_ROBBERY_CONTACT_FEE", 0.0) gui.show_message("Autoshop", "Payout should've been applied") end) SN_Autoshop:add_text("Use 'Apply Payout' after you can see the minimap.") SN_Autoshop:add_separator() SN_Autoshop:add_text("Extras") SN_Autoshop:add_button("Instant Finish", function () locals.set_int("fm_mission_controller_2020", ASIFl1, 51338977) locals.set_int("fm_mission_controller_2020", ASIFl2, 101) gui.show_message("Autoshop", "Heist should've been finished") end) SN_Autoshop:add_sameline() SN_Autoshop:add_button("Skip Cutscene", SkipCutscene) -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- -- Salvage Yard -- local SalvageYard = { robberies = { { name = "Cargo Ship", index = 0 }, { name = "Gangbanger", index = 1 }, { name = "Duggan", index = 2 }, { name = "Podium", index = 3 }, { name = "McTony", index = 4 } }, vehicles = { { name = "LM87", index = 1 }, { name = "Cinquemila", index = 2 }, { name = "Autarch", index = 3 }, { name = "Tigon", index = 4 }, { name = "Champion", index = 5 }, { name = "10F", index = 6 }, { name = "SM722", index = 7 }, { name = "Omnis e-GT", index = 8 }, { name = "Growler", index = 9 }, { name = "Deity", index = 10 }, { name = "Itali RSX", index = 11 }, { name = "Coquette D10", index = 12 }, { name = "Jubilee", index = 13 }, { name = "Astron", index = 14 }, { name = "Comet S2 Cabr.", index = 15 }, { name = "Torero", index = 16 }, { name = "Cheetah Classic", index = 17 }, { name = "Turismo Classic", index = 18 }, { name = "Infernus Classic", index = 19 }, { name = "Stafford", index = 20 }, { name = "GT500", index = 21 }, { name = "Viseris", index = 22 }, { name = "Mamba", index = 23 }, { name = "Coquette Black.", index = 24 }, { name = "Stinger GT", index = 25 }, { name = "Z-Type", index = 26 }, { name = "Broadway", index = 27 }, { name = "Vigero ZX", index = 28 }, { name = "Buffalo STX", index = 29 }, { name = "Ruston", index = 30 }, { name = "Gauntl. Hellfire", index = 31 }, { name = "Dominator GTT", index = 32 }, { name = "Roosevelt Valor", index = 33 }, { name = "Swinger", index = 34 }, { name = "Stirling GT", index = 35 }, { name = "Omnis", index = 36 }, { name = "Tropos Rallye", index = 37 }, { name = "Jugular", index = 38 }, { name = "Patriot Mil-Spec", index = 39 }, { name = "Toros", index = 40 }, { name = "Caracara 4x4", index = 41 }, { name = "Sentinel Classic", index = 42 }, { name = "Weevil", index = 43 }, { name = "Blista Kanjo", index = 44 }, { name = "Eudora", index = 45 }, { name = "Kamacho", index = 46 }, { name = "Hellion", index = 47 }, { name = "Ellie", index = 48 }, { name = "Hermes", index = 49 }, { name = "Hustler", index = 50 }, { name = "Turismo Om.", index = 51 }, { name = "Buffalo EVX", index = 52 }, { name = "Itali GTO St.", index = 53 }, { name = "Virtue", index = 54 }, { name = "Ignus", index = 55 }, { name = "Zentorno", index = 56 }, { name = "Neon", index = 57 }, { name = "Furia", index = 58 }, { name = "Zorrusso", index = 59 }, { name = "Thrax", index = 60 }, { name = "Vagner", index = 61 }, { name = "Panthere", index = 62 }, { name = "Itali GTO", index = 63 }, { name = "S80RR", index = 64 }, { name = "Tyrant", index = 65 }, { name = "Entity MT", index = 66 }, { name = "Torero XO", index = 67 }, { name = "Neo", index = 68 }, { name = "Corsita", index = 69 }, { name = "Paragon R", index = 70 }, { name = "Franken Stange", index = 71 }, { name = "Comet Safari", index = 72 }, { name = "FR36", index = 73 }, { name = "Hotring Everon", index = 74 }, { name = "Komoda", index = 75 }, { name = "Tailgater S", index = 76 }, { name = "Jester Classic", index = 77 }, { name = "Jester RR", index = 78 }, { name = "Euros", index = 79 }, { name = "ZR350", index = 80 }, { name = "Cypher", index = 81 }, { name = "Dominator ASP", index = 82 }, { name = "Baller ST-D", index = 83 }, { name = "Casco", index = 84 }, { name = "Drift Yosemite", index = 85 }, { name = "Everon", index = 86 }, { name = "Penumbra FF", index = 87 }, { name = "V-STR", index = 88 }, { name = "Dominator GT", index = 89 }, { name = "Schlagen GT", index = 90 }, { name = "Cavalcade XL", index = 91 }, { name = "Clique", index = 92 }, { name = "Boor", index = 93 }, { name = "Sugoi", index = 94 }, { name = "Greenwood", index = 95 }, { name = "Brigham", index = 96 }, { name = "Issi Rally", index = 97 }, { name = "Seminole Fr.", index = 98 }, { name = "Kanjo SJ", index = 99 }, { name = "Previon", index = 100 } }, modifications = { { name = "Version 1", index = 0 }, { name = "Version 2", index = 1 }, { name = "Version 3", index = 2 }, { name = "Version 4", index = 3 }, { name = "Version 5", index = 4 }, }, keeps = { { name = "Can't Claim", index = 0 }, { name = "Can Claim", index = 1 } }, tunables = { robbery_slot1_type = 1152433341, robbery_slot2_type = 852564222, robbery_slot3_type = 552662330, vehicle_slot1_type = -1012732012, vehicle_slot1_value = -1699398139, vehicle_slot1_cankeep = -1700733442, vehicle_slot2_type = 1366330161, vehicle_slot2_value = -1997104504, vehicle_slot2_cankeep = -1547046832, vehicle_slot3_type = 1806057372, vehicle_slot3_value = -1704051341, vehicle_slot3_cankeep = 1830093543, cooldown_weekly = "SALV23_VEH_ROBBERY_WEEK_ID" }, salvage_missions = { { script = "fm_content_vehrob_cargo_ship", step1 = 7185 + 1, step2 = 7330 + 1249 }, { script = "fm_content_vehrob_police", step1 = 9011 + 1, step2 = 9144 + 1305 }, { script = "fm_content_vehrob_arena", step1 = 7912 + 1, step2 = 8032 + 1314 }, { script = "fm_content_vehrob_casino_prize", step1 = 9191 + 1, step2 = 9328 + 1258 }, { script = "fm_content_vehrob_submarine", step1 = 6218 + 1, step2 = 6356 + 1159 }, }, } local slot_names = { "Slot 1", "Slot 2", "Slot 3" } local slot1 = { robbery_index = 0, vehicle_index = 0, mod_index = 0, keep_index = 0 } local slot2 = { robbery_index = 0, vehicle_index = 0, mod_index = 0, keep_index = 0 } local slot3 = { robbery_index = 0, vehicle_index = 0, mod_index = 0, keep_index = 0 } local robbery_names = {} for _, robbery in ipairs(SalvageYard.robberies) do table.insert(robbery_names, robbery.name) end local vehicle_names = {} for _, vehicle in ipairs(SalvageYard.vehicles) do table.insert(vehicle_names, vehicle.name) end local mod_names = {} for _, mod in ipairs(SalvageYard.modifications) do table.insert(mod_names, mod.name) end local keep_names = {} for _, keep in ipairs(SalvageYard.keeps) do table.insert(keep_names, keep.name) end local ssIndex = 0 local SN_Salvage = HeistsDataEditorMenu:add_tab("Salvage Yard ") SN_Salvage:add_imgui(function() local nIndex, changed = ImGui.Combo("##Slot", ssIndex, slot_names, #slot_names) if changed then ssIndex = nIndex end local currSlot = ssIndex + 1 local slots = {slot1, slot2, slot3} local slot = slots[currSlot] local nIndex, changed = ImGui.Combo("Robbery", slot.robbery_index, robbery_names, #robbery_names) if changed then slot.robbery_index = nIndex gui.show_message("Salvage Yard", "Selected " .. slot_names[ssIndex + 1] .. " robbery: " .. robbery_names[slot.robbery_index + 1]) end nIndex, changed = ImGui.Combo("Vehicle", slot.vehicle_index, vehicle_names, #vehicle_names) if changed then slot.vehicle_index = nIndex gui.show_message("Salvage Yard", "Selected " .. slot_names[ssIndex + 1] .. " vehicle: " .. vehicle_names[slot.vehicle_index + 1]) end nIndex, changed = ImGui.Combo("Modification", slot.mod_index, mod_names, #mod_names) if changed then slot.mod_index = nIndex gui.show_message("Salvage Yard", "Selected " .. slot_names[ssIndex + 1] .. " modification: " .. mod_names[slot.mod_index + 1]) end nIndex, changed = ImGui.Combo("Status", slot.keep_index, keep_names, #keep_names) if changed then slot.keep_index = nIndex gui.show_message("Salvage Yard", "Selected " .. slot_names[ssIndex + 1] .. " status: " .. keep_names[slot.keep_index + 1]) end if ImGui.Button("Apply Changes") then local robbery = SalvageYard.robberies[slot.robbery_index + 1].index local vehicle = SalvageYard.vehicles[slot.vehicle_index + 1].index local mod = SalvageYard.modifications[slot.mod_index + 1].index local keep = SalvageYard.keeps[slot.keep_index + 1].index tunables.set_int(SalvageYard.tunables["robbery_slot" .. currSlot .. "_type"], robbery) tunables.set_int(SalvageYard.tunables["vehicle_slot" .. currSlot .. "_type"], vehicle + mod * 100) tunables.set_int(SalvageYard.tunables["vehicle_slot" .. currSlot .. "_cankeep"], keep) locals.set_int("vehrob_planning", SYRl1, 2) gui.show_message("Salvage Yard", slot_names[ssIndex + 1] .. " changes should've been applied") end ImGui.SameLine() if ImGui.Button("Make Available") then stats.set_int(MPX() .. "SALV23_VEHROB_STATUS" .. (currSlot - 1), 0) locals.set_int("vehrob_planning", SYRl1, 2) gui.show_message("Salvage Yard", slot_names[ssIndex + 1] .. " should've been made Available") end end) SN_Salvage:add_text("") SN_Salvage:add_text("Preps") SN_Salvage:add_separator() SN_Salvage:add_button("Complete Preps", function() stats.set_int(MPX() .. "SALV23_GEN_BS", -1) stats.set_int(MPX() .. "SALV23_SCOPE_BS", -1) stats.set_int(MPX() .. "SALV23_FM_PROG", -1) stats.set_int(MPX() .. "SALV23_INST_PROG", -1) locals.set_int("vehrob_planning", SYRl1, 2) gui.show_message("Salvage Yard", "Preps should've been completed") end) SN_Salvage:add_sameline() SN_Salvage:add_button("Reset Preps", function() stats.set_int(MPX() .. "SALV23_GEN_BS", 0) stats.set_int(MPX() .. "SALV23_SCOPE_BS", 0) stats.set_int(MPX() .. "SALV23_FM_PROG", 0) stats.set_int(MPX() .. "SALV23_INST_PROG", 0) locals.set_int("vehrob_planning", SYRl1, 2) gui.show_message("Salvage Yard", "Preps should've been reset") end) SN_Salvage:add_button("Reload Screen", function() locals.set_int("vehrob_planning", SYRl1, 2) gui.show_message("Salvage Yard", "Screen should've been reloaded") end) SN_Salvage:add_button("Skip Weekly Cooldown", function() tunables.set_int(SalvageYard.tunables.cooldown_weekly, stats.get_int(MPX() .. "SALV23_WEEK_SYNC") + 1) locals.set_int("vehrob_planning", SYRl1, 2) gui.show_message("Salvage Yard", "Cooldown should've been skipped") end) SN_Salvage:add_separator() SN_Salvage:add_text("Payout") local sell_value_slot1 = SN_Salvage:add_input_int("Sell Value Slot 1") sell_value_slot1:set_value(0) local sell_value_slot2 = SN_Salvage:add_input_int("Sell Value Slot 2") sell_value_slot2:set_value(0) local sell_value_slot3 = SN_Salvage:add_input_int("Sell Value Slot 3") sell_value_slot3:set_value(0) SN_Salvage:add_button("Apply Sell Values", function() tunables.set_int(SalvageYard.tunables.vehicle_slot1_value, sell_value_slot1:get_value()) tunables.set_int(SalvageYard.tunables.vehicle_slot2_value, sell_value_slot2:get_value()) tunables.set_int(SalvageYard.tunables.vehicle_slot3_value, sell_value_slot3:get_value()) locals.set_int("vehrob_planning", SYRl1, 2) gui.show_message("Salvage Yard", "Sell values should've been applied") end) SN_Salvage:add_text("") SN_Salvage:add_text("Misc") SN_Salvage:add_separator() SN_Salvage:add_button("Instant Finish", function() for _, mission in ipairs(SalvageYard.salvage_missions) do local value = locals.get_int(mission.script, mission.step1) locals.set_int(mission.script, mission.step1, value | (1 << 11)) locals.set_int(mission.script, mission.step2, 2) end gui.show_message("Salvage Yard", "Heist should've been finished") end) SN_Salvage:add_sameline() SN_Salvage:add_button("Instant Sell", function() local player_ped = PLAYER.PLAYER_PED_ID() PED.SET_PED_COORDS_KEEP_VEHICLE(player_ped, 1169.0, -2976.0, 6.0) gui.show_message("Salvage Yard", "Sell mission should've been finished") end) SN_Salvage:add_sameline() SN_Salvage:add_button("Skip Cutscene", SkipCutscene) -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- -- Cluckin Bell -- local cluckperps = { { id = 0 , name = "Slush Fund"}, { id = 1 , name = "Breaking and Entering"}, { id = 3 , name = "Concealed Rewards"}, { id = 7 , name = "Hit And Run"}, { id = 15, name = "Disorganized Crime"}, { id = 31, name = "Scene of Crime"} } local SN_Cluck = HeistsDataEditorMenu:add_tab("Cluckin Bell Heist ") SN_Cluck:add_text("Complete Preps") for _,cluckprep in ipairs(cluckperps) do SN_Cluck:add_button(cluckprep.name, function () stats.set_int(MPX() .. "SALV23_INST_PROG", cluckprep.id) end) SN_Cluck:add_sameline() end SN_Cluck:add_separator() SN_Cluck:add_text("Reset preps") SN_Cluck:add_button("Reset Preps", function () stats.set_int(MPX() .. "SALV23_INST_PROG", 0) end) -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- -- Doomsday -- local function DoomsdayActSetter(progress, status) stats.set_int(MPX() .. "GANGOPS_FLOW_MISSION_PROG", progress) stats.set_int(MPX() .. "GANGOPS_HEIST_STATUS", status) stats.set_int(MPX() .. "GANGOPS_FLOW_NOTIFICATIONS", 1557) end local SN_Doomsday = HeistsDataEditorMenu:add_tab("Doomsday Heist ") SN_Doomsday:add_text("Doomsday Acts") SN_Doomsday:add_button("Data Breaches", function () DoomsdayActSetter(503, 229383) end) SN_Doomsday:add_sameline() SN_Doomsday:add_button("Bogdan Problem", function () DoomsdayActSetter(240, 229378) end) SN_Doomsday:add_sameline() SN_Doomsday:add_button("Doomsday Scenario", function () DoomsdayActSetter(16368, 229380) end) local DoomsdayHeists = { [503] = {975000, 1218750}, [240] = {1425000, 1771250}, [16368] = {1800000, 2250000} } local function SetDoomsdayMaxPayout() local heist = stats.get_int(MPX() .. "GANGOPS_FLOW_MISSION_PROG") local difficulty = globals.get_int(AHDg) if difficulty == 0 then difficulty = 1 end local heistData = DoomsdayHeists[heist] if heistData == nil then return end local payout = heistData[difficulty] local maxPayout = 2550000 local cut = math.floor(maxPayout / (payout / 100)) return cut end SN_Doomsday:add_separator() SN_Doomsday:add_text("Custom Cuts:") local dmsdyCut1 = SN_Doomsday:add_input_int("Cut 1") local dmsdyCut2 = SN_Doomsday:add_input_int("Cut 2") local dmsdyCut3 = SN_Doomsday:add_input_int("Cut 3") local dmsdyCut4 = SN_Doomsday:add_input_int("Cut 4") local Presets = { { name = "All - 0%", index = 0 }, { name = "All - 85%", index = 85 }, { name = "All - 100%", index = 100 }, { name = "2.55mil Payout", index = -1 } } local presetNames = {} for _, preset in ipairs(Presets) do table.insert(presetNames, preset.name) end local sPresetIndex = 0 SN_Doomsday:add_imgui(function() ImGui.Text("Presets:") ImGui.SetNextItemWidth(170) local nIndex, changed = ImGui.Combo("##DoomsdayPreset", sPresetIndex, presetNames, #presetNames) if changed then sPresetIndex = nIndex local selected = Presets[sPresetIndex + 1] local cutValue = selected.index if cutValue == -1 then cutValue = SetDoomsdayMaxPayout() end if dmsdyCut1 then dmsdyCut1:set_value(cutValue) end if dmsdyCut2 then dmsdyCut2:set_value(cutValue) end if dmsdyCut3 then dmsdyCut3:set_value(cutValue) end if dmsdyCut4 then dmsdyCut4:set_value(cutValue) end end end) SN_Doomsday:add_button("Apply Cuts", function() globals.set_int(DCg1, dmsdyCut1:get_value()) globals.set_int(DCg2, dmsdyCut2:get_value()) globals.set_int(DCg3, dmsdyCut3:get_value()) globals.set_int(DCg4, dmsdyCut4:get_value()) gui.show_message("Doomsday Heist", "Cuts should've been applied") end) SN_Doomsday:add_separator() SN_Doomsday:add_text("Preps") SN_Doomsday:add_button("Reset Preps", function () DoomsdayActSetter(240, 0) gui.show_message("Doomsday Heist", "Preps should've been reset") end) SN_Doomsday:add_sameline() SN_Doomsday:add_button("Complete Preps", function () stats.set_int(MPX() .. "GANGOPS_FM_MISSION_PROG", -1) end) SN_Doomsday:add_separator() SN_Doomsday:add_text("Extras") SN_Doomsday:add_button("By Act III Pass hack", function () locals.set_int("fm_mission_controller", DDSHl, 3) end) SN_Doomsday:add_sameline() SN_Doomsday:add_button("Solo Launch", function() if locals.get_int("fmmc_launcher", HGGs1) ~= nil then if locals.get_int("fmmc_launcher", HGGs1) ~= 0 then if locals.get_int("fmmc_launcher", HGGs1) > 1 then locals.set_int("fmmc_launcher", HGGs2, 1) globals.set_int(794989 + 4 + 1 + (locals.get_int("fmmc_launcher", HGGs1) * 95) + 75, 1) end globals.set_int(HGLs1, 1) globals.set_int(HGLs2, 1) globals.set_int(HGLs3, 1) globals.set_int(HGLs4, 0) end end end) SN_Doomsday:add_button("Instant Finish", function() locals.set_int("fm_mission_controller", DDIF1, 12) locals.set_int("fm_mission_controller", DDIF2, 150) locals.set_int("fm_mission_controller", DDIF3, 99999) locals.set_int("fm_mission_controller", DDIF4, 99999) locals.set_int("fm_mission_controller", DDIF5, 80) gui.show_message("Doomsday Heist", "Heist should've been finished") end) SN_Doomsday:add_sameline() SN_Doomsday:add_button("Force Ready", function() script.run_in_fiber(function(script) network.force_script_host("fm_mission_controller") script:sleep(1000) for i = 1, 4 do globals.set_int(1882572 + 1 + ((i - 1) * 315) + 43 + 11 + i, 1) end gui.show_message("Doomsday Heist", "Everyone should've been forced ready") end) end) SN_Doomsday:add_sameline() SN_Doomsday:add_button("Skip Cutscene", SkipCutscene) -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- -- Casino Heist -- local CasinoHeistEditorMenu = HeistsDataEditorMenu:add_tab("Casino Heist") CasinoHeistEditorMenu:add_text("One Click Setups:") CasinoHeistEditorMenu:add_button("Casino Silent&Sneaky (Diamonds)", function() stats.set_int(MPX() .. "H3OPT_APPROACH", 1) stats.set_int(MPX() .. "H3_LAST_APPROACH", 3) stats.set_int(MPX() .. "H3OPT_TARGET", 3) stats.set_int(MPX() .. "H3OPT_BITSET1", 127) stats.set_int(MPX() .. "H3OPT_DISRUPTSHIP", 3) stats.set_int(MPX() .. "H3OPT_KEYLEVELS", 2) stats.set_int(MPX() .. "H3_BOARD_DIALOGUE2", -1) stats.set_int(MPX() .. "H3OPT_CREWWEAP", 4) stats.set_int(MPX() .. "H3OPT_CREWDRIVER", 5) stats.set_int(MPX() .. "H3OPT_CREWHACKER", 5) stats.set_int(MPX() .. "H3OPT_VEHS", 2) stats.set_int(MPX() .. "H3OPT_WEAPS", 1) stats.set_int(MPX() .. "H3OPT_BITSET0", 262399) stats.set_int(MPX() .. "H3OPT_MASKS", 2) end) CasinoHeistEditorMenu:add_button("Casino The Big Con (Diamonds)", function() stats.set_int(MPX() .. "H3OPT_APPROACH", 2) stats.set_int(MPX() .. "H3_LAST_APPROACH", 3) stats.set_int(MPX() .. "H3OPT_TARGET", 3) stats.set_int(MPX() .. "H3OPT_BITSET1", 799) stats.set_int(MPX() .. "H3OPT_DISRUPTSHIP", 3) stats.set_int(MPX() .. "H3OPT_KEYLEVELS", 2) stats.set_int(MPX() .. "H3_BOARD_DIALOGUE2", -1) stats.set_int(MPX() .. "H3OPT_CREWWEAP", 4) stats.set_int(MPX() .. "H3OPT_CREWDRIVER", 5) stats.set_int(MPX() .. "H3OPT_CREWHACKER", 5) stats.set_int(MPX() .. "H3OPT_VEHS", 2) stats.set_int(MPX() .. "H3OPT_WEAPS", 0) stats.set_int(MPX() .. "H3OPT_BITSET0", 913623) stats.set_int(MPX() .. "H3OPT_MASKS", 2) end) CasinoHeistEditorMenu:add_button("Casino Aggressive (Diamonds)", function() stats.set_int(MPX() .. "H3OPT_APPROACH", 3) stats.set_int(MPX() .. "H3_LAST_APPROACH", 1) stats.set_int(MPX() .. "H3OPT_TARGET", 3) stats.set_int(MPX() .. "H3OPT_BITSET1", 799) stats.set_int(MPX() .. "H3OPT_DISRUPTSHIP", 3) stats.set_int(MPX() .. "H3OPT_KEYLEVELS", 2) stats.set_int(MPX() .. "H3_BOARD_DIALOGUE2", -1) stats.set_int(MPX() .. "H3OPT_CREWWEAP", 4) stats.set_int(MPX() .. "H3OPT_CREWDRIVER", 5) stats.set_int(MPX() .. "H3OPT_CREWHACKER", 5) stats.set_int(MPX() .. "H3OPT_VEHS", 2) stats.set_int(MPX() .. "H3OPT_WEAPS", 1) stats.set_int(MPX() .. "H3OPT_BITSET0", 1835223) stats.set_int(MPX() .. "H3OPT_MASKS", 2) end) CasinoHeistEditorMenu:add_separator() CasinoHeistEditorMenu:add_text("Preps:") DiamondCasinoDifficulties = { { name = "Normal", index = 0 }, { name = "Hard", index = 1 } } diamondApproachList = { { name = "Silent n Snea.", index = 1 }, { name = "Big Con", index = 2 }, { name = "Aggressive", index = 3 } } diamondGunmanList = { { name = "Karl Abolaji", index = 1 }, { name = "Charlie Reed", index = 3 }, { name = "Patrick McRear.", index = 5 }, { name = "Gustavo Mota", index = 2 }, { name = "Chester McCoy", index = 4 } } diamondLoadoutList = { { name = "Micro SMG (S)", index = 1 }, { name = "Mac. Pistol (S)", index = 1 }, { name = "Micro SMG", index = 1 }, { name = "Double Barrel", index = 1 }, { name = "Sawed-Off", index = 1 }, { name = "Heavy Revolver", index = 1 }, { name = "Assau. SMG (S)", index = 3 }, { name = "Bullpup Sh. (S)", index = 3 }, { name = "Machine Pistol", index = 3 }, { name = "Sweeper Shot.", index = 3 }, { name = "Assault SMG", index = 3 }, { name = "Pump Shotgun", index = 3 }, { name = "Combat PDW", index = 5 }, { name = "Assault Rif. (S)", index = 5 }, { name = "Sawed-Off", index = 5 }, { name = "Compact Rifle", index = 5 }, { name = "Heavy Shotgun", index = 5 }, { name = "Combat MG", index = 5 }, { name = "Carbin. Rif. (S)", index = 2 }, { name = "Assau. Sho. (S)", index = 2 }, { name = "Carbine Rifle", index = 2 }, { name = "Assault Shot.", index = 2 }, { name = "Carbine Rifle", index = 2 }, { name = "Assault Shot.", index = 2 }, { name = "Pump Sh. II (S)", index = 4 }, { name = "Carbine R. II (S)", index = 4 }, { name = "SMG Mk II", index = 4 }, { name = "Bullpup Rifle II", index = 4 }, { name = "Pump Shot. II", index = 4 }, { name = "Assault Rifle II", index = 4 } } diamondDriverList = { { name = "Karim Denz", index = 1 }, { name = "Zach Nelson", index = 4 }, { name = "Taliana Martinez", index = 2 }, { name = "Eddie Toh", index = 3 }, { name = "Chester McCoy", index = 5 } } diamondVehiclesList = { { name = "Issi Classic", index = 1 }, { name = "Asbo", index = 1 }, { name = "Blista Kanjo", index = 1 }, { name = "Sentinel Class.", index = 1 }, { name = "Manchez", index = 4 }, { name = "Stryder", index = 4 }, { name = "Defiler", index = 4 }, { name = "Lectro", index = 4 }, { name = "Retinue Mk II", index = 2 }, { name = "Drift Yosemite", index = 2 }, { name = "Sugoi", index = 2 }, { name = "Jugular", index = 2 }, { name = "Sultan Classic", index = 3 }, { name = "Gauntl. Classic", index = 3 }, { name = "Ellie", index = 3 }, { name = "Komoda", index = 3 }, { name = "Zhaba", index = 5 }, { name = "Vagrant", index = 5 }, { name = "Outlaw", index = 5 }, { name = "Everon", index = 5 } } diamondHackerList = { { name = "Rickie Lukens", index = 1 }, { name = "Yohan Blair", index = 3 }, { name = "Christian Feltz", index = 2 }, { name = "Page Harris", index = 5 }, { name = "Avi Schwartz.", index = 4 } } diamondMasksList = { { name = "None", index = 0 }, { name = "Geometric Set", index = 1 }, { name = "Hunter Set", index = 2 }, { name = "Oni Half Mask Set", index = 3 }, { name = "Emoji Set", index = 4 }, { name = "Ornate Skull Set", index = 5 }, { name = "Lucky Fruit Set", index = 6 }, { name = "Guerilla Set", index = 7 }, { name = "Clown Set", index = 8 }, { name = "Animal Set", index = 9 }, { name = "Riot Set", index = 10 }, { name = "Oni Full Mask Set", index = 11 }, { name = "Hockey Set", index = 12 } } diamondGuardsList = { { name = "Elite", index = 0 }, { name = "Pro", index = 1 }, { name = "Unit", index = 2 }, { name = "Rookie", index = 3 } } diamondKeycardsList = { { name = "None", index = 0 }, { name = "Level 1", index = 1 }, { name = "Level 2", index = 2 } } diamondTargetList = { { name = "Cash", index = 0 }, { name = "Arts", index = 2 }, { name = "Gold", index = 1 }, { name = "Diamonds", index = 3 } } DiamondCasinoCrewCut = { { tunable = "CH_LESTER_CUT", default = 5 }, { tunable = "HEIST3_PREPBOARD_GUNMEN_KARL_CUT", default = 5 }, { tunable = "HEIST3_PREPBOARD_GUNMEN_GUSTAVO_CUT", default = 9 }, { tunable = "HEIST3_PREPBOARD_GUNMEN_CHARLIE_CUT", default = 7 }, { tunable = "HEIST3_PREPBOARD_GUNMEN_CHESTER_CUT", default = 10 }, { tunable = "HEIST3_PREPBOARD_GUNMEN_PATRICK_CUT", default = 8 }, { tunable = "HEIST3_DRIVERS_KARIM_CUT", default = 5 }, { tunable = "HEIST3_DRIVERS_TALIANA_CUT", default = 7 }, { tunable = "HEIST3_DRIVERS_EDDIE_CUT", default = 9 }, { tunable = "HEIST3_DRIVERS_ZACH_CUT", default = 6 }, { tunable = "HEIST3_DRIVERS_CHESTER_CUT", default = 10 }, { tunable = "HEIST3_HACKERS_RICKIE_CUT", default = 3 }, { tunable = "HEIST3_HACKERS_CHRISTIAN_CUT", default = 7 }, { tunable = "HEIST3_HACKERS_YOHAN_CUT", default = 5 }, { tunable = "HEIST3_HACKERS_AVI_CUT", default = 10 }, { tunable = "HEIST3_HACKERS_PAIGE_CUT", default = 9 } } diamondDifficultyNames = {} for _, item in ipairs(DiamondCasinoDifficulties) do table.insert(diamondDifficultyNames, item.name) end diamondDifficultyIndex = 0 CasinoHeistEditorMenu:add_imgui(function() local nIndex, changed = ImGui.Combo("Difficulty", diamondDifficultyIndex, diamondDifficultyNames, #diamondDifficultyNames) if changed then diamondDifficultyIndex = nIndex end end) diamondApproachNames = {} for _, item in ipairs(diamondApproachList) do table.insert(diamondApproachNames, item.name) end diamondApproachIndex = 0 CasinoHeistEditorMenu:add_imgui(function() local nIndex, changed = ImGui.Combo("Approach", diamondApproachIndex, diamondApproachNames, #diamondApproachNames) if changed then diamondApproachIndex = nIndex end end) diamondGunmanNames = {} for _, item in ipairs(diamondGunmanList) do table.insert(diamondGunmanNames, item.name) end diamondGunmanIndex = 0 CasinoHeistEditorMenu:add_imgui(function() local nIndex, changed = ImGui.Combo("Gunman", diamondGunmanIndex, diamondGunmanNames, #diamondGunmanNames) if changed then diamondGunmanIndex = nIndex diamondLoadoutIndex = 0 end end) local diamondLoadoutIndex = 0 CasinoHeistEditorMenu:add_imgui(function() local gIndex = diamondGunmanList[diamondGunmanIndex + 1].index local filnames = {} local count = 0 for _, item in ipairs(diamondLoadoutList) do if item.index == gIndex then count = count + 1 table.insert(filnames, item.name) end end local nIndex, changed = ImGui.Combo("Loadout", diamondLoadoutIndex, filnames, count) if changed then diamondLoadoutIndex = nIndex end end) local diamondDriverNames = {} for _, item in ipairs(diamondDriverList) do table.insert(diamondDriverNames, item.name) end local diamondDriverIndex = 0 CasinoHeistEditorMenu:add_imgui(function() local nIndex, changed = ImGui.Combo("Driver", diamondDriverIndex, diamondDriverNames, #diamondDriverNames) if changed then diamondDriverIndex = nIndex diamondVehiclesIndex = 0 end end) local diamondVehiclesIndex = 0 CasinoHeistEditorMenu:add_imgui(function() local dIndex = diamondDriverList[diamondDriverIndex + 1].index local filnames = {} local count = 0 for _, item in ipairs(diamondVehiclesList) do if item.index == dIndex then count = count + 1 table.insert(filnames, item.name) end end local nIndex, changed = ImGui.Combo("Vehicles", diamondVehiclesIndex, filnames, count) if changed then diamondVehiclesIndex = nIndex end end) local diamondHackerNames = {} for _, item in ipairs(diamondHackerList) do table.insert(diamondHackerNames, item.name) end local diamondHackerIndex = 0 CasinoHeistEditorMenu:add_imgui(function() local nIndex, changed = ImGui.Combo("Hacker", diamondHackerIndex, diamondHackerNames, #diamondHackerNames) if changed then diamondHackerIndex = nIndex end end) local diamondMasksNames = {} for _, item in ipairs(diamondMasksList) do table.insert(diamondMasksNames, item.name) end local diamondMasksIndex = 0 CasinoHeistEditorMenu:add_imgui(function() local nIndex, changed = ImGui.Combo("Masks", diamondMasksIndex, diamondMasksNames, #diamondMasksNames) if changed then diamondMasksIndex = nIndex end end) local diamondGuardsNames = {} for _, item in ipairs(diamondGuardsList) do table.insert(diamondGuardsNames, item.name) end local diamondGuardsIndex = 0 CasinoHeistEditorMenu:add_imgui(function() local nIndex, changed = ImGui.Combo("Guards", diamondGuardsIndex, diamondGuardsNames, #diamondGuardsNames) if changed then diamondGuardsIndex = nIndex end end) local diamondKeycardsNames = {} for _, item in ipairs(diamondKeycardsList) do table.insert(diamondKeycardsNames, item.name) end local diamondKeycardsIndex = 0 CasinoHeistEditorMenu:add_imgui(function() local nIndex, changed = ImGui.Combo("Keycards", diamondKeycardsIndex, diamondKeycardsNames, #diamondKeycardsNames) if changed then diamondKeycardsIndex = nIndex end end) local diamondTargetNames = {} for _, item in ipairs(diamondTargetList) do table.insert(diamondTargetNames, item.name) end local diamondTargetIndex = 0 CasinoHeistEditorMenu:add_imgui(function() local nIndex, changed = ImGui.Combo("Target", diamondTargetIndex, diamondTargetNames, #diamondTargetNames) if changed then diamondTargetIndex = nIndex end end) local function payoutSelected() -- Placeholder for payout logic if needed end CasinoHeistEditorMenu:add_separator() CasinoHeistEditorMenu:add_button("Apply & Complete Preps", function() local approach = diamondApproachList[diamondApproachIndex + 1].index local gunman = diamondGunmanList[diamondGunmanIndex + 1].index local loadout = diamondLoadoutIndex local driver = diamondDriverList[diamondDriverIndex + 1].index local vehicles = diamondVehiclesIndex local hacker = diamondHackerList[diamondHackerIndex + 1].index local masks = diamondMasksList[diamondMasksIndex + 1].index local guards = diamondGuardsList[diamondGuardsIndex + 1].index local keycards = diamondKeycardsList[diamondKeycardsIndex + 1].index local target = diamondTargetList[diamondTargetIndex + 1].index local difficulty = DiamondCasinoDifficulties[diamondDifficultyIndex + 1].index stats.set_int(MPX() .. "H3OPT_POI", -1) stats.set_int(MPX() .. "H3OPT_ACCESSPOINTS", -1) stats.set_int(MPX() .. "CAS_HEIST_NOTS", -1) stats.set_int(MPX() .. "CAS_HEIST_FLOW", -1) stats.set_int(MPX() .. "H3_LAST_APPROACH", 0) stats.set_int(MPX() .. "H3_HARD_APPROACH", (difficulty == 0) and 0 or approach) stats.set_int(MPX() .. "H3OPT_APPROACH", approach) stats.set_int(MPX() .. "H3OPT_CREWWEAP", gunman) stats.set_int(MPX() .. "H3OPT_WEAPS", loadout) stats.set_int(MPX() .. "H3OPT_CREWDRIVER", driver) stats.set_int(MPX() .. "H3OPT_VEHS", vehicles) stats.set_int(MPX() .. "H3OPT_CREWHACKER", hacker) stats.set_int(MPX() .. "H3OPT_TARGET", target) stats.set_int(MPX() .. "H3OPT_MASKS", masks) stats.set_int(MPX() .. "H3OPT_DISRUPTSHIP", guards) stats.set_int(MPX() .. "H3OPT_KEYLEVELS", keycards) stats.set_int(MPX() .. "H3OPT_BODYARMORLVL", -1) stats.set_int(MPX() .. "H3OPT_BITSET0", -1) stats.set_int(MPX() .. "H3OPT_BITSET1", -1) stats.set_int(MPX() .. "H3OPT_COMPLETEDPOSIX", -1) locals.set_int("gb_casino_heist_planning", DCRBl, 2) gui.show_message("Diamond Casino Heist", "Preps should've been completed") end) CasinoHeistEditorMenu:add_sameline() CasinoHeistEditorMenu:add_button("Reset Preps", function() stats.set_int(MPX() .. "H3_LAST_APPROACH", 0) stats.set_int(MPX() .. "H3_HARD_APPROACH", 0) stats.set_int(MPX() .. "H3_APPROACH", 0) stats.set_int(MPX() .. "H3OPT_APPROACH", 0) stats.set_int(MPX() .. "H3OPT_CREWWEAP", 0) stats.set_int(MPX() .. "H3OPT_WEAPS", 0) stats.set_int(MPX() .. "H3OPT_CREWDRIVER", 0) stats.set_int(MPX() .. "H3OPT_VEHS", 0) stats.set_int(MPX() .. "H3OPT_CREWHACKER", 0) stats.set_int(MPX() .. "H3OPT_MASKS", 0) stats.set_int(MPX() .. "H3OPT_TARGET", 0) stats.set_int(MPX() .. "H3OPT_DISRUPTSHIP", 0) stats.set_int(MPX() .. "H3OPT_BODYARMORLVL", 1) stats.set_int(MPX() .. "H3OPT_KEYLEVELS", 0) stats.set_int(MPX() .. "H3OPT_BITSET0", 0) stats.set_int(MPX() .. "H3OPT_BITSET1", 0) stats.set_int(MPX() .. "H3_BOARD_DIALOGUE0", 0) stats.set_int(MPX() .. "H3_BOARD_DIALOGUE1", 0) stats.set_int(MPX() .. "H3_BOARD_DIALOGUE2", 0) stats.set_int("MPPLY_H3_COOLDOWN", 0) stats.set_int(MPX() .. "H3OPT_COMPLETEDPOSIX", 0) locals.set_int("gb_casino_heist_planning", DCRBl, 2) gui.show_message("Diamond Casino Heist", "Preps should've been reset") end) CasinoHeistEditorMenu:add_separator() CasinoHeistEditorMenu:add_text("Cuts:") local casinoCrewCuts = CasinoHeistEditorMenu:add_checkbox("Remove Crew Cuts") script.register_looped("DiamondCasino_Crew", function() if not network.is_session_started() or SCRIPT.GET_NUMBER_OF_THREADS_RUNNING_THE_SCRIPT_WITH_THIS_HASH(joaat("maintransition")) > 0 then return end local remove = casinoCrewCuts:is_enabled() for _, cut in ipairs(DiamondCasinoCrewCut) do if remove then tunables.set_int(cut.tunable, 0) else tunables.set_int(cut.tunable, cut.default) end end end) local function SetDiamondMaxPayout() local approach = stats.get_int(MPX() .. "H3OPT_APPROACH") local hardApproach = stats.get_int(MPX() .. "H3_HARD_APPROACH") local target = stats.get_int(MPX() .. "H3OPT_TARGET") local difficulty = (approach == hardApproach) and 2 or 1 local payouts = { [0] = { 2115000, 2326500 }, [2] = { 2350000, 2585000 }, [1] = { 2585000, 2843500 }, [3] = { 3290000, 3619000 } } if payouts[target] == nil then return 100, 100 end local payout = payouts[target][difficulty] + 819000 local maxPayout = 3619000 local gunman = stats.get_int(MPX() .. "H3OPT_CREWWEAP") local driver = stats.get_int(MPX() .. "H3OPT_CREWDRIVER") local hacker = stats.get_int(MPX() .. "H3OPT_CREWHACKER") local buyerFee = 0.1 local lesterCut = 0.05 local gunmanCuts = { [1] = 0.05, [3] = 0.07, [5] = 0.08, [2] = 0.09, [4] = 0.1 } local driverCuts = { [1] = 0.05, [4] = 0.06, [2] = 0.07, [3] = 0.09, [5] = 0.1 } local hackerCuts = { [1] = 0.03, [3] = 0.05, [2] = 0.07, [5] = 0.09, [4] = 0.1 } local feePayout = payout - (payout * buyerFee) local lesterPayout = feePayout * lesterCut local gunmanPayout = feePayout * (gunmanCuts[gunman] or 0) local driverPayout = feePayout * (driverCuts[driver] or 0) local hackerPayout = feePayout * (hackerCuts[hacker] or 0) local crewPayout = lesterPayout + gunmanPayout + driverPayout + hackerPayout local hostCut = math.floor(maxPayout / ((feePayout - crewPayout) / 100)) local otherCut = math.floor(maxPayout / (payout / 100)) return hostCut, otherCut end local casinoPc1 = CasinoHeistEditorMenu:add_input_int("Player Cut 1") local casinoPc2 = CasinoHeistEditorMenu:add_input_int("Player Cut 2") local casinoPc3 = CasinoHeistEditorMenu:add_input_int("Player Cut 3") local casinoPc4 = CasinoHeistEditorMenu:add_input_int("Player Cut 4") local Presets = { { name = "All - 0%", index = 0 }, { name = "All - 85%", index = 85 }, { name = "All - 100%", index = 100 }, { name = "3.6mil Payout", index = -1 } } local presetNames = {} for _, preset in ipairs(Presets) do table.insert(presetNames, preset.name) end local sPresetIndex = 0 CasinoHeistEditorMenu:add_imgui(function() if isOffline() then return end ImGui.Text("Presets:") ImGui.SetNextItemWidth(170) local nIndex, changed = ImGui.Combo("##DiamondPreset", sPresetIndex, presetNames, #presetNames) if changed then sPresetIndex = nIndex local selected = Presets[sPresetIndex + 1] local hostCut = selected.index local otherCut = selected.index if selected.index == -1 then hostCut, otherCut = SetDiamondMaxPayout() casinoCrewCuts:set_enabled(true) else casinoCrewCuts:set_enabled(false) end if casinoPc1 then casinoPc1:set_value(hostCut) end if casinoPc2 then casinoPc2:set_value(otherCut) end if casinoPc3 then casinoPc3:set_value(otherCut) end if casinoPc4 then casinoPc4:set_value(otherCut) end end end) CasinoHeistEditorMenu:add_button("Apply Cuts", function() globals.set_int(DCCg1, casinoPc1:get_value()) globals.set_int(DCCg2, casinoPc2:get_value()) globals.set_int(DCCg3, casinoPc3:get_value()) globals.set_int(DCCg4, casinoPc4:get_value()) gui.show_message("Casino Heist", "Cuts should've been applied") end) CasinoHeistEditorMenu:add_separator() CasinoHeistEditorMenu:add_button("Reload Screen", function() locals.set_int("gb_casino_heist_planning", DCRBl, 2) end) CasinoHeistEditorMenu:add_sameline() CasinoHeistEditorMenu:add_button("Solo Launch", function() if locals.get_int("fmmc_launcher", HGGs1) ~= nil and locals.get_int("fmmc_launcher", HGGs1) ~= 0 then if locals.get_int("fmmc_launcher", HGGs1) > 1 then locals.set_int("fmmc_launcher", HGGs2, 1) globals.set_int(794989 + 4 + 1 + (locals.get_int("fmmc_launcher", HGGs1) * 95) + 75, 1) end globals.set_int(HGLs1, 1); globals.set_int(HGLs2, 1); globals.set_int(HGLs3, 1); globals.set_int(HGLs4, 0) end end) CasinoHeistEditorMenu:add_sameline() CasinoHeistEditorMenu:add_button("Kill Cooldown", function() stats.set_int(MPX() .. "H3_COMPLETEDPOSIX", -1) stats.set_int("MPPLY_H3_COOLDOWN", -1) gui.show_message("Diamond Casino Heist", "Cooldown should've been killed") end) local CasinoHeistExtra = CasinoHeistEditorMenu:add_tab("Extras") CasinoHeistExtra:add_text("Hacks") local casinoAutograbber = CasinoHeistExtra:add_checkbox("Autograbber") script.register_looped("casinoAg", 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 casinoAutograbber:is_enabled() then if locals.get_int(FMC, DCAg) == 3 then locals.set_int(FMC, DCAg, 4) elseif locals.get_int(FMC, DCAg) == 4 then locals.set_float(FMC, DCAs, 2.0) end end end) CasinoHeistExtra:add_button("Bypass Fingerprint Hack", function() if locals.get_int(FMC, DCFHl) == 4 then locals.set_int(FMC, DCFHl, 5) end end) CasinoHeistExtra:add_sameline() CasinoHeistExtra:add_button("Bypass Keypad Hack", function() if locals.get_int(FMC, DCKHl) ~= 4 then locals.set_int(FMC, DCKHl, 5) end end) CasinoHeistExtra:add_sameline() CasinoHeistExtra:add_button("Bypass Drill Vault Door", function() locals.set_int(FMC, DCDVDl1, locals.get_int(FMC, DCDVDl2)) end) CasinoHeistExtra:add_button("Instant Finish", function() local approachType = stats.get_int(MPX() .. "H3OPT_APPROACH") if approachType == 3 then locals.set_int(FMC, DCXf1, 12); locals.set_int(FMC, DCXf3, 80) locals.set_int(FMC, DCXf4, 10000000); locals.set_int(FMC, DCXf5, 99999); locals.set_int(FMC, DCXf6, 99999) else locals.set_int(FMC, DCXf2, 5); locals.set_int(FMC, DCXf3, 80) locals.set_int(FMC, DCXf4, 10000000); locals.set_int(FMC, DCXf5, 99999); locals.set_int(FMC, DCXf6, 99999) end gui.show_message("Instant Heist Passed", "Activated") end) CasinoHeistExtra:add_sameline() CasinoHeistExtra:add_button("Force Ready", function() script.run_in_fiber(function(script) network.force_script_host(FMC); script:sleep(1000) for i = 1, 4 do globals.set_int(1882572 + 1 + ((i - 1) * 315) + 43 + 11 + i, 1) end end) end) CasinoHeistExtra:add_sameline() CasinoHeistExtra:add_button("Skip Cutscene", SkipCutscene) -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- -- Cayo Perico -- local CayoHeistDifficulties = { { name = "Normal", index = 0 }, { name = "Hard", index = 1 } } local cayoApproachList = { { name = "Submarine: Kosatka", index = 0 }, { name = "Plane: Alkonost", index = 1 }, { name = "Plane: Velum", index = 2 }, { name = "Helicopter: Stealth Annihilator", index = 3 }, { name = "Boat: Patrol Boat", index = 4 }, { name = "Boat: Longfin", index = 5 } } local cayoLoadoutList = { { name = "Aggressor", index = 1 }, { name = "Conspirator", index = 2 }, { name = "Crackshot", index = 3 }, { name = "Saboteur", index = 4 }, { name = "Marksman", index = 5 } } local cayoPrimaryList = { { name = "Sinsimito Tequila", index = 0 }, { name = "Ruby Necklace", index = 1 }, { name = "Bearer Bonds", index = 2 }, { name = "Pink Diamond", index = 3 }, { name = "Madrazo Files", index = 4 }, { name = "Panther Statue", index = 5 } } local cayoSecondaryTargetList = { { name = "None", index = 0 }, { name = "Cash", index = "CASH" }, { name = "Weed", index = "WEED" }, { name = "Coke", index = "COKE" }, { name = "Gold", index = "GOLD" } } local cayoCompoundAmountList = { { name = "Empty", index = 0 }, { name = "Full", index = 255 }, { name = "1", index = 128 }, { name = "2", index = 64 }, { name = "3", index = 196 }, { name = "4", index = 204 }, { name = "5", index = 220 }, { name = "6", index = 252 }, { name = "7", index = 253 } } local cayoIslandAmountList = { { name = "Empty", index = 0 }, { name = "Full", index = 16777215 }, { name = "1", index = 8388608 }, { name = "2", index = 12582912 }, { name = "3", index = 12845056 }, { name = "4", index = 12976128 }, { name = "5", index = 13500416 }, { name = "6", index = 14548992 }, { name = "7", index = 16646144 }, { name = "8", index = 16711680 }, { name = "9", index = 16744448 }, { name = "10", index = 16760832 }, { name = "11", index = 16769024 }, { name = "12", index = 16769536 }, { name = "13", index = 16770560 }, { name = "14", index = 16770816 }, { name = "15", index = 16770880 }, { name = "16", index = 16771008 }, { name = "17", index = 16773056 }, { name = "18", index = 16777152 }, { name = "19", index = 16777184 }, { name = "20", index = 16777200 }, { name = "21", index = 16777202 }, { name = "22", index = 16777203 }, { name = "23", index = 16777211 } } local cayoArtsAmountList = { { name = "Empty", index = 0 }, { name = "Full", index = 127 }, { name = "1", index = 64 }, { name = "2", index = 96 }, { name = "3", index = 112 }, { name = "4", index = 120 }, { name = "5", index = 122 }, { name = "6", index = 126 } } local CayoPericoCrewCut = { { tunable = "IH_DEDUCTION_PAVEL_CUT", default = -0.02 }, { tunable = "IH_DEDUCTION_FENCING_FEE", default = -0.1 } } local CayoHeistEditorMenu = HeistsDataEditorMenu:add_tab("Cayo Perico Heist") CayoHeistEditorMenu:add_text("Presets:") CayoHeistEditorMenu:add_button("Panther/Gold (Hard)", function() stats.set_int(MPX() .. "H4CNF_BS_GEN", 131071); stats.set_int(MPX() .. "H4CNF_BS_ENTR", 63) stats.set_int(MPX() .. "H4CNF_BS_ABIL", 63); stats.set_int(MPX() .. "H4CNF_WEAPONS", 5) stats.set_int(MPX() .. "H4CNF_WEP_DISRP", 3); stats.set_int(MPX() .. "H4CNF_ARM_DISRP", 3) stats.set_int(MPX() .. "H4CNF_HEL_DISRP", 3); stats.set_int(MPX() .. "H4CNF_TARGET", 5) stats.set_int(MPX() .. "H4CNF_TROJAN", 2); stats.set_int(MPX() .. "H4CNF_APPROACH", -1) stats.set_int(MPX() .. "H4LOOT_GOLD_C", -1); stats.set_int(MPX() .. "H4_PROGRESS", 131055) stats.set_int(MPX() .. "H4LOOT_GOLD_C_SCOPED", -1); stats.set_int(MPX() .. "H4LOOT_GOLD_V", 1191817) stats.set_int(MPX() .. "H4_MISSIONS", 65535); stats.set_int(MPX() .. "H4_PLAYTHROUGH_STATUS", 32) gui.show_message("Cayo Heist", "Panther Hard Mode has been set up!") end) CayoHeistEditorMenu:add_sameline() CayoHeistEditorMenu:add_button("Diamond/Gold (Hard)", function() stats.set_int(MPX() .. "H4CNF_BS_GEN", 131071); stats.set_int(MPX() .. "H4CNF_BS_ENTR", 63) stats.set_int(MPX() .. "H4CNF_BS_ABIL", 63); stats.set_int(MPX() .. "H4CNF_WEAPONS", 5) stats.set_int(MPX() .. "H4CNF_WEP_DISRP", 3); stats.set_int(MPX() .. "H4CNF_ARM_DISRP", 3) stats.set_int(MPX() .. "H4CNF_HEL_DISRP", 3); stats.set_int(MPX() .. "H4CNF_TARGET", 3) stats.set_int(MPX() .. "H4CNF_TROJAN", 2); stats.set_int(MPX() .. "H4CNF_APPROACH", -1) stats.set_int(MPX() .. "H4LOOT_GOLD_C", -1); stats.set_int(MPX() .. "H4_PROGRESS", 131055) stats.set_int(MPX() .. "H4LOOT_GOLD_C_SCOPED", -1); stats.set_int(MPX() .. "H4LOOT_GOLD_V", 1191817) stats.set_int(MPX() .. "H4_MISSIONS", 65535); stats.set_int(MPX() .. "H4_PLAYTHROUGH_STATUS", 32) gui.show_message("Cayo Heist", "Diamond Hard Mode has been set up!") end) CayoHeistEditorMenu:add_separator() CayoHeistEditorMenu:add_text("Cayo Bag Size Editor") local cayobag = CayoHeistEditorMenu:add_input_int("Bag Size") CayoHeistEditorMenu:add_button("Set Bag Size", function() globals.set_int(CPBg, cayobag:get_value()) end) CayoHeistEditorMenu:add_separator() CayoHeistEditorMenu:add_text("Preps:") local cayoDifficultyNames = {} for _, item in ipairs(CayoHeistDifficulties) do table.insert(cayoDifficultyNames, item.name) end local cayoDifficultyIndex = 0 CayoHeistEditorMenu:add_imgui(function() if isOffline() then return end ImGui.SetNextItemWidth(170) local nIndex, changed = ImGui.Combo("Difficulty", cayoDifficultyIndex, cayoDifficultyNames, #cayoDifficultyNames) if changed then cayoDifficultyIndex = nIndex end ImGui.SetNextItemWidth(170) nIndex, changed = ImGui.Combo("Approach", cayoApproachIndex, cayoApproachNames, #cayoApproachNames) if changed then cayoApproachIndex = nIndex end ImGui.SetNextItemWidth(170) nIndex, changed = ImGui.Combo("Loadout", cayoLoadoutIndex, cayoLoadoutNames, #cayoLoadoutNames) if changed then cayoLoadoutIndex = nIndex end ImGui.SetNextItemWidth(170) nIndex, changed = ImGui.Combo("Target", cayoPrimaryIndex, cayoPrimaryNames, #cayoPrimaryNames) if changed then cayoPrimaryIndex = nIndex end ImGui.SetNextItemWidth(170) nIndex, changed = ImGui.Combo("Com. Target", cayoCompoundIndex, cayoCompoundNames, #cayoCompoundNames) if changed then cayoCompoundIndex = nIndex end ImGui.SetNextItemWidth(170) nIndex, changed = ImGui.Combo("Com. Amount", cayoCompoundAmountIndex, cayoCompoundAmountNames, #cayoCompoundAmountNames) if changed then cayoCompoundAmountIndex = nIndex end ImGui.SetNextItemWidth(170) nIndex, changed = ImGui.Combo("Arts Amount", cayoArtsAmountIndex, cayoArtsAmountNames, #cayoArtsAmountNames) if changed then cayoArtsAmountIndex = nIndex end ImGui.SetNextItemWidth(170) nIndex, changed = ImGui.Combo("Isl. Target", cayoIslandIndex, cayoCompoundNames, #cayoCompoundNames) if changed then cayoIslandIndex = nIndex end ImGui.SetNextItemWidth(170) nIndex, changed = ImGui.Combo("Isl. Amount", cayoIslandAmountIndex, cayoIslandAmountNames, #cayoIslandAmountNames) if changed then cayoIslandAmountIndex = nIndex end end) CayoHeistEditorMenu:add_button("Apply & Complete Preps", function() local difficulty = CayoHeistDifficulties[cayoDifficultyIndex + 1].index local approach = cayoApproachList[cayoApproachIndex + 1].index local loadout = cayoLoadoutList[cayoLoadoutIndex + 1].index local primary = cayoPrimaryList[cayoPrimaryIndex + 1].index local secondary = cayoSecondaryTargetList[cayoCompoundIndex + 1].index local cAmount = cayoCompoundAmountList[cayoCompoundAmountIndex + 1].index local aAmount = cayoArtsAmountList[cayoArtsAmountIndex + 1].index local iSecondary = cayoSecondaryTargetList[cayoIslandIndex + 1].index local iAmount = cayoIslandAmountList[cayoIslandAmountIndex + 1].index stats.set_int(MPX() .. "H4_PROGRESS", 131071); stats.set_int(MPX() .. "H4_GEN_BS_P2", -1) stats.set_int(MPX() .. "H4_ISLAND_SEL", -1); stats.set_int(MPX() .. "H4_MISSIONS", -1) stats.set_int(MPX() .. "H4_LO_BS_P2", -1); stats.set_int(MPX() .. "H4_APPROACH", approach) stats.set_int(MPX() .. "H4_EQUIP_BS_P2", -1); stats.set_int(MPX() .. "H4_DISTRACTIONS", -1) stats.set_int(MPX() .. "H4_VEHICLES", -1); stats.set_int(MPX() .. "H4_WEAPONS", loadout) stats.set_int(MPX() .. "H4_TARGET", primary); stats.set_int(MPX() .. "H4_COMPLETEDPOSIX", (difficulty == 0) and 0 or -1) if secondary ~= 0 then for i = 0, 5 do stats.set_int(MPX() .. "H4LO_CH_LP_" .. secondary .. "_" .. i, cAmount) stats.set_int(MPX() .. "H4LO_CH_RP_" .. secondary .. "_" .. i, cAmount) end end stats.set_int(MPX() .. "H4LO_CH_LP_PAINT", aAmount); stats.set_int(MPX() .. "H4LO_CH_RP_PAINT", aAmount) if iSecondary ~= 0 then for i = 0, 5 do stats.set_int(MPX() .. "H4LO_TH_" .. iSecondary .. "_" .. i, iAmount) end end gui.show_message("Cayo Perico Heist", "Preps should've been completed") end) CayoHeistEditorMenu:add_sameline() CayoHeistEditorMenu:add_button("Reset Preps", function() stats.set_int(MPX() .. "H4_PROGRESS", 0); stats.set_int(MPX() .. "H4_TARGET", -1) stats.set_int(MPX() .. "H4_LO_BS_P1", 0); gui.show_message("Cayo Perico Heist", "Preps should've been reset") end) CayoHeistEditorMenu:add_separator() CayoHeistEditorMenu:add_text("Cuts:") cayoCrewCuts = CayoHeistEditorMenu:add_checkbox("Remove Crew Cuts") script.register_looped("CayoPerico_Crew", function() if not network.is_session_started() or SCRIPT.GET_NUMBER_OF_THREADS_RUNNING_THE_SCRIPT_WITH_THIS_HASH(joaat("maintransition")) > 0 then return end local remove = cayoCrewCuts:is_enabled() for _, cut in ipairs(CayoPericoCrewCut) do tunables.set_float(cut.tunable, remove and 0.0 or cut.default) end end) cayoPc1 = CayoHeistEditorMenu:add_input_int("Player Cut 1") cayoPc2 = CayoHeistEditorMenu:add_input_int("Player Cut 2") cayoPc3 = CayoHeistEditorMenu:add_input_int("Player Cut 3") cayoPc4 = CayoHeistEditorMenu:add_input_int("Player Cut 4") CayoPresets = { { name = "All - 0%", index = 0 }, { name = "All - 85%", index = 85 }, { name = "All - 100%", index = 100 }, { name = "2.85mil Payout", index = -1 } } cayoPresetNames = {} for _, preset in ipairs(CayoPresets) do table.insert(cayoPresetNames, preset.name) end cayoPresetIndex = 0 CayoHeistEditorMenu:add_imgui(function() if isOffline() then return end ImGui.Text("Presets:") ImGui.SetNextItemWidth(170) local nIndex, changed = ImGui.Combo("##CayoPreset", cayoPresetIndex, cayoPresetNames, #cayoPresetNames) if changed then cayoPresetIndex = nIndex local selected = CayoPresets[cayoPresetIndex + 1] local cut = (selected.index == -1) and 100 or selected.index if cayoPc1 then cayoPc1:set_value(cut) end if cayoPc2 then cayoPc2:set_value(cut) end if cayoPc3 then cayoPc3:set_value(cut) end if cayoPc4 then cayoPc4:set_value(cut) end end end) CayoHeistEditorMenu:add_button("Apply Cuts", function() globals.set_int(CPCg1, cayoPc1:get_value()); globals.set_int(CPCg2, cayoPc2:get_value()) globals.set_int(CPCg3, cayoPc3:get_value()); globals.set_int(CPCg4, cayoPc4:get_value()) gui.show_message("Cayo Perico Heist", "Cuts should've been applied") end) CayoHeistEditorMenu:add_separator() CayoHeistEditorMenu:add_button("Solo Launch", function() if locals.get_int("fmmc_launcher", HGGs1) ~= nil and locals.get_int("fmmc_launcher", HGGs1) ~= 0 then if locals.get_int("fmmc_launcher", HGGs1) > 1 then locals.set_int("fmmc_launcher", HGGs2, 1) globals.set_int(794989 + 4 + 1 + (locals.get_int("fmmc_launcher", HGGs1) * 95) + 75, 1) end globals.set_int(HGLs1, 1); globals.set_int(HGLs2, 1); globals.set_int(HGLs3, 1); globals.set_int(HGLs4, 0) end end) CayoHeistEditorMenu:add_sameline() CayoHeistEditorMenu:add_button("Force Ready", function() script.run_in_fiber(function(script) network.force_script_host(FMC); script:sleep(1000) for i = 1, 4 do globals.set_int(1882572 + 1 + ((i - 1) * 315) + 43 + 11 + i, 1) end end) end) CayoHeistEditorMenu:add_sameline() CayoHeistEditorMenu:add_button("Skip Cutscene", SkipCutscene) CayoHeistEditorMenu:add_separator() CayoHeistEditorMenu:add_text("Reset Presets Completely") CayoHeistEditorMenu:add_button("Reset Heist Completely", function() stats.set_int(MPX() .. "H4_MISSIONS", 0) stats.set_int(MPX() .. "H4_PROGRESS", 0) stats.set_int(MPX() .. "H4_PLAYTHROUGH_STATUS", 0) stats.set_int(MPX() .. "H4CNF_APPROACH", 0) stats.set_int(MPX() .. "H4CNF_BS_ENTR", 0) stats.set_int(MPX() .. "H4CNF_BS_GEN", 0) end) CayoHeistEditorMenu:add_separator() CayoHeistEditorMenu:add_text( "Press this after clicking one of the above presets or after the reset heist Completely Option" ) CayoHeistEditorMenu:add_button("Reset Kosatka Board", function() locals.set_int(HIP, CPRSl, 2) gui.show_message("Cayo Heist", "Planning board has been reset!") end) CayoHeistEditorMenu:add_separator() CayoHeistEditorMenu:add_text("During Heist") CayoHeistEditorMenu:add_button("Skip Drainage Cut", function() locals.set_int(FMC2020, CPSTCl, 6) gui.show_message("Cayo Heist", "Bypassed Drainage Cut") end) CayoHeistEditorMenu:add_sameline() CayoHeistEditorMenu:add_button("Skip Fingerprint Scanner", function() locals.set_int(FMC2020, CPFHl, 5) gui.show_message("Cayo Heist", "Bypassed Fingerprint Scanner") end) CayoHeistEditorMenu:add_sameline() CayoHeistEditorMenu:add_button("Skip Glass Cut", function() locals.set_float(FMC2020, CPPCCl, 100.0) gui.show_message("Cayo Heist", "Bypassed Plasma Cutter") end) CayoHeistEditorMenu:add_sameline() CayoHeistEditorMenu:add_button("Remove All CCTV's", function() for _, ent in pairs(entities.get_all_objects_as_handles()) do for __, cam in pairs(CamList) do if ENTITY.GET_ENTITY_MODEL(ent) == cam then ENTITY.SET_ENTITY_AS_MISSION_ENTITY(ent, true, true) ENTITY.DELETE_ENTITY(ent) end end end end) CamList = { joaat("prop_cctv_cam_01a"), joaat("prop_cctv_cam_01b"), joaat("prop_cctv_cam_02a"), joaat("prop_cctv_cam_03a"), joaat("prop_cctv_cam_04a"), joaat("prop_cctv_cam_04c"), joaat("prop_cctv_cam_05a"), joaat("prop_cctv_cam_06a"), joaat("prop_cctv_cam_07a"), joaat("prop_cs_cctv"), joaat("p_cctv_s"), joaat("hei_prop_bank_cctv_01"), joaat("hei_prop_bank_cctv_02"), joaat("ch_prop_ch_cctv_cam_02a"), joaat("xm_prop_x17_server_farm_cctv_01"), } CayoHeistEditorMenu:add_sameline() CayoHeistEditorMenu:add_button("Delete Mission NPC's", function() -- Thanks to RazorGamerX for the help on this for index, ped in ipairs(entities.get_all_peds_as_handles()) do local model = ENTITY.GET_ENTITY_MODEL(ped) if model == 0x7ED5AD78 or model == 0x6C8C08E5 or model == 0x995B3F9F or model == 0xB881AEE then ENTITY.SET_ENTITY_AS_MISSION_ENTITY(ped, true, true) PED.DELETE_PED(ped) end end end) CayoHeistEditorMenu:add_separator() CayoHeistEditorMenu:add_text("Teleports") CayoHeistEditorMenu:add_button("Compound Entrance", function() ENTITY.SET_ENTITY_COORDS_NO_OFFSET(PLAYER.PLAYER_PED_ID(), 5044.757, -5815.772, -11.213, false, false, false) end) CayoHeistEditorMenu:add_sameline() CayoHeistEditorMenu:add_button("Primary Target", function() ENTITY.SET_ENTITY_COORDS_NO_OFFSET(PLAYER.PLAYER_PED_ID(), 5006.721, -5756.02, 14.483, false, false, false) end) CayoHeistEditorMenu:add_sameline() CayoHeistEditorMenu:add_button("Office", function() ENTITY.SET_ENTITY_COORDS_NO_OFFSET(PLAYER.PLAYER_PED_ID(), 5010.12, -5750.13, 27.84, false, false, false) end) CayoHeistEditorMenu:add_sameline() CayoHeistEditorMenu:add_button("Drainage Pipe", function() ENTITY.SET_ENTITY_COORDS_NO_OFFSET(PLAYER.PLAYER_PED_ID(), 5043.46, -5821.57, -11.19, false, false, false) end) CayoHeistEditorMenu:add_sameline() CayoHeistEditorMenu:add_button("Island Exit", function() ENTITY.SET_ENTITY_COORDS_NO_OFFSET(PLAYER.PLAYER_PED_ID(), 4771.79, -6166.0, -39.0, false, false, false) end) CayoHeistEditorMenu:add_separator() CayoHeistEditorMenu:add_text("After Heist") CayoHeistEditorMenu:add_button("Skip Cooldown", function() -- Solo Skip stats.set_int("MP0_H4_TARGET_POSIX", 1659643454) stats.set_int("MP0_H4_COOLDOWN", 0) stats.set_int("MP0_H4_COOLDOWN_HARD", 0) -- Multiplayer Skip stats.set_int("MP0_H4_TARGET_POSIX", 1659429119) stats.set_int("MP0_H4_COOLDOWN", 0) stats.set_int("MP0_H4_COOLDOWN_HARD", 0) -- Solo Skip (Second Character) stats.set_int("MP1_H4_TARGET_POSIX", 1659643454) stats.set_int("MP1_H4_COOLDOWN", 0) stats.set_int("MP1_H4_COOLDOWN_HARD", 0) -- Multiplayer Skip (Second Character) stats.set_int("MP1_H4_TARGET_POSIX", 1659429119) stats.set_int("MP1_H4_COOLDOWN", 0) stats.set_int("MP1_H4_COOLDOWN_HARD", 0) gui.show_message("Cayo Heist", "Skipped Cayo Perico Cooldown for all characters") gui.show_message("Cayo Heist", "Go to story mode and come back to apply the reset") end) CayoHeistEditorMenu:add_separator() CayoHeistEditorMenu:add_text("How to Set Up or Bypass Cooldown:") CayoHeistEditorMenu:add_text( "Make sure you have completed the heist and you are standing in front of the planning screen" ) CayoHeistEditorMenu:add_text("Click Skip Cooldown, then click on your Preset and click Reset Kosatka Board") CayoHeistEditorMenu:add_separator() CayoHeistEditorMenu:add_text("Instant Heist Passed") CayoHeistEditorMenu:add_button("Instant Finish $$", function() locals.set_int(FMC2020, IHPB, 9) locals.set_int(FMC2020, IHPL, 50) gui.show_message("Instant Heist Passed", "Activated") end) -- Cayo Bag Size & Value Editor local cayoSizeEditor = CayoHeistEditorMenu:add_tab("Loot Value Editor") cayoSizeEditor:add_button("Reset Kosatka Board", function() locals.set_int(HIP, 1566, 2); gui.show_message("Cayo Heist", "Planning board has been reset!") end) cayoSizeEditor:add_separator() cayoSizeEditor:add_text("Primary Target Values:") local cayoBagSize = 1800 local cayoPanther = 1900000 local cayoDiamond = 1300000 local cayoBonds = 770000 local cayoNecklace = 700000 local cayoTequila = 630000 cayoSizeEditor:add_imgui(function() if isOffline() then return end cayoBagSize, used = ImGui.SliderInt("Bag Size", cayoBagSize, 1800, 7200) if used then globals.set_int(BAS1, cayoBagSize) end cayoPanther, used = ImGui.SliderInt("Panther Value", cayoPanther, 1900000, 3800000) if used then globals.set_int(PSV, cayoPanther) end cayoDiamond, used = ImGui.SliderInt("Diamond Value", cayoDiamond, 1300000, 2600000) if used then globals.set_int(PDIAMOND, cayoDiamond) end cayoBonds, used = ImGui.SliderInt("Bonds Value", cayoBonds, 770000, 1540000) if used then globals.set_int(BB, cayoBonds) end cayoNecklace, used = ImGui.SliderInt("Necklace Value", cayoNecklace, 700000, 1400000) if used then globals.set_int(RN, cayoNecklace) end cayoTequila, used = ImGui.SliderInt("Tequila Value", cayoTequila, 630000, 1400000) if used then globals.set_int(TEQUILA, cayoTequila) end end) -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- MissionsSelectorAndCooldownMenu = L7NEG:add_tab("Missions Selector And cooldown Menu") MissionsSelectorAndCooldownMenu:add_button("Remove Dax Fooligan missions CoolDown ", function() stats.set_int(MPX() .. "XM22JUGGALOWORKCDTIMER", -1) end) MissionsSelectorAndCooldownMenu:add_button("Remove VIP/MC Cooldown", function() stats.set_int("MPPLY_VIPGAMEPLAYDISABLEDTIMER", 0) end) MissionsSelectorAndCooldownMenu:add_button("Skip Yacht Missions", function() stats.set_int(MPX() .. "YACHT_MISSION_PROG", 0) stats.set_int(MPX() .. "YACHT_MISSION_FLOW", 21845) stats.set_int(MPX() .. "CASINO_DECORATION_GIFT_1", -1) end) -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- CreditsMenu = L7NEG:add_tab("Credits") -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- Yimura = CreditsMenu:add_tab("Yimura and his team/maintainers") Yimura:add_text("Source:") Yimura:add_text("https://github.com/Mr-X-GTA/YimMenu") Yimura:add_text("https://github.com/YimMenu/YimMenuV2") SILENTSALO = CreditsMenu:add_tab("Silent") SILENTSALO:add_text("Source:") SILENTSALO:add_text("https://github.com/SilentSal0/Silent-Night") SILENTSALO:add_text("Maintained by nightli:") SILENTSALO:add_test("https://github.com/xnightli06x/Silent-Night") XESDDOOG = CreditsMenu:add_tab("SAMURAI aka xesdoog") XESDDOOG:add_text("Source:") XESDDOOG:add_text("https://github.com/YimMenu-Lua/YimResupplier") SLON = CreditsMenu:add_tab("SLON") SLON:add_text("Source:") SLON:add_text("https://www.unknowncheats.me/forum/grand-theft-auto-v/591335-yimceo-ceo-crates-method-yimmenu.html") Alestarov = CreditsMenu:add_tab("Alestarov") Alestarov:add_text("Source:") Alestarov:add_text("https://github.com/YimMenu-Lua/Alestarov-Menu") YOUMENU = CreditsMenu:add_tab("And You <3") YOUMENU:add_text("Yes You Without You Or Your PRs and support You Give Me This Script Would Be Nothing Fr So Big Thanks To You All") YOUMENU:add_text("You can report Bugs And Make PRs With Features Down Bellow:") YOUMENU:add_text("https://github.com/UltimateMenu/UltimateMenu/issues") --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------