Fishing Zones

The fishing zones system allows you to define specific areas where players can fish, with different fish types available in each zone.

General Configuration

useZones = true
useZonesrequiredboolean
true
Master toggle to enable or disable the fishing zones system. When set to false, zone-specific fish types will not be applied.

Zone Definition

Each zone is defined as an entry in the list table with a unique identifier key:

list = {
    zancudo_river = {
        label = 'Zancudo River',

        coords = vec3(-465.0, 2920.0, 15.0),
        radius = 80.0,
        
        blip = {
            enabled = true,
            
            radius = {
                color = 38,
                alpha = 150
            },
            
            center = {
                sprite = 68,
                color = 3,
                scale = 0.7,
                display = 4,
                shortRange = true
            }
        },
        
        fishTypes = {
            common = { 'bitterling', 'pale_chub', 'dace', 'carp', 'goldfish', 'killifish', 'crawfish', 'tadpole', 'frog', 'freshwater_goby', 'loach', 'bluegill', 'yellow_perch', 'black_bass', 'tilapia', 'pond_smelt', 'sweetfish' },
            uncommon = { 'koi', 'pop_eyed_goldfish', 'ranchu_goldfish', 'angelfish', 'betta', 'neon_tetra', 'rainbowfish' },
            rare = { 'giant_snakehead', 'golden_trout', 'stringfish', 'dorado', 'gar', 'arapaima', 'sturgeon', 'king_salmon' },
            epic = { },
            legendary = { },
            treasure = { 'old_boot', 'broken_bottle', 'silver_necklace', 'ancient_statue' }
        }
    },

    vinewood_hills_lake = {
        label = 'Vinewood Hills Lake',

        coords = vec3(21.0, 875.0, 195.0),
        radius = 90.0,
        
        blip = {
            enabled = true,
            
            radius = {
                color = 38,
                alpha = 150
            },
            
            center = {
                sprite = 68,
                color = 3,
                scale = 0.7,
                display = 4,
                shortRange = true
            }
        },
        
        fishTypes = {
            common = { 'bitterling', 'pale_chub', 'dace', 'carp', 'goldfish', 'killifish', 'crawfish', 'tadpole', 'frog', 'freshwater_goby', 'loach', 'bluegill', 'yellow_perch', 'black_bass', 'tilapia', 'pond_smelt', 'sweetfish' },
            uncommon = { 'koi', 'pop_eyed_goldfish', 'ranchu_goldfish', 'angelfish', 'betta', 'neon_tetra', 'rainbowfish' },
            rare = { 'giant_snakehead', 'golden_trout', 'stringfish', 'dorado', 'gar', 'arapaima', 'sturgeon', 'king_salmon' },
            epic = { },
            legendary = { },
            treasure = { 'old_boot', 'broken_bottle', 'silver_necklace', 'ancient_statue' }
        }
    },
    
    alamo_sea = {
        label = 'Alamo Sea',

        coords = vec3(1310.0, 4250.0, 33.0),
        radius = 50.0,
        
        blip = {
            enabled = true,
            
            radius = {
                color = 38,
                alpha = 150
            },
            
            center = {
                sprite = 68,
                color = 3,
                scale = 0.7,
                display = 4,
                shortRange = true
            }
        },
        
        fishTypes = {
            common = { 'bitterling', 'pale_chub', 'dace', 'carp', 'goldfish', 'killifish', 'crawfish', 'tadpole', 'frog', 'freshwater_goby', 'loach', 'bluegill', 'yellow_perch', 'black_bass', 'tilapia', 'pond_smelt', 'sweetfish' },
            uncommon = { 'koi', 'pop_eyed_goldfish', 'ranchu_goldfish', 'angelfish', 'betta', 'neon_tetra', 'rainbowfish' },
            rare = { 'giant_snakehead', 'golden_trout', 'stringfish', 'dorado', 'gar', 'arapaima', 'sturgeon', 'king_salmon' },
            epic = { },
            legendary = { },
            treasure = { 'old_boot', 'broken_bottle', 'silver_necklace', 'ancient_statue' }
        }
    },

    del_perro_pier = {
        label = 'Del Perro Pier',

        coords = vec3(-1800.0, -1180.0, 12.0),
        radius = 100.0,
        
        blip = {
            enabled = true,
            
            radius = {
                color = 38,
                alpha = 150
            },
            
            center = {
                sprite = 68,
                color = 3,
                scale = 0.7,
                display = 4,
                shortRange = true
            }
        },
        
        fishTypes = {
            common = { 'horse_mackerel', 'sea_bass', 'dab', 'olive_flounder', 'squid' },
            uncommon = { 'sea_butterfly', 'seahorse', 'clownfish', 'surgeonfish', 'butterfly_fish', 'zebra_turkeyfish', 'barred_knifejaw', 'red_snapper', 'moray_eel', 'ribbon_eel' },
            rare = { 'napoleonfish', 'tuna', 'blue_marlin', 'giant_trevally', 'mahi_mahi', 'ray' },
            epic = { 'saw_shark', 'hammerhead_shark', 'whale_shark', 'ocean_sunfish', 'oarfish' },
            legendary = { 'great_white_shark', 'coelacanth', 'barreleye' },
            treasure = { 'old_boot', 'broken_bottle', 'rusty_anchor', 'gold_coin', 'pearl', 'diving_watch', 'treasure_chest', 'silver_necklace', 'ancient_statue', 'shipwreck_plank' }
        }
    },

    chumash_pier = {
        label = 'Chumash Pier',

        coords = vec3(-3350.0, 967.0, 9.0),
        radius = 80.0,
        
        blip = {
            enabled = true,
            
            radius = {
                color = 38,
                alpha = 150
            },
            
            center = {
                sprite = 68,
                color = 3,
                scale = 0.7,
                display = 4,
                shortRange = true
            }
        },
        
        fishTypes = {
            common = { 'horse_mackerel', 'sea_bass', 'dab', 'olive_flounder', 'squid' },
            uncommon = { 'sea_butterfly', 'seahorse', 'clownfish', 'surgeonfish', 'butterfly_fish', 'zebra_turkeyfish', 'barred_knifejaw', 'red_snapper', 'moray_eel', 'ribbon_eel' },
            rare = { 'napoleonfish', 'tuna', 'blue_marlin', 'giant_trevally', 'mahi_mahi', 'ray' },
            epic = { 'saw_shark', 'hammerhead_shark', 'whale_shark', 'ocean_sunfish', 'oarfish' },
            legendary = { 'great_white_shark', 'coelacanth', 'barreleye' },
            treasure = { 'old_boot', 'broken_bottle', 'rusty_anchor', 'gold_coin', 'pearl', 'diving_watch', 'treasure_chest', 'silver_necklace', 'ancient_statue', 'shipwreck_plank' }
        }
    },
}
listrequiredtable
Table containing all fishing zone definitions.
list.[zoneName]requiredtable
Individual zone configuration where [zoneName] is a unique identifier for the zone.
list.[zoneName].labelrequiredstring
Display name for the fishing zone that appears on the map and in UI elements.
list.[zoneName].coordsrequiredvector3
Central coordinates of the fishing zone (x, y, z).
list.[zoneName].radiusrequirednumber
Radius of the fishing zone in meters. Defines how large the circular area is.

