Configuration
config.lua
Debug
- Type:
boolean - Default:
false - Description: Enables debug mode. Lowers
minimalGroupSizeto1so solo players can start the mission. Set tofalsebefore going live.
BoatModel
- Type:
hash - Default:
`dinghy` - Description: Vehicle model spawned for the player group when they collect gear from the boat NPC.
ChanceForAlert
- Type:
number(0–100) - Default:
100 - Description: Percentage chance a police alert fires during the mission.
ChanceForGuards
- Type:
number(0–100) - Default:
100 - Description: Percentage chance guard boats spawn when a player enters a buoy crate zone. Set to
0to disable guards entirely.
GuardsBoat
- Type:
hash - Default:
`dinghy5` - Description: Vehicle model used for guard patrol boats.
BoatsCount
- Type:
number - Default:
2 - Description: Number of guard boats spawned around each active buoy crate.
GuardsCount
- Type:
number - Default:
5 - Description: Number of guard NPCs placed aboard each guard boat. Maximum
5.
GuardModels
- Type:
hash[] - Default:
{ `a_m_m_og_boss_01`, `a_m_m_hillbilly_02` } - Description: Pool of ped models randomly assigned to each guard NPC.
Mission
- Type:
table - Description: Core mission parameters.
| Field | Type | Default | Description |
|---|---|---|---|
name | string | "sea_battle" | Internal mission identifier used by the queue and cooldown system |
timeout | number | 60 | Queue timeout in seconds |
cooldown | number | 60 | Per-group cooldown after a mission ends (seconds) |
label | string | "Sea Battle" | Mission name shown in the NPC menu |
desc | string | - | Mission description shown in the NPC menu |
gpsRemoving | number | 300 | Time in seconds the GPS tracker removal takes after crate delivery |
policeRequired | number | 0 | Minimum online police officers required to start the mission |
concurrentMissions | number | 1 | Maximum simultaneous active missions server-wide |
minimalGroupSize | number | 2 (debug: 1) | Minimum group members required to queue |
requiredItem.name | string | "seabattle_start" | Item consumed when joining the queue |
requiredItem.count | number | 1 | Amount of the required item consumed |
StartingNpc
- Type:
table - Description: Configuration for the queue NPC players interact with to join the mission.
| Field | Type | Description |
|---|---|---|
models | hash[] | Ped model(s) used for the NPC |
randomLocation | boolean | If true, one NPC spawns at a random location; if false, one spawns at every location |
scenario | string | Ambient scenario played by the NPC (e.g. WORLD_HUMAN_AA_SMOKE) |
locations | vector4[] | Possible spawn positions with heading |
ContactNumber
- Type:
string - Default:
"555-0100" - Description: Phone number displayed as the sender on SMS notifications during the mission.
MissionLoadout
- Type:
table[] - Description: Items given to players when collecting gear from the boat NPC. Each entry has:
name(string) - item namecount(number) - quantity givenmetaData(table, optional) - metadata applied to the item (e.g.scratchedSerial = truefor weapons)
Default loadout:
| Item | Count | Notes |
|---|---|---|
sb_boat_rope | 1 | Used to attach the crate to the boat |
weapon_pistol | 1 | Scratched serial number |
ammo_pistol | 10 |
ExcludeLoadout
- Type:
table<string, boolean> - Description: Items excluded from any loadout swap. These items are never removed or replaced during the mission. Default exclusions:
phone,tablet,sim_card,radio,radio_shitty,radio_upgraded.
MissionLoot
- Type:
table - Description: Loot given to the player when they return the boat and gear at the end of the mission.
lootTableRolls(number) - number of rolls (default6)lootTable- tiered pool (COMMON,RARE,EPIC,LEGENDARY)guaranteedRarities- guaranteed minimums per tier (default:RARE = 2)
CrateLoot
- Type:
table - Description: Loot given when opening the delivered buoy crate after the GPS tracker is removed.
lootTableRolls(number) - number of rolls (default10)lootTable- tiered pool (COMMON,RARE,EPIC,LEGENDARY)guaranteedRarities- guaranteed minimums per tier (default:RARE = 2)
CrateModels
- Type:
table - Description: Prop models used for the buoy crate object.
| Key | Default | Description |
|---|---|---|
closed | `pr_fcrate_weave` | Model shown while the crate is sealed and being towed |
open | `pr_fcrate_weave_open` | Model shown after GPS removal when the crate is ready to loot |
Crates
- Type:
table[] - Description: Array of possible buoy crate locations at sea. One is randomly assigned per mission. Each entry has:
cratePos(vector3) - position of the crate/buoy propbuoyPos(vector3) - position of the underwater buoy anchortype(string) - currently always"buoy"
17 buoy locations are defined by default, spread around the full GTA V coastline and open ocean.
DeliveryNPCs
- Type:
table[] - Description: Array of coastal delivery contact locations. The info NPC and boat NPC spawn here; the towed crate is also delivered here. Each entry has:
| Field | Description |
|---|---|
npc.pos | Position and heading of the contact/boat NPC |
npc.model | Ped model for the NPC |
npc.boatPos | Where the player's boat spawns when collecting gear |
cratePos | Position where the towed crate is delivered |
crateNpc.pos | Position and heading of the crate acceptance NPC |
crateNpc.model | Ped model for the crate acceptance NPC |
7 delivery NPC locations are defined by default across the map.