---
description: >-
  Here you can see the documentation to learn how to install the container theft
  system.
---

# Jota Dev Container Robbery



<figure><img src="https://3421265329-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FzDRYxKNrQL10LsRlXjcj%2Fuploads%2FckZi4WxTtl7QGdWmqH9i%2Fdocumentacion_container.jpg?alt=media&#x26;token=7341aa53-ce6d-4caa-8264-f06eed7aa9a6" alt=""><figcaption></figcaption></figure>

How to start the script for its correct operation:

**Download and install mhacking**

**Put in your server.cfg**

```markdown
# JotaDev Container Robbery
ensure mhacking
ensure jc_container_robbery
```

**Script Config:**

{% tabs %}
{% tab title="ESX" %}
```lua
Config = {}
Config.Framework = 'esx' -- Ingrese esx para ESX o qb para QB-Core

Config.NPC = {
    coords = vector3(376.4657, 798.7540, 187.582), -- Pones la coordenada que quieras
    heading = 91.0,
    model = "s_m_m_dockwork_01"
}


Config.Entries = {
    vector3(992.9461, -3020.96, 5.9007),
    vector3(1020.791, -3021.02, 5.9010),
    vector3(1021.189, -3082.76, 5.9010),
    vector3(1121.881, -2978.67, 5.9011),
    vector3(1148.755, -2970.80, 5.9011),
    vector3(850.8587, -2890.82, 11.265),
    vector3(817.0198, -3077.27, 5.9008),
    vector3(896.5025, -3082.66, 5.9007),
    vector3(924.3923, -3085.35, 5.9007),
    vector3(924.7832, -3098.69, 5.9007),
    vector3(1019.984, -3096.18, 5.9010)

}

Config.Marker = {
    drawDistance = 20.0
}

Config.OpenTime = 8000 -- Tiempo de robar container en ms

Config.ContainerPropLocation = vector3(1019.214, -3081.79, 448.78) -- Unica posicion real del prop container 

Config.ContainerRewards = {
    {
        model = "prop_large_gold",
        coords = vector3(1019.274, -3077.25, 447.97),
        heading = 180.64,
        reward = { type = "money", amount = 5000 },
        anim = { dict = "anim@heists@ornate_bank@grab_cash", name = "grab" }
    },
    {
        model = "prop_ld_int_safe_01", -- Caja fuerte
        coords = vector3(1018.347, -3081.42, 447.97),
        heading = 449.0,
        reward = { type = "item", name = "your_item", amount = 2 },
        anim = { dict = "anim@heists@ornate_bank@grab_cash", name = "grab" }
    },
    {
        model = "prop_gold_trolly_full",
        coords = vector3(1020.105, -3079.97, 447.97),
        heading = 86.0,
        reward = { type = "item", name = "your_item", amount = 2 },
        anim = { dict = "anim@heists@ornate_bank@grab_cash", name = "grab" }
    },
    {
        model = "hei_prop_hei_cash_trolly_01",
        coords = vector3(1018.341, -3083.87, 447.97),
        heading = 267.0,
        reward = { type = "money", amount = 5000 },
        anim = { dict = "anim@heists@ornate_bank@grab_cash", name = "grab" }
    },
    {
        model = "hei_prop_hei_cash_trolly_01",
        coords = vector3(1019.931, -3086.59, 447.97),
        heading = 90.36,
        reward = { type = "money", amount = 5000 },
        anim = { dict = "anim@heists@ornate_bank@grab_cash", name = "grab" }
    },
    {
        model = "prop_weed_pallet",
        coords = vector3(1019.702, -3088.88, 447.97),
        heading = 90.36,
        reward = { type = "item", name = "your_item", amount = 2 },
        anim = { dict = "anim@heists@narcotics@trash", name = "pickup" }
    },
    {
        model = "hei_prop_heist_weed_pallet_02",
        coords = vector3(1019.733, -3091.01, 447.97),
        heading = 90.36,
        reward = { type = "item", name = "your_item", amount = 2 },
        anim = { dict = "anim@heists@ornate_bank@grab_cash", name = "grab" }
    },
    {
        model = "ch_prop_vault_painting_01e",
        coords = vector3(1020.456, -3092.89, 448.57),
        heading = 270.36,
        reward = { type = "item", name = "your_item", amount = 2 },
        anim = { dict = "anim@heists@ornate_bank@thermal_charge", name = "thermal_charge" }
    },
    {
        model = "ch_prop_vault_painting_01i",
        coords = vector3(1020.446, -3095.87, 448.57),
        heading = 270.36,
        reward = { type = "item", name = "your_item", amount = 2 },
        anim = { dict = "anim@heists@ornate_bank@thermal_charge", name = "thermal_charge" }
    },
    {
        model = "ch_prop_vault_painting_01h",
        coords = vector3(1020.446, -3083.39, 448.57),
        heading = 270.36,
        reward = { type = "item", name = "your_item", amount = 2 },
        anim = { dict = "anim@heists@ornate_bank@thermal_charge", name = "thermal_charge" }
    },
    {
        model = "ch_prop_vault_painting_01g",
        coords = vector3(1017.995, -3094.88, 448.57),
        heading = 90.8,
        reward = { type = "item", name = "your_item", amount = 2 },
        anim = { dict = "anim@heists@ornate_bank@thermal_charge", name = "thermal_charge" }
    },    
    {
        model = "p_cs_locker_01_s",
        coords = vector3(1018.311, -3096.66, 447.97),
        heading = 448.54,
        reward = { type = "item", name = "your_item", amount = 2 },
        anim = { dict = "anim@heists@ornate_bank@grab_cash", name = "grab" }
    }
}

Config.HackingBlocks = 4 -- Cantidad de bloques que tienes que hacer coincidir
Config.HackingSeconds = 40	-- Segundos para hackear

Config.PoliceAlert = true -- Activar o desactivar aviso a policia
Config.PoliceJobs = {"police", "sheriff"} -- Trabajos que recibirán el aviso
Config.AlertMessage = "Robo de container en curso, zona del puerto."
Config.RequiredPolice = 0 -- o el número que desees
Config.CommandEntorno = 'entorno'

Config.MoneyAccount = "black_money" -- Puede ser: money, bank, black_money

if Config.Framework == 'qb' then
    QBCore = exports['qb-core']:GetCoreObject()
elseif Config.Framework == 'esx' then
    ESX = exports["es_extended"]:getSharedObject()
else
    print '^1[^6jc_container_robbery^1] ^2Framework No encontrada, ingrese esx o qb^0'
    return
end


```
{% endtab %}