Blip Configuration

Each zone can have an optional map blip configuration:

list.[zoneName].blip.enabledrequiredboolean
true
Whether to display this fishing zone on the map.
list.[zoneName].blip.radiustable
Configuration for the radius blip that shows the zone's area on the map.
list.[zoneName].blip.radius.colorrequirednumber
38
Color ID for the radius blip. Reference GTA V blip colors.
list.[zoneName].blip.radius.alpharequirednumber
150
Transparency of the radius blip (0-255).
list.[zoneName].blip.centertable
Configuration for the center blip that marks the middle of the zone.
list.[zoneName].blip.center.spriterequirednumber
68
Sprite ID for the center blip. Reference GTA V blip sprites.
list.[zoneName].blip.center.colorrequirednumber
3
Color ID for the center blip. Reference GTA V blip colors.
list.[zoneName].blip.center.scalerequirednumber
0.7
Size of the center blip.
list.[zoneName].blip.center.displayrequirednumber
4
Display behavior of the center blip.
list.[zoneName].blip.center.shortRangerequiredboolean
true
Whether the blip should only be visible when nearby.

Fish Types Configuration

Each zone defines which fish types can be caught within its boundaries:

list.[zoneName].fishTypesrequiredtable
Table categorizing available fish by rarity tiers.
list.[zoneName].fishTypes.commonrequiredtable
Array of fish item names that can be caught in the "common" rarity tier.
list.[zoneName].fishTypes.uncommonrequiredtable
Array of fish item names that can be caught in the "uncommon" rarity tier.
list.[zoneName].fishTypes.rarerequiredtable
Array of fish item names that can be caught in the "rare" rarity tier.
list.[zoneName].fishTypes.epicrequiredtable
Array of fish item names that can be caught in the "epic" rarity tier.
list.[zoneName].fishTypes.legendaryrequiredtable
Array of fish item names that can be caught in the "legendary" rarity tier.
list.[zoneName].fishTypes.treasurerequiredtable
Array of treasure item names that can be found while fishing in this zone.