> For the complete documentation index, see [llms.txt](https://izzyshop-1.gitbook.io/izzyshop-docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://izzyshop-1.gitbook.io/izzyshop-docs/free-resources/airdrop-system/f.a.q.md).

# F.A.Q

<details>

<summary>What is izzy-airdrop?</summary>

izzy-airdrop is a FiveM supply drop script by tqdev. It spawns crates or vehicles that fall from a plane with a parachute. Players travel to the landing zone, wait for the crate to land and unlock, then open a loot UI and take items. Drops can be created by admins, triggered with a flare gun, or scheduled automatically at set server times.

</details>

<details>

<summary>Which frameworks are supported?</summary>

QBCore, QBX, and ESX are supported. The script auto-detects the framework from running resources via `shared/cores.lua` (`qb-core`, `qbx_core`, or `es_extended`). You normally do not need to change anything unless your core resource uses a custom name.

</details>

<details>

<summary>What dependencies are required?</summary>

You need a supported framework (QB / QBX / ESX), a MySQL resource (`oxmysql`, `ghmattimysql`, or `mysql-async`), and the resource folder named correctly (e.g. `izzy-airdrop`). Optional: `qb-target` or `ox_target` for target interaction, `monitor` for txAdmin announce loot messages, and `screenshot-basic` only if you use `/cammode` for vehicle photos.

</details>

<details>

<summary>How do admins create a drop?</summary>

Use `/createdrop` by default (`Config.AdminUI.CreateDropCommand` in `shared/config.lua`). This opens the admin NUI where you set drop name, type (Normal / Vehicle / Job), items, coordinates, and drop time. Only players listed in `server/config.lua` → `Admins`, QB admin/god permission, ESX admin groups, or ACE `command` can use it.

</details>

<details>

<summary>What are the different drop types?</summary>

Normal — visible to everyone; uses the `gen_crate` prop; loot is items from the admin UI. Job — only players with the matching job see the blip, crate, and notifications; uses `gen_crate2`. Vehicle — everyone sees it; the crate is an actual vehicle on a parachute; claiming it adds the car to the player’s garage database.

</details>

<details>

<summary>How does the flare gun drop work?</summary>

When `Config.FlareGun.Enable = true`, shooting the sky with WEAPON\_FLAREGUN starts a plane drop at that location. Loot comes from random tiers in `Config.DropItems`, not from the admin item picker. Set `Config.FlareGun.AllowNonAdmin = true` to let non-admins use flare/manual drops; otherwise only admins can trigger manual drops.

</details>

<details>

<summary>How do scheduled automatic drops work?</summary>

Enable `Config.RandomDrops.Enabled = true` and set times in `ScheduleTimes` (e.g. `"20:00"`) or hours in `ScheduleHours`. The server checks the clock at `CheckInterval` and spawns a drop at a random coordinate from `Config.RandomDrops.Coords`. Set `Config.RequiredPlayerCountForRandomPlanes` to require a minimum player count (0 = no minimum).

</details>

<details>

<summary>How does the unlock timer work?</summary>

When `Config.DropUnlock.Enabled = true`, the crate is locked after landing until the timer ends. With `UseCountdown = true`, use `Seconds` (default 60 seconds). With `UseCountdown = false`, it falls back to `Time` in milliseconds. Players cannot loot until the countdown finishes.

</details>

<details>

<summary>How do players open and loot a crate?</summary>

By default, walk up to the crate and press \[E] (`Config.Target.Enable = false`). If target is enabled, use `ox_target` or `qb-target` on the crate. The loot NUI opens; players click items to take them. The server validates distance via `Config.AntiCheat.MaxLootDistance` to block remote exploits.

</details>

<details>

<summary>What is the redzone?</summary>

When `Config.Redzone.Enable = true`, a zone is drawn around the landing point with map blip, optional 3D marker, and radius (`Config.Redzone.Radius`, default 40m). Optional `BucketRouting` can isolate players inside the zone into separate routing buckets — leave this disabled unless you understand FiveM buckets.

</details>

<details>

<summary>How do job drops work?</summary>

In the admin panel, set drop type to Job and put the job name in the drop name field (e.g. `police`). With `Config.JobDrops.Enable = true`, wrong-job players do not see the crate or blip (`HideEntity`, `HideBlip`). Only matching job players get notifications and can loot. The admin who created it can still see it if `AllowAdminCreatorView = true`.

</details>

<details>

<summary>How does a vehicle drop give the car to a player?</summary>

When a player claims a vehicle drop, `server/givecar.lua` inserts a row into `player_vehicles` (QB/QBX) or `owned_vehicles` (ESX). Set `ServerConfig.QBDefaultGarage` for QB garage name and `ServerConfig.Mysql` to match your database resource. If SQL fails, the player gets a notify and the vehicle is not saved.

</details>

<details>

<summary>How do I set up Discord webhooks?</summary>

Edit `server/config.lua`. Set `Webhooks.DropCreate`, `Webhooks.RandomDrop`, and `Webhooks.DropLoot` to valid Discord webhook URLs. Webhook embeds log drop creation, scheduled drops, and loot events with player info. Drops still work if webhooks fail — you will only see a console warning.

</details>

<details>

<summary>What is /cammode and why do I need it?</summary>

`/cammode` is an admin command that auto-generates vehicle thumbnail PNGs for the UI. It teleports you to a photo studio, spawns each vehicle from `shared/vehicles.lua`, takes a screenshot via `screenshot-basic`, uploads to `ServerConfig.CamScreenshotWebhook`, and saves images to `html/cars/`. This is only for UI images, not for giving cars to players.

</details>

<details>

<summary>Why do item images not show in the UI?</summary>

Fix `Config.ItemImagePath` to match your inventory image folder (e.g. `qb-inventory/html/images` or `ox_inventory/web/images`). Alternatively set `Config.UseLocalItemImages = true` and place PNGs in `html/items/`. Admin panel items can also use `Config.AdminItems.FetchFromInventory` to pull from your inventory catalog.

</details>

<details>

<summary>How do I change the language?</summary>

Set `Config.Language` in `shared/config.lua` to match a locale file: `en`, `tr`, `es`, `fr`, `de`, `pt`, `ru`, `ar`, `zh`, or `ja`. Restart the resource after changing. All UI text and notifications use the selected locale.

</details>

<details>

<summary>How do I prevent drop spam?</summary>

Use `Config.AntiSpam`: `CreateCooldownSeconds` limits how often one player can create drops, and `MaxActiveDrops` caps total active crates server-wide (default 8). Set `Enable = false` to disable these limits.

</details>

<details>

<summary>What happens when someone loots a drop?</summary>

Items go to the player’s inventory (or vehicle to garage). If `Config.ChatMessage.ReceiveItem = true`, a server-wide message is sent via chat, QB notify, or txAdmin announce (`BroadcastAs`). If `Config.DropCleanup.RemoveOnFirstLoot = true`, the crate is deleted immediately. Unlooted drops auto-delete after `UnlootedDeleteAfter` ms (default 10 minutes).

</details>

<details>

<summary>How do I add admins?</summary>

Add full identifiers to `ServerConfig.Admins` in `server/config.lua` (e.g. `license:...` or `steam:...`). You can also use QB admin/god permissions, ESX groups in `Config.AdminGroups`, or ACE `command` permission. Partial names are not supported.

</details>

<details>

<summary>Can I use ox_target instead of [E]?</summary>

Yes. Set `Config.Target.Enable = true` and `Config.Target.Name = "ox_target"` (or `qb-target`). Set the icon in `Config.Target.Icon`. Players will use the target eye on the crate instead of drawtext.

</details>

<details>

<summary>The crate is stuck in the sky — what should I check?</summary>

Usually a sync or landing detection issue. Lower or raise `Config.DropData.FallSpeed`, ensure clients can see the entity, and check F8 console for errors. Players who join mid-drop can request sync; the server sends active drops on connect. If one drop is bugged, an admin can remove it from the History tab in `/createdrop`.

</details>

<details>

<summary>Which files are safe to edit?</summary>

Safe (shared): `shared/config.lua`, `shared/vehicles.lua`, `locales/*.lua`. Secrets (server only): `server/config.lua` — never share webhooks or bot tokens. Do not leak: `server/config.lua` contains webhook URLs and admin identifiers.

</details>


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## 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, and the optional `goal` query parameter:

```
GET https://izzyshop-1.gitbook.io/izzyshop-docs/free-resources/airdrop-system/f.a.q.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

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.
