Spots
The four spots in the download and how to add one of your own.
A spot is an area with a pool. What can be caught anywhere is in Config.Items, a spot only says which of those it holds and how likely each one is. The four that ship are strips along a line drawn by hand on the shore, set by pathWidth and pathHeight. A spot of your own is a circle, and that is what range is for.
The four that ship
Del Perro Pier, Alamo Sea, Chumash Coast and Paleto Bay Pier. Their areas are built in and fixed. What you can change is whether they exist and what they are called:
Config.Spots = {
delPerroPier = {
enabled = true,
blip = { enabled = true, sprite = 68, color = 3, scale = 0.8 },
rewards = {
{ item = "mackerel", chance = 42, amount = { min = 1, max = 3 } },
{ item = "salmon", chance = 22, amount = { min = 1, max = 2 } },
{ item = "old_boot", chance = 15, amount = { min = 1, max = 1 } },
{ item = "tuna", chance = 13, amount = { min = 1, max = 2 } },
{ item = "pearl", chance = 5, amount = { min = 1, max = 1 } },
{ item = "treasure_chest", chance = 3, amount = { min = 1, max = 1 } },
},
},
}chance values are weights against each other, so a pool that adds up to something other than 100 still works and keeps its ratios. The resource writes a line about it to the console on every start, on the server and in the client console, whatever Config.Debug is set to. The four pools in the download add up to 100.
Each of the four holds something that is only there: the treasure chest at Del Perro Pier, the golden fish in the Alamo Sea, the shark and the dolphin at Chumash, the king crab in Paleto. The pearl sits in two of them, Del Perro and Paleto. The rare entry is what makes the trip worth it, so keep one when you rebuild the pools.
Your own
Config.CustomSpots has the same shape, plus the place. Coordinates and a range, because nothing is built in for it:
Config.CustomSpots = {
quarryLake = {
name = "Quarry Lake",
coords = vector3(0.0, 0.0, 0.0),
range = 40.0,
blip = { enabled = true, sprite = 68, color = 3, scale = 0.8 },
rewards = {
{ item = "carp", chance = 100, amount = { min = 1, max = 3 } },
},
},
}range is the radius in metres in which the prompt appears. The server checks it again before it hands anything over, with five metres on top, because the position it has for the player lags behind the one in game. A range that covers half the map is an invitation.