๐Ÿ’Ž [PAID] [Standalone][ESX][QBCore] Crate system | Rewards tiers | Interactions | Huge configuration file | Burevestnik

crate

I welcome you CFX community!

Introducing a groundbreaking crate system that enhances your serverโ€™s gameplay! This innovative resource enables you to unlock boxes, just like in real life, and receive rewards of varying degrees.

Setting up the entire resource is a breeze thanks to a straightforward configuration file, which enables you to add items quickly. Your players will be overjoyed with the numerous features this system offers. Set your server apart by providing something new and thrilling!

Demonstration of the system:

:movie_camera: Preview Video

Screenshots

Example of a configuration file:

Configuration files
-- /* 
-- โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ•—โ–‘โ–ˆโ–ˆโ•—โ–‘โ–‘โ–‘โ–ˆโ–ˆโ•—โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ•—โ–‘โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ•—โ–ˆโ–ˆโ•—โ–‘โ–‘โ–‘โ–ˆโ–ˆโ•—โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ•—โ–‘โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ•—โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ•—โ–ˆโ–ˆโ–ˆโ•—โ–‘โ–‘โ–ˆโ–ˆโ•—โ–ˆโ–ˆโ•—โ–ˆโ–ˆโ•—โ–‘โ–‘โ–ˆโ–ˆโ•—
-- โ–ˆโ–ˆโ•”โ•โ•โ–ˆโ–ˆโ•—โ–ˆโ–ˆโ•‘โ–‘โ–‘โ–‘โ–ˆโ–ˆโ•‘โ–ˆโ–ˆโ•”โ•โ•โ–ˆโ–ˆโ•—โ–ˆโ–ˆโ•”โ•โ•โ•โ•โ•โ–ˆโ–ˆโ•‘โ–‘โ–‘โ–‘โ–ˆโ–ˆโ•‘โ–ˆโ–ˆโ•”โ•โ•โ•โ•โ•โ–ˆโ–ˆโ•”โ•โ•โ•โ•โ•โ•šโ•โ•โ–ˆโ–ˆโ•”โ•โ•โ•โ–ˆโ–ˆโ–ˆโ–ˆโ•—โ–‘โ–ˆโ–ˆโ•‘โ–ˆโ–ˆโ•‘โ–ˆโ–ˆโ•‘โ–‘โ–ˆโ–ˆโ•”โ•
-- โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ•ฆโ•โ–ˆโ–ˆโ•‘โ–‘โ–‘โ–‘โ–ˆโ–ˆโ•‘โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ•”โ•โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ•—โ–‘โ–‘โ•šโ–ˆโ–ˆโ•—โ–‘โ–ˆโ–ˆโ•”โ•โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ•—โ–‘โ–‘โ•šโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ•—โ–‘โ–‘โ–‘โ–‘โ–ˆโ–ˆโ•‘โ–‘โ–‘โ–‘โ–ˆโ–ˆโ•”โ–ˆโ–ˆโ•—โ–ˆโ–ˆโ•‘โ–ˆโ–ˆโ•‘โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ•โ•โ–‘
-- โ–ˆโ–ˆโ•”โ•โ•โ–ˆโ–ˆโ•—โ–ˆโ–ˆโ•‘โ–‘โ–‘โ–‘โ–ˆโ–ˆโ•‘โ–ˆโ–ˆโ•”โ•โ•โ–ˆโ–ˆโ•—โ–ˆโ–ˆโ•”โ•โ•โ•โ–‘โ–‘โ–‘โ•šโ–ˆโ–ˆโ–ˆโ–ˆโ•”โ•โ–‘โ–ˆโ–ˆโ•”โ•โ•โ•โ–‘โ–‘โ–‘โ•šโ•โ•โ•โ–ˆโ–ˆโ•—โ–‘โ–‘โ–‘โ–ˆโ–ˆโ•‘โ–‘โ–‘โ–‘โ–ˆโ–ˆโ•‘โ•šโ–ˆโ–ˆโ–ˆโ–ˆโ•‘โ–ˆโ–ˆโ•‘โ–ˆโ–ˆโ•”โ•โ–ˆโ–ˆโ•—โ–‘
-- โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ•ฆโ•โ•šโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ•”โ•โ–ˆโ–ˆโ•‘โ–‘โ–‘โ–ˆโ–ˆโ•‘โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ•—โ–‘โ–‘โ•šโ–ˆโ–ˆโ•”โ•โ–‘โ–‘โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ•—โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ•”โ•โ–‘โ–‘โ–‘โ–ˆโ–ˆโ•‘โ–‘โ–‘โ–‘โ–ˆโ–ˆโ•‘โ–‘โ•šโ–ˆโ–ˆโ–ˆโ•‘โ–ˆโ–ˆโ•‘โ–ˆโ–ˆโ•‘โ–‘โ•šโ–ˆโ–ˆโ•—
-- โ•šโ•โ•โ•โ•โ•โ•โ–‘โ–‘โ•šโ•โ•โ•โ•โ•โ•โ–‘โ•šโ•โ•โ–‘โ–‘โ•šโ•โ•โ•šโ•โ•โ•โ•โ•โ•โ•โ–‘โ–‘โ–‘โ•šโ•โ•โ–‘โ–‘โ–‘โ•šโ•โ•โ•โ•โ•โ•โ•โ•šโ•โ•โ•โ•โ•โ•โ–‘โ–‘โ–‘โ–‘โ•šโ•โ•โ–‘โ–‘โ–‘โ•šโ•โ•โ–‘โ–‘โ•šโ•โ•โ•โ•šโ•โ•โ•šโ•โ•โ–‘โ–‘โ•šโ•โ•*/

