Configuration
General Configuration
Config = {}
----------------------------------
------------ General -------------
----------------------------------
Config.framework = {
name = "auto", -- esx | qb | auto (auto-detects)
targetScript = "ox_target", -- ox_target | qb-target
useOxNotify = true, -- use ox_lib notify instead of framework notify
debug = false, -- developer debug prints
}
Config.moneyOptions = {
moneyName = "money", -- account name, or item name if moneyIsItem
moneyIsItem = false,
}
Config.seaBattle = {
----------------------------------
---------- Event Start -----------
----------------------------------
start = {
auto = {
enabled = false,
interval = 30,
},
command = {
enabled = true,
name = "startseabattle",
staffList = {
["license:change_me"] = true,
}
},
npc = {
enabled = true,
model = "s_m_y_dockwork_01",
coords = vector4(-1611.922, 5262.081, 3.974, 206.627),
item = {
enabled = false,
itemName = "sea_intel", -- consumed to start when intelItem is enabled
removeItemOnUse = true,
},
},
requiredPlayers = 0,
maxConcurrent = 3, -- how many events can be active at once
cooldown = 10, -- minutes a drop slot stays locked after an event ends
missionTimer = 30, -- minutes before an undelivered event auto-destructs
},
notify = {
announce = true, -- big scaleform shard announcement
jobList = {}, -- empty = everyone is notified; else only these jobs
},
----------------------------------
---------- Plane & Drop ----------
----------------------------------
plane = {
lineLength = 600.0, -- plane fly-in line length over the drop point
planeSpeed = 150.0, -- km/h
planeModels = { "titan" },
pilotModels = { "s_m_m_pilot_01", "s_m_y_pilot_01" },
},
dropCoords = {
vector3(-1687.698, 5330.878, 0.324)
},
deliveryCoords = {
vector3(-1661.575, 5159.983, -0.249)
},
----------------------------------
------------- Blips --------------
----------------------------------
blipOptions = {
plane = {
enabled = true,
label = "Smuggler Plane",
sprite = 423,
color = 1,
scale = 1.2,
},
crate = {
enabled = true,
label = "Contraband Crate",
sprite = 478,
color = 5,
scale = 1.0,
},
npc = {
enabled = true,
label = "Maritime Contact",
sprite = 410,
color = 3,
scale = 0.9,
},
},
----------------------------------
--------- Crate & Towing ---------
----------------------------------
bob = {
enabled = true,
height = 0.35, -- vertical sway in meters
speed = 0.75, -- sway cycles per second
tilt = 1.25, -- pitch/roll sway in degrees
},
tow = {
attachDistance = 3.0, -- proximity radius (m) for the attach/cut text prompt
secureTime = 120, -- seconds you must hold next to the crate (under fire) before the rope can be grabbed
},
----------------------------------
------------- Guards -------------
----------------------------------
guards = {
enabled = true,
boatModel = "dinghy5",
pedModel = "s_m_y_blackops_01",
pedWeapon = "WEAPON_CARBINERIFLE",
boatCount = 3, -- guard boats spawned in a ring around the drop
accuracy = 10, -- ped weapon hit chance (0-100), lower = miss more
shootRate = 50, -- ped fire rate (0-1000); note: barely affects drive-by / mounted-gun firing
health = 200,
},
----------------------------------
------ Underwater & Sharks -------
----------------------------------
underwater = {
chance = 100, -- % chance an event also spawns the underwater layer
searchTime = 5, -- seconds the search progress bar takes
scuba = {
item = "rebreather", -- usable item that grants underwater air and is required to search the wrecks
duration = 120, -- seconds of air per use
},
wreckModels = { -- sunken junk to search
"prop_rub_carwreck_9",
"prop_rub_carwreck_8",
},
wreckAmount = {
min = 3,
max = 5,
},
searchPointsPerWreck = {
min = 1,
max = 3
},
shark = {
enabled = true,
amount = {
min = 3,
max = 5,
},
biteDamage = 20, -- damage per bite
biteCooldown = 1500, -- ms between bites from the same shark
}
},
----------------------------------
------- Equipment & Spear --------
----------------------------------
spear = {
item = "speargun", -- usable inventory item; on use the weapon is handed to the player
},
----------------------------------
---------- Maritime NPC ----------
----------------------------------
npcOptions = {
rentVehicles = {
{
model = "dinghy",
price = 100,
},
{
model = "seashark",
price = 50,
}
},
items = {
{
label = "Rebreather",
name = "rebreather",
price = 50,
},
{
label = "Speargun",
name = "speargun",
price = 100,
},
},
spawnCoords = { -- rent vehicles
vector4(-1602.375, 5260.171, 0.120, 24.24)
}
},
}
----------------------------------
------------- Loot ---------------
----------------------------------
Config.seaBattle.lootSystem = {
surface = {
itemAmount = function() return math.random(3, 6) end,
money = function() return math.random(5000, 15000) end,
categories = {
{
name = "weapon",
chance = 35,
items = {
{ itemName = "WEAPON_CARBINERIFLE", chance = 40, amount = function() return 1 end },
{ itemName = "WEAPON_SMG", chance = 35, amount = function() return 1 end },
{ itemName = "WEAPON_SNIPERRIFLE", chance = 18, amount = function() return 1 end },
{ itemName = "WEAPON_RPG", chance = 7, amount = function() return 1 end },
},
},
{
name = "valuable",
chance = 40,
items = {
{ itemName = "goldbar", chance = 50, amount = function() return math.random(1, 2) end },
{ itemName = "diamond", chance = 35, amount = function() return 1 end },
{ itemName = "artifact", chance = 15, amount = function() return 1 end },
},
},
{
name = "ammo",
chance = 25,
items = {
{ itemName = "rifle_ammo", chance = 50, amount = function() return math.random(60, 120) end },
{ itemName = "smg_ammo", chance = 30, amount = function() return math.random(60, 120) end },
{ itemName = "sniper_ammo", chance = 20, amount = function() return math.random(10, 20) end },
},
},
},
},
underwater = {
itemAmount = function() return math.random(1, 3) end,
money = function() return math.random(1000, 4000) end,
categories = {
{
name = "salvage",
chance = 60,
items = {
{ itemName = "scrap_metal", chance = 60, amount = function() return math.random(2, 5) end },
{ itemName = "copper", chance = 30, amount = function() return math.random(1, 3) end },
{ itemName = "electronics", chance = 10, amount = function() return 1 end },
},
},
{
name = "valuable",
chance = 40,
items = {
{ itemName = "goldbar", chance = 60, amount = function() return 1 end },
{ itemName = "diamond", chance = 40, amount = function() return 1 end },
},
},
},
},
}
----------------------------------
------------ Strings -------------
----------------------------------
Strings = {
["event_title"] = "Sea Battle",
["event_started"] = "A smuggler plane is dropping contraband at sea!",
["need_item"] = "You need: x%s %s",
["not_staff"] = "You are not allowed to do this.",
["no_slots"] = "Too many active operations right now.",
["not_enough_players"] = "Not enough players online for an operation.",
["spawn_occupied"] = "The boat spawn area is blocked.",
["add_item_log"] = "Player: %s\nIdentifier: %s\nItem: %s\nAmount: %s",
["add_money_log"] = "Player: %s\nIdentifier: %s\nMoney: $%s",
["start_log"] = "Started by: %s\nIdentifier: %s\nTrigger: %s\nEvent: %s",
["talk_to_contact"] = "Talk to Contact",
["rent_boat"] = "Rent Boat",
["rent_boat_desc"] = "Rent a boat to reach the open sea",
["buy_item"] = "Buy Item",
["buy_item_desc"] = "Dive gear and equipment",
["start_operation"] = "Start Operation",
["start_operation_desc"] = "Trigger a contraband sea drop",
["price"] = "Price: $%s",
["grab_rope"] = "[E] Grab Rope",
["cut_rope"] = "[E] Cut Rope",
["securing_rope"] = "Securing the rope...",
["tying_boat"] = "Tying to the boat...",
["cutting_rope"] = "Cutting the rope...",
["let_go_rope"] = "You let go of the rope.",
["attach_to_boat"] = "[E] Attach to boat [X] Cancel",
["go_to_boat"] = "[X] Cancel - go to your boat",
["delivery_point"] = "Delivery Point",
["deliver_prompt"] = "[E] Deliver Crate",
["delivering"] = "Delivering...",
["delivered"] = "Contraband delivered! You earned $%s.",
["sunken_wreck"] = "Sunken Wreck",
["search_wreck"] = "[E] Search Wreck",
["searching_wreck"] = "Searching the wreck...",
["need_rebreather"] = "You need a rebreather to dive here.",
["salvaged"] = "Salvaged contraband! You found $%s.",
["shark_blip"] = "Shark",
["scuba_on"] = "Rebreather on.",
["scuba_depleted"] = "Rebreather air depleted.",
}
Heist Configuration
Last updated