# Config

```lua
TZMCCryptoHeist = {}

--[[

    SETUP & INSTALLATION 

    Police/Reward/Item Check

    The police, reward & item check file are unlocked, feel free to edit these to your servers requirements.
    
]]

TZMCCryptoHeist.Game = {
    heistTime = 600,                    -- How many seconds is the heist active for
    miningRate = math.random(10, 50),   -- This is the earning of each server actively mining per second, in this example we've said a random number between 10 & 50 per second.
    cooldownTime = 1800,                -- How many seconds till the heist is available to start again.
    hackMiniGame = {
        time = 15,                      -- The minimum is 7 and max is 30
        dots = 6                        -- The minimum dots is 6 and max is 10 -- If you would like to make it more random, you can do a math.random(6, 10) which will select a random number between 6 and 10 and the amount of dots will be shown for that
    }
}

TZMCCryptoHeist.Target = {
    usingQBTarget = true,               -- If this is set to false, this will default to ox_target
    ExitIAAOffice = {
        icon = "fa-solid fa-user-secret",
        text = "Exit"
    },
    EnterDataCentre = {
        icon = "fa-solid fa-user-secret",
        text = "Enter"
    },
    ExitDataCentre = {
        icon = "fa-solid fa-user-secret",
        text = "Exit"
    },
    StartHack = {
        icon = "fa-solid fa-laptop-code",
        text = "Start Hack"
    },
    StartHeist = {
        icon = "fa-solid fa-laptop-code",
        text = "Start"
    },
    ServerStatus = {
        icon = "fa-solid fa-server",
        text = "Server Status"
    },
    CollectReward = {
        icon = "fa-brands fa-btc",
        text = "Collect"
    }
}

TZMCCryptoHeist.Police = {
    enterDataCentre = {
        probability = 70,
        title = "Suspicious Activity",
        description = "Someone has enterted the IAA server room"
    },
    heistStarted = {
        probability = 100,
        title = "Breach Detected",
        description = "Someone has breached the IAA data centre"
    }
}

TZMCCryptoHeist.Text = {
    serverStatus = "Server Status",
    group = "Group",
    viewServersInGroup = "View Servers In Group",
    active = "Active",
    notActive = "Not Active",
    earnings = "Earnings",
    back = "Back",
    menuSubtitleBack = "Go back to main menu",
    breachFailed = "Firewall Breach Failed",
    firewallActive = "Firewall active... Decryption required...",
    breachSuccess = "Firewall Breached",
    heistAlreadyActive = "Heist is already active!",
    heistOnCooldown = "Heist is on cooldown. Please wait.",
    invalidHackAttempt = "Invalid hack attempt!",
    rewardAlreadyCollected = "Reward has already been collected!",
    rewardCollected = "Reward collected! Total earnings: $%d"
}

--[[

    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

    Paramaters

    Player Name: ${playerName}
    Total Amount: ${totalAmount}

]]

TZMCCryptoHeist.DiscordNotification = {
    entertedDataCentre = {
        enabled = true,
        webhookUrl = "https://discord.com/api/webhooks/XXXXXXXXXXXXXXXXX/XXXXXXXXXXXXXXXXXXXXXX",
        username = "Crypto Heist",
        avatarUrl = "https://cdn.betterttv.net/emote/5f5d57496084af6c171a22bf/3x.webp",
        showImage = '',
        embedColor = 0xff8a00,
        title = "${playerName} Enterted The Data Centre",
        description = ""
    },
    exitIAAOffice = {
        enabled = true,
        webhookUrl = "https://discord.com/api/webhooks/XXXXXXXXXXXXXXXXX/XXXXXXXXXXXXXXXXXXXXXX",
        username = "Crypto Heist",
        avatarUrl = "https://cdn.betterttv.net/emote/5f5d57496084af6c171a22bf/3x.webp",
        showImage = '',
        embedColor = 0xff8a00,
        title = "${playerName} Exited The IAA Office",
        description = ""
    },
    exitDataCentre = {
        enabled = true,
        webhookUrl = "https://discord.com/api/webhooks/XXXXXXXXXXXXXXXXX/XXXXXXXXXXXXXXXXXXXXXX",
        username = "Crypto Heist",
        avatarUrl = "https://cdn.betterttv.net/emote/5f5d57496084af6c171a22bf/3x.webp",
        showImage = '',
        embedColor = 0xff8a00,
        title = "${playerName} Exited The Data Centre",
        description = ""
    },
    startedHeist = {
        enabled = true,
        webhookUrl = "https://discord.com/api/webhooks/XXXXXXXXXXXXXXXXX/XXXXXXXXXXXXXXXXXXXXXX",
        username = "Crypto Heist",
        avatarUrl = "https://cdn.betterttv.net/emote/5f5d57496084af6c171a22bf/3x.webp",
        showImage = '',
        embedColor = 0xff8a00,
        title = "Crypto Heist Started",
        description = ""
    },
    successHack = {
        enabled = true,
        webhookUrl = "https://discord.com/api/webhooks/XXXXXXXXXXXXXXXXX/XXXXXXXXXXXXXXXXXXXXXX",
        username = "Crypto Heist",
        avatarUrl = "https://cdn.betterttv.net/emote/5f5d57496084af6c171a22bf/3x.webp",
        showImage = '',
        embedColor = 0xff8a00,
        title = "${playerName} Completed a Hack",
        description = ""
    },
    failedHack = {
        enabled = true,
        webhookUrl = "https://discord.com/api/webhooks/XXXXXXXXXXXXXXXXX/XXXXXXXXXXXXXXXXXXXXXX",
        username = "Crypto Heist",
        avatarUrl = "https://cdn.betterttv.net/emote/5f5d57496084af6c171a22bf/3x.webp",
        showImage = '',
        embedColor = 0xff8a00,
        title = "${playerName} Failed a Hack",
        description = ""
    },
    heistEnded = {
        enabled = true,
        webhookUrl = "https://discord.com/api/webhooks/XXXXXXXXXXXXXXXXX/XXXXXXXXXXXXXXXXXXXXXX",
        username = "Crypto Heist",
        avatarUrl = "https://cdn.betterttv.net/emote/5f5d57496084af6c171a22bf/3x.webp",
        showImage = '',
        embedColor = 0xff8a00,
        title = "Crypto Heist Ended",
        description = "A total of $${totalAmount} has been taken."
    },
}
```


---

# 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/standalone/crypto-heist/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.
