1
0
Fork 0
forked from Simnation/Main
Main/resources/[jobs]/[crime]/nordi_containerheist/config.lua

156 lines
5.6 KiB
Lua
Raw Normal View History

2025-07-20 02:41:44 +02:00
Config = {}
-- General Settings
Config.Debug = false -- Set to true for debug prints
Config.CooldownTime = 30 -- Minutes between heists (per player)
Config.GlobalCooldown = 15 -- Minutes between heists (server-wide)
Config.PoliceRequired = 1 -- Minimum police required
Config.PoliceJobName = "police" -- Police job name
-- Required Items
Config.RequiredItems = {
flex = {
name = "angle_grinder", -- Item name in your inventory
label = "Angle Grinder", -- Display name
amount = 1, -- How many required
remove = false, -- Whether to remove the item after use
durability = false, -- Whether the item has durability
durabilityDecrease = 20, -- How much durability to decrease per use (%)
},
-- You can add more required items here
}
-- Notification Settings
Config.Notifications = {
title = "Container Heist",
policeTitle = "DISPATCH ALERT",
success = "You successfully broke into the container!",
failed = "You failed to break into the container!",
noTools = "You don't have the required tools!",
cooldown = "You need to wait before attempting another heist!",
globalCooldown = "This type of heist is currently on cooldown!",
notEnoughPolice = "Not enough police in the city!",
policeMessage = "Container robbery in progress at %s",
alreadyRobbed = "This container has already been robbed recently!",
}
-- Blip Settings
Config.Blip = {
sprite = 67,
color = 1,
scale = 0.8,
label = "Container Robbery",
duration = 180, -- seconds
flash = true,
}
-- Container Types
Config.ContainerTypes = {
-- Regular shipping containers
{
model = "prop_container_01a", -- Container model
type = "shipping",
label = "Shipping Container",
offset = vector3(0.0, -4.0, 0.0), -- Player position offset for interaction
heading = 180.0, -- Player heading for interaction
animation = {
dict = "amb@world_human_welding@male@base",
name = "base",
flag = 1,
duration = 30000, -- milliseconds
},
rewards = {
-- Each reward has a chance (total should be <= 100)
{item = "phone", label = "Phone", min = 1, max = 3, chance = 30},
{item = "rolex", label = "Rolex Watch", min = 1, max = 2, chance = 20},
{item = "goldchain", label = "Gold Chain", min = 1, max = 3, chance = 25},
{item = "diamond", label = "Diamond", min = 1, max = 1, chance = 5},
{item = "laptop", label = "Laptop", min = 1, max = 1, chance = 15},
-- Cash reward
{item = "cash", label = "Cash", min = 1000, max = 5000, chance = 40},
},
policeAlert = true,
},
{
model = "prop_container_01b",
type = "shipping",
label = "Shipping Container",
offset = vector3(0.0, -4.0, 0.0),
heading = 180.0,
animation = {
dict = "amb@world_human_welding@male@base",
name = "base",
flag = 1,
duration = 30000,
},
rewards = {
{item = "weapon_pistol", label = "Pistol", min = 1, max = 1, chance = 10},
{item = "pistol_ammo", label = "Pistol Ammo", min = 10, max = 30, chance = 25},
{item = "armor", label = "Body Armor", min = 1, max = 2, chance = 20},
{item = "weapon_knife", label = "Knife", min = 1, max = 1, chance = 30},
{item = "cash", label = "Cash", min = 2000, max = 7000, chance = 35},
},
policeAlert = true,
},
-- Trailer containers
{
model = "trailers",
type = "trailer",
label = "Cargo Trailer",
offset = vector3(0.0, -5.0, 0.0),
heading = 180.0,
animation = {
dict = "amb@world_human_welding@male@base",
name = "base",
flag = 1,
duration = 45000,
},
rewards = {
{item = "electronics", label = "Electronics", min = 3, max = 8, chance = 40},
{item = "plastic", label = "Plastic", min = 10, max = 20, chance = 60},
{item = "aluminum", label = "Aluminum", min = 10, max = 20, chance = 50},
{item = "copper", label = "Copper", min = 5, max = 15, chance = 30},
{item = "cash", label = "Cash", min = 3000, max = 10000, chance = 25},
},
policeAlert = true,
},
{
model = "trailers2",
type = "trailer",
label = "Box Trailer",
offset = vector3(0.0, -5.0, 0.0),
heading = 180.0,
animation = {
dict = "amb@world_human_welding@male@base",
name = "base",
flag = 1,
duration = 40000,
},
rewards = {
{item = "food", label = "Food", min = 5, max = 15, chance = 70},
{item = "water", label = "Water", min = 5, max = 15, chance = 70},
{item = "firstaid", label = "First Aid Kit", min = 1, max = 3, chance = 30},
{item = "cash", label = "Cash", min = 500, max = 3000, chance = 20},
},
policeAlert = false, -- No police alert for food trailers
},
-- Add more container types as needed
}
-- Locations where containers can be found (optional, for target setup)
Config.ContainerLocations = {
{
coords = vector3(1000.0, -3000.0, 5.0),
heading = 0.0,
model = "prop_container_01a",
spawnContainer = true, -- Whether to spawn a container at this location
},
{
coords = vector3(980.0, -3000.0, 5.0),
heading = 0.0,
model = "prop_container_01b",
spawnContainer = true,
},
-- Add more fixed locations as needed
}