⚙️Configuration
A clear overview of all the available configurations for the Coke Run Heist!
Here you will find everything that you need to configure in order for the heist to run perfectly. Read through the comments in file carefully to fully understand what you need to change and what not to!
Email Configuration
You will have to add email support with the phone you are using. You can easily do that by following our example and just modifying it to use your phone resource!
function NotifyOtherPlayers(fromGroup)
local Players = nil
if Coke.Main.Framework == "esx" then
Players = Framework.GetPlayers()
else
Players = Framework.Functions.GetPlayers()
end
for i = 1, #Players do
local Player = nil
local shouldNotif = false
if Coke.Main.Framework == "esx" then
Player = Framework.GetPlayerFromId(Players[i])
shouldNotif = Player.getJob().name ~= Coke.Main.PoliceJobName
else
Player = Framework.Functions.GetPlayer(Players[i])
shouldNotif = Player.PlayerData.job.name ~= Coke.Main.PoliceJobName
end
if shouldNotif then
local PlayerGroup = exports['bd-computer']:FindGroupByMember(Players[i])
PlayerGroup = (PlayerGroup and PlayerGroup or -1)
if PlayerGroup ~= fromGroup then
-- local insertId, received = exports['yseries']:SendMail({
-- title = language.notifications.server.mail_title,
-- sender = language.notifications.server.mail_sender,
-- senderDisplayName = language.notifications.server.mail_sender_display_name,
-- content = language.notifications.server.mail_message,
-- actions = { -- actions are optional
-- {
-- label = language.notifications.server.mail_accept,
-- data = {
-- event = "bd-cokerun:server:steal-coca-accept",
-- isServer = true,
-- data = { plyId = Players[i], jobData = Jobs[fromGroup], groupId = fromGroup },
-- shouldClose = true
-- }
-- }
-- },
-- attachments = {
-- { photo = "https://media.giphy.com/media/v1.Y2lkPTc5MGI3NjExNW4yaGI5dGJsOGFvYWJlejM0Mjk1ZDN3MWFwejZuY3M0Y3l2NHY4NSZlcD12MV9pbnRlcm5hbF9naWZfYnlfaWQmY3Q9Zw/ohONS2y8GTDoI/giphy.gif" },
-- }
-- }, "source", Players[i])
-- FOLLOW OUR EXAMPLE ABOVE TO MAKE IT EASIER FOR YOUR
end
end
end
end
Config File
Coke = {}
Coke.Main = {
Debug = false,
Language = "en",
Framework = 'qb', -- 'qb', 'esx' or 'standalone'
Target = "ox", -- 'ox' or 'qb'
ProgressBar = "qb", -- 'ox' or 'qb'
-- Used to identify if the player is a policeman and not notify them about the heist
PoliceJobName = "police",
GroupsSystem = "bd", -- 'bd' or 'custom' (server/editable/groups.lua)
}
Coke.JobData = {
EnablePed = true,
Ped = "a_f_o_soucent_02",
Coords = vector4(1280.53, 1908.97, 82.11, 130.77),
MaxJobsAtOnce = 1, -- Recommended to leave at 1 as it is a massive server event
-- 60 minutes after starting the heist if its not completed it will finish and another group can start it
JobTime = 60, -- In minutes
}
Coke.CopsRequired = 0
Coke.CopsSignal = true -- Whether to send or not
Coke.CopsSignalChance = 100 -- Percent
Coke.RevealTimeForPublic = 1 -- In minutes
Coke.PackageInfo = {
name = `v_ind_cf_chckbox2`,
placement = {
x = 0.01,
y = -0.02,
z = -0.12,
xrot = 0.0,
yrot = 0.0,
zrot = 0.0,
}
}
Coke.Rewards = {
[1] = {
Name = "cocaine_brick",
MinAmount = 10,
MaxAmount = 20,
Chance = 100,
},
}
Coke.Locations = {
CokeRewardMin = 1,
CokeRewardMax = 15,
Public = true,
ReputationGives = 40, -- Groupwise split
Locations = {
[1] = {
-- Instructions are only for the Intructor; Mixing Coca Leaves is only for the Mixer; Mixing the chemical elements is only for the Chemist; Supplier is the other guy in the group that does nothing :D (protects from intruders)
Roles = { -- Dont touch
["Instructor"] = 0,
["Mixer"] = 0,
["Chemist"] = 0,
["Supplier"] = 0,
},
PropsInfo = {
[1] = {
Prop = `xm3_prop_xm3_tent_01a`,
Coords = '{"x":1073.0382080078126,"y":2364.22607421875,"z":43.08622360229492,"w":0.0}',
},
[2] = {
Prop = `bkr_prop_coke_table01a`,
Coords = '{"x":1069.966552734375,"y":2365.97802734375,"z":42.95531845092773,"w":0.0}',
},
[3] = {
Prop = `bkr_prop_coke_table01a`,
Coords = '{"x":1069.9669189453126,"y":2362.524658203125,"z":42.9286003112793,"w":185.0}',
},
[4] = {
Prop = `prop_barrel_pile_01`,
Coords = '{"x":1074.9010009765626,"y":2366.0859375,"z":43.19315338134765,"w":0.0}',
},
},
CocaineSupplies = 15,
CocaineSuppliesAmount = 0,
CocaineSuppliesLocation = vector3(-94.6302, -2466.6565, 6.2179),
MixingCocaLeaves = 3, -- Cocaine Supplies will be split by this number and it will give that amount after successfull mixing (must be dividable)
MixingCocaLeavesAmount = 0, -- Dont touch
CocaLeavesAmount = 0, -- Dont touch
CocaLeavesNumber = 0, -- Dont touch
CocaLeavesNumberAlreadySeen = false, -- Dont touch
MixingCocaLeavesLocation = vector3(1074.9010009765626, 2366.0859375, 43.19315338134765),
MixturesReady = 0, -- Dont touch
IngredientsLocation = vector3(1069.9669189453126, 2362.524658203125, 42.9286003112793),
Ingredients = { -- Dont touch
["coca"] = 0,
["methanol"] = 0,
["sulfuric"] = 0,
["acetone"] = 0,
},
IngredientsAlreadySeen = false, -- Dont touch
MixingChemicalsLocation = vector3(1069.966552734375, 2365.97802734375, 42.95531845092773),
},
[2] = {
-- Instructions are only for the Intructor; Mixing Coca Leaves is only for the Mixer; Mixing the chemical elements is only for the Chemist; Supplier is the other guy in the group that does nothing :D (protects from intruders)
Roles = { -- Dont touch
["Instructor"] = 0,
["Mixer"] = 0,
["Chemist"] = 0,
["Supplier"] = 0,
},
PropsInfo = {
[1] = {
Prop = `xm3_prop_xm3_tent_01a`,
Coords = '{"x":-475.56195068359377,"y":1523.5155029296876,"z":390.1031494140625,"w":0.0}',
},
[2] = {
Prop = `bkr_prop_coke_table01a`,
Coords = '{"x":-478.5262451171875,"y":1525.190673828125,"z":390.1924743652344,"w":0.0}',
},
[3] = {
Prop = `bkr_prop_coke_table01a`,
Coords = '{"x":-478.18267822265627,"y":1522.019287109375,"z":389.899169921875,"w":0.0}',
},
[4] = {
Prop = `prop_barrel_pile_01`,
Coords = '{"x":-473.3979797363281,"y":1525.3385009765626,"z":390.303955078125,"w":0.0}',
},
},
CocaineSupplies = 2,
CocaineSuppliesAmount = 0,
CocaineSuppliesLocation = vector3(-94.6302, -2466.6565, 6.2179),
MixingCocaLeaves = 1, -- Cocaine Supplies will be split by this number and it will give that amount after successfull mixing (must be dividable)
MixingCocaLeavesAmount = 0, -- Dont touch
CocaLeavesAmount = 0, -- Dont touch
CocaLeavesNumber = 0, -- Dont touch
CocaLeavesNumberAlreadySeen = false, -- Dont touch
MixingCocaLeavesLocation = vector3(-473.3979797363281, 1525.3385009765626, 390.303955078125),
MixturesReady = 0, -- Dont touch
IngredientsLocation = vector3(-478.18267822265627, 1522.019287109375, 389.899169921875),
Ingredients = { -- Dont touch
["coca"] = 0,
["methanol"] = 0,
["sulfuric"] = 0,
["acetone"] = 0,
},
IngredientsAlreadySeen = false, -- Dont touch
MixingChemicalsLocation = vector3(-478.5262451171875, 1525.190673828125, 390.1924743652344),
},
}
}
Last updated