A complete Scuba diving script on ESX and QBCORE
active on a 600-player server, fully optmized
3-in-1 script :
- Boat / submarine rental
- Diving suit rental with choice of duration and price
- Underwater treasure hunt script
- multiple ped location
- blip configuration
- ped style configuration
- language configuration
- item and object configuration with percentage
- minimum search depth setting
- configuration of distance between 2 searches
- you can add as many combinations as you like
- you can add as many vehicles as you like
- added noise during digging
- trigger protection and webhook
- images included
Everything is configurable, you can see the config.file
Config File
Config = {}
--------------------- PED PART ----------------------
Config.Peds = {
{
model = "mp_m_freemode_01",
coords = vec4(-1576.7941894531, -1174.6826171875, 2.1403863430023, 323.24044799805),
coordsVehicle = vec4(-1606.93, -1209.54, -0.08935, 124.72),
visibleDistance = 50.0
},
{
model = "mp_m_freemode_01",
coords = vec4(-1335.5245361328, -1669.7814941406, 2.5150918960571, 331.83349609375),
coordsVehicle = vec4(-1380.4725341797, -1712.4938964844, -0.074600398540497, 133.70973205566),
visibleDistance = 50.0
},
{
model = "mp_m_freemode_01",
coords = vec4(3843.404296875, 4462.2963867188, 2.6624553203583, 57.760459899902),
coordsVehicle = vec4(3867.0229492188, 4449.40234375, -0.47492977976799, 276.44219970703),
visibleDistance = 50.0
},
{
model = "mp_m_freemode_01",
coords = vec4(-628.06060791016, 6349.1069335938, 3.2427380084991, 243.63426208496),
coordsVehicle = vec4(-655.62554931641, 6352.3325195313, 0.74792730808258, 102.58626556396),
visibleDistance = 50.0
},
{
model = "mp_m_freemode_01",
coords = vec4(1558.3165283203, 3831.4143066406, 32.260284423828, 201.23875427246),
coordsVehicle = vec4(1522.0534667969, 3867.3427734375, 29.440090179443, 52.478141784668),
visibleDistance = 50.0
},
{
model = "mp_m_freemode_01",
coords = vec4(-1593.5029296875, 5206.083984375, 4.3486065864563, 350.25704956055),
coordsVehicle = vec4(-1624.8233642578, 5234.3642578125, -0.050844673067331, 52.082401275635),
visibleDistance = 50.0
},
}
-------------------- BLIP PART ----------------------
Config.blip = true -- false to avoid seeing the blips
Config.blipSprite = 751 -- https://docs.fivem.net/docs/game-references/blips/
Config.blipDisplay = 4
Config.blipScale = 0.7
Config.blipColor = 3 -- blue
Config.blipName = "Tresor Diving"
------------------ PED VARIATION --------------------
function PedVariation(ped)
SetPedComponentVariation(ped, 0, 0, 0, 0) -- FACE
SetPedComponentVariation(ped, 1, 0, 0, 0) -- MASK
SetPedComponentVariation(ped, 2, 12, 1, 0) -- HAIR
SetPedComponentVariation(ped, 3, 96, 0, 0) -- ARMS
SetPedComponentVariation(ped, 4, 94, 7, 0) -- LEG
SetPedComponentVariation(ped, 6, 67, 7, 0) -- SHOES
SetPedComponentVariation(ped, 7, 0, 0, 0) -- ACCESSORY
SetPedComponentVariation(ped, 8, 123, 0, 0) -- UNDERSHIRT
SetPedComponentVariation(ped, 10, 0, 0, 0) -- BADGE
SetPedComponentVariation(ped, 11, 243, 7, 0) -- TORSO
SetPedPropIndex(ped, 1, 26, 7, 2) -- GLASSES
end
-------------------- DIVING PART --------------------
Config.log = false -- true = log, false = no log
Config.webhook = "" -- Discord webhook
Config.depthMinimum = 1.0
Config.distanceBetween = 1.0
Config.depthFloorDetection = 1.0
Config.cancelSuits = "cancelSuits" -- /cancelSuits to take off your clothes and stop diving
Config.dig = "Press ~r~E~w~ to search!"
Config.pickup = "Press ~r~E~w~ to pick up!"
Config.nothing = "There's nothing here!"
Config.notEnoughMoney = "You don't have enough money!"
Config.find = "You have found "
Config.PickupSound = true
Config.PickupSoundName = "Collect_Pickup"
Config.PickupSoundSet = "DLC_IE_PL_Player_Sounds"
Config.Items = {
{ object="item", amount=1, name="beer", random=50 },
{ object="money", amount=500, name="money", random=100 },
{ object="dirtymoney", amount=500, name="dirtymoney", random=100 },
}
Config.Props = {
{ name = "prop_box_ammo04a", depth = 1.9 },
{ name = "prop_byard_rowboat1", depth = 2.0 },
{ name = "v_corp_boxpapr1fd", depth = 2.0 },
{ name = "v_res_jewelbox", depth = 1.8 },
{ name = "prop_skid_box_02", depth = 2.2 },
{ name = "prop_byard_rowboat3", depth = 2.0 },
{ name = "prop_poly_bag_money", depth = 1.9 },
{ name = "reh_prop_reh_skeleton_01a", depth = 1.5 },
{ name = "v_corp_lngestoolfd", depth = 1.5 },
{ name = "prop_skid_trolley_2", depth = 1.5 },
{ name = "v_ind_cs_oilbot04", depth = 1.3 },
{ name = "v_ilev_mr_rasberryclean", depth = 1.5 },
{ name = "prop_ice_box_01", depth = 1.5 },
}
------------------ DIVING LANGUAGE ------------------
Config.divingLanguage = {
home = "HOME",
buy = "BUY",
diving = "DIVING",
tresor = "TRESOR",
rent = "RENT",
yoursuit = "YOUR SUIT",
descrent = "Set off on an adventure to<br>discover the oceans.",
button1 = "SUITS",
button1desc = "RENT",
button1desc2 = "Choose your diving suit,<br> which varies depending on how long<br> you wish to stay underwater",
button2 = "SUBMERSIBLE",
button2desc = "RENT",
button2desc2 = "Embark on a submersible to<br>explore the depths of the ocean."
}
-------------------- SUITS PART --------------------
Config.Suits = {
{
itemName = "oxygen_mask1",
notification = "You have 10 minute of oxygen.",
timer = 1*60,
img = 'images/suits_1.png',
price = '800',
suits = {
['male'] = {
outfitData ={
['t-shirt'] = {item = 15, texture = 0},
['torso2'] = {item = 243, texture = 7},
['decals'] = {item = 0, texture = 0},
['arms'] = {item = 96, texture = 0},
['pants'] = {item = 94, texture = 7},
['shoes'] = {item = 67, texture = 7},
['hat'] = {item = -1, texture = 0},
['bag'] = {item = 0, texture = 0},
['glass'] = {item = 26, texture = 7},
['accessory'] = {item = 0, texture = 0},
}
},
['female'] = {
outfitData ={
['t-shirt'] = {item = 14, texture = 0},
['torso2'] = {item = 251, texture = 7},
['decals'] = {item = 0, texture = 0},
['arms'] = {item = 7, texture = 0},
['pants'] = {item = 97, texture = 7},
['shoes'] = {item = 70, texture = 7},
['hat'] = {item = -1, texture = 0},
['bag'] = {item = 0, texture = 0},
['glass'] = {item = 28, texture = 7},
['accessory'] = {item = 0, texture = 0},
}
},
}
},
{
itemName = "oxygen_mask2",
notification = "You have 20 minute of oxygen.",
timer = 20*60,
img = 'images/suits_3.png',
price = '1000',
suits = {
['male'] = {
outfitData ={
['t-shirt'] = {item = 15, texture = 0},
['torso2'] = {item = 243, texture = 8},
['decals'] = {item = 0, texture = 0},
['arms'] = {item = 96, texture = 0},
['pants'] = {item = 94, texture = 8},
['shoes'] = {item = 67, texture = 8},
['hat'] = {item = -1, texture = 0},
['bag'] = {item = 0, texture = 0},
['glass'] = {item = 26, texture = 8},
['accessory'] = {item = 0, texture = 0},
}
},
['female'] = {
outfitData ={
['t-shirt'] = {item = 14, texture = 0},
['torso2'] = {item = 251, texture = 8},
['decals'] = {item = 0, texture = 0},
['arms'] = {item = 7, texture = 0},
['pants'] = {item = 97, texture = 8},
['shoes'] = {item = 70, texture = 8},
['hat'] = {item = -1, texture = 0},
['bag'] = {item = 0, texture = 0},
['glass'] = {item = 28, texture = 8},
['accessory'] = {item = 0, texture = 0},
}
},
}
},
{
itemName = "oxygen_mask3",
notification = "You have 30 minute of oxygen.",
timer = 30*60,
img = 'images/suits_3.png',
price = '1200',
suits = {
['male'] = {
outfitData ={
['t-shirt'] = {item = 15, texture = 0},
['torso2'] = {item = 243, texture = 5},
['decals'] = {item = 0, texture = 0},
['arms'] = {item = 96, texture = 0},
['pants'] = {item = 94, texture = 5},
['shoes'] = {item = 67, texture = 5},
['hat'] = {item = -1, texture = 0},
['bag'] = {item = 0, texture = 0},
['glass'] = {item = 26, texture = 5},
['accessory'] = {item = 0, texture = 0},
}
},
['female'] = {
outfitData ={
['t-shirt'] = {item = 14, texture = 0},
['torso2'] = {item = 251, texture = 5},
['decals'] = {item = 0, texture = 0},
['arms'] = {item = 7, texture = 0},
['pants'] = {item = 97, texture = 5},
['shoes'] = {item = 70, texture = 5},
['hat'] = {item = -1, texture = 0},
['bag'] = {item = 0, texture = 0},
['glass'] = {item = 28, texture = 5},
['accessory'] = {item = 0, texture = 0},
}
},
}
},
{
itemName = "oxygen_mask4",
notification = "You have 40 minute of oxygen.",
timer = 40*60,
img = 'images/suits_4.png',
price = '1500',
suits = {
['male'] = {
outfitData ={
['t-shirt'] = {item = 15, texture = 0},
['torso2'] = {item = 243, texture = 0},
['decals'] = {item = 0, texture = 0},
['arms'] = {item = 96, texture = 0},
['pants'] = {item = 94, texture = 0},
['shoes'] = {item = 67, texture = 0},
['hat'] = {item = -1, texture = 0},
['bag'] = {item = 0, texture = 0},
['glass'] = {item = 26, texture = 0},
['accessory'] = {item = 0, texture = 0},
}
},
['female'] = {
outfitData ={
['t-shirt'] = {item = 14, texture = 0},
['torso2'] = {item = 251, texture = 0},
['decals'] = {item = 0, texture = 0},
['arms'] = {item = 7, texture = 0},
['pants'] = {item = 97, texture = 0},
['shoes'] = {item = 70, texture = 0},
['hat'] = {item = -1, texture = 0},
['bag'] = {item = 0, texture = 0},
['glass'] = {item = 28, texture = 0},
['accessory'] = {item = 0, texture = 0},
}
},
}
},
{
itemName = "oxygen_mask5",
notification = "You have 50 minute of oxygen.",
timer = 50*60,
img = 'images/suits_5.png',
price = '2200',
suits = {
['male'] = {
outfitData ={
['t-shirt'] = {item = 15, texture = 0},
['torso2'] = {item = 243, texture = 9},
['decals'] = {item = 0, texture = 0},
['arms'] = {item = 96, texture = 0},
['pants'] = {item = 94, texture = 9},
['shoes'] = {item = 67, texture = 9},
['hat'] = {item = -1, texture = 0},
['bag'] = {item = 0, texture = 0},
['glass'] = {item = 26, texture = 9},
['accessory'] = {item = 0, texture = 0},
}
},
['female'] = {
outfitData ={
['t-shirt'] = {item = 14, texture = 0},
['torso2'] = {item = 251, texture = 9},
['decals'] = {item = 0, texture = 0},
['arms'] = {item = 7, texture = 0},
['pants'] = {item = 97, texture = 9},
['shoes'] = {item = 70, texture = 9},
['hat'] = {item = -1, texture = 0},
['bag'] = {item = 0, texture = 0},
['glass'] = {item = 28, texture = 9},
['accessory'] = {item = 0, texture = 0},
}
},
}
},
{
itemName = "oxygen_mask6",
notification = "You have 60 minute of oxygen.",
timer = 60*60,
img = 'images/suits_6.png',
price = '2500',
suits = {
['male'] = {
outfitData ={
['t-shirt'] = {item = 15, texture = 0},
['torso2'] = {item = 243, texture = 4},
['decals'] = {item = 0, texture = 0},
['arms'] = {item = 96, texture = 0},
['pants'] = {item = 94, texture = 4},
['shoes'] = {item = 67, texture = 4},
['hat'] = {item = -1, texture = 0},
['bag'] = {item = 0, texture = 0},
['glass'] = {item = 26, texture = 4},
['accessory'] = {item = 0, texture = 0},
}
},
['female'] = {
outfitData ={
['t-shirt'] = {item = 14, texture = 0},
['torso2'] = {item = 251, texture = 4},
['decals'] = {item = 0, texture = 0},
['arms'] = {item = 7, texture = 0},
['pants'] = {item = 97, texture = 4},
['shoes'] = {item = 70, texture = 4},
['hat'] = {item = -1, texture = 0},
['bag'] = {item = 0, texture = 0},
['glass'] = {item = 28, texture = 4},
['accessory'] = {item = 0, texture = 0},
}
},
}
},
}
-------------------- VEHICLES PART --------------------
Config.Submersible = {
{
vehicleName = 'avisa',
img = 'images/avisa.webp',
price = '5200'
},
{
vehicleName = 'submersible',
img = 'images/submersible.webp',
price = '5000'
},
{
vehicleName = 'submersible2',
img = 'images/kraken.webp',
price = '5500'
},
}
TEBEX STORE
TEBEX STORE OPEN SOURCE
Other FiveM & RedM Resources
FiveM
- RSD PauseMenu NUI with REPORT
- RSD PauseMenu NUI
- RSD SkyDiving NUI
- RSD WindSurf
- RSD LoadingScreen
- RSD WashMachine NUI
- RSD Interact
- RSD Advent Calendar NUI
MLO & MAPPING
- RSD[MLO] Vespucci - Chicago Street [Hood]
- RSD[MLO] Little-Seoul Mafia/Yakuza/Triad V2
- RSD[MLO] Banham Montain Complex
- RSD[MLO] Kortz Center Bunker
- RSD[MLO] Luckywheels Motorcycle
- RSD[MLO] Seoul Base
- RSD[MLO] Secret Base
- RSD[MLO] Paleto Bay Church
- RSD[MLO] Rancho Aztecas
And more …
Code is accessible | Yes/No |
Subscription-based | No |
Lines (approximately) | 2000 |
Requirements | ESX or QB |
Support | Yes |