[PAID] [ESX] PandaScriptZ | Selling

A script by PandaScriptZ

No reviews yet.
[PAID] [ESX] PandaScriptZ | Selling main image

Full Description

PandaScriptZ | Selling

Hey everyone,
Take your role-playing server to the next level with PandaScriptZ | Selling - the ultimate solution for selling items with ease. With our highly customizable FiveM script, you’ll be able to create selling points that are both convenient and engaging for your players.

Features:

  • Compatible with both ESX and OxLib menus: Our script offers seamless support for both ESX standard menus and Ox Lib menus, giving you the flexibility to choose the best fit for your server.
  • Highly optimized (Running at 0.00 Resmon)
  • Support for third eye solutions: With support for third eye solutions such as Qtarget and Oxtarget.
  • Highly Customizable: Customize your selling points to your heart’s content! Change blips, messages, language, peds, markers and much more to make your server truly unique.
  • Easy to set up and use: We understand that time is precious, which is why we’ve designed our script to be quick and easy to set up and use.
  • Intuitive and immersive selling points: Create selling points that are both intuitive and immersive for your players, with a range of customizations at your fingertips.
  • Customizable markers and blips: Customize the look of your markers and blips to match the unique personality of your server.
  • Greeting messages: Add a personal touch to your selling points with custom greeting messages.
  • Job white-/blacklists: Control which jobs can use your selling points with our job white-/blacklist system.
  • Adjustable currency: Customize the currency used in your game, whether it be dollars, euros, or anything else.
  • One-time sell or looping: Choose whether to allow your players to sell items once, or to let them sell items repeatedly in a loop.
Config
Config = {}


Config.Framework = 'esx' -- 'esx' | 'qb' is coming soon
Config.Language = "en"
Config.DevMode = true -- if true, allows restarting the script without rejoining. Deactivate when you are done with the config otherwise errors may occur

Config.UseTarget = false
Config.Target = 'qt' -- 'ox' or 'qt' -- not being used with markers
Config.KeyToInteract = 38 -- If Target is set to false this key will be used to interact with the seller | https://docs.fivem.net/game-references/controls/

Config.Menu = 'esx' -- 'ox' or 'esx'
Config.Input = 'esx' -- 'ox' or 'esx'
Config.Notify = 'ox' -- 'ox', 'esx' or 'mythic' | more to come
Config.StartNotify = 'ox' -- 'ox' or 'esx' | Notify that will be shown when near the seller
Config.CancelNotify = 'ox' -- 'ox' or 'esx' | Notify that will be shown during the loop on how to cancle it
Config.Cancelkey = 73 -- (Currently X) the key that will be used to cancle the loop (Dont forget to change the name of the key in the Locales) | https://docs.fivem.net/game-references/controls/
Config.Currency = '$' -- the currency that will be used ($, €, £, etc)

Config.GreetingScale = 1.0 -- the scale of the greeting text
Config.GreetingRange = 3.0 -- the range in which the greeting text will be shown | also is interacting range so dont make it to big

--[[ 
Coming soon

Config.ChaningPrices = true -- if true, the prices will change after the set time
Config.ChangingPricesTime = 60 -- in minutes
Config.ChangingPricespan = { min = -0.1, max = 0.1 } -- the price will change between the min and max value | -0.1 = -10%, 0.1 = 10%
]] --

