[Release] Cayo Perico Loader - Ultimate Edition. Lightweight, Customizable, Upgraded

Cayo Perico Loader - Ultimate Edition. Lightweight, Customizable, Upgraded

Download: Direct

Source Code: Github

Images

Yet another Cayo Perico loader… but with some improvements. Most loaders I’ve seen are horrendously unoptimized and lack ease of customization. We solve all of these problems, along with many other improvements.

Features

  • Cayo Perico loaded via IPL calls, no unnecessary streamed assets.
  • Customizable map sections (see “Config” section below)
  • Compatible with LS-Removed and Extra-Map-Tiles.
  • Toggleable airstrip hangar door and mansion gates.
  • Removed invisible collisions on the hills and in the party area.
  • Removed prologue snow effects.
  • Fixed hangar HD LOD disappearing.
  • Dynamic wave and path node toggling between calm water in Cayo and waves in Los Santos.
  • Fixed the water clipping through Cayo Perico in some areas.
  • Compatible with any framework (ESX, QB, etc.)
  • Compatible with the Rockstar Editor.
  • No bloatware ymaps/props/peds/vehicles.

Note: If you were running LS-Removed along with a streamed version of Cayo Perico, I encourage you to update to the newest version of LS-Removed that allows loading DLC IPLs and use a Cayo Perico IPL loader, such as this one.

Config

config = {}

-- Misc options
config.disable_prologue_snow = true -- true = disable snow from North Yankton, false = enable snow
config.disable_emitters = true -- true = disable arena wars emitters, false = enable emitters; set this to false if other scripts interact with emitters
config.peds = false  -- true = peds will spawn on the island, false = no peds will spawn
config.ambient_zone = true  -- true = enable ambient zones (birds, insects, etc), false = disable ambient zones
config.disable_radio = false -- true = disable car radio when on Cayo Perico, false = enable car radio on Cayo Perico

-- Map options
config.vault_entity_set = 'pink_diamond_set' -- options: 'panther_set', 'pearl_necklace_set', 'pink_diamond_set', nil (disables the entity set)
config.hangar_open = true   -- true = hangar door open; false = hangar door closed
config.gate_open = true    -- true = mansion gate open; false = mansion gate closed
config.underwater_gate_closed = false   -- true = underwater gate closed; false = underwater gate open
config.sea_mines = false  -- true = enable sea mines, false = disable sea mines
config.shark = true         -- true = enable dead shark, false = disable dead shark
config.whale = true          -- true = enable beached whale, false = disable beached whale 
config.drug_plants = false      -- true = enable drug plants, false = disable drug plants; set to false for better performance in the dock area

-- Minimap options
--[[
    [*] If you use anything else than 'compact', I highly encourage you to use the Extra Map Tiles resource (link below).
    It has much better performance, and has better and easier customizability options.
    https://forum.cfx.re/t/release-extra-map-tiles-v2-add-extra-textured-tiles-on-the-pause-menu-map-and-minimap-new-and-revamped-version
]]
config.minimap_type = 'off' -- options: 'compact', 'scaleform', 'off'
config.dynamic_path_nodes = true   -- true = dynamically enable/disable GPS path nodes when entering/exiting Cayo Perico, false = no GPS path nodes on Cayo Perico

-- true = dynamically load custom water when entering/exiting Cayo Perico, false = default water on Cayo Perico;
-- setting dynamic_water to false will not apply the Cayo Perico water textures
config.dynamic_water = true

config.dynamic_waves = true   -- true = dynamically change wave intensity when entering/exiting Cayo Perico, false = default wave intensity on and off Cayo Perico
config.dynamic_waves_scaler = 1.0   -- wave scaler values when the player is not near Cayo Perico, only used if dynamic_waves is true

-- if dynamic_water is set to false, these values will only be applied once, when the resource starts, without running the infinite loop.
-- if dynamic_water is set to true, these have no effect; set dynamic_water to nil to completely ignore water configuration when the resource starts.
config.static_water_type = 0 -- water type used if dynamic_water is false (0 = default LS water, 1 = Cayo Perico water); setting to 1 will makes water clip in areas of LS
config.static_waves_scaler = 0.0    -- global wave scaler value, used if dynamic_waves is false (1.0 = default wave intensity, 0.0 = no waves)

config.dynamic_actions_delay = 3000 -- delay in ms for updating path nodes state and wave scaler; 3000 should be perfectly fine

Using this with LS-Removed:

  • In cayo-perico-ultimate, set config.dynamic_water = false.
  • In ls-removed, set config.custom_water_name = 'ls_cayo_water'.

Known Limitations

  • Hot reloading might lead to game crashes when using this resource with LS-Removed.

Performance

This resource basically takes up no CPU cycles, having in most cases 0.00ms. If you are running the scaleform minimap, expect the process time to go up to 0.01-0.02ms, but I strongly discourage using the Scaleform map, as stated in the config.

Support and bug-reporting

If you require any help, have found a bug with this resource, or have a feature request, either leave a reply in this thread, in my forum PMs or Discord DMs. I read and reply to everything. As always, feedback is very much appreciated.

My other resources

Carrier Operations - Working aircraft carrier mechanics.
Los Santos Removed - Empty game map.
Vehicle Helmets - Wear hats and helmets inside vehicles.

Code is accessible Yes
Subscription-based No
Lines (approximately) 200
Requirements Build 2189+
Support Yes
6 Likes

