Parameters
All parameters explained at one place.
Name of heist
Define the name of the heist.
CFG.Heists["Pacific Bank"] = {
-- params
}
RequiredCops
Number of cops required to interact with the heist.
RequiredCops = 4
AllowPolice
This parameter is optional.
Allows defined jobs to interact with stuff inside the heist.
AllowPolice = true
Cooldown
Cooldown period in minutes, starts counting when START function is called.
Cooldown = 60
CooldownGroup
This parameter is optional.
Allows you to connect certain cooldowns. For example, if one heist with same group has started cooldown, it's not gonna allow you to interact with other heists with same group until heist resets.
CooldownGroup = 'fleeca'
MiddlePoints
These points representing the zone of heist, it's used for loading and unloading data. Render distance for these points are 270.0 units.
MiddlePoints = {
vector3(-1211.15, -335.42, 37.7),
}
Alert
This parameter is optional.
Depends on your dispatch script. (check description below)
Briefing
This parameter is optional.
Allows you to create briefing spots or add briefing into menu.
If you don't use these parameters: coords, distance, label, zone. It will add it to the briefing menu, otherwise it makes it as briefing spot.
Blips
This parameter is optional.
Helpful for marking stuff on the map.
Doorlocks
This parameter is optional.
Only for qb and ox doorlock.
-- Numbers or strings representing door locks
Doorlocks = { 1, 'doorlock_name' }
DoorSystem
This parameter is optional.
Built-in door system for objects.
Triggers
This parameter is optional.
Allows you to create reactive zones or spots. They can be one-time or infinite times.
You can make it as polyzone or position.
Checkpoints & Actions
This parameter is optional.
NPC
This parameter is optional.
NPC = {
FriendlyGuards = boolean,
GLOBAL_SETTINGS = table,
NPCs = table
}
Functions
This parameter is optional.
Main?:
function
Start?:
function
End?:
function
Full Config Example
CFG.Heists["Pacific"] = {
RequiredCops = 0, -- number of cops required to start
Cooldown = 120, -- min -- global bank cooldown
Alert = {
title = 'Bank Robbery in Progress', -- core, rcore, qs, cd, ps
msg = 'A %s robbing at %s', -- origen, qs, cd, ps
code = '10-XX', -- core, rcore, ps
flash = 0, -- cd, qs
blip = {
sprite = 431, -- core, rcore, qs, cd, ps
scale = 1.2, -- core, rcore, qs, cd, ps
colour = 49, -- rcore, qs, cd, ps
flashes = true, -- rcore, cd, ps
text = '911 - Robbery in Progress', -- rcore, qs, ps
time = (5*60*1000), -- qs, cd
sound = 1 -- cd
}
},
-- it will lock these doors when heist resets
Doorlocks = {1, 2, 3, 6},
-- built-in door system
DoorSystem = {
[1] = {
coords = vector3(254.15, 225.12, 101.88),
heading = {open = 10.0, closed = 159.96},
speed = 0.5,
door = `v_ilev_bk_vaultdoor`,
open = false
},
},
Briefing = {
text = {
title = '**Pacific Standard Bank**',
description = [[
The Pacific Standard Public Deposit Bank is a public deposit bank,
located in Downtown Vinewood, Los Santos.
The bank has two entrances, one at the intersection of Vinewood Boulevard and Alta Street,
and a second to the east exiting onto Vinewood Boulevard.
Just inside both entrances are banks of usable Automated Teller Machines.
]],
task = 'Break in, drill safe, steal everything you can and escape.',
items = '1x thermite, 2x torch, 3x drill, 1x electronickit',
image = '' -- name and url
},
},
Checkpoints = {
[1] = {
coords = vector4(257.04, 219.85, 106.29, 342.86), -- x y z heading
zone = {minZ = 105.0, maxZ = 107.3, length = 1.0, width = 0.9},
label = 'Break Door',
require = {
item = { name = 'thermite', remove = true },
bag = false
},
scene = {type = 'thermite2', offset = vec3(0.32, 0.40, 0.0)},
breakdoor = 6,
onStart = {
Functions = {
[1] = { type = 'function', name = 'SET_NPC_STATE', params = { state = 5 } },
}
},
onSuccess = {
Functions = {
[1] = { type = 'function', name = 'START' },
[2] = { type = 'function', name = 'CALL_ALERT' },
[3] = {
type = 'function', name = 'UPDATE_MODEL',
params = {
coords = vec3(256.31, 220.66, 106.43), radius = 0.5,
model = `hei_v_ilev_bk_gate_pris`, newModel = `hei_v_ilev_bk_gate_molten`
}
},
[4] = {
type = 'function', name = 'ALARM',
params = {
coords = vector3(256.79, 219.87, 106.29),
duration = 300 -- seconds
}
},
}
}
},
[2] = {
coords = vector4(261.92, 223.11, 106.28, 251.0), -- x y z heading
zone = {minZ = 105.0, maxZ = 107.3, length = 1.2, width = 1.2},
distance = 1.5,
label = 'Break Door',
require = {
item = { name = 'electronickit', remove = true },
bag = false
},
scene = { type = 'laptop', offset = vec3(0.0, 0.35, -0.05) },
minigame = {type = 'datacrack'},
breakdoor = 1,
onSuccess = {
Functions = {
[1] = {
type = 'function', name = 'LASER',
params = {
matrix = {
vec3(-0.934, 0.356, -0.0), vec3(0.356, 0.934, 0.0),
vec3(0.0, 0.0, 1.0), vec3(261.221, 224.835, 101.6),
},
settings = {
uniqueId = 696969, length = 5, distance = 10.0,
onTouch = {
LockActions = {1}, -- action ids
Functions = {
[1] = { type = 'function', name = 'CALL_ALERT' },
[2] = {
type = 'function',
name = 'START_GAS',
params = {
unique_id = 2,
timer = 0, -- minutes
locations = {
vector3(263.54, 212.2, 101.68),
vector3(256.05, 215.38, 101.68),
vector3(248.75, 218.16, 101.68),
vector3(257.2, 225.95, 101.88)
}
}
},
}
}
}
}
},
}
}
},
[3] = {
coords = vector4(254.17, 224.92, 101.88, 156.35), -- x y z heading
zone = {minZ = 100.5, maxZ = 103.0, length = 1.2, width = 1.7, heading = 160.0},
label = 'Use Drill',
require = {
item = { name = 'drill', remove = true },
bag = false,
-- time = {min_hour = 7, max_hour = 20 },
},
scene = { type = 'drill', offset = vec3(0.0, 0.35, 0.0) },
minigame = {type = 'big_drill'},
onSuccess = {
Functions = {
[1] = {
type = 'function',
name = 'DOOR',
params = {
id = 1,
open = true
}
},
}
}
},
},
Actions = {
[1] = {
coords = vector4(264.89, 219.89, 101.68, 304.17), -- x y z heading
zone = {minZ = 100.5, maxZ = 102.5, length = 1.7, width = 1.3, heading = 304.0},
label = 'Hack Security',
spawn = 'START',
minigame = { type = 'password' },
scene = { type = 'type', offset = vec3(0.0, 0.8, 0.15) },
onSuccess = {
Functions = {
[1] = {
type = 'function',
name = 'REMOVE_LASER',
params = {
id = 696969
}
},
}
}
},
[2] = {
coords = vector4(252.32, 221.26, 101.68, 163), -- x y z heading
zone = {minZ = 100.5, maxZ = 103.0, length = 0.7, width = 1.8, heading = 160.0},
label = 'Use Torch',
spawn = 'START',
scene = { type = 'torch', offset = vec3(1.02, 2.1, -0.05) },
breakdoor = 2
},
[3] = {
coords = vector4(261.25, 215.34, 101.68, 257), -- x y z heading
zone = {minZ = 100.5, maxZ = 103.0, length = 0.7, width = 1.5, heading = 249.72},
label = 'Use Torch',
spawn = 'START',
scene = { type = 'torch', offset = vec3(1.3, 2.05, -0.05) },
breakdoor = 3
},
-- LOOT
[4] = {
coords = vector4(266.09, 213.54, 101.68, 260.76), -- x y z heading
zone = {minZ = 100.5, maxZ = 103.0, length = 0.7, width = 1.5, heading = 249.72},
label = 'Use Drill',
spawn = 'SPART',
require = {
item = { name = 'drill', remove = true },
bag = false
},
rewards = {
{ item = 'gold_ring', chance = 100, amount = { from = 10, to = 15 } },
{ item = 'diamond_ring', chance = 100, amount = { from = 10, to = 15 } },
{ item = 'goldchain', chance = 100, amount = { from = 10, to = 15 } },
{ item = 'diamond_necklace', chance = 100, amount = { from = 10, to = 15 } },
},
scene = { type = 'drill', offset = vec3(0.03, 0.29, 0.0) },
minigame = {type = 'mini_drill'},
},
[5] = {
coords = vector4(257.62, 215.02, 100.68, 358.55), -- x y z heading
zone = {minZ = 100.5, maxZ = 102.0, length = 0.7, width = 1.1},
label = 'Grab Gold',
spawn = 'START',
require = {
bag = false
},
rewards = {
{ item = 'goldbar', chance = 100, amount = { from = 1, to = 1 }, trolley = true },
},
scene = { type = 'gold_trolley2', offset = vec3(0.0, 0.0, 0.0) },
object = { name = `ch_prop_gold_trolly_01a`, delete = false }
},
[6] = {
coords = vector4(259.92, 217.27, 100.68, 151.47), -- x y z heading
zone = {minZ = 100.5, maxZ = 102.0, length = 0.7, width = 1.1},
label = 'Grab Money',
spawn = 'START',
require = {
bag = false
},
rewards = {
{ item = 'markedbills', chance = 100, amount = { from = 1000, to = 1000 }, trolley = true },
},
scene = { type = 'money_trolley2', offset = vec3(0.0, 0.0, 0.0) },
object = { name = `hei_prop_hei_cash_trolly_01`, delete = false }
},
},
NPC = {
FriendlyGuards = true, -- only with pre-defined jobs in main config file
GLOBAL_SETTINGS = { -- if npcs doesn't have certain settings, it will set global settings to him
spawn = 'MAIN',
health = 200,
armor = 0,
state = 4, -- -- 0 = Companion 1 = Respect 2 = Like 3 = Neutral 4 = Dislike 5 = Hate or false
skin = `s_m_m_security_01`,
weapon = `WEAPON_COMBATPISTOL`,
animation = {scenario = 'WORLD_HUMAN_GUARD_STAND'},
walkstyle = false, -- 'MOVE_M@DRUNK@VERYDRUNK',
freeze = false,
block_events = false, -- they will not react to any events like shooting etc
bloody_clothes = false,
fire_resistance = false,
walk_around = false, -- patrol, guard, walk around
highly_perceptive = false,
alertness = {from = 3, to = 3}, -- from 1 to 3
movement = {from = 1, to = 1}, -- 1 defensive, 2 agressive, 3 suicidal (flank)
combat_ability = {from = 0, to = 2}, -- 0 poor, 1 average, 2 profesional
combat_range = {from = 0, to = 2}, -- 0 near, 1 medium, 2 far
accuracy = 35, -- from 0 to 100
always_fight = true, -- true / false
hearing_range = 40.0, -- units
seeing_range = 150.0, -- units
peripheral_range = 150.0, -- units
disable_speaking = false,
disable_ragdoll = false,
disable_headshot = false,
disable_weap_switch = false,
find_target = false,
},
NPCs = {
-- guards --
[1] = { coords = vector4(241.3, 216.69, 106.29, 300.76) },
[2] = { coords = vector4(238.93, 221.26, 106.29, 259.3) },
[3] = { coords = vector4(259.68, 218.1, 106.29, 102.06) },
[4] = { coords = vector4(238.07, 218.14, 110.28, 299.28) },
[5] = { coords = vector4(252.58, 217.55, 101.68, 350.88), spawn = 'START', state = 5, find_target = true },
[6] = { coords = vector4(263.43, 221.47, 101.68, 302.71), spawn = 'START', state = 5, find_target = true },
-- civs --
},
},
Functions = {
End = function(heist) -- end of heist, for all
TriggerEvent(EVENT_PREFIX..'CL:RESTORE_MODEL',
vec3(256.31, 220.66, 106.43), 0.5,
`hei_v_ilev_bk_gate_pris`, `hei_v_ilev_bk_gate_molten`
)
end,
},
}
Last updated