[ESX] D2D-BlackMarketCrates | Player ran crate drops, super customisable & affordable!

A script by DareToDoyle

No reviews yet.
[ESX] D2D-BlackMarketCrates | Player ran crate drops, super customisable & affordable! main image

Price

$6.00

Full Description

Introducing D2D-BlackMarketCrates! This script offers players the chance to do create drops that can drop both items or weapons! Other players can intercept the cargo as the crate is fully synced.

Features
  • In-Depth Discord logs to keep track on what players are doing. (Example Log)
  • Job/Item/Vehicle/Altitude checks (Toggleable).
  • Changeable Notifications/Police Dispatch/Translations/Progress Bar/Blips.
  • Changeable chances of what weapon/item to give.
Configuration File
--██████╗░██████╗░██████╗░░░░░░░██████╗░██╗░░░░░░█████╗░░█████╗░██╗░░██╗███╗░░░███╗░█████╗░██████╗░██╗░░██╗███████╗████████╗--
--██╔══██╗╚════██╗██╔══██╗░░░░░░██╔══██╗██║░░░░░██╔══██╗██╔══██╗██║░██╔╝████╗░████║██╔══██╗██╔══██╗██║░██╔╝██╔════╝╚══██╔══╝--
--██║░░██║░░███╔═╝██║░░██║█████╗██████╦╝██║░░░░░███████║██║░░╚═╝█████═╝░██╔████╔██║███████║██████╔╝█████═╝░█████╗░░░░░██║░░░--
--██║░░██║██╔══╝░░██║░░██║╚════╝██╔══██╗██║░░░░░██╔══██║██║░░██╗██╔═██╗░██║╚██╔╝██║██╔══██║██╔══██╗██╔═██╗░██╔══╝░░░░░██║░░░--
--██████╔╝███████╗██████╔╝░░░░░░██████╦╝███████╗██║░░██║╚█████╔╝██║░╚██╗██║░╚═╝░██║██║░░██║██║░░██║██║░╚██╗███████╗░░░██║░░░--
--╚═════╝░╚══════╝╚═════╝░░░░░░░╚═════╝░╚══════╝╚═╝░░╚═╝░╚════╝░╚═╝░░╚═╝╚═╝░░░░░╚═╝╚═╝░░╚═╝╚═╝░░╚═╝╚═╝░░╚═╝╚══════╝░░░╚═╝░░░--

D2D = {}

D2D.Debug = false -- Prints debug statements, I would advise you only turn this on if you know what you are doing.

D2D.DiscordLogWebhookURL = 'https://discord.com/api/webhooks/InsertYourOwnLink' -- Put your webhook URL here.

D2D.WebhookName = 'YourServerNameHere' -- Put your webhook URL here.

D2D.DiscordLogID = 'discord' -- steam/discord/license, This tells the webhook what identifiers to use.

D2D.PlaneModel = {'dodo', 'titan', 'lazer'}

D2D.CrateModel = 'prop_drop_armscrate_01'

D2D.CrateSpeed = 2.0 -- In Meters Per Second.

D2D.CollectionTime = (5 * 1000) -- Set to 5 second.

D2D.AltitudeNeeded = 0.0 -- In GTA "z" units.

D2D.ItemRewards = {
    {type = 'weapon', name = "WEAPON_PISTOL", label = "Pistol", spawnChance = 33},
    {type = 'item', name = "bread", label = "Bread", spawnChance = 33},
}

--░░░░░██╗░█████╗░██████╗░░░░░██╗██╗████████╗███████╗███╗░░░███╗░██████╗--
--░░░░░██║██╔══██╗██╔══██╗░░░██╔╝██║╚══██╔══╝██╔════╝████╗░████║██╔════╝--
--░░░░░██║██║░░██║██████╦╝░░██╔╝░██║░░░██║░░░█████╗░░██╔████╔██║╚█████╗░--
--██╗░░██║██║░░██║██╔══██╗░██╔╝░░██║░░░██║░░░██╔══╝░░██║╚██╔╝██║░╚═══██╗--
--╚█████╔╝╚█████╔╝██████╦╝██╔╝░░░██║░░░██║░░░███████╗██║░╚═╝░██║██████╔╝--
--░╚════╝░░╚════╝░╚═════╝░╚═╝░░░░╚═╝░░░╚═╝░░░╚══════╝╚═╝░░░░░╚═╝╚═════╝░--

D2D.JobCheck = nil -- What job they require or nil.

D2D.ItemCheck = false -- Whether the pilot requires an item to start the crate drop.

D2D.ItemCheckName = 'PutItemNameHere' -- Only if above is true.