The #1 Cayo loader out there. Easy setup, easy installation.

1 Like

Hey,
for some reason the water and minimap is gone and appears only if I TP to cayo and back to the city. You can reproduce this problem with deleting the client cache.

But over all a rly nice Cayo system! TY for creating this!

1 Like

Should be fixed now, please try the latest version and see if it’s still happening. Thanks for pointing it out.

Hey, question about this script. I’m having any issue where I have this set in my config

– Water options

config.dynamic_waves = false

config.dynamic_waves_scaler = 0

config.custom_water_name = nil

And yet the waves on Cayo are just washing onto the island all over, clipping through the bottom of the map. Any suggestions on this?

1 Like

I am aware of this, I will fix the script today; all these water bugs are because I tried to integrate it with the ls-removed water replacement logic. Sorry for this.

oh no worries friend lol, I was like what am i doing wrong XD

1 Like

Hi,
I pushed an update here: https://github.com/alexlicuriceanu/cayo-perico-ultimate/archive/refs/tags/v1.1.0.zip

Seems to work fine for me, tested everything I could think of, deleting cache, spawning in LS, spawning in Cayo Perico, etc. Test it and let me know. The config has also been simplified a lot, as it was very confusing before:

  • confg.dynamic_water: tells the script to switch between LS and Cayo Perico water quads and textures.
  • config.dynamic_waves: switches between calm water in Cayo Perico and normal waves in LS.
  • config.dynamic_waves_scaler: wave amplification factor

And sorry again for releasing the resource in a semi-broken state, I usually test resources thoroughly.

Anyway, test it, see if it works - it hopefully should.

Hey L1CKS,

So that didnt work unfortunaley. I deleted the old files, downloaded the new ones, and updated the config which ill put below, and cleared my own cache and the waves are just crazy still in cayo taking over the island. So im not sure what else to do lol, no errors in server or F8 console either.

config = {}

-- Misc options

config.disable_prologue_snow = true – true = disable snow from North Yankton, false = enable snow

config.disable_emitters = true – true = disable arena wars emitters, false = enable emitters; set this to false if other scripts interact with emitters

config.peds = true – true = peds will spawn on the island, false = no peds will spawn

config.ambient_zone = true – true = enable ambient zones (birds, insects, etc), false = disable ambient zones

config.disable_radio = false – true = disable car radio when on Cayo Perico, false = enable car radio on Cayo Perico

-- Map options

config.vault_entity_set = ‘pink_diamond_set’ – options: ‘panther_set’, ‘pearl_necklace_set’, ‘pink_diamond_set’, nil (disables the entity set)

config.hangar_open = true – true = hangar door open; false = hangar door closed

config.gate_open = true – true = mansion gate open; false = mansion gate closed

config.underwater_gate_closed = false – true = underwater gate closed; false = underwater gate open

config.sea_mines = false – true = enable sea mines, false = disable sea mines

config.shark = true – true = enable dead shark, false = disable dead shark

config.whale = true – true = enable beached whale, false = disable beached whale

config.drug_plants = false – true = enable drug plants, false = disable drug plants; set to false for better performance in the dock area

-- Minimap options

--[[

\[\*\] If you use anything else than 'compact', I highly encourage you to use the Extra Map Tiles resource (link below).

It has much better performance, and has better and easier customizability options.

https://forum.cfx.re/t/release-extra-map-tiles-v2-add-extra-textured-tiles-on-the-pause-menu-map-and-minimap-new-and-revamped-version

]]

config.minimap_type = ‘scaleform’ – options: ‘compact’, ‘scaleform’, ‘off’

config.dynamic_path_nodes = true – true = dynamically enable/disable GPS path nodes when entering/exiting Cayo Perico, false = no GPS path nodes on Cayo Perico

-- true = dynamically load custom water when entering/exiting Cayo Perico, false = default water on Cayo Perico;

-- setting dynamic_water to false will not apply the Cayo Perico water textures

config.dynamic_water = false

config.dynamic_waves = false – true = dynamically change wave intensity when entering/exiting Cayo Perico, false = default wave intensity on and off Cayo Perico

config.dynamic_waves_scaler = 0.0 – wave scaler values when the player is not near Cayo Perico, only used if dynamic_waves is true

config.dynamic_actions_delay = 3000 – delay in ms for updating path nodes state and wave scaler; 3000 should be perfectly fine

1 Like

First, download the latest version, there was a typo before:
https://github.com/alexlicuriceanu/cayo-perico-ultimate/archive/refs/tags/v1.1.0.zip

Yeah, because if you set dynamic waves to false, the script will not toggle between normal waves in LS and calm waves in cayo perico, it will just keep the default water. If you want to just have static waves anywhere on the map, go in the client.lua, lines 148-150 and uncomment these two lines and keep the config as you have it right now:
image

global water type 1 is for the cayo perico water quads (they have a different, brighter texture, but will clip some other parts in LS – so if you plan on keeping LS, maybe use global water type 0)

honestly, most people just want to toggle between the wave intensities so that’s why it’s done like this, also to make this resource work with LS-Removed;

Okay i setglobal water to 0 and turned dynamic_water and dynamic_waves back to true with a scaler of 0.0 and it looks like the water is finally calm and not clipping through cayo, and issues i had before with some undermap MLOs are not underwater anymore either

1 Like