diff --git a/client.lua b/client.lua index 7478759..3c5c44e 100644 --- a/client.lua +++ b/client.lua @@ -145,6 +145,14 @@ CreateThread(function() DiamondPenthouse.LoadDefault() -- 976.636, 70.295, 115.164 end + -- ==================================================================== + -- =-------------------- [DLC: Cayo Perico Heist] --------------------= + -- ==================================================================== + if GetGameBuildNumber() >= 2189 then + CayoPericoNightclub.LoadDefault() -- 1550.0, 250.0, -50.0 + CayoPericoSubmarine.LoadDefault() -- 1560.0, 400.0, -50.0 + end + -- ==================================================================== -- =------------------- [DLC: Los Santos Tuners] ---------------------= -- ==================================================================== diff --git a/dlc_cayoperico/nightclub.lua b/dlc_cayoperico/nightclub.lua new file mode 100644 index 0000000..1d177b9 --- /dev/null +++ b/dlc_cayoperico/nightclub.lua @@ -0,0 +1,128 @@ +-- The Music Locker: 1550.0, 250.0, -50.0 +exports('GetCayoPericoNightclub', function() + return CayoPericoNightclub +end) + +CayoPericoNightclub = { + interiorId = 281089, + + Security = { + security = "int01_ba_security_upgrade", + + Enable = function(state, refresh) + SetIplPropState(CayoPericoNightclub.interiorId, CayoPericoNightclub.Security.security, state, refresh) + end + }, + + Speakers = { + basic = "int01_ba_equipment_setup", + upgrade = { + "int01_ba_equipment_setup", + "int01_ba_equipment_upgrade" + }, + + Set = function(speakers, refresh) + CayoPericoNightclub.Speakers.Clear(false) + + SetIplPropState(CayoPericoNightclub.interiorId, speakers, true, refresh) + end, + Clear = function(refresh) + SetIplPropState(CayoPericoNightclub.interiorId, { + CayoPericoNightclub.Speakers.basic, + CayoPericoNightclub.Speakers.upgrade + }, false, refresh) + end + }, + + Podium = { + podium = "int01_ba_style02_podium", + + Enable = function(state, refresh) + SetIplPropState(CayoPericoNightclub.interiorId, CayoPericoNightclub.Podium.podium, state, refresh) + end + }, + + Turntables = { + style01 = "int01_ba_dj01", + style02 = "int01_ba_dj02", + style03 = "int01_ba_dj03", + style04 = "int01_ba_dj04", + style05 = "int01_ba_dj_palms_trax", + style06 = "int01_ba_dj_keinemusik", + style07 = "int01_ba_dj_moodyman", + + Set = function(style, refresh) + CayoPericoNightclub.Turntables.Clear(false) + + SetIplPropState(CayoPericoNightclub.interiorId, style, true, refresh) + end, + Clear = function(refresh) + for key, value in pairs(CayoPericoNightclub.Turntables) do + if type(value) == "string" then + SetIplPropState(CayoPericoNightclub.interiorId, value, false, refresh) + end + end + end + }, + + Bar = { + bar = "int01_ba_bar_content", + + Enable = function(state, refresh) + SetIplPropState(CayoPericoNightclub.interiorId, CayoPericoNightclub.Bar.bar, state, refresh) + end + }, + + Screen = { + front = "int01_ba_lights_screen", + back = "int01_ba_screen", + + Enable = function(screen, state, refresh) + SetIplPropState(CayoPericoNightclub.interiorId, screen, state, refresh) + end + }, + + Lights = { + droplets01 = "dj_01_lights_01", + droplets02 = "dj_02_lights_01", + droplets03 = "dj_03_lights_01", + droplets04 = "dj_04_lights_01", + neons01 = "dj_01_lights_02", + neons02 = "dj_02_lights_02", + neons03 = "dj_03_lights_02", + neons04 = "dj_04_lights_02", + bands01 = "dj_01_lights_03", + bands02 = "dj_02_lights_03", + bands03 = "dj_03_lights_03", + bands04 = "dj_04_lights_03", + lasers01 = "dj_01_lights_04", + lasers02 = "dj_02_lights_04", + lasers03 = "dj_03_lights_04", + lasers04 = "dj_04_lights_04", + + Set = function(style, refresh) + CayoPericoNightclub.Lights.Clear(false) + + SetIplPropState(CayoPericoNightclub.interiorId, style, true, refresh) + end, + Clear = function(refresh) + for key, value in pairs(CayoPericoNightclub.Lights) do + if type(value) == "string" then + SetIplPropState(CayoPericoNightclub.interiorId, value, false, refresh) + end + end + end + }, + + LoadDefault = function() + CayoPericoNightclub.Security.Enable(true, false) + CayoPericoNightclub.Speakers.Set(CayoPericoNightclub.Speakers.basic, false) + CayoPericoNightclub.Podium.Enable(true, false) + CayoPericoNightclub.Turntables.Set(CayoPericoNightclub.Turntables.style01, false) + CayoPericoNightclub.Bar.Enable(true, false) + CayoPericoNightclub.Screen.Enable(CayoPericoNightclub.Screen.front, true, false) + CayoPericoNightclub.Lights.Set(CayoPericoNightclub.Lights.neons01, false) + + RefreshInterior(CayoPericoNightclub.interiorId) + end +} \ No newline at end of file diff --git a/dlc_cayoperico/submarine.lua b/dlc_cayoperico/submarine.lua new file mode 100644 index 0000000..1cac6c0 --- /dev/null +++ b/dlc_cayoperico/submarine.lua @@ -0,0 +1,71 @@ +-- Submarine: 1560.0, 400.0, -50.0 +exports('GetCayoPericoSubmarine', function() + return CayoPericoSubmarine +end) + +CayoPericoSubmarine = { + interiorId = 281345, + + Workshop = { + brig = "entity_set_brig", + workshop = "entity_set_weapons", + + Set = function(room, refresh) + CayoPericoSubmarine.Workshop.Clear(false) + + SetIplPropState(CayoPericoSubmarine.interiorId, room, true, refresh) + end, + Clear = function(refresh) + SetIplPropState(CayoPericoSubmarine.interiorId, { + CayoPericoSubmarine.Workshop.brig, + CayoPericoSubmarine.Workshop.workshop + }, false, refresh) + end + }, + + Chairs = { + chairs = "entity_set_guide", + + Enable = function(state, refresh) + SetIplPropState(CayoPericoSubmarine.interiorId, CayoPericoSubmarine.Chairs.chairs, state, refresh) + end + }, + + Lights = { + on = "entity_set_hatch_lights_on", + off = "entity_set_hatch_lights_off", + + Set = function(lights, refresh) + CayoPericoSubmarine.Lights.Clear(false) + + SetIplPropState(CayoPericoSubmarine.interiorId, lights, true, refresh) + end, + Clear = function(refresh) + SetIplPropState(CayoPericoSubmarine.interiorId, { + CayoPericoSubmarine.Lights.on, + CayoPericoSubmarine.Lights.off + }, false, refresh) + end + }, + + Details = { + bomb = "entity_set_demolition", + torch = "entity_set_acetylene", + cutter = "entity_set_plasma", + fingerprint = "entity_set_fingerprint", + suppressors = "entity_set_suppressors", + jammer = "entity_set_jammer", + + Enable = function(details, state, refresh) + SetIplPropState(CayoPericoSubmarine.interiorId, details, state, refresh) + end + }, + + LoadDefault = function() + CayoPericoSubmarine.Workshop.Set(CayoPericoSubmarine.Workshop.brig, false) + CayoPericoSubmarine.Chairs.Enable(true, false) + CayoPericoSubmarine.Lights.Set(CayoPericoSubmarine.Lights.off, false) + + RefreshInterior(CayoPericoSubmarine.interiorId) + end +} \ No newline at end of file diff --git a/fxmanifest.lua b/fxmanifest.lua index 452b636..de9e26f 100644 --- a/fxmanifest.lua +++ b/fxmanifest.lua @@ -3,7 +3,7 @@ game 'gta5' author 'Bob_74' description 'Load and customize your map' -version '2.3.1' +version '2.3.2' lua54 "yes" @@ -106,6 +106,10 @@ client_scripts { , "dlc_casino/casino.lua" , "dlc_casino/penthouse.lua" + -- DLC Cayo Perico Heist (Requires forced build 2189 or higher) + , "dlc_cayoperico/nightclub.lua" + , "dlc_cayoperico/submarine.lua" + -- DLC Tuners (Requires forced build 2372 or higher) , "dlc_tuner/garage.lua" , "dlc_tuner/meetup.lua"