{% tab title="QB-Core" %}
```lua
Config = {}
Config.Framework = 'qb' -- Ingrese esx para ESX o qb para QB-Core

Config.NPC = {
    coords = vector3(376.4657, 798.7540, 187.582), -- Pones la coordenada que quieras
    heading = 91.0,
    model = "s_m_m_dockwork_01"
}


Config.Entries = {
    vector3(992.9461, -3020.96, 5.9007),
    vector3(1020.791, -3021.02, 5.9010),
    vector3(1021.189, -3082.76, 5.9010),
    vector3(1121.881, -2978.67, 5.9011),
    vector3(1148.755, -2970.80, 5.9011),
    vector3(850.8587, -2890.82, 11.265),
    vector3(817.0198, -3077.27, 5.9008),
    vector3(896.5025, -3082.66, 5.9007),
    vector3(924.3923, -3085.35, 5.9007),
    vector3(924.7832, -3098.69, 5.9007),
    vector3(1019.984, -3096.18, 5.9010)

}

Config.Marker = {
    drawDistance = 20.0
}

Config.OpenTime = 8000 -- Tiempo de robar container en ms

Config.ContainerPropLocation = vector3(1019.214, -3081.79, 448.78) -- Unica posicion real del prop container 

Config.ContainerRewards = {
    {
        model = "prop_large_gold",
        coords = vector3(1019.274, -3077.25, 447.97),
        heading = 180.64,
        reward = { type = "money", amount = 5000 },
        anim = { dict = "anim@heists@ornate_bank@grab_cash", name = "grab" }
    },
    {
        model = "prop_ld_int_safe_01", -- Caja fuerte
        coords = vector3(1018.347, -3081.42, 447.97),
        heading = 449.0,
        reward = { type = "item", name = "your_item", amount = 2 },
        anim = { dict = "anim@heists@ornate_bank@grab_cash", name = "grab" }
    },
    {
        model = "prop_gold_trolly_full",
        coords = vector3(1020.105, -3079.97, 447.97),
        heading = 86.0,
        reward = { type = "item", name = "your_item", amount = 2 },
        anim = { dict = "anim@heists@ornate_bank@grab_cash", name = "grab" }
    },
    {
        model = "hei_prop_hei_cash_trolly_01",
        coords = vector3(1018.341, -3083.87, 447.97),
        heading = 267.0,
        reward = { type = "money", amount = 5000 },
        anim = { dict = "anim@heists@ornate_bank@grab_cash", name = "grab" }
    },
    {
        model = "hei_prop_hei_cash_trolly_01",
        coords = vector3(1019.931, -3086.59, 447.97),
        heading = 90.36,
        reward = { type = "money", amount = 5000 },
        anim = { dict = "anim@heists@ornate_bank@grab_cash", name = "grab" }
    },
    {
        model = "prop_weed_pallet",
        coords = vector3(1019.702, -3088.88, 447.97),
        heading = 90.36,
        reward = { type = "item", name = "your_item", amount = 2 },
        anim = { dict = "anim@heists@narcotics@trash", name = "pickup" }
    },
    {
        model = "hei_prop_heist_weed_pallet_02",
        coords = vector3(1019.733, -3091.01, 447.97),
        heading = 90.36,
        reward = { type = "item", name = "your_item", amount = 2 },
        anim = { dict = "anim@heists@ornate_bank@grab_cash", name = "grab" }
    },
    {
        model = "ch_prop_vault_painting_01e",
        coords = vector3(1020.456, -3092.89, 448.57),
        heading = 270.36,
        reward = { type = "item", name = "your_item", amount = 2 },
        anim = { dict = "anim@heists@ornate_bank@thermal_charge", name = "thermal_charge" }
    },
    {
        model = "ch_prop_vault_painting_01i",
        coords = vector3(1020.446, -3095.87, 448.57),
        heading = 270.36,
        reward = { type = "item", name = "your_item", amount = 2 },
        anim = { dict = "anim@heists@ornate_bank@thermal_charge", name = "thermal_charge" }
    },
    {
        model = "ch_prop_vault_painting_01h",
        coords = vector3(1020.446, -3083.39, 448.57),
        heading = 270.36,
        reward = { type = "item", name = "your_item", amount = 2 },
        anim = { dict = "anim@heists@ornate_bank@thermal_charge", name = "thermal_charge" }
    },
    {
        model = "ch_prop_vault_painting_01g",
        coords = vector3(1017.995, -3094.88, 448.57),
        heading = 90.8,
        reward = { type = "item", name = "your_item", amount = 2 },
        anim = { dict = "anim@heists@ornate_bank@thermal_charge", name = "thermal_charge" }
    },    
    {
        model = "p_cs_locker_01_s",
        coords = vector3(1018.311, -3096.66, 447.97),
        heading = 448.54,
        reward = { type = "item", name = "your_item", amount = 2 },
        anim = { dict = "anim@heists@ornate_bank@grab_cash", name = "grab" }
    }
}

Config.HackingBlocks = 4 -- Cantidad de bloques que tienes que hacer coincidir
Config.HackingSeconds = 40	-- Segundos para hackear

Config.PoliceAlert = true -- Activar o desactivar aviso a policia
Config.PoliceJobs = {"police", "sheriff"} -- Trabajos que recibirán el aviso
Config.AlertMessage = "Robo de container en curso, zona del puerto."
Config.RequiredPolice = 0 -- o el número que desees
Config.CommandEntorno = 'entorno'

Config.MoneyAccount = "black_money" -- Puede ser: money, bank, black_money

if Config.Framework == 'qb' then
    QBCore = exports['qb-core']:GetCoreObject()
elseif Config.Framework == 'esx' then
    ESX = exports["es_extended"]:getSharedObject()
else
    print '^1[^6jc_container_robbery^1] ^2Framework No encontrada, ingrese esx o qb^0'
    return
end

```
{% endtab %}
{% endtabs %}

If you want to add more props you can add them as follows:

{% tabs %}
{% tab title="Config: Item" %}
```lua
    {
        model = "model_prop",
        coords = vector3(0, 0, 0), -- Location prop
        heading = 90.8, -- Heading Prop
        reward = { type = "item", name = "your_item", amount = 2 },
        anim = { dict = "your_anim", name = "thermal_charge" }
    },  
```
{% endtab %}

{% tab title="Config: Money" %}
```lua
    {
        model = "model_prop", -- Your Prop
        coords = vector3(0, 0, 0), -- Location prop
        heading = 90.8, -- Heading Prop
        reward = { type = "money", amount = 5000 },
        anim = { dict = "your_anim", name = "thermal_charge" }
    },
```
{% endtab %}
{% endtabs %}