Config.Sellers = {
    -- Marker example
    {
        Position = vector3(276.4743, -869.0333, 29.3520),
        name = "Pawnshop",
        ped = {
            usePed = false,
            heading = 150.0,
            model = "s_m_m_dockwork_01",
            animation = true,
            messages = true, -- Message only works if you use a ped,  otherwise does nothing
            message = "Yo, what you want?"
        },
        marker = {
            show = true,
            type = 1,
            scale = vector3(1.0, 1.0, 1.0),
            color = { r = 255, g = 255, b = 255, a = 255 },
            rotate = true
        },
        blip = {
            show = true,
            sprite = 605,
            color = 2,
            scale = 1.0
        },
        jobs = {
            jobrestriction = false,
            useWhitelist = false,
            useBlacklist = false,
            whitelist = {},
            blacklist = {}
        },
        loop = true, -- if true, instead of getting an input window for the amount to sell, you start selling them one by one
        loopSpeed = 1000, -- the time between each item is sold in seconds
        moneyType = 'money', -- 'money' or 'black_money'
        items = {
            { item = "bottle", label = "Empty bottle", price = 25 },
            { item = "necklace", label = "Necklace", price = 50 },
        },
    },

    -- Ped example
    {
        Position = vector3(103.0338, -1959.6768, 20.8263),
        name = "Drug Dealer",
        ped = {
            usePed = true,
            heading = 352.98,
            model = "csb_ballasog",
            animation = true,
            messages = true, -- Message only works if you use a ped,  otherwise does nothing
            message = "Yo, what you got for me?"
        },
        marker = {
            show = false, -- Can't use Ped and Marker at once.
            type = 1,
            scale = vector3(1.0, 1.0, 1.0),
            color = { r = 255, g = 25, b = 155, a = 255 },
            rotate = true
        },
        blip = {
            show = true,
            sprite = 605,
            color = 3,
            scale = 0.7
        },
        jobs = {
            jobrestriction = true,
            useWhitelist = true,
            useBlacklist = false,
            whitelist = {'ballas'},
            blacklist = {'police'}
        },
        loop = false, -- if true, instead of getting an input window for the amount to sell, you start selling them one by one
        loopSpeed = 2500, -- the time between each item sold in ms
        loopMultipleAnimation = false, -- if true, the animation will be played multiple times (if using ped and animation = true)
        moneyType = 'money', -- 'money' or 'black_money'
        items = {
            { item = "sacodecoca", label = "Cocaine", price = 125 },
            { item = "copper", label = "Meth", price = 100 },
            { item = "gold", label = 'Weed', price = 83 },
        },
    },

    {
        Position = vector3(282.5451, -868.6711, 29.3372),
        name = "Export Harbor",
        ped = {
            usePed = true,
            heading = 150.0,
            model = "s_m_m_dockwork_01",
            scenario = 'WORLD_HUMAN_CLIPBOARD', -- if you want the ped to play a scenario replace the false with the scenario name | Example: 'WORLD_HUMAN_CLIPBOARD'
            messages = true,
            message = "Hey, how may I help you?"
        },
        marker = {
            show = false,
            type = 1,
            scale = vector3(1.0, 1.0, 1.0),
            color = { r = 255, g = 255, b = 255, a = 255 },
            rotate = true
        },
        blip = {
            show = false,
            sprite = 605,
            color = 2,
            scale = 1.0
        },
        jobs = {
            jobrestriction = false,
            useWhitelist = false,
            useBlacklist = false,
            whitelist = {},
            blacklist = {}
        },
        loop = true, -- if true, instead of getting an input window for the amount to sell, you start selling them one by one
        loopSpeed = 1000, -- the time between each item sold in ms
        loopMultipleAnimation = true, -- if true, the animation will be played multiple times (if using ped and animation = true)
        moneyType = 'money', -- 'money' or 'black_money'
        items = {
            { item = "eisen", label = "Iron Ore", price = 50 },
            { item = "copper", label = "Copper Ore", price = 100 },
            { item = "gold", label = 'Gold Ore', price = 150 },
        },
    },
}

Config.Locales = {
    ["en"] = {
        ["interact"] = "Press [E] to sell your items",
        ["TargetInteract"] = 'Sell your items',
        ["InputTitle"] = 'How much do you want to sell?',
        ["InputError"] = 'The entered amount is invalid',
        ["Sold"] = 'You have sold %sx %s for %s' .. Config.Currency,
        ["NoItem"] = 'You do not have enough %s',
        ["StopSell"] = 'Press [X] to stop selling',
        ["StoppedSelling"] = "You stopped selling",
        ["SoldAll"] = "You sold all your items",
    },

    ["de"] = {
        ["interact"] = "Drücke [E] um deine Items zu verkaufen",
        ["TargetInteract"] = 'Verkaufe deine Items',
        ["InputTitle"] = 'Wie viel willst du verkaufen?',
        ["InputError"] = 'Die eingegebene Menge ist ungültig',
        ["Sold"] = 'Du hast %sx %s für %s' .. Config.Currency .. ' verkauft',
        ["NoItem"] = 'Du hast nicht genug %s',
        ["StopSell"] = 'Drücke [X] um zu stoppen',
        ["StoppedSelling"] = "Du hast aufgehört zu verkaufen",
        ["SoldAll"] = "Du hast alle deine Items verkauft",
    },
    ["pt"] = {
        ["interact"] = "Pressiona [E] para venderes os itens.",
        ["TargetInteract"] = 'Vender itens.',
        ["InputTitle"] = 'Quantos itens queres vender?',
        ["InputError"] = 'Introduziste uma quantidade inválida!',
        ["Sold"] = 'Vendeste %sx %s por %s' .. Config.Currency,
        ["NoItem"] = 'Não tens %s suficiente!',
        ["StopSell"] = 'Pressiona [X] para cancelares a venda.',
        ["StoppedSelling"] = "Cancelaste a venda.",
        ["SoldAll"] = "Vendeste todos os itens!",
    },
}

Showcase

Link if the video isn’t loading

Packages

Escrow [9.99$]
Opensource [24.99$]
Prices without VAT

Plans for future updates:

  • Adapt for QB-Core
  • Fluctuating prices
  • Possibility for random positions (for drug dealers etc.)
Code is accessible No (Opensource availabe)
Subscription-based No
Lines (approximately) ~750
Requirements ESX
Support No, unmaintained

Config Merger
Have you tried Config Merger? Merge your configs easily