From bb3b76951bf8d16b1097a9f0dd91eec4c2329d77 Mon Sep 17 00:00:00 2001 From: L7NEG Date: Fri, 26 Dec 2025 03:27:53 +0200 Subject: [PATCH] V2.8 ChangeLogs MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit # 🎄✨ Happy Holidays everyone — Finally, I’m back 😄 ✨🎄 It’s been almost **5 months** since the last update of the **UltimateMenu** script. Real-life stuff happened and things went quiet for a while, but the project never died. Huge thanks to everyone who stayed patient and didn’t forget about it ❤️ Now we’re back — let’s move forward and keep cooking 🔥👇 ## 📦 V2.8 ChangeLogs (YimMenu Legacy) 🔥 ### What’s new: 🔹 **Updated** Globals/Locals to game version `1.72 build 3725.0` 🔹 **Added** Recovery Menu → Awards Unlocker Menu From [Modest Menu version of UltimateMenu](https://github.com/UltimateMenu/UltimateMenu/blob/a83beadfc0cc4487b971dae4db30e3c99c6a48bd/Kiddions/Ultimate_Menu.lua#L20736) All the way to the latest game DLC (safehouse in the hills) 🔹 **Added** Recovery Menu → Full Account Unlocker → Purchase Trigger buttons WM29 Pistol / Snowball Launcher / The Shocker Bat 🔹 **Added & integrated** [YimResupplier.lua](https://github.com/YimMenu-Lua/YimResupplier) Credits: [xesdoog](https://github.com/xesdoog) 🔹 **Added** Bypass Card Swipe for Apartment & Diamond Casino Heist 🔹 **Overall improvements and bug fixes** ## ❌ Removals ❌ **AutoStatsUpdate** (useless) ❌ **Character info in script index** (useless & slightly buggy) ## 🐛 Known Bugs ### ✅ Finally Fixed ~~Complete All Weekly Activities not working~~ # **I hope you all have a great New Year 2026 and a great day IRL — enjoy ❤️** --- README.md | 2 +- YimMenu/Ultimate_Menu_Legacy.lua | 3368 +++++++++++++++++++++++++++--- 2 files changed, 3097 insertions(+), 273 deletions(-) diff --git a/README.md b/README.md index 441eef1..d7a2794 100644 --- a/README.md +++ b/README.md @@ -43,7 +43,7 @@ ## 📅 Update Info - **Ultimate Menu for ModestMenu**: Last updated on **Dec 12, 2024** *(Final Update)* -- **Ultimate Menu for YimMenu Legacy**: Last updated on **Jun 27, 2025** +- **Ultimate Menu for YimMenu Legacy**: Last updated on **Dec 26, 2025** - **Ultimate Menu for YimMenu Enhanced**: **Coming Soon (WIP)** --- diff --git a/YimMenu/Ultimate_Menu_Legacy.lua b/YimMenu/Ultimate_Menu_Legacy.lua index 90b5ff5..0b55a0b 100644 --- a/YimMenu/Ultimate_Menu_Legacy.lua +++ b/YimMenu/Ultimate_Menu_Legacy.lua @@ -26,27 +26,8 @@ end is_player_male = (ENTITY.GET_ENTITY_MODEL(PLAYER.PLAYER_PED_ID()) == joaat("mp_m_freemode_01")) -local currentlevel = stats.get_int(MPX() .. "CHAR_RANK_FM") -local currentrp = stats.get_int(MPX() .. "CHAR_XP_FM") -local currentcrewlevel = stats.get_int("MPPLY_CURRENT_CREW_RANK") - -script.register_looped("AutoStatsUpdater", function(script) - local success, err = pcall(function() - local newlevel = stats.get_int(MPX() .. "CHAR_RANK_FM") - local newrp = stats.get_int(MPX() .. "CHAR_XP_FM") - local newcrewlevel = stats.get_int("MPPLY_CURRENT_CREW_RANK") - - if newlevel ~= currentlevel or newrp ~= currentrp or newcrewlevel ~= currentcrewlevel then - currentlevel = newlevel - currentrp = newrp - currentcrewlevel = newcrewlevel - end - end) - - if not success then - gui.show_message("Stats Update Error", "Failed to update stats: " .. tostring(err)) - end -end) +currentlevel = stats.get_int(MPX() .. "CHAR_RANK_FM") +currentcrewlevel = stats.get_int("MPPLY_CURRENT_CREW_RANK") --Required Scripts-- @@ -58,122 +39,118 @@ HIP = "heist_island_planning" --Globals & Locals & Variables-- FMg = 262145 -- free mode global ("CASH_MULTIPLIER") //correct -CSg1 = 1575038 -- change session (type) 1 // Guide: NETWORK::UGC_SET_USING_OFFLINE_CONTENT(false); -CSg2 = 1574589 -- change session (switch) 2 // Guide: MP_POST_MATCH_TRANSITION_SCENE -CSg3 = 1574589 + 2 -- change session (quit) 3 // Guide: MP_POST_MATCH_TRANSITION_SCENE +CSg1 = 1575042 -- change session (type) 1 // Guide: NETWORK::UGC_SET_USING_OFFLINE_CONTENT(false); +CSg2 = 1574589 -- change session (switch) 2 // Guide: MP_POST_MATCH_TRANSITION_SCENE +CSg3 = 1574589 + 2 -- change session (quit) 3 // Guide: MP_POST_MATCH_TRANSITION_SCENE -- Apartment Heist -ACg1 = 1931323 + 1 + 1 -- global apartment player 1 cut global ("fmmc_launcher") -ACg2 = 1931323 + 1 + 2 -- global apartment player 2 cut global ("fmmc_launcher") -ACg3 = 1931323 + 1 + 3 -- global apartment player 3 cut global ("fmmc_launcher") -ACg4 = 1931323 + 1 + 4 -- global apartment player 4 cut global ("fmmc_launcher") -ACg5 = 1933291 + 3008 + 1 -- local apartment player 1 cut global ("fmmc_launcher") -AUAJg1 = FMg + 9101 -- apartment unlock all jobs global 1 ("ROOT_ID_HASH_THE_FLECCA_JOB") -AUAJg2 = FMg + 9106 -- apartment unlock all jobs global 2 ("ROOT_ID_HASH_THE_PRISON_BREAK") -AUAJg3 = FMg + 9113 -- apartment unlock all jobs global 3 ("ROOT_ID_HASH_THE_HUMANE_LABS_RAID") -AUAJg4 = FMg + 9119 -- apartment unlock all jobs global 4 ("ROOT_ID_HASH_SERIES_A_FUNDING") -AUAJg5 = FMg + 9125 -- apartment unlock all jobs global 5 ("ROOT_ID_HASH_THE_PACIFIC_STANDARD_JOB") -AIFl3 = 19787 -- apartment instant finish local 1 -AIFl4 = 19787 + 2686 -- apartment instant finish local 2 -AIFl5 = 28407 + 1 -- apartment instant finish local 3 -AIFl6 = 31663 + 1 + 68 -AFHl = 11818 + 24 -- apartment fleeca hack local -AFDl = 10107 + 11 -- apartment fleeca drill local -AHSo = 19789 -- Apartment heist skip checkpoint +ACg1 = 1935536 + 1 + 1 -- global apartment player 1 cut global ("fmmc_launcher") +ACg2 = 1935536 + 1 + 2 -- global apartment player 2 cut global ("fmmc_launcher") +ACg3 = 1935536 + 1 + 3 -- global apartment player 3 cut global ("fmmc_launcher") +ACg4 = 1935536 + 1 + 4 -- global apartment player 4 cut global ("fmmc_launcher") +ACg5 = 1937504 + 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") +AIFl3 = 19791 -- apartment instant finish local 1 +AIFl4 = 19791 + 2686 -- apartment instant finish local 2 +AIFl5 = 28412 + 1 -- apartment instant finish local 3 +AIFl6 = 31668 + 1 + 68 +AFHl = 11821 + 24 -- apartment fleeca hack local +AFDl = 10109 + 11 -- apartment fleeca drill local +AHSo = 19791 -- Apartment heist skip checkpoint +ADSCS1 = 31668 -- Apartment & Diamond Casino heist card swipe skip +ADSCS2 = 62430 -- Apartment & Diamond Casino heist card swipe skip -- Diamond Casino Heist DCRBl = 208 -- diamond casino reload board local -DCCg1 = 1967717 + 1497 + 736 + 92 + 1 -- diamond casino player 1 cut global ("gb_casino_heist_planning") -DCCg2 = 1967717 + 1497 + 736 + 92 + 2 -- diamond casino player 2 cut global ("gb_casino_heist_planning") -DCCg3 = 1967717 + 1497 + 736 + 92 + 3 -- diamond casino player 3 cut global ("gb_casino_heist_planning") -DCCg4 = 1967717 + 1497 + 736 + 92 + 4 -- diamond casino player 4 cut global ("gb_casino_heist_planning") -DCCl = FMg + 28313 -- ("CH_LESTER_CUT") -DCCh = FMg + 28349 - 1 --("2027377935") -DCCd = FMg + 28344 - 1 --("88090906") -DCCgun = FMg + 28339 - 1 --("74718927") -DCFHl = 53127 -- diamond casino fingerprint hack local -DCKHl = 54193 -- diamond casino keypad hack local -DCDVDl1 = 10107 + 7 -- diamond casino drill vault door local 1 --("DLC_HEIST_MINIGAME_FLEECA_DRILLING_SCENE") in ("fm_mission_controller") -DCDVDl2 = 10107 + 37 -- diamond casino drill vault door local 2 --("fm_mission_controller") -DCXf1 = 19787 -DCXf2 = 19787 + 1062 -DCXf3 = 19787 + 1740 + 1 -DCXf4 = 19787 + 2686 -DCXf5 = 28407 + 1 -DCXf6 = 31663 + 1 + 68 +DCCg1 = 1971951 + 1497 + 736 + 92 + 1 -- diamond casino player 1 cut global ("gb_casino_heist_planning") +DCCg2 = 1971951 + 1497 + 736 + 92 + 2 -- diamond casino player 2 cut global ("gb_casino_heist_planning") +DCCg3 = 1971951 + 1497 + 736 + 92 + 3 -- diamond casino player 3 cut global ("gb_casino_heist_planning") +DCCg4 = 1971951 + 1497 + 736 + 92 + 4 -- diamond casino player 4 cut global ("gb_casino_heist_planning") +DCCl = FMg + 28401 -- ("CH_LESTER_CUT") +DCCh = FMg + 28437 - 1 --("2027377935") +DCCd = FMg + 28432 - 1 --("88090906") +DCCgun = FMg + 28427 - 1 --("74718927") +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 = 19791 +DCXf2 = 19791 + 1062 +DCXf3 = 19791 + 1740 + 1 +DCXf4 = 19791 + 2686 +DCXf5 = 28412 + 1 +DCXf6 = 31668 + 1 + 68 -- Cayo Perico Heist -CPRSl = 1566 -- cayo perico reload screen local -CPCg1 = 1974520 + 831 + 56 + 1 -- cayo perico player 1 cut global --("heist_island_planning") -CPCg2 = 1974520 + 831 + 56 + 2 -- cayo perico player 2 cut global --("heist_island_planning") -CPCg3 = 1974520 + 831 + 56 + 3 -- cayo perico player 3 cut global --("heist_island_planning") -CPCg4 = 1974520 + 831 + 56 + 4 -- cayo perico player 4 cut global --("heist_island_planning") -CPFHl = 25058 -- cayo perico fingerprint hack local ("heist") in ("fm_mission_controller_2020") -CPPCCl = 31123 + 3 -- cayo perico plasma cutter cut local ("DLC_H4_anims_glass_cutter_Sounds") in ("fm_mission_controller_2020") -CPSTCl = 29883 -- cayo perico drainage pipe cut local ("IntroFinished") in ("fm_mission_controller_2020") -CPXf1 = 54353 -- cayo perico instant finish local 1 -CPXf2 = 54353 + 1776 + 1 -- cayo perico instant finish local 2 +CPRSl = 1568 -- cayo perico reload screen local +CPCg1 = 1978755 + 831 + 56 + 1 -- cayo perico player 1 cut global --("heist_island_planning") +CPCg2 = 1978755 + 831 + 56 + 2 -- cayo perico player 2 cut global --("heist_island_planning") +CPCg3 = 1978755 + 831 + 56 + 3 -- cayo perico player 3 cut global --("heist_island_planning") +CPCg4 = 1978755 + 831 + 56 + 4 -- cayo perico player 4 cut global --("heist_island_planning") +CPFHl = 26084 -- cayo perico fingerprint hack local ("heist") in ("fm_mission_controller_2020") +CPPCCl = 32187 + 3 -- cayo perico plasma cutter cut local ("DLC_H4_anims_glass_cutter_Sounds") in ("fm_mission_controller_2020") +CPSTCl = 30947 -- cayo perico drainage pipe cut local ("IntroFinished") in ("fm_mission_controller_2020") +CPXf1 = 55789 -- cayo perico instant finish local 1 +CPXf2 = 55789 + 1776 + 1 -- cayo perico instant finish local 2 -- Doomsday Heist -DDSHl = 1294 + 135 -- doomsday doomsday scenario hack local -DCg1 = 1963610 + 812 + 50 + 1 -- doomsday player 1 cut global --("gb_gang_ops_planning") -DCg2 = 1963610 + 812 + 50 + 2 -- doomsday player 2 cut global --("gb_gang_ops_planning") -DCg3 = 1963610 + 812 + 50 + 3 -- doomsday player 3 cut global --("gb_gang_ops_planning") -DCg4 = 1963610 + 812 + 50 + 4 -- doomsday player 4 cut global --("gb_gang_ops_planning") +DDSHl = 1296 + 135 -- doomsday doomsday scenario hack local +DCg1 = 1967983 + 812 + 50 + 1 -- doomsday player 1 cut global --("gb_gang_ops_planning") +DCg2 = 1967983 + 812 + 50 + 2 -- doomsday player 2 cut global --("gb_gang_ops_planning") +DCg3 = 1967983 + 812 + 50 + 3 -- doomsday player 3 cut global --("gb_gang_ops_planning") +DCg4 = 1967983 + 812 + 50 + 4 -- doomsday player 4 cut global --("gb_gang_ops_planning") -IHPB = 54353 --Instant Heist Passed Local Base (Casino And CayoPerico) -IHPL = 54353 + 1776 + 1 --Instant Heist Passed Locals (Casino And CayoPerico) +IHPB = 55789 --Instant Heist Passed Local Base (Casino And CayoPerico) +IHPL = 55789 + 1776 + 1 --Instant Heist Passed Locals (Casino And CayoPerico) -NLCl = 204 + 32 + 1 --("nightclub_office_cutscene") in ("am_mp_nightclub") +NLCl = 206 + 32 + 19 + 1 --("nightclub_office_cutscene") in ("am_mp_nightclub") SNOW = FMg + 4413 -halloweatherAddress = FMg + 32157 +halloweatherAddress = FMg + 32246 --BV = Ballastic Value---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- -BV = FMg + 20024 +BV = FMg + 20113 --CCBL = Casino Chips Buy Limit------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- -CCBL0 = FMg + 26534 -CCBL1 = FMg + 26535 +CCBL0 = FMg + 26623 +CCBL1 = FMg + 26624 --BAS=Bag Size------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ -BAS1 = FMg + 29210 +BAS1 = FMg + 29299 --PSV=Panther Statue----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- -PSV = FMg + 29462 +PSV = FMg + 29551 --PDIAMOND=Pink Diamond--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- -PDIAMOND = FMg + 29460 +PDIAMOND = FMg + 29549 --BB=Bearer Bonds--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- -BB = FMg + 29459 +BB = FMg + 29548 --RN=Ruby Necklace-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- -RN = FMg + 29458 +RN = FMg + 29547 --TEQUILA=Tequila--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- -TEQUILA = FMg + 29457 +TEQUILA = FMg + 29546 -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- -L7NEG = gui.get_tab("Ultimate Menu 1.71 GTA Legacy") +L7NEG = gui.add_tab("Ultimate Menu Beta 1.72 Legacy") -L7NEG:add_text(" Ultimate Menu 1.71 ") -L7NEG:add_text(" v2.7") - -L7NEG:add_imgui(function() - ImGui.Text("Your level " .. currentlevel) - ImGui.Text("Your RP Value " .. currentrp) - ImGui.Text("Current Crew Level " .. currentcrewlevel) -end) +L7NEG:add_text(" Ultimate Menu 1.72 Legacy ") +L7NEG:add_text(" v2.8") -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- @@ -193,10 +170,10 @@ end) RTPT = Self:add_checkbox("Remove Transaction Error") script.register_looped("RemoveTransactionError", function(script) - if RemoveTransactionError then - globals.set_int(4538671, 0) - globals.set_int(4538672, 0) - globals.set_int(4538673, 0) + if RTPT.value then + globals.set_int(4516902, 0) + globals.set_int(4516903, 0) + globals.set_int(4516904, 0) end end) @@ -338,16 +315,104 @@ 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 + 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) @@ -473,59 +538,66 @@ end) TunMenu = L7NEG:add_tab("Tunables Menu") -rpmvalue = globals.get_float(FMg + 1) -TunMenu:add_imgui(function() - rpmvalue, used = ImGui.DragInt("RP", rpmvalue, 1, 100000) - if used then - globals.set_float(FMg + 1, rpmvalue) - end +local currentapmultiplier = globals.get_float(FMg + 25489) +TunMenu:add_text("AP") +TunMenu:add_text("Your AP Multiplier is " .. currentapmultiplier) +local apmvalue = TunMenu:add_input_float("AP") +TunMenu:add_button("Set Money Multiplier", function() + globals.set_float(FMg + 25489, apmvalue:get_value()) + gui.show_message("AP Multiplier", "Your AP Multiplier was set to " .. apmvalue:get_value() .. ".") end) +TunMenu:add_separator() -apmvalue = globals.get_float(FMg + 25489) -TunMenu:add_imgui(function() - apmvalue, used = ImGui.DragInt("AP", apmvalue, 1, 100000) - if used then - globals.set_float(FMg + 25489, apmvalue) - end +local currentsrmultiplier = globals.get_float(FMg + 25489) +TunMenu:add_text("Street Races") +TunMenu:add_text("Your Street Races Multiplier is " .. currentsrmultiplier) +local srmvalue = TunMenu:add_input_float("Street Races") +TunMenu:add_button("Set Money Multiplier", function() + globals.set_float(FMg + 25489, srmvalue:get_value()) + gui.show_message( + "Street Races Multiplier", + "Your Street Races Multiplier was set to " .. apmvalue:get_value() .. "." + ) end) +TunMenu:add_separator() -srmvalue = globals.get_float(FMg + 30979) +srmvalue = globals.get_float(FMg + 31068) TunMenu:add_imgui(function() srmvalue, used = ImGui.DragInt("Street Races", srmvalue, 1, 100000) if used then - globals.set_float(FMg + 30979, srmvalue) + globals.set_float(FMg + 31068, srmvalue) end end) -pmvalue = globals.get_float(FMg + 30980) +pmvalue = globals.get_float(FMg + 31069) TunMenu:add_imgui(function() pmvalue, used = ImGui.DragInt("Pursuits", pmvalue, 1, 100000) if used then - globals.set_float(FMg + 30980, pmvalue) + globals.set_float(FMg + 31069, pmvalue) end end) -f2fmvalue = globals.get_float(FMg + 30981) +f2fmvalue = globals.get_float(FMg + 31070) TunMenu:add_imgui(function() f2fmvalue, used = ImGui.DragInt("Face2Face", f2fmvalue, 1, 100000) if used then - globals.set_float(FMg + 30981, f2fmvalue) + globals.set_float(FMg + 31070, f2fmvalue) end end) -lscmmvalue = globals.get_float(FMg + 30982) +lscmmvalue = globals.get_float(FMg + 31071) TunMenu:add_imgui(function() lscmmvalue, used = ImGui.DragInt("LS Car Meet", lscmmvalue, 1, 100000) if used then - globals.set_float(FMg + 30982, lscmmvalue) + globals.set_float(FMg + 31071, lscmmvalue) end end) -lscmotmvalue = globals.get_float(FMg + 30983) +lscmotmvalue = globals.get_float(FMg + 31072) TunMenu:add_imgui(function() lscmotmvalue, used = ImGui.DragInt("LS Car Meet on track", lscmotmvalue, 1, 100000) if used then - globals.set_float(FMg + 30983, lscmotmvalue) + globals.set_float(FMg + 31072, lscmotmvalue) end end) @@ -540,8 +612,8 @@ CasinoServicesMenu = OnlineServicesMenu:add_tab("Casino Services Menu") -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- local cslots = "casino_slots" -slots_random_results_table = 1370 -prize_wheel_win_state = 300 +slots_random_results_table = 1372 +prize_wheel_win_state = 302 prize_wheel_prize = 14 prize_wheel_prize_state = 45 @@ -696,6 +768,7 @@ YetiHuntMenu = EventsMenu:add_tab("Yeti Hunt Menu") YetiHuntMenu:add_button("Enable Yeti Hunt Event", function() globals.set_int(FMg + 34951, 1) -- enable the event 1833904680 + gui.show_message("Yeti Hunt Event", "Enabled") end) YetiHuntMenu:add_button("Clue Location 1", function() @@ -724,11 +797,1205 @@ end) -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- ----Full Account Unlocker Tool--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- +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("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") ---Character's Stats------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- +-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- + +FAUT:add_button("Unlock WM 29 Pistol", function() + 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) + +FAUT:add_button("Unlock The Shocker", function() + 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) + +FAUT:add_button("Unlock The Snowball Launcher", function() + 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) + +-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- CSU = FAUT:add_tab("Character's Stats") @@ -740,6 +2007,7 @@ CSU:add_button("Max Character Skills", function() 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) AcMenu = CSU:add_tab("Achievements") @@ -996,20 +2264,21 @@ end) -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- local current_objectives_global = 2359296 --("am_challenges") -local weekly_words_global = 2739243 --("am_challenges") +local weekly_objectives_global = 2731933 --("am_challenges") local objectives_state_global = 1574745 --("am_challenges") FAUT:add_button("Complete All Daily & Weekly Challenges", function() 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 * 5571)) + 681 + 4245 + (1 + (i * 3))) + 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_words_global + (1 + (0 * 6)) + 1, - globals.get_int(weekly_words_global + (1 + (0 * 6)) + 2) + 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) @@ -1018,17 +2287,25 @@ end) LSCMUnlockeRecoveryMenu = RecoveryMenu:add_tab("LSCM Unlocker Menu") LSCMUnlockeRecoveryMenu:add_button("Unlock All Rep Lvl 1000", function() - for i = FMg + 30958, FMg + 30987 do + 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) 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") @@ -1290,7 +2567,7 @@ local function render_weapon_editor() end script.register_looped("Gun Van", function() - gun_van_loc = globals.get_int(2652584 + 2706) + gun_van_loc = globals.get_int(2652579 + 2706) if is_typing then PAD.DISABLE_ALL_CONTROL_ACTIONS(0) @@ -1301,8 +2578,8 @@ script.register_looped("Gun Van", function() end if livery_lock then - local value = locals.get_int("gunclub_shop", 142 + 747) | (1 << 8) - locals.set_int("gunclub_shop", 142 + 747, value) + local value = locals.get_int("gunclub_shop", 199 + 747) | (1 << 8) + locals.set_int("gunclub_shop", 199 + 747, value) end if gta_plus_blip then @@ -1328,7 +2605,7 @@ GVMENU:add_imgui(function() ImGui.SameLine() if ImGui.Button("Set New Gun Van Location") then - globals.set_int(2652584 + 2706, selected_loc) + globals.set_int(2652579 + 2706, selected_loc) end ImGui.SameLine() @@ -1443,23 +2720,1555 @@ end) -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- +---@diagnostic disable: undefined-global, lowercase-global + +SCRIPT_NAME = "YimResupplier" +local TAGET_BUILD = "3725.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() + 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 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 = io.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 +-- ============================================================================ +function GetBuildNumber() + local pBuildNum = memory.scan_pattern("8B C3 33 D2 C6 44 24 20"):add(0x24):rip() + return pBuildNum:get_string() +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 CFG = YimConfig() +log.info(string.format("YimConfig v%s successfully loaded\n%s", CFG._version, CFG._credits)) + +if GetBuildNumber() == TAGET_BUILD then + yim_resupplier = L7NEG:add_tab("YimResupplier") + 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 hangarOwned = false + local fCashOwned = false + local cokeOwned = false + local methOwned = false + local weedOwned = false + local fdOwned = false + local bunkerOwned = false + local acidOwned = false + local hangarTotal = 0 + local cashTotal = 0 + local cokeTotal = 0 + local methTotal = 0 + local weedTotal = 0 + local fdTotal = 0 + local bunkerTotal = 0 + local acidTotal = 0 + local main_global = 1673807 + local cashUpdgrade1 = CFG.read("cashUpdgrade1") + local cashUpdgrade2 = CFG.read("cashUpdgrade2") + local cokeUpdgrade1 = CFG.read("cokeUpdgrade1") + local cokeUpdgrade2 = CFG.read("cokeUpdgrade2") + local methUpdgrade1 = CFG.read("methUpdgrade1") + local methUpdgrade2 = CFG.read("methUpdgrade2") + local weedUpdgrade1 = CFG.read("weedUpdgrade1") + local weedUpdgrade2 = CFG.read("weedUpdgrade2") + local fdUpdgrade1 = CFG.read("fdUpdgrade1") + local fdUpdgrade2 = CFG.read("fdUpdgrade2") + local bunkerUpdgrade1 = CFG.read("bunkerUpdgrade1") + local bunkerUpdgrade2 = CFG.read("bunkerUpdgrade2") + local acidUpdgrade = CFG.read("acidUpdgrade") + + yim_resupplier:add_imgui(function() + if network.is_session_started() and not script.is_active("maintransition") 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") + local wh2Supplies = stats.get_int("MPX_CONTOTALFORWHOUSE1") + local wh3Supplies = stats.get_int("MPX_CONTOTALFORWHOUSE2") + local wh4Supplies = stats.get_int("MPX_CONTOTALFORWHOUSE3") + local wh5Supplies = stats.get_int("MPX_CONTOTALFORWHOUSE4") + local hangarSupply = stats.get_int("MPX_HANGAR_CONTRABAND_TOTAL") + local cashSupply = stats.get_int("MPX_MATTOTALFORFACTORY0") + local dfSupply = stats.get_int("MPX_MATTOTALFORFACTORY1") + local methSupply = stats.get_int("MPX_MATTOTALFORFACTORY2") + local weedSupply = stats.get_int("MPX_MATTOTALFORFACTORY3") + local cokeSupply = stats.get_int("MPX_MATTOTALFORFACTORY4") + local bunkerSupply = stats.get_int("MPX_MATTOTALFORFACTORY5") + local acidSupply = stats.get_int("MPX_MATTOTALFORFACTORY6") + 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") + 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") + local wh2Supplies = stats.get_int("MPX_CONTOTALFORWHOUSE1") + local wh3Supplies = stats.get_int("MPX_CONTOTALFORWHOUSE2") + local wh4Supplies = stats.get_int("MPX_CONTOTALFORWHOUSE3") + local wh5Supplies = stats.get_int("MPX_CONTOTALFORWHOUSE4") + 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") + 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") + 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") + 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) +else + gui.show_warning("YimResupplier", "YimResupplier is outdated.\nPlease update the script!") + yim_resupplier = L7NEG:add_tab("YimResupplier") + yim_resupplier:add_text("YimResupplier is outdated.\n\nPlease update the script.") +end + +-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- + L7NEG7 = L7NEG:add_tab("Ultimate Money Methods Menu") -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- -AirCargoMenu = L7NEG7:add_tab("Air Cargo Menu") +BusinessesMenu = L7NEG7:add_tab("Businesses Menu") -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- -CARGO1 = FMg + 22492 -CARGO2 = FMg + 22493 -CARGO3 = FMg + 22494 -CARGO4 = FMg + 22495 -CARGO5 = FMg + 22496 -CARGO6 = FMg + 22497 -CARGO7 = FMg + 22498 -CARGO8 = FMg + 22499 -CARGO9 = FMg + 22500 +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") @@ -1483,9 +4292,9 @@ RCRT = AirCargoMenu:add_checkbox("Remove Ron's Cut") script.register_looped("RonCutRemover", function(script) script:yield() if RCRT:is_enabled() then - globals.set_float(FMg + 22475, 0) + globals.set_float(FMg + 22564, 0) else - globals.set_float(FMg + 22475, 0.025) + globals.set_float(FMg + 22564, 0.025) end end) @@ -1528,43 +4337,6 @@ end) -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- -NightClubSafeMenu = L7NEG7:add_tab("NightClub Safe Loop Menu") - -SafeAmount = 250000 -SafeCapacity = 23680 --NIGHTCLUBMAXSAFEVALUE -IncomeStart = 23657 --NIGHTCLUBINCOMEUPTOPOP5 -IncomeEnd = 23676 --NIGHTCLUBINCOMEUPTOPOP100 - -NCRSCB = NightClubSafeMenu:add_checkbox("Enable Nitghtclub $300k/3.5s (Safe Remote AFK)") -script.register_looped("nightclubremotelooptest", function(script) - script:yield() - if NCRSCB:is_enabled() == true then - SafeValue = 1845225 + self.get_id() + 260 + 358 + 5 --("am_mp_nightclub") - 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(4538671, 0) - globals.set_int(4538672, 0) - globals.set_int(4538673, 0) - script:sleep(1000) - end -end) - -NightClubSafeMenu:add_separator() - -NightClubSafeMenu:add_button("Open Nightclub Screen", function() - SCRIPT.REQUEST_SCRIPT("appBusinessHub") - SYSTEM.START_NEW_SCRIPT("appBusinessHub", 1424) -end) - --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- - UseAtYourOwnRiskMenu = L7NEG7:add_tab("Use At Your Own Risk Menu") -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- @@ -1574,21 +4346,21 @@ CeoManagerMenu = UseAtYourOwnRiskMenu:add_tab("Ceo Manager Menu") -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- --©️ 2024 ΞΛZТΞΛ#0157/SLON -CEO1 = FMg + 15732 -CEO2 = FMg + 15499 -CEO3 = FMg + 15500 -SMC1 = 565 + 1 --("gb_contraband_sell") -SMC2 = 565 + 7 --("gb_contraband_sell") -SMC3 = 565 + 584 --("gb_contraband_sell") -SMC4 = 565 + 55 --("gb_contraband_sell") -SMC5 = 565 + 595 --("gb_contraband_sell") -SMC6 = 581 --("GTAO_Exec_SecuroServ_Computer_Sounds") in ("appsecuroserv") -SMC7 = 761 --("MP_WH_SELL") or ("WH_MFREASON_12") in ("appsecuroserv") -SMC8 = 762 --("MP_WH_SELL") or ("WH_MFREASON_12") in ("appsecuroserv") -SMC9 = 623 + 5 --("SPEECH_PARAMS_SHOUTED_CRITICAL") in ("gb_contraband_buy") -SMC10 = 623 + 1 --func_91() in ("gb_contraband_buy") -SMC11 = 623 + 191 --("gb_contraband_buy") -SMC12 = 623 + 192 --("gb_contraband_buy") +CEO1 = FMg + 15821 --("EXEC_CONTRABAND_SALE_VALUE_THRESHOLD1") +CEO2 = FMg + 15588 --("EXEC_BUY_COOLDOWN") +CEO3 = FMg + 15589 --("EXEC_SELL_COOLDOWN") +SMC1 = 567 + 1 --("gb_contraband_sell") +SMC2 = 567 + 7 --("gb_contraband_sell") +SMC3 = 567 + 584 --("gb_contraband_sell") +SMC4 = 567 + 55 --("gb_contraband_sell") +SMC5 = 567 + 595 --("gb_contraband_sell") +SMC6 = 583 --("GTAO_Exec_SecuroServ_Computer_Sounds") in ("appsecuroserv") +SMC7 = 763 --("MP_WH_SELL") or ("WH_MFREASON_12") in ("appsecuroserv") +SMC8 = 764 --("MP_WH_SELL") or ("WH_MFREASON_12") in ("appsecuroserv") +SMC9 = 625 + 5 --("SPEECH_PARAMS_SHOUTED_CRITICAL") in ("gb_contraband_buy") +SMC10 = 625 + 1 --func_91() in ("gb_contraband_buy") +SMC11 = 625 + 191 --("gb_contraband_buy") +SMC12 = 625 + 192 --("gb_contraband_buy") local cs = "appsecuroserv" @@ -1670,6 +4442,43 @@ 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 NCRSCB:is_enabled() == true then + SafeValue = 1845250 + self.get_id() + 260 + 364 + 5 --("am_mp_nightclub") + 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(4516902, 0) + globals.set_int(4516903, 0) + globals.set_int(4516904, 0) + script:sleep(2500) + end +end) + +NightClubSafeMenu:add_separator() + +NightClubSafeMenu:add_button("Open Nightclub Screen", function() + SCRIPT.REQUEST_SCRIPT("appBusinessHub") + SYSTEM.START_NEW_SCRIPT("appBusinessHub", 1424) +end) + +-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- + MoneyRemoverMenu = L7NEG:add_tab("Money Remover Menu") -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- @@ -1686,23 +4495,23 @@ end) ReportsMenu = L7NEG:add_tab("Reports Menu") ReportsMenu:add_imgui(function() - 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.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")) + ImGui.Text("Friendly: " .. stats.get_int("MPPLY_FRIENDLY")) + ImGui.Text("Helpful: " .. stats.get_int("MPPLY_HELPFUL")) end) -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- @@ -1811,21 +4620,25 @@ ApartmentDataEditorMenu:add_button("Bypass Fleeca Drill", function() end) ApartmentDataEditorMenu:add_sameline() ApartmentDataEditorMenu:add_button("Skip Checkpoint", function() - locals.set_int(FMC, AHSo, locals.get_int(FMC, AHSo) | (1 << 17)) -end -) -ApartmentDataEditorMenu:add_button("Play the Heist Solo", -function() + locals.set_int(FMC, AHSo, locals.get_int(FMC, AHSo) | (1 << 17)) +end) +ApartmentDataEditorMenu:add_sameline() +ApartmentDataEditorMenu:add_button("Bypass Card Swipe", function() + locals.set_int(FMC, ADSCS1, 8) + locals.set_int(FMC, ADSCS2, 5) +end) + +ApartmentDataEditorMenu:add_button("Play the Heist Solo", function() if locals.get_int(FMMCL, 19990 + 34) ~= nil then if locals.get_int(FMMCL, 19990 + 34) ~= 0 then if locals.get_int(FMMCL, 19990 + 34) > 1 then - locals.set_int(FMMCL, 19990 + 15, 1) - globals.set_int(794954 + 4 + 1 + (locals.get_int(FMMCL, 19990 + 34) * 95) + 75, 1) + locals.set_int(FMMCL, 19990 + 15, 1) + globals.set_int(794954 + 4 + 1 + (locals.get_int(FMMCL, 19990 + 34) * 95) + 75, 1) end globals.set_int(4718592 + 3539, 1) - globals.set_int(4718592 + 3540, 1) - globals.set_int(4718592 + 3542 + 1, 1) - globals.set_int(4718592 + 184007 + 1, 0) + globals.set_int(4718592 + 3540, 1) + globals.set_int(4718592 + 3542 + 1, 1) + globals.set_int(4718592 + 184007 + 1, 0) end end end) @@ -1843,23 +4656,20 @@ ApartmentDataEditorMenu:add_button("Unlock All Jobs", function() stats.set_int(MPX() .. "HEIST_SAVED_STRAND_4_L", 5) end) ApartmentDataEditorMenu:add_sameline() -ApartmentDataEditorMenu:add_button("Instant Finish", -function() +ApartmentDataEditorMenu:add_button("Instant Finish", function() locals.set_int(FMC, AIFl3, 12) locals.set_int(FMC, AIFl4, 99999) locals.set_int(FMC, AIFl5, 99999) locals.set_int(FMC, AIFl6, 99999) -end -) +end) ApartmentDataEditorMenu:add_sameline() ApartmentDataEditorMenu:add_button("Instant Finish (Pacific)", function() - locals.set_int(FMC, 19787 + 1062, 5) - locals.set_int(FMC, 19787 + 1740 + 1, 80) - locals.set_int(FMC, 19787 + 2686, 10000000) - locals.set_int(FMC, 28407 + 1, 99999) - locals.set_int(FMC, 31663 + 1 + 68, 99999) -end -) + locals.set_int(FMC, 19791 + 1062, 5) + locals.set_int(FMC, 19791 + 1740 + 1, 80) + locals.set_int(FMC, 19791 + 2686, 10000000) + locals.set_int(FMC, 28412 + 1, 99999) + locals.set_int(FMC, 31668 + 1 + 68, 99999) +end) ApartmentDataEditorMenu:add_text("Note: After Clicking Unlock All jobs, restart the game") -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- @@ -2155,22 +4965,22 @@ end) CasinoHeistEditorMenu:add_separator() CasinoHeistEditorMenu:add_text("Instant Heist Passed") CasinoHeistEditorMenu: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) - gui.show_message("Instant Heist Passed", "Activated") - else - locals.set_int(FMC, DCXf2, 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) - gui.show_message("Instant Heist Passed", "Activated") - end + 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) + gui.show_message("Instant Heist Passed", "Activated") + else + locals.set_int(FMC, DCXf2, 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) + gui.show_message("Instant Heist Passed", "Activated") + end end) local CasinoHeistExtra = CasinoHeistEditorMenu:add_tab("Extras") @@ -2197,6 +5007,11 @@ CasinoHeistExtra:add_sameline() CasinoHeistExtra:add_button("Bypass Drill Vault Door", function() locals.set_int(FMC, DCDVDl1, locals.get_int(FMC, DCDVDl2)) end) +CasinoHeistExtra:add_sameline() +CasinoHeistExtra:add_button("Bypass Drill Vault Door", function() + locals.set_int(FMC, ADSCS1, 8) + locals.set_int(FMC, ADSCS2, 5) +end) ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ -- Updated by DeadlineEm, I used your modest menu version for ideas for this. @@ -2987,10 +5802,10 @@ end) DoomsdayHeistEditorMenu:add_separator() DoomsdayHeistEditorMenu:add_text("Instant Heist Passed") DoomsdayHeistEditorMenu:add_button("Instant Finish $$", function() - locals.set_int(FMC, 19787, 12) - locals.set_int(FMC, 19787 + 2686, 10000000) - locals.set_int(FMC, 29011 + 1, 99999) - locals.set_int(FMC, 31663 + 69, 99999) + locals.set_int(FMC, 19791, 12) + locals.set_int(FMC, 19791 + 2686, 10000000) + locals.set_int(FMC, 28412 + 1, 99999) + locals.set_int(FMC, 31668 + 69, 99999) gui.show_message("Instant Heist Passed", "Activated") end) @@ -3018,21 +5833,28 @@ CreditsMenu = L7NEG:add_tab("Credits") -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- -Yimura = CreditsMenu:add_tab("Yimura") -Yimura:add_text("Yim Menu Cheat Developer") -Yimura:add_text("Cheat on GitHub:") -Yimura:add_text("https://github.com/YimMenu/YimMenuV2/tree/enhanced") +Yimura = CreditsMenu:add_tab("Yimura and his team/maintainers") +Yimura:add_text("Yim Menu Cheat Developer For Legacy And Enhanced") +Yimura:add_text("GitHub:") +Yimura:add_text("https://github.com/YimMenu/YimMenu") +Yimura:add_text("https://github.com/YimMenu/YimMenuV2") L7NEGDEV = CreditsMenu:add_tab("L7NEG") L7NEGDEV:add_text("Coded This W Script With <3 To You All") L7NEGDEV:add_text("Source:") -L7NEGDEV:add_text("https://github.com/Utimate-Menu/Utimate-Menu") +L7NEGDEV:add_text("https://github.com/UltimateMenu/UltimateMenu") SILENTSALO = CreditsMenu:add_tab("Silent") SILENTSALO:add_text("For His W Useful Unlocks Along With Casino And Gunvan Menu") SILENTSALO:add_text("Source:") SILENTSALO:add_text("https://github.com/SilentSal0/Silent-Night") +XESDDOOG = CreditsMenu:add_tab("SAMURAI aka xesdoog") +XESDDOOG:add_text("For His W YimResupplier Script") +XESDDOOG:add_text("Source:") +XESDDOOG:add_text("https://github.com/YimMenu-Lua/YimResupplier") +XESDDOOG:add_text("https://github.com/YimMenu-Lua/Samurais-Scripts") + SLON = CreditsMenu:add_tab("SLON") SLON:add_text("For ''YimCeo v0.6 by Slon_.lua'' Code") SLON:add_text("Source:") @@ -3044,8 +5866,10 @@ 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( + "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/Utimate-Menu/Utimate-Menu") +YOUMENU:add_text("https://github.com/UltimateMenu/UltimateMenu/issues") --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------