--███████╗██╗░░░██╗███╗░░██╗░█████╗░████████╗██╗░█████╗░███╗░░██╗░██████╗--
--██╔════╝██║░░░██║████╗░██║██╔══██╗╚══██╔══╝██║██╔══██╗████╗░██║██╔════╝--
--█████╗░░██║░░░██║██╔██╗██║██║░░╚═╝░░░██║░░░██║██║░░██║██╔██╗██║╚█████╗░--
--██╔══╝░░██║░░░██║██║╚████║██║░░██╗░░░██║░░░██║██║░░██║██║╚████║░╚═══██╗--
--██║░░░░░╚██████╔╝██║░╚███║╚█████╔╝░░░██║░░░██║╚█████╔╝██║░╚███║██████╔╝--
--╚═╝░░░░░░╚═════╝░╚═╝░░╚══╝░╚════╝░░░░╚═╝░░░╚═╝░╚════╝░╚═╝░░╚══╝╚═════╝░--

D2D.Blip = {
    ["colour"] = 1,
    ["sprite"] = 550,
    ["scale"] = 1.0,
    ["name"] = "Air Drop"
}

D2D.Redzone = {
    ["colour"] = 49,
    ["radius"] = 300.0,
}

D2D.Translations = {
    ["height"] = "You are not at a suitable altitude to drop the crate.",
    ["deployed"] = "You have deployed your flares! The crate will now drop.",
    ["incoming"] = "Heathrow has detected an unauthorised aircraft. Check your GPS to investigate.",
    ["collected"] = "You have collected the Air Drop. Great job!",
    ["reported"] = "You have been reported to staff for trying to exploit!",
    ["cantcarry"] = "Your pockets are too full!",
    ["cantstartjob"] = "You dont have access to the cargo doors of this plane.",
    ["cantstartitem"] = "You dont have any cargo to drop!."
}

function progressBar()
    exports.rprogress:Custom({
        Async = false,
        x = 0.5,
        y = 0.5,
        canCancel = false,
		Animation = {
        animationDictionary = "anim@move_m@trash", -- https://alexguirre.github.io/animations-list/
         animationName = "pickup",
         },
        Duration = D2D.CollectionTime, -- ESSENTIAL, IF YOU CHANGE INTEGRATE THIS
        ShowProgress = true,
        Label = "Opening Crate..",
        DisableControls = {
            Mouse = true,
            Player = true,
            Vehicle = true
        },
        onComplete = function()
            TriggerServerEvent('D2D-BM:Reward') -- ESSENTIAL, IF YOU CHANGE INTEGRATE THIS
        end
    })
end

function notif(msg, style)

    if style == 'info' then
        exports['okokNotify']:Alert('Air Drop', msg, 5000, 'info')
    elseif style == 'error' then
        exports['okokNotify']:Alert('Air Drop', msg, 5000, 'error')
    elseif style == 'success' then
        exports['okokNotify']:Alert('Air Drop', msg, 5000, 'success')
    end
	
end

function policeDispatch()
local data = exports['cd_dispatch']:GetPlayerInfo()
TriggerServerEvent('cd_dispatch:AddNotification', {
    job_table = {'police'}, 
    coords = data.coords,
    title = 'Unauthorised Aircraft',
    message = 'Heathrow ATC have reported an unorthorised aircraft in the vicinity of '..data.street, 
    flash = 1,
    unique_id = data.unique_id,
    sound = 1,
    blip = {
        sprite = 431, 
        scale = 1.2, 
        colour = 3,
        flashes = true, 
        text = 'Unauthorised Aircraft',
        time = 5,
        radius = 50,
    }
})
end

--██████╗░░█████╗░  ███╗░░██╗░█████╗░████████╗  ████████╗░█████╗░██╗░░░██╗░█████╗░██╗░░██╗--
--██╔══██╗██╔══██╗  ████╗░██║██╔══██╗╚══██╔══╝  ╚══██╔══╝██╔══██╗██║░░░██║██╔══██╗██║░░██║--
--██║░░██║██║░░██║  ██╔██╗██║██║░░██║░░░██║░░░  ░░░██║░░░██║░░██║██║░░░██║██║░░╚═╝███████║--
--██║░░██║██║░░██║  ██║╚████║██║░░██║░░░██║░░░  ░░░██║░░░██║░░██║██║░░░██║██║░░██╗██╔══██║--
--██████╔╝╚█████╔╝  ██║░╚███║╚█████╔╝░░░██║░░░  ░░░██║░░░╚█████╔╝╚██████╔╝╚█████╔╝██║░░██║--
--╚═════╝░░╚════╝░  ╚═╝░░╚══╝░╚════╝░░░░╚═╝░░░  ░░░╚═╝░░░░╚════╝░░╚═════╝░░╚════╝░╚═╝░░╚═╝--

function deBug(msg)
    print(msg)
end

Full Preview - Here

Purchase on Tebex for $6 [Open Source Available] - Here

Known Bugs
  • None Currently!
Plans for the Future
  • Upgrade Box Zone to Net ID (ox_target) - If anyone knows how to do this let me know! Tried but not working.
Code is accessible Yes, if you purchase open source version.
Subscription-based No
Lines (approximately) 600+
Requirements es_extended, ox_target
Support Yes