# Config

```lua
TZMCContainersConfig = {}

--[[

    SETUP & INSTALLATION 

    NOTIFICATIONS

    The notifications file unlocked, feel free to edit these to your servers requirements.
    
]]

TZMCContainersConfig.OwnerCanOnlyDelete = true -- If this is set to true, only the owner of the container can delete it.

TZMCContainersConfig.Shop = {
    model = 's_m_m_ups_01',
    coords = vector4(838.06, -2949.02, 5.89, 313.49),
    moneyType = 'cash',
    currency = '$',
    items = {
        containers = {
            small = {
                name = 'Small Container',
                image = 'https://kappa.lol/BvTVZ.png',
                cost = 10000,
                disabled = false,
                details = {
                    model = 'prop_container_ld_pu',
                    weight = 5000,
                    slots = 25
                },
                offsets = {
                    flatbed = {
                        boneIndex = 'chassis',
                        isTrailer = false,
                        xPos = 0.0,
                        yPos = -2.35,
                        zPos = 0.40,
                        xRot = 0.0,
                        yRot = 0.0,
                        zRot = 0.0
                    },
                    trflat = {
                        boneIndex = 'chassis',
                        isTrailer = true,
                        xPos = 0.0,
                        yPos = 0.0,
                        zPos = 0.40,
                        xRot = 0.0,
                        yRot = 0.0,
                        zRot = 0.0
                    }
                }
            },
            medium = {
                name = 'Medium Container',
                image = 'https://kappa.lol/7z8Dx.png',
                cost = 25000,
                disabled = false,
                details = {
                    model = 'prop_container_03b',
                    weight = 25000,
                    slots = 50
                },
                offsets = {
                    flatbed = {
                        boneIndex = 'chassis',
                        isTrailer = false,
                        xPos = 0.0,
                        yPos = -2.70,
                        zPos = 0.40,
                        xRot = 0.0,
                        yRot = 0.0,
                        zRot = 0.0
                    },
                    trflat = {
                        boneIndex = 'chassis',
                        isTrailer = true,
                        xPos = 0.0,
                        yPos = 0.0,
                        zPos = 0.40,
                        xRot = 0.0,
                        yRot = 0.0,
                        zRot = 0.0
                    }
                }
            },
            large = {
                name = 'Large Container',
                image = 'https://kappa.lol/l3e4w.png',
                cost = 50000,
                disabled = false,
                details = {
                    model = 'prop_container_01h',
                    weight = 50000,
                    slots = 100
                },
                offsets = {
                    trflat = {
                        boneIndex = 'chassis',
                        isTrailer = true,
                        xPos = 0.0,
                        yPos = -0.12,
                        zPos = 0.40,
                        xRot = 0.0,
                        yRot = 0.0,
                        zRot = 0.0
                    }
                }
            }
        },
        vehicle = {
            flatbed = {
                name = 'Flatbed Truck',
                image = 'https://kappa.lol/VBq1u.png',
                cost = 5000,
                disabled = false
            },
            hauler = {
                name = 'Hauler',
                image = 'https://kappa.lol/8KNu9.png',
                cost = 5000,
                disabled = false
            },
            trflat = {
                name = 'Flat Trailer',
                image = 'https://kappa.lol/PGeLv.png',
                cost = 2500,
                disabled = false
            },
        }
    }
}
--[[

    LOGGING

    Database (DB)

    enabled: Log this to db,
    typeId: What type of log is this, for example 'created' or 'moved'.
    description: Description of the log

    Discord

    Webhook URL: The Discord webhook url you would like to send the message to. These are separted incase you want to send messages in different channels. You can find more information here: https://support.discord.com/hc/en-us/articles/228383668-Intro-to-Webhooks
    enabled: Enable this notification
    username: The Discord webhook username
    avatarUrl: The image URL of the Discord avatar
    showImage: Show an embed image
    embedColor: The colour of the embed message
    title: The embed title
    description: The embed description

    Event Types

    created: When a player creates a container
    moved: When a player moves a container
    attatched: When a player attatches a container to an entity like a trailer or flatbed 
    detatched: When a player detatches a container from an entity
    opened: When a player opens a container
    deleted: When a player deletes a container

    Paramaters

    Player Name: ${playerName}
    Character First Name: ${characterFirstName}
    Character Last Name: ${characterLastName}
    Character Citizen ID: ${characterCitizenID}
    Coordinates: ${coord}

]]


TZMCContainersConfig.Logs = {
    created = {
        db = {
            enabled = true,
            typeId = 'created',
            description = '${characterFirstName} ${characterLastName} created a container'
        },
        discord = {
            enabled = true,
            webhookUrl = 'https://discord.com/api/webhooks/XXXXXXXXXXXXXXXXX/XXXXXXXXXXXXXXXXXXXXXX',
            username = 'Containers',
            avatarUrl = 'https://cdn.betterttv.net/emote/6254e9653c6f14b68845061d/3x.webp',
            showImage = '',
            embedColor = 0xff8a00,
            title = '${characterFirstName} ${characterLastName} created a container',
            description = ''
        }
    },
    moved = {
        db = {
            enabled = true,
            typeId = 'moved',
            description = '${characterFirstName} ${characterLastName} moved a container to ${coord}'
        },
        discord = {
            enabled = true,
            webhookUrl = 'https://discord.com/api/webhooks/XXXXXXXXXXXXXXXXX/XXXXXXXXXXXXXXXXXXXXXX',
            username = 'Containers',
            avatarUrl = 'https://cdn.betterttv.net/emote/6254e9653c6f14b68845061d/3x.webp',
            showImage = '',
            embedColor = 0xff8a00,
            title = '${characterFirstName} ${characterLastName} moved a container to ${coord}',
            description = ''
        }
    },
    attatched = {
        db = {
            enabled = true,
            typeId = 'attatched',
            description = '${characterFirstName} ${characterLastName} attatched a container'
        },
        discord = {
            enabled = true,
            webhookUrl = 'https://discord.com/api/webhooks/XXXXXXXXXXXXXXXXX/XXXXXXXXXXXXXXXXXXXXXX',
            username = 'Containers',
            avatarUrl = 'https://cdn.betterttv.net/emote/6254e9653c6f14b68845061d/3x.webp',
            showImage = '',
            embedColor = 0xff8a00,
            title = '${characterFirstName} ${characterLastName} attatched a container',
            description = ''
        }
    },
    detatched = {
        db = {
            enabled = true,
            typeId = 'detatched',
            description = '${characterFirstName} ${characterLastName} detatched a container at ${coord}'
        },
        discord = {
            enabled = true,
            webhookUrl = 'https://discord.com/api/webhooks/XXXXXXXXXXXXXXXXX/XXXXXXXXXXXXXXXXXXXXXX',
            username = 'Containers',
            avatarUrl = 'https://cdn.betterttv.net/emote/6254e9653c6f14b68845061d/3x.webp',
            showImage = '',
            embedColor = 0xff8a00,
            title = '${characterFirstName} ${characterLastName} detatched a container at ${coord}',
            description = ''
        }
    },
    opened = {
        db = {
            enabled = true,
            typeId = 'opened',
            description = '${characterFirstName} ${characterLastName} opened a container'
        },
        discord = {
            enabled = true,
            webhookUrl = 'https://discord.com/api/webhooks/XXXXXXXXXXXXXXXXX/XXXXXXXXXXXXXXXXXXXXXX',
            username = 'Containers',
            avatarUrl = 'https://cdn.betterttv.net/emote/6254e9653c6f14b68845061d/3x.webp',
            showImage = '',
            embedColor = 0xff8a00,
            title = '${characterFirstName} ${characterLastName} opened a container',
            description = ''
        }
    },
    deleted = {
        db = {
            enabled = true,
            typeId = 'deleted',
            description = '${characterFirstName} ${characterLastName} deleted a container'
        },
        discord = {
            enabled = true,
            webhookUrl = 'https://discord.com/api/webhooks/XXXXXXXXXXXXXXXXX/XXXXXXXXXXXXXXXXXXXXXX',
            username = 'Containers',
            avatarUrl = 'https://cdn.betterttv.net/emote/6254e9653c6f14b68845061d/3x.webp',
            showImage = '',
            embedColor = 0xff8a00,
            title = '${characterFirstName} ${characterLastName} deleted a container',
            description = ''
        }
    }
}

TZMCContainersConfig.Spawns = {
    containers = {
        vector4(839.25, -2907.39, 5.99, 358.89),
        vector4(849.55, -2906.52, 5.99, 1.3),
        vector4(859.63, -2906.27, 5.99, 0.2)
    },
    vehicles = {
        vector4(855.7, -2943.4, 5.99, 269.27),
        vector4(857.47, -2926.92, 5.99, 269.46),
        vector4(856.78, -2917.55, 5.99, 271.16)
    }
}

TZMCContainersConfig.Target = {
    shop = {
        icon = 'fa-solid fa-cart-flatbed',
        text = 'Shop'
    },
    moveContainer = {
        icon = 'fas fa-arrows-alt',
        text = 'Move Container'
    },
    openContainer = {
        icon = 'fas fa-box',
        text = 'Open Container'
    },
    deleteContainer = {
        icon = 'fas fa-trash',
        text = 'Delete Container'
    },
    attatchContainer = {
        icon = 'fas fa-truck-ramp-box',
        text = 'Attach'
    },
    detachContainer = {
        icon = 'fas fa-truck-ramp-box',
        text = 'Detach'
    }
}

TZMCContainersConfig.Text = {
    incorrectPassword = 'The password you enterted was incorrect',
    notEnoughCash = "You don't have enough money to buy this",
    containerDeleted = 'Container deleted successfully!',
    notOwner = "You're not the owner of this container",
    shop = {
        containers = {
            title = 'Containers',
            subtitle = 'Purchase Container Storage'
        },
        vehicle = {
            title = 'Vehicle',
            subtitle = 'Rent a Vehicle'
        },
        goBack = '< Go Back'
    },
    password = {
        title = 'Container Password',
        submitText = 'Submit',
        placeholderText = 'NotPassword123'
    }
}
```


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.tzmc.dev/docs/qb-core/container-stashes/config.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
