# Configuration

## General Configuration

```lua
Config = {}

Config.framework = {
    name = "auto", -- Only esx or qb or auto. If auto, it will detect the framework automatically.
    targetScript = "ox_target", -- Target script name (default or qtarget or qb-target or ox_target)
    useOxNotify = true, -- Use ox_lib instead of ESX.ShowNotification or QBCore.Functions.Notify
    progressBar = "mday_lib", -- Progress bar script name (mday_lib or ox_lib)
    notify = "mday_lib", -- Notification script name (mday_lib or ox_lib)
    debug = true, -- Debug mode (only developers)
    minigameScriptName = "rm_minigames", -- script name for custom minigames
}

Config.moneyOptions = {
    blackMoney = false, -- Use black money instead of money
    blackMoneyName = "markedbills", -- if you are using esx this should be "black_money" or if you are using qb this should be "markedbills"
    blackMoneyIsItem = true,
    useMetadataForBlackMoney = true,
    moneyName = "money",
    moneyIsItem = false
}

Config.police = {
    dispatch = "default", -- cd_dispatch | qs-dispatch | ps-dispatch | rcore_dispatch | default
    requiredPoliceCount = 0, -- required police count for start heist
    dispatchJobs = {"police"}
}

Config.general = {
    -- Heist Start Settings  --
    start = {
        npc = true, -- Start heist by talking to NPC
        shooting = true, -- Start heist by shooting
    },

    -- Heist Reset Settings --
    reset = {
        cooldown = 10, -- Time (in minutes) before heist can be started again
        command = "vangelicoreset", -- Command to reset the heist (for police jobs)
    },

    -- Heist Finish Settings --
    finish = {
        scene = true, -- Play finishing
        coords = vector3(0.0, 0.0, 0.0),
        sellableItems = {
            {itemName = "ring", price = 3500},
            {itemName = "necklace", price = 4500},
            {itemName = "diamond", price = 5000},
            {itemName = "big_diamond", price = 9000},
            {itemName = "diamond_necklace", price = 8000},
            {itemName = "painting_01b", price = 12000},
            {itemName = "painting_01d", price = 12000},
            {itemName = "painting_01e", price = 12000},
            {itemName = "painting_01h", price = 14000},
            {itemName = "panther", price = 15000},
            {itemName = "panther_statue", price = 18000},
        }
    },

    -- for start npc
    npcOptions = {
        model = "s_m_m_bouncer_01",
        coords = vector4(-151.280, -15.692, 57.213, 253.679)
    },

    -- Blip for the heist location (when the heist is started)
    blip = {
        sprite = 617,
        color = 4,
        scale = 1.0,
        name = "Vangelico Jewelry Store",
    },

    alarm = {
        enabled = true, -- Enable or disable the alarm system
        allowedMaps = {
            ["none"] = true,
            ["cfx-fm-jewelry"] = true,
            ["cfx-mxc-jewelry"] = true
        }
    }
}
```

### Heist Configuration