Config = {}

-- Are you using ESX?
Config.UseESX = true
-- Enable this if ESX throws an error: Used the getSharedObject Event, this event no longer exists!
Config.UseESX_lib = false
-- Are you using QBCore?
Config.UseQB = false
-- Are you using Standalone?
Config.UseStandalone = false

-- Do you want to use items ?
Config.UseItem = true
-- Inventory item for crate.
Config.ItemNameCrate = "crate"

-- Interaction distance.
Config.interactDist = 3.0
-- Interaction Button.
Config.interactButton = 38
-- Translation.
Config.TranslationinteractDist = "Press to place"
-- Delete Button.
Config.delButton = 178
-- Translation.
Config.TranslationdelButton = "Press to cancel"
-- Rotate Button.
Config.rotateButtonR = 175
-- Translation.
Config.TranslationButtonR = "Press to rotate to the right"
Config.rotateButtonL = 174
-- Translation.
Config.TranslationButtonL = "Press to rotate to the left"

-- Translation.
Config.TranslationText1 = "Press ~INPUT_CONTEXT~ to ~g~interact"

-- Use Burevestnik Interaction Button (https://forum.cfx.re/t/free-standalone-interaction-button/4860169)
Config.UseBurevestnikInteractionButton = false
Config.BurevestnikInteractionButton = "E"
Config.BurevestnikInteractionButtonText = "Press to interact with the quest"
Config.BurevestnikInteractionButtonText2 = "Press to interact"

-- Use custom notifications
RegisterNetEvent("Burevestnik_crate:CustomNotifications")
AddEventHandler("Burevestnik_crate:CustomNotifications", function(type, name, amount)
    if type == "rewardItem" then 
        HelpNotificationBottom("Your reward: ~g~" .. amount .. "x " .. name) -- If you want to use custom notifications, just paste your export here. The 'text' variable is the text that your export will receive during the notification.
    elseif type == "rewardMoney" then
        HelpNotificationBottom("Your reward: ~g~" .. amount .. "$") -- If you want to use custom notifications, just paste your export here. The 'text' variable is the text that your export will receive during the notification.
    elseif type == "clientEvent" then 
        HelpNotificationBottom("Your reward: ~g~client event") -- If you want to use custom notifications, just paste your export here. The 'text' variable is the text that your export will receive during the notification.
    elseif type == "serverEvent" then 
        HelpNotificationBottom("Your reward: ~g~server event") -- If you want to use custom notifications, just paste your export here. The 'text' variable is the text that your export will receive during the notification.
    elseif type == "buy" then 
        HelpNotificationBottom("You bought: ~g~" .. amount .. "x " .. name) -- If you want to use custom notifications, just paste your export here. The 'text' variable is the text that your export will receive during the notification.
    elseif type == "noMoney" then 
        HelpNotificationBottom("~r~You do not have enough money!") -- If you want to use custom notifications, just paste your export here. The 'text' variable is the text that your export will receive during the notification.
    elseif type == "sell" then 
        HelpNotificationBottom("You sold: ~y~" .. amount .. "x " .. name) -- If you want to use custom notifications, just paste your export here. The 'text' variable is the text that your export will receive during the notification.
    elseif type == "noItem" then 
        HelpNotificationBottom("~r~You do not have enough items!") -- If you want to use custom notifications, just paste your export here. The 'text' variable is the text that your export will receive during the notification.
    end
end)

-- Do you want to use shops ?
Config.UseShop = true
Config.shopName = "Crate shop"
Config.translateSale = "Sell"
Config.translate1 = "Buy"
Config.translate2 = "crate for"
Config.PurchaseQuantity1 = 1
Config.PurchaseQuantity2 = 5
Config.PurchaseQuantity3 = 10
Config.PurchaseQuantity4 = 20
Config.buyC = 100
Config.sellC = 90
Config.Shop = {
    {
        location = vector3(797.0630, -2988.8069, 6.0209), --Coordinates for shop and blip
        useBlip = true, --The ability to use blip on the map for this ped.
        blipID = 615, --Blip ID.
        blipScale = 0.8, --Blip scale.
        blipColor = 2, --Blip color.
        blipText = "Crate shop" --Blip text.
    },
}

Config.DroppingChanceTier1 = 0.4 -- 40% chance of tier 1
Config.DroppingChanceTier2 = 0.3 -- 30% chance of tier 2
Config.DroppingChanceTier3 = 0.3 -- 30% chance of tier 3

Config.rewards = {
    {      --tier 1
        {
            model = `prop_spraygun_01`,  --model
            useBlip = true, --The ability to use blip on the map for this ped.
            rewardType = "item", -- "item", "money", "clientEvent", "serverEvent"
            rewardItemName = "bread", 
            rewardItemAmount = 1,
            blipID = 478, --Blip ID.
            blipScale = 0.8, --Blip scale.
            blipColor = 0, --Blip color.
            blipText = "Crate 1" --Blip text.
        },
        {
            model = `prop_anim_cash_pile_02`,  --model
            useBlip = true, --The ability to use blip on the map for this ped.
            rewardType = "money", -- "item", "money", "clientEvent", "serverEvent"
            rewardMoney = 100, 
            blipID = 478, --Blip ID.
            blipScale = 0.8, --Blip scale.
            blipColor = 0, --Blip color.
            blipText = "Crate 2" --Blip text.
        },
        {
            model = `prop_cs_book_01`,  --model
            useBlip = true, --The ability to use blip on the map for this ped.
            rewardType = "clientEvent", -- "item", "money", "clientEvent", "serverEvent"
            eventName = "burevestnik_test_cl",
            blipID = 478, --Blip ID.
            blipScale = 0.8, --Blip scale.
            blipColor = 0, --Blip color.
            blipText = "Crate 3" --Blip text.
        },
        {
            model = `prop_old_boot`,  --model
            useBlip = true, --The ability to use blip on the map for this ped.
            rewardType = "serverEvent", -- "item", "money", "clientEvent", "serverEvent"
            eventName = "burevestnik_test_sv",
            blipID = 478, --Blip ID.
            blipScale = 0.8, --Blip scale.
            blipColor = 0, --Blip color.
            blipText = "Crate 4" --Blip text.
        },
    },
    {      --tier 2
        {
            model = `prop_spraygun_01`,  --model
            useBlip = true, --The ability to use blip on the map for this ped.
            rewardType = "item", -- "item", "money", "clientEvent", "serverEvent"
            rewardItemName = "water", 
            rewardItemAmount = 1,
            blipID = 478, --Blip ID.
            blipScale = 0.8, --Blip scale.
            blipColor = 0, --Blip color.
            blipText = "Crate 5" --Blip text.
        },
        {
            model = `prop_anim_cash_pile_02`,  --model
            useBlip = true, --The ability to use blip on the map for this ped.
            rewardType = "money", -- "item", "money", "clientEvent", "serverEvent"
            rewardMoney = 100, 
            blipID = 478, --Blip ID.
            blipScale = 0.8, --Blip scale.
            blipColor = 0, --Blip color.
            blipText = "Crate 6" --Blip text.
        },
        {
            model = `prop_cs_book_01`,  --model
            useBlip = true, --The ability to use blip on the map for this ped.
            rewardType = "clientEvent", -- "item", "money", "clientEvent", "serverEvent"
            eventName = "burevestnik_test_cl",
            blipID = 478, --Blip ID.
            blipScale = 0.8, --Blip scale.
            blipColor = 0, --Blip color.
            blipText = "Crate 7" --Blip text.
        },
        {
            model = `prop_old_boot`,  --model
            useBlip = true, --The ability to use blip on the map for this ped.
            rewardType = "serverEvent", -- "item", "money", "clientEvent", "serverEvent"
            eventName = "burevestnik_test_sv",
            blipID = 478, --Blip ID.
            blipScale = 0.8, --Blip scale.
            blipColor = 0, --Blip color.
            blipText = "Crate 8" --Blip text.
        },
    },
    {      --tier 3
        {
            model = `prop_spraygun_01`,  --model
            useBlip = true, --The ability to use blip on the map for this ped.
            rewardType = "item", -- "item", "money", "clientEvent", "serverEvent"
            rewardItemName = "cola", 
            rewardItemAmount = 1,
            blipID = 478, --Blip ID.
            blipScale = 0.8, --Blip scale.
            blipColor = 0, --Blip color.
            blipText = "Crate 9" --Blip text.
        },
        {
            model = `prop_anim_cash_pile_02`,  --model
            useBlip = true, --The ability to use blip on the map for this ped.
            rewardType = "money", -- "item", "money", "clientEvent", "serverEvent"
            rewardMoney = 100, 
            blipID = 478, --Blip ID.
            blipScale = 0.8, --Blip scale.
            blipColor = 0, --Blip color.
            blipText = "Crate 10" --Blip text.
        },
        {
            model = `prop_cs_book_01`,  --model
            useBlip = true, --The ability to use blip on the map for this ped.
            rewardType = "clientEvent", -- "item", "money", "clientEvent", "serverEvent"
            eventName = "burevestnik_test_cl",
            blipID = 478, --Blip ID.
            blipScale = 0.8, --Blip scale.
            blipColor = 0, --Blip color.
            blipText = "Crate 11" --Blip text.
        },
        {
            model = `prop_old_boot`,  --model
            useBlip = true, --The ability to use blip on the map for this ped.
            rewardType = "serverEvent", -- "item", "money", "clientEvent", "serverEvent"
            eventName = "burevestnik_test_sv",
            blipID = 478, --Blip ID.
            blipScale = 0.8, --Blip scale.
            blipColor = 0, --Blip color.
            blipText = "Crate 12" --Blip text.
        },
    },
}

Optimization (The script consumes):

0.00 ms in a quiet state.

0.01 ms in an active state.

What does this system include:

  • This system works on all versions of ESX, QBCore, as well as STANDALONE!

  • Items of various rarity!

  • Interactive crate opening!

  • Customizable chance of dropping items!

  • Various types of rewards (Items, money, events)!

  • Detailed configuration file!

  • Random artifacts in the zones!

  • Minimalistic user interface

  • You can completely change the user interface at will!

  • Of course support, Iโ€™m ready to help you!

:shopping_cart: [OPEN SOURCE] You can get that resource in my Tebex.

:shopping_cart: [ESCROW] You can get that resource in my Tebex.

TOP SALES

qs3 hudsystem-min bpLogo

You may also be interested in my other resources:

crate Anomaly zones img animsystem

bpLogo hudsystem-min OrangeSystem

barsystem storev2 qs3

dialSystem speedcam_img lockpick

train LicensePlate pop

6q6g5y as mg

ars imgonline-com-ua-Resize-4bDn2Cj3ozUrAixF mwpLG8T - Imgur

e5f6ad277b5836eb5fa4db2b8207c3e46beb8362 imgonline-com-ua-Resize-czg8px7HwUHn My project (1)

My project (5) My project kaws

My project (6) a bgk

bg bg st11

Code is accessible Open source: Yes \ Escrow: No - Available only: config, ui
Subscription-based No
Lines (approximately) ~1000
Requirements Standalone/ESX/QBCore and Game Build 2802+
Support Yes
2 Likes

Nice work :fire:

1 Like

Thanks for the review :purple_heart:

1 Like