Configuration

Configuration

All configuration for legends_airdrop is done in the config.lua file. The props_config.lua file contains building prop definitions.

General Settings

Config.Language

Config.Language = 'en'

Description: Language file to use for notifications and UI text.

Type: string

Default: 'en'

Language files are located in lang/. To add a new language, create a new JSON file (e.g., lang/es.json).


Config.Debug

Config.Debug = true

Description: Enable debug prints in console.

Type: boolean

Default: true


Config.Cooldowns

Config.Cooldowns = {
    success = 120,  -- Minutes after successful airdrop
    failure = 30    -- Minutes after failed minigame
}
PropertyTypeDescription
successnumberCooldown in minutes after successfully calling an airdrop
failurenumberCooldown in minutes after failing the minigame

Interaction Methods

Config.InteractionMethod

Config.InteractionMethod = {
    adminCommand = true,
    scheduledAirdrops = false,
    interactableNPC = true,
}
PropertyTypeDescription
adminCommandbooleanEnable /airdrop admin command
scheduledAirdropsbooleanEnable automatic scheduled airdrops
interactableNPCbooleanEnable NPC interaction to request airdrops

Config.ScheduledAirdrops

Config.ScheduledAirdrops = {
    {time = "12:00", locationId = nil},   -- Noon - random location
    {time = "18:00", locationId = 2},     -- 6 PM - location 2
    {time = "00:00", locationId = nil},   -- Midnight - random location
}

Format: 24-hour time format (server time)

PropertyTypeDescription
timestringTime in "HH:MM" format
locationIdnumber or nilSpecific location (1-7) or nil for random

Scheduled airdrops only trigger when Config.InteractionMethod.scheduledAirdrops = true


Player Blip Settings

Config.PlayerBlip

Config.PlayerBlip = {
    showPlayerBlip = true,
    timeForBlipDisplay = 5,  -- minutes
    blipSprite = 303,
    blipColor = 1,
    blipScale = 1.2
}
PropertyTypeDescription
showPlayerBlipbooleanShow blip on player who looted the crate
timeForBlipDisplaynumberDuration to show blip in minutes
blipSpritenumberGTA V blip sprite ID
blipColornumberGTA V blip color ID
blipScalenumberBlip size multiplier
⚠️

The player blip marks the player who collected the airdrop for all other players to see. This creates a "hunt the looter" scenario.


NPC Settings

Config.NPCSettings

Config.NPCSettings = {
    model = `csb_cletus`,
    location = vec3(-419.85, -2618.92, 7.76),
    heading = 272.68,
    scenario = 'WORLD_HUMAN_CLIPBOARD',
    minigame = {
        type = 'skillCheck',
        difficulty = {'easy', 'easy', 'medium'},
        inputs = {'W', 'A', 'S', 'D'}
    }
}
PropertyTypeDescription
modelhashPed model hash
locationvec3NPC spawn coordinates
headingnumberNPC facing direction (0-360)
scenariostringAnimation scenario name
minigame.typestringMinigame type (default: skillCheck)
minigame.difficultytableArray of difficulty levels
minigame.inputstableKeys used in the minigame

Config.RequiredItem

Config.RequiredItem = 'usb_airdrop'

Description: Item required to request an airdrop from the NPC.

Type: string

Set to nil or false to disable item requirement.


Plane Settings

Config.PlaneSettings

Config.PlaneSettings = {
    startingLocation = vec3(-2077.67, -4619.47, 342.59),
    speed = 60.0,
    height = 400.0,
    model = `titan`,
    blip = {
        sprite = 307,
        color = 40,
        scale = 1.5,
        label = "Airdrop Plane"
    },
    removeAfterDrop = 10,
    updateInterval = 35,
}
PropertyTypeDescription
startingLocationvec3Where the plane spawns
speednumberPlane flight speed
heightnumberFlight altitude
modelhashPlane model hash
bliptableBlip configuration for the plane
removeAfterDropnumberSeconds to wait before deleting plane
updateIntervalnumberMilliseconds between position updates

Location Configuration

Config.Locations

Each location is a complete airdrop zone with crate, guards, flares, and optional building props.

Config.Locations = {
    [1] = {
        crateSettings = { ... },
        flares = { ... },
        guards = { ... },
        blip = { ... },
        buildingSet = { ... }
    },
}

crateSettings

crateSettings = {
    prop = `ex_prop_crate_ammo_bc`,
    fallingProp = `ex_prop_adv_case_sm_flash`,
    location = vec3(-1139.68, -498.25, 49.35),
    progressbarDuration = 30,
    duration = 30,
    rewards = {
        ['bandage'] = {
            chance = 75,
            min = 5,
            max = 10,
        },
    }
}
PropertyTypeDescription
prophashCrate prop model (on ground)
fallingProphashProp model while falling
locationvec3Where crate lands
progressbarDurationnumberSeconds to collect crate
durationnumberMinutes before crate despawns
rewardstableLoot table (see below)

Reward Format

['item_name'] = {
    chance = 75,  -- Percentage chance (0-100)
    min = 5,      -- Minimum quantity
    max = 10,     -- Maximum quantity
}

flares

flares = {
    prop = `prop_flare_01`,
    duration = 60,
    locations = {
        vec3(-1182.18, -497.26, 35.57),
        -- more locations...
    }
}
PropertyTypeDescription
prophashFlare prop model
durationnumberSeconds flares burn
locationstableArray of flare positions

guards

guards = {
    peds = {`s_m_y_marine_01`, `s_m_y_marine_02`, `s_m_y_marine_03`},
    weapons = {`weapon_pistol`, `weapon_assaultrifle`, `weapon_smg_mk2`},
    health = 200,
    armor = 100,
    accuracy = 75,
    duration = 30,
    locations = {
        vec3(-1138.52, -513.3, 50.35),
        -- more locations...
    }
}
PropertyTypeDescription
pedstableArray of ped models (random selection)
weaponstableArray of weapons (random selection)
healthnumberGuard health (100 = normal)
armornumberGuard armor (0-100)
accuracynumberShooting accuracy (0-100)
durationnumberMinutes before guards despawn
locationstableArray of guard spawn positions

blip

blip = {
    color = 1,
    radius = 150.0,
    duration = 30
}
PropertyTypeDescription
colornumberGTA V blip color ID
radiusnumberRadius blip size
durationnumberMinutes before blip disappears

buildingSet

buildingSet = {
    set = 1,
    spawningStep = 50,
    despawnTime = 30
}
PropertyTypeDescription
setnumberBuilding set ID (1-6) from props_config.lua
spawningStepnumberProps to spawn per tick (higher = faster)
despawnTimenumberMinutes before props despawn

Set to false to disable building props for a location:

buildingSet = false

Discord Webhook

Config.Webhook

Config.Webhook = "YOUR_WEBHOOK_HERE"

Description: Discord webhook URL for logging airdrop events.

Replace with your Discord webhook URL to receive logs.


Editable Files

editable/client.lua

Contains customizable functions for:

  • StartAirdropMinigame() - Replace with your preferred minigame
  • CollectCrateProgress() - Customize progress bar appearance
  • ShowNotification() - Change notification style
  • Target system functions

editable/server.lua

Contains server-side customization options.

editable/framework.lua

Framework auto-detection logic. Usually doesn't need modification.

Need Help?

Join our Discord for support: discord.gg/lgnds (opens in a new tab)


Legends Store - Premium FiveM Scripts