```
Config.heist = {
    --------------------------
    ----- QUIET APPROACH -----
    --------------------------
    terminalHacking = {
        coords = vector3(-623.15, -216.22, 53.54),
        requiredItem = "hacker_phone",
        removeItemOnUse = false,

        -- minigame options
        minigame = "none",
        duration = 60,      -- duration of hack minigame in seconds
        solutionLength = 5, -- length of the solution string
        policeAlertDuration = 30, -- seconds (after the hacking incident should the police be alerted)
    },
    plantingGasBomb = {
        ventModel = "prop_aircon_m_04", -- model of the vent where the bomb should be planted
        coords = vector3(-631.13, -228.23, 55.65),
        offset = vector3(-0.83, -0.5, 0.8), -- offset from the coords where the bomb should be planted (relative to the vent)
        requiredItem = "gas_bomb",
        removeItemOnUse = true,

        mask = {
            enable = true,
            requiredItem = "gas_mask",
            removeItemOnUse = true,

            clotheId = 175,
            duration = 300, -- duration of the gas mask effect in seconds
            damage = 5, -- damage dealt to the player every interval while the gas mask is active
            damageInterval = 5, -- interval in seconds at which the damage is applied to the player while the gas mask is active
            zone = vector4(-622.364, -231.020, 38.047, 11.0)
        },

        -- minigame options
        minigame = "none",
    },
    --------------------------
    ----- LOUD APPROACH ------
    --------------------------
    vangelicoEntrance = {
        coords = vector3(-631.760, -237.737, 38.073),
        lockpick = {
            requiredItem = "lockpick",
            removeItemOnUse = true,

            strength = 0.1, -- from 0.1 (easy) to 7 (hard)
            difficulty = 0.1, -- from 0.1 (easy) to 7 (hard)
            pins = 2, -- number of pins (max 9)

            -- minigame options
            minigame = "none",
        },
        thermite = {
            offset = vector3(1.3, -0.03, 0.0),
            requiredItem = "thermite_bomb",
            removeItemOnUse = true,

            -- minigame options
            minigame = "default",
        },
    },
    -------------------------
    ---- GENERAL OPTIONS ----
    -------------------------
    keypad = {
        coords = vector3(-629.135, -230.949, 38.057),
        searchCoords = {
            vector3(-625.925, -226.127, 38.057),
            vector3(-623.040, -235.807, 38.057),
            vector3(-618.774, -236.339, 38.057),
            vector3(-617.183, -231.740, 38.057),
            vector3(-621.453, -225.867, 38.057),
            vector3(-622.500, -229.772, 38.057),
            vector3(-630.369, -232.243, 38.057)
        },
    },
    doors = {
        { -- front doors
            door_1_model = 1425919976,
            door_2_model = 9467943,
            door_1_coords = vector4(-631.95538330078, -236.33326721191, 38.206531524658, 306.60577392578),
            door_2_coords = vector4(-630.42651367188, -238.43754577637, 38.206531524658, 305.39260864258),
            status = "locked", -- "locked", "unlocked"
        },
        { -- security room door
            door_1_model = 1335309163,
            door_1_coords = vector4(-629.13385009766, -230.15170288086, 38.20658493042, 36.000022888184),
            status = "locked", -- "locked", "unlocked"
        }
    },
    ---------------------------
    ----- LOOTABLE OPTIONS ----
    ---------------------------
    containers = {
        --  Weapons allowed to smash jewelry cabinets (whitelisted weapons)
        smashWeapons = {
            'WEAPON_ASSAULTRIFLE',
            'WEAPON_CARBINERIFLE',
            'WEAPON_ADVANCEDRIFLE',
            'WEAPON_BULLPUPRIFLE',
        },

        -- required items for certain loot actions:
        requiredItems = {
            paintings = {
                requiredItem = "painting_knife",
                removeItemOnUse = false,
            },
            displayCases = {
                requiredItem = "glass_cutter",
                removeItemOnUse = false,
            },
            statues = {
                requiredItem = "bag",
                removeItemOnUse = false,
            }
        },

        -- Cabinets:
        cabinets = {
            {
                coords = vector4(-626.83, -235.35, 38.05, 36.17),
                rayFire = 'DES_Jewel_Cab3',
                rewards = {
                    { itemName = "ring", amount = { min = 1, max = 2 } },
                    { itemName = "necklace", amount = { min = 1, max = 3 } },
                }
            },
            {
                coords = vector4(-625.81, -234.7, 38.05, 36.17),
                rayFire = 'DES_Jewel_Cab4',
                rewards = {
                    { itemName = "ring", amount = { min = 1, max = 2 } },
                    { itemName = "necklace", amount = { min = 1, max = 3 } },
                }
            },
            {
                coords = vector4(-626.95, -233.14, 38.05, 216.17),
                rayFire = 'DES_Jewel_Cab',
                rewards = {
                    { itemName = "ring", amount = { min = 1, max = 2 } },
                    { itemName = "necklace", amount = { min = 1, max = 3 } },
                }
            },
            {
                coords = vector4(-628.0, -233.86, 38.05, 216.17),
                rayFire = 'DES_Jewel_Cab',
                rewards = {
                    { itemName = "ring", amount = { min = 1, max = 2 } },
                    { itemName = "necklace", amount = { min = 1, max = 3 } },
                }
            },
            {
                coords = vector4(-625.7, -237.8, 38.05, 216.17),
                rayFire = 'DES_Jewel_Cab3',
                rewards = {
                    { itemName = "ring", amount = { min = 1, max = 2 } },
                    { itemName = "necklace", amount = { min = 1, max = 3 } },
                }
            },
            {
                coords = vector4(-626.7, -238.58, 38.05, 216.17),
                rayFire = 'DES_Jewel_Cab2',
                rewards = {
                    { itemName = "ring", amount = { min = 1, max = 2 } },
                    { itemName = "necklace", amount = { min = 1, max = 3 } },
                }
            },
            {
                coords = vector4(-624.55, -231.06, 38.05, 305.0),
                rayFire = 'DES_Jewel_Cab4',
                rewards = {
                    { itemName = "ring", amount = { min = 1, max = 2 } },
                    { itemName = "necklace", amount = { min = 1, max = 3 } },
                }
            },
            {
                coords = vector4(-623.13, -232.94, 38.05, 305.0),
                rayFire = 'DES_Jewel_Cab',
                rewards = {
                    { itemName = "ring", amount = { min = 1, max = 2 } },
                    { itemName = "necklace", amount = { min = 1, max = 3 } },
                }
            },
            {
                coords = vector4(-620.29, -234.44, 38.05, 216.17),
                rayFire = 'DES_Jewel_Cab',
                rewards = {
                    { itemName = "ring", amount = { min = 1, max = 2 } },
                    { itemName = "necklace", amount = { min = 1, max = 3 } },
                }
            },
            {
                coords = vector4(-619.15, -233.66, 38.05, 216.17),
                rayFire = 'DES_Jewel_Cab3',
                rewards = {
                    { itemName = "ring", amount = { min = 1, max = 2 } },
                    { itemName = "necklace", amount = { min = 1, max = 3 } },
                }
            },
            {
                coords = vector4(-620.19, -233.44, 38.05, 36.17),
                rayFire = 'DES_Jewel_Cab4',
                rewards = {
                    { itemName = "ring", amount = { min = 1, max = 2 } },
                    { itemName = "necklace", amount = { min = 1, max = 3 } },
                }
            },
            {
                coords = vector4(-617.63, -230.58, 38.05, 305.0),
                rayFire = 'DES_Jewel_Cab2',
                rewards = {
                    { itemName = "ring", amount = { min = 1, max = 2 } },
                    { itemName = "necklace", amount = { min = 1, max = 3 } },
                }
            },
            {
                coords = vector4(-618.33, -229.55, 38.05, 305.0),
                rayFire = 'DES_Jewel_Cab3',
                rewards = {
                    { itemName = "ring", amount = { min = 1, max = 2 } },
                    { itemName = "necklace", amount = { min = 1, max = 3 } },
                }
            },
            {
                coords = vector4(-619.7, -230.33, 38.05, 125.0),
                rayFire = 'DES_Jewel_Cab',
                rewards = {
                    { itemName = "ring", amount = { min = 1, max = 2 } },
                    { itemName = "necklace", amount = { min = 1, max = 3 } },
                }
            },
            {
                coords = vector4(-620.95, -228.6, 38.05, 125.0),
                rayFire = 'DES_Jewel_Cab3',
                rewards = {
                    { itemName = "ring", amount = { min = 1, max = 2 } },
                    { itemName = "necklace", amount = { min = 1, max = 3 } },
                }
            },
            {
                coords = vector4(-619.79, -227.6, 38.05, 305.0),
                rayFire = 'DES_Jewel_Cab2',
                rewards = {
                    { itemName = "ring", amount = { min = 1, max = 2 } },
                    { itemName = "necklace", amount = { min = 1, max = 3 } },
                }
            },
            {
                coords = vector4(-620.42, -226.6, 38.05, 305.0),
                rayFire = 'DES_Jewel_Cab',
                rewards = {
                    { itemName = "ring", amount = { min = 1, max = 2 } },
                    { itemName = "necklace", amount = { min = 1, max = 3 } },
                }
            },
            {
                coords = vector4(-623.94, -227.18, 38.05, 36.17),
                rayFire = 'DES_Jewel_Cab4',
                rewards = {
                    { itemName = "ring", amount = { min = 1, max = 2 } },
                    { itemName = "necklace", amount = { min = 1, max = 3 } },
                }
            },
            {
                coords = vector4(-624.91, -227.87, 38.05, 36.17),
                rayFire = 'DES_Jewel_Cab3',
                rewards = {
                    { itemName = "ring", amount = { min = 1, max = 2 } },
                    { itemName = "necklace", amount = { min = 1, max = 3 } },
                }
            },
            {
                coords = vector4(-623.94, -228.05, 38.05, 216.17),
                rayFire = 'DES_Jewel_Cab2',
                rewards = {
                    { itemName = "ring", amount = { min = 1, max = 2 } },
                    { itemName = "necklace", amount = { min = 1, max = 3 } },
                }
            }
        },

        -- Paintings:
        paintings = {
            {
                model = 'h4_prop_h4_painting_01h',
                coords = vector4(-627.21325683594, -228.30999755859, 38.106048583984, 92.391586303711),
                rewards = {
                    { itemName = "painting_01h", amount = { min = 1, max = 1 } },
                }
            },
            {
                model = 'h4_prop_h4_painting_01d',
                coords = vector4(-622.79998779297, -225.13999938965, 38.106048583984, 339.9309387207),
                rewards = {
                    { itemName = "painting_01d", amount = { min = 1, max = 1 } },
                }
            },
            {
                model = 'h4_prop_h4_painting_01e',
                coords = vector4(-617.0, -233.2200012207, 38.106048583984, 271.89691162109),
                rewards = {
                    { itemName = "painting_01e", amount = { min = 1, max = 1 } },
                }
            },
            {
                model = 'h4_prop_h4_painting_01b',
                coords = vector4(-621.36102294922, -236.33099365234, 38.106048583984, 161.18635559082),
                rewards = {
                    { itemName = "painting_01b", amount = { min = 1, max = 1 } },
                }
            }
        },

        -- Display Cases:
        displayCases = {
            {
                baseModel = "h4_prop_h4_glass_disp_01a",
                displayModel = "h4_prop_h4_diamond_disp_01a",
                rewardModel = "h4_prop_h4_diamond_01a",
                coords = vector4(-617.4622, -227.4347, 37.057, 127.06),
                rewardOffset = vector3(0.0, 0.0, 1.225),
                rewards = {
                    { itemName = "big_diamond", amount = 1 },
                }
            },
            {
                baseModel = "h4_prop_h4_glass_disp_01a",
                displayModel = "h4_prop_h4_diamond_disp_01a",
                rewardModel = "h4_prop_h4_art_pant_01a",
                coords = vector4(-631.7185, -234.6784, 36.9402, -53.705),
                rewardOffset = vector3(0.0, 0.0, 1.25),
                rewards = {
                    { itemName = "panther", amount = 1 },
                }
            },
            {
                baseModel = "h4_prop_h4_glass_disp_01a",
                displayModel = "h4_prop_h4_neck_disp_01a",
                rewardModel = "h4_prop_h4_necklace_01a",
                coords = vector4(-628.8231, -238.7317, 36.8647, -53.705),
                rewardOffset = vector3(0.0, 0.0, 1.2),
                rewards = {
                    { itemName = "diamond_necklace", amount = 1 },
                }  
            }
        },

        -- Statues:
        statues = {
            {
                tableModel = "v_ret_tablesml",
                statueModel = "vw_prop_casino_art_panther_01b",
                coords = vector4(-622.04541015625, -230.70222473145, 37.058856964111, 303.0),
                rewards = {
                    { itemName = "panther_statue", amount = { min = 1, max = 1 } },
                }
            }
        },

        -- Safes:
        safes = {
            {
                model = "h4_prop_h4_safe_01a",
                coords = vector4(-630.88995361328, -228.27618408203, 36.959362030029, 35.38557434082),
                difficulty = 1, -- 1-4 (1 being the easiest, 4 being the hardest)
                rewards = {
                    { itemName = "money", amount = { min = 500, max = 1500 } },
                }
            }
        }
    },
}


Config.missionData = {
    takePhoto = {
        vector3(-632.86, -238.62, 38.07),
        vector3(-623.01, -216.17, 53.54),
        vector3(-622.48, -233.67, 59.16),
        vector3(-623.24, -231.54, 38.06),
        vector3(-626.04, -238.05, 38.06),
        vector3(-629.15, -230.69, 38.06)
    },
    takeEquipment = {
        pedModel = "g_m_y_mexgang_01",
        coords = {
            vector4(591.996, 2782.770, 42.481, 8.644)
        },
        items = {
            {
                name = "hacker_phone",
                amount = 1
            },
            {
                name = "gas_bomb",
                amount = 1
            },
            {
                name = "gas_mask",
                amount = 4
            },
            {
                name = "glass_cutter",
                amount = 1
            },
            {
                name = "painting_knife",
                amount = 1
            },
            {
                name = "bag",
                amount = 1
            },
        }
    },
    takeClothes = {
        pedModel = "s_m_m_autoshop_02",
        coords = {
            vector4(632.676, -3015.434, 6.336, 359.265)
        },
        items = {
            {
                name = "outfit_bag",
                amount = 1
            }
        }
    },
}
```
