From 307d6e07ca5a91a4c3ddc300b625e27c1fa8ae2e Mon Sep 17 00:00:00 2001 From: L7NEG Date: Fri, 14 Aug 2026 04:18:28 +0300 Subject: [PATCH] Fixes missing functions and lua formatted code fixed missing set_bools and set_globals credits: SilentSalo/SilentNight-Script formatted lua code style using stylua --- YimMenu/Ultimate_Menu_Legacy.lua | 8850 ++++++++++++++++-------------- 1 file changed, 4625 insertions(+), 4225 deletions(-) diff --git a/YimMenu/Ultimate_Menu_Legacy.lua b/YimMenu/Ultimate_Menu_Legacy.lua index 4b2f930..9feffd0 100644 --- a/YimMenu/Ultimate_Menu_Legacy.lua +++ b/YimMenu/Ultimate_Menu_Legacy.lua @@ -3,9 +3,9 @@ --Globals & Locals & Variables-- FMg = 262145 -- free mode global ("CASH_MULTIPLIER") //correct -CSg1 = 1575046 -- change session (type) 1 // Guide: NETWORK::UGC_SET_USING_OFFLINE_CONTENT(false); in freemode.c -CSg2 = 1574589 -- change session (switch) 2 // Guide: MP_POST_MATCH_TRANSITION_SCENE in freemode.c -CSg3 = 1574589 + 2 -- change session (quit) 3 // Guide: MP_POST_MATCH_TRANSITION_SCENE in freemode.c +CSg1 = 1575046 -- change session (type) 1 // Guide: NETWORK::UGC_SET_USING_OFFLINE_CONTENT(false); in freemode.c +CSg2 = 1574589 -- change session (switch) 2 // Guide: MP_POST_MATCH_TRANSITION_SCENE in freemode.c +CSg3 = 1574589 + 2 -- change session (quit) 3 // Guide: MP_POST_MATCH_TRANSITION_SCENE in freemode.c -- Apartment Heist ACg1 = 1935929 + 1 + 1 -- global apartment player 1 cut global ("fmmc_launcher") @@ -20,14 +20,14 @@ AUAJg4 = FMg + 9202 -- apartment unlock all jobs global 4 ("ROOT_ID_HASH_SERIES_ AUAJg5 = FMg + 9208 -- apartment unlock all jobs global 5 ("ROOT_ID_HASH_THE_PACIFIC_STANDARD_JOB") AIFl1 = 19808 -- apartment instant finish local 1 AIFl2 = 19808 + 1062 -- apartment instant finish local 2 -AIFl3 = 19808 + 1740 + 1 -- apartment instant finish local 3 -AIFl4 = 19808 + 2686 -- apartment instant finish local 4 +AIFl3 = 19808 + 1740 + 1 -- apartment instant finish local 3 +AIFl4 = 19808 + 2686 -- apartment instant finish local 4 AIFl5 = 28722 + 1 -- apartment instant finish local 5 AIFl6 = 31981 + 1 + 68 -- apartment instant finish local 6 AFHl = 11837 + 24 -- apartment fleeca hack local AFDl = 10125 + 11 -- apartment fleeca drill local AFPl = 9831 -- apartment pacific hack local -AHSo = 19808 + 2 -- Apartment heist skip checkpoint +AHSo = 19808 + 2 -- Apartment heist skip checkpoint ACDg = 2686119 -- apartment cooldown global AHDg = 4718592 + 3771 -- search in tuneables_processing.c for joaat("HEIST_DIFFICULTY_EASY") then search the global you find in fmmc_launcher.c then take the global in switch state above it done AHLIVES = 26234 + 1325 + 1 -- Apartment Heist team lives local found below if (eventData == -1248635465) in ("fm_mission_controller") @@ -113,9 +113,9 @@ AGFl1 = 56070 + 1 AGFl2 = 56070 + 1776 + 1 -- Auto Shop variables -ASIFl1 = 56070 + 1 -- auto shop instant finish local 1 -ASIFl2 = 56070 + 1776 + 1 -- auto shop finish local 2 -ASRBl = 416 -- auto shop reload board local +ASIFl1 = 56070 + 1 -- auto shop instant finish local 1 +ASIFl2 = 56070 + 1776 + 1 -- auto shop finish local 2 +ASRBl = 416 -- auto shop reload board local -- Salvage Yard SYRl1 = 545 -- salvage yard reload board local @@ -135,7 +135,6 @@ NLCl = 213 + 32 + 19 + 1 --("nightclub_office_cutscene") in ("am_mp_nightclub") SNOW = FMg + 4413 - halloweatherAddress = FMg + 32247 yetihuntAddress = FMg + 35041 @@ -183,11 +182,11 @@ TEQUILA = FMg + 29547 --Required Stats---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- function MPX() - local PI = stats.get_int("MPPLY_LAST_MP_CHAR") - if PI == 1 then - return "MP1_" - end - return "MP0_" + local PI = stats.get_int("MPPLY_LAST_MP_CHAR") + if PI == 1 then + return "MP1_" + end + return "MP0_" end function SkipCutscene() @@ -201,69 +200,80 @@ function SkipCutscene() end function SPX() - local player_ped = PLAYER.PLAYER_PED_ID() - if player_ped == 0 then return "SP0_" end - local PI = ENTITY.GET_ENTITY_MODEL(player_ped) - if PI == joaat("Player_One") then - return "SP1_" - elseif PI == joaat("Player_Two") then - return "SP2_" - end - return "SP0_" + local player_ped = PLAYER.PLAYER_PED_ID() + if player_ped == 0 then + return "SP0_" + end + local PI = ENTITY.GET_ENTITY_MODEL(player_ped) + if PI == joaat("Player_One") then + return "SP1_" + elseif PI == joaat("Player_Two") then + return "SP2_" + end + return "SP0_" end local bypassOnlineCheckbox = nil function checkOnline() - if bypassOnlineCheckbox and bypassOnlineCheckbox:is_enabled() then - return false - end - if SCRIPT.GET_NUMBER_OF_THREADS_RUNNING_THE_SCRIPT_WITH_THIS_HASH(joaat("maintransition")) > 0 or not ENTITY.DOES_ENTITY_EXIST(PLAYER.PLAYER_PED_ID()) then - ImGui.Text("Waiting for game...") - return true - end - if not network.is_session_started() then - ImGui.Text("\nUnavailable in Single Player.\n\n") - return true - end - return false + if bypassOnlineCheckbox and bypassOnlineCheckbox:is_enabled() then + return false + end + if + SCRIPT.GET_NUMBER_OF_THREADS_RUNNING_THE_SCRIPT_WITH_THIS_HASH(joaat("maintransition")) > 0 + or not ENTITY.DOES_ENTITY_EXIST(PLAYER.PLAYER_PED_ID()) + then + ImGui.Text("Waiting for game...") + return true + end + if not network.is_session_started() then + ImGui.Text("\nUnavailable in Single Player.\n\n") + return true + end + return false end function checkStoryMode() - if SCRIPT.GET_NUMBER_OF_THREADS_RUNNING_THE_SCRIPT_WITH_THIS_HASH(joaat("maintransition")) > 0 or not ENTITY.DOES_ENTITY_EXIST(PLAYER.PLAYER_PED_ID()) then - ImGui.Text("Waiting for game...") - return true - end - if network.is_session_started() then - ImGui.Text("\nUnavailable in MultiPlayer.\n\n") - return true - end - return false + if + SCRIPT.GET_NUMBER_OF_THREADS_RUNNING_THE_SCRIPT_WITH_THIS_HASH(joaat("maintransition")) > 0 + or not ENTITY.DOES_ENTITY_EXIST(PLAYER.PLAYER_PED_ID()) + then + ImGui.Text("Waiting for game...") + return true + end + if network.is_session_started() then + ImGui.Text("\nUnavailable in MultiPlayer.\n\n") + return true + end + return false end -- Silent offline check: returns true if offline, but shows NO text function isOffline() - if bypassOnlineCheckbox and bypassOnlineCheckbox:is_enabled() then - return false - end - if SCRIPT.GET_NUMBER_OF_THREADS_RUNNING_THE_SCRIPT_WITH_THIS_HASH(joaat("maintransition")) > 0 or not ENTITY.DOES_ENTITY_EXIST(PLAYER.PLAYER_PED_ID()) then - return true - end - if not network.is_session_started() then - return true - end - return false + if bypassOnlineCheckbox and bypassOnlineCheckbox:is_enabled() then + return false + end + if + SCRIPT.GET_NUMBER_OF_THREADS_RUNNING_THE_SCRIPT_WITH_THIS_HASH(joaat("maintransition")) > 0 + or not ENTITY.DOES_ENTITY_EXIST(PLAYER.PLAYER_PED_ID()) + then + return true + end + if not network.is_session_started() then + return true + end + return false end -- Shared guard: ensures exactly ONE warning callback per tab local online_guards = {} function ensureOnlineGuard(tab) - if not online_guards[tab] then - online_guards[tab] = true - tab:add_imgui(function() - checkOnline() -- only this one shows the warning text - end) - end + if not online_guards[tab] then + online_guards[tab] = true + tab:add_imgui(function() + checkOnline() -- only this one shows the warning text + end) + end end -- Story Mode widget system @@ -276,7 +286,9 @@ function initStoryTab(tab) story_widgets[tab] = {} tab:add_imgui(function() -- Only call checkStoryMode() once here - if checkStoryMode() then return end + if checkStoryMode() then + return + end for _, widget in ipairs(story_widgets[tab]) do if widget.type == "button" then if ImGui.Button(widget.label) then @@ -330,7 +342,7 @@ function addStoryCheckbox(tab, label, default_value) end, set_enabled = function(self, val) self.state = val - end + end, } table.insert(story_widgets[tab], checkbox_obj) return checkbox_obj @@ -347,7 +359,7 @@ function addStoryInputInt(tab, label, default_value) end, set_value = function(self, val) self.value = val - end + end, } table.insert(story_widgets[tab], input_obj) return input_obj @@ -355,175 +367,181 @@ end function makeStoryTab(tab) local wrapped = {} - + function wrapped:add_tab(name) return makeStoryTab(tab:add_tab(name)) end - + function wrapped:add_button(label, callback) addStoryButton(tab, label, callback) end - + function wrapped:add_checkbox(label, default_value) return addStoryCheckbox(tab, label, default_value) end - + function wrapped:add_input_int(label, default_value) return addStoryInputInt(tab, label, default_value) end - + function wrapped:add_text(label) addStoryText(tab, label) end - + function wrapped:add_separator() addStorySeparator(tab) end - + function wrapped:add_sameline() addStorySameline(tab) end - + function wrapped:add_imgui(callback) tab:add_imgui(function() - if checkStoryMode() then return end + if checkStoryMode() then + return + end callback() end) end - + return wrapped end local online_widgets = {} function initOnlineTab(tab) - if not online_widgets[tab] then - online_widgets[tab] = {} - ensureOnlineGuard(tab) -- shared guard shows the warning - tab:add_imgui(function() - if isOffline() then return end -- silent check, no duplicate text - for _, widget in ipairs(online_widgets[tab]) do - if widget.type == "button" then - if ImGui.Button(widget.label) then - widget.callback() - end - elseif widget.type == "sameline" then - ImGui.SameLine() - elseif widget.type == "separator" then - ImGui.Separator() - elseif widget.type == "text" then - ImGui.Text(widget.label) - elseif widget.type == "checkbox" then - local changed - widget.state, changed = ImGui.Checkbox(widget.label, widget.state) - elseif widget.type == "input_int" then - widget.value, _ = ImGui.InputInt(widget.label, widget.value) - end - end - end) - end + if not online_widgets[tab] then + online_widgets[tab] = {} + ensureOnlineGuard(tab) -- shared guard shows the warning + tab:add_imgui(function() + if isOffline() then + return + end -- silent check, no duplicate text + for _, widget in ipairs(online_widgets[tab]) do + if widget.type == "button" then + if ImGui.Button(widget.label) then + widget.callback() + end + elseif widget.type == "sameline" then + ImGui.SameLine() + elseif widget.type == "separator" then + ImGui.Separator() + elseif widget.type == "text" then + ImGui.Text(widget.label) + elseif widget.type == "checkbox" then + local changed + widget.state, changed = ImGui.Checkbox(widget.label, widget.state) + elseif widget.type == "input_int" then + widget.value, _ = ImGui.InputInt(widget.label, widget.value) + end + end + end) + end end function addOnlineButton(tab, label, callback) - initOnlineTab(tab) - table.insert(online_widgets[tab], { type = "button", label = label, callback = callback }) + initOnlineTab(tab) + table.insert(online_widgets[tab], { type = "button", label = label, callback = callback }) end function addOnlineSameline(tab) - initOnlineTab(tab) - table.insert(online_widgets[tab], { type = "sameline" }) + initOnlineTab(tab) + table.insert(online_widgets[tab], { type = "sameline" }) end function addOnlineSeparator(tab) - initOnlineTab(tab) - table.insert(online_widgets[tab], { type = "separator" }) + initOnlineTab(tab) + table.insert(online_widgets[tab], { type = "separator" }) end function addOnlineText(tab, label) - initOnlineTab(tab) - table.insert(online_widgets[tab], { type = "text", label = label }) + initOnlineTab(tab) + table.insert(online_widgets[tab], { type = "text", label = label }) end function addOnlineCheckbox(tab, label, default_value) - initOnlineTab(tab) - local checkbox_obj = { - type = "checkbox", - label = label, - state = default_value or false, - is_enabled = function(self) - return self.state - end, - set_enabled = function(self, val) - self.state = val - end - } - table.insert(online_widgets[tab], checkbox_obj) - return checkbox_obj + initOnlineTab(tab) + local checkbox_obj = { + type = "checkbox", + label = label, + state = default_value or false, + is_enabled = function(self) + return self.state + end, + set_enabled = function(self, val) + self.state = val + end, + } + table.insert(online_widgets[tab], checkbox_obj) + return checkbox_obj end function addOnlineInputInt(tab, label, default_value) - initOnlineTab(tab) - local input_obj = { - type = "input_int", - label = label, - value = default_value or 0, - get_value = function(self) - return self.value - end, - set_value = function(self, val) - self.value = val - end - } - table.insert(online_widgets[tab], input_obj) - return input_obj + initOnlineTab(tab) + local input_obj = { + type = "input_int", + label = label, + value = default_value or 0, + get_value = function(self) + return self.value + end, + set_value = function(self, val) + self.value = val + end, + } + table.insert(online_widgets[tab], input_obj) + return input_obj end function makeOnlineTab(tab) - local wrapped = {} - - function wrapped:add_tab(name) - return makeOnlineTab(tab:add_tab(name)) - end - - function wrapped:add_button(label, callback) - addOnlineButton(tab, label, callback) - end - - function wrapped:add_checkbox(label, default_value) - return addOnlineCheckbox(tab, label, default_value) - end - - function wrapped:add_input_int(label, default_value) - return addOnlineInputInt(tab, label, default_value) - end - - function wrapped:add_text(label) - addOnlineText(tab, label) - end - - function wrapped:add_separator() - addOnlineSeparator(tab) - end - - function wrapped:add_sameline() - addOnlineSameline(tab) - end - - function wrapped:add_imgui(callback) - ensureOnlineGuard(tab) -- shared guard shows the warning - tab:add_imgui(function() - if isOffline() then return end -- silent check, no duplicate text - callback() - end) - end - - return wrapped + local wrapped = {} + + function wrapped:add_tab(name) + return makeOnlineTab(tab:add_tab(name)) + end + + function wrapped:add_button(label, callback) + addOnlineButton(tab, label, callback) + end + + function wrapped:add_checkbox(label, default_value) + return addOnlineCheckbox(tab, label, default_value) + end + + function wrapped:add_input_int(label, default_value) + return addOnlineInputInt(tab, label, default_value) + end + + function wrapped:add_text(label) + addOnlineText(tab, label) + end + + function wrapped:add_separator() + addOnlineSeparator(tab) + end + + function wrapped:add_sameline() + addOnlineSameline(tab) + end + + function wrapped:add_imgui(callback) + ensureOnlineGuard(tab) -- shared guard shows the warning + tab:add_imgui(function() + if isOffline() then + return + end -- silent check, no duplicate text + callback() + end) + end + + return wrapped end function CutsPresetter(global_start, global_finish, cut) globals.set_int(GCg, cut) for i = global_start, global_finish do - globals.set_int(i, cut) + globals.set_int(i, cut) end end @@ -543,6 +561,18 @@ end local currentlevel = 0 local currentcrewlevel = 0 +function stats_set_packed_bools(packed_bool_start, packed_bool_finish, bool) + for i = packed_bool_start, packed_bool_finish do + stats.set_packed_stat_bool(i, bool) + end +end + +function globals_set_ints(global_start, global_finish, step, value) + for i = global_start, global_finish, step do + globals.set_int(i, value) + end +end + function null() end --Required Scripts-- @@ -567,78 +597,88 @@ Self = makeOnlineTab(L7NEG:add_tab("Self Menu")) AGCT = Self:add_checkbox("Unlock Gender Change") script.register_looped("UnlockGenderChange", function(script) - script:yield() - if not network.is_session_started() or SCRIPT.GET_NUMBER_OF_THREADS_RUNNING_THE_SCRIPT_WITH_THIS_HASH(joaat("maintransition")) > 0 then return end - if AGCT:is_enabled() then - stats.set_int(MPX() .. "ALLOW_GENDER_CHANGE", 52) - else - stats.set_int(MPX() .. "ALLOW_GENDER_CHANGE", 0) - end + script:yield() + if + not network.is_session_started() + or SCRIPT.GET_NUMBER_OF_THREADS_RUNNING_THE_SCRIPT_WITH_THIS_HASH(joaat("maintransition")) > 0 + then + return + end + if AGCT:is_enabled() then + stats.set_int(MPX() .. "ALLOW_GENDER_CHANGE", 52) + else + stats.set_int(MPX() .. "ALLOW_GENDER_CHANGE", 0) + end end) RTPT = Self:add_checkbox("Remove Transaction Error") script.register_looped("RemoveTransactionError", function(script) - script:yield() - if not network.is_session_started() or SCRIPT.GET_NUMBER_OF_THREADS_RUNNING_THE_SCRIPT_WITH_THIS_HASH(joaat("maintransition")) > 0 then return end - if RTPT:is_enabled() then - globals.set_int(4516981, 0) - globals.set_int(4516982, 0) - globals.set_int(4516983, 0) - end + script:yield() + if + not network.is_session_started() + or SCRIPT.GET_NUMBER_OF_THREADS_RUNNING_THE_SCRIPT_WITH_THIS_HASH(joaat("maintransition")) > 0 + then + return + end + if RTPT:is_enabled() then + globals.set_int(4516981, 0) + globals.set_int(4516982, 0) + globals.set_int(4516983, 0) + end end) Self:add_button("Remove Published And Players Job Liked To You", function() - stats.set_int("MPPLY_AWD_FM_CR_DM_MADE", 0) - stats.set_int("MPPLY_AWD_FM_CR_RACES_MADE", 0) - stats.set_int("MPPLY_NUM_CAPTURES_CREATED", 0) - stats.set_int("MPPLY_LTS_CREATED", 0) - stats.set_int("MPPLY_AWD_FM_CR_PLAYED_BY_PEEP", 0) - stats.set_int("MPPLY_AWD_FM_CR_MISSION_SCORE", 0) - stats.set_int("MPPLY_FM_MISSION_LIKES", 0) + stats.set_int("MPPLY_AWD_FM_CR_DM_MADE", 0) + stats.set_int("MPPLY_AWD_FM_CR_RACES_MADE", 0) + stats.set_int("MPPLY_NUM_CAPTURES_CREATED", 0) + stats.set_int("MPPLY_LTS_CREATED", 0) + stats.set_int("MPPLY_AWD_FM_CR_PLAYED_BY_PEEP", 0) + stats.set_int("MPPLY_AWD_FM_CR_MISSION_SCORE", 0) + stats.set_int("MPPLY_FM_MISSION_LIKES", 0) end) Self:add_button("Remove Orbital Cannon Cooldown", function() - stats.set_int(MPX() .. "ORBITAL_CANNON_COOLDOWN", 0) + stats.set_int(MPX() .. "ORBITAL_CANNON_COOLDOWN", 0) end) Self:add_button("Refill Nightclub Popularity", function() - stats.set_int(MPX() .. "CLUB_POPULARITY", 1000) + stats.set_int(MPX() .. "CLUB_POPULARITY", 1000) end) -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- Self:add_button("Refill Inventory/Armour", function() - stats.set_int(MPX() .. "NO_BOUGHT_YUM_SNACKS", 30) - stats.set_int(MPX() .. "NO_BOUGHT_HEALTH_SNACKS", 15) - stats.set_int(MPX() .. "NO_BOUGHT_EPIC_SNACKS", 5) - stats.set_int(MPX() .. "NUMBER_OF_CHAMP_BOUGHT", 5) - stats.set_int(MPX() .. "NUMBER_OF_ORANGE_BOUGHT", 11) - stats.set_int(MPX() .. "NUMBER_OF_BOURGE_BOUGHT", 10) - stats.set_int(MPX() .. "NUMBER_OF_SPRUNK_BOUGHT", 10) - stats.set_int(MPX() .. "CIGARETTES_BOUGHT", 20) - stats.set_int(MPX() .. "MP_CHAR_ARMOUR_1_COUNT", 10) - stats.set_int(MPX() .. "MP_CHAR_ARMOUR_2_COUNT", 10) - stats.set_int(MPX() .. "MP_CHAR_ARMOUR_3_COUNT", 10) - stats.set_int(MPX() .. "MP_CHAR_ARMOUR_4_COUNT", 10) - stats.set_int(MPX() .. "MP_CHAR_ARMOUR_5_COUNT", 10) - stats.set_int(MPX() .. "BREATHING_APPAR_BOUGHT", 20) + stats.set_int(MPX() .. "NO_BOUGHT_YUM_SNACKS", 30) + stats.set_int(MPX() .. "NO_BOUGHT_HEALTH_SNACKS", 15) + stats.set_int(MPX() .. "NO_BOUGHT_EPIC_SNACKS", 5) + stats.set_int(MPX() .. "NUMBER_OF_CHAMP_BOUGHT", 5) + stats.set_int(MPX() .. "NUMBER_OF_ORANGE_BOUGHT", 11) + stats.set_int(MPX() .. "NUMBER_OF_BOURGE_BOUGHT", 10) + stats.set_int(MPX() .. "NUMBER_OF_SPRUNK_BOUGHT", 10) + stats.set_int(MPX() .. "CIGARETTES_BOUGHT", 20) + stats.set_int(MPX() .. "MP_CHAR_ARMOUR_1_COUNT", 10) + stats.set_int(MPX() .. "MP_CHAR_ARMOUR_2_COUNT", 10) + stats.set_int(MPX() .. "MP_CHAR_ARMOUR_3_COUNT", 10) + stats.set_int(MPX() .. "MP_CHAR_ARMOUR_4_COUNT", 10) + stats.set_int(MPX() .. "MP_CHAR_ARMOUR_5_COUNT", 10) + stats.set_int(MPX() .. "BREATHING_APPAR_BOUGHT", 20) end) Self:add_button("Refill Inv/Armour x1000", function() - stats.set_int(MPX() .. "NO_BOUGHT_YUM_SNACKS", 1000) - stats.set_int(MPX() .. "NO_BOUGHT_HEALTH_SNACKS", 1000) - stats.set_int(MPX() .. "NO_BOUGHT_EPIC_SNACKS", 1000) - stats.set_int(MPX() .. "NUMBER_OF_CHAMP_BOUGHT", 1000) - stats.set_int(MPX() .. "NUMBER_OF_ORANGE_BOUGHT", 1000) - stats.set_int(MPX() .. "NUMBER_OF_BOURGE_BOUGHT", 1000) - stats.set_int(MPX() .. "NUMBER_OF_SPRUNK_BOUGHT", 1000) - stats.set_int(MPX() .. "CIGARETTES_BOUGHT", 1000) - stats.set_int(MPX() .. "MP_CHAR_ARMOUR_1_COUNT", 1000) - stats.set_int(MPX() .. "MP_CHAR_ARMOUR_2_COUNT", 1000) - stats.set_int(MPX() .. "MP_CHAR_ARMOUR_3_COUNT", 1000) - stats.set_int(MPX() .. "MP_CHAR_ARMOUR_4_COUNT", 1000) - stats.set_int(MPX() .. "MP_CHAR_ARMOUR_5_COUNT", 1000) - stats.set_int(MPX() .. "BREATHING_APPAR_BOUGHT", 1000) + stats.set_int(MPX() .. "NO_BOUGHT_YUM_SNACKS", 1000) + stats.set_int(MPX() .. "NO_BOUGHT_HEALTH_SNACKS", 1000) + stats.set_int(MPX() .. "NO_BOUGHT_EPIC_SNACKS", 1000) + stats.set_int(MPX() .. "NUMBER_OF_CHAMP_BOUGHT", 1000) + stats.set_int(MPX() .. "NUMBER_OF_ORANGE_BOUGHT", 1000) + stats.set_int(MPX() .. "NUMBER_OF_BOURGE_BOUGHT", 1000) + stats.set_int(MPX() .. "NUMBER_OF_SPRUNK_BOUGHT", 1000) + stats.set_int(MPX() .. "CIGARETTES_BOUGHT", 1000) + stats.set_int(MPX() .. "MP_CHAR_ARMOUR_1_COUNT", 1000) + stats.set_int(MPX() .. "MP_CHAR_ARMOUR_2_COUNT", 1000) + stats.set_int(MPX() .. "MP_CHAR_ARMOUR_3_COUNT", 1000) + stats.set_int(MPX() .. "MP_CHAR_ARMOUR_4_COUNT", 1000) + stats.set_int(MPX() .. "MP_CHAR_ARMOUR_5_COUNT", 1000) + stats.set_int(MPX() .. "BREATHING_APPAR_BOUGHT", 1000) end) Self:add_separator() @@ -647,76 +687,76 @@ Self:add_text("Bad Sport!") BadSportCombo = 0 Self:add_imgui(function() - ImGui.PushItemWidth(140) - BadSportCombo = ImGui.Combo("##BadSport", BadSportCombo, { "Remove", "Add" }, 2) + ImGui.PushItemWidth(140) + BadSportCombo = ImGui.Combo("##BadSport", BadSportCombo, { "Remove", "Add" }, 2) end) function BadSport(State, Overall, Bool) - script.run_in_fiber(function(script) - gui.show_message("Bad Sport!", "Awaiting Session Change") - script:sleep(1000) - stats.set_int("MPPLY_BADSPORT_MESSAGE", State) - stats.set_int("MPPLY_BADSPORT_MESSAGE", State) - stats.set_float("MPPLY_OVERALL_BADSPORT", Overall) - stats.set_bool("MPPLY_CHAR_IS_BADSPORT", Bool) - globals.set_int(CSg1, 11) - globals.set_int(CSg2, 1) - script:sleep(300) - globals.set_int(CSg2, 0) - end) + script.run_in_fiber(function(script) + gui.show_message("Bad Sport!", "Awaiting Session Change") + script:sleep(1000) + stats.set_int("MPPLY_BADSPORT_MESSAGE", State) + stats.set_int("MPPLY_BADSPORT_MESSAGE", State) + stats.set_float("MPPLY_OVERALL_BADSPORT", Overall) + stats.set_bool("MPPLY_CHAR_IS_BADSPORT", Bool) + globals.set_int(CSg1, 11) + globals.set_int(CSg2, 1) + script:sleep(300) + globals.set_int(CSg2, 0) + end) end Self:add_sameline() Self:add_button("Execute", function() - if BadSportCombo == 0 then - BadSport(0, 0, false) - else - BadSport(1, 3000, true) - end + if BadSportCombo == 0 then + BadSport(0, 0, false) + else + BadSport(1, 3000, true) + end end) StoryCharacters = makeStoryTab(L7NEG:add_tab("Story Mode")) StoryCharacters:add_imgui(function() - local CurrentSPMoneyValue = stats.get_int(SPX() .. "TOTAL_CASH") - local used - CurrentSPMoneyValue, used = ImGui.SliderInt("Current Character Cash", CurrentSPMoneyValue, 1, 2147483646) - if used then - stats.set_int(SPX() .. "TOTAL_CASH", CurrentSPMoneyValue) - end + local CurrentSPMoneyValue = stats.get_int(SPX() .. "TOTAL_CASH") + local used + CurrentSPMoneyValue, used = ImGui.SliderInt("Current Character Cash", CurrentSPMoneyValue, 1, 2147483646) + if used then + stats.set_int(SPX() .. "TOTAL_CASH", CurrentSPMoneyValue) + end end) StoryCharacters:add_separator() StoryCharacters:add_button("Add 1 Mil Cash $", function() - stats.set_int(SPX() .. "TOTAL_CASH", stats.get_int(SPX() .. "TOTAL_CASH") + 1000000) + stats.set_int(SPX() .. "TOTAL_CASH", stats.get_int(SPX() .. "TOTAL_CASH") + 1000000) end) StoryCharacters:add_button("Add 10 Mil Cash $", function() - stats.set_int(SPX() .. "TOTAL_CASH", stats.get_int(SPX() .. "TOTAL_CASH") + 10000000) + stats.set_int(SPX() .. "TOTAL_CASH", stats.get_int(SPX() .. "TOTAL_CASH") + 10000000) end) StoryCharacters:add_button("Add 100 Mil Cash $", function() - stats.set_int(SPX() .. "TOTAL_CASH", stats.get_int(SPX() .. "TOTAL_CASH") + 100000000) + stats.set_int(SPX() .. "TOTAL_CASH", stats.get_int(SPX() .. "TOTAL_CASH") + 100000000) end) StoryCharacters:add_button("Add 1 Bil Cash $", function() - stats.set_int(SPX() .. "TOTAL_CASH", stats.get_int(SPX() .. "TOTAL_CASH") + 1000000000) + stats.set_int(SPX() .. "TOTAL_CASH", stats.get_int(SPX() .. "TOTAL_CASH") + 1000000000) end) StoryCharacters:add_separator() StoryCharacters:add_button("Max Current Character Skills", function() - stats.set_int(SPX() .. "SPECIAL_ABILITY_UNLOCKED", 100) - stats.set_float(SPX() .. "DIST_RUNNING", 175 * 100) - stats.set_int(SPX() .. "TIME_UNDERWATER", 30 * 60 * 1000 * 100) - stats.set_int(SPX() .. "UNARMED_HITS", 20 * 100) - stats.set_int(SPX() .. "NUMBER_NEAR_MISS", 50 * 100) - stats.set_int(SPX() .. "PLANE_LANDINGS", 10 * 100) - stats.set_int(SPX() .. "KILLS_STEALTH", 2 * 100) - stats.set_int(SPX() .. "HITS_MISSION", 40 * 100) - stats.set_int(SPX() .. "HITS_PEDS_VEHICLES", 80 * 100) + stats.set_int(SPX() .. "SPECIAL_ABILITY_UNLOCKED", 100) + stats.set_float(SPX() .. "DIST_RUNNING", 175 * 100) + stats.set_int(SPX() .. "TIME_UNDERWATER", 30 * 60 * 1000 * 100) + stats.set_int(SPX() .. "UNARMED_HITS", 20 * 100) + stats.set_int(SPX() .. "NUMBER_NEAR_MISS", 50 * 100) + stats.set_int(SPX() .. "PLANE_LANDINGS", 10 * 100) + stats.set_int(SPX() .. "KILLS_STEALTH", 2 * 100) + stats.set_int(SPX() .. "HITS_MISSION", 40 * 100) + stats.set_int(SPX() .. "HITS_PEDS_VEHICLES", 80 * 100) end) -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- @@ -726,144 +766,146 @@ RecoveryMenu = makeOnlineTab(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, } function getRP(level) - if level < #rp then - return rp[level] - else - return math.floor(25 * (level ^ 2) + 23575 * level - 1023150) - end + if level < #rp then + return rp[level] + else + return math.floor(25 * (level ^ 2) + 23575 * level - 1023150) + end end RankSetter = RecoveryMenu:add_tab("Set Rank menu") local rpLevelValue = 1 RankSetter:add_imgui(function() - if checkOnline() then return end + if checkOnline() then + return + end - ImGui.Text("Your current Rank is " .. stats.get_int(MPX() .. "CHAR_RANK_FM")) - ImGui.Separator() + ImGui.Text("Your current Rank is " .. stats.get_int(MPX() .. "CHAR_RANK_FM")) + ImGui.Separator() - rpLevelValue, _ = ImGui.InputInt("Rank", rpLevelValue) + rpLevelValue, _ = ImGui.InputInt("Rank", rpLevelValue) - if ImGui.Button("Set Rank") then - local rankValue = rpLevelValue - if rankValue <= 0 or rankValue > 8000 then - gui.show_message( - "ERROR", - "Your RP level " .. rankValue .. " cannot be set because it is outside the valid range (1-8000)." - ) - else - stats.set_int(MPX() .. "CHAR_SET_RP_GIFT_ADMIN", getRP(rankValue)) - stats.set_int("MPPLY_GLOBALXP", getRP(rankValue)) - globals.set_int(CSg1, 11) - globals.set_int(CSg2, 1) - globals.set_int(CSg2, 0) - gui.show_message( - "Rank Correction", - "Your Rank was set to " .. rankValue .. ", Click change session For Your New Rank." - ) - end - end + if ImGui.Button("Set Rank") then + local rankValue = rpLevelValue + if rankValue <= 0 or rankValue > 8000 then + gui.show_message( + "ERROR", + "Your RP level " .. rankValue .. " cannot be set because it is outside the valid range (1-8000)." + ) + else + stats.set_int(MPX() .. "CHAR_SET_RP_GIFT_ADMIN", getRP(rankValue)) + stats.set_int("MPPLY_GLOBALXP", getRP(rankValue)) + globals.set_int(CSg1, 11) + globals.set_int(CSg2, 1) + globals.set_int(CSg2, 0) + gui.show_message( + "Rank Correction", + "Your Rank was set to " .. rankValue .. ", Click change session For Your New Rank." + ) + end + end end) -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- @@ -872,62 +914,79 @@ CrewRankSetter = RecoveryMenu:add_tab("Set Crew Rank menu") local crewRpLevelValue = 1 CrewRankSetter:add_imgui(function() - if checkOnline() then return end + if checkOnline() then + return + end - ImGui.Text("Your Current Crew Rank is " .. stats.get_int("MPPLY_CURRENT_CREW_RANK")) - ImGui.Separator() + ImGui.Text("Your Current Crew Rank is " .. stats.get_int("MPPLY_CURRENT_CREW_RANK")) + ImGui.Separator() - crewRpLevelValue, _ = ImGui.InputInt("Rank##Crew", crewRpLevelValue) + crewRpLevelValue, _ = ImGui.InputInt("Rank##Crew", crewRpLevelValue) - if ImGui.Button("Set Slot 1 Crew Rank") then - local rankValue = crewRpLevelValue - if rankValue <= 0 or rankValue > 8000 then - gui.show_message("ERROR", "Your Crew level " .. rankValue .. " cannot be set because it is outside the valid range (1-8000).") - else - stats.set_int("MPPLY_CREW_LOCAL_XP_0", getRP(rankValue)) - gui.show_message("Crew Rank Setter", "Your Crew Slot 1 Rank was set to " .. rankValue .. ", .") - end - end + if ImGui.Button("Set Slot 1 Crew Rank") then + local rankValue = crewRpLevelValue + if rankValue <= 0 or rankValue > 8000 then + gui.show_message( + "ERROR", + "Your Crew level " .. rankValue .. " cannot be set because it is outside the valid range (1-8000)." + ) + else + stats.set_int("MPPLY_CREW_LOCAL_XP_0", getRP(rankValue)) + gui.show_message("Crew Rank Setter", "Your Crew Slot 1 Rank was set to " .. rankValue .. ", .") + end + end - if ImGui.Button("Set Slot 2 Crew Rank") then - local rankValue = crewRpLevelValue - if rankValue <= 0 or rankValue > 8000 then - gui.show_message("ERROR", "Your Crew level " .. rankValue .. " cannot be set because it is outside the valid range (1-8000).") - else - stats.set_int("MPPLY_CREW_LOCAL_XP_1", getRP(rankValue)) - gui.show_message("Crew Rank Setter", "Your Crew Slot 2 Rank was set to " .. rankValue .. ", .") - end - end + if ImGui.Button("Set Slot 2 Crew Rank") then + local rankValue = crewRpLevelValue + if rankValue <= 0 or rankValue > 8000 then + gui.show_message( + "ERROR", + "Your Crew level " .. rankValue .. " cannot be set because it is outside the valid range (1-8000)." + ) + else + stats.set_int("MPPLY_CREW_LOCAL_XP_1", getRP(rankValue)) + gui.show_message("Crew Rank Setter", "Your Crew Slot 2 Rank was set to " .. rankValue .. ", .") + end + end - if ImGui.Button("Set Slot 3 Crew Rank") then - local rankValue = crewRpLevelValue - if rankValue <= 0 or rankValue > 8000 then - gui.show_message("ERROR", "Your Crew level " .. rankValue .. " cannot be set because it is outside the valid range (1-8000).") - else - stats.set_int("MPPLY_CREW_LOCAL_XP_2", getRP(rankValue)) - gui.show_message("Crew Rank Setter", "Your Crew Slot 3 Rank was set to " .. rankValue .. ", .") - end - end + if ImGui.Button("Set Slot 3 Crew Rank") then + local rankValue = crewRpLevelValue + if rankValue <= 0 or rankValue > 8000 then + gui.show_message( + "ERROR", + "Your Crew level " .. rankValue .. " cannot be set because it is outside the valid range (1-8000)." + ) + else + stats.set_int("MPPLY_CREW_LOCAL_XP_2", getRP(rankValue)) + gui.show_message("Crew Rank Setter", "Your Crew Slot 3 Rank was set to " .. rankValue .. ", .") + end + end - if ImGui.Button("Set Slot 4 Crew Rank") then - local rankValue = crewRpLevelValue - if rankValue <= 0 or rankValue > 8000 then - gui.show_message("ERROR", "Your Crew level " .. rankValue .. " cannot be set because it is outside the valid range (1-8000).") - else - stats.set_int("MPPLY_CREW_LOCAL_XP_3", getRP(rankValue)) - gui.show_message("Crew Rank Setter", "Your Crew Slot 4 Rank was set to " .. rankValue .. ", .") - end - end + if ImGui.Button("Set Slot 4 Crew Rank") then + local rankValue = crewRpLevelValue + if rankValue <= 0 or rankValue > 8000 then + gui.show_message( + "ERROR", + "Your Crew level " .. rankValue .. " cannot be set because it is outside the valid range (1-8000)." + ) + else + stats.set_int("MPPLY_CREW_LOCAL_XP_3", getRP(rankValue)) + gui.show_message("Crew Rank Setter", "Your Crew Slot 4 Rank was set to " .. rankValue .. ", .") + end + end - if ImGui.Button("Set Slot 5 Crew Rank") then - local rankValue = crewRpLevelValue - if rankValue <= 0 or rankValue > 8000 then - gui.show_message("ERROR", "Your Crew level " .. rankValue .. " cannot be set because it is outside the valid range (1-8000).") - else - stats.set_int("MPPLY_CREW_LOCAL_XP_4", getRP(rankValue)) - gui.show_message("Crew Rank Setter", "Your Crew Slot 5 Rank was set to " .. rankValue .. ", .") - end - end + if ImGui.Button("Set Slot 5 Crew Rank") then + local rankValue = crewRpLevelValue + if rankValue <= 0 or rankValue > 8000 then + gui.show_message( + "ERROR", + "Your Crew level " .. rankValue .. " cannot be set because it is outside the valid range (1-8000)." + ) + else + stats.set_int("MPPLY_CREW_LOCAL_XP_4", getRP(rankValue)) + gui.show_message("Crew Rank Setter", "Your Crew Slot 5 Rank was set to " .. rankValue .. ", .") + end + end end) -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- @@ -976,23 +1035,25 @@ prize_wheel_prize_state = 45 CasinoServicesMenu:add_text("Casino Chips") chipsVal = 1800 CasinoServicesMenu:add_imgui(function() - if isOffline() then return end - chipsVal, used = ImGui.SliderInt("Casino Chips Buy Limit", chipsVal, 1800, 2147483647) - if used then - globals.set_int(CCBL0, chipsVal) - globals.set_int(CCBL1, chipsVal) - end + if isOffline() then + return + end + chipsVal, used = ImGui.SliderInt("Casino Chips Buy Limit", chipsVal, 1800, 2147483647) + if used then + globals.set_int(CCBL0, chipsVal) + globals.set_int(CCBL1, chipsVal) + end end) CasinoServicesMenu:add_button("Bypass Casino Cooldown", function() - stats.set_int("MPPLY_CASINO_CHIPS_WON_GD", 0) - stats.set_int("MPPLY_CASINO_CHIPS_WONTIM", 0) - stats.set_int("MPPLY_CASINO_GMBLNG_GD", 0) - stats.set_int("MPPLY_CASINO_BAN_TIME", 0) - stats.set_int("MPPLY_CASINO_CHIPS_PURTIM", 0) - stats.set_int("MPPLY_CASINO_CHIPS_PUR_GD", 0) - stats.set_int("MPPLY_CASINO_CHIPS_SOLD", 0) - stats.set_int("MPPLY_CASINO_CHIPS_SELTIM", 0) + stats.set_int("MPPLY_CASINO_CHIPS_WON_GD", 0) + stats.set_int("MPPLY_CASINO_CHIPS_WONTIM", 0) + stats.set_int("MPPLY_CASINO_GMBLNG_GD", 0) + stats.set_int("MPPLY_CASINO_BAN_TIME", 0) + stats.set_int("MPPLY_CASINO_CHIPS_PURTIM", 0) + stats.set_int("MPPLY_CASINO_CHIPS_PUR_GD", 0) + stats.set_int("MPPLY_CASINO_CHIPS_SOLD", 0) + stats.set_int("MPPLY_CASINO_CHIPS_SELTIM", 0) end) CasinoServicesMenu:add_text("Winning too much too quickly might get you banned, enable this at your own risk.") @@ -1001,96 +1062,124 @@ CasinoServicesMenu:add_separator() CasinoServicesMenu:add_text("Slots") CasinoServicesMenu:add_button("Rig Slot Machines", function() - for i = 3, 196 do - if i ~= 67 and i ~= 132 then - locals.set_int(cslots, slots_random_results_table + i, 6) - end - end + for i = 3, 196 do + if i ~= 67 and i ~= 132 then + locals.set_int(cslots, slots_random_results_table + i, 6) + end + end end) CasinoServicesMenu:add_button("Lose Slot Machines", function() - for i = 3, 196 do - if i ~= 67 and i ~= 132 then - locals.set_int(cslots, slots_random_results_table + i, 0) - end - end + for i = 3, 196 do + if i ~= 67 and i ~= 132 then + locals.set_int(cslots, slots_random_results_table + i, 0) + end + end end) CasinoServicesMenu:add_separator() CasinoServicesMenu:add_text("Lucky Wheel") CasinoServicesMenu:add_button("Give Podium Vehicle", function() - script.run_in_fiber(function(script) - if SCRIPT.GET_NUMBER_OF_THREADS_RUNNING_THE_SCRIPT_WITH_THIS_HASH(joaat("casino_lucky_wheel")) ~= 0 then - locals.set_int("casino_lucky_wheel", prize_wheel_win_state + prize_wheel_prize, 18) - locals.set_int("casino_lucky_wheel", prize_wheel_win_state + prize_wheel_prize_state, 11) - end - end) + script.run_in_fiber(function(script) + if SCRIPT.GET_NUMBER_OF_THREADS_RUNNING_THE_SCRIPT_WITH_THIS_HASH(joaat("casino_lucky_wheel")) ~= 0 then + locals.set_int("casino_lucky_wheel", prize_wheel_win_state + prize_wheel_prize, 18) + locals.set_int("casino_lucky_wheel", prize_wheel_win_state + prize_wheel_prize_state, 11) + end + end) end) CasinoServicesMenu:add_sameline() CasinoServicesMenu:add_button("Give Mystery Prize", function() - script.run_in_fiber(function(script) - if SCRIPT.GET_NUMBER_OF_THREADS_RUNNING_THE_SCRIPT_WITH_THIS_HASH(joaat("casino_lucky_wheel")) ~= 0 then - locals.set_int("casino_lucky_wheel", prize_wheel_win_state + prize_wheel_prize, 11) - locals.set_int("casino_lucky_wheel", prize_wheel_win_state + prize_wheel_prize_state, 11) - end - end) + script.run_in_fiber(function(script) + if SCRIPT.GET_NUMBER_OF_THREADS_RUNNING_THE_SCRIPT_WITH_THIS_HASH(joaat("casino_lucky_wheel")) ~= 0 then + locals.set_int("casino_lucky_wheel", prize_wheel_win_state + prize_wheel_prize, 11) + locals.set_int("casino_lucky_wheel", prize_wheel_win_state + prize_wheel_prize_state, 11) + end + end) end) CasinoServicesMenu:add_sameline() CasinoServicesMenu:add_button("Give $50,000", function() - script.run_in_fiber(function(script) - if SCRIPT.GET_NUMBER_OF_THREADS_RUNNING_THE_SCRIPT_WITH_THIS_HASH(joaat("casino_lucky_wheel")) ~= 0 then - locals.set_int("casino_lucky_wheel", prize_wheel_win_state + prize_wheel_prize, 19) - locals.set_int("casino_lucky_wheel", prize_wheel_win_state + prize_wheel_prize_state, 11) - end - end) + script.run_in_fiber(function(script) + if SCRIPT.GET_NUMBER_OF_THREADS_RUNNING_THE_SCRIPT_WITH_THIS_HASH(joaat("casino_lucky_wheel")) ~= 0 then + locals.set_int("casino_lucky_wheel", prize_wheel_win_state + prize_wheel_prize, 19) + locals.set_int("casino_lucky_wheel", prize_wheel_win_state + prize_wheel_prize_state, 11) + end + end) end) CasinoServicesMenu:add_sameline() CasinoServicesMenu:add_button("Give 25,000 Chips", function() - script.run_in_fiber(function(script) - if SCRIPT.GET_NUMBER_OF_THREADS_RUNNING_THE_SCRIPT_WITH_THIS_HASH(joaat("casino_lucky_wheel")) ~= 0 then - locals.set_int("casino_lucky_wheel", prize_wheel_win_state + prize_wheel_prize, 15) - locals.set_int("casino_lucky_wheel", prize_wheel_win_state + prize_wheel_prize_state, 11) - end - end) + script.run_in_fiber(function(script) + if SCRIPT.GET_NUMBER_OF_THREADS_RUNNING_THE_SCRIPT_WITH_THIS_HASH(joaat("casino_lucky_wheel")) ~= 0 then + locals.set_int("casino_lucky_wheel", prize_wheel_win_state + prize_wheel_prize, 15) + locals.set_int("casino_lucky_wheel", prize_wheel_win_state + prize_wheel_prize_state, 11) + end + end) end) CasinoServicesMenu:add_button("Give 15,000RP", function() - script.run_in_fiber(function(script) - if SCRIPT.GET_NUMBER_OF_THREADS_RUNNING_THE_SCRIPT_WITH_THIS_HASH(joaat("casino_lucky_wheel")) ~= 0 then - locals.set_int("casino_lucky_wheel", prize_wheel_win_state + prize_wheel_prize, 17) - locals.set_int("casino_lucky_wheel", prize_wheel_win_state + prize_wheel_prize_state, 11) - end - end) + script.run_in_fiber(function(script) + if SCRIPT.GET_NUMBER_OF_THREADS_RUNNING_THE_SCRIPT_WITH_THIS_HASH(joaat("casino_lucky_wheel")) ~= 0 then + locals.set_int("casino_lucky_wheel", prize_wheel_win_state + prize_wheel_prize, 17) + locals.set_int("casino_lucky_wheel", prize_wheel_win_state + prize_wheel_prize_state, 11) + end + end) end) CasinoServicesMenu:add_sameline() CasinoServicesMenu:add_button("Give Discount", function() - script.run_in_fiber(function(script) - if SCRIPT.GET_NUMBER_OF_THREADS_RUNNING_THE_SCRIPT_WITH_THIS_HASH(joaat("casino_lucky_wheel")) ~= 0 then - locals.set_int("casino_lucky_wheel", prize_wheel_win_state + prize_wheel_prize, 4) - locals.set_int("casino_lucky_wheel", prize_wheel_win_state + prize_wheel_prize_state, 11) - end - end) + script.run_in_fiber(function(script) + if SCRIPT.GET_NUMBER_OF_THREADS_RUNNING_THE_SCRIPT_WITH_THIS_HASH(joaat("casino_lucky_wheel")) ~= 0 then + locals.set_int("casino_lucky_wheel", prize_wheel_win_state + prize_wheel_prize, 4) + locals.set_int("casino_lucky_wheel", prize_wheel_win_state + prize_wheel_prize_state, 11) + end + end) end) CasinoServicesMenu:add_sameline() CasinoServicesMenu:add_button("Give Clothing", function() - script.run_in_fiber(function(script) - if SCRIPT.GET_NUMBER_OF_THREADS_RUNNING_THE_SCRIPT_WITH_THIS_HASH(joaat("casino_lucky_wheel")) ~= 0 then - locals.set_int("casino_lucky_wheel", prize_wheel_win_state + prize_wheel_prize, 8) - locals.set_int("casino_lucky_wheel", prize_wheel_win_state + prize_wheel_prize_state, 11) - end - end) + script.run_in_fiber(function(script) + if SCRIPT.GET_NUMBER_OF_THREADS_RUNNING_THE_SCRIPT_WITH_THIS_HASH(joaat("casino_lucky_wheel")) ~= 0 then + locals.set_int("casino_lucky_wheel", prize_wheel_win_state + prize_wheel_prize, 8) + locals.set_int("casino_lucky_wheel", prize_wheel_win_state + prize_wheel_prize_state, 11) + end + end) end) -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- CollectiblesMenu = makeOnlineTab(L7NEG:add_tab("Collectibles")) -CollectiblesMenu:add_button("Collect All Action Figures", function() for i = 0, 99 do stats.set_bool(MPX() .. "PROP_FIGURE_" .. i, true) end end) -CollectiblesMenu:add_button("Collect All Signal Jammers", function() for i = 0, 49 do stats.set_bool(MPX() .. "JAMMER_IDENTIFIED_" .. i, true) end end) -CollectiblesMenu:add_button("Collect All Playing Cards", function() for i = 0, 53 do stats.set_bool(MPX() .. "CH_CARD_ID_" .. i, true) end end) -CollectiblesMenu:add_button("Collect All Props", function() for i = 0, 9 do stats.set_bool(MPX() .. "PROP_HIDDEN_SOL_ID_" .. i, true) end end) -CollectiblesMenu:add_button("Collect All Movie Props", function() for i = 1, 10 do stats.set_int(MPX() .. "MOVIE_PROP_COLLECTED_" .. i, -1) end end) -CollectiblesMenu:add_button("Collect All LD Organics", function() for i = 0, 99 do stats.set_bool(MPX() .. "LD_ORGANIC_COLLECTED_" .. i, true) end end) -CollectiblesMenu:add_button("Collect Ghost Exposed", function() for i = 0, 9 do stats.set_bool(MPX() .. "GHOST_EXPOSED_" .. i, true) end end) +CollectiblesMenu:add_button("Collect All Action Figures", function() + for i = 0, 99 do + stats.set_bool(MPX() .. "PROP_FIGURE_" .. i, true) + end +end) +CollectiblesMenu:add_button("Collect All Signal Jammers", function() + for i = 0, 49 do + stats.set_bool(MPX() .. "JAMMER_IDENTIFIED_" .. i, true) + end +end) +CollectiblesMenu:add_button("Collect All Playing Cards", function() + for i = 0, 53 do + stats.set_bool(MPX() .. "CH_CARD_ID_" .. i, true) + end +end) +CollectiblesMenu:add_button("Collect All Props", function() + for i = 0, 9 do + stats.set_bool(MPX() .. "PROP_HIDDEN_SOL_ID_" .. i, true) + end +end) +CollectiblesMenu:add_button("Collect All Movie Props", function() + for i = 1, 10 do + stats.set_int(MPX() .. "MOVIE_PROP_COLLECTED_" .. i, -1) + end +end) +CollectiblesMenu:add_button("Collect All LD Organics", function() + for i = 0, 99 do + stats.set_bool(MPX() .. "LD_ORGANIC_COLLECTED_" .. i, true) + end +end) +CollectiblesMenu:add_button("Collect Ghost Exposed", function() + for i = 0, 9 do + stats.set_bool(MPX() .. "GHOST_EXPOSED_" .. i, true) + end +end) -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- @@ -1104,12 +1193,12 @@ SnowToggleMenu = EventsMenu:add_tab("Snow Toggle Menu") SNOWCB = SnowToggleMenu:add_checkbox("Snow") script.register_looped("snow", function(script) - script:yield() - if SNOWCB:is_enabled() then - globals.set_int(SNOW, 1) - else - globals.set_int(SNOW, 0) - end + script:yield() + if SNOWCB:is_enabled() then + globals.set_int(SNOW, 1) + else + globals.set_int(SNOW, 0) + end end) -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- @@ -1165,7 +1254,13 @@ halloweenWeatherMenu:add_imgui(function() if hour12 == 0 then hour12 = 12 end - ImGui.TextColored(1.0, 0.8, 0.0, 1.0, "Current In-Game Time: " .. string.format("%02d:%02d %s", hour12, minute, ampm)) + ImGui.TextColored( + 1.0, + 0.8, + 0.0, + 1.0, + "Current In-Game Time: " .. string.format("%02d:%02d %s", hour12, minute, ampm) + ) if hour >= 19 or hour < 7 then ImGui.TextColored(0.0, 1.0, 0.0, 1.0, "Status: Halloween weather is available NOW") else @@ -1175,7 +1270,6 @@ halloweenWeatherMenu:add_imgui(function() ImGui.Separator() end) - HALLOWEATHERC = halloweenWeatherMenu:add_checkbox("Enable") function show_notification(title, message) @@ -1232,7 +1326,9 @@ TRICKORTREATCB = trickOrTreatMenu:add_checkbox("Trick or Treat") -- Add help marker for the checkbox trickOrTreatMenu:add_imgui(function() - trick_help_marker("Enables the Trick or Treat event. This allows you to collect Halloween pumpkins from the Halloween event.") + trick_help_marker( + "Enables the Trick or Treat event. This allows you to collect Halloween pumpkins from the Halloween event." + ) end) script.register_looped("trick_or_treat", function(script) @@ -1461,14 +1557,17 @@ jackolantern_selected_loc = 0 trickOrTreatMenu:add_imgui(function() ImGui.Separator() ImGui.Text("Jack o'Lantern Teleports") - trick_help_marker("Teleport to any of the 200 Jack o'Lantern collectible locations. These are Halloween pumpkins that spawn during the event.") + trick_help_marker( + "Teleport to any of the 200 Jack o'Lantern collectible locations. These are Halloween pumpkins that spawn during the event." + ) ImGui.Separator() - + ImGui.Text("Select Jack o'Lantern Location:") trick_help_marker("Choose a location from the dropdown list to teleport to.") ImGui.SetNextItemWidth(265) - jackolantern_selected_loc = ImGui.Combo("##jackolantern_selected_loc", jackolantern_selected_loc, jackolantern_names, 200) + jackolantern_selected_loc = + ImGui.Combo("##jackolantern_selected_loc", jackolantern_selected_loc, jackolantern_names, 200) ImGui.SameLine() @@ -1489,14 +1588,14 @@ trickOrTreatMenu:add_imgui(function() if i % 5 == 0 then ImGui.Text(" ") end - + if ImGui.Button(jackolantern_names[i + 1]) then script.run_in_fiber(function() local coords = jackolantern_locations[i + 1] PED.SET_PED_COORDS_KEEP_VEHICLE(self.get_ped(), coords.x, coords.y, coords.z) end) end - + if i % 5 ~= 4 and i < 19 then ImGui.SameLine() end @@ -1511,14 +1610,14 @@ trickOrTreatMenu:add_imgui(function() if i % 5 == 0 then ImGui.Text(" ") end - + if ImGui.Button(jackolantern_names[i + 1]) then script.run_in_fiber(function() local coords = jackolantern_locations[i + 1] PED.SET_PED_COORDS_KEEP_VEHICLE(self.get_ped(), coords.x, coords.y, coords.z) end) end - + if i % 5 ~= 4 and i < 39 then ImGui.SameLine() end @@ -1526,7 +1625,7 @@ trickOrTreatMenu:add_imgui(function() ImGui.Separator() ImGui.Text("Total Jack o'Lantern Locations: 200") - + if ImGui.Button("Teleport to Random Jack o'Lantern") then script.run_in_fiber(function() local random_index = math.random(1, 200) @@ -1609,7 +1708,9 @@ SNOWMENCB = snowmenMenu:add_checkbox("Enable Snowmen Collectibles") -- Add help marker for the checkbox snowmenMenu:add_imgui(function() - snowmen_help_marker("Enables the Snowmen Collectibles event. This allows you to collect snowmen by blowing them up or driving your car through them during the winter event.") + snowmen_help_marker( + "Enables the Snowmen Collectibles event. This allows you to collect snowmen by blowing them up or driving your car through them during the winter event." + ) end) script.register_looped("snowmen_collectibles", function(script) @@ -1626,9 +1727,11 @@ end) snowmenMenu:add_imgui(function() ImGui.Separator() ImGui.Text("Snowman Teleports") - snowmen_help_marker("Teleport to any of the 25 Snowman collectible locations. These are snowmen that spawn during the winter event. You can destroy them by blowing them up or driving through them with your vehicle.") + snowmen_help_marker( + "Teleport to any of the 25 Snowman collectible locations. These are snowmen that spawn during the winter event. You can destroy them by blowing them up or driving through them with your vehicle." + ) ImGui.Separator() - + ImGui.Text("Select Snowman Location:") snowmen_help_marker("Choose a location from the dropdown list to teleport to.") @@ -1647,21 +1750,23 @@ snowmenMenu:add_imgui(function() ImGui.Separator() ImGui.Text("Quick Teleport Buttons:") - snowmen_help_marker("Quickly teleport to any Snowman location to destroy them by blowing them up or driving through them.") + snowmen_help_marker( + "Quickly teleport to any Snowman location to destroy them by blowing them up or driving through them." + ) -- Add quick teleport buttons in rows of 5 for i = 0, 24 do if i % 5 == 0 then ImGui.Text(" ") end - + if ImGui.Button(snowmen_names[i + 1]) then script.run_in_fiber(function() local coords = snowmen_locations[i + 1] PED.SET_PED_COORDS_KEEP_VEHICLE(self.get_ped(), coords.x, coords.y, coords.z) end) end - + if i % 5 ~= 4 and i < 24 then ImGui.SameLine() end @@ -1669,7 +1774,7 @@ snowmenMenu:add_imgui(function() ImGui.Separator() ImGui.Text("Total Snowman Locations: 25") - + if ImGui.Button("Teleport to Random Snowman") then script.run_in_fiber(function() local random_index = math.random(1, 25) @@ -1678,7 +1783,9 @@ snowmenMenu:add_imgui(function() gui.show_message("Snowman", "Teleported to " .. snowmen_names[random_index]) end) end - snowmen_help_marker("Teleports you to a random Snowman location. Blow them up or drive through them to collect them all!") + snowmen_help_marker( + "Teleports you to a random Snowman location. Blow them up or drive through them to collect them all!" + ) end) -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- @@ -1720,6 +1827,7 @@ yeti_locations = { vec3:new(-1282.18, 4487.826, 12.643), vec3:new(-1569.665, 4478.485, 20.215), vec3:new(-1345.828, 4838.062, 137.522), + vec3:new(-1507.88, 4730.23, 45.54), } -- Yeti location names @@ -1729,7 +1837,8 @@ yeti_names = { "Clue Location 3", "Clue Location 4", "Clue Location 5", - "Yeti Fight Location", + "Yeti Fight Location (1)", + "Yeti Fight Location (2)", } -- Variables @@ -1740,7 +1849,9 @@ YETIHUNTCB = YetiHuntMenu:add_checkbox("Enable Yeti Hunt Event") -- Add help marker for the checkbox YetiHuntMenu:add_imgui(function() - yeti_help_marker("Enables the Yeti Hunt event. This allows you to hunt the Yeti and collect clues during the event.") + yeti_help_marker( + "Enables the Yeti Hunt event. This allows you to hunt the Yeti and collect clues during the event." + ) end) script.register_looped("yeti_hunt", function(script) @@ -1756,14 +1867,14 @@ end) YetiHuntMenu:add_imgui(function() ImGui.Separator() ImGui.Text("Yeti Hunt Teleports") - yeti_help_marker("Teleport to any of the Yeti Hunt clue locations or the final Yeti fight location.") + yeti_help_marker("Teleport to any of the Yeti Hunt clue locations or the final Yeti fight locations.") ImGui.Separator() - + ImGui.Text("Select Yeti Location:") yeti_help_marker("Choose a location from the dropdown list to teleport to.") ImGui.SetNextItemWidth(265) - yeti_selected_loc = ImGui.Combo("##yeti_selected_loc", yeti_selected_loc, yeti_names, 6) + yeti_selected_loc = ImGui.Combo("##yeti_selected_loc", yeti_selected_loc, yeti_names, 7) ImGui.SameLine() @@ -1777,32 +1888,32 @@ YetiHuntMenu:add_imgui(function() ImGui.Separator() ImGui.Text("Quick Teleport Buttons:") - yeti_help_marker("Quickly teleport to any Yeti clue location or the fight location.") + yeti_help_marker("Quickly teleport to any Yeti clue location or the fight locations.") - -- Add quick teleport buttons in rows of 3 - for i = 0, 5 do + -- Add quick teleport buttons in rows of 3 (all 7 locations) + for i = 0, 6 do if i % 3 == 0 then ImGui.Text(" ") end - + if ImGui.Button(yeti_names[i + 1]) then script.run_in_fiber(function() local coords = yeti_locations[i + 1] PED.SET_PED_COORDS_KEEP_VEHICLE(self.get_ped(), coords.x, coords.y, coords.z) end) end - - if i % 3 ~= 2 and i < 5 then + + if i % 3 ~= 2 and i < 6 then ImGui.SameLine() end end ImGui.Separator() - ImGui.Text("Total Yeti Locations: 6 (5 Clues + 1 Fight)") - + ImGui.Text("Total Yeti Locations: 7 (5 Clues + 2 Fight)") + if ImGui.Button("Teleport to Random Yeti Location") then script.run_in_fiber(function() - local random_index = math.random(1, 6) + local random_index = math.random(1, 7) local coords = yeti_locations[random_index] PED.SET_PED_COORDS_KEEP_VEHICLE(self.get_ped(), coords.x, coords.y, coords.z) gui.show_message("Yeti Hunt", "Teleported to " .. yeti_names[random_index]) @@ -1816,391 +1927,391 @@ end) AUM = RecoveryMenu:add_tab("Awards Unlocker Menu") AUM:add_button("Victory", function() - stats.set_int(MPX() .. "AWD_FM_DM_WINS", 50) - stats.set_int(MPX() .. "AWD_FM_TDM_WINS", 50) - stats.set_int(MPX() .. "AWD_FM_TDM_MVP", 50) - stats.set_int(MPX() .. "AWD_RACES_WON", 50) - stats.set_int(MPX() .. "AWD_FMWINAIRRACE", 25) - stats.set_int(MPX() .. "AWD_FMWINSEARACE", 25) - stats.set_int(MPX() .. "AWD_FM_GTA_RACES_WON", 50) - stats.set_bool(MPX() .. "AWD_FMKILL3ANDWINGTARACE", true) - stats.set_int(MPX() .. "AWD_FMRALLYWONDRIVE", 25) - stats.set_int(MPX() .. "AWD_FMRALLYWONNAV", 25) - stats.set_bool(MPX() .. "AWD_FMWINCUSTOMRACE", true) - stats.set_int(MPX() .. "AWD_FMWINRACETOPOINTS", 25) - stats.set_bool(MPX() .. "CL_RACE_MODDED_CAR", true) - stats.set_int(MPX() .. "AWD_FM_RACE_LAST_FIRST", 25) - stats.set_bool(MPX() .. "AWD_FMRACEWORLDRECHOLDER", true) - stats.set_int(MPX() .. "AWD_FM_RACES_FASTEST_LAP", 50) - stats.set_bool(MPX() .. "AWD_FMWINALLRACEMODES", true) - stats.set_int(MPX() .. "AWD_FMHORDWAVESSURVIVE", 10) - stats.set_int(MPX() .. "NUMBER_SLIPSTREAMS_IN_RACE", 100) - stats.set_int(MPX() .. "NUMBER_TURBO_STARTS_IN_RACE", 50) - stats.set_int(MPX() .. "AWD_NO_ARMWRESTLING_WINS", 25) - stats.set_int(MPX() .. "MOST_ARM_WRESTLING_WINS", 25) - stats.set_int(MPX() .. "AWD_WIN_AT_DARTS", 25) - stats.set_int(MPX() .. "AWD_FM_GOLF_WON", 25) - stats.set_int(MPX() .. "AWD_FM_TENNIS_WON", 25) - stats.set_bool(MPX() .. "AWD_FM_TENNIS_5_SET_WINS", true) - stats.set_bool(MPX() .. "AWD_FM_TENNIS_STASETWIN", true) - stats.set_int(MPX() .. "AWD_FM_SHOOTRANG_CT_WON", 25) - stats.set_int(MPX() .. "AWD_FM_SHOOTRANG_RT_WON", 25) - stats.set_int(MPX() .. "AWD_FM_SHOOTRANG_TG_WON", 25) - stats.set_bool(MPX() .. "AWD_FM_SHOOTRANG_GRAN_WON", true) - stats.set_bool(MPX() .. "AWD_FMWINEVERYGAMEMODE", true) - stats.set_int(MPX() .. "AWD_WIN_CAPTURES", 50) - stats.set_int(MPX() .. "AWD_WIN_CAPTURE_DONT_DYING", 25) - stats.set_int(MPX() .. "AWD_WIN_LAST_TEAM_STANDINGS", 50) - stats.set_int(MPX() .. "AWD_ONLY_PLAYER_ALIVE_LTS", 50) - stats.set_int(MPX() .. "AWD_KILL_TEAM_YOURSELF_LTS", 25) - stats.set_int(MPX() .. "AIR_LAUNCHES_OVER_40M", 25) - stats.set_int(MPX() .. "AWD_CARS_EXPORTED", 50) - stats.set_int(MPX() .. "AWD_LESTERDELIVERVEHICLES", 25) - stats.set_int(MPX() .. "TOTAL_RACES_WON", 500) - stats.set_int(MPX() .. "TOTAL_RACES_LOST", 250) - stats.set_int(MPX() .. "TOTAL_CUSTOM_RACES_WON", 500) - stats.set_int(MPX() .. "TOTAL_DEATHMATCH_LOST", 250) - stats.set_int(MPX() .. "TOTAL_DEATHMATCH_WON", 500) - stats.set_int(MPX() .. "TOTAL_TDEATHMATCH_LOST", 250) - stats.set_int(MPX() .. "TOTAL_TDEATHMATCH_WON", 500) - stats.set_int(MPX() .. "SHOOTINGRANGE_WINS", 500) - stats.set_int(MPX() .. "SHOOTINGRANGE_LOSSES", 250) - stats.set_int(MPX() .. "TENNIS_MATCHES_WON", 500) - stats.set_int(MPX() .. "TENNIS_MATCHES_LOST", 250) - stats.set_int(MPX() .. "GOLF_WINS", 500) - stats.set_int(MPX() .. "GOLF_LOSSES", 250) - stats.set_int(MPX() .. "DARTS_TOTAL_WINS", 500) - stats.set_int(MPX() .. "DARTS_TOTAL_MATCHES", 750) - stats.set_int(MPX() .. "SHOOTINGRANGE_TOTAL_MATCH", 800) - stats.set_int(MPX() .. "BJ_WINS", 500) - stats.set_int(MPX() .. "BJ_LOST", 250) - stats.set_int(MPX() .. "RACE_2_POINT_WINS", 500) - stats.set_int(MPX() .. "RACE_2_POINT_LOST", 250) - stats.set_int(MPX() .. "KILLS_PLAYERS", 3593) - stats.set_int(MPX() .. "DEATHS_PLAYER", 1002) - stats.set_int(MPX() .. "MISSIONS_CREATED", 500) - stats.set_int(MPX() .. "LTS_CREATED", 500) - stats.set_int(MPX() .. "FM_MISSION_LIKES", 1500) + 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) + 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 + 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) + 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) + 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) + 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") @@ -2208,754 +2319,754 @@ 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) + 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 + 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 + 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) + stats.set_int(MPX() .. "GANGOPS_HEIST_STATUS", -1) + stats.set_int(MPX() .. "GANGOPS_HEIST_STATUS", -229384) + stats.set_int(MPX() .. "GANGOPS_FM_MISSION_PROG", -1) + stats.set_int(MPX() .. "GANGOPS_FLOW_MISSION_PROG", -1) + stats.set_int("MPPLY_GANGOPS_ALLINORDER", 100) + stats.set_int("MPPLY_GANGOPS_LOYALTY", 100) + stats.set_int("MPPLY_GANGOPS_CRIMMASMD", 100) + stats.set_int("MPPLY_GANGOPS_LOYALTY2", 100) + stats.set_int("MPPLY_GANGOPS_LOYALTY3", 100) + stats.set_int("MPPLY_GANGOPS_CRIMMASMD2", 100) + stats.set_int("MPPLY_GANGOPS_CRIMMASMD3", 100) + stats.set_int("MPPLY_GANGOPS_SUPPORT", 100) + stats.set_int(MPX() .. "CR_GANGOP_MORGUE", 10) + stats.set_int(MPX() .. "CR_GANGOP_DELUXO", 10) + stats.set_int(MPX() .. "CR_GANGOP_SERVERFARM", 10) + stats.set_int(MPX() .. "CR_GANGOP_IAABASE_FIN", 10) + stats.set_int(MPX() .. "CR_GANGOP_STEALOSPREY", 10) + stats.set_int(MPX() .. "CR_GANGOP_FOUNDRY", 10) + stats.set_int(MPX() .. "CR_GANGOP_RIOTVAN", 10) + stats.set_int(MPX() .. "CR_GANGOP_SUBMARINECAR", 10) + stats.set_int(MPX() .. "CR_GANGOP_SUBMARINE_FIN", 10) + stats.set_int(MPX() .. "CR_GANGOP_PREDATOR", 10) + stats.set_int(MPX() .. "CR_GANGOP_BMLAUNCHER", 10) + stats.set_int(MPX() .. "CR_GANGOP_BCCUSTOM", 10) + stats.set_int(MPX() .. "CR_GANGOP_STEALTHTANKS", 10) + stats.set_int(MPX() .. "CR_GANGOP_SPYPLANE", 10) + stats.set_int(MPX() .. "CR_GANGOP_FINALE", 10) + stats.set_int(MPX() .. "CR_GANGOP_FINALE_P2", 10) + stats.set_int(MPX() .. "CR_GANGOP_FINALE_P3", 10) + stats.set_bool("MPPLY_AWD_GANGOPS_IAA", true) + stats.set_bool("MPPLY_AWD_GANGOPS_SUBMARINE", true) + stats.set_bool("MPPLY_AWD_GANGOPS_MISSILE", true) + stats.set_bool("MPPLY_AWD_GANGOPS_ALLINORDER", true) + stats.set_bool("MPPLY_AWD_GANGOPS_LOYALTY", true) + stats.set_bool("MPPLY_AWD_GANGOPS_LOYALTY2", true) + stats.set_bool("MPPLY_AWD_GANGOPS_LOYALTY3", true) + stats.set_bool("MPPLY_AWD_GANGOPS_CRIMMASMD", true) + stats.set_bool("MPPLY_AWD_GANGOPS_CRIMMASMD2", true) + stats.set_bool("MPPLY_AWD_GANGOPS_CRIMMASMD3", true) + stats.set_bool("MPPLY_AWD_GANGOPS_SUPPORT", true) + for j = 0, 63 do + stats.set_bool_masked(MPX() .. "GANGOPSPSTAT_BOOL0", true, j) + end + stats.set_masked_int(MPX() .. "DLCSMUGCHARPSTAT_INT260", 3, 16, 8) + stats.set_masked_int(MPX() .. "BUSINESSBATPSTAT_INT260", 3, 24, 8) + stats.set_masked_int(MPX() .. "BUSINESSBATPSTAT_INT260", 3, 32, 8) + stats.set_masked_int(MPX() .. "BUSINESSBATPSTAT_INT260", 3, 40, 8) + stats.set_masked_int(MPX() .. "BUSINESSBATPSTAT_INT260", 3, 48, 8) end) DLCAUM = AUM:add_tab("DLC Awards Menu") DLCAUM:add_button("The Kortz Center Heist", function() - stats.set_bool(MPX() .. "AWD_SCOPING", true) - stats.set_int(MPX() .. "AWD_PREPPER", 20) - stats.set_bool(MPX() .. "AWD_ADAPTABLE", true) - stats.set_bool(MPX() .. "AWD_KORTZCENTERHEIST", true) - stats.set_bool(MPX() .. "AWD_FINDSAWAY", true) - stats.set_bool(MPX() .. "AWD_WHOSTHERE", true) - stats.set_bool(MPX() .. "AWD_ELITETHIEF", true) - stats.set_bool(MPX() .. "AWD_NOLIFER", true) - stats.set_bool(MPX() .. "AWD_SOLITUDE", true) - stats.set_bool(MPX() .. "AWD_COORDINATION", true) - stats.set_bool(MPX() .. "AWD_FLEXIBLETHIEF", true) - stats.set_int(MPX() .. "AWD_REPEATOFFENDER", 20) - stats.set_int(MPX() .. "AWD_FULLBAGS", 5000000) - stats.set_bool(MPX() .. "AWD_HIDDENINPLAINSIGHT", true) - stats.set_int(MPX() .. "AWD_CURATOR", 5) - stats.set_int(MPX() .. "AWD_LAPIDARY", 5) - stats.set_bool(MPX() .. "AWD_PACIFIST", true) - stats.set_bool(MPX() .. "AWD_PUTRIDPILFERING", true) - stats.set_bool(MPX() .. "AWD_METEORITICS", true) + stats.set_bool(MPX() .. "AWD_SCOPING", true) + stats.set_int(MPX() .. "AWD_PREPPER", 20) + stats.set_bool(MPX() .. "AWD_ADAPTABLE", true) + stats.set_bool(MPX() .. "AWD_KORTZCENTERHEIST", true) + stats.set_bool(MPX() .. "AWD_FINDSAWAY", true) + stats.set_bool(MPX() .. "AWD_WHOSTHERE", true) + stats.set_bool(MPX() .. "AWD_ELITETHIEF", true) + stats.set_bool(MPX() .. "AWD_NOLIFER", true) + stats.set_bool(MPX() .. "AWD_SOLITUDE", true) + stats.set_bool(MPX() .. "AWD_COORDINATION", true) + stats.set_bool(MPX() .. "AWD_FLEXIBLETHIEF", true) + stats.set_int(MPX() .. "AWD_REPEATOFFENDER", 20) + stats.set_int(MPX() .. "AWD_FULLBAGS", 5000000) + stats.set_bool(MPX() .. "AWD_HIDDENINPLAINSIGHT", true) + stats.set_int(MPX() .. "AWD_CURATOR", 5) + stats.set_int(MPX() .. "AWD_LAPIDARY", 5) + stats.set_bool(MPX() .. "AWD_PACIFIST", true) + stats.set_bool(MPX() .. "AWD_PUTRIDPILFERING", true) + stats.set_bool(MPX() .. "AWD_METEORITICS", true) end) DLCAUM:add_button("A Safehouse In The Hills", function() - stats.set_bool(MPX() .. "AWD_NEGATIVEPRESS", true) - stats.set_bool(MPX() .. "AWD_USESELFDRIVINGVEH", true) - stats.set_bool(MPX() .. "AWD_LIONSDEN", true) - stats.set_bool(MPX() .. "AWD_TAKEOUTLEADEXPLO", true) - stats.set_bool(MPX() .. "AWD_SUBWAYTRAIN", true) - stats.set_bool(MPX() .. "AWD_SUBWAYSTUNTJUMP", true) - stats.set_bool(MPX() .. "AWD_TRASHCOLLECTORS", true) - stats.set_bool(MPX() .. "AWD_ALLTRASHCOLLECTED", true) - stats.set_bool(MPX() .. "AWD_FIBFINALE", true) - stats.set_bool(MPX() .. "AWD_HELPER", true) - stats.set_bool(MPX() .. "AWD_FIBFINALECHALLENGE", true) - stats.set_bool(MPX() .. "AWD_MANSIONDEFEND", true) - stats.set_bool(MPX() .. "AWD_DEFLOWMOTIONKILLS", true) - stats.set_bool(MPX() .. "AWD_YOUVEMADEIT", true) - stats.set_bool(MPX() .. "AWD_ANIMALLOVER", true) - stats.set_bool(MPX() .. "AWD_MANSADVERSARYWIN", true) - stats.set_bool(MPX() .. "AWD_ONTHECLOCK", true) - stats.set_int(MPX() .. "AWD_TAXIDESTRUCTION", 20) - stats.set_int(MPX() .. "AWD_YOGA", 50) - stats.set_int(MPX() .. "AWD_JUICEDUP", 100) - stats.set_int(MPX() .. "AWD_MANADVERSARYDEFUSE", 10) - stats.set_int(MPX() .. "AWD_FIREFIGHTER", 20) - stats.set_int(MPX() .. "AWD_ALPHAMAIL", 20) - stats.set_int(MPX() .. "AWD_LOSSANTOSMETEOR", 20) + 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) + 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) + 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 + 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 + 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 + 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 + 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 + 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 + 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) -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- @@ -2965,76 +3076,78 @@ FAUT = RecoveryMenu:add_tab("Full Account Unlock Menu") ensureOnlineGuard(FAUT) FAUT:add_imgui(function() - if isOffline() then return end + if isOffline() then + return + end - if ImGui.Button("Unlock WM 29 Pistol") then - script.run_in_fiber(function(WM29) - script.execute_as_script("shop_controller", function() - if NETSHOPPING.NET_GAMESERVER_BASKET_IS_ACTIVE() then - NETSHOPPING.NET_GAMESERVER_BASKET_END() - end - local state, id = NETSHOPPING.NET_GAMESERVER_BEGIN_SERVICE( - -1, - joaat("CATEGORY_WEAPON"), - joaat("WP_WT_PISTOLXM3_t0_v0"), - joaat("NET_SHOP_ACTION_SPEND"), - 0, - 4 - ) - if state then - NETSHOPPING.NET_GAMESERVER_CHECKOUT_START(id) - gui.show_message("WM29", "WM29 is now Unlocked Change Session To Apply Changes.") - end - end) - end) - end + if ImGui.Button("Unlock WM 29 Pistol") then + script.run_in_fiber(function(WM29) + script.execute_as_script("shop_controller", function() + if NETSHOPPING.NET_GAMESERVER_BASKET_IS_ACTIVE() then + NETSHOPPING.NET_GAMESERVER_BASKET_END() + end + local state, id = NETSHOPPING.NET_GAMESERVER_BEGIN_SERVICE( + -1, + joaat("CATEGORY_WEAPON"), + joaat("WP_WT_PISTOLXM3_t0_v0"), + joaat("NET_SHOP_ACTION_SPEND"), + 0, + 4 + ) + if state then + NETSHOPPING.NET_GAMESERVER_CHECKOUT_START(id) + gui.show_message("WM29", "WM29 is now Unlocked Change Session To Apply Changes.") + end + end) + end) + end - if ImGui.Button("Unlock The Shocker") then - script.run_in_fiber(function(THESHOCKER) - script.execute_as_script("shop_controller", function() - if NETSHOPPING.NET_GAMESERVER_BASKET_IS_ACTIVE() then - NETSHOPPING.NET_GAMESERVER_BASKET_END() - end - local state, id = NETSHOPPING.NET_GAMESERVER_BEGIN_SERVICE( - -1, - joaat("CATEGORY_WEAPON"), - joaat("WP_WT_STUNROD_t1_v1"), - joaat("NET_SHOP_ACTION_SPEND"), - 0, - 4 - ) - if state then - NETSHOPPING.NET_GAMESERVER_CHECKOUT_START(id) - gui.show_message("The Shocker", "The Shocker is now Unlocked Change Session To Apply Changes.") - end - end) - end) - end + if ImGui.Button("Unlock The Shocker") then + script.run_in_fiber(function(THESHOCKER) + script.execute_as_script("shop_controller", function() + if NETSHOPPING.NET_GAMESERVER_BASKET_IS_ACTIVE() then + NETSHOPPING.NET_GAMESERVER_BASKET_END() + end + local state, id = NETSHOPPING.NET_GAMESERVER_BEGIN_SERVICE( + -1, + joaat("CATEGORY_WEAPON"), + joaat("WP_WT_STUNROD_t1_v1"), + joaat("NET_SHOP_ACTION_SPEND"), + 0, + 4 + ) + if state then + NETSHOPPING.NET_GAMESERVER_CHECKOUT_START(id) + gui.show_message("The Shocker", "The Shocker is now Unlocked Change Session To Apply Changes.") + end + end) + end) + end - if ImGui.Button("Unlock The Snowball Launcher") then - script.run_in_fiber(function(SNOWBALLLAUNCHER) - script.execute_as_script("shop_controller", function() - if NETSHOPPING.NET_GAMESERVER_BASKET_IS_ACTIVE() then - NETSHOPPING.NET_GAMESERVER_BASKET_END() - end - local state, id = NETSHOPPING.NET_GAMESERVER_BEGIN_SERVICE( - -1, - joaat("CATEGORY_WEAPON"), - joaat("WP_WT_SNOWLAUNCHER_t0_v0"), - joaat("NET_SHOP_ACTION_SPEND"), - 0, - 4 - ) - if state then - NETSHOPPING.NET_GAMESERVER_CHECKOUT_START(id) - gui.show_message( - "Snowball Launcher", - "Snowball Launcher is now Unlocked Change Session To Apply Changes." - ) - end - end) - end) - end + if ImGui.Button("Unlock The Snowball Launcher") then + script.run_in_fiber(function(SNOWBALLLAUNCHER) + script.execute_as_script("shop_controller", function() + if NETSHOPPING.NET_GAMESERVER_BASKET_IS_ACTIVE() then + NETSHOPPING.NET_GAMESERVER_BASKET_END() + end + local state, id = NETSHOPPING.NET_GAMESERVER_BEGIN_SERVICE( + -1, + joaat("CATEGORY_WEAPON"), + joaat("WP_WT_SNOWLAUNCHER_t0_v0"), + joaat("NET_SHOP_ACTION_SPEND"), + 0, + 4 + ) + if state then + NETSHOPPING.NET_GAMESERVER_CHECKOUT_START(id) + gui.show_message( + "Snowball Launcher", + "Snowball Launcher is now Unlocked Change Session To Apply Changes." + ) + end + end) + end) + end end) -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- @@ -3042,18 +3155,20 @@ end) CSU = FAUT:add_tab("Character's Stats") CSU:add_imgui(function() - if checkOnline() then return end + if checkOnline() then + return + end - if ImGui.Button("Max Character Skills") then - stats.set_int(MPX() .. "SCRIPT_INCREASE_DRIV", 100) - stats.set_int(MPX() .. "SCRIPT_INCREASE_FLY", 100) - stats.set_int(MPX() .. "SCRIPT_INCREASE_LUNG", 100) - stats.set_int(MPX() .. "SCRIPT_INCREASE_SHO", 100) - stats.set_int(MPX() .. "SCRIPT_INCREASE_STAM", 100) - stats.set_int(MPX() .. "SCRIPT_INCREASE_STL", 100) - stats.set_int(MPX() .. "SCRIPT_INCREASE_STRN", 100) - gui.show_message("Character Skills", "Your Character Skills Is Maxxed Out.") - end + if ImGui.Button("Max Character Skills") then + stats.set_int(MPX() .. "SCRIPT_INCREASE_DRIV", 100) + stats.set_int(MPX() .. "SCRIPT_INCREASE_FLY", 100) + stats.set_int(MPX() .. "SCRIPT_INCREASE_LUNG", 100) + stats.set_int(MPX() .. "SCRIPT_INCREASE_SHO", 100) + stats.set_int(MPX() .. "SCRIPT_INCREASE_STAM", 100) + stats.set_int(MPX() .. "SCRIPT_INCREASE_STL", 100) + stats.set_int(MPX() .. "SCRIPT_INCREASE_STRN", 100) + gui.show_message("Character Skills", "Your Character Skills Is Maxxed Out.") + end end) AcMenu = CSU:add_tab("Achievements") @@ -3061,254 +3176,255 @@ AcMenu = CSU:add_tab("Achievements") Acv0 = false AG = 4525223 + 1 --("CHEAT_ACHIEVE") - AcMenu:add_imgui(function() - if isOffline() then return end - if ImGui.Button("Unlock All Achievements") then - script.run_in_fiber(function(script) - for i = 0, 77 do - script:sleep(200) - globals.set_int(AG, i) - if i == 77 then - gui.show_message("Achievements", "Unlocked 77 Achievements") - end - end - end) - end + if isOffline() then + return + end + if ImGui.Button("Unlock All Achievements") then + script.run_in_fiber(function(script) + for i = 0, 77 do + script:sleep(200) + globals.set_int(AG, i) + if i == 77 then + gui.show_message("Achievements", "Unlocked 77 Achievements") + end + end + end) + end end) AcMMenu = AcMenu:add_tab("One By One Menu") AcMMenu:add_button("Welcome to Los Santos", function() - globals.set_int(AG, 1) + globals.set_int(AG, 1) end) AcMMenu:add_button("A Friendship Resurrected", function() - globals.set_int(AG, 2) + globals.set_int(AG, 2) end) AcMMenu:add_button("A Fair Day's Pay", function() - globals.set_int(AG, 3) + globals.set_int(AG, 3) end) AcMMenu:add_button("The Moment of Truth", function() - globals.set_int(AG, 4) + globals.set_int(AG, 4) end) AcMMenu:add_button("To Live or Die in Los Santos", function() - globals.set_int(AG, 5) + globals.set_int(AG, 5) end) AcMMenu:add_button("Diamond Hard", function() - globals.set_int(AG, 6) + globals.set_int(AG, 6) end) AcMMenu:add_button("Subversive", function() - globals.set_int(AG, 7) + globals.set_int(AG, 7) end) AcMMenu:add_button("Blitzed", function() - globals.set_int(AG, 8) + globals.set_int(AG, 8) end) AcMMenu:add_button("Small Town, Big Job", function() - globals.set_int(AG, 9) + globals.set_int(AG, 9) end) AcMMenu:add_button("The Government Gimps", function() - globals.set_int(AG, 10) + globals.set_int(AG, 10) end) AcMMenu:add_button("The Big One!", function() - globals.set_int(AG, 11) + globals.set_int(AG, 11) end) AcMMenu:add_button("Solid Gold, Baby!", function() - globals.set_int(AG, 12) + globals.set_int(AG, 12) end) AcMMenu:add_button("Career Criminal", function() - globals.set_int(AG, 13) + globals.set_int(AG, 13) end) AcMMenu:add_button("San Andreas Sightseer", function() - globals.set_int(AG, 14) + globals.set_int(AG, 14) end) AcMMenu:add_button("All's Fare in Love and War", function() - globals.set_int(AG, 15) + globals.set_int(AG, 15) end) AcMMenu:add_button("TP Industries Arms Race", function() - globals.set_int(AG, 16) + globals.set_int(AG, 16) end) AcMMenu:add_button("Multi-Disciplined", function() - globals.set_int(AG, 17) + globals.set_int(AG, 17) end) AcMMenu:add_button("From Beyond the Stars", function() - globals.set_int(AG, 18) + globals.set_int(AG, 18) end) AcMMenu:add_button("A Mystery, Solved", function() - globals.set_int(AG, 19) + globals.set_int(AG, 19) end) AcMMenu:add_button("Waste Management", function() - globals.set_int(AG, 20) + globals.set_int(AG, 20) end) AcMMenu:add_button("Red Mist", function() - globals.set_int(AG, 21) + globals.set_int(AG, 21) end) AcMMenu:add_button("Show Off", function() - globals.set_int(AG, 22) + globals.set_int(AG, 22) end) AcMMenu:add_button("Kifflom!", function() - globals.set_int(AG, 23) + globals.set_int(AG, 23) end) AcMMenu:add_button("Three Man Army", function() - globals.set_int(AG, 24) + globals.set_int(AG, 24) end) AcMMenu:add_button("Out of Your Depth", function() - globals.set_int(AG, 25) + globals.set_int(AG, 25) end) AcMMenu:add_button("Altruist Acolyte", function() - globals.set_int(AG, 26) + globals.set_int(AG, 26) end) AcMMenu:add_button("A Lot of Cheddar", function() - globals.set_int(AG, 27) + globals.set_int(AG, 27) end) AcMMenu:add_button("Trading Pure Alpha", function() - globals.set_int(AG, 28) + globals.set_int(AG, 28) end) AcMMenu:add_button("Pimp My Sidearm", function() - globals.set_int(AG, 29) + globals.set_int(AG, 29) end) AcMMenu:add_button("Wanted:Alive Or Alive", function() - globals.set_int(AG, 30) + globals.set_int(AG, 30) end) AcMMenu:add_button("Los Santos Customs", function() - globals.set_int(AG, 31) + globals.set_int(AG, 31) end) AcMMenu:add_button("Close Shave", function() - globals.set_int(AG, 32) + globals.set_int(AG, 32) end) AcMMenu:add_button("Off the Plane", function() - globals.set_int(AG, 33) + globals.set_int(AG, 33) end) AcMMenu:add_button("Three-Bit Gangster", function() - globals.set_int(AG, 34) + globals.set_int(AG, 34) end) AcMMenu:add_button("Making Moves", function() - globals.set_int(AG, 35) + globals.set_int(AG, 35) end) AcMMenu:add_button("Above the Law", function() - globals.set_int(AG, 36) + globals.set_int(AG, 36) end) AcMMenu:add_button("Numero Uno", function() - globals.set_int(AG, 37) + globals.set_int(AG, 37) end) AcMMenu:add_button("The Midnight Club", function() - globals.set_int(AG, 38) + globals.set_int(AG, 38) end) AcMMenu:add_button("Unnatural Selection", function() - globals.set_int(AG, 39) + globals.set_int(AG, 39) end) AcMMenu:add_button("Backseat Driver", function() - globals.set_int(AG, 40) + globals.set_int(AG, 40) end) AcMMenu:add_button("Run Like The Wind", function() - globals.set_int(AG, 41) + globals.set_int(AG, 41) end) AcMMenu:add_button("Clean Sweep", function() - globals.set_int(AG, 42) + globals.set_int(AG, 42) end) AcMMenu:add_button("Decorated", function() - globals.set_int(AG, 43) + globals.set_int(AG, 43) end) AcMMenu:add_button("Stick Up Kid", function() - globals.set_int(AG, 44) + globals.set_int(AG, 44) end) AcMMenu:add_button("Enjoy Your Stay", function() - globals.set_int(AG, 45) + globals.set_int(AG, 45) end) AcMMenu:add_button("Crew Cut", function() - globals.set_int(AG, 46) + globals.set_int(AG, 46) end) AcMMenu:add_button("Full Refund", function() - globals.set_int(AG, 47) + globals.set_int(AG, 47) end) AcMMenu:add_button("Dialling Digits", function() - globals.set_int(AG, 48) + globals.set_int(AG, 48) end) AcMMenu:add_button("American Dream", function() - globals.set_int(AG, 49) + globals.set_int(AG, 49) end) AcMMenu:add_button("A New Perspective", function() - globals.set_int(AG, 50) + globals.set_int(AG, 50) end) AcMMenu:add_button("Be Prepared", function() - globals.set_int(AG, 51) + globals.set_int(AG, 51) end) AcMMenu:add_button("In the Name of Science", function() - globals.set_int(AG, 52) + globals.set_int(AG, 52) end) AcMMenu:add_button("Dead Presidents", function() - globals.set_int(AG, 53) + globals.set_int(AG, 53) end) AcMMenu:add_button("Parole Day", function() - globals.set_int(AG, 54) + globals.set_int(AG, 54) end) AcMMenu:add_button("Shot Caller", function() - globals.set_int(AG, 55) + globals.set_int(AG, 55) end) AcMMenu:add_button("Four Way", function() - globals.set_int(AG, 56) + globals.set_int(AG, 56) end) AcMMenu:add_button("Live a Little", function() - globals.set_int(AG, 57) + globals.set_int(AG, 57) end) AcMMenu:add_button("Can't Touch This", function() - globals.set_int(AG, 58) + globals.set_int(AG, 58) end) AcMMenu:add_button("Mastermind", function() - globals.set_int(AG, 59) + globals.set_int(AG, 59) end) AcMMenu:add_button("Vinewood Visionary", function() - globals.set_int(AG, 60) + globals.set_int(AG, 60) end) AcMMenu:add_button("Majestic", function() - globals.set_int(AG, 61) + globals.set_int(AG, 61) end) AcMMenu:add_button("Humans of Los Santos", function() - globals.set_int(AG, 62) + globals.set_int(AG, 62) end) AcMMenu:add_button("First Time Director", function() - globals.set_int(AG, 63) + globals.set_int(AG, 63) end) AcMMenu:add_button("Animal Lover", function() - globals.set_int(AG, 64) + globals.set_int(AG, 64) end) AcMMenu:add_button("Ensemble Piece", function() - globals.set_int(AG, 65) + globals.set_int(AG, 65) end) AcMMenu:add_button("Cult Movie", function() - globals.set_int(AG, 66) + globals.set_int(AG, 66) end) AcMMenu:add_button("Location Scout", function() - globals.set_int(AG, 67) + globals.set_int(AG, 67) end) AcMMenu:add_button("Method Actor", function() - globals.set_int(AG, 68) + globals.set_int(AG, 68) end) AcMMenu:add_button("Cryptozoologist", function() - globals.set_int(AG, 69) + globals.set_int(AG, 69) end) AcMMenu:add_button("Getting Started", function() - globals.set_int(AG, 70) + globals.set_int(AG, 70) end) AcMMenu:add_button("The Data Breaches", function() - globals.set_int(AG, 71) + globals.set_int(AG, 71) end) AcMMenu:add_button("The Bogdan Problem", function() - globals.set_int(AG, 72) + globals.set_int(AG, 72) end) AcMMenu:add_button("The Doomsday Scenario", function() - globals.set_int(AG, 73) + globals.set_int(AG, 73) end) AcMMenu:add_button("A World Worth Saving", function() - globals.set_int(AG, 74) + globals.set_int(AG, 74) end) AcMMenu:add_button("Orbital Obliteration", function() - globals.set_int(AG, 75) + globals.set_int(AG, 75) end) AcMMenu:add_button("Elitist", function() - globals.set_int(AG, 76) + globals.set_int(AG, 76) end) AcMMenu:add_button("Masterminds", function() - globals.set_int(AG, 77) + globals.set_int(AG, 77) end) -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- @@ -3318,21 +3434,24 @@ local weekly_objectives_global = 2732111 --("am_challenges") local objectives_state_global = 1574746 --("am_challenges") FAUT:add_imgui(function() - if isOffline() then return end - if ImGui.Button("Complete All Daily & Weekly Challenges") then - script.run_in_fiber(function(script) - for i = 0, 2 do --Unlock all daily rewards. - local objective = globals.get_int(current_objectives_global + (1 + (0 * 5574)) + 681 + 4248 + (1 + (i * 3))) - globals.set_int(objectives_state_global + 1 + (1 + (i * 1)), objective) - end - globals.set_int(objectives_state_global, 1) - globals.set_int( - weekly_objectives_global + (1 + (0 * 6)) + 1, - globals.get_int(weekly_objectives_global + (1 + (0 * 6)) + 2) - ) --Unlock Weekly Objective - gui.show_message("Challenges", "All Daily And Weekly Challenges Are Now Completed.") - end) - end + if isOffline() then + return + end + if ImGui.Button("Complete All Daily & Weekly Challenges") then + script.run_in_fiber(function(script) + for i = 0, 2 do --Unlock all daily rewards. + local objective = + globals.get_int(current_objectives_global + (1 + (0 * 5574)) + 681 + 4248 + (1 + (i * 3))) + globals.set_int(objectives_state_global + 1 + (1 + (i * 1)), objective) + end + globals.set_int(objectives_state_global, 1) + globals.set_int( + weekly_objectives_global + (1 + (0 * 6)) + 1, + globals.get_int(weekly_objectives_global + (1 + (0 * 6)) + 2) + ) --Unlock Weekly Objective + gui.show_message("Challenges", "All Daily And Weekly Challenges Are Now Completed.") + end) + end end) -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- @@ -3340,24 +3459,24 @@ end) LSCMUnlockeRecoveryMenu = makeOnlineTab(RecoveryMenu:add_tab("LSCM Unlocker Menu")) LSCMUnlockeRecoveryMenu:add_button("Unlock All Rep Lvl 1000", function() - for i = FMg + 31047, FMg + 31076 do - globals.set_float(i, 100000) - end - gui.show_message( - "LSCM", - "LVL 1000 Activated Just Sit In The Test Drive Vehicle And Enter LSCM Track To See The Changes." - ) + 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.") + stats.set_bool(MPX() .. "CARMEET_PV_CHLLGE_CMPLT", true) + stats.set_bool(MPX() .. "CARMEET_PV_CLMED", false) + gui.show_message("LSCM", "Your Prize Car Is Now Unlocked.") end) LSCMUnlockeRecoveryMenu:add_button("Unlock Trade Prices for Headlights", function() - stats_set_packed_bools(24980, 24991, true) - gui.show_message("LSCM", "Trade Prices For Headlights Are Now Unlocked.") + 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") @@ -3402,50 +3521,60 @@ CARGO9 = FMg + 22589 local hanvalue = AirCargoMenu:add_input_int("Crate Value") AirCargoMenu:add_button("Set Value", function() - local HangarCrateVlaue = hanvalue:get_value() - globals.set_int(CARGO1, HangarCrateVlaue) - globals.set_int(CARGO2, HangarCrateVlaue) - globals.set_int(CARGO3, HangarCrateVlaue) - globals.set_int(CARGO4, HangarCrateVlaue) - globals.set_int(CARGO5, HangarCrateVlaue) - globals.set_int(CARGO6, HangarCrateVlaue) - globals.set_int(CARGO7, HangarCrateVlaue) - globals.set_int(CARGO8, HangarCrateVlaue) - globals.set_int(CARGO9, HangarCrateVlaue) - gui.show_message("Crate Value Setter", "Your Crates Values was set to " .. HangarCrateVlaue .. ".") + local HangarCrateVlaue = hanvalue:get_value() + globals.set_int(CARGO1, HangarCrateVlaue) + globals.set_int(CARGO2, HangarCrateVlaue) + globals.set_int(CARGO3, HangarCrateVlaue) + globals.set_int(CARGO4, HangarCrateVlaue) + globals.set_int(CARGO5, HangarCrateVlaue) + globals.set_int(CARGO6, HangarCrateVlaue) + globals.set_int(CARGO7, HangarCrateVlaue) + globals.set_int(CARGO8, HangarCrateVlaue) + globals.set_int(CARGO9, HangarCrateVlaue) + gui.show_message("Crate Value Setter", "Your Crates Values was set to " .. HangarCrateVlaue .. ".") end) AirCargoMenu:add_separator() RCRT = AirCargoMenu:add_checkbox("Remove Ron's Cut") script.register_looped("RonCutRemover", function(script) - script:yield() - if not network.is_session_started() or SCRIPT.GET_NUMBER_OF_THREADS_RUNNING_THE_SCRIPT_WITH_THIS_HASH(joaat("maintransition")) > 0 then return end - if RCRT:is_enabled() then - globals.set_float(FMg + 22564, 0) - else - globals.set_float(FMg + 22564, 0.025) - end + script:yield() + if + not network.is_session_started() + or SCRIPT.GET_NUMBER_OF_THREADS_RUNNING_THE_SCRIPT_WITH_THIS_HASH(joaat("maintransition")) > 0 + then + return + end + if RCRT:is_enabled() then + globals.set_float(FMg + 22564, 0) + else + globals.set_float(FMg + 22564, 0.025) + end end) AirCargoMenu:add_separator() PRPGD = AirCargoMenu:add_checkbox("Disable Player RP Gain") script.register_looped("PlayerRPGainDisabler", function(script) - script:yield() - if not network.is_session_started() or SCRIPT.GET_NUMBER_OF_THREADS_RUNNING_THE_SCRIPT_WITH_THIS_HASH(joaat("maintransition")) > 0 then return end - if PRPGD:is_enabled() then - globals.set_float(FMg + 1, 0) - else - globals.set_float(FMg + 1, 1) - end + script:yield() + if + not network.is_session_started() + or SCRIPT.GET_NUMBER_OF_THREADS_RUNNING_THE_SCRIPT_WITH_THIS_HASH(joaat("maintransition")) > 0 + then + return + end + if PRPGD:is_enabled() then + globals.set_float(FMg + 1, 0) + else + globals.set_float(FMg + 1, 1) + end end) AirCargoMenu:add_separator() AirCargoMenu:add_button("Open Hangar Screen", function() - SCRIPT.REQUEST_SCRIPT("apparcadebusinesshub") - SYSTEM.START_NEW_SCRIPT("apparcadebusinesshub", 8344) + SCRIPT.REQUEST_SCRIPT("apparcadebusinesshub") + SYSTEM.START_NEW_SCRIPT("apparcadebusinesshub", 8344) end) -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- @@ -3455,17 +3584,17 @@ AirCargoEditorMenu = makeOnlineTab(AirCargoMenu:add_tab("Air Cargo Data Editor") -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- AirCargoEditorMenu:add_button("Reset Crate Sell Stats-0/0 Sales", function() - stats.set_int(MPX() .. "LFETIME_HANGAR_BUY_COMPLET", 0) - stats.set_int(MPX() .. "LFETIME_HANGAR_BUY_UNDERTAK", 0) - stats.set_int(MPX() .. "LFETIME_HANGAR_SEL_COMPLET", 0) - stats.set_int(MPX() .. "LFETIME_HANGAR_SEL_UNDERTAK", 0) - stats.set_int(MPX() .. "LFETIME_HANGAR_EARNINGS", 0) - stats.set_int(MPX() .. "HANGAR_CONTRABAND_TOTAL", 0) - stats.set_int(MPX() .. "LFETIME_HANGAR_EARN_BONUS", 0) - stats.set_int(MPX() .. "RIVAL_HANGAR_CRATES_STOLEN", 0) - globals.set_int(CSg1, 11) - globals.set_int(CSg2, 1) - globals.set_int(CSg2, 0) + stats.set_int(MPX() .. "LFETIME_HANGAR_BUY_COMPLET", 0) + stats.set_int(MPX() .. "LFETIME_HANGAR_BUY_UNDERTAK", 0) + stats.set_int(MPX() .. "LFETIME_HANGAR_SEL_COMPLET", 0) + stats.set_int(MPX() .. "LFETIME_HANGAR_SEL_UNDERTAK", 0) + stats.set_int(MPX() .. "LFETIME_HANGAR_EARNINGS", 0) + stats.set_int(MPX() .. "HANGAR_CONTRABAND_TOTAL", 0) + stats.set_int(MPX() .. "LFETIME_HANGAR_EARN_BONUS", 0) + stats.set_int(MPX() .. "RIVAL_HANGAR_CRATES_STOLEN", 0) + globals.set_int(CSg1, 11) + globals.set_int(CSg2, 1) + globals.set_int(CSg2, 0) end) -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- @@ -3506,72 +3635,79 @@ local am2 = "am_mp_peds" cratevalue = 0 CeoManagerMenu:add_imgui(function() - if checkOnline() then return end - cratevalue, used = ImGui.DragInt("Crate Value", cratevalue, 10000, 0, 6000000) - if used then - globals.set_int(CEO1, cratevalue) - end + if checkOnline() then + return + end + cratevalue, used = ImGui.DragInt("Crate Value", cratevalue, 10000, 0, 6000000) + if used then + globals.set_int(CEO1, cratevalue) + end end) checkbox = CeoManagerMenu:add_checkbox("Start Ceo Manager") PRPGD = CeoManagerMenu:add_checkbox("Disable Player RP Gain") script.register_looped("PlayerRPGainDisabler", function(script) - script:yield() - if PRPGD:is_enabled() then - globals.set_float(FMg + 1, 0) - else - globals.set_float(FMg + 1, 1) - end + script:yield() + if PRPGD:is_enabled() then + globals.set_float(FMg + 1, 0) + else + globals.set_float(FMg + 1, 1) + end end) CeoManagerMenu:add_button("Open Warehouse Screen", function() - SCRIPT.REQUEST_SCRIPT("apparcadebusinesshub") - SYSTEM.START_NEW_SCRIPT("apparcadebusinesshub", 8344) + SCRIPT.REQUEST_SCRIPT("apparcadebusinesshub") + SYSTEM.START_NEW_SCRIPT("apparcadebusinesshub", 8344) end) script.register_looped("yimceoloop", function(script) - script:yield() - if not network.is_session_started() or SCRIPT.GET_NUMBER_OF_THREADS_RUNNING_THE_SCRIPT_WITH_THIS_HASH(joaat("maintransition")) > 0 then return end - -- removed useless call - globals.set_int(CEO2, 0) - globals.set_int(CEO3, 0) + script:yield() + if + not network.is_session_started() + or SCRIPT.GET_NUMBER_OF_THREADS_RUNNING_THE_SCRIPT_WITH_THIS_HASH(joaat("maintransition")) > 0 + then + return + end + -- removed useless call + globals.set_int(CEO2, 0) + globals.set_int(CEO3, 0) - if checkbox:is_enabled() == true then - if locals.get_int(ci, 2) == 1 then - locals.set_int(ci, SMC5, 1) - locals.set_int(ci, SMC4, 0) - locals.set_int(ci, SMC3, 0) - locals.set_int(ci, SMC2, 7) - script:sleep(500) - locals.set_int(ci, SMC1, 99999) - end - if locals.get_int(cs, 2) == 1 then - script:sleep(500) - locals.set_int(cs, SMC8, 1) - script:sleep(200) - locals.set_int(cs, SMC7, 1) - script:sleep(200) - locals.set_int(cs, SMC6, 3012) - script:sleep(1000) - end - if locals.get_int(cb, 2) == 1 then - locals.set_int(cb, SMC9, 1) - locals.set_int(cb, SMC10, 111) - locals.set_int(cb, SMC11, 6) - locals.set_int(cb, SMC12, 4) - gui.show_message("Your Warehouse is now full! 111/111 Crates") - end - if locals.get_int(ci, 2) ~= 1 then - script:sleep(500) - if locals.get_int(am, 2) == 1 then - SCRIPT.REQUEST_SCRIPT("appsecuroserv") - SYSTEM.START_NEW_SCRIPT("appsecuroserv", 8344) - SCRIPT.SET_SCRIPT_AS_NO_LONGER_NEEDED("appsecuroserv") - end - end - end - script:sleep(500) + if checkbox:is_enabled() == true then + if locals.get_int(ci, 2) == 1 then + locals.set_int(ci, SMC5, 1) + locals.set_int(ci, SMC4, 0) + locals.set_int(ci, SMC3, 0) + locals.set_int(ci, SMC2, 7) + script:sleep(500) + locals.set_int(ci, SMC1, 99999) + end + if locals.get_int(cs, 2) == 1 then + script:sleep(500) + locals.set_int(cs, SMC8, 1) + script:sleep(200) + locals.set_int(cs, SMC7, 1) + script:sleep(200) + locals.set_int(cs, SMC6, 3012) + script:sleep(1000) + end + if locals.get_int(cb, 2) == 1 then + locals.set_int(cb, SMC9, 1) + locals.set_int(cb, SMC10, 111) + locals.set_int(cb, SMC11, 6) + locals.set_int(cb, SMC12, 4) + gui.show_message("Your Warehouse is now full! 111/111 Crates") + end + if locals.get_int(ci, 2) ~= 1 then + script:sleep(500) + if locals.get_int(am, 2) == 1 then + SCRIPT.REQUEST_SCRIPT("appsecuroserv") + SYSTEM.START_NEW_SCRIPT("appsecuroserv", 8344) + SCRIPT.SET_SCRIPT_AS_NO_LONGER_NEEDED("appsecuroserv") + end + end + end + script:sleep(500) end) -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- @@ -3585,191 +3721,221 @@ IncomeEnd = 23765 --NIGHTCLUBINCOMEUPTOPOP100 NCRSCB = NightClubSafeMenu:add_checkbox("Enable Nitghtclub $300k/5s (Safe Remote AFK)") script.register_looped("nightclubremotelooptest", function(script) - script:yield() - if not network.is_session_started() or SCRIPT.GET_NUMBER_OF_THREADS_RUNNING_THE_SCRIPT_WITH_THIS_HASH(joaat("maintransition")) > 0 then return end - if NCRSCB:is_enabled() == true then - SafeValue = 1845298 + self.get_id() + 260 + 364 + 5 --("am_mp_nightclub") or we can just use TUNEABLE: NIGHTCLUBMAXSAFEVALUE - for i = IncomeStart, IncomeEnd do - globals.set_int(FMg + i, SafeAmount) - end - globals.set_int(FMg + SafeCapacity, SafeAmount) - stats.set_int(MPX() .. "CLUB_PAY_TIME_LEFT", -1) - script:sleep(2500) - if globals.get_int(SafeValue) ~= 0 then - end - locals.set_int("am_mp_nightclub", NLCl, 1) - globals.set_int(4516981, 0) - globals.set_int(4516982, 0) - globals.set_int(4516983, 0) - script:sleep(2500) - end + script:yield() + if + not network.is_session_started() + or SCRIPT.GET_NUMBER_OF_THREADS_RUNNING_THE_SCRIPT_WITH_THIS_HASH(joaat("maintransition")) > 0 + then + return + end + if NCRSCB:is_enabled() == true then + SafeValue = 1845298 + self.get_id() + 260 + 364 + 5 --("am_mp_nightclub") or we can just use TUNEABLE: NIGHTCLUBMAXSAFEVALUE + for i = IncomeStart, IncomeEnd do + globals.set_int(FMg + i, SafeAmount) + end + globals.set_int(FMg + SafeCapacity, SafeAmount) + stats.set_int(MPX() .. "CLUB_PAY_TIME_LEFT", -1) + script:sleep(2500) + if globals.get_int(SafeValue) ~= 0 then + end + locals.set_int("am_mp_nightclub", NLCl, 1) + globals.set_int(4516981, 0) + globals.set_int(4516982, 0) + globals.set_int(4516983, 0) + script:sleep(2500) + end end) NightClubSafeMenu:add_separator() NightClubSafeMenu:add_button("Open Nightclub Screen", function() - SYSTEM.START_NEW_SCRIPT("appBusinessHub", 1424) + SYSTEM.START_NEW_SCRIPT("appBusinessHub", 1424) end) -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- local GVMENU = makeOnlineTab(L7NEG:add_tab("Gun Van Menu ")) +-- Rainbow color function +function gunvan_rainbow_color(offset) + local time = os.clock() * 2 + local r = math.sin(time + offset) * 0.5 + 0.5 + local g = math.sin(time + offset + 2.094) * 0.5 + 0.5 + local b = math.sin(time + offset + 4.188) * 0.5 + 0.5 + return r, g, b, 1.0 +end + +-- Help marker function with rainbow colored icon +function gunvan_help_marker(text) + ImGui.SameLine() + local r, g, b, a = gunvan_rainbow_color(0) + ImGui.PushStyleColor(ImGuiCol.Text, r, g, b, a) + ImGui.Text("[?]") + ImGui.PopStyleColor() + if ImGui.IsItemHovered() then + ImGui.BeginTooltip() + ImGui.PushTextWrapPos(ImGui.GetFontSize() * 35) + ImGui.TextUnformatted(text) + ImGui.PopTextWrapPos() + ImGui.EndTooltip() + end +end + local gunvan_locations = { - vec3:new(-29.532, 6435.136, 31.162), - vec3:new(1705.214, 4819.167, 41.75), - vec3:new(1795.522, 3899.753, 33.869), - vec3:new(1335.536, 2758.746, 51.099), - vec3:new(795.583, 1210.78, 338.962), - vec3:new(-3192.67, 1077.205, 20.594), - vec3:new(-789.719, 5400.921, 33.915), - vec3:new(-24.384, 3048.167, 40.703), - vec3:new(2666.786, 1469.324, 24.237), - vec3:new(-1454.966, 2667.503, 3.2), - vec3:new(2340.418, 3054.188, 47.888), - vec3:new(1509.183, -2146.795, 76.853), - vec3:new(1137.404, -1358.654, 34.322), - vec3:new(-57.208, -2658.793, 5.737), - vec3:new(1905.017, 565.222, 175.558), - vec3:new(974.484, -1718.798, 30.296), - vec3:new(779.077, -3266.297, 5.719), - vec3:new(-587.728, -1637.208, 19.611), - vec3:new(733.99, -736.803, 26.165), - vec3:new(-1694.632, -454.082, 40.712), - vec3:new(-1330.726, -1163.948, 4.313), - vec3:new(-496.618, 40.231, 52.316), - vec3:new(275.527, 66.509, 94.108), - vec3:new(260.928, -763.35, 30.559), - vec3:new(-478.025, -741.45, 30.299), - vec3:new(894.94, 3603.911, 32.56), - vec3:new(-2166.511, 4289.503, 48.733), - vec3:new(1465.633, 6553.67, 13.771), - vec3:new(1101.032, -335.172, 66.944), - vec3:new(149.683, -1655.674, 29.028), + vec3:new(-29.532, 6435.136, 31.162), + vec3:new(1705.214, 4819.167, 41.75), + vec3:new(1795.522, 3899.753, 33.869), + vec3:new(1335.536, 2758.746, 51.099), + vec3:new(795.583, 1210.78, 338.962), + vec3:new(-3192.67, 1077.205, 20.594), + vec3:new(-789.719, 5400.921, 33.915), + vec3:new(-24.384, 3048.167, 40.703), + vec3:new(2666.786, 1469.324, 24.237), + vec3:new(-1454.966, 2667.503, 3.2), + vec3:new(2340.418, 3054.188, 47.888), + vec3:new(1509.183, -2146.795, 76.853), + vec3:new(1137.404, -1358.654, 34.322), + vec3:new(-57.208, -2658.793, 5.737), + vec3:new(1905.017, 565.222, 175.558), + vec3:new(974.484, -1718.798, 30.296), + vec3:new(779.077, -3266.297, 5.719), + vec3:new(-587.728, -1637.208, 19.611), + vec3:new(733.99, -736.803, 26.165), + vec3:new(-1694.632, -454.082, 40.712), + vec3:new(-1330.726, -1163.948, 4.313), + vec3:new(-496.618, 40.231, 52.316), + vec3:new(275.527, 66.509, 94.108), + vec3:new(260.928, -763.35, 30.559), + vec3:new(-478.025, -741.45, 30.299), + vec3:new(894.94, 3603.911, 32.56), + vec3:new(-2166.511, 4289.503, 48.733), + vec3:new(1465.633, 6553.67, 13.771), + vec3:new(1101.032, -335.172, 66.944), + vec3:new(149.683, -1655.674, 29.028), } local van_locations = { - "Paleto Bay - 1", - "Grapeseed - 2", - "Sandy Shores - 3", - "Grand Senora - 4", - "Vinewood Hills - 5", - "Chumash - 6", - "Paleto Forest - 7", - "Zancudo River - 8", - "Power Station - 9", - "Lago Zancudo - 10", - "Grand Senora - 11", - "El Burro Heights - 12", - "Murrieta Heights - 13", - "Elysian Island - 14", - "Tataviam - 15", - "La Mesa - 16", - "Terminal - 17", - "La Puerta - 18", - "La Mesa - 19", - "Del Perro - 20", - "Magellan Ave - 21", - "West Vinewood - 22", - "Downtown Vinewood - 23", - "Pillbox Hill - 24", - "Little Seoul - 25", - "Alamo Sea - 26", - "North Chumash - 27", - "Mount Chiliad - 28", - "Mirror Park - 29", - "Davis - 30", + "Paleto Bay - 1", + "Grapeseed - 2", + "Sandy Shores - 3", + "Grand Senora - 4", + "Vinewood Hills - 5", + "Chumash - 6", + "Paleto Forest - 7", + "Zancudo River - 8", + "Power Station - 9", + "Lago Zancudo - 10", + "Grand Senora - 11", + "El Burro Heights - 12", + "Murrieta Heights - 13", + "Elysian Island - 14", + "Tataviam - 15", + "La Mesa - 16", + "Terminal - 17", + "La Puerta - 18", + "La Mesa - 19", + "Del Perro - 20", + "Magellan Ave - 21", + "West Vinewood - 22", + "Downtown Vinewood - 23", + "Pillbox Hill - 24", + "Little Seoul - 25", + "Alamo Sea - 26", + "North Chumash - 27", + "Mount Chiliad - 28", + "Mirror Park - 29", + "Davis - 30", } local weapons_data = { - "WEAPON_KNIFE", - "WEAPON_NIGHTSTICK", - "WEAPON_HAMMER", - "WEAPON_BOTTLE", - "WEAPON_DAGGER", - "WEAPON_KNUCKLE", - "WEAPON_MACHETE", - "WEAPON_FLASHLIGHT", - "WEAPON_SWITCHBLADE", - "WEAPON_BATTLEAXE", - "WEAPON_POOLCUE", - "WEAPON_WRENCH", - "WEAPON_HATCHET", - "WEAPON_BAT", - "WEAPON_CROWBAR", - "WEAPON_STUNROD", - "WEAPON_PISTOL", - "WEAPON_PISTOL_MK2", - "WEAPON_COMBATPISTOL", - "WEAPON_APPISTOL", - "WEAPON_PISTOL50", - "WEAPON_SNSPISTOL", - "WEAPON_SNSPISTOL_MK2", - "WEAPON_HEAVYPISTOL", - "WEAPON_VINTAGEPISTOL", - "WEAPON_FLAREGUN", - "WEAPON_MARKSMANPISTOL", - "WEAPON_REVOLVER", - "WEAPON_REVOLVER_MK2", - "WEAPON_DOUBLEACTION", - "WEAPON_RAYPISTOL", - "WEAPON_CERAMICPISTOL", - "WEAPON_NAVYREVOLVER", - "WEAPON_GADGETPISTOL", - "WEAPON_STUNGUN_MP", - "WEAPON_MICROSMG", - "WEAPON_SMG", - "WEAPON_SMG_MK2", - "WEAPON_ASSAULTSMG", - "WEAPON_COMBATPDW", - "WEAPON_MACHINEPISTOL", - "WEAPON_MINISMG", - "WEAPON_MG", - "WEAPON_COMBATMG", - "WEAPON_COMBATMG_MK2", - "WEAPON_GUSENBERG", - "WEAPON_RAYCARBINE", - "WEAPON_ASSAULTRIFLE", - "WEAPON_ASSAULTRIFLE_MK2", - "WEAPON_CARBINERIFLE", - "WEAPON_CARBINERIFLE_MK2", - "WEAPON_ADVANCEDRIFLE", - "WEAPON_SPECIALCARBINE", - "WEAPON_SPECIALCARBINE_MK2", - "WEAPON_BULLPUPRIFLE", - "WEAPON_BULLPUPRIFLE_MK2", - "WEAPON_COMPACTRIFLE", - "WEAPON_MILITARYRIFLE", - "WEAPON_HEAVYRIFLE", - "WEAPON_TACTICALRIFLE", - "WEAPON_PUMPSHOTGUN", - "WEAPON_PUMPSHOTGUN_MK2", - "WEAPON_SAWNOFFSHOTGUN", - "WEAPON_ASSAULTSHOTGUN", - "WEAPON_BULLPUPSHOTGUN", - "WEAPON_MUSKET", - "WEAPON_HEAVYSHOTGUN", - "WEAPON_DBSHOTGUN", - "WEAPON_AUTOSHOTGUN", - "WEAPON_COMBATSHOTGUN", - "WEAPON_SNIPERRIFLE", - "WEAPON_HEAVYSNIPER", - "WEAPON_HEAVYSNIPER_MK2", - "WEAPON_MARKSMANRIFLE", - "WEAPON_MARKSMANRIFLE_MK2", - "WEAPON_PRECISIONRIFLE", - "WEAPON_GRENADELAUNCHER", - "WEAPON_RPG", - "WEAPON_MINIGUN", - "WEAPON_HOMINGLAUNCHER", - "WEAPON_COMPACTLAUNCHER", - "WEAPON_RAYMINIGUN", - "WEAPON_EMPLAUNCHER", - "WEAPON_RAILGUNXM3", - "WEAPON_TECPISTOL", - "WEAPON_FIREWORK", - "WEAPON_BATTLERIFLE", - "WEAPON_SNOWLAUNCHER", + "WEAPON_KNIFE", + "WEAPON_NIGHTSTICK", + "WEAPON_HAMMER", + "WEAPON_BOTTLE", + "WEAPON_DAGGER", + "WEAPON_KNUCKLE", + "WEAPON_MACHETE", + "WEAPON_FLASHLIGHT", + "WEAPON_SWITCHBLADE", + "WEAPON_BATTLEAXE", + "WEAPON_POOLCUE", + "WEAPON_WRENCH", + "WEAPON_HATCHET", + "WEAPON_BAT", + "WEAPON_CROWBAR", + "WEAPON_STUNROD", + "WEAPON_PISTOL", + "WEAPON_PISTOL_MK2", + "WEAPON_COMBATPISTOL", + "WEAPON_APPISTOL", + "WEAPON_PISTOL50", + "WEAPON_SNSPISTOL", + "WEAPON_SNSPISTOL_MK2", + "WEAPON_HEAVYPISTOL", + "WEAPON_VINTAGEPISTOL", + "WEAPON_FLAREGUN", + "WEAPON_MARKSMANPISTOL", + "WEAPON_REVOLVER", + "WEAPON_REVOLVER_MK2", + "WEAPON_DOUBLEACTION", + "WEAPON_RAYPISTOL", + "WEAPON_CERAMICPISTOL", + "WEAPON_NAVYREVOLVER", + "WEAPON_GADGETPISTOL", + "WEAPON_STUNGUN_MP", + "WEAPON_MICROSMG", + "WEAPON_SMG", + "WEAPON_SMG_MK2", + "WEAPON_ASSAULTSMG", + "WEAPON_COMBATPDW", + "WEAPON_MACHINEPISTOL", + "WEAPON_MINISMG", + "WEAPON_MG", + "WEAPON_COMBATMG", + "WEAPON_COMBATMG_MK2", + "WEAPON_GUSENBERG", + "WEAPON_RAYCARBINE", + "WEAPON_ASSAULTRIFLE", + "WEAPON_ASSAULTRIFLE_MK2", + "WEAPON_CARBINERIFLE", + "WEAPON_CARBINERIFLE_MK2", + "WEAPON_ADVANCEDRIFLE", + "WEAPON_SPECIALCARBINE", + "WEAPON_SPECIALCARBINE_MK2", + "WEAPON_BULLPUPRIFLE", + "WEAPON_BULLPUPRIFLE_MK2", + "WEAPON_COMPACTRIFLE", + "WEAPON_MILITARYRIFLE", + "WEAPON_HEAVYRIFLE", + "WEAPON_TACTICALRIFLE", + "WEAPON_PUMPSHOTGUN", + "WEAPON_PUMPSHOTGUN_MK2", + "WEAPON_SAWNOFFSHOTGUN", + "WEAPON_ASSAULTSHOTGUN", + "WEAPON_BULLPUPSHOTGUN", + "WEAPON_MUSKET", + "WEAPON_HEAVYSHOTGUN", + "WEAPON_DBSHOTGUN", + "WEAPON_AUTOSHOTGUN", + "WEAPON_COMBATSHOTGUN", + "WEAPON_SNIPERRIFLE", + "WEAPON_HEAVYSNIPER", + "WEAPON_HEAVYSNIPER_MK2", + "WEAPON_MARKSMANRIFLE", + "WEAPON_MARKSMANRIFLE_MK2", + "WEAPON_PRECISIONRIFLE", + "WEAPON_GRENADELAUNCHER", + "WEAPON_RPG", + "WEAPON_MINIGUN", + "WEAPON_HOMINGLAUNCHER", + "WEAPON_COMPACTLAUNCHER", + "WEAPON_RAYMINIGUN", + "WEAPON_EMPLAUNCHER", + "WEAPON_RAILGUNXM3", + "WEAPON_TECPISTOL", + "WEAPON_FIREWORK", + "WEAPON_BATTLERIFLE", + "WEAPON_SNOWLAUNCHER", } selected_loc = 0 @@ -3784,237 +3950,230 @@ weapon_name = "" gun_van_loc = 0 -function help_marker(text) - ImGui.SameLine() - ImGui.TextDisabled("(?)") - if ImGui.IsItemHovered() then - ImGui.BeginTooltip() - ImGui.PushTextWrapPos(ImGui.GetFontSize() * 35) - ImGui.TextUnformatted(text) - ImGui.PopTextWrapPos() - ImGui.EndTooltip() - end -end - function render_weapon_editor() - ImGui.SetNextWindowSize(700, 420) - ImGui.OpenPopup("Weapon Editor") + ImGui.SetNextWindowSize(700, 420) + ImGui.OpenPopup("Weapon Editor") - if - ImGui.BeginPopupModal( - "Weapon Editor", - weapon_editor_popup, - ImGuiWindowFlags.NoResize | ImGuiWindowFlags.NoCollapse | ImGuiWindowFlags.NoMove | ImGuiWindowFlags.Modal - ) - then - selected_slot = - ImGui.Combo("Select Slot", selected_slot, { "1", "2", "3", "4", "5", "6", "7", "8", "9", "10" }, 10) + if + ImGui.BeginPopupModal( + "Weapon Editor", + weapon_editor_popup, + ImGuiWindowFlags.NoResize | ImGuiWindowFlags.NoCollapse | ImGuiWindowFlags.NoMove | ImGuiWindowFlags.Modal + ) + then + selected_slot = + ImGui.Combo("Select Slot", selected_slot, { "1", "2", "3", "4", "5", "6", "7", "8", "9", "10" }, 10) - filter_text = ImGui.InputText("Weapon Name", filter_text, 100) - if ImGui.IsItemActive() then - is_typing = true - else - is_typing = false - end + filter_text = ImGui.InputText("Weapon Name", filter_text, 100) + if ImGui.IsItemActive() then + is_typing = true + else + is_typing = false + end - if ImGui.BeginListBox("##weapons", 450, 200) then - for index, item in ipairs(weapons_data) do - local display_name = weapons.get_weapon_display_name(item) - if string.find(display_name:lower(), filter_text:lower()) then - if ImGui.Selectable(display_name) then - filter_text = display_name - weapon_name = item - end - end - end - ImGui.EndListBox() - end + if ImGui.BeginListBox("##weapons", 450, 200) then + for index, item in ipairs(weapons_data) do + local display_name = weapons.get_weapon_display_name(item) + if string.find(display_name:lower(), filter_text:lower()) then + if ImGui.Selectable(display_name) then + filter_text = display_name + weapon_name = item + end + end + end + ImGui.EndListBox() + end - if ImGui.Button("Set Weapon") then - local is_weapon_valid = weapons.get_weapon_display_name(weapon_name) ~= "" + if ImGui.Button("Set Weapon") then + local is_weapon_valid = weapons.get_weapon_display_name(weapon_name) ~= "" - if is_weapon_valid then - tunables.set_int("XM22_GUN_VAN_SLOT_WEAPON_TYPE_" .. selected_slot, joaat(weapon_name)) - else - gui.show_error("Gun Van", "Invalid weapon.") - end - end + if is_weapon_valid then + tunables.set_int("XM22_GUN_VAN_SLOT_WEAPON_TYPE_" .. selected_slot, joaat(weapon_name)) + else + gui.show_error("Gun Van", "Invalid weapon.") + end + end - ImGui.SameLine() + ImGui.SameLine() - if ImGui.Button("Remove Weapon") then - tunables.set_int("XM22_GUN_VAN_SLOT_WEAPON_TYPE_" .. selected_slot, 0) - end + if ImGui.Button("Remove Weapon") then + tunables.set_int("XM22_GUN_VAN_SLOT_WEAPON_TYPE_" .. selected_slot, 0) + end - if ImGui.Button("Close") then - selected_slot = 0 - filter_text = "" - weapon_name = "" - weapon_editor_popup = false - ImGui.CloseCurrentPopup() - end + if ImGui.Button("Close") then + selected_slot = 0 + filter_text = "" + weapon_name = "" + weapon_editor_popup = false + ImGui.CloseCurrentPopup() + end - ImGui.EndPopup() - end + ImGui.EndPopup() + end end script.register_looped("Gun Van", function() - if not network.is_session_started() or SCRIPT.GET_NUMBER_OF_THREADS_RUNNING_THE_SCRIPT_WITH_THIS_HASH(joaat("maintransition")) > 0 then return end - gun_van_loc = globals.get_int(2652581 + 2706) + if + not network.is_session_started() + or SCRIPT.GET_NUMBER_OF_THREADS_RUNNING_THE_SCRIPT_WITH_THIS_HASH(joaat("maintransition")) > 0 + then + return + end + gun_van_loc = globals.get_int(2652581 + 2706) - if is_typing then - PAD.DISABLE_ALL_CONTROL_ACTIONS(0) - end + if is_typing then + PAD.DISABLE_ALL_CONTROL_ACTIONS(0) + end - if weapon_skins then - tunables.set_bool(1490225691, false) - end + if weapon_skins then + tunables.set_bool(1490225691, false) + end - if livery_lock then - local value = locals.get_int("gunclub_shop", 206 + 747) - if value ~= nil then - value = value | (1 << 8) - locals.set_int("gunclub_shop", 206 + 747, value) - end - end + if livery_lock then + local value = locals.get_int("gunclub_shop", 206 + 747) + if value ~= nil then + value = value | (1 << 8) + locals.set_int("gunclub_shop", 206 + 747, value) + end + end - if gta_plus_blip then - local gun_van_sprite = HUD.GET_FIRST_BLIP_INFO_ID(844) + if gta_plus_blip then + local gun_van_sprite = HUD.GET_FIRST_BLIP_INFO_ID(844) - tunables.set_float(15999531, 10000.0) - if HUD.DOES_BLIP_EXIST(gun_van_sprite) then - HUD.SET_BLIP_AS_SHORT_RANGE(gun_van_sprite, false) - end - end + tunables.set_float(15999531, 10000.0) + if HUD.DOES_BLIP_EXIST(gun_van_sprite) then + HUD.SET_BLIP_AS_SHORT_RANGE(gun_van_sprite, false) + end + end end) GVMENU:add_imgui(function() - if weapon_editor_popup then - render_weapon_editor() - end + if weapon_editor_popup then + render_weapon_editor() + end - ImGui.Text("Current Location: " .. (gun_van_loc ~= -1 and gun_van_loc + 1 or "N/A")) + ImGui.Text("Current Location: " .. (gun_van_loc ~= -1 and gun_van_loc + 1 or "N/A")) - ImGui.SetNextItemWidth(265) - selected_loc = ImGui.Combo("##selected_loc", selected_loc, van_locations, 30) + ImGui.SetNextItemWidth(265) + selected_loc = ImGui.Combo("##selected_loc", selected_loc, van_locations, 30) - ImGui.SameLine() + ImGui.SameLine() - if ImGui.Button("Set New Gun Van Location") then - globals.set_int(2652581 + 2706, selected_loc) - end + if ImGui.Button("Set New Gun Van Location") then + globals.set_int(2652581 + 2706, selected_loc) + end - ImGui.SameLine() + ImGui.SameLine() - if ImGui.Button("Teleport") then - script.run_in_fiber(function() - local coords = gunvan_locations[selected_loc + 1] - PED.SET_PED_COORDS_KEEP_VEHICLE(self.get_ped(), coords.x, coords.y, coords.z) - end) - end + if ImGui.Button("Teleport") then + script.run_in_fiber(function() + local coords = gunvan_locations[selected_loc + 1] + PED.SET_PED_COORDS_KEEP_VEHICLE(self.get_ped(), coords.x, coords.y, coords.z) + end) + end - weapon_skins, on_tick = ImGui.Checkbox("Weapon Skins", weapon_skins) - help_marker("Enables the special liveries for Knife and Baseball Bat.") + weapon_skins, on_tick = ImGui.Checkbox("Weapon Skins", weapon_skins) + gunvan_help_marker("Enables the special liveries for Knife and Baseball Bat.") - if on_tick then - if not weapon_skins then - tunables.set_bool(1490225691, true) - end - end + if on_tick then + if not weapon_skins then + tunables.set_bool(1490225691, true) + end + end - livery_lock, on_tick = ImGui.Checkbox("Remove Livery Lock", livery_lock) - help_marker( - "Removes the hard-coded lock on special weapon liveries, such as Season's Greetings, Employee of the Month etc." - ) + livery_lock, on_tick = ImGui.Checkbox("Remove Livery Lock", livery_lock) + gunvan_help_marker( + "Removes the hard-coded lock on special weapon liveries, such as Season's Greetings, Employee of the Month etc." + ) - if on_tick then - if not livery_lock then - local value = locals.get_int("gunclub_shop", 206 + 747) - if value ~= nil then - value = value & ~(1 << 8) - locals.set_int("gunclub_shop", 206 + 747, value) - end - end - end + if on_tick then + if not livery_lock then + local value = locals.get_int("gunclub_shop", 206 + 747) + if value ~= nil then + value = value & ~(1 << 8) + locals.set_int("gunclub_shop", 206 + 747, value) + end + end + end - gta_plus_blip, on_tick = ImGui.Checkbox("Blip Always Visible", gta_plus_blip) - help_marker("The Gun Van will always be blipped on the map, just like in GTA+.") + gta_plus_blip, on_tick = ImGui.Checkbox("Blip Always Visible", gta_plus_blip) + gunvan_help_marker("The Gun Van will always be blipped on the map, just like in GTA+.") - if on_tick then - if not gta_plus_blip then - tunables.set_float(15999531, 500.0) - end - end + if on_tick then + if not gta_plus_blip then + tunables.set_float(15999531, 500.0) + end + end - discount, on_tick = ImGui.Checkbox("Jewish Trade Skills (-10%)", discount) - help_marker("Allows 10% off off any weapon in gun van") + discount, on_tick = ImGui.Checkbox("Jewish Trade Skills (-10%)", discount) + gunvan_help_marker("Allows 10% off off any weapon in gun van") - if on_tick then - if discount then - globals_set_ints(GVADg + 1, GVADg + 9, 1, 1036831744) - globals_set_ints(GVTDg + 1, GVTDg + 3, 1, 1036831744) - globals_set_ints(GVWDg + 1, GVWDg + 5, 1, 1036831744) - else - globals_set_ints(GVADg + 1, GVADg + 9, 1, 0) - globals_set_ints(GVTDg + 1, GVTDg + 3, 1, 0) - globals_set_ints(GVWDg + 1, GVWDg + 5, 1, 0) - end - end - ImGui.Separator() + if on_tick then + if discount then + globals_set_ints(GVADg + 1, GVADg + 9, 1, 1036831744) + globals_set_ints(GVTDg + 1, GVTDg + 3, 1, 1036831744) + globals_set_ints(GVWDg + 1, GVWDg + 5, 1, 1036831744) + else + globals_set_ints(GVADg + 1, GVADg + 9, 1, 0) + globals_set_ints(GVTDg + 1, GVTDg + 3, 1, 0) + globals_set_ints(GVWDg + 1, GVWDg + 5, 1, 0) + end + end + ImGui.Separator() - if ImGui.TreeNode("Weapons") then - for i = 0, 9 do - local weapon_hash = tunables.get_int("XM22_GUN_VAN_SLOT_WEAPON_TYPE_" .. i) + if ImGui.TreeNode("Weapons") then + for i = 0, 9 do + local weapon_hash = tunables.get_int("XM22_GUN_VAN_SLOT_WEAPON_TYPE_" .. i) - if weapon_hash ~= 0 then - local weapon_name = weapons.get_weapon_display_name(weapon_hash) - local weapon_discount = - math.floor(tunables.get_float("XM22_GUN_VAN_SLOT_WEAPON_DISCOUNT_" .. i) * 100.0) + if weapon_hash ~= 0 then + local weapon_name = weapons.get_weapon_display_name(weapon_hash) + local weapon_discount = + math.floor(tunables.get_float("XM22_GUN_VAN_SLOT_WEAPON_DISCOUNT_" .. i) * 100.0) - ImGui.Text(i + 1 .. " - " .. weapon_name .. " (" .. weapon_discount .. "%)") - end - end + ImGui.Text(i + 1 .. " - " .. weapon_name .. " (" .. weapon_discount .. "%)") + end + end - if ImGui.Button("Edit Weapons") then - weapon_editor_popup = true - end + if ImGui.Button("Edit Weapons") then + weapon_editor_popup = true + end - ImGui.Separator() - ImGui.TreePop() - end + ImGui.Separator() + ImGui.TreePop() + end - if ImGui.TreeNode("Throwables") then - for i = 0, 2 do - local throwable_hash = tunables.get_int("XM22_GUN_VAN_SLOT_THROWABLE_TYPE_" .. i) + if ImGui.TreeNode("Throwables") then + for i = 0, 2 do + local throwable_hash = tunables.get_int("XM22_GUN_VAN_SLOT_THROWABLE_TYPE_" .. i) - if throwable_hash ~= 0 then - local throwable_name = weapons.get_weapon_display_name(throwable_hash) - local throwable_discount = - math.floor(tunables.get_float("XM22_GUN_VAN_SLOT_THROWABLE_DISCOUNT_" .. i) * 100.0) + if throwable_hash ~= 0 then + local throwable_name = weapons.get_weapon_display_name(throwable_hash) + local throwable_discount = + math.floor(tunables.get_float("XM22_GUN_VAN_SLOT_THROWABLE_DISCOUNT_" .. i) * 100.0) - ImGui.Text(i + 1 .. " - " .. throwable_name .. " (" .. throwable_discount .. "%)") - end - end + ImGui.Text(i + 1 .. " - " .. throwable_name .. " (" .. throwable_discount .. "%)") + end + end - ImGui.Separator() - ImGui.TreePop() - end + ImGui.Separator() + ImGui.TreePop() + end - if ImGui.TreeNode("Body Armor") then - local armour_discounts = {} + if ImGui.TreeNode("Body Armor") then + local armour_discounts = {} - for i = 0, 4 do - armour_discounts[i + 1] = math.floor(tunables.get_float("XM22_GUN_VAN_SLOT_ARMOUR_DISCOUNT_" .. i) * 100.0) - end + for i = 0, 4 do + armour_discounts[i + 1] = math.floor(tunables.get_float("XM22_GUN_VAN_SLOT_ARMOUR_DISCOUNT_" .. i) * 100.0) + end - ImGui.Text("Super Light Armor (" .. armour_discounts[1] .. "%)") - ImGui.Text("Light Armor (" .. armour_discounts[2] .. "%)") - ImGui.Text("Standard Armor (" .. armour_discounts[3] .. "%)") - ImGui.Text("Heavy Armor (" .. armour_discounts[4] .. "%)") - ImGui.Text("Super Heavy Armor (" .. armour_discounts[5] .. "%)") + ImGui.Text("Super Light Armor (" .. armour_discounts[1] .. "%)") + ImGui.Text("Light Armor (" .. armour_discounts[2] .. "%)") + ImGui.Text("Standard Armor (" .. armour_discounts[3] .. "%)") + ImGui.Text("Heavy Armor (" .. armour_discounts[4] .. "%)") + ImGui.Text("Super Heavy Armor (" .. armour_discounts[5] .. "%)") - ImGui.TreePop() - end + ImGui.TreePop() + end end) -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- @@ -4028,335 +4187,335 @@ local TAGET_BUILD = "3788.0" -- JSON LIBRARY (rxi's json.lua) -- ============================================================================ 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 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 escape_char_map_inv = { ["/"] = "/" } + for k, v in pairs(escape_char_map) do + escape_char_map_inv[v] = k + end - function escape_char(c) - return "\\" .. (escape_char_map[c] or string.format("u%04x", c:byte())) - end + function escape_char(c) + return "\\" .. (escape_char_map[c] or string.format("u%04x", c:byte())) + end - function encode_nil(val) - return "null" - end + function encode_nil(val) + return "null" + end - function encode_table(val, stack) - local res = {} - stack = stack or {} - if stack[val] then - error("circular reference") - end + function encode_table(val, stack) + local res = {} + stack = stack or {} + if stack[val] then + error("circular reference") + end - stack[val] = true + 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 + 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 - function encode_string(val) - return '"' .. val:gsub('[%z\1-\31\\"]', escape_char) .. '"' - end + function encode_string(val) + return '"' .. val:gsub('[%z\1-\31\\"]', escape_char) .. '"' + end - 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 + 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, - } + 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 + 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 + function json.encode(val) + return (encode(val)) + end - local parse + local parse - function create_set(...) - local res = {} - for i = 1, select("#", ...) do - res[select(i, ...)] = true - end - return res - end + 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 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 literal_map = { + ["true"] = true, + ["false"] = false, + ["null"] = nil, + } - 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 + 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 - 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 + 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 - 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 + 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 - 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 + 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 - function parse_string(str, i) - local res = "" - local j = i + 1 - local k = j + 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 + 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 - 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 + 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 - 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 + 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 - 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 + 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 - 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 + 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, - } + 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 + 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 + 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 + return json end -- ============================================================================ -- YIMCONFIG SYSTEM -- ============================================================================ function YimConfig(DEFAULT_CONFIG) - local json = JSON() - local script_json = string.format("%s.json", SCRIPT_NAME) - local yc = { - _version = "1.0.0", - _credits = [[ + 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 ¤ @@ -4366,102 +4525,102 @@ function YimConfig(DEFAULT_CONFIG) - Uses rxi's JSON Library: https://github.com/rxi/json.lua ]], - } + } - function file_exists(name) - local f = io.open(name, "r") - if f ~= nil then - f:close() - return true - else - return false - end - end + function file_exists(name) + local f = io.open(name, "r") + if f ~= nil then + f:close() + return true + else + return false + end + end - local writeToFile = function(data) - local file, _ = io.open(script_json, "w") - if file == nil then - log.warning("Failed to write to " .. script_json) - gui.show_error("YimConfig", "Failed to write to " .. script_json) - return false - end - file:write(json.encode(data)) - file:close() - return true - end + local 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 readFromFile = function() + local file, _ = io.open(script_json, "r") + if file == nil then + return nil + end + local content = file:read("*all") + file:close() + return json.decode(content) + end - local checkAndCreateConfig = function() - if DEFAULT_CONFIG == nil then - gui.show_error( - "YimConfig", - "Missing default config! Please create a default config table in your main script." - ) - error("[FATAL] Missing default config! Please create a default config global table in your main script.") - end - local exists = file_exists(script_json) - local config - if not exists then - log.debug("Config file not found! Creating a default config...") - return writeToFile(DEFAULT_CONFIG) - else - config = readFromFile() - if config == nil then - error("[FATAL] Failed to read config file!") - end + local checkAndCreateConfig = function() + if DEFAULT_CONFIG == nil then + gui.show_error( + "YimConfig", + "Missing default config! Please create a default config table in your main script." + ) + error("[FATAL] Missing default config! Please create a default config global table in your main script.") + end + local exists = file_exists(script_json) + local config + if not exists then + log.debug("Config file not found! Creating a default config...") + return writeToFile(DEFAULT_CONFIG) + else + config = readFromFile() + if config == nil then + error("[FATAL] Failed to read config file!") + end - for key, defaultValue in pairs(DEFAULT_CONFIG) do - if config[key] == nil then - config[key] = defaultValue - end - end - return writeToFile(config) - end - end + 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 + 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.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.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.reset = function() + writeToFile(DEFAULT_CONFIG) + end - yc.encode = json.encode - yc.decode = json.decode + yc.encode = json.encode + yc.decode = json.decode - return yc + return yc end -- ============================================================================ @@ -4470,1120 +4629,1121 @@ end local TAGET_BUILD = "3889" function GetBuildNumber() - local ptr = memory.scan_pattern("8B C3 33 D2 C6 44 24 20") - if ptr and not ptr:is_null() then - ptr = ptr:add(0x24) - if ptr and not ptr:is_null() then - ptr = ptr:rip() - if ptr and not ptr:is_null() then - return ptr:get_string() - end - end - end - return "Unknown" + local ptr = memory.scan_pattern("8B C3 33 D2 C6 44 24 20") + if ptr and not ptr:is_null() then + ptr = ptr:add(0x24) + if ptr and not ptr:is_null() then + ptr = ptr:rip() + if ptr and not ptr:is_null() then + return ptr:get_string() + end + end + end + return "Unknown" end function formatMoney(value) - return "$" .. tostring(value):reverse():gsub("%d%d%d", "%1,"):reverse():gsub("^,", "") + 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) + 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) + 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 + local G + if crates ~= nil then + if crates == 1 then + G = 15821 + end + if crates == 2 then + G = 15822 + end + if crates == 3 then + G = 15823 + end + if crates == 4 or crates == 5 then + G = 15824 + end + if crates == 6 or crates == 7 then + G = 15825 + end + if crates == 8 or crates == 9 then + G = 15826 + end + if crates >= 10 and crates <= 14 then + G = 15827 + end + if crates >= 15 and crates <= 19 then + G = 15828 + end + if crates >= 20 and crates <= 24 then + G = 15829 + end + if crates >= 25 and crates <= 29 then + G = 15830 + end + if crates >= 30 and crates <= 34 then + G = 15831 + end + if crates >= 35 and crates <= 39 then + G = 15832 + end + if crates >= 40 and crates <= 44 then + G = 15833 + end + if crates >= 45 and crates <= 49 then + G = 15834 + end + if crates >= 50 and crates <= 59 then + G = 15835 + end + if crates >= 60 and crates <= 69 then + G = 15836 + end + if crates >= 70 and crates <= 79 then + G = 15837 + end + if crates >= 80 and crates <= 89 then + G = 15838 + end + if crates >= 90 and crates <= 99 then + G = 15839 + end + if crates >= 100 and crates <= 110 then + G = 15840 + end + if crates == 111 then + G = 15841 + end + else + G = 0 + end + return G end -- ============================================================================ -- MAIN SCRIPT -- ============================================================================ - local DEFAULT_CONFIG = { - cashUpdgrade1 = false, - cashUpdgrade2 = false, - cokeUpdgrade1 = false, - cokeUpdgrade2 = false, - methUpdgrade1 = false, - methUpdgrade2 = false, - weedUpdgrade1 = false, - weedUpdgrade2 = false, - fdUpdgrade1 = false, - fdUpdgrade2 = false, - bunkerUpdgrade1 = false, - bunkerUpdgrade2 = false, - acidUpdgrade = false, - } +local DEFAULT_CONFIG = { + cashUpdgrade1 = false, + cashUpdgrade2 = false, + cokeUpdgrade1 = false, + cokeUpdgrade2 = false, + methUpdgrade1 = false, + methUpdgrade2 = false, + weedUpdgrade1 = false, + weedUpdgrade2 = false, + fdUpdgrade1 = false, + fdUpdgrade2 = false, + bunkerUpdgrade1 = false, + bunkerUpdgrade2 = false, + acidUpdgrade = false, +} - local CFG = YimConfig(DEFAULT_CONFIG) - log.info(string.format("Ultimate_Menu_V3_1.73_Legacy.lua: YimConfig v%s successfully loaded\n%s", CFG._version, CFG._credits)) +local CFG = YimConfig(DEFAULT_CONFIG) +log.info( + string.format("Ultimate_Menu_Legacy.lua: YimConfig v%s successfully loaded\n%s", CFG._version, CFG._credits) +) - yim_resupplier = L7NEG:add_tab("YimResupplier") - - hangarOwned = false - fCashOwned = false - cokeOwned = false - methOwned = false - weedOwned = false - fdOwned = false - bunkerOwned = false - acidOwned = false - hangarTotal = 0 - cashTotal = 0 - cokeTotal = 0 - methTotal = 0 - weedTotal = 0 - fdTotal = 0 - bunkerTotal = 0 - acidTotal = 0 - main_global = 1673807 - cashUpdgrade1 = CFG.read("cashUpdgrade1") - cashUpdgrade2 = CFG.read("cashUpdgrade2") - cokeUpdgrade1 = CFG.read("cokeUpdgrade1") - cokeUpdgrade2 = CFG.read("cokeUpdgrade2") - methUpdgrade1 = CFG.read("methUpdgrade1") - methUpdgrade2 = CFG.read("methUpdgrade2") - weedUpdgrade1 = CFG.read("weedUpdgrade1") - weedUpdgrade2 = CFG.read("weedUpdgrade2") - fdUpdgrade1 = CFG.read("fdUpdgrade1") - fdUpdgrade2 = CFG.read("fdUpdgrade2") - bunkerUpdgrade1 = CFG.read("bunkerUpdgrade1") - bunkerUpdgrade2 = CFG.read("bunkerUpdgrade2") - acidUpdgrade = CFG.read("acidUpdgrade") +yim_resupplier = L7NEG:add_tab("YimResupplier") - yim_resupplier:add_imgui(function() - if network.is_session_started() and not (SCRIPT.GET_NUMBER_OF_THREADS_RUNNING_THE_SCRIPT_WITH_THIS_HASH(joaat("maintransition")) > 0) then - hangarOwned = stats.get_int(MPX() .. "PROP_HANGAR") ~= 0 - fCashOwned = stats.get_int(MPX() .. "PROP_FAC_SLOT0") ~= 0 - cokeOwned = stats.get_int(MPX() .. "PROP_FAC_SLOT1") ~= 0 - methOwned = stats.get_int(MPX() .. "PROP_FAC_SLOT2") ~= 0 - weedOwned = stats.get_int(MPX() .. "PROP_FAC_SLOT3") ~= 0 - fdOwned = stats.get_int(MPX() .. "PROP_FAC_SLOT4") ~= 0 - bunkerOwned = stats.get_int(MPX() .. "PROP_FAC_SLOT5") ~= 0 - acidOwned = stats.get_int(MPX() .. "PROP_FAC_SLOT6") ~= 0 - ImGui.BeginTabBar("YimResupplier", ImGuiTabBarFlags.None) - if ImGui.BeginTabItem("Manage Supplies") then - local wh1Supplies = stats.get_int(MPX() .. "CONTOTALFORWHOUSE0") or 0 - local wh2Supplies = stats.get_int(MPX() .. "CONTOTALFORWHOUSE1") or 0 - local wh3Supplies = stats.get_int(MPX() .. "CONTOTALFORWHOUSE2") or 0 - local wh4Supplies = stats.get_int(MPX() .. "CONTOTALFORWHOUSE3") or 0 - local wh5Supplies = stats.get_int(MPX() .. "CONTOTALFORWHOUSE4") or 0 - local hangarSupply = stats.get_int(MPX() .. "HANGAR_CONTRABAND_TOTAL") or 0 - local cashSupply = stats.get_int(MPX() .. "MATTOTALFORFACTORY0") or 0 - local dfSupply = stats.get_int(MPX() .. "MATTOTALFORFACTORY1") or 0 - local methSupply = stats.get_int(MPX() .. "MATTOTALFORFACTORY2") or 0 - local weedSupply = stats.get_int(MPX() .. "MATTOTALFORFACTORY3") or 0 - local cokeSupply = stats.get_int(MPX() .. "MATTOTALFORFACTORY4") or 0 - local bunkerSupply = stats.get_int(MPX() .. "MATTOTALFORFACTORY5") or 0 - local acidSupply = stats.get_int(MPX() .. "MATTOTALFORFACTORY6") or 0 - local ceoSupply = (wh1Supplies + wh2Supplies + wh3Supplies + wh4Supplies + wh5Supplies) - ImGui.Spacing() - ImGui.Text("Hangar Cargo") - ImGui.Separator() - if hangarOwned then - ImGui.Text("Current Supplies:") - ImGui.SameLine() - ImGui.Dummy(10, 1) - ImGui.SameLine() - ImGui.ProgressBar((hangarSupply / 50), 140, 30) - if hangarSupply < 50 then - if ImGui.Button("Source Random Crate(s)") then - script.run_in_fiber(function() - stats.set_bool_masked(MPX() .. "DLC22022PSTAT_BOOL3", true, 9) - end) - end - ImGui.SameLine() - hangarLoop, used = ImGui.Checkbox("Auto-Fill", hangarLoop) - if hangarLoop then - script.run_in_fiber(function(hangarSupp) - repeat - stats.set_bool_masked(MPX() .. "DLC22022PSTAT_BOOL3", true, 9) - hangarSupp:sleep(969) - until hangarSupply == 50 or hangarLoop == false - end) - end - else - if hangarLoop then - hangarLoop = false - end - end - if INTERIOR.GET_INTERIOR_FROM_ENTITY(self.get_ped()) == 0 then - if ImGui.Button("Teleport##hangar") then - script.run_in_fiber(function() - local hangarBlip = HUD.GET_FIRST_BLIP_INFO_ID(569) - local hangarLoc - if HUD.DOES_BLIP_EXIST(hangarBlip) then - hangarLoc = HUD.GET_BLIP_COORDS(hangarBlip) - selfTP(true, false, hangarLoc) - end - end) - end - end - else - ImGui.Text("You don't own a Hangar.") - end - ImGui.Spacing() - ImGui.Text("CEO Warehouses") - ImGui.Separator() - ImGui.Text("Current Supplies:") - ImGui.SameLine() - ImGui.Dummy(10, 1) - ImGui.SameLine() - ImGui.ProgressBar((ceoSupply / 555), 140, 30) - if ceoSupply < 555 then - if ImGui.Button("Source Random Crate(s)##ceo") then - script.run_in_fiber(function(fillceo) - for i = 12, 16 do - stats.set_bool_masked(MPX() .. "FIXERPSTAT_BOOL1", true, i) - fillceo:sleep(500) - end - end) - end - ImGui.SameLine() - ceoLoop, used = ImGui.Checkbox("Auto-Fill##ceo", ceoLoop) - if ceoLoop then - script.run_in_fiber(function(ceoloop) - repeat - for i = 12, 16 do - stats.set_bool_masked(MPX() .. "FIXERPSTAT_BOOL1", true, i) - ceoloop:sleep(500) - end - ceoloop:sleep(969) - until ceoSupply == 555 or ceoLoop == false - end) - end - else - if ceoLoop then - ceoLoop = false - end - end - if INTERIOR.GET_INTERIOR_FROM_ENTITY(self.get_ped()) == 0 then - if ImGui.Button("Teleport To Office") then - script.run_in_fiber(function() - local ceoBlip = HUD.GET_FIRST_BLIP_INFO_ID(475) - local ceoLoc - if HUD.DOES_BLIP_EXIST(ceoBlip) then - ceoLoc = HUD.GET_BLIP_COORDS(ceoBlip) - selfTP(true, false, ceoLoc) - end - end) - end - end - ImGui.Spacing() - ImGui.Text("MC Supplies") - ImGui.Separator() - if fCashOwned then - ImGui.Text("Fake Cash:") - ImGui.SameLine() - ImGui.Dummy(55, 1) - ImGui.SameLine() - ImGui.ProgressBar((cashSupply / 100), 140, 30) - if math.ceil(cashSupply) < 100 then - ImGui.SameLine() - if ImGui.Button(" Fill ##FakeCash") then - globals.set_int(main_global + 0 + 1, 1) - end - ImGui.SameLine() - ImGui.Dummy(5, 1) - end - if INTERIOR.GET_INTERIOR_FROM_ENTITY(self.get_ped()) == 0 then - ImGui.SameLine() - if ImGui.Button("Teleport##fc") then - script.run_in_fiber(function() - local fcBlip = HUD.GET_FIRST_BLIP_INFO_ID(500) - local fcLoc - if HUD.DOES_BLIP_EXIST(fcBlip) then - fcLoc = HUD.GET_BLIP_COORDS(fcBlip) - selfTP(false, false, fcLoc) - end - end) - end - end - else - ImGui.Text("You don't own a Fake Cash business.") - end - if cokeOwned then - ImGui.Text("Cocaine:") - ImGui.SameLine() - ImGui.Dummy(73, 1) - ImGui.SameLine() - ImGui.ProgressBar((cokeSupply / 100), 140, 30) - if math.ceil(cokeSupply) < 100 then - ImGui.SameLine() - if ImGui.Button(" Fill ##Cocaine") then - globals.set_int(main_global + 4 + 1, 1) - end - ImGui.SameLine() - ImGui.Dummy(5, 1) - end - if INTERIOR.GET_INTERIOR_FROM_ENTITY(self.get_ped()) == 0 then - ImGui.SameLine() - if ImGui.Button("Teleport##coke") then - script.run_in_fiber(function() - local cokeBlip = HUD.GET_FIRST_BLIP_INFO_ID(497) - local cokeLoc - if HUD.DOES_BLIP_EXIST(cokeBlip) then - cokeLoc = HUD.GET_BLIP_COORDS(cokeBlip) - selfTP(false, false, cokeLoc) - end - end) - end - end - else - ImGui.Text("You don't own a Cocaine business.") - end - if methOwned then - ImGui.Text("Meth:") - ImGui.SameLine() - ImGui.Dummy(95, 1) - ImGui.SameLine() - ImGui.ProgressBar((methSupply / 100), 140, 30) - if math.ceil(methSupply) < 100 then - ImGui.SameLine() - if ImGui.Button(" Fill ##Meth") then - globals.set_int(main_global + 2 + 1, 1) - end - ImGui.SameLine() - ImGui.Dummy(5, 1) - end - if INTERIOR.GET_INTERIOR_FROM_ENTITY(self.get_ped()) == 0 then - ImGui.SameLine() - if ImGui.Button("Teleport##meth") then - script.run_in_fiber(function() - local methBlip = HUD.GET_FIRST_BLIP_INFO_ID(499) - local methLoc - if HUD.DOES_BLIP_EXIST(methBlip) then - methLoc = HUD.GET_BLIP_COORDS(methBlip) - selfTP(false, false, methLoc) - end - end) - end - end - else - ImGui.Text("You don't own a Meth business.") - end - if weedOwned then - ImGui.Text("Weed:") - ImGui.SameLine() - ImGui.Dummy(90, 1) - ImGui.SameLine() - ImGui.ProgressBar((weedSupply / 100), 140, 30) - if math.ceil(weedSupply) < 100 then - ImGui.SameLine() - if ImGui.Button(" Fill ##Weed") then - globals.set_int(main_global + 3 + 1, 1) - end - ImGui.SameLine() - ImGui.Dummy(5, 1) - end - if INTERIOR.GET_INTERIOR_FROM_ENTITY(self.get_ped()) == 0 then - ImGui.SameLine() - if ImGui.Button("Teleport##weed") then - script.run_in_fiber(function() - local weedBlip = HUD.GET_FIRST_BLIP_INFO_ID(496) - local weedLoc - if HUD.DOES_BLIP_EXIST(weedBlip) then - weedLoc = HUD.GET_BLIP_COORDS(weedBlip) - selfTP(false, false, weedLoc) - end - end) - end - end - else - ImGui.Text("You don't own a Weed business.") - end - if fdOwned then - ImGui.Text("Document Forgery: ") - ImGui.SameLine() - ImGui.ProgressBar((dfSupply / 100), 140, 30) - if math.ceil(dfSupply) < 100 then - ImGui.SameLine() - if ImGui.Button(" Fill ##DocumentForgery") then - globals.set_int(main_global + 1 + 1, 1) - end - ImGui.SameLine() - ImGui.Dummy(5, 1) - end - if INTERIOR.GET_INTERIOR_FROM_ENTITY(self.get_ped()) == 0 then - ImGui.SameLine() - if ImGui.Button("Teleport##fd") then - script.run_in_fiber(function() - local fdBlip = HUD.GET_FIRST_BLIP_INFO_ID(498) - local fdLoc - if HUD.DOES_BLIP_EXIST(fdBlip) then - fdLoc = HUD.GET_BLIP_COORDS(fdBlip) - selfTP(false, false, fdLoc) - end - end) - end - end - else - ImGui.Text("You don't own a Document Forgery office.") - end - if bunkerOwned then - ImGui.Text("Bunker:") - ImGui.SameLine() - ImGui.Dummy(80, 1) - ImGui.SameLine() - ImGui.ProgressBar((bunkerSupply / 100), 140, 30) - if math.ceil(bunkerSupply) < 100 then - ImGui.SameLine() - if ImGui.Button(" Fill ##Bunker") then - globals.set_int(main_global + 5 + 1, 1) - end - ImGui.SameLine() - ImGui.Dummy(5, 1) - end - if INTERIOR.GET_INTERIOR_FROM_ENTITY(self.get_ped()) == 0 then - ImGui.SameLine() - if ImGui.Button("Teleport##bunker") then - script.run_in_fiber(function() - local bunkerBlip = HUD.GET_FIRST_BLIP_INFO_ID(557) - local bunkerLoc - if HUD.DOES_BLIP_EXIST(bunkerBlip) then - bunkerLoc = HUD.GET_BLIP_COORDS(bunkerBlip) - selfTP(true, false, bunkerLoc) - end - end) - end - end - else - ImGui.Text("You don't own a Bunker.") - end - if acidOwned then - ImGui.Text("Acid Lab:") - ImGui.SameLine() - ImGui.Dummy(70, 1) - ImGui.SameLine() - ImGui.ProgressBar((acidSupply / 100), 140, 30) - if math.ceil(acidSupply) < 100 then - ImGui.SameLine() - if ImGui.Button(" Fill ##AcidLab") then - globals.set_int(main_global + 6 + 1, 1) - end - ImGui.SameLine() - ImGui.Dummy(5, 1) - end - if INTERIOR.GET_INTERIOR_FROM_ENTITY(self.get_ped()) == 0 then - ImGui.SameLine() - if ImGui.Button("Teleport##acid") then - script.run_in_fiber(function() - local acidBlip = HUD.GET_FIRST_BLIP_INFO_ID(848) - local acidLoc - if HUD.DOES_BLIP_EXIST(acidBlip) then - acidLoc = HUD.GET_BLIP_COORDS(acidBlip) - selfTP(true, false, acidLoc) - end - end) - end - end - if INTERIOR.GET_INTERIOR_FROM_ENTITY(self.get_ped()) == 0 then - ImGui.Dummy(1, 10) - coloredText( - "WARNING!\10Teleport buttons might be broken in public sessions.", - 40, - { 255, 204, 0, 0.8 } - ) - end - else - ImGui.Text("You don't own an Acid Lab.") - end - ImGui.EndTabItem() - end - if ImGui.BeginTabItem("Production Overview") then - --------------------------------------- Hangar ---------------------------------------------------------------------- - if hangarOwned then - ImGui.Text("Hangar:") - local hangarCargo = stats.get_int(MPX() .. "HANGAR_CONTRABAND_TOTAL") or 0 - hangarTotal = hangarCargo * 30000 - ImGui.Text("Product:") - ImGui.SameLine() - ImGui.Dummy(5, 1) - ImGui.SameLine() - ImGui.ProgressBar( - (hangarCargo / 50), - 160, - 25, - tostring(hangarCargo) .. " Crates (" .. tostring(math.floor(hangarCargo / 0.5)) .. "%)" - ) - ImGui.SameLine() - ImGui.Dummy(10, 1) - ImGui.SameLine() - ImGui.Text("Value:") - ImGui.SameLine() - ImGui.Text(formatMoney(hangarTotal)) - end - --------------------------------------- CEO ---------------------------------------------------------------------- - ImGui.Separator() - ImGui.Text("CEO:") - local wh1Supplies = stats.get_int(MPX() .. "CONTOTALFORWHOUSE0") or 0 - local wh2Supplies = stats.get_int(MPX() .. "CONTOTALFORWHOUSE1") or 0 - local wh3Supplies = stats.get_int(MPX() .. "CONTOTALFORWHOUSE2") or 0 - local wh4Supplies = stats.get_int(MPX() .. "CONTOTALFORWHOUSE3") or 0 - local wh5Supplies = stats.get_int(MPX() .. "CONTOTALFORWHOUSE4") or 0 - if wh1Supplies ~= nil and wh1Supplies > 0 then - wh1Value = (globals.get_int(262145 + (getCEOvalue_G(wh1Supplies)))) - else - wh1Value = 0 - end - if wh2Supplies ~= nil and wh2Supplies > 0 then - wh2Value = (globals.get_int(262145 + (getCEOvalue_G(wh2Supplies)))) - else - wh2Value = 0 - end - if wh3Supplies ~= nil and wh3Supplies > 0 then - wh3Value = (globals.get_int(262145 + (getCEOvalue_G(wh3Supplies)))) - else - wh3Value = 0 - end - if wh4Supplies ~= nil and wh4Supplies > 0 then - wh4Value = (globals.get_int(262145 + (getCEOvalue_G(wh4Supplies)))) - else - wh4Value = 0 - end - if wh5Supplies ~= nil and wh5Supplies > 0 then - wh5Value = (globals.get_int(262145 + (getCEOvalue_G(wh5Supplies)))) - else - wh5Value = 0 - end - local ceoSupply = (wh1Supplies + wh2Supplies + wh3Supplies + wh4Supplies + wh5Supplies) - ceoTotal = ( - (wh1Value * wh1Supplies) - + (wh2Value * wh2Supplies) - + (wh3Value * wh3Supplies) - + (wh4Value * wh4Supplies) - + (wh5Value * wh5Supplies) - ) - ImGui.Text("Product:") - ImGui.SameLine() - ImGui.Dummy(5, 1) - ImGui.SameLine() - ImGui.ProgressBar( - (ceoSupply / 555), - 160, - 25, - tostring(ceoSupply) .. " Crates (" .. tostring(math.floor((ceoSupply / 555) * 100)) .. "%)" - ) - ImGui.SameLine() - ImGui.Dummy(10, 1) - ImGui.SameLine() - ImGui.Text("Value:") - ImGui.SameLine() - ImGui.Text(formatMoney(ceoTotal)) - --------------------------------------- Fake Cash ------------------------------------------------------------------- - if fCashOwned then - ImGui.Separator() - ImGui.Text("Fake Cash:") - ImGui.SameLine() - cashUpdgrade1, used = ImGui.Checkbox("Equipment Upgrade##cash", cashUpdgrade1) - ImGui.SameLine() - if used then - CFG.save("cashUpdgrade1", cashUpdgrade1) - end - cashUpdgrade2, used = ImGui.Checkbox("Staff Upgrade##cash", cashUpdgrade2) - if used then - CFG.save("cashUpdgrade2", cashUpdgrade2) - end - if cashUpdgrade1 then - cashOffset1 = globals.get_int(262145 + 17415) - else - cashOffset1 = 0 - end - if cashUpdgrade2 then - cashOffset2 = globals.get_int(262145 + 17421) - else - cashOffset2 = 0 - end - local cashProduct = stats.get_int(MPX() .. "PRODTOTALFORFACTORY0") or 0 - cashTotal = ((globals.get_int(262145 + 17409) + cashOffset1 + cashOffset2) * cashProduct) - ImGui.Text("Product:") - ImGui.SameLine() - ImGui.Dummy(5, 1) - ImGui.SameLine() - ImGui.ProgressBar( - (cashProduct / 40), - 160, - 25, - tostring(cashProduct) .. " Boxes (" .. tostring(math.floor(cashProduct * 2.5)) .. "%)" - ) - ImGui.SameLine() - ImGui.Dummy(10, 1) - ImGui.SameLine() - ImGui.Text("Value:") - ImGui.SameLine() - ImGui.Text(formatMoney(cashTotal)) - end - ---------------------------------------Coke---------------------------------------------------------------------- - if cokeOwned then - ImGui.Separator() - ImGui.Text("Cocaine: ") - ImGui.SameLine() - cokeUpdgrade1, used = ImGui.Checkbox("Equipment Upgrade##coke", cokeUpdgrade1) - ImGui.SameLine() - if used then - CFG.save("cokeUpdgrade1", cokeUpdgrade1) - end - cokeUpdgrade2, used = ImGui.Checkbox("Staff Upgrade##coke", cokeUpdgrade2) - if used then - CFG.save("cokeUpdgrade2", cokeUpdgrade2) - end - if cokeUpdgrade1 then - cokeOffset1 = globals.get_int(262145 + 17416) - else - cokeOffset1 = 0 - end - if cokeUpdgrade2 then - cokeOffset2 = globals.get_int(262145 + 17422) - else - cokeOffset2 = 0 - end - local cokeProduct = stats.get_int(MPX() .. "PRODTOTALFORFACTORY1") or 0 - cokeTotal = ((globals.get_int(262145 + 17410) + cokeOffset1 + cokeOffset2) * cokeProduct) - ImGui.Text("Product:") - ImGui.SameLine() - ImGui.Dummy(5, 1) - ImGui.SameLine() - ImGui.ProgressBar( - (cokeProduct / 10), - 160, - 25, - tostring(cokeProduct) .. " Kilos (" .. tostring(cokeProduct * 10) .. "%)" - ) - ImGui.SameLine() - ImGui.Dummy(10, 1) - ImGui.SameLine() - ImGui.Text("Value:") - ImGui.SameLine() - ImGui.Text(formatMoney(cokeTotal)) - end - ---------------------------------------Meth----------------------------------------------------------------------- - if methOwned then - ImGui.Separator() - ImGui.Text("Meth: ") - ImGui.SameLine() - methUpdgrade1, used = ImGui.Checkbox("Equipment Upgrade##meth", methUpdgrade1) - ImGui.SameLine() - if used then - CFG.save("methUpdgrade1", methUpdgrade1) - end - methUpdgrade2, used = ImGui.Checkbox("Staff Upgrade##meth", methUpdgrade2) - if used then - CFG.save("methUpdgrade2", methUpdgrade2) - end - if methUpdgrade1 then - methOffset1 = globals.get_int(262145 + 17417) - else - methOffset1 = 0 - end - if methUpdgrade2 then - methOffset2 = globals.get_int(262145 + 17423) - else - methOffset2 = 0 - end - local methProduct = stats.get_int(MPX() .. "PRODTOTALFORFACTORY2") or 0 - methTotal = ((globals.get_int(262145 + 17411) + methOffset1 + methOffset2) * methProduct) - ImGui.Text("Product:") - ImGui.SameLine() - ImGui.Dummy(5, 1) - ImGui.SameLine() - ImGui.ProgressBar( - (methProduct / 20), - 160, - 25, - tostring(methProduct) .. " Pounds (" .. tostring(methProduct * 5) .. "%)" - ) - ImGui.SameLine() - ImGui.Dummy(10, 1) - ImGui.SameLine() - ImGui.Text("Value:") - ImGui.SameLine() - ImGui.Text(formatMoney(methTotal)) - end - ---------------------------------------Weed------------------------------------------------------------------------ - if weedOwned then - ImGui.Separator() - ImGui.Text("Weed: ") - ImGui.SameLine() - weedUpdgrade1, used = ImGui.Checkbox("Equipment Upgrade##weed", weedUpdgrade1) - ImGui.SameLine() - if used then - CFG.save("weedUpdgrade1", weedUpdgrade1) - end - weedUpdgrade2, used = ImGui.Checkbox("Staff Upgrade##weed", weedUpdgrade2) - if used then - CFG.save("weedUpdgrade2", weedUpdgrade2) - end - if weedUpdgrade1 then - weedOffset1 = globals.get_int(262145 + 17418) - else - weedOffset1 = 0 - end - if weedUpdgrade2 then - weedOffset2 = globals.get_int(262145 + 17424) - else - weedOffset2 = 0 - end - local weedProduct = stats.get_int("MPX_PRODTOTALFORFACTORY3") - weedTotal = ((globals.get_int(262145 + 17412) + weedOffset1 + weedOffset2) * weedProduct) - ImGui.Text("Product:") - ImGui.SameLine() - ImGui.Dummy(5, 1) - ImGui.SameLine() - ImGui.ProgressBar( - (weedProduct / 80), - 160, - 25, - tostring(weedProduct) .. " Pounds (" .. tostring(math.floor(weedProduct / 8 * 10)) .. "%)" - ) - ImGui.SameLine() - ImGui.Dummy(10, 1) - ImGui.SameLine() - ImGui.Text("Value:") - ImGui.SameLine() - ImGui.Text(formatMoney(weedTotal)) - end - ---------------------------------------Document Forgery------------------------------------------------------------ - if fdOwned then - ImGui.Separator() - ImGui.Text("Fake ID: ") - ImGui.SameLine() - fdUpdgrade1, used = ImGui.Checkbox("Equipment Upgrade##fd", fdUpdgrade1) - ImGui.SameLine() - if used then - CFG.save("fdUpdgrade1", fdUpdgrade1) - end - fdUpdgrade2, used = ImGui.Checkbox("Staff Upgrade##fd", fdUpdgrade2) - if used then - CFG.save("fdUpdgrade2", fdUpdgrade2) - end - if fdUpdgrade1 then - fdOffset1 = globals.get_int(262145 + 17414) - else - fdOffset1 = 0 - end - if fdUpdgrade2 then - fdOffset2 = globals.get_int(262145 + 17420) - else - fdOffset2 = 0 - end - local fdProduct = stats.get_int("MPX_PRODTOTALFORFACTORY4") - fdTotal = ((globals.get_int(262145 + 17408) + fdOffset1 + fdOffset2) * fdProduct) - ImGui.Text("Product:") - ImGui.SameLine() - ImGui.Dummy(5, 1) - ImGui.SameLine() - ImGui.ProgressBar( - (fdProduct / 60), - 160, - 25, - tostring(fdProduct) .. " Boxes (" .. tostring(math.floor(fdProduct / 6 * 10)) .. "%)" - ) - ImGui.SameLine() - ImGui.Dummy(10, 1) - ImGui.SameLine() - ImGui.Text("Value:") - ImGui.SameLine() - ImGui.Text(formatMoney(fdTotal)) - end - ---------------------------------------Bunker----------------------------------------------------------------------- - if bunkerOwned then - ImGui.Separator() - ImGui.Text("Bunker: ") - ImGui.SameLine() - bunkerUpdgrade1, used = ImGui.Checkbox("Equipment Upgrade##bunker", bunkerUpdgrade1) - ImGui.SameLine() - if used then - CFG.save("bunkerUpdgrade1", bunkerUpdgrade1) - end - bunkerUpdgrade2, used = ImGui.Checkbox("Staff Upgrade##bunker", bunkerUpdgrade2) - if used then - CFG.save("bunkerUpdgrade2", bunkerUpdgrade2) - end - if bunkerUpdgrade1 then - bunkerOffset1 = globals.get_int(262145 + 21345) - else - bunkerOffset1 = 0 - end - if bunkerUpdgrade2 then - bunkerOffset2 = globals.get_int(262145 + 21344) - else - bunkerOffset2 = 0 - end - local bunkerProduct = stats.get_int("MPX_PRODTOTALFORFACTORY5") - bunkerTotal = ((globals.get_int(262145 + 21343) + bunkerOffset1 + bunkerOffset2) * bunkerProduct) - ImGui.Text("Product:") - ImGui.SameLine() - ImGui.Dummy(5, 1) - ImGui.SameLine() - ImGui.ProgressBar( - (bunkerProduct / 100), - 160, - 25, - tostring(bunkerProduct) .. " Crates (" .. tostring(bunkerProduct) .. "%)" - ) - ImGui.SameLine() - ImGui.Dummy(10, 1) - ImGui.SameLine() - ImGui.Text("Value:") - ImGui.SameLine() - ImGui.Text( - "BC: " .. formatMoney(bunkerTotal) .. "\nLS: " .. formatMoney(math.floor(bunkerTotal * 1.5)) - ) - end - ---------------------------------------Acid Lab------------------------------------------------------------------- - if acidOwned then - ImGui.Separator() - ImGui.Text("Acid Lab: ") - ImGui.SameLine() - acidUpdgrade, used = ImGui.Checkbox("Equipment Upgrade##acid", acidUpdgrade) - if used then - CFG.save("acidUpdgrade", acidUpdgrade) - end - if acidUpdgrade then - acidOffset = globals.get_int(262145 + 17419) - else - acidOffset = 0 - end - local acidProduct = stats.get_int("MPX_PRODTOTALFORFACTORY6") - acidTotal = ((globals.get_int(262145 + 17413) + acidOffset) * acidProduct) - ImGui.Text("Product:") - ImGui.SameLine() - ImGui.Dummy(5, 1) - ImGui.SameLine() - ImGui.ProgressBar( - (acidProduct / 100), - 160, - 25, - tostring(acidProduct) .. " Sheets (" .. tostring(math.floor(acidProduct / 16 * 10)) .. "%)" - ) - ImGui.SameLine() - ImGui.Dummy(10, 1) - ImGui.SameLine() - ImGui.Text("Value:") - ImGui.SameLine() - ImGui.Text(formatMoney(acidTotal)) - end - ImGui.Spacing() - ImGui.Separator() - local finalAmt = ( - hangarTotal - + ceoTotal - + cashTotal - + cokeTotal - + methTotal - + weedTotal - + fdTotal - + bunkerTotal - + acidTotal - ) - ImGui.Spacing() - ImGui.Text("Total Profit = " .. formatMoney(finalAmt)) - ImGui.EndTabItem() - end - if ImGui.BeginTabItem("Business Safes") then - if stats.get_int("MPX_PROP_NIGHTCLUB") ~= 0 then - ImGui.Spacing() - ImGui.Spacing() - ImGui.Text("¤ Nightclub ¤") - if INTERIOR.GET_INTERIOR_FROM_ENTITY(self.get_ped()) == 0 then - ImGui.SameLine() - ImGui.Dummy(50, 1) - ImGui.SameLine() - if ImGui.Button("Teleport##nc") then - script.run_in_fiber(function() - local ncBlip = HUD.GET_FIRST_BLIP_INFO_ID(614) - local ncLoc - if HUD.DOES_BLIP_EXIST(ncBlip) then - ncLoc = HUD.GET_BLIP_COORDS(ncBlip) - selfTP(false, false, ncLoc) - end - end) - end - end - local currentNcPop = stats.get_int("MPX_CLUB_POPULARITY") - local popDiff = 1000 - currentNcPop - local currNcSafeMoney = stats.get_int("MPX_CLUB_SAFE_CASH_VALUE") - ImGui.Text("Popularity: ") - ImGui.SameLine() - ImGui.Dummy(35, 1) - ImGui.SameLine() - ImGui.ProgressBar(currentNcPop / 1000, 160, 25, tostring(currentNcPop)) - if currentNcPop < 1000 then - ImGui.SameLine() - if ImGui.Button("Max Popularity") then - stats.set_int("MPX_CLUB_POPULARITY", currentNcPop + popDiff) - gui.show_success("YimResupplier", "Nightclub popularity increased.") - end - end - ImGui.Text("Safe: ") - ImGui.SameLine() - ImGui.Dummy(75, 1) - ImGui.SameLine() - ImGui.ProgressBar(currNcSafeMoney / 250000, 160, 25, formatMoney(currNcSafeMoney)) - ImGui.Separator() - end - if stats.get_int("MPX_PROP_ARCADE") ~= 0 then - ImGui.Spacing() - ImGui.Spacing() - ImGui.Text("¤ Arcade ¤") - if INTERIOR.GET_INTERIOR_FROM_ENTITY(self.get_ped()) == 0 then - ImGui.SameLine() - ImGui.Dummy(60, 1) - ImGui.SameLine() - if ImGui.Button("Teleport##arcade") then - script.run_in_fiber(function() - local arBlip = HUD.GET_FIRST_BLIP_INFO_ID(740) - local arLoc - if HUD.DOES_BLIP_EXIST(arBlip) then - arLoc = HUD.GET_BLIP_COORDS(arBlip) - selfTP(false, false, arLoc) - end - end) - end - end - local currArSafeMoney = stats.get_int("MPX_ARCADE_SAFE_CASH_VALUE") - ImGui.Text("Safe: ") - ImGui.SameLine() - ImGui.Dummy(75, 1) - ImGui.SameLine() - ImGui.ProgressBar(currArSafeMoney / 100000, 160, 25, formatMoney(currArSafeMoney)) - ImGui.Separator() - end - if stats.get_int("MPX_PROP_SECURITY_OFFICE") ~= 0 then - ImGui.Spacing() - ImGui.Spacing() - ImGui.Text("¤ Agency ¤") - if INTERIOR.GET_INTERIOR_FROM_ENTITY(self.get_ped()) == 0 then - ImGui.SameLine() - ImGui.Dummy(60, 1) - ImGui.SameLine() - if ImGui.Button("Teleport##agnc") then - script.run_in_fiber(function() - local agncBlip = HUD.GET_FIRST_BLIP_INFO_ID(826) - local agncLoc - if HUD.DOES_BLIP_EXIST(agncBlip) then - agncLoc = HUD.GET_BLIP_COORDS(agncBlip) - selfTP(false, false, agncLoc) - end - end) - end - end - local currAgSafeMoney = stats.get_int("MPX_FIXER_SAFE_CASH_VALUE") - ImGui.Text("Safe: ") - ImGui.SameLine() - ImGui.Dummy(75, 1) - ImGui.SameLine() - ImGui.ProgressBar(currAgSafeMoney / 250000, 160, 25, formatMoney(currAgSafeMoney)) - ImGui.Separator() - end - if stats.get_int("MPX_PROP_CLUBHOUSE") ~= 0 then - ImGui.Spacing() - ImGui.Spacing() - ImGui.Text("¤ MC Clubhouse ¤") - if INTERIOR.GET_INTERIOR_FROM_ENTITY(self.get_ped()) == 0 then - ImGui.SameLine() - ImGui.Dummy(10, 1) - ImGui.SameLine() - if ImGui.Button("Teleport##mc") then - script.run_in_fiber(function() - local mcBlip = HUD.GET_FIRST_BLIP_INFO_ID(492) - local mcLoc - if HUD.DOES_BLIP_EXIST(mcBlip) then - mcLoc = HUD.GET_BLIP_COORDS(mcBlip) - selfTP(false, false, mcLoc) - end - end) - end - end - local currClubHouseBarProfit = stats.get_int("MPX_BIKER_BAR_RESUPPLY_CASH") - ImGui.Text("Bar Earnings: ") - ImGui.SameLine() - ImGui.Dummy(15, 1) - ImGui.SameLine() - ImGui.ProgressBar(currClubHouseBarProfit / 100000, 160, 25, formatMoney(currClubHouseBarProfit)) - ImGui.Separator() - end - if stats.get_int("MPX_PROP_BAIL_OFFICE") ~= 0 then - ImGui.Spacing() - ImGui.Spacing() - ImGui.Text("¤ Bail Office ¤") - if INTERIOR.GET_INTERIOR_FROM_ENTITY(self.get_ped()) == 0 then - ImGui.SameLine() - ImGui.Dummy(40, 1) - ImGui.SameLine() - if ImGui.Button("Teleport##bail") then - script.run_in_fiber(function() - local bailBlip = HUD.GET_FIRST_BLIP_INFO_ID(893) - local bailLoc - if HUD.DOES_BLIP_EXIST(bailBlip) then - bailLoc = HUD.GET_BLIP_COORDS(bailBlip) - bailLoc.y = bailLoc.y + 1.2 - selfTP(false, false, bailLoc) - end - end) - end - end - local currBailSafe = stats.get_int("MPX_BAIL_SAFE_CASH_VALUE") - ImGui.Text("Safe: ") - ImGui.SameLine() - ImGui.Dummy(75, 1) - ImGui.SameLine() - ImGui.ProgressBar(currBailSafe / 100000, 160, 25, formatMoney(currBailSafe)) - ImGui.Separator() - end - if stats.get_int("MPX_SALVAGE_YARD_OWNED") ~= 0 then - ImGui.Spacing() - ImGui.Spacing() - ImGui.Text("¤ Salvage Yard ¤") - if INTERIOR.GET_INTERIOR_FROM_ENTITY(self.get_ped()) == 0 then - ImGui.SameLine() - ImGui.Dummy(20, 1) - ImGui.SameLine() - if ImGui.Button("Teleport##salvage") then - script.run_in_fiber(function() - local slvgBlip = HUD.GET_FIRST_BLIP_INFO_ID(867) - local slvgLoc - if HUD.DOES_BLIP_EXIST(slvgBlip) then - slvgLoc = HUD.GET_BLIP_COORDS(slvgBlip) - selfTP(false, true, slvgLoc, 180) - end - end) - end - end - local currSalvSafe = stats.get_int("MPX_SALVAGE_SAFE_CASH_VALUE") - ImGui.Text("Safe: ") - ImGui.SameLine() - ImGui.Dummy(75, 1) - ImGui.SameLine() - ImGui.ProgressBar(currSalvSafe / 250000, 160, 25, formatMoney(currSalvSafe)) - end - if INTERIOR.GET_INTERIOR_FROM_ENTITY(self.get_ped()) == 0 then - ImGui.Dummy(1, 10) - coloredText( - "WARNING!\10Teleport buttons might be broken in public sessions.", - 40, - { 255, 204, 0, 0.8 } - ) - end - ImGui.EndTabItem() - end - else - ImGui.Text("\nUnavailable in Single Player.\n\n") - end - end) +hangarOwned = false +fCashOwned = false +cokeOwned = false +methOwned = false +weedOwned = false +fdOwned = false +bunkerOwned = false +acidOwned = false +hangarTotal = 0 +cashTotal = 0 +cokeTotal = 0 +methTotal = 0 +weedTotal = 0 +fdTotal = 0 +bunkerTotal = 0 +acidTotal = 0 +main_global = 1673807 +cashUpdgrade1 = CFG.read("cashUpdgrade1") +cashUpdgrade2 = CFG.read("cashUpdgrade2") +cokeUpdgrade1 = CFG.read("cokeUpdgrade1") +cokeUpdgrade2 = CFG.read("cokeUpdgrade2") +methUpdgrade1 = CFG.read("methUpdgrade1") +methUpdgrade2 = CFG.read("methUpdgrade2") +weedUpdgrade1 = CFG.read("weedUpdgrade1") +weedUpdgrade2 = CFG.read("weedUpdgrade2") +fdUpdgrade1 = CFG.read("fdUpdgrade1") +fdUpdgrade2 = CFG.read("fdUpdgrade2") +bunkerUpdgrade1 = CFG.read("bunkerUpdgrade1") +bunkerUpdgrade2 = CFG.read("bunkerUpdgrade2") +acidUpdgrade = CFG.read("acidUpdgrade") + +yim_resupplier:add_imgui(function() + if + network.is_session_started() + and not (SCRIPT.GET_NUMBER_OF_THREADS_RUNNING_THE_SCRIPT_WITH_THIS_HASH(joaat("maintransition")) > 0) + then + hangarOwned = stats.get_int(MPX() .. "PROP_HANGAR") ~= 0 + fCashOwned = stats.get_int(MPX() .. "PROP_FAC_SLOT0") ~= 0 + cokeOwned = stats.get_int(MPX() .. "PROP_FAC_SLOT1") ~= 0 + methOwned = stats.get_int(MPX() .. "PROP_FAC_SLOT2") ~= 0 + weedOwned = stats.get_int(MPX() .. "PROP_FAC_SLOT3") ~= 0 + fdOwned = stats.get_int(MPX() .. "PROP_FAC_SLOT4") ~= 0 + bunkerOwned = stats.get_int(MPX() .. "PROP_FAC_SLOT5") ~= 0 + acidOwned = stats.get_int(MPX() .. "PROP_FAC_SLOT6") ~= 0 + ImGui.BeginTabBar("YimResupplier", ImGuiTabBarFlags.None) + if ImGui.BeginTabItem("Manage Supplies") then + local wh1Supplies = stats.get_int(MPX() .. "CONTOTALFORWHOUSE0") or 0 + local wh2Supplies = stats.get_int(MPX() .. "CONTOTALFORWHOUSE1") or 0 + local wh3Supplies = stats.get_int(MPX() .. "CONTOTALFORWHOUSE2") or 0 + local wh4Supplies = stats.get_int(MPX() .. "CONTOTALFORWHOUSE3") or 0 + local wh5Supplies = stats.get_int(MPX() .. "CONTOTALFORWHOUSE4") or 0 + local hangarSupply = stats.get_int(MPX() .. "HANGAR_CONTRABAND_TOTAL") or 0 + local cashSupply = stats.get_int(MPX() .. "MATTOTALFORFACTORY0") or 0 + local dfSupply = stats.get_int(MPX() .. "MATTOTALFORFACTORY1") or 0 + local methSupply = stats.get_int(MPX() .. "MATTOTALFORFACTORY2") or 0 + local weedSupply = stats.get_int(MPX() .. "MATTOTALFORFACTORY3") or 0 + local cokeSupply = stats.get_int(MPX() .. "MATTOTALFORFACTORY4") or 0 + local bunkerSupply = stats.get_int(MPX() .. "MATTOTALFORFACTORY5") or 0 + local acidSupply = stats.get_int(MPX() .. "MATTOTALFORFACTORY6") or 0 + local ceoSupply = (wh1Supplies + wh2Supplies + wh3Supplies + wh4Supplies + wh5Supplies) + ImGui.Spacing() + ImGui.Text("Hangar Cargo") + ImGui.Separator() + if hangarOwned then + ImGui.Text("Current Supplies:") + ImGui.SameLine() + ImGui.Dummy(10, 1) + ImGui.SameLine() + ImGui.ProgressBar((hangarSupply / 50), 140, 30) + if hangarSupply < 50 then + if ImGui.Button("Source Random Crate(s)") then + script.run_in_fiber(function() + stats.set_bool_masked(MPX() .. "DLC22022PSTAT_BOOL3", true, 9) + end) + end + ImGui.SameLine() + hangarLoop, used = ImGui.Checkbox("Auto-Fill", hangarLoop) + if hangarLoop then + script.run_in_fiber(function(hangarSupp) + repeat + stats.set_bool_masked(MPX() .. "DLC22022PSTAT_BOOL3", true, 9) + hangarSupp:sleep(969) + until hangarSupply == 50 or hangarLoop == false + end) + end + else + if hangarLoop then + hangarLoop = false + end + end + if INTERIOR.GET_INTERIOR_FROM_ENTITY(self.get_ped()) == 0 then + if ImGui.Button("Teleport##hangar") then + script.run_in_fiber(function() + local hangarBlip = HUD.GET_FIRST_BLIP_INFO_ID(569) + local hangarLoc + if HUD.DOES_BLIP_EXIST(hangarBlip) then + hangarLoc = HUD.GET_BLIP_COORDS(hangarBlip) + selfTP(true, false, hangarLoc) + end + end) + end + end + else + ImGui.Text("You don't own a Hangar.") + end + ImGui.Spacing() + ImGui.Text("CEO Warehouses") + ImGui.Separator() + ImGui.Text("Current Supplies:") + ImGui.SameLine() + ImGui.Dummy(10, 1) + ImGui.SameLine() + ImGui.ProgressBar((ceoSupply / 555), 140, 30) + if ceoSupply < 555 then + if ImGui.Button("Source Random Crate(s)##ceo") then + script.run_in_fiber(function(fillceo) + for i = 12, 16 do + stats.set_bool_masked(MPX() .. "FIXERPSTAT_BOOL1", true, i) + fillceo:sleep(500) + end + end) + end + ImGui.SameLine() + ceoLoop, used = ImGui.Checkbox("Auto-Fill##ceo", ceoLoop) + if ceoLoop then + script.run_in_fiber(function(ceoloop) + repeat + for i = 12, 16 do + stats.set_bool_masked(MPX() .. "FIXERPSTAT_BOOL1", true, i) + ceoloop:sleep(500) + end + ceoloop:sleep(969) + until ceoSupply == 555 or ceoLoop == false + end) + end + else + if ceoLoop then + ceoLoop = false + end + end + if INTERIOR.GET_INTERIOR_FROM_ENTITY(self.get_ped()) == 0 then + if ImGui.Button("Teleport To Office") then + script.run_in_fiber(function() + local ceoBlip = HUD.GET_FIRST_BLIP_INFO_ID(475) + local ceoLoc + if HUD.DOES_BLIP_EXIST(ceoBlip) then + ceoLoc = HUD.GET_BLIP_COORDS(ceoBlip) + selfTP(true, false, ceoLoc) + end + end) + end + end + ImGui.Spacing() + ImGui.Text("MC Supplies") + ImGui.Separator() + if fCashOwned then + ImGui.Text("Fake Cash:") + ImGui.SameLine() + ImGui.Dummy(55, 1) + ImGui.SameLine() + ImGui.ProgressBar((cashSupply / 100), 140, 30) + if math.ceil(cashSupply) < 100 then + ImGui.SameLine() + if ImGui.Button(" Fill ##FakeCash") then + globals.set_int(main_global + 0 + 1, 1) + end + ImGui.SameLine() + ImGui.Dummy(5, 1) + end + if INTERIOR.GET_INTERIOR_FROM_ENTITY(self.get_ped()) == 0 then + ImGui.SameLine() + if ImGui.Button("Teleport##fc") then + script.run_in_fiber(function() + local fcBlip = HUD.GET_FIRST_BLIP_INFO_ID(500) + local fcLoc + if HUD.DOES_BLIP_EXIST(fcBlip) then + fcLoc = HUD.GET_BLIP_COORDS(fcBlip) + selfTP(false, false, fcLoc) + end + end) + end + end + else + ImGui.Text("You don't own a Fake Cash business.") + end + if cokeOwned then + ImGui.Text("Cocaine:") + ImGui.SameLine() + ImGui.Dummy(73, 1) + ImGui.SameLine() + ImGui.ProgressBar((cokeSupply / 100), 140, 30) + if math.ceil(cokeSupply) < 100 then + ImGui.SameLine() + if ImGui.Button(" Fill ##Cocaine") then + globals.set_int(main_global + 4 + 1, 1) + end + ImGui.SameLine() + ImGui.Dummy(5, 1) + end + if INTERIOR.GET_INTERIOR_FROM_ENTITY(self.get_ped()) == 0 then + ImGui.SameLine() + if ImGui.Button("Teleport##coke") then + script.run_in_fiber(function() + local cokeBlip = HUD.GET_FIRST_BLIP_INFO_ID(497) + local cokeLoc + if HUD.DOES_BLIP_EXIST(cokeBlip) then + cokeLoc = HUD.GET_BLIP_COORDS(cokeBlip) + selfTP(false, false, cokeLoc) + end + end) + end + end + else + ImGui.Text("You don't own a Cocaine business.") + end + if methOwned then + ImGui.Text("Meth:") + ImGui.SameLine() + ImGui.Dummy(95, 1) + ImGui.SameLine() + ImGui.ProgressBar((methSupply / 100), 140, 30) + if math.ceil(methSupply) < 100 then + ImGui.SameLine() + if ImGui.Button(" Fill ##Meth") then + globals.set_int(main_global + 2 + 1, 1) + end + ImGui.SameLine() + ImGui.Dummy(5, 1) + end + if INTERIOR.GET_INTERIOR_FROM_ENTITY(self.get_ped()) == 0 then + ImGui.SameLine() + if ImGui.Button("Teleport##meth") then + script.run_in_fiber(function() + local methBlip = HUD.GET_FIRST_BLIP_INFO_ID(499) + local methLoc + if HUD.DOES_BLIP_EXIST(methBlip) then + methLoc = HUD.GET_BLIP_COORDS(methBlip) + selfTP(false, false, methLoc) + end + end) + end + end + else + ImGui.Text("You don't own a Meth business.") + end + if weedOwned then + ImGui.Text("Weed:") + ImGui.SameLine() + ImGui.Dummy(90, 1) + ImGui.SameLine() + ImGui.ProgressBar((weedSupply / 100), 140, 30) + if math.ceil(weedSupply) < 100 then + ImGui.SameLine() + if ImGui.Button(" Fill ##Weed") then + globals.set_int(main_global + 3 + 1, 1) + end + ImGui.SameLine() + ImGui.Dummy(5, 1) + end + if INTERIOR.GET_INTERIOR_FROM_ENTITY(self.get_ped()) == 0 then + ImGui.SameLine() + if ImGui.Button("Teleport##weed") then + script.run_in_fiber(function() + local weedBlip = HUD.GET_FIRST_BLIP_INFO_ID(496) + local weedLoc + if HUD.DOES_BLIP_EXIST(weedBlip) then + weedLoc = HUD.GET_BLIP_COORDS(weedBlip) + selfTP(false, false, weedLoc) + end + end) + end + end + else + ImGui.Text("You don't own a Weed business.") + end + if fdOwned then + ImGui.Text("Document Forgery: ") + ImGui.SameLine() + ImGui.ProgressBar((dfSupply / 100), 140, 30) + if math.ceil(dfSupply) < 100 then + ImGui.SameLine() + if ImGui.Button(" Fill ##DocumentForgery") then + globals.set_int(main_global + 1 + 1, 1) + end + ImGui.SameLine() + ImGui.Dummy(5, 1) + end + if INTERIOR.GET_INTERIOR_FROM_ENTITY(self.get_ped()) == 0 then + ImGui.SameLine() + if ImGui.Button("Teleport##fd") then + script.run_in_fiber(function() + local fdBlip = HUD.GET_FIRST_BLIP_INFO_ID(498) + local fdLoc + if HUD.DOES_BLIP_EXIST(fdBlip) then + fdLoc = HUD.GET_BLIP_COORDS(fdBlip) + selfTP(false, false, fdLoc) + end + end) + end + end + else + ImGui.Text("You don't own a Document Forgery office.") + end + if bunkerOwned then + ImGui.Text("Bunker:") + ImGui.SameLine() + ImGui.Dummy(80, 1) + ImGui.SameLine() + ImGui.ProgressBar((bunkerSupply / 100), 140, 30) + if math.ceil(bunkerSupply) < 100 then + ImGui.SameLine() + if ImGui.Button(" Fill ##Bunker") then + globals.set_int(main_global + 5 + 1, 1) + end + ImGui.SameLine() + ImGui.Dummy(5, 1) + end + if INTERIOR.GET_INTERIOR_FROM_ENTITY(self.get_ped()) == 0 then + ImGui.SameLine() + if ImGui.Button("Teleport##bunker") then + script.run_in_fiber(function() + local bunkerBlip = HUD.GET_FIRST_BLIP_INFO_ID(557) + local bunkerLoc + if HUD.DOES_BLIP_EXIST(bunkerBlip) then + bunkerLoc = HUD.GET_BLIP_COORDS(bunkerBlip) + selfTP(true, false, bunkerLoc) + end + end) + end + end + else + ImGui.Text("You don't own a Bunker.") + end + if acidOwned then + ImGui.Text("Acid Lab:") + ImGui.SameLine() + ImGui.Dummy(70, 1) + ImGui.SameLine() + ImGui.ProgressBar((acidSupply / 100), 140, 30) + if math.ceil(acidSupply) < 100 then + ImGui.SameLine() + if ImGui.Button(" Fill ##AcidLab") then + globals.set_int(main_global + 6 + 1, 1) + end + ImGui.SameLine() + ImGui.Dummy(5, 1) + end + if INTERIOR.GET_INTERIOR_FROM_ENTITY(self.get_ped()) == 0 then + ImGui.SameLine() + if ImGui.Button("Teleport##acid") then + script.run_in_fiber(function() + local acidBlip = HUD.GET_FIRST_BLIP_INFO_ID(848) + local acidLoc + if HUD.DOES_BLIP_EXIST(acidBlip) then + acidLoc = HUD.GET_BLIP_COORDS(acidBlip) + selfTP(true, false, acidLoc) + end + end) + end + end + if INTERIOR.GET_INTERIOR_FROM_ENTITY(self.get_ped()) == 0 then + ImGui.Dummy(1, 10) + coloredText( + "WARNING!\10Teleport buttons might be broken in public sessions.", + 40, + { 255, 204, 0, 0.8 } + ) + end + else + ImGui.Text("You don't own an Acid Lab.") + end + ImGui.EndTabItem() + end + if ImGui.BeginTabItem("Production Overview") then + --------------------------------------- Hangar ---------------------------------------------------------------------- + if hangarOwned then + ImGui.Text("Hangar:") + local hangarCargo = stats.get_int(MPX() .. "HANGAR_CONTRABAND_TOTAL") or 0 + hangarTotal = hangarCargo * 30000 + ImGui.Text("Product:") + ImGui.SameLine() + ImGui.Dummy(5, 1) + ImGui.SameLine() + ImGui.ProgressBar( + (hangarCargo / 50), + 160, + 25, + tostring(hangarCargo) .. " Crates (" .. tostring(math.floor(hangarCargo / 0.5)) .. "%)" + ) + ImGui.SameLine() + ImGui.Dummy(10, 1) + ImGui.SameLine() + ImGui.Text("Value:") + ImGui.SameLine() + ImGui.Text(formatMoney(hangarTotal)) + end + --------------------------------------- CEO ---------------------------------------------------------------------- + ImGui.Separator() + ImGui.Text("CEO:") + local wh1Supplies = stats.get_int(MPX() .. "CONTOTALFORWHOUSE0") or 0 + local wh2Supplies = stats.get_int(MPX() .. "CONTOTALFORWHOUSE1") or 0 + local wh3Supplies = stats.get_int(MPX() .. "CONTOTALFORWHOUSE2") or 0 + local wh4Supplies = stats.get_int(MPX() .. "CONTOTALFORWHOUSE3") or 0 + local wh5Supplies = stats.get_int(MPX() .. "CONTOTALFORWHOUSE4") or 0 + if wh1Supplies ~= nil and wh1Supplies > 0 then + wh1Value = (globals.get_int(262145 + (getCEOvalue_G(wh1Supplies)))) + else + wh1Value = 0 + end + if wh2Supplies ~= nil and wh2Supplies > 0 then + wh2Value = (globals.get_int(262145 + (getCEOvalue_G(wh2Supplies)))) + else + wh2Value = 0 + end + if wh3Supplies ~= nil and wh3Supplies > 0 then + wh3Value = (globals.get_int(262145 + (getCEOvalue_G(wh3Supplies)))) + else + wh3Value = 0 + end + if wh4Supplies ~= nil and wh4Supplies > 0 then + wh4Value = (globals.get_int(262145 + (getCEOvalue_G(wh4Supplies)))) + else + wh4Value = 0 + end + if wh5Supplies ~= nil and wh5Supplies > 0 then + wh5Value = (globals.get_int(262145 + (getCEOvalue_G(wh5Supplies)))) + else + wh5Value = 0 + end + local ceoSupply = (wh1Supplies + wh2Supplies + wh3Supplies + wh4Supplies + wh5Supplies) + ceoTotal = ( + (wh1Value * wh1Supplies) + + (wh2Value * wh2Supplies) + + (wh3Value * wh3Supplies) + + (wh4Value * wh4Supplies) + + (wh5Value * wh5Supplies) + ) + ImGui.Text("Product:") + ImGui.SameLine() + ImGui.Dummy(5, 1) + ImGui.SameLine() + ImGui.ProgressBar( + (ceoSupply / 555), + 160, + 25, + tostring(ceoSupply) .. " Crates (" .. tostring(math.floor((ceoSupply / 555) * 100)) .. "%)" + ) + ImGui.SameLine() + ImGui.Dummy(10, 1) + ImGui.SameLine() + ImGui.Text("Value:") + ImGui.SameLine() + ImGui.Text(formatMoney(ceoTotal)) + --------------------------------------- Fake Cash ------------------------------------------------------------------- + if fCashOwned then + ImGui.Separator() + ImGui.Text("Fake Cash:") + ImGui.SameLine() + cashUpdgrade1, used = ImGui.Checkbox("Equipment Upgrade##cash", cashUpdgrade1) + ImGui.SameLine() + if used then + CFG.save("cashUpdgrade1", cashUpdgrade1) + end + cashUpdgrade2, used = ImGui.Checkbox("Staff Upgrade##cash", cashUpdgrade2) + if used then + CFG.save("cashUpdgrade2", cashUpdgrade2) + end + if cashUpdgrade1 then + cashOffset1 = globals.get_int(262145 + 17415) + else + cashOffset1 = 0 + end + if cashUpdgrade2 then + cashOffset2 = globals.get_int(262145 + 17421) + else + cashOffset2 = 0 + end + local cashProduct = stats.get_int(MPX() .. "PRODTOTALFORFACTORY0") or 0 + cashTotal = ((globals.get_int(262145 + 17409) + cashOffset1 + cashOffset2) * cashProduct) + ImGui.Text("Product:") + ImGui.SameLine() + ImGui.Dummy(5, 1) + ImGui.SameLine() + ImGui.ProgressBar( + (cashProduct / 40), + 160, + 25, + tostring(cashProduct) .. " Boxes (" .. tostring(math.floor(cashProduct * 2.5)) .. "%)" + ) + ImGui.SameLine() + ImGui.Dummy(10, 1) + ImGui.SameLine() + ImGui.Text("Value:") + ImGui.SameLine() + ImGui.Text(formatMoney(cashTotal)) + end + ---------------------------------------Coke---------------------------------------------------------------------- + if cokeOwned then + ImGui.Separator() + ImGui.Text("Cocaine: ") + ImGui.SameLine() + cokeUpdgrade1, used = ImGui.Checkbox("Equipment Upgrade##coke", cokeUpdgrade1) + ImGui.SameLine() + if used then + CFG.save("cokeUpdgrade1", cokeUpdgrade1) + end + cokeUpdgrade2, used = ImGui.Checkbox("Staff Upgrade##coke", cokeUpdgrade2) + if used then + CFG.save("cokeUpdgrade2", cokeUpdgrade2) + end + if cokeUpdgrade1 then + cokeOffset1 = globals.get_int(262145 + 17416) + else + cokeOffset1 = 0 + end + if cokeUpdgrade2 then + cokeOffset2 = globals.get_int(262145 + 17422) + else + cokeOffset2 = 0 + end + local cokeProduct = stats.get_int(MPX() .. "PRODTOTALFORFACTORY1") or 0 + cokeTotal = ((globals.get_int(262145 + 17410) + cokeOffset1 + cokeOffset2) * cokeProduct) + ImGui.Text("Product:") + ImGui.SameLine() + ImGui.Dummy(5, 1) + ImGui.SameLine() + ImGui.ProgressBar( + (cokeProduct / 10), + 160, + 25, + tostring(cokeProduct) .. " Kilos (" .. tostring(cokeProduct * 10) .. "%)" + ) + ImGui.SameLine() + ImGui.Dummy(10, 1) + ImGui.SameLine() + ImGui.Text("Value:") + ImGui.SameLine() + ImGui.Text(formatMoney(cokeTotal)) + end + ---------------------------------------Meth----------------------------------------------------------------------- + if methOwned then + ImGui.Separator() + ImGui.Text("Meth: ") + ImGui.SameLine() + methUpdgrade1, used = ImGui.Checkbox("Equipment Upgrade##meth", methUpdgrade1) + ImGui.SameLine() + if used then + CFG.save("methUpdgrade1", methUpdgrade1) + end + methUpdgrade2, used = ImGui.Checkbox("Staff Upgrade##meth", methUpdgrade2) + if used then + CFG.save("methUpdgrade2", methUpdgrade2) + end + if methUpdgrade1 then + methOffset1 = globals.get_int(262145 + 17417) + else + methOffset1 = 0 + end + if methUpdgrade2 then + methOffset2 = globals.get_int(262145 + 17423) + else + methOffset2 = 0 + end + local methProduct = stats.get_int(MPX() .. "PRODTOTALFORFACTORY2") or 0 + methTotal = ((globals.get_int(262145 + 17411) + methOffset1 + methOffset2) * methProduct) + ImGui.Text("Product:") + ImGui.SameLine() + ImGui.Dummy(5, 1) + ImGui.SameLine() + ImGui.ProgressBar( + (methProduct / 20), + 160, + 25, + tostring(methProduct) .. " Pounds (" .. tostring(methProduct * 5) .. "%)" + ) + ImGui.SameLine() + ImGui.Dummy(10, 1) + ImGui.SameLine() + ImGui.Text("Value:") + ImGui.SameLine() + ImGui.Text(formatMoney(methTotal)) + end + ---------------------------------------Weed------------------------------------------------------------------------ + if weedOwned then + ImGui.Separator() + ImGui.Text("Weed: ") + ImGui.SameLine() + weedUpdgrade1, used = ImGui.Checkbox("Equipment Upgrade##weed", weedUpdgrade1) + ImGui.SameLine() + if used then + CFG.save("weedUpdgrade1", weedUpdgrade1) + end + weedUpdgrade2, used = ImGui.Checkbox("Staff Upgrade##weed", weedUpdgrade2) + if used then + CFG.save("weedUpdgrade2", weedUpdgrade2) + end + if weedUpdgrade1 then + weedOffset1 = globals.get_int(262145 + 17418) + else + weedOffset1 = 0 + end + if weedUpdgrade2 then + weedOffset2 = globals.get_int(262145 + 17424) + else + weedOffset2 = 0 + end + local weedProduct = stats.get_int("MPX_PRODTOTALFORFACTORY3") + weedTotal = ((globals.get_int(262145 + 17412) + weedOffset1 + weedOffset2) * weedProduct) + ImGui.Text("Product:") + ImGui.SameLine() + ImGui.Dummy(5, 1) + ImGui.SameLine() + ImGui.ProgressBar( + (weedProduct / 80), + 160, + 25, + tostring(weedProduct) .. " Pounds (" .. tostring(math.floor(weedProduct / 8 * 10)) .. "%)" + ) + ImGui.SameLine() + ImGui.Dummy(10, 1) + ImGui.SameLine() + ImGui.Text("Value:") + ImGui.SameLine() + ImGui.Text(formatMoney(weedTotal)) + end + ---------------------------------------Document Forgery------------------------------------------------------------ + if fdOwned then + ImGui.Separator() + ImGui.Text("Fake ID: ") + ImGui.SameLine() + fdUpdgrade1, used = ImGui.Checkbox("Equipment Upgrade##fd", fdUpdgrade1) + ImGui.SameLine() + if used then + CFG.save("fdUpdgrade1", fdUpdgrade1) + end + fdUpdgrade2, used = ImGui.Checkbox("Staff Upgrade##fd", fdUpdgrade2) + if used then + CFG.save("fdUpdgrade2", fdUpdgrade2) + end + if fdUpdgrade1 then + fdOffset1 = globals.get_int(262145 + 17414) + else + fdOffset1 = 0 + end + if fdUpdgrade2 then + fdOffset2 = globals.get_int(262145 + 17420) + else + fdOffset2 = 0 + end + local fdProduct = stats.get_int("MPX_PRODTOTALFORFACTORY4") + fdTotal = ((globals.get_int(262145 + 17408) + fdOffset1 + fdOffset2) * fdProduct) + ImGui.Text("Product:") + ImGui.SameLine() + ImGui.Dummy(5, 1) + ImGui.SameLine() + ImGui.ProgressBar( + (fdProduct / 60), + 160, + 25, + tostring(fdProduct) .. " Boxes (" .. tostring(math.floor(fdProduct / 6 * 10)) .. "%)" + ) + ImGui.SameLine() + ImGui.Dummy(10, 1) + ImGui.SameLine() + ImGui.Text("Value:") + ImGui.SameLine() + ImGui.Text(formatMoney(fdTotal)) + end + ---------------------------------------Bunker----------------------------------------------------------------------- + if bunkerOwned then + ImGui.Separator() + ImGui.Text("Bunker: ") + ImGui.SameLine() + bunkerUpdgrade1, used = ImGui.Checkbox("Equipment Upgrade##bunker", bunkerUpdgrade1) + ImGui.SameLine() + if used then + CFG.save("bunkerUpdgrade1", bunkerUpdgrade1) + end + bunkerUpdgrade2, used = ImGui.Checkbox("Staff Upgrade##bunker", bunkerUpdgrade2) + if used then + CFG.save("bunkerUpdgrade2", bunkerUpdgrade2) + end + if bunkerUpdgrade1 then + bunkerOffset1 = globals.get_int(262145 + 21345) + else + bunkerOffset1 = 0 + end + if bunkerUpdgrade2 then + bunkerOffset2 = globals.get_int(262145 + 21344) + else + bunkerOffset2 = 0 + end + local bunkerProduct = stats.get_int("MPX_PRODTOTALFORFACTORY5") + bunkerTotal = ((globals.get_int(262145 + 21343) + bunkerOffset1 + bunkerOffset2) * bunkerProduct) + ImGui.Text("Product:") + ImGui.SameLine() + ImGui.Dummy(5, 1) + ImGui.SameLine() + ImGui.ProgressBar( + (bunkerProduct / 100), + 160, + 25, + tostring(bunkerProduct) .. " Crates (" .. tostring(bunkerProduct) .. "%)" + ) + ImGui.SameLine() + ImGui.Dummy(10, 1) + ImGui.SameLine() + ImGui.Text("Value:") + ImGui.SameLine() + ImGui.Text("BC: " .. formatMoney(bunkerTotal) .. "\nLS: " .. formatMoney(math.floor(bunkerTotal * 1.5))) + end + ---------------------------------------Acid Lab------------------------------------------------------------------- + if acidOwned then + ImGui.Separator() + ImGui.Text("Acid Lab: ") + ImGui.SameLine() + acidUpdgrade, used = ImGui.Checkbox("Equipment Upgrade##acid", acidUpdgrade) + if used then + CFG.save("acidUpdgrade", acidUpdgrade) + end + if acidUpdgrade then + acidOffset = globals.get_int(262145 + 17419) + else + acidOffset = 0 + end + local acidProduct = stats.get_int("MPX_PRODTOTALFORFACTORY6") + acidTotal = ((globals.get_int(262145 + 17413) + acidOffset) * acidProduct) + ImGui.Text("Product:") + ImGui.SameLine() + ImGui.Dummy(5, 1) + ImGui.SameLine() + ImGui.ProgressBar( + (acidProduct / 100), + 160, + 25, + tostring(acidProduct) .. " Sheets (" .. tostring(math.floor(acidProduct / 16 * 10)) .. "%)" + ) + ImGui.SameLine() + ImGui.Dummy(10, 1) + ImGui.SameLine() + ImGui.Text("Value:") + ImGui.SameLine() + ImGui.Text(formatMoney(acidTotal)) + end + ImGui.Spacing() + ImGui.Separator() + local finalAmt = ( + hangarTotal + + ceoTotal + + cashTotal + + cokeTotal + + methTotal + + weedTotal + + fdTotal + + bunkerTotal + + acidTotal + ) + ImGui.Spacing() + ImGui.Text("Total Profit = " .. formatMoney(finalAmt)) + ImGui.EndTabItem() + end + if ImGui.BeginTabItem("Business Safes") then + if stats.get_int("MPX_PROP_NIGHTCLUB") ~= 0 then + ImGui.Spacing() + ImGui.Spacing() + ImGui.Text("¤ Nightclub ¤") + if INTERIOR.GET_INTERIOR_FROM_ENTITY(self.get_ped()) == 0 then + ImGui.SameLine() + ImGui.Dummy(50, 1) + ImGui.SameLine() + if ImGui.Button("Teleport##nc") then + script.run_in_fiber(function() + local ncBlip = HUD.GET_FIRST_BLIP_INFO_ID(614) + local ncLoc + if HUD.DOES_BLIP_EXIST(ncBlip) then + ncLoc = HUD.GET_BLIP_COORDS(ncBlip) + selfTP(false, false, ncLoc) + end + end) + end + end + local currentNcPop = stats.get_int("MPX_CLUB_POPULARITY") + local popDiff = 1000 - currentNcPop + local currNcSafeMoney = stats.get_int("MPX_CLUB_SAFE_CASH_VALUE") + ImGui.Text("Popularity: ") + ImGui.SameLine() + ImGui.Dummy(35, 1) + ImGui.SameLine() + ImGui.ProgressBar(currentNcPop / 1000, 160, 25, tostring(currentNcPop)) + if currentNcPop < 1000 then + ImGui.SameLine() + if ImGui.Button("Max Popularity") then + stats.set_int("MPX_CLUB_POPULARITY", currentNcPop + popDiff) + gui.show_success("YimResupplier", "Nightclub popularity increased.") + end + end + ImGui.Text("Safe: ") + ImGui.SameLine() + ImGui.Dummy(75, 1) + ImGui.SameLine() + ImGui.ProgressBar(currNcSafeMoney / 250000, 160, 25, formatMoney(currNcSafeMoney)) + ImGui.Separator() + end + if stats.get_int("MPX_PROP_ARCADE") ~= 0 then + ImGui.Spacing() + ImGui.Spacing() + ImGui.Text("¤ Arcade ¤") + if INTERIOR.GET_INTERIOR_FROM_ENTITY(self.get_ped()) == 0 then + ImGui.SameLine() + ImGui.Dummy(60, 1) + ImGui.SameLine() + if ImGui.Button("Teleport##arcade") then + script.run_in_fiber(function() + local arBlip = HUD.GET_FIRST_BLIP_INFO_ID(740) + local arLoc + if HUD.DOES_BLIP_EXIST(arBlip) then + arLoc = HUD.GET_BLIP_COORDS(arBlip) + selfTP(false, false, arLoc) + end + end) + end + end + local currArSafeMoney = stats.get_int("MPX_ARCADE_SAFE_CASH_VALUE") + ImGui.Text("Safe: ") + ImGui.SameLine() + ImGui.Dummy(75, 1) + ImGui.SameLine() + ImGui.ProgressBar(currArSafeMoney / 100000, 160, 25, formatMoney(currArSafeMoney)) + ImGui.Separator() + end + if stats.get_int("MPX_PROP_SECURITY_OFFICE") ~= 0 then + ImGui.Spacing() + ImGui.Spacing() + ImGui.Text("¤ Agency ¤") + if INTERIOR.GET_INTERIOR_FROM_ENTITY(self.get_ped()) == 0 then + ImGui.SameLine() + ImGui.Dummy(60, 1) + ImGui.SameLine() + if ImGui.Button("Teleport##agnc") then + script.run_in_fiber(function() + local agncBlip = HUD.GET_FIRST_BLIP_INFO_ID(826) + local agncLoc + if HUD.DOES_BLIP_EXIST(agncBlip) then + agncLoc = HUD.GET_BLIP_COORDS(agncBlip) + selfTP(false, false, agncLoc) + end + end) + end + end + local currAgSafeMoney = stats.get_int("MPX_FIXER_SAFE_CASH_VALUE") + ImGui.Text("Safe: ") + ImGui.SameLine() + ImGui.Dummy(75, 1) + ImGui.SameLine() + ImGui.ProgressBar(currAgSafeMoney / 250000, 160, 25, formatMoney(currAgSafeMoney)) + ImGui.Separator() + end + if stats.get_int("MPX_PROP_CLUBHOUSE") ~= 0 then + ImGui.Spacing() + ImGui.Spacing() + ImGui.Text("¤ MC Clubhouse ¤") + if INTERIOR.GET_INTERIOR_FROM_ENTITY(self.get_ped()) == 0 then + ImGui.SameLine() + ImGui.Dummy(10, 1) + ImGui.SameLine() + if ImGui.Button("Teleport##mc") then + script.run_in_fiber(function() + local mcBlip = HUD.GET_FIRST_BLIP_INFO_ID(492) + local mcLoc + if HUD.DOES_BLIP_EXIST(mcBlip) then + mcLoc = HUD.GET_BLIP_COORDS(mcBlip) + selfTP(false, false, mcLoc) + end + end) + end + end + local currClubHouseBarProfit = stats.get_int("MPX_BIKER_BAR_RESUPPLY_CASH") + ImGui.Text("Bar Earnings: ") + ImGui.SameLine() + ImGui.Dummy(15, 1) + ImGui.SameLine() + ImGui.ProgressBar(currClubHouseBarProfit / 100000, 160, 25, formatMoney(currClubHouseBarProfit)) + ImGui.Separator() + end + if stats.get_int("MPX_PROP_BAIL_OFFICE") ~= 0 then + ImGui.Spacing() + ImGui.Spacing() + ImGui.Text("¤ Bail Office ¤") + if INTERIOR.GET_INTERIOR_FROM_ENTITY(self.get_ped()) == 0 then + ImGui.SameLine() + ImGui.Dummy(40, 1) + ImGui.SameLine() + if ImGui.Button("Teleport##bail") then + script.run_in_fiber(function() + local bailBlip = HUD.GET_FIRST_BLIP_INFO_ID(893) + local bailLoc + if HUD.DOES_BLIP_EXIST(bailBlip) then + bailLoc = HUD.GET_BLIP_COORDS(bailBlip) + bailLoc.y = bailLoc.y + 1.2 + selfTP(false, false, bailLoc) + end + end) + end + end + local currBailSafe = stats.get_int("MPX_BAIL_SAFE_CASH_VALUE") + ImGui.Text("Safe: ") + ImGui.SameLine() + ImGui.Dummy(75, 1) + ImGui.SameLine() + ImGui.ProgressBar(currBailSafe / 100000, 160, 25, formatMoney(currBailSafe)) + ImGui.Separator() + end + if stats.get_int("MPX_SALVAGE_YARD_OWNED") ~= 0 then + ImGui.Spacing() + ImGui.Spacing() + ImGui.Text("¤ Salvage Yard ¤") + if INTERIOR.GET_INTERIOR_FROM_ENTITY(self.get_ped()) == 0 then + ImGui.SameLine() + ImGui.Dummy(20, 1) + ImGui.SameLine() + if ImGui.Button("Teleport##salvage") then + script.run_in_fiber(function() + local slvgBlip = HUD.GET_FIRST_BLIP_INFO_ID(867) + local slvgLoc + if HUD.DOES_BLIP_EXIST(slvgBlip) then + slvgLoc = HUD.GET_BLIP_COORDS(slvgBlip) + selfTP(false, true, slvgLoc, 180) + end + end) + end + end + local currSalvSafe = stats.get_int("MPX_SALVAGE_SAFE_CASH_VALUE") + ImGui.Text("Safe: ") + ImGui.SameLine() + ImGui.Dummy(75, 1) + ImGui.SameLine() + ImGui.ProgressBar(currSalvSafe / 250000, 160, 25, formatMoney(currSalvSafe)) + end + if INTERIOR.GET_INTERIOR_FROM_ENTITY(self.get_ped()) == 0 then + ImGui.Dummy(1, 10) + coloredText("WARNING!\10Teleport buttons might be broken in public sessions.", 40, { 255, 204, 0, 0.8 }) + end + ImGui.EndTabItem() + end + else + ImGui.Text("\nUnavailable in Single Player.\n\n") + end +end) -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- ReportsMenu = L7NEG:add_tab("Reports Menu") ReportsMenu:add_imgui(function() - if checkOnline() then return end - ImGui.Text("Griefing: " .. stats.get_int("MPPLY_GRIEFING")) - ImGui.Text("Exploiting: " .. stats.get_int("MPPLY_EXPLOITS")) - ImGui.Text("Abusing Bugs: " .. stats.get_int("MPPLY_GAME_EXPLOITS")) - ImGui.Text("Annoying People In Text: " .. stats.get_int("MPPLY_TC_ANNOYINGME")) - ImGui.Text("Hate Speech In Voice: " .. stats.get_int("MPPLY_VC_HATE")) - ImGui.Text("Offensive Language: " .. stats.get_int("MPPLY_OFFENSIVE_LANGUAGE")) - ImGui.Text("Offensive Tagplate: " .. stats.get_int("MPPLY_OFFENSIVE_TAGPLATE")) - ImGui.Text("Offensive Content: " .. stats.get_int("MPPLY_OFFENSIVE_UGC")) - ImGui.Text("Bad Crew Name: " .. stats.get_int("MPPLY_BAD_CREW_NAME")) - ImGui.Text("Bad Crew Motto: " .. stats.get_int("MPPLY_BAD_CREW_MOTTO")) - ImGui.Text("Bad Crew Status: " .. stats.get_int("MPPLY_BAD_CREW_STATUS")) - ImGui.Text("Bad Crew Emblem: " .. stats.get_int("MPPLY_BAD_CREW_EMBLEM")) - ImGui.Separator() - ImGui.Text("Now onto your commends:") - ImGui.Separator() - ImGui.Text("Friendly: " .. stats.get_int("MPPLY_FRIENDLY")) - ImGui.Text("Helpful: " .. stats.get_int("MPPLY_HELPFUL")) + if checkOnline() then + return + end + ImGui.Text("Griefing: " .. stats.get_int("MPPLY_GRIEFING")) + ImGui.Text("Exploiting: " .. stats.get_int("MPPLY_EXPLOITS")) + ImGui.Text("Abusing Bugs: " .. stats.get_int("MPPLY_GAME_EXPLOITS")) + ImGui.Text("Annoying People In Text: " .. stats.get_int("MPPLY_TC_ANNOYINGME")) + ImGui.Text("Hate Speech In Voice: " .. stats.get_int("MPPLY_VC_HATE")) + ImGui.Text("Offensive Language: " .. stats.get_int("MPPLY_OFFENSIVE_LANGUAGE")) + ImGui.Text("Offensive Tagplate: " .. stats.get_int("MPPLY_OFFENSIVE_TAGPLATE")) + ImGui.Text("Offensive Content: " .. stats.get_int("MPPLY_OFFENSIVE_UGC")) + ImGui.Text("Bad Crew Name: " .. stats.get_int("MPPLY_BAD_CREW_NAME")) + ImGui.Text("Bad Crew Motto: " .. stats.get_int("MPPLY_BAD_CREW_MOTTO")) + ImGui.Text("Bad Crew Status: " .. stats.get_int("MPPLY_BAD_CREW_STATUS")) + ImGui.Text("Bad Crew Emblem: " .. stats.get_int("MPPLY_BAD_CREW_EMBLEM")) + ImGui.Separator() + ImGui.Text("Now onto your commends:") + ImGui.Separator() + ImGui.Text("Friendly: " .. stats.get_int("MPPLY_FRIENDLY")) + ImGui.Text("Helpful: " .. stats.get_int("MPPLY_HELPFUL")) end) -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- @@ -5593,15 +5753,15 @@ WareHouseDataEditorMenu = makeOnlineTab(L7NEG7:add_tab("WareHouse Data Editor")) -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- WareHouseDataEditorMenu:add_button("Auto-Reset stats-0/0Sales", function() - stats.set_int(MPX() .. "LIFETIME_BUY_COMPLETE", 0) - stats.set_int(MPX() .. "LIFETIME_BUY_UNDERTAKEN", 0) - stats.set_int(MPX() .. "LIFETIME_SELL_COMPLETE", 0) - stats.set_int(MPX() .. "LIFETIME_SELL_UNDERTAKEN", 0) - stats.set_int(MPX() .. "LIFETIME_CONTRA_EARNINGS", 0) - globals.set_int(CSg1, 11) - globals.set_int(CSg2, 1) - script:sleep(300) - globals.set_int(CSg2, 0) + stats.set_int(MPX() .. "LIFETIME_BUY_COMPLETE", 0) + stats.set_int(MPX() .. "LIFETIME_BUY_UNDERTAKEN", 0) + stats.set_int(MPX() .. "LIFETIME_SELL_COMPLETE", 0) + stats.set_int(MPX() .. "LIFETIME_SELL_UNDERTAKEN", 0) + stats.set_int(MPX() .. "LIFETIME_CONTRA_EARNINGS", 0) + globals.set_int(CSg1, 11) + globals.set_int(CSg2, 1) + script:sleep(300) + globals.set_int(CSg2, 0) end) -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- @@ -5611,8 +5771,8 @@ L7NEG7N = makeOnlineTab(L7NEG7:add_tab("Tutorial ReadMe")) L7NEG7N:add_text(" Ceo Crates Method ", function() end) L7NEG7N:add_text(" First Enter Your Warehouse ", function() end) L7NEG7N:add_text( - " Then Stand In Front Of Your Warehouse Computer And Then Active The Enable Ceo Manager ", - function() end + " Then Stand In Front Of Your Warehouse Computer And Then Active The Enable Ceo Manager ", + function() end ) L7NEG7N:add_text("", function() end) L7NEG7N:add_text("https://l7neg.is-a.dev/discord", function() end) @@ -5633,9 +5793,13 @@ end) ApartmentDataEditorMenu:add_sameline() ApartmentDataEditorMenu:add_text("") ApartmentDataEditorMenu:add_text("For Fleeca:") -ApartmentDataEditorMenu:add_text("Pay for the preparation, start the first mission and as soon as you are sent to scout\nchange the session, come back to planning room, press \"Complete Preps\" near white board and press \"E\"") +ApartmentDataEditorMenu:add_text( + 'Pay for the preparation, start the first mission and as soon as you are sent to scout\nchange the session, come back to planning room, press "Complete Preps" near white board and press "E"' +) ApartmentDataEditorMenu:add_text("For Other Heist:") -ApartmentDataEditorMenu:add_text("Start the mission and leave after the 1st cutscene ends, press \"Complete Preps\" near white board and press \"E\"") +ApartmentDataEditorMenu:add_text( + 'Start the mission and leave after the 1st cutscene ends, press "Complete Preps" near white board and press "E"' +) ApartmentDataEditorMenu:add_separator() ApartmentDataEditorMenu:add_button("Kill Cooldown", function() globals.set_int(ACDg + 1 + (PLAYER.PLAYER_ID() * 77) + 76, -1) @@ -5651,8 +5815,10 @@ ApartmentDataEditorMenu:add_separator() ApartmentDataEditorMenu:add_text("Team Lives:") local livesValueApartment = 3 ApartmentDataEditorMenu:add_imgui(function() - if checkOnline() then return end - + if checkOnline() then + return + end + ImGui.Text("Team Lives:") livesValueApartment, _ = ImGui.InputInt("##ApartmentLives", livesValueApartment) if ImGui.Button("Set Lives##Apartment") then @@ -5670,37 +5836,44 @@ end) local heistCuts = { easy = { - [1328892776] = {-5862, 2981}, - [964111671] = {-1614, 857}, - [1131632450] = {-1168, 634}, - [1967927346] = {-1596, 848}, - [1182286714] = {-700, 400} + [1328892776] = { -5862, 2981 }, + [964111671] = { -1614, 857 }, + [1131632450] = { -1168, 634 }, + [1967927346] = { -1596, 848 }, + [1182286714] = { -700, 400 }, }, normal = { - [1328892776] = {-2878, 1489}, - [964111671] = {-756, 428}, - [1131632450] = {-534, 317}, - [1967927346] = {-748, 424}, - [1182286714] = {-300, 200} + [1328892776] = { -2878, 1489 }, + [964111671] = { -756, 428 }, + [1131632450] = { -534, 317 }, + [1967927346] = { -748, 424 }, + [1182286714] = { -300, 200 }, }, hard = { - [1328892776] = {-2284, 1192}, - [964111671] = {-584, 342}, - [1131632450] = {-406, 253}, - [1967927346] = {-578, 339}, - [1182286714] = {-220, 160} - } + [1328892776] = { -2284, 1192 }, + [964111671] = { -584, 342 }, + [1131632450] = { -406, 253 }, + [1967927346] = { -578, 339 }, + [1182286714] = { -220, 160 }, + }, } ApartmentDataEditorMenu:add_separator() -ApartmentDataEditorMenu:add_text("Works only for you. Allows you to get 12 millions bonus for The Pacific Standard Job on hard difficulty.\nEnable before starting the heist. Has a cooldown.") +ApartmentDataEditorMenu:add_text( + "Works only for you. Allows you to get 12 millions bonus for The Pacific Standard Job on hard difficulty.\nEnable before starting the heist. Has a cooldown." +) local apartmentBonus = ApartmentDataEditorMenu:add_checkbox("12mil Bonus") local previousState = false script.register_looped("SN_Apartment_Bonus", function(script) script:yield() - if not network.is_session_started() or SCRIPT.GET_NUMBER_OF_THREADS_RUNNING_THE_SCRIPT_WITH_THIS_HASH(joaat("maintransition")) > 0 then return end + if + not network.is_session_started() + or SCRIPT.GET_NUMBER_OF_THREADS_RUNNING_THE_SCRIPT_WITH_THIS_HASH(joaat("maintransition")) > 0 + then + return + end local currentState = apartmentBonus:is_enabled() if currentState ~= previousState then stats.set_int(joaat("MPPLY_HEISTFLOWORDERPROGRESS"), currentState and 268435455 or 134217727) @@ -5709,14 +5882,18 @@ script.register_looped("SN_Apartment_Bonus", function(script) stats.set_bool(joaat("MPPLY_AWD_HST_SAME_TEAM"), not currentState) stats.set_int(joaat("MPPLY_HEISTNODEATHPROGREITSET"), currentState and 268435455 or 134217727) stats.set_bool(joaat("MPPLY_AWD_HST_ULT_CHAL"), not currentState) - gui.show_message("12mil Bonus", currentState and "Bonus should've been applied. Don't forget about difficulty" or "Bonus should've been unapplied") + gui.show_message( + "12mil Bonus", + currentState and "Bonus should've been applied. Don't forget about difficulty" + or "Bonus should've been unapplied" + ) previousState = currentState end script:sleep(100) end) ApartmentDataEditorMenu:add_separator() -local difficultyKeys = {"easy", "normal", "hard"} +local difficultyKeys = { "easy", "normal", "hard" } ApartmentDataEditorMenu:add_button("3mil Payout", function() script.run_in_fiber(function(ap) local key = globals.get_int(ACDg + (PLAYER.PLAYER_ID() * 77) + 24 + 2) @@ -5741,43 +5918,40 @@ ApartmentDataEditorMenu:add_button("3mil Payout", function() end) ApartmentDataEditorMenu:add_separator() - local apartCut1 = 0 local apartCut2 = 0 local apartCut3 = 0 local apartCut4 = 0 -ApartmentDataEditorMenu:add_imgui( - function () - PAD.DISABLE_CONTROL_ACTION(2, 237, true) - ImGui.Text("Custom Cuts:") - ImGui.SetNextItemWidth(150) - apartCut1 = ImGui.InputInt("Cut 1", apartCut1) - ImGui.SameLine() - ImGui.SetNextItemWidth(150) - apartCut2 = ImGui.InputInt("Cut 2", apartCut2) - ImGui.SetNextItemWidth(150) - apartCut3 = ImGui.InputInt("Cut 3", apartCut3) - ImGui.SameLine() - ImGui.SetNextItemWidth(150) - apartCut4 = ImGui.InputInt("Cut 4", apartCut4) - if ImGui.Button("Set Cuts") then - script.run_in_fiber(function(ccut) - local heistType = locals.get_int("fmmc_launcher", HGGs1) - local multiplier = (heistType == 1328892776) and 2 or 4 - globals.set_int(ACg1, 100 - (apartCut1 * multiplier)) - globals.set_int(ACg2, 100 - (apartCut2 * multiplier)) - globals.set_int(ACg3, 100 - (apartCut3 * multiplier)) - globals.set_int(ACg4, 100 - (apartCut4 * multiplier)) - PAD.SET_CONTROL_VALUE_NEXT_FRAME(2, 201, 1) - ccut:sleep(1000) - PAD.SET_CONTROL_VALUE_NEXT_FRAME(2, 202, 1) - ccut:sleep(1000) - globals.set_int(ACg5, -1 * (-100 + globals.get_int(ACg1)) / multiplier) - gui.show_message("Apartment Heist", "Cuts should've been applied") - end) - end +ApartmentDataEditorMenu:add_imgui(function() + PAD.DISABLE_CONTROL_ACTION(2, 237, true) + ImGui.Text("Custom Cuts:") + ImGui.SetNextItemWidth(150) + apartCut1 = ImGui.InputInt("Cut 1", apartCut1) + ImGui.SameLine() + ImGui.SetNextItemWidth(150) + apartCut2 = ImGui.InputInt("Cut 2", apartCut2) + ImGui.SetNextItemWidth(150) + apartCut3 = ImGui.InputInt("Cut 3", apartCut3) + ImGui.SameLine() + ImGui.SetNextItemWidth(150) + apartCut4 = ImGui.InputInt("Cut 4", apartCut4) + if ImGui.Button("Set Cuts") then + script.run_in_fiber(function(ccut) + local heistType = locals.get_int("fmmc_launcher", HGGs1) + local multiplier = (heistType == 1328892776) and 2 or 4 + globals.set_int(ACg1, 100 - (apartCut1 * multiplier)) + globals.set_int(ACg2, 100 - (apartCut2 * multiplier)) + globals.set_int(ACg3, 100 - (apartCut3 * multiplier)) + globals.set_int(ACg4, 100 - (apartCut4 * multiplier)) + PAD.SET_CONTROL_VALUE_NEXT_FRAME(2, 201, 1) + ccut:sleep(1000) + PAD.SET_CONTROL_VALUE_NEXT_FRAME(2, 202, 1) + ccut:sleep(1000) + globals.set_int(ACg5, -1 * (-100 + globals.get_int(ACg1)) / multiplier) + gui.show_message("Apartment Heist", "Cuts should've been applied") + end) end -) +end) ApartmentDataEditorMenu:add_separator() ApartmentDataEditorMenu:add_text("Extras") ApartmentDataEditorMenu:add_button("Bypass Fleeca Hack", function() @@ -5797,7 +5971,7 @@ end) ApartmentDataEditorMenu:add_sameline() ApartmentDataEditorMenu:add_button("Skip Checkpoint", function() locals.set_int("fm_mission_controller", AHSo, locals.get_int("fm_mission_controller", AHSo) | (1 << 17)) - gui.show_message("Apartment Heist", "Checkpoint should've been skipped") + gui.show_message("Apartment Heist", "Checkpoint should've been skipped") end) ApartmentDataEditorMenu:add_sameline() ApartmentDataEditorMenu:add_button("Unlock All Jobs", function() @@ -5811,22 +5985,21 @@ ApartmentDataEditorMenu:add_button("Unlock All Jobs", function() stats.set_int(MPX() .. "HEIST_SAVED_STRAND_3_L", 5) stats.set_int(MPX() .. "HEIST_SAVED_STRAND_4", globals.get_int(AUAJg5)) stats.set_int(MPX() .. "HEIST_SAVED_STRAND_4_L", 5) - gui.show_message("Apartment Heist", "All jobs should've been unlocked. Don't forget to restart the game") + gui.show_message("Apartment Heist", "All jobs should've been unlocked. Don't forget to restart the game") end) -ApartmentDataEditorMenu:add_button("Solo Launch", -function() - if locals.get_int("fmmc_launcher", HGGs1) ~= nil then - if locals.get_int("fmmc_launcher", HGGs1) ~= 0 then - if locals.get_int("fmmc_launcher", HGGs1) > 1 then - locals.set_int("fmmc_launcher", HGGs2, 1) - globals.set_int(794989 + 4 + 1 + (locals.get_int("fmmc_launcher", HGGs1) * 95) + 75, 1) - end - globals.set_int(HGLs1, 1) +ApartmentDataEditorMenu:add_button("Solo Launch", function() + if locals.get_int("fmmc_launcher", HGGs1) ~= nil then + if locals.get_int("fmmc_launcher", HGGs1) ~= 0 then + if locals.get_int("fmmc_launcher", HGGs1) > 1 then + locals.set_int("fmmc_launcher", HGGs2, 1) + globals.set_int(794989 + 4 + 1 + (locals.get_int("fmmc_launcher", HGGs1) * 95) + 75, 1) + end + globals.set_int(HGLs1, 1) globals.set_int(HGLs2, 1) globals.set_int(HGLs3, 1) globals.set_int(HGLs4, 0) - end - end + end + end end) ApartmentDataEditorMenu:add_sameline() ApartmentDataEditorMenu:add_button("Skip Cutscene", SkipCutscene) @@ -5867,18 +6040,18 @@ ApartmentDataEditorMenu:add_text("Note: After Clicking Unlock All Heists, restar -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- -- Agency tab local AgencyContracts = { - {name = "None", index = 3}, - {name = "Nightclub", index = 4}, - {name = "Marina", index = 12}, - {name = "Nightlife Leak", index = 28}, - {name = "Country Club", index = 60}, - {name = "Guest List", index = 123}, - {name = "High Society Leak", index = 254}, - {name = "Davis", index = 508}, - {name = "Ballas", index = 1020}, - {name = "South Central Leak", index = 2044}, - {name = "Studio Time", index = 2045}, - {name = "Don't Fuck With Dre", index = 4095} + { name = "None", index = 3 }, + { name = "Nightclub", index = 4 }, + { name = "Marina", index = 12 }, + { name = "Nightlife Leak", index = 28 }, + { name = "Country Club", index = 60 }, + { name = "Guest List", index = 123 }, + { name = "High Society Leak", index = 254 }, + { name = "Davis", index = 508 }, + { name = "Ballas", index = 1020 }, + { name = "South Central Leak", index = 2044 }, + { name = "Studio Time", index = 2045 }, + { name = "Don't Fuck With Dre", index = 4095 }, } local contractNames = {} @@ -5907,7 +6080,7 @@ SN_Agency:add_imgui(function() sContract = nSelected local contractD = AgencyContracts[sContract + 1] local contractId = contractD.index - + stats.set_int(MPX() .. "FIXER_STORY_BS", contractId) if contractId < 18 then stats.set_int(MPX() .. "FIXER_STORY_STRAND", 0) @@ -5925,7 +6098,7 @@ SN_Agency:add_button("Complete Preps", function() stats.set_int(MPX() .. "FIXER_GENERAL_BS", -1) stats.set_int(MPX() .. "FIXER_COMPLETED_BS", -1) stats.set_int(MPX() .. "FIXER_STORY_COOLDOWN", -1) - gui.show_message("Agency", "Preps should've been completed") + gui.show_message("Agency", "Preps should've been completed") end) SN_Agency:add_separator() SN_Agency:add_text("Payouts:") @@ -5947,7 +6120,7 @@ SN_Agency:add_separator() SN_Agency:add_button("Instant Finish", function() locals.set_int("fm_mission_controller_2020", AGFl1, 51338752) locals.set_int("fm_mission_controller_2020", AGFl2, 50) - gui.show_message("Agency", "Heist should've been finished") + gui.show_message("Agency", "Heist should've been finished") end) SN_Agency:add_sameline() SN_Agency:add_button("Skip Cutscene", SkipCutscene) @@ -5973,14 +6146,29 @@ local AutoShopContracts = { { name = "Prison Contrac.", index = 4 }, { name = "Agency Deal", index = 5 }, { name = "Lost Contract", index = 6 }, - { name = "Data Contract", index = 7 } + { name = "Data Contract", index = 7 }, } local autoSelectedIndex = 0 local SN_Autoshop = HeistsDataEditorMenu:add_tab("Autoshop ") SN_Autoshop:add_imgui(function() ImGui.Text("Contract:") - autoSelectedIndex = ImGui.Combo("##AutoContract", autoSelectedIndex, { AutoShopContracts[1].name, AutoShopContracts[2].name, AutoShopContracts[3].name, AutoShopContracts[4].name, AutoShopContracts[5].name, AutoShopContracts[6].name, AutoShopContracts[7].name, AutoShopContracts[8].name, AutoShopContracts[9].name }, 9) + autoSelectedIndex = ImGui.Combo( + "##AutoContract", + autoSelectedIndex, + { + AutoShopContracts[1].name, + AutoShopContracts[2].name, + AutoShopContracts[3].name, + AutoShopContracts[4].name, + AutoShopContracts[5].name, + AutoShopContracts[6].name, + AutoShopContracts[7].name, + AutoShopContracts[8].name, + AutoShopContracts[9].name, + }, + 9 + ) end) SN_Autoshop:add_button("Apply & Complete Preps", function() local contract = AutoShopContracts[autoSelectedIndex + 1].index @@ -6024,10 +6212,10 @@ end) SN_Autoshop:add_text("Use 'Apply Payout' after you can see the minimap.") SN_Autoshop:add_separator() SN_Autoshop:add_text("Extras") -SN_Autoshop:add_button("Instant Finish", function () - locals.set_int("fm_mission_controller_2020", ASIFl1, 51338977) - locals.set_int("fm_mission_controller_2020", ASIFl2, 101) - gui.show_message("Autoshop", "Heist should've been finished") +SN_Autoshop:add_button("Instant Finish", function() + locals.set_int("fm_mission_controller_2020", ASIFl1, 51338977) + locals.set_int("fm_mission_controller_2020", ASIFl2, 101) + gui.show_message("Autoshop", "Heist should've been finished") end) SN_Autoshop:add_sameline() SN_Autoshop:add_button("Skip Cutscene", SkipCutscene) @@ -6040,7 +6228,7 @@ local SalvageYard = { { name = "Gangbanger", index = 1 }, { name = "Duggan", index = 2 }, { name = "Podium", index = 3 }, - { name = "McTony", index = 4 } + { name = "McTony", index = 4 }, }, vehicles = { { name = "LM87", index = 1 }, @@ -6141,8 +6329,8 @@ local SalvageYard = { { name = "Brigham", index = 96 }, { name = "Issi Rally", index = 97 }, { name = "Seminole Fr.", index = 98 }, - { name = "Kanjo SJ", index = 99 }, - { name = "Previon", index = 100 } + { name = "Kanjo SJ", index = 99 }, + { name = "Previon", index = 100 }, }, modifications = { { name = "Version 1", index = 0 }, @@ -6153,7 +6341,7 @@ local SalvageYard = { }, keeps = { { name = "Can't Claim", index = 0 }, - { name = "Can Claim", index = 1 } + { name = "Can Claim", index = 1 }, }, tunables = { robbery_slot1_type = 1152433341, @@ -6168,7 +6356,7 @@ local SalvageYard = { vehicle_slot3_type = 1806057372, vehicle_slot3_value = -1704051341, vehicle_slot3_cankeep = 1830093543, - cooldown_weekly = "SALV23_VEH_ROBBERY_WEEK_ID" + cooldown_weekly = "SALV23_VEH_ROBBERY_WEEK_ID", }, salvage_missions = { { script = "fm_content_vehrob_cargo_ship", step1 = 7185 + 1, step2 = 7330 + 1249 }, @@ -6184,19 +6372,19 @@ local slot1 = { robbery_index = 0, vehicle_index = 0, mod_index = 0, - keep_index = 0 + keep_index = 0, } local slot2 = { robbery_index = 0, vehicle_index = 0, mod_index = 0, - keep_index = 0 + keep_index = 0, } local slot3 = { robbery_index = 0, vehicle_index = 0, mod_index = 0, - keep_index = 0 + keep_index = 0, } local robbery_names = {} @@ -6226,31 +6414,43 @@ SN_Salvage:add_imgui(function() ssIndex = nIndex end local currSlot = ssIndex + 1 - local slots = {slot1, slot2, slot3} + local slots = { slot1, slot2, slot3 } local slot = slots[currSlot] local nIndex, changed = ImGui.Combo("Robbery", slot.robbery_index, robbery_names, #robbery_names) if changed then slot.robbery_index = nIndex - gui.show_message("Salvage Yard", "Selected " .. slot_names[ssIndex + 1] .. " robbery: " .. robbery_names[slot.robbery_index + 1]) + gui.show_message( + "Salvage Yard", + "Selected " .. slot_names[ssIndex + 1] .. " robbery: " .. robbery_names[slot.robbery_index + 1] + ) end nIndex, changed = ImGui.Combo("Vehicle", slot.vehicle_index, vehicle_names, #vehicle_names) if changed then slot.vehicle_index = nIndex - gui.show_message("Salvage Yard", "Selected " .. slot_names[ssIndex + 1] .. " vehicle: " .. vehicle_names[slot.vehicle_index + 1]) + gui.show_message( + "Salvage Yard", + "Selected " .. slot_names[ssIndex + 1] .. " vehicle: " .. vehicle_names[slot.vehicle_index + 1] + ) end nIndex, changed = ImGui.Combo("Modification", slot.mod_index, mod_names, #mod_names) if changed then slot.mod_index = nIndex - gui.show_message("Salvage Yard", "Selected " .. slot_names[ssIndex + 1] .. " modification: " .. mod_names[slot.mod_index + 1]) + gui.show_message( + "Salvage Yard", + "Selected " .. slot_names[ssIndex + 1] .. " modification: " .. mod_names[slot.mod_index + 1] + ) end nIndex, changed = ImGui.Combo("Status", slot.keep_index, keep_names, #keep_names) if changed then slot.keep_index = nIndex - gui.show_message("Salvage Yard", "Selected " .. slot_names[ssIndex + 1] .. " status: " .. keep_names[slot.keep_index + 1]) + gui.show_message( + "Salvage Yard", + "Selected " .. slot_names[ssIndex + 1] .. " status: " .. keep_names[slot.keep_index + 1] + ) end if ImGui.Button("Apply Changes") then @@ -6283,7 +6483,7 @@ SN_Salvage:add_button("Complete Preps", function() locals.set_int("vehrob_planning", SYRl1, 2) gui.show_message("Salvage Yard", "Preps should've been completed") end) -SN_Salvage:add_sameline() +SN_Salvage:add_sameline() SN_Salvage:add_button("Reset Preps", function() stats.set_int(MPX() .. "SALV23_GEN_BS", 0) stats.set_int(MPX() .. "SALV23_SCOPE_BS", 0) @@ -6321,19 +6521,19 @@ end) SN_Salvage:add_text("") SN_Salvage:add_text("Misc") SN_Salvage:add_separator() -SN_Salvage:add_button("Instant Finish", function() +SN_Salvage:add_button("Instant Finish", function() for _, mission in ipairs(SalvageYard.salvage_missions) do local value = locals.get_int(mission.script, mission.step1) locals.set_int(mission.script, mission.step1, value | (1 << 11)) locals.set_int(mission.script, mission.step2, 2) end - gui.show_message("Salvage Yard", "Heist should've been finished") + gui.show_message("Salvage Yard", "Heist should've been finished") end) SN_Salvage:add_sameline() SN_Salvage:add_button("Instant Sell", function() local player_ped = PLAYER.PLAYER_PED_ID() PED.SET_PED_COORDS_KEEP_VEHICLE(player_ped, 1169.0, -2976.0, 6.0) - gui.show_message("Salvage Yard", "Sell mission should've been finished") + gui.show_message("Salvage Yard", "Sell mission should've been finished") end) SN_Salvage:add_sameline() SN_Salvage:add_button("Skip Cutscene", SkipCutscene) @@ -6341,76 +6541,75 @@ SN_Salvage:add_button("Skip Cutscene", SkipCutscene) -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- -- Cluckin Bell -- local cluckperps = { - { id = 0 , name = "Slush Fund"}, - { id = 1 , name = "Breaking and Entering"}, - { id = 3 , name = "Concealed Rewards"}, - { id = 7 , name = "Hit And Run"}, - { id = 15, name = "Disorganized Crime"}, - { id = 31, name = "Scene of Crime"} + { id = 0, name = "Slush Fund" }, + { id = 1, name = "Breaking and Entering" }, + { id = 3, name = "Concealed Rewards" }, + { id = 7, name = "Hit And Run" }, + { id = 15, name = "Disorganized Crime" }, + { id = 31, name = "Scene of Crime" }, } local SN_Cluck = HeistsDataEditorMenu:add_tab("Cluckin Bell Heist ") SN_Cluck:add_text("Complete Preps") -for _,cluckprep in ipairs(cluckperps) do - SN_Cluck:add_button(cluckprep.name, - function () - stats.set_int(MPX() .. "SALV23_INST_PROG", cluckprep.id) - end) - SN_Cluck:add_sameline() +for _, cluckprep in ipairs(cluckperps) do + SN_Cluck:add_button(cluckprep.name, function() + stats.set_int(MPX() .. "SALV23_INST_PROG", cluckprep.id) + end) + SN_Cluck:add_sameline() end SN_Cluck:add_separator() SN_Cluck:add_text("Reset preps") -SN_Cluck:add_button("Reset Preps", -function () - stats.set_int(MPX() .. "SALV23_INST_PROG", 0) +SN_Cluck:add_button("Reset Preps", function() + stats.set_int(MPX() .. "SALV23_INST_PROG", 0) end) -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- -- Doomsday -- function DoomsdayActSetter(progress, status) - stats.set_int(MPX() .. "GANGOPS_FLOW_MISSION_PROG", progress) - stats.set_int(MPX() .. "GANGOPS_HEIST_STATUS", status) - stats.set_int(MPX() .. "GANGOPS_FLOW_NOTIFICATIONS", 1557) + stats.set_int(MPX() .. "GANGOPS_FLOW_MISSION_PROG", progress) + stats.set_int(MPX() .. "GANGOPS_HEIST_STATUS", status) + stats.set_int(MPX() .. "GANGOPS_FLOW_NOTIFICATIONS", 1557) end local SN_Doomsday = HeistsDataEditorMenu:add_tab("Doomsday Heist ") SN_Doomsday:add_text("Doomsday Acts") -SN_Doomsday:add_button("Data Breaches", -function () - DoomsdayActSetter(503, 229383) +SN_Doomsday:add_button("Data Breaches", function() + DoomsdayActSetter(503, 229383) end) SN_Doomsday:add_sameline() -SN_Doomsday:add_button("Bogdan Problem", -function () - DoomsdayActSetter(240, 229378) +SN_Doomsday:add_button("Bogdan Problem", function() + DoomsdayActSetter(240, 229378) end) SN_Doomsday:add_sameline() -SN_Doomsday:add_button("Doomsday Scenario", -function () - DoomsdayActSetter(16368, 229380) +SN_Doomsday:add_button("Doomsday Scenario", function() + DoomsdayActSetter(16368, 229380) end) local DoomsdayHeists = { - [503] = {975000, 1218750}, - [240] = {1425000, 1771250}, - [16368] = {1800000, 2250000} + [503] = { 975000, 1218750 }, + [240] = { 1425000, 1771250 }, + [16368] = { 1800000, 2250000 }, } function SetDoomsdayMaxPayout() local heist = stats.get_int(MPX() .. "GANGOPS_FLOW_MISSION_PROG") local difficulty = globals.get_int(AHDg) - if difficulty == 0 then difficulty = 1 end + if difficulty == 0 then + difficulty = 1 + end local heistData = DoomsdayHeists[heist] - if heistData == nil then return end + if heistData == nil then + return + end local payout = heistData[difficulty] local maxPayout = 2550000 local cut = math.floor(maxPayout / (payout / 100)) - + return cut end @@ -6425,7 +6624,7 @@ local Presets = { { name = "All - 0%", index = 0 }, { name = "All - 85%", index = 85 }, { name = "All - 100%", index = 100 }, - { name = "2.55mil Payout", index = -1 } + { name = "2.55mil Payout", index = -1 }, } local presetNames = {} @@ -6436,7 +6635,7 @@ local sPresetIndex = 0 SN_Doomsday:add_imgui(function() ImGui.Text("Presets:") - ImGui.SetNextItemWidth(170) + ImGui.SetNextItemWidth(170) local nIndex, changed = ImGui.Combo("##DoomsdayPreset", sPresetIndex, presetNames, #presetNames) if changed then sPresetIndex = nIndex @@ -6445,10 +6644,18 @@ SN_Doomsday:add_imgui(function() if cutValue == -1 then cutValue = SetDoomsdayMaxPayout() end - if dmsdyCut1 then dmsdyCut1:set_value(cutValue) end - if dmsdyCut2 then dmsdyCut2:set_value(cutValue) end - if dmsdyCut3 then dmsdyCut3:set_value(cutValue) end - if dmsdyCut4 then dmsdyCut4:set_value(cutValue) end + if dmsdyCut1 then + dmsdyCut1:set_value(cutValue) + end + if dmsdyCut2 then + dmsdyCut2:set_value(cutValue) + end + if dmsdyCut3 then + dmsdyCut3:set_value(cutValue) + end + if dmsdyCut4 then + dmsdyCut4:set_value(cutValue) + end end end) @@ -6465,8 +6672,10 @@ SN_Doomsday:add_separator() SN_Doomsday:add_text("Team Lives:") local livesValueDoomsday = 3 SN_Doomsday:add_imgui(function() - if checkOnline() then return end - + if checkOnline() then + return + end + ImGui.Text("Team Lives:") livesValueDoomsday, _ = ImGui.InputInt("##DoomsdayLives", livesValueDoomsday) if ImGui.Button("Set Lives##Doomsday") then @@ -6484,37 +6693,33 @@ end) SN_Doomsday:add_separator() SN_Doomsday:add_text("Preps") -SN_Doomsday:add_button("Reset Preps", -function () - DoomsdayActSetter(240, 0) - gui.show_message("Doomsday Heist", "Preps should've been reset") +SN_Doomsday:add_button("Reset Preps", function() + DoomsdayActSetter(240, 0) + gui.show_message("Doomsday Heist", "Preps should've been reset") end) SN_Doomsday:add_sameline() -SN_Doomsday:add_button("Complete Preps", -function () - stats.set_int(MPX() .. "GANGOPS_FM_MISSION_PROG", -1) +SN_Doomsday:add_button("Complete Preps", function() + stats.set_int(MPX() .. "GANGOPS_FM_MISSION_PROG", -1) end) SN_Doomsday:add_separator() SN_Doomsday:add_text("Extras") -SN_Doomsday:add_button("By Act III Pass hack", -function () - locals.set_int("fm_mission_controller", DDSHl, 3) +SN_Doomsday:add_button("By Act III Pass hack", function() + locals.set_int("fm_mission_controller", DDSHl, 3) end) SN_Doomsday:add_sameline() -SN_Doomsday:add_button("Solo Launch", -function() - if locals.get_int("fmmc_launcher", HGGs1) ~= nil then - if locals.get_int("fmmc_launcher", HGGs1) ~= 0 then - if locals.get_int("fmmc_launcher", HGGs1) > 1 then - locals.set_int("fmmc_launcher", HGGs2, 1) - globals.set_int(794989 + 4 + 1 + (locals.get_int("fmmc_launcher", HGGs1) * 95) + 75, 1) - end - globals.set_int(HGLs1, 1) +SN_Doomsday:add_button("Solo Launch", function() + if locals.get_int("fmmc_launcher", HGGs1) ~= nil then + if locals.get_int("fmmc_launcher", HGGs1) ~= 0 then + if locals.get_int("fmmc_launcher", HGGs1) > 1 then + locals.set_int("fmmc_launcher", HGGs2, 1) + globals.set_int(794989 + 4 + 1 + (locals.get_int("fmmc_launcher", HGGs1) * 95) + 75, 1) + end + globals.set_int(HGLs1, 1) globals.set_int(HGLs2, 1) globals.set_int(HGLs3, 1) globals.set_int(HGLs4, 0) - end - end + end + end end) SN_Doomsday:add_button("Instant Finish", function() locals.set_int("fm_mission_controller", DDIF1, 12) @@ -6522,7 +6727,7 @@ SN_Doomsday:add_button("Instant Finish", function() locals.set_int("fm_mission_controller", DDIF3, 99999) locals.set_int("fm_mission_controller", DDIF4, 99999) locals.set_int("fm_mission_controller", DDIF5, 80) - gui.show_message("Doomsday Heist", "Heist should've been finished") + gui.show_message("Doomsday Heist", "Heist should've been finished") end) SN_Doomsday:add_sameline() SN_Doomsday:add_button("Force Ready", function() @@ -6547,52 +6752,52 @@ local CasinoHeistEditorMenu = HeistsDataEditorMenu:add_tab("Casino Heist") CasinoHeistEditorMenu:add_text("One Click Setups:") CasinoHeistEditorMenu:add_button("Casino Silent&Sneaky (Diamonds)", function() - stats.set_int(MPX() .. "H3OPT_APPROACH", 1) - stats.set_int(MPX() .. "H3_LAST_APPROACH", 3) - stats.set_int(MPX() .. "H3OPT_TARGET", 3) - stats.set_int(MPX() .. "H3OPT_BITSET1", 127) - stats.set_int(MPX() .. "H3OPT_DISRUPTSHIP", 3) - stats.set_int(MPX() .. "H3OPT_KEYLEVELS", 2) - stats.set_int(MPX() .. "H3_BOARD_DIALOGUE2", -1) - stats.set_int(MPX() .. "H3OPT_CREWWEAP", 4) - stats.set_int(MPX() .. "H3OPT_CREWDRIVER", 5) - stats.set_int(MPX() .. "H3OPT_CREWHACKER", 5) - stats.set_int(MPX() .. "H3OPT_VEHS", 2) - stats.set_int(MPX() .. "H3OPT_WEAPS", 1) - stats.set_int(MPX() .. "H3OPT_BITSET0", 262399) - stats.set_int(MPX() .. "H3OPT_MASKS", 2) + stats.set_int(MPX() .. "H3OPT_APPROACH", 1) + stats.set_int(MPX() .. "H3_LAST_APPROACH", 3) + stats.set_int(MPX() .. "H3OPT_TARGET", 3) + stats.set_int(MPX() .. "H3OPT_BITSET1", 127) + stats.set_int(MPX() .. "H3OPT_DISRUPTSHIP", 3) + stats.set_int(MPX() .. "H3OPT_KEYLEVELS", 2) + stats.set_int(MPX() .. "H3_BOARD_DIALOGUE2", -1) + stats.set_int(MPX() .. "H3OPT_CREWWEAP", 4) + stats.set_int(MPX() .. "H3OPT_CREWDRIVER", 5) + stats.set_int(MPX() .. "H3OPT_CREWHACKER", 5) + stats.set_int(MPX() .. "H3OPT_VEHS", 2) + stats.set_int(MPX() .. "H3OPT_WEAPS", 1) + stats.set_int(MPX() .. "H3OPT_BITSET0", 262399) + stats.set_int(MPX() .. "H3OPT_MASKS", 2) end) CasinoHeistEditorMenu:add_button("Casino The Big Con (Diamonds)", function() - stats.set_int(MPX() .. "H3OPT_APPROACH", 2) - stats.set_int(MPX() .. "H3_LAST_APPROACH", 3) - stats.set_int(MPX() .. "H3OPT_TARGET", 3) - stats.set_int(MPX() .. "H3OPT_BITSET1", 799) - stats.set_int(MPX() .. "H3OPT_DISRUPTSHIP", 3) - stats.set_int(MPX() .. "H3OPT_KEYLEVELS", 2) - stats.set_int(MPX() .. "H3_BOARD_DIALOGUE2", -1) - stats.set_int(MPX() .. "H3OPT_CREWWEAP", 4) - stats.set_int(MPX() .. "H3OPT_CREWDRIVER", 5) - stats.set_int(MPX() .. "H3OPT_CREWHACKER", 5) - stats.set_int(MPX() .. "H3OPT_VEHS", 2) - stats.set_int(MPX() .. "H3OPT_WEAPS", 0) - stats.set_int(MPX() .. "H3OPT_BITSET0", 913623) - stats.set_int(MPX() .. "H3OPT_MASKS", 2) + stats.set_int(MPX() .. "H3OPT_APPROACH", 2) + stats.set_int(MPX() .. "H3_LAST_APPROACH", 3) + stats.set_int(MPX() .. "H3OPT_TARGET", 3) + stats.set_int(MPX() .. "H3OPT_BITSET1", 799) + stats.set_int(MPX() .. "H3OPT_DISRUPTSHIP", 3) + stats.set_int(MPX() .. "H3OPT_KEYLEVELS", 2) + stats.set_int(MPX() .. "H3_BOARD_DIALOGUE2", -1) + stats.set_int(MPX() .. "H3OPT_CREWWEAP", 4) + stats.set_int(MPX() .. "H3OPT_CREWDRIVER", 5) + stats.set_int(MPX() .. "H3OPT_CREWHACKER", 5) + stats.set_int(MPX() .. "H3OPT_VEHS", 2) + stats.set_int(MPX() .. "H3OPT_WEAPS", 0) + stats.set_int(MPX() .. "H3OPT_BITSET0", 913623) + stats.set_int(MPX() .. "H3OPT_MASKS", 2) end) CasinoHeistEditorMenu:add_button("Casino Aggressive (Diamonds)", function() - stats.set_int(MPX() .. "H3OPT_APPROACH", 3) - stats.set_int(MPX() .. "H3_LAST_APPROACH", 1) - stats.set_int(MPX() .. "H3OPT_TARGET", 3) - stats.set_int(MPX() .. "H3OPT_BITSET1", 799) - stats.set_int(MPX() .. "H3OPT_DISRUPTSHIP", 3) - stats.set_int(MPX() .. "H3OPT_KEYLEVELS", 2) - stats.set_int(MPX() .. "H3_BOARD_DIALOGUE2", -1) - stats.set_int(MPX() .. "H3OPT_CREWWEAP", 4) - stats.set_int(MPX() .. "H3OPT_CREWDRIVER", 5) - stats.set_int(MPX() .. "H3OPT_CREWHACKER", 5) - stats.set_int(MPX() .. "H3OPT_VEHS", 2) - stats.set_int(MPX() .. "H3OPT_WEAPS", 1) - stats.set_int(MPX() .. "H3OPT_BITSET0", 1835223) - stats.set_int(MPX() .. "H3OPT_MASKS", 2) + stats.set_int(MPX() .. "H3OPT_APPROACH", 3) + stats.set_int(MPX() .. "H3_LAST_APPROACH", 1) + stats.set_int(MPX() .. "H3OPT_TARGET", 3) + stats.set_int(MPX() .. "H3OPT_BITSET1", 799) + stats.set_int(MPX() .. "H3OPT_DISRUPTSHIP", 3) + stats.set_int(MPX() .. "H3OPT_KEYLEVELS", 2) + stats.set_int(MPX() .. "H3_BOARD_DIALOGUE2", -1) + stats.set_int(MPX() .. "H3OPT_CREWWEAP", 4) + stats.set_int(MPX() .. "H3OPT_CREWDRIVER", 5) + stats.set_int(MPX() .. "H3OPT_CREWHACKER", 5) + stats.set_int(MPX() .. "H3OPT_VEHS", 2) + stats.set_int(MPX() .. "H3OPT_WEAPS", 1) + stats.set_int(MPX() .. "H3OPT_BITSET0", 1835223) + stats.set_int(MPX() .. "H3OPT_MASKS", 2) end) CasinoHeistEditorMenu:add_separator() @@ -6601,8 +6806,10 @@ CasinoHeistEditorMenu:add_separator() CasinoHeistEditorMenu:add_text("Team Lives:") local livesValueCasino = 3 CasinoHeistEditorMenu:add_imgui(function() - if checkOnline() then return end - + if checkOnline() then + return + end + ImGui.Text("Team Lives:") livesValueCasino, _ = ImGui.InputInt("##CasinoLives", livesValueCasino) if ImGui.Button("Set Lives##Casino") then @@ -6622,13 +6829,13 @@ CasinoHeistEditorMenu:add_separator() DiamondCasinoDifficulties = { { name = "Normal", index = 0 }, - { name = "Hard", index = 1 } + { name = "Hard", index = 1 }, } diamondApproachList = { { name = "Silent n Snea.", index = 1 }, { name = "Big Con", index = 2 }, - { name = "Aggressive", index = 3 } + { name = "Aggressive", index = 3 }, } diamondGunmanList = { @@ -6636,7 +6843,7 @@ diamondGunmanList = { { name = "Charlie Reed", index = 3 }, { name = "Patrick McRear.", index = 5 }, { name = "Gustavo Mota", index = 2 }, - { name = "Chester McCoy", index = 4 } + { name = "Chester McCoy", index = 4 }, } diamondLoadoutList = { @@ -6669,7 +6876,7 @@ diamondLoadoutList = { { name = "SMG Mk II", index = 4 }, { name = "Bullpup Rifle II", index = 4 }, { name = "Pump Shot. II", index = 4 }, - { name = "Assault Rifle II", index = 4 } + { name = "Assault Rifle II", index = 4 }, } diamondDriverList = { @@ -6677,7 +6884,7 @@ diamondDriverList = { { name = "Zach Nelson", index = 4 }, { name = "Taliana Martinez", index = 2 }, { name = "Eddie Toh", index = 3 }, - { name = "Chester McCoy", index = 5 } + { name = "Chester McCoy", index = 5 }, } diamondVehiclesList = { @@ -6700,7 +6907,7 @@ diamondVehiclesList = { { name = "Zhaba", index = 5 }, { name = "Vagrant", index = 5 }, { name = "Outlaw", index = 5 }, - { name = "Everon", index = 5 } + { name = "Everon", index = 5 }, } diamondHackerList = { @@ -6708,7 +6915,7 @@ diamondHackerList = { { name = "Yohan Blair", index = 3 }, { name = "Christian Feltz", index = 2 }, { name = "Page Harris", index = 5 }, - { name = "Avi Schwartz.", index = 4 } + { name = "Avi Schwartz.", index = 4 }, } diamondMasksList = { @@ -6724,27 +6931,27 @@ diamondMasksList = { { name = "Animal Set", index = 9 }, { name = "Riot Set", index = 10 }, { name = "Oni Full Mask Set", index = 11 }, - { name = "Hockey Set", index = 12 } + { name = "Hockey Set", index = 12 }, } diamondGuardsList = { { name = "Elite", index = 0 }, { name = "Pro", index = 1 }, { name = "Unit", index = 2 }, - { name = "Rookie", index = 3 } + { name = "Rookie", index = 3 }, } diamondKeycardsList = { { name = "None", index = 0 }, { name = "Level 1", index = 1 }, - { name = "Level 2", index = 2 } + { name = "Level 2", index = 2 }, } diamondTargetList = { { name = "Cash", index = 0 }, { name = "Arts", index = 2 }, { name = "Gold", index = 1 }, - { name = "Diamonds", index = 3 } + { name = "Diamonds", index = 3 }, } DiamondCasinoCrewCut = { @@ -6763,64 +6970,89 @@ DiamondCasinoCrewCut = { { tunable = "HEIST3_HACKERS_CHRISTIAN_CUT", default = 7 }, { tunable = "HEIST3_HACKERS_YOHAN_CUT", default = 5 }, { tunable = "HEIST3_HACKERS_AVI_CUT", default = 10 }, - { tunable = "HEIST3_HACKERS_PAIGE_CUT", default = 9 } + { tunable = "HEIST3_HACKERS_PAIGE_CUT", default = 9 }, } -- Build name lists for all combos diamondDifficultyNames = {} -for _, item in ipairs(DiamondCasinoDifficulties) do table.insert(diamondDifficultyNames, item.name) end +for _, item in ipairs(DiamondCasinoDifficulties) do + table.insert(diamondDifficultyNames, item.name) +end diamondDifficultyIndex = 0 diamondApproachNames = {} -for _, item in ipairs(diamondApproachList) do table.insert(diamondApproachNames, item.name) end +for _, item in ipairs(diamondApproachList) do + table.insert(diamondApproachNames, item.name) +end diamondApproachIndex = 0 diamondGunmanNames = {} -for _, item in ipairs(diamondGunmanList) do table.insert(diamondGunmanNames, item.name) end +for _, item in ipairs(diamondGunmanList) do + table.insert(diamondGunmanNames, item.name) +end diamondGunmanIndex = 0 local diamondLoadoutIndex = 0 local diamondDriverNames = {} -for _, item in ipairs(diamondDriverList) do table.insert(diamondDriverNames, item.name) end +for _, item in ipairs(diamondDriverList) do + table.insert(diamondDriverNames, item.name) +end local diamondDriverIndex = 0 local diamondVehiclesIndex = 0 local diamondHackerNames = {} -for _, item in ipairs(diamondHackerList) do table.insert(diamondHackerNames, item.name) end +for _, item in ipairs(diamondHackerList) do + table.insert(diamondHackerNames, item.name) +end local diamondHackerIndex = 0 local diamondMasksNames = {} -for _, item in ipairs(diamondMasksList) do table.insert(diamondMasksNames, item.name) end +for _, item in ipairs(diamondMasksList) do + table.insert(diamondMasksNames, item.name) +end local diamondMasksIndex = 0 local diamondGuardsNames = {} -for _, item in ipairs(diamondGuardsList) do table.insert(diamondGuardsNames, item.name) end +for _, item in ipairs(diamondGuardsList) do + table.insert(diamondGuardsNames, item.name) +end local diamondGuardsIndex = 0 local diamondKeycardsNames = {} -for _, item in ipairs(diamondKeycardsList) do table.insert(diamondKeycardsNames, item.name) end +for _, item in ipairs(diamondKeycardsList) do + table.insert(diamondKeycardsNames, item.name) +end local diamondKeycardsIndex = 0 local diamondTargetNames = {} -for _, item in ipairs(diamondTargetList) do table.insert(diamondTargetNames, item.name) end +for _, item in ipairs(diamondTargetList) do + table.insert(diamondTargetNames, item.name) +end local diamondTargetIndex = 0 -- All prep dropdowns in a single add_imgui block so they render in the correct position CasinoHeistEditorMenu:add_imgui(function() - if isOffline() then return end + if isOffline() then + return + end ImGui.Text("Preps:") ImGui.Separator() -- Difficulty - local nIndex, changed = ImGui.Combo("Difficulty", diamondDifficultyIndex, diamondDifficultyNames, #diamondDifficultyNames) - if changed then diamondDifficultyIndex = nIndex end + local nIndex, changed = + ImGui.Combo("Difficulty", diamondDifficultyIndex, diamondDifficultyNames, #diamondDifficultyNames) + if changed then + diamondDifficultyIndex = nIndex + end -- Approach nIndex, changed = ImGui.Combo("Approach", diamondApproachIndex, diamondApproachNames, #diamondApproachNames) - if changed then diamondApproachIndex = nIndex end + if changed then + diamondApproachIndex = nIndex + end -- Gunman nIndex, changed = ImGui.Combo("Gunman", diamondGunmanIndex, diamondGunmanNames, #diamondGunmanNames) @@ -6834,10 +7066,14 @@ CasinoHeistEditorMenu:add_imgui(function() local gIndex = diamondGunmanList[diamondGunmanIndex + 1].index local filnames = {} for _, item in ipairs(diamondLoadoutList) do - if item.index == gIndex then table.insert(filnames, item.name) end + if item.index == gIndex then + table.insert(filnames, item.name) + end end nIndex, changed = ImGui.Combo("Loadout", diamondLoadoutIndex, filnames, #filnames) - if changed then diamondLoadoutIndex = nIndex end + if changed then + diamondLoadoutIndex = nIndex + end end -- Driver @@ -6852,31 +7088,45 @@ CasinoHeistEditorMenu:add_imgui(function() local dIndex = diamondDriverList[diamondDriverIndex + 1].index local filnames = {} for _, item in ipairs(diamondVehiclesList) do - if item.index == dIndex then table.insert(filnames, item.name) end + if item.index == dIndex then + table.insert(filnames, item.name) + end end nIndex, changed = ImGui.Combo("Vehicles", diamondVehiclesIndex, filnames, #filnames) - if changed then diamondVehiclesIndex = nIndex end + if changed then + diamondVehiclesIndex = nIndex + end end -- Hacker nIndex, changed = ImGui.Combo("Hacker", diamondHackerIndex, diamondHackerNames, #diamondHackerNames) - if changed then diamondHackerIndex = nIndex end + if changed then + diamondHackerIndex = nIndex + end -- Masks nIndex, changed = ImGui.Combo("Masks", diamondMasksIndex, diamondMasksNames, #diamondMasksNames) - if changed then diamondMasksIndex = nIndex end + if changed then + diamondMasksIndex = nIndex + end -- Guards nIndex, changed = ImGui.Combo("Guards", diamondGuardsIndex, diamondGuardsNames, #diamondGuardsNames) - if changed then diamondGuardsIndex = nIndex end + if changed then + diamondGuardsIndex = nIndex + end -- Keycards nIndex, changed = ImGui.Combo("Keycards", diamondKeycardsIndex, diamondKeycardsNames, #diamondKeycardsNames) - if changed then diamondKeycardsIndex = nIndex end + if changed then + diamondKeycardsIndex = nIndex + end -- Target nIndex, changed = ImGui.Combo("Target", diamondTargetIndex, diamondTargetNames, #diamondTargetNames) - if changed then diamondTargetIndex = nIndex end + if changed then + diamondTargetIndex = nIndex + end ImGui.Separator() @@ -6944,7 +7194,6 @@ CasinoHeistEditorMenu:add_imgui(function() locals.set_int("gb_casino_heist_planning", DCRBl, 2) gui.show_message("Diamond Casino Heist", "Preps should've been reset") end - end) local casinoCrewCuts_enabled = false @@ -6962,9 +7211,11 @@ function SetDiamondMaxPayout() [0] = { 2115000, 2326500 }, [2] = { 2350000, 2585000 }, [1] = { 2585000, 2843500 }, - [3] = { 3290000, 3619000 } + [3] = { 3290000, 3619000 }, } - if payouts[target] == nil then return 100, 100 end + if payouts[target] == nil then + return 100, 100 + end local payout = payouts[target][difficulty] + 819000 local maxPayout = 3619000 local gunman = stats.get_int(MPX() .. "H3OPT_CREWWEAP") @@ -6990,7 +7241,7 @@ local casinoCutPresets = { { name = "All - 0%", index = 0 }, { name = "All - 85%", index = 85 }, { name = "All - 100%", index = 100 }, - { name = "3.6mil Payout", index = -1 } + { name = "3.6mil Payout", index = -1 }, } local casinoCutPresetNames = {} for _, preset in ipairs(casinoCutPresets) do @@ -6999,7 +7250,9 @@ end local sPresetIndex = 0 CasinoHeistEditorMenu:add_imgui(function() - if isOffline() then return end + if isOffline() then + return + end ImGui.Separator() ImGui.Text("Cuts:") @@ -7044,7 +7297,12 @@ CasinoHeistEditorMenu:add_imgui(function() end) script.register_looped("DiamondCasino_Crew", function() - if not network.is_session_started() or SCRIPT.GET_NUMBER_OF_THREADS_RUNNING_THE_SCRIPT_WITH_THIS_HASH(joaat("maintransition")) > 0 then return end + if + not network.is_session_started() + or SCRIPT.GET_NUMBER_OF_THREADS_RUNNING_THE_SCRIPT_WITH_THIS_HASH(joaat("maintransition")) > 0 + then + return + end for _, cut in ipairs(DiamondCasinoCrewCut) do if casinoCrewCuts_enabled then tunables.set_int(cut.tunable, 0) @@ -7055,7 +7313,9 @@ script.register_looped("DiamondCasino_Crew", function() end) CasinoHeistEditorMenu:add_imgui(function() - if isOffline() then return end + if isOffline() then + return + end ImGui.Separator() if ImGui.Button("Reload boards") then locals.set_int("gb_casino_heist_planning", DCRBl, 2) @@ -7067,7 +7327,10 @@ CasinoHeistEditorMenu:add_imgui(function() locals.set_int("fmmc_launcher", HGGs2, 1) globals.set_int(794989 + 4 + 1 + (locals.get_int("fmmc_launcher", HGGs1) * 95) + 75, 1) end - globals.set_int(HGLs1, 1); globals.set_int(HGLs2, 1); globals.set_int(HGLs3, 1); globals.set_int(HGLs4, 0) + globals.set_int(HGLs1, 1) + globals.set_int(HGLs2, 1) + globals.set_int(HGLs3, 1) + globals.set_int(HGLs4, 0) end end ImGui.SameLine() @@ -7083,7 +7346,12 @@ CasinoHeistExtra:add_text("Hacks") local casinoAutograbber = CasinoHeistExtra:add_checkbox("Autograbber") script.register_looped("casinoAg", function(script) script:yield() - if not network.is_session_started() or SCRIPT.GET_NUMBER_OF_THREADS_RUNNING_THE_SCRIPT_WITH_THIS_HASH(joaat("maintransition")) > 0 then return end + if + not network.is_session_started() + or SCRIPT.GET_NUMBER_OF_THREADS_RUNNING_THE_SCRIPT_WITH_THIS_HASH(joaat("maintransition")) > 0 + then + return + end if casinoAutograbber:is_enabled() then if locals.get_int(FMC, DCAg) == 3 then locals.set_int(FMC, DCAg, 4) @@ -7093,32 +7361,45 @@ script.register_looped("casinoAg", function(script) end end) CasinoHeistExtra:add_button("Bypass Fingerprint Hack", function() - if locals.get_int(FMC, DCFHl) == 4 then locals.set_int(FMC, DCFHl, 5) end + if locals.get_int(FMC, DCFHl) == 4 then + locals.set_int(FMC, DCFHl, 5) + end end) CasinoHeistExtra:add_sameline() CasinoHeistExtra:add_button("Bypass Keypad Hack", function() - if locals.get_int(FMC, DCKHl) ~= 4 then locals.set_int(FMC, DCKHl, 5) end + if locals.get_int(FMC, DCKHl) ~= 4 then + locals.set_int(FMC, DCKHl, 5) + end end) CasinoHeistExtra:add_sameline() CasinoHeistExtra:add_button("Bypass Drill Vault Door", function() - locals.set_int(FMC, DCDVDl1, locals.get_int(FMC, DCDVDl2)) + locals.set_int(FMC, DCDVDl1, locals.get_int(FMC, DCDVDl2)) end) CasinoHeistExtra:add_button("Instant Finish", function() local approachType = stats.get_int(MPX() .. "H3OPT_APPROACH") if approachType == 3 then - locals.set_int(FMC, DCXf1, 12); locals.set_int(FMC, DCXf3, 80) - locals.set_int(FMC, DCXf4, 10000000); locals.set_int(FMC, DCXf5, 99999); locals.set_int(FMC, DCXf6, 99999) - else - locals.set_int(FMC, DCXf2, 5); locals.set_int(FMC, DCXf3, 80) - locals.set_int(FMC, DCXf4, 10000000); locals.set_int(FMC, DCXf5, 99999); locals.set_int(FMC, DCXf6, 99999) + locals.set_int(FMC, DCXf1, 12) + locals.set_int(FMC, DCXf3, 80) + locals.set_int(FMC, DCXf4, 10000000) + locals.set_int(FMC, DCXf5, 99999) + locals.set_int(FMC, DCXf6, 99999) + else + locals.set_int(FMC, DCXf2, 5) + locals.set_int(FMC, DCXf3, 80) + locals.set_int(FMC, DCXf4, 10000000) + locals.set_int(FMC, DCXf5, 99999) + locals.set_int(FMC, DCXf6, 99999) end - gui.show_message("Instant Heist Passed", "Activated") + gui.show_message("Instant Heist Passed", "Activated") end) CasinoHeistExtra:add_sameline() CasinoHeistExtra:add_button("Force Ready", function() script.run_in_fiber(function(script) - network.force_script_host(FMC); script:sleep(1000) - for i = 1, 4 do globals.set_int(1882572 + 1 + ((i - 1) * 315) + 43 + 11 + i, 1) end + network.force_script_host(FMC) + script:sleep(1000) + for i = 1, 4 do + globals.set_int(1882572 + 1 + ((i - 1) * 315) + 43 + 11 + i, 1) + end end) end) CasinoHeistExtra:add_sameline() @@ -7128,16 +7409,16 @@ CasinoHeistExtra:add_button("Skip Cutscene", SkipCutscene) -- Cayo Heist -- local CayoPericoCrewCut = { { tunable = "IH_DEDUCTION_PAVEL_CUT", default = -0.02 }, - { tunable = "IH_DEDUCTION_FENCING_FEE", default = -0.1 } + { tunable = "IH_DEDUCTION_FENCING_FEE", default = -0.1 }, } local cayoPrimaryTargets = { - {name="Panther Statue", id = 5}, - {name="Medrazo Files", id = 4}, - {name="Diamond", id = 3}, - {name="Bonds", id = 2}, - {name="Necklace", id = 1}, - {name="Tequila", id = 0} + { name = "Panther Statue", id = 5 }, + { name = "Medrazo Files", id = 4 }, + { name = "Diamond", id = 3 }, + { name = "Bonds", id = 2 }, + { name = "Necklace", id = 1 }, + { name = "Tequila", id = 0 }, } function CayoCompletePreps() @@ -7187,55 +7468,80 @@ function CutsPresetter(global_start, global_finish, cut) end local cayoSecondaryTargets = { - { name = "None", caps = "NONE", amount = { - compound = { cash = 0, weed = 0, coke = 0, gold = 0 }, - island = { cash = 0, weed = 0, coke = 0, gold = 0 } - }, value = 0 }, - { name = "Gold", caps = "GOLD", amount = { - compound = { cash = 0, weed = 0, coke = 0, gold = 255 }, - island = { cash = 0, weed = 0, coke = 0, gold = 16777215 } - }, value = 333333 }, - { name = "Cocaine", caps = "COKE", amount = { - compound = { cash = 0, weed = 0, coke = 255, gold = 0 }, - island = { cash = 0, weed = 0, coke = 16777215, gold = 0 } - }, value = 202500 }, - { name = "Weed", caps = "WEED", amount = { - compound = { cash = 0, weed = 255, coke = 0, gold = 0 }, - island = { cash = 0, weed = 16777215, coke = 0, gold = 0 } - }, value = 135000 }, - { name = "Cash", caps = "CASH", amount = { - compound = { cash = 255, weed = 0, coke = 0, gold = 0 }, - island = { cash = 16777215, weed = 0, coke = 0, gold = 0 } - }, value = 83250 } + { + name = "None", + caps = "NONE", + amount = { + compound = { cash = 0, weed = 0, coke = 0, gold = 0 }, + island = { cash = 0, weed = 0, coke = 0, gold = 0 }, + }, + value = 0, + }, + { + name = "Gold", + caps = "GOLD", + amount = { + compound = { cash = 0, weed = 0, coke = 0, gold = 255 }, + island = { cash = 0, weed = 0, coke = 0, gold = 16777215 }, + }, + value = 333333, + }, + { + name = "Cocaine", + caps = "COKE", + amount = { + compound = { cash = 0, weed = 0, coke = 255, gold = 0 }, + island = { cash = 0, weed = 0, coke = 16777215, gold = 0 }, + }, + value = 202500, + }, + { + name = "Weed", + caps = "WEED", + amount = { + compound = { cash = 0, weed = 255, coke = 0, gold = 0 }, + island = { cash = 0, weed = 16777215, coke = 0, gold = 0 }, + }, + value = 135000, + }, + { + name = "Cash", + caps = "CASH", + amount = { + compound = { cash = 255, weed = 0, coke = 0, gold = 0 }, + island = { cash = 16777215, weed = 0, coke = 0, gold = 0 }, + }, + value = 83250, + }, } local cayoLocations = { - {name="Front Gate", x=4990.0386, y=-5717.6895, z=19.876024}, - {name="El Rubio's Office", x=5010.12, y=-5750.1353, z=28.844675}, - {name="Primary Target", x=5006.7, y=-5756.2, z=15.483983}, - {name="Secondary Target", x=4999.764160, y=-5749.863770, z=14.840000}, - {name="Safe Zone", x=4771.479, y=-6165.737, z=-39.079613}, - {name="Entrance Drinage Pipe", x=5043.74, y=-5815.3193, z=-10.574497}, - {name="Enter Cayo Perico", x=5053.8516, y=-5772.852, z=-4.1588774}, - {name="Elevator", x=5012.1533, y=-5749.0107, z=28.945145}, + { name = "Front Gate", x = 4990.0386, y = -5717.6895, z = 19.876024 }, + { name = "El Rubio's Office", x = 5010.12, y = -5750.1353, z = 28.844675 }, + { name = "Primary Target", x = 5006.7, y = -5756.2, z = 15.483983 }, + { name = "Secondary Target", x = 4999.764160, y = -5749.863770, z = 14.840000 }, + { name = "Safe Zone", x = 4771.479, y = -6165.737, z = -39.079613 }, + { name = "Entrance Drinage Pipe", x = 5043.74, y = -5815.3193, z = -10.574497 }, + { name = "Enter Cayo Perico", x = 5053.8516, y = -5772.852, z = -4.1588774 }, + { name = "Elevator", x = 5012.1533, y = -5749.0107, z = 28.945145 }, } local cayoApproachVehicles = { - {name="Longfin", id = 65345}, - {name="Patrol Boat", id = 65313}, - {name="Stealth Annihilator", id = 65425}, - {name="Velum", id = 65289}, - {name="Alkonost", id = 65413}, - {name="Kosatka", id = 65283}, - {name="All Ways", id = 65535}, + { name = "Longfin", id = 65345 }, + { name = "Patrol Boat", id = 65313 }, + { name = "Stealth Annihilator", id = 65425 }, + { name = "Velum", id = 65289 }, + { name = "Alkonost", id = 65413 }, + { name = "Kosatka", id = 65283 }, + { name = "All Ways", id = 65535 }, } local cayoWeapons = { - {name="Aggressor", id = 1}, - {name="Conspirator", id = 2}, - {name="Crackshot", id = 3}, - {name="Saboteur", id = 4}, - {name="Marksman", id = 5}, + { name = "Aggressor", id = 1 }, + { name = "Conspirator", id = 2 }, + { name = "Crackshot", id = 3 }, + { name = "Saboteur", id = 4 }, + { name = "Marksman", id = 5 }, } -- Move these variables outside to maintain state @@ -7257,8 +7563,10 @@ local CayoHeistEditorMenu = HeistsDataEditorMenu:add_tab("Cayo Perico Heist ") -- Put EVERYTHING inside add_imgui CayoHeistEditorMenu:add_imgui(function() - if checkOnline() then return end - + if checkOnline() then + return + end + -- Cayo Bag Size Editor ImGui.Text("Cayo Bag Size Editor") bagValue, _ = ImGui.InputInt("Bag Size", bagValue) @@ -7266,9 +7574,9 @@ CayoHeistEditorMenu:add_imgui(function() globals.set_int(CPBg, bagValue) gui.show_message("Cayo Perico", "Bag size set to " .. bagValue) end - + ImGui.Separator() - + -- Primary Target ImGui.Text("Primary Target:") local primaryNames = {} @@ -7282,15 +7590,15 @@ CayoHeistEditorMenu:add_imgui(function() stats.set_int(MPX() .. "H4CNF_TARGET", selected.id) gui.show_message("Cayo Perico", "Primary target set to: " .. selected.name) end - + ImGui.Separator() - + -- Secondary Targets local targetNames = {} for i, target in ipairs(cayoSecondaryTargets) do table.insert(targetNames, target.name) end - + ImGui.Text("Compound Target:") local nCompoundI, clickedCompound = ImGui.Combo("##Compound", compoundI, targetNames, #targetNames) if clickedCompound then @@ -7307,7 +7615,7 @@ CayoHeistEditorMenu:add_imgui(function() ) gui.show_message("Cayo Perico", "Compound target set to: " .. selected.name) end - + ImGui.Text("Island Target:") local nIslandI, clickedIsland = ImGui.Combo("##Island", islandI, targetNames, #targetNames) if clickedIsland then @@ -7324,12 +7632,12 @@ CayoHeistEditorMenu:add_imgui(function() ) gui.show_message("Cayo Perico", "Island target set to: " .. selected.name) end - + ImGui.Text("") addPaintings, _ = ImGui.Checkbox("Paintings", addPaintings) - + ImGui.Separator() - + -- Difficulty ImGui.Text("Difficulty:") if ImGui.Button("Hard") then @@ -7339,9 +7647,9 @@ CayoHeistEditorMenu:add_imgui(function() if ImGui.Button("Normal") then stats.set_int(MPX() .. "H4_PROGRESS", 126823) end - + ImGui.Separator() - + -- Approach local approachNames = {} for _, veh in ipairs(cayoApproachVehicles) do @@ -7355,9 +7663,9 @@ CayoHeistEditorMenu:add_imgui(function() stats.set_int(MPX() .. "H4_MISSIONS", selected.id) gui.show_message("Cayo Perico", "Approach set to: " .. selected.name) end - + ImGui.Separator() - + -- Weapons local weaponNames = {} for _, wep in ipairs(cayoWeapons) do @@ -7371,9 +7679,9 @@ CayoHeistEditorMenu:add_imgui(function() stats.set_int(MPX() .. "H4CNF_WEAPONS", selected.id) gui.show_message("Cayo Perico", "Weapon loadout set to: " .. selected.name) end - + ImGui.Separator() - + -- Preps if ImGui.Button("Complete Preps") then CayoPaintingsToggler(addPaintings) @@ -7392,22 +7700,22 @@ CayoHeistEditorMenu:add_imgui(function() stats.set_int(MPX() .. "H4_PLAYTHROUGH_STATUS", 0) locals.set_int("heist_island_planning", CPRSl, 2) end - + ImGui.Separator() - + -- Crew Cuts ImGui.Text("Removes fencing fee and Pavel's cut") cayoCrewCuts, _ = ImGui.Checkbox("Remove Crew Cuts", cayoCrewCuts) -- Note: script.register_looped for this should be handled separately - + ImGui.Separator() - + -- Cuts ImGui.Text("Cuts to All") if ImGui.Button("100") then CutsPresetter(CPCg1, CPCg4, 100) end - + ImGui.Text("") ImGui.Text("Custom Cut") cayocut1, _ = ImGui.InputInt("Cut 1", cayocut1) @@ -7420,18 +7728,18 @@ CayoHeistEditorMenu:add_imgui(function() globals.set_int(CPCg3, cayocut3) globals.set_int(CPCg4, cayocut4) end - + ImGui.Separator() - + -- Reload Planning Screen ImGui.Text("Reload Planning Screen") if ImGui.Button("Reload Planning Screen") then locals.set_int("heist_island_planning", CPRSl, 2) gui.show_message("Cayo Perico Heist", "Screen should've been reloaded") end - + ImGui.Separator() - + -- Extras ImGui.Text("Extras") if ImGui.Button("Bypass Drainage Cut") then @@ -7448,7 +7756,7 @@ CayoHeistEditorMenu:add_imgui(function() locals.set_float("fm_mission_controller_2020", CPPCCl, 100.0) gui.show_message("Cayo Perico Heist", "Cutting process should've been skipped") end - + ImGui.Text("Team Lives:") livesValueCayo, _ = ImGui.InputInt("##CayolivesValue", livesValueCayo) if ImGui.Button("Set Lives") then @@ -7458,7 +7766,7 @@ CayoHeistEditorMenu:add_imgui(function() if ImGui.IsItemHovered() then ImGui.SetTooltip("Default is 3. Infinite team lives for the heist (set to 999999 for unlimited)") end - + if ImGui.Button("Remove All CCTV's") then for _, ent in pairs(entities.get_all_objects_as_handles()) do for __, cam in pairs(CamList) do @@ -7471,13 +7779,23 @@ CayoHeistEditorMenu:add_imgui(function() end CamList = { - joaat("prop_cctv_cam_01a"), joaat("prop_cctv_cam_01b"), joaat("prop_cctv_cam_02a"), joaat("prop_cctv_cam_03a"), - joaat("prop_cctv_cam_04a"), joaat("prop_cctv_cam_04c"), joaat("prop_cctv_cam_05a"), joaat("prop_cctv_cam_06a"), - joaat("prop_cctv_cam_07a"), joaat("prop_cs_cctv"), joaat("p_cctv_s"), joaat("hei_prop_bank_cctv_01"), - joaat("hei_prop_bank_cctv_02"), joaat("ch_prop_ch_cctv_cam_02a"), joaat("xm_prop_x17_server_farm_cctv_01"), -} + joaat("prop_cctv_cam_01a"), + joaat("prop_cctv_cam_01b"), + joaat("prop_cctv_cam_02a"), + joaat("prop_cctv_cam_03a"), + joaat("prop_cctv_cam_04a"), + joaat("prop_cctv_cam_04c"), + joaat("prop_cctv_cam_05a"), + joaat("prop_cctv_cam_06a"), + joaat("prop_cctv_cam_07a"), + joaat("prop_cs_cctv"), + joaat("p_cctv_s"), + joaat("hei_prop_bank_cctv_01"), + joaat("hei_prop_bank_cctv_02"), + joaat("ch_prop_ch_cctv_cam_02a"), + joaat("xm_prop_x17_server_farm_cctv_01"), + } - if ImGui.Button("Instant Finish") then locals.set_int("fm_mission_controller_2020", CPXf1, 9) locals.set_int("fm_mission_controller_2020", CPXf2, 50) @@ -7498,7 +7816,7 @@ CayoHeistEditorMenu:add_imgui(function() gui.show_message("Cayo Perico Heist", "Everyone should've been forced ready") end) end - + if ImGui.Button("Kill Cooldown (after solo)") then stats.set_int(MPX() .. "H4_TARGET_POSIX", 1659643454) stats.set_int(MPX() .. "H4_COOLDOWN", 0) @@ -7512,20 +7830,20 @@ CayoHeistEditorMenu:add_imgui(function() stats.set_int(MPX() .. "H4_COOLDOWN_HARD", 0) gui.show_message("Cayo Perico Heist", "Cooldown should've been killed") end - + ImGui.Text("After clicking the Kill Cooldown button, go offline and then come back online") - + ImGui.Separator() - + -- Teleports ImGui.Text("Teleports") - + for i, location in ipairs(cayoLocations) do if ImGui.Button(location.name) then local ped = PLAYER.PLAYER_PED_ID() PED.SET_PED_COORDS_KEEP_VEHICLE(ped, location.x, location.y, location.z) end - + if i < 6 or i == 7 then ImGui.SameLine() end @@ -7535,7 +7853,12 @@ end) -- Handle the Crew Cuts loop separately script.register_looped("SN_CayoPerico_Crew", function(script) script:yield() - if not network.is_session_started() or SCRIPT.GET_NUMBER_OF_THREADS_RUNNING_THE_SCRIPT_WITH_THIS_HASH(joaat("maintransition")) > 0 then return end + if + not network.is_session_started() + or SCRIPT.GET_NUMBER_OF_THREADS_RUNNING_THE_SCRIPT_WITH_THIS_HASH(joaat("maintransition")) > 0 + then + return + end for _, cut in ipairs(CayoPericoCrewCut) do if cayoCrewCuts then tunables.set_float(cut.tunable, 0) @@ -7555,14 +7878,14 @@ glassCaseNames = { [1] = "Gemstone", [2] = "Horse", [3] = "Coquard Carcanet", - [4] = "Memento Non Mori" + [4] = "Memento Non Mori", } glassCaseTypes = { [0] = "Tall Glass Case", [1] = "Tall Glass Case", [2] = "Horizontal Glass Case", [3] = "Horizontal Glass Case", - [4] = "Horizontal Glass Case" + [4] = "Horizontal Glass Case", } -- ============================================ @@ -7616,19 +7939,42 @@ local targetShortNames = { "Until Death", "What Are Melons?", "Outcome Endeavour", - "Mi O Melee" + "Mi O Melee", } local targetBasePayouts = { - 481250, 304500, 305000, 305500, 306000, 306500, 307000, - 307500, 308000, 308500, 309000, 309500, 310000, 310500, - 311000, 311500, 312000, 312500, 313000, 313500, 314000, - 314500, 315000, 315500, 316000, 365000, 317000 + 481250, + 304500, + 305000, + 305500, + 306000, + 306500, + 307000, + 307500, + 308000, + 308500, + 309000, + 309500, + 310000, + 310500, + 311000, + 311500, + 312000, + 312500, + 313000, + 313500, + 314000, + 314500, + 315000, + 315500, + 316000, + 365000, + 317000, } k26Targets = {} for i = 1, 27 do - k26Targets[i] = {name = targetShortNames[i], id = i - 1, payout = targetBasePayouts[i], index = i} + k26Targets[i] = { name = targetShortNames[i], id = i - 1, payout = targetBasePayouts[i], index = i } end targetNames = {} @@ -7683,7 +8029,7 @@ end -- ============================================ function EnableSoloSecondaryTargets() - local target_indices = {0, 1, 5, 6, 7, 20, 21} + local target_indices = { 0, 1, 5, 6, 7, 20, 21 } for _, i in ipairs(target_indices) do local base = KCSECONDARY_BASE + (i * 333) globals.set_int(base + 68, 0) @@ -7871,10 +8217,15 @@ end script.register_looped("KortzCenterAutoHack", function(s) s:yield() - if not network.is_session_started() or SCRIPT.GET_NUMBER_OF_THREADS_RUNNING_THE_SCRIPT_WITH_THIS_HASH(joaat("maintransition")) > 0 then return end - + if + not network.is_session_started() + or SCRIPT.GET_NUMBER_OF_THREADS_RUNNING_THE_SCRIPT_WITH_THIS_HASH(joaat("maintransition")) > 0 + then + return + end + local heistActive = isKortzHeistActive() - + if not heistActive and heistWasActive then dataCrackTriggered = false fingerprintTriggered = false @@ -7883,14 +8234,14 @@ script.register_looped("KortzCenterAutoHack", function(s) s:sleep(500) return end - + heistWasActive = heistActive - + if not heistActive or not autoHacks then s:sleep(500) return end - + -- ============================================ -- DATA CRACK DETECTION - FIXED -- ============================================ @@ -7904,7 +8255,7 @@ script.register_looped("KortzCenterAutoHack", function(s) break end end - + -- Also check if data crack is active by checking the first rod specifically if not isDataCrackActive then local firstRod = locals.get_int("fm_mission_controller_v3", KCDCL + 1) @@ -7912,7 +8263,7 @@ script.register_looped("KortzCenterAutoHack", function(s) isDataCrackActive = true end end - + if isDataCrackActive then -- Bypass all rods for b = 0, 7 do @@ -7942,7 +8293,7 @@ script.register_looped("KortzCenterAutoHack", function(s) return end end - + -- ============================================ -- FINGERPRINT DETECTION - FIXED -- ============================================ @@ -7965,7 +8316,7 @@ script.register_looped("KortzCenterAutoHack", function(s) return end end - + -- ============================================ -- VAULT DOOR DETECTION - FIXED -- ============================================ @@ -7988,7 +8339,7 @@ script.register_looped("KortzCenterAutoHack", function(s) return end end - + s:sleep(100) end) @@ -7997,8 +8348,10 @@ end) -- ============================================ KortzCenterHeistMenu:add_imgui(function() - if checkOnline() then return end - + if checkOnline() then + return + end + -- Heist Status local heistActive = isKortzHeistActive() if heistActive then @@ -8007,11 +8360,11 @@ KortzCenterHeistMenu:add_imgui(function() ImGui.TextColored(1.0, 0.5, 0.0, 1.0, "● HEIST NOT ACTIVE") end ImGui.Dummy(0, 5) - + -- Primary Target Selection ImGui.TextColored(1.0, 0.8, 0.2, 1.0, "PRIMARY TARGET") ImGui.Separator() - + local nIndex, changed = ImGui.Combo("##PrimaryTarget", k26_heist_target, targetShortNames, #targetShortNames) if changed then k26_heist_target = nIndex @@ -8019,81 +8372,106 @@ KortzCenterHeistMenu:add_imgui(function() gui.show_message("Kortz Center Heist", "Target set to: " .. targetShortNames[k26_heist_target + 1]) end ImGui.Dummy(0, 8) - + -- Payout Setter ImGui.TextColored(1.0, 0.8, 0.2, 1.0, "PAYOUT SETTINGS") ImGui.Separator() - - ImGui.TextColored(0.6, 0.6, 0.6, 1.0, "💡 Changes apply instantly - use 'Reload Board' to refresh the planning board view") + + ImGui.TextColored( + 0.6, + 0.6, + 0.6, + 1.0, + "💡 Changes apply instantly - use 'Reload Board' to refresh the planning board view" + ) ImGui.Dummy(0, 5) - + -- Target selection for payout local targetIdx = selectedPayoutTarget + 1 - local newSelection, changed2 = ImGui.Combo("Select Target to Edit", selectedPayoutTarget, targetShortNames, #targetShortNames) + local newSelection, changed2 = + ImGui.Combo("Select Target to Edit", selectedPayoutTarget, targetShortNames, #targetShortNames) if changed2 then selectedPayoutTarget = newSelection targetIdx = selectedPayoutTarget + 1 end - + if targetIdx >= 1 and targetIdx <= 27 then ImGui.Text("Target: " .. targetShortNames[targetIdx]) ImGui.Text("Base Payout: $" .. string.format("%.0f", targetBasePayouts[targetIdx])) - + local currentPayout = getCurrentPayout(targetIdx) if currentPayout > 0 then ImGui.TextColored(0.0, 1.0, 0.0, 1.0, "Current Payout: $" .. string.format("%.0f", currentPayout)) else ImGui.TextColored(0.5, 0.5, 0.5, 1.0, "Current Payout: Not Set (using base value)") end - + ImGui.Dummy(0, 5) - + -- Multiplier ImGui.Text("Multiplier:") - payoutModifiers[targetIdx], _ = ImGui.InputFloat("##Multiplier" .. targetIdx, payoutModifiers[targetIdx], 0.1, 0.5, "%.1f") - + payoutModifiers[targetIdx], _ = + ImGui.InputFloat("##Multiplier" .. targetIdx, payoutModifiers[targetIdx], 0.1, 0.5, "%.1f") + -- Custom Value ImGui.Text("Custom Value:") - payoutCustomValues[targetIdx], _ = ImGui.InputInt("##CustomValue" .. targetIdx, payoutCustomValues[targetIdx], 1000, 10000) - + payoutCustomValues[targetIdx], _ = + ImGui.InputInt("##CustomValue" .. targetIdx, payoutCustomValues[targetIdx], 1000, 10000) + ImGui.Dummy(0, 5) - + -- Apply buttons if ImGui.Button("Apply Multiplier") then local newPayout = math.floor(targetBasePayouts[targetIdx] * payoutModifiers[targetIdx]) if newPayout > 0 then setPayout(targetIdx, newPayout) - gui.show_message("Kortz Center Heist", "✓ " .. targetShortNames[targetIdx] .. " set to $" .. string.format("%.0f", newPayout)) + gui.show_message( + "Kortz Center Heist", + "✓ " .. targetShortNames[targetIdx] .. " set to $" .. string.format("%.0f", newPayout) + ) end end - + ImGui.SameLine() - + if ImGui.Button("Apply Custom Value") then if payoutCustomValues[targetIdx] > 0 then setPayout(targetIdx, payoutCustomValues[targetIdx]) - gui.show_message("Kortz Center Heist", "✓ " .. targetShortNames[targetIdx] .. " set to $" .. string.format("%.0f", payoutCustomValues[targetIdx])) + gui.show_message( + "Kortz Center Heist", + "✓ " + .. targetShortNames[targetIdx] + .. " set to $" + .. string.format("%.0f", payoutCustomValues[targetIdx]) + ) else gui.show_message("Kortz Center Heist", "Please enter a custom value greater than 0!") end end - + ImGui.SameLine() - + if ImGui.Button("Reset This Target") then setPayout(targetIdx, targetBasePayouts[targetIdx]) payoutModifiers[targetIdx] = 1.0 payoutCustomValues[targetIdx] = 0 - gui.show_message("Kortz Center Heist", "✓ " .. targetShortNames[targetIdx] .. " reset to default! ($" .. string.format("%.0f", targetBasePayouts[targetIdx]) .. ")") + gui.show_message( + "Kortz Center Heist", + "✓ " + .. targetShortNames[targetIdx] + .. " reset to default! ($" + .. string.format("%.0f", targetBasePayouts[targetIdx]) + .. ")" + ) end end - + ImGui.Dummy(0, 8) - + -- Quick Actions ImGui.TextColored(0.6, 0.6, 0.6, 1.0, "Quick Actions") ImGui.Separator() - + if ImGui.Button("2x All Targets") then for i = 1, 27 do payoutModifiers[i] = 2.0 @@ -8103,7 +8481,7 @@ KortzCenterHeistMenu:add_imgui(function() gui.show_message("Kortz Center Heist", "✓ All targets set to 2x payout!") end ImGui.SameLine() - + if ImGui.Button("3x All Targets") then for i = 1, 27 do payoutModifiers[i] = 3.0 @@ -8113,7 +8491,7 @@ KortzCenterHeistMenu:add_imgui(function() gui.show_message("Kortz Center Heist", "✓ All targets set to 3x payout!") end ImGui.SameLine() - + if ImGui.Button("5x All Targets") then for i = 1, 27 do payoutModifiers[i] = 5.0 @@ -8123,7 +8501,7 @@ KortzCenterHeistMenu:add_imgui(function() gui.show_message("Kortz Center Heist", "✓ All targets set to 5x payout!") end ImGui.SameLine() - + if ImGui.Button("Reset All Payouts") then for i = 1, 27 do setPayout(i, targetBasePayouts[i]) @@ -8132,24 +8510,24 @@ KortzCenterHeistMenu:add_imgui(function() end gui.show_message("Kortz Center Heist", "✓ All payouts reset to default!") end - + ImGui.Dummy(0, 8) - + -- Board Management ImGui.TextColored(0.6, 0.6, 0.6, 1.0, "Board Management") ImGui.Separator() - + if ImGui.Button("🔄 Reload Planning Board") then KortzReloadBoard() end ImGui.TextColored(0.6, 0.6, 0.6, 1.0, "Refresh the planning board to see updated payout values") - + ImGui.Dummy(0, 8) - + -- General Settings ImGui.TextColored(1.0, 0.8, 0.2, 1.0, "GENERAL SETTINGS") ImGui.Separator() - + local currentBag = getCurrentBagSize() ImGui.Text("Bag Capacity: " .. currentBag) bagSizeValue, _ = ImGui.InputInt("##BagSize", bagSizeValue) @@ -8164,9 +8542,9 @@ KortzCenterHeistMenu:add_imgui(function() if ImGui.IsItemHovered() then ImGui.SetTooltip("Default is 100. Determines how much loot you can carry.") end - + ImGui.Separator() - + local currentLives = getCurrentLives() ImGui.Text("Team Lives: " .. currentLives) livesValue, _ = ImGui.InputInt("##Lives", livesValue) @@ -8181,9 +8559,9 @@ KortzCenterHeistMenu:add_imgui(function() if ImGui.IsItemHovered() then ImGui.SetTooltip("Default is 3. Set to 999999 for unlimited lives.") end - + ImGui.Separator() - + ImGui.Text("Weekly Bonus Multiplier:") weeklyMultiplierValue, _ = ImGui.InputFloat("##WeeklyMultiplier", weeklyMultiplierValue) if ImGui.Button("Set Weekly Multiplier") then @@ -8197,9 +8575,9 @@ KortzCenterHeistMenu:add_imgui(function() if ImGui.IsItemHovered() then ImGui.SetTooltip("Default is 4.0x. Affects the first sale bonus multiplier.") end - + ImGui.Separator() - + ImGui.Text("Difficulty:") if ImGui.Button("Hard Mode") then stats.set_int(MPX() .. "K26_GENERAL_BS", 1784442458) @@ -8217,9 +8595,9 @@ KortzCenterHeistMenu:add_imgui(function() if ImGui.IsItemHovered() then ImGui.SetTooltip("Enables Normal Mode. Standard difficulty.") end - + ImGui.Separator() - + if ImGui.Button("Skip Cooldown") then KortzSkipCooldown() end @@ -8233,13 +8611,13 @@ KortzCenterHeistMenu:add_imgui(function() if ImGui.IsItemHovered() then ImGui.SetTooltip("Reloads the planning board to reflect latest changes.") end - + ImGui.Separator() - + -- Prep Work ImGui.TextColored(1.0, 0.8, 0.2, 1.0, "PREP WORK") ImGui.Separator() - + if ImGui.Button("Scope Out Kortz Center") then stats.set_int(MPX() .. "K26_ROBBERY_PROG", stats.get_int(MPX() .. "K26_ROBBERY_PROG") | 1) gui.show_message("Kortz Center Heist", "Kortz Center scoped out!") @@ -8255,7 +8633,7 @@ KortzCenterHeistMenu:add_imgui(function() if ImGui.IsItemHovered() then ImGui.SetTooltip("Removes the Scope Out completion.") end - + if ImGui.Button("Alpha Mail Disguise") then stats.set_int(MPX() .. "K26_ROBBERY_PROG", stats.get_int(MPX() .. "K26_ROBBERY_PROG") | 2) gui.show_message("Kortz Center Heist", "Alpha Mail Disguise acquired!") @@ -8271,7 +8649,7 @@ KortzCenterHeistMenu:add_imgui(function() if ImGui.IsItemHovered() then ImGui.SetTooltip("Completes the Hazmat Suit prep.") end - + if ImGui.Button("Staff Key Card") then stats.set_int(MPX() .. "K26_ROBBERY_PROG", stats.get_int(MPX() .. "K26_ROBBERY_PROG") | 8) gui.show_message("Kortz Center Heist", "Staff Key Card acquired!") @@ -8287,7 +8665,7 @@ KortzCenterHeistMenu:add_imgui(function() if ImGui.IsItemHovered() then ImGui.SetTooltip("Completes the Tactical Equipment prep.") end - + if ImGui.Button("Hacking Device") then stats.set_int(MPX() .. "K26_ROBBERY_PROG", stats.get_int(MPX() .. "K26_ROBBERY_PROG") | 32) gui.show_message("Kortz Center Heist", "Hacking Device acquired!") @@ -8303,7 +8681,7 @@ KortzCenterHeistMenu:add_imgui(function() if ImGui.IsItemHovered() then ImGui.SetTooltip("Completes the Access Code prep.") end - + ImGui.Text("Vehicles:") if ImGui.Button("Armored Caracara") then stats.set_int(MPX() .. "K26_ROBBERY_PROG", stats.get_int(MPX() .. "K26_ROBBERY_PROG") | 256) @@ -8328,11 +8706,11 @@ KortzCenterHeistMenu:add_imgui(function() if ImGui.IsItemHovered() then ImGui.SetTooltip("Unlocks the Manchez.") end - + ImGui.Separator() ImGui.TextColored(1.0, 0.8, 0.2, 1.0, "OPTIONAL PREP WORK (Requires POI)") ImGui.Separator() - + if ImGui.Button("Scope Points of Interest") then stats.set_int(MPX() .. "K26_POI_BS", -1) gui.show_message("Kortz Center Heist", "Points of Interest scoped!") @@ -8340,7 +8718,7 @@ KortzCenterHeistMenu:add_imgui(function() if ImGui.IsItemHovered() then ImGui.SetTooltip("Scopes all Points of Interest.") end - + ImGui.Text("General Upgrades:") if ImGui.Button("Guard Routes") then setK26Bit("K26_GENERAL_BS", 32, "Guard Routes") @@ -8368,7 +8746,7 @@ KortzCenterHeistMenu:add_imgui(function() if ImGui.IsItemHovered() then ImGui.SetTooltip("Provides EMP charges.") end - + ImGui.Text("Loadouts:") if ImGui.Button("Street Loadout") then setK26Bit("K26_GENERAL_BS", 512, "Street Loadout") @@ -8390,7 +8768,7 @@ KortzCenterHeistMenu:add_imgui(function() if ImGui.IsItemHovered() then ImGui.SetTooltip("Equips Military Loadout.") end - + ImGui.Text("Manchez Colors:") if ImGui.Button("Red Manchez") then setK26Bit("K26_GENERAL_BS", 131072, "Red Manchez") @@ -8432,11 +8810,11 @@ KortzCenterHeistMenu:add_imgui(function() if ImGui.IsItemHovered() then ImGui.SetTooltip("Weaker guards - easier to take down.") end - + ImGui.Separator() ImGui.TextColored(1.0, 0.8, 0.2, 1.0, "SECONDARY TARGETS") ImGui.Separator() - + if ImGui.Button("Scope All Secondary Targets") then stats.set_int(MPX() .. "K26_SCOPING_BS", -1) gui.show_message("Kortz Center Heist", "All secondary targets scoped!") @@ -8444,11 +8822,11 @@ KortzCenterHeistMenu:add_imgui(function() if ImGui.IsItemHovered() then ImGui.SetTooltip("Reveals all secondary targets.") end - + ImGui.Separator() ImGui.TextColored(1.0, 0.8, 0.2, 1.0, "QUICK ACTIONS") ImGui.Separator() - + if ImGui.Button("Complete All Preps") then stats.set_int(MPX() .. "K26_GENERAL_BS", -1) stats.set_int(MPX() .. "K26_ROBBERY_PROG", 65535) @@ -8470,11 +8848,11 @@ KortzCenterHeistMenu:add_imgui(function() if ImGui.IsItemHovered() then ImGui.SetTooltip("Resets all prep progress.") end - + ImGui.Separator() ImGui.TextColored(1.0, 0.8, 0.2, 1.0, "EXTRAS") ImGui.Separator() - + if ImGui.Button("Skip Cutscene") then SkipCutscene() gui.show_message("Kortz Center Heist", "Cutscene skipped!") @@ -8491,33 +8869,35 @@ end) KortzCenterCrackerMenu = KortzCenterHeistMenu:add_tab("Mission Cracker") KortzCenterCrackerMenu:add_imgui(function() - if checkOnline() then return end - + if checkOnline() then + return + end + local heistActive = isKortzHeistActive() - + ImGui.TextColored(1.0, 0.8, 0.2, 1.0, "KORTZ CENTER CRACKER") ImGui.Separator() - + -- Auto Door Hacks ImGui.TextColored(1.0, 0.8, 0.2, 1.0, "AUTO DOOR HACKS") ImGui.Separator() - + autoHacks, _ = ImGui.Checkbox("Enable Auto Door Hacks", autoHacks) if ImGui.IsItemHovered() then ImGui.SetTooltip( - "Automatically bypasses door-related hacks when detected.\n\n" .. - "Hacks included:\n" .. - "- Data Crack: Auto-bypasses when minigame starts\n" .. - "- Fingerprint: Auto-bypasses when scanner is active\n" .. - "- Vault Door: Auto-bypasses when hack is active\n\n" .. - "These trigger ONLY when you reach them, not all at once!" + "Automatically bypasses door-related hacks when detected.\n\n" + .. "Hacks included:\n" + .. "- Data Crack: Auto-bypasses when minigame starts\n" + .. "- Fingerprint: Auto-bypasses when scanner is active\n" + .. "- Vault Door: Auto-bypasses when hack is active\n\n" + .. "These trigger ONLY when you reach them, not all at once!" ) end - + if not heistActive then ImGui.TextColored(1.0, 0.8, 0.0, 1.0, "Start the heist first to use auto hacks.") end - + if autoHacks and heistActive then ImGui.TextColored(0.0, 1.0, 0.0, 1.0, "Auto Door Hacks: ENABLED") ImGui.TextColored(0.6, 0.6, 0.6, 1.0, "Data Crack | Fingerprint | Vault Door") @@ -8527,13 +8907,13 @@ KortzCenterCrackerMenu:add_imgui(function() ImGui.TextColored(0.6, 0.6, 0.6, 1.0, "Auto Door Hacks: DISABLED") ImGui.TextColored(0.6, 0.6, 0.6, 1.0, "Use manual buttons below") end - + ImGui.Dummy(0, 5) - + -- Manual Door Hacks ImGui.TextColored(1.0, 0.8, 0.2, 1.0, "MANUAL DOOR HACKS") ImGui.Separator() - + if ImGui.Button("Skip Data Crack") then KortzSkipDataCrack() end @@ -8554,13 +8934,13 @@ KortzCenterCrackerMenu:add_imgui(function() if ImGui.IsItemHovered() then ImGui.SetTooltip("Bypasses the vault door signal nodes hack.\nInstant access to the vault.") end - + ImGui.Dummy(0, 5) - + -- Access & Security ImGui.TextColored(1.0, 0.8, 0.2, 1.0, "ACCESS & SECURITY") ImGui.Separator() - + if ImGui.Button("Auto-Enter Access Code") then KortzAutoAccessCode() end @@ -8574,18 +8954,20 @@ KortzCenterCrackerMenu:add_imgui(function() if ImGui.IsItemHovered() then ImGui.SetTooltip("Deactivates the laser grid security system.\nClear path through the laser hallway.") end - + ImGui.Dummy(0, 5) - + -- Glass Cutting ImGui.TextColored(1.0, 0.8, 0.2, 1.0, "GLASS CUTTING") ImGui.Separator() - + if ImGui.Button("Cut All Glass") then KortzCutAllGlass() end if ImGui.IsItemHovered() then - ImGui.SetTooltip("Cuts all 5 display cases instantly.\n\nVenus d'Algernon | Gemstone | Horse | Coquard Carcanet | Memento Non Mori") + ImGui.SetTooltip( + "Cuts all 5 display cases instantly.\n\nVenus d'Algernon | Gemstone | Horse | Coquard Carcanet | Memento Non Mori" + ) end ImGui.SameLine() if ImGui.Button("Venus d'Algernon") then @@ -8601,7 +8983,7 @@ KortzCenterCrackerMenu:add_imgui(function() if ImGui.IsItemHovered() then ImGui.SetTooltip("Cuts the Gemstone display case.") end - + if ImGui.Button("Horse") then CutHorse() end @@ -8622,28 +9004,28 @@ KortzCenterCrackerMenu:add_imgui(function() if ImGui.IsItemHovered() then ImGui.SetTooltip("Cuts the Memento Non Mori display case.") end - + ImGui.Dummy(0, 5) - + -- Solo Secondary Targets ImGui.TextColored(1.0, 0.8, 0.2, 1.0, "SOLO SECONDARY TARGETS") ImGui.Separator() - + if ImGui.Button("Enable Solo Secondary Targets (B2 Floor)") then EnableSoloSecondaryTargets() end if ImGui.IsItemHovered() then ImGui.SetTooltip( - "Resets interaction & loot flags for Exhibit Level 2.\n\n" .. - "Fixes:\n" .. - "- Tall glass cases (i = 0, 1)\n" .. - "- Horizontal glass cases (i = 5, 6, 7)\n" .. - "- Artwork (i = 20, 21)\n\n" .. - "Press when you enter the Exhibit Level 2 room.\n" .. - "Note: This is MANUAL only - not in auto mode." + "Resets interaction & loot flags for Exhibit Level 2.\n\n" + .. "Fixes:\n" + .. "- Tall glass cases (i = 0, 1)\n" + .. "- Horizontal glass cases (i = 5, 6, 7)\n" + .. "- Artwork (i = 20, 21)\n\n" + .. "Press when you enter the Exhibit Level 2 room.\n" + .. "Note: This is MANUAL only - not in auto mode." ) end - + if heistActive then ImGui.TextColored(0.0, 1.0, 0.0, 1.0, "Can be enabled once the heist starts.") ImGui.TextColored(1.0, 0.8, 0.0, 1.0, "Recommended to enable inside the Exhibit room.") @@ -8651,15 +9033,18 @@ KortzCenterCrackerMenu:add_imgui(function() ImGui.TextColored(1.0, 0.8, 0.0, 1.0, "Start the heist first.") ImGui.TextColored(0.6, 0.6, 0.6, 1.0, "Recommended to enable inside the Exhibit room.") end - + ImGui.Dummy(0, 5) - + -- Targets ImGui.TextColored(1.0, 0.8, 0.2, 1.0, "TARGETS") ImGui.Separator() - + if ImGui.Button("Take Primary Target") then - script.run_in_fiber(function(s) KortzTakePrimary(); s:sleep(1000) end) + script.run_in_fiber(function(s) + KortzTakePrimary() + s:sleep(1000) + end) end if ImGui.IsItemHovered() then ImGui.SetTooltip("Grabs the primary target instantly.\nThe main objective of the heist.") @@ -8671,13 +9056,13 @@ KortzCenterCrackerMenu:add_imgui(function() if ImGui.IsItemHovered() then ImGui.SetTooltip("Grabs a secondary target instantly.\nExtra loot for bigger payout.") end - + ImGui.Dummy(0, 5) - + -- Glass Case Status ImGui.TextColored(1.0, 0.8, 0.2, 1.0, "GLASS CASE STATUS") ImGui.Separator() - + for i = 0, 4 do local progress = getGlassProgress(i) local status, r, g, b = "Available", 1.0, 0.0, 0.0 @@ -8686,7 +9071,20 @@ KortzCenterCrackerMenu:add_imgui(function() elseif progress == 0 then status, r, g, b = "Empty", 0.5, 0.5, 0.5 end - ImGui.TextColored(r, g, b, 1.0, glassCaseTypes[i] .. ": " .. glassCaseNames[i] .. " - " .. status .. " (" .. string.format("%.1f", progress) .. "%)") + ImGui.TextColored( + r, + g, + b, + 1.0, + glassCaseTypes[i] + .. ": " + .. glassCaseNames[i] + .. " - " + .. status + .. " (" + .. string.format("%.1f", progress) + .. "%)" + ) end end) @@ -8695,17 +9093,17 @@ end) MissionsSelectorAndCooldownMenu = makeOnlineTab(L7NEG:add_tab("Missions Selector And cooldown Menu")) MissionsSelectorAndCooldownMenu:add_button("Remove Dax Fooligan missions CoolDown ", function() - stats.set_int(MPX() .. "XM22JUGGALOWORKCDTIMER", -1) + stats.set_int(MPX() .. "XM22JUGGALOWORKCDTIMER", -1) end) MissionsSelectorAndCooldownMenu:add_button("Remove VIP/MC Cooldown", function() - stats.set_int("MPPLY_VIPGAMEPLAYDISABLEDTIMER", 0) + stats.set_int("MPPLY_VIPGAMEPLAYDISABLEDTIMER", 0) end) MissionsSelectorAndCooldownMenu:add_button("Skip Yacht Missions", function() - stats.set_int(MPX() .. "YACHT_MISSION_PROG", 0) - stats.set_int(MPX() .. "YACHT_MISSION_FLOW", 21845) - stats.set_int(MPX() .. "CASINO_DECORATION_GIFT_1", -1) + stats.set_int(MPX() .. "YACHT_MISSION_PROG", 0) + stats.set_int(MPX() .. "YACHT_MISSION_FLOW", 21845) + stats.set_int(MPX() .. "CASINO_DECORATION_GIFT_1", -1) end) -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- @@ -8743,7 +9141,9 @@ 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/UltimateMenu/UltimateMenu/issues")