275 lines
		
	
	
	
		
			9.4 KiB
		
	
	
	
		
			Lua
		
	
	
	
	
	
			
		
		
	
	
			275 lines
		
	
	
	
		
			9.4 KiB
		
	
	
	
		
			Lua
		
	
	
	
	
	
--[[
 | 
						||
    Welcome to the qs-weed configuration guide!
 | 
						||
 | 
						||
    Before you start setting up your new asset, take a moment to read this guide carefully.
 | 
						||
    We’ll walk you through each key part of the configuration step by step, ensuring you can
 | 
						||
    tailor everything to perfectly match your server’s requirements.
 | 
						||
 | 
						||
    Key configuration sections will be marked clearly, like this one you’re reading now.
 | 
						||
    In these sections, we’ll break down each setting available in this file to help you understand
 | 
						||
    and configure it with ease.
 | 
						||
 | 
						||
    Flexibility is a priority here. Most of the settings are customizable, allowing you to adapt
 | 
						||
    them to your framework, whether it's ESX, QBCore, or another. You’ll find all configurable files
 | 
						||
    located in `client/custom/*` for client-side adjustments or `server/custom/*` for server-side changes.
 | 
						||
 | 
						||
    Before diving in, please review our complete documentation for detailed guidance:
 | 
						||
    https://docs.quasar-store.com/information/welcome
 | 
						||
 | 
						||
    This resource is fully customizable, making it simple to adjust features to fit your server’s needs.
 | 
						||
    Take your time exploring and enjoy building your weed management system!
 | 
						||
]]
 | 
						||
 | 
						||
Config = {}
 | 
						||
Locales = {}
 | 
						||
 | 
						||
--[[
 | 
						||
    Choose your preferred language!
 | 
						||
 | 
						||
    In this section, you can select the main language for your asset. We have a wide
 | 
						||
    selection of default languages available, located in the locales/* folder.
 | 
						||
 | 
						||
    If your language is not listed, don't worry! You can easily create a new one
 | 
						||
    by adding a new file in the locales folder and customizing it to your needs.
 | 
						||
 | 
						||
    Default languages available:
 | 
						||
        'ar'     -- Arabic
 | 
						||
        'bg'     -- Bulgarian
 | 
						||
        'ca'     -- Catalan
 | 
						||
        'cs'     -- Czech
 | 
						||
        'da'     -- Danish
 | 
						||
        'de'     -- German
 | 
						||
        'el'     -- Greek
 | 
						||
        'en'     -- English
 | 
						||
        'es'     -- Spanish
 | 
						||
        'fa'     -- Persian
 | 
						||
        'fr'     -- French
 | 
						||
        'he'     -- Hebrew
 | 
						||
        'hi'     -- Hindi
 | 
						||
        'hu'     -- Hungarian
 | 
						||
        'it'     -- Italian
 | 
						||
        'ja'     -- Japanese
 | 
						||
        'ko'     -- Korean
 | 
						||
        'nl'     -- Dutch
 | 
						||
        'no'     -- Norwegian
 | 
						||
        'pl'     -- Polish
 | 
						||
        'pt'     -- Portuguese
 | 
						||
        'ro'     -- Romanian
 | 
						||
        'ru'     -- Russian
 | 
						||
        'sl'     -- Slovenian
 | 
						||
        'sv'     -- Swedish
 | 
						||
        'th'     -- Thai
 | 
						||
        'tr'     -- Turkish
 | 
						||
        'zh-CN'  -- Chinese (Simplified)
 | 
						||
        'zh-TW'  -- Chinese (Traditional)
 | 
						||
 | 
						||
    After selecting your preferred language, be sure to save your changes and test
 | 
						||
    the asset to ensure everything works as expected!
 | 
						||
]]
 | 
						||
 | 
						||
Config.Language = 'en'
 | 
						||
 | 
						||
--[[
 | 
						||
    The current system will automatically detect if you are using 'qb-core' or 'es_extended'.
 | 
						||
    However, if you have renamed your framework, you can clear the value in `Config.Framework`
 | 
						||
    and manually add your framework name after adjusting the framework-specific files within
 | 
						||
    this script.
 | 
						||
 | 
						||
    Keep in mind that this detection is automated. Avoid making edits here unless you’re certain
 | 
						||
    of the changes, as incorrect modifications can disrupt functionality.
 | 
						||
]]
 | 
						||
 | 
						||
local esxHas = GetResourceState('es_extended') == 'started'
 | 
						||
local qbHas = GetResourceState('qb-core') == 'started'
 | 
						||
local qbxHas = GetResourceState('qbx_core') == 'started'
 | 
						||
 | 
						||
Config.Framework = esxHas and 'esx' or qbxHas and 'qbx' or qbHas and 'qb' or 'standalone'
 | 
						||
 | 
						||
--[[
 | 
						||
    General asset settings: here you can adjust options like the growth time for plants
 | 
						||
    or add random areas on the map for plantations.
 | 
						||
 | 
						||
    Please avoid modifying the final settings, as changing them could disrupt the functionality
 | 
						||
    of the asset.
 | 
						||
]]
 | 
						||
 | 
						||
Config.PoliceJobs = { -- Specify jobs that have permission for creating houses
 | 
						||
    'police',
 | 
						||
    'sheriff'
 | 
						||
}
 | 
						||
 | 
						||
Config.HarvestTime = (60 * 1000) * 9.6 -- Growth time in milliseconds
 | 
						||
Config.MaxPlants = 10                  -- Maximum number of plants allowed per house
 | 
						||
 | 
						||
Config.WeedArea = {                    -- Define random plantation areas on the map
 | 
						||
    {
 | 
						||
        id = 'weed-area-01',
 | 
						||
        minZ = 1,
 | 
						||
        maxZ = 800,
 | 
						||
        points = {
 | 
						||
            vec3(3140.91, 4104.55, 77.57),
 | 
						||
            vec3(2092.42, 1953.03, 77.57),
 | 
						||
            vec3(3122.73, 1595.45, 77.57),
 | 
						||
            vec3(3728.79, 3989.39, 77.57)
 | 
						||
        }
 | 
						||
    }
 | 
						||
}
 | 
						||
 | 
						||
--[[
 | 
						||
    Do not modify this section; any changes may disrupt the asset’s functionality.
 | 
						||
 | 
						||
    Config.Props defines the various stages of weed growth with specific models.
 | 
						||
    These props correspond to different stages, from initial planting ('stage-a')
 | 
						||
    through full growth ('stage-g').
 | 
						||
]]
 | 
						||
 | 
						||
Config.UseableItems = {
 | 
						||
    {
 | 
						||
        itemName = 'weed_white-widow_seed',
 | 
						||
        plantName = 'white-widow',
 | 
						||
        bagCount = 15, -- Need empty_weed_bag count to plant
 | 
						||
        harvestAmount = 2
 | 
						||
    },
 | 
						||
    {
 | 
						||
        itemName = 'weed_white-weed_skunk_seed',
 | 
						||
        plantName = 'skunk',
 | 
						||
        bagCount = 15, -- Need empty_weed_bag count to plant
 | 
						||
        harvestAmount = 2
 | 
						||
    },
 | 
						||
    {
 | 
						||
        itemName = 'weed_purple-haze_seed',
 | 
						||
        plantName = 'purple-haze',
 | 
						||
        bagCount = 15, -- Need empty_weed_bag count to plant
 | 
						||
        harvestAmount = 2
 | 
						||
    },
 | 
						||
    {
 | 
						||
        itemName = 'weed_og-kush_seed',
 | 
						||
        plantName = 'og-kush',
 | 
						||
        bagCount = 15, -- Need empty_weed_bag count to plant
 | 
						||
        harvestAmount = 2
 | 
						||
    },
 | 
						||
    {
 | 
						||
        itemName = 'weed_amnesia_seed',
 | 
						||
        plantName = 'amnesia',
 | 
						||
        bagCount = 15, -- Need empty_weed_bag count to plant
 | 
						||
        harvestAmount = 2
 | 
						||
    },
 | 
						||
    {
 | 
						||
        itemName = 'weed_ak47_seed',
 | 
						||
        plantName = 'ak47',
 | 
						||
        bagCount = 15, -- Need empty_weed_bag count to plant
 | 
						||
        harvestAmount = 2
 | 
						||
    },
 | 
						||
    {
 | 
						||
        itemName = 'weed_nutrition',
 | 
						||
    },
 | 
						||
}
 | 
						||
 | 
						||
Config.Plants = {
 | 
						||
    ['og-kush'] = {
 | 
						||
        ['label'] = 'OG Kush',
 | 
						||
        ['item'] = 'ogkush',
 | 
						||
        ['stages'] = {
 | 
						||
            ['stage-a'] = 'bkr_prop_weed_01_small_01c',
 | 
						||
            ['stage-b'] = 'bkr_prop_weed_01_small_01b',
 | 
						||
            ['stage-c'] = 'bkr_prop_weed_01_small_01a',
 | 
						||
            ['stage-d'] = 'bkr_prop_weed_med_01b',
 | 
						||
            ['stage-e'] = 'bkr_prop_weed_lrg_01a',
 | 
						||
            ['stage-f'] = 'bkr_prop_weed_lrg_01b',
 | 
						||
            ['stage-g'] = 'bkr_prop_weed_lrg_01b',
 | 
						||
        },
 | 
						||
        ['highestStage'] = 'stage-g'
 | 
						||
    },
 | 
						||
    ['amnesia'] = {
 | 
						||
        ['label'] = 'Amnesia',
 | 
						||
        ['item'] = 'amnesia',
 | 
						||
        ['stages'] = {
 | 
						||
            ['stage-a'] = 'bkr_prop_weed_01_small_01c',
 | 
						||
            ['stage-b'] = 'bkr_prop_weed_01_small_01b',
 | 
						||
            ['stage-c'] = 'bkr_prop_weed_01_small_01a',
 | 
						||
            ['stage-d'] = 'bkr_prop_weed_med_01b',
 | 
						||
            ['stage-e'] = 'bkr_prop_weed_lrg_01a',
 | 
						||
            ['stage-f'] = 'bkr_prop_weed_lrg_01b',
 | 
						||
            ['stage-g'] = 'bkr_prop_weed_lrg_01b',
 | 
						||
        },
 | 
						||
        ['highestStage'] = 'stage-g'
 | 
						||
    },
 | 
						||
    ['skunk'] = {
 | 
						||
        ['label'] = 'Skunk',
 | 
						||
        ['item'] = 'skunk',
 | 
						||
        ['stages'] = {
 | 
						||
            ['stage-a'] = 'bkr_prop_weed_01_small_01c',
 | 
						||
            ['stage-b'] = 'bkr_prop_weed_01_small_01b',
 | 
						||
            ['stage-c'] = 'bkr_prop_weed_01_small_01a',
 | 
						||
            ['stage-d'] = 'bkr_prop_weed_med_01b',
 | 
						||
            ['stage-e'] = 'bkr_prop_weed_lrg_01a',
 | 
						||
            ['stage-f'] = 'bkr_prop_weed_lrg_01b',
 | 
						||
            ['stage-g'] = 'bkr_prop_weed_lrg_01b',
 | 
						||
        },
 | 
						||
        ['highestStage'] = 'stage-g'
 | 
						||
    },
 | 
						||
    ['ak47'] = {
 | 
						||
        ['label'] = 'AK 47',
 | 
						||
        ['item'] = 'ak47',
 | 
						||
        ['stages'] = {
 | 
						||
            ['stage-a'] = 'bkr_prop_weed_01_small_01c',
 | 
						||
            ['stage-b'] = 'bkr_prop_weed_01_small_01b',
 | 
						||
            ['stage-c'] = 'bkr_prop_weed_01_small_01a',
 | 
						||
            ['stage-d'] = 'bkr_prop_weed_med_01b',
 | 
						||
            ['stage-e'] = 'bkr_prop_weed_lrg_01a',
 | 
						||
            ['stage-f'] = 'bkr_prop_weed_lrg_01b',
 | 
						||
            ['stage-g'] = 'bkr_prop_weed_lrg_01b',
 | 
						||
        },
 | 
						||
        ['highestStage'] = 'stage-g'
 | 
						||
    },
 | 
						||
    ['purple-haze'] = {
 | 
						||
        ['label'] = 'Purple Haze',
 | 
						||
        ['item'] = 'purplehaze',
 | 
						||
        ['stages'] = {
 | 
						||
            ['stage-a'] = 'bkr_prop_weed_01_small_01c',
 | 
						||
            ['stage-b'] = 'bkr_prop_weed_01_small_01b',
 | 
						||
            ['stage-c'] = 'bkr_prop_weed_01_small_01a',
 | 
						||
            ['stage-d'] = 'bkr_prop_weed_med_01b',
 | 
						||
            ['stage-e'] = 'bkr_prop_weed_lrg_01a',
 | 
						||
            ['stage-f'] = 'bkr_prop_weed_lrg_01b',
 | 
						||
            ['stage-g'] = 'bkr_prop_weed_lrg_01b',
 | 
						||
        },
 | 
						||
        ['highestStage'] = 'stage-g'
 | 
						||
    },
 | 
						||
    ['white-widow'] = {
 | 
						||
        ['label'] = 'White Widow',
 | 
						||
        ['item'] = 'whitewidow',
 | 
						||
        ['stages'] = {
 | 
						||
            ['stage-a'] = 'bkr_prop_weed_01_small_01c',
 | 
						||
            ['stage-b'] = 'bkr_prop_weed_01_small_01b',
 | 
						||
            ['stage-c'] = 'bkr_prop_weed_01_small_01a',
 | 
						||
            ['stage-d'] = 'bkr_prop_weed_med_01b',
 | 
						||
            ['stage-e'] = 'bkr_prop_weed_lrg_01a',
 | 
						||
            ['stage-f'] = 'bkr_prop_weed_lrg_01b',
 | 
						||
            ['stage-g'] = 'bkr_prop_weed_lrg_01b',
 | 
						||
        },
 | 
						||
        ['highestStage'] = 'stage-g'
 | 
						||
    },
 | 
						||
}
 | 
						||
 | 
						||
Config.Props = {
 | 
						||
    ['stage-a'] = 'bkr_prop_weed_01_small_01c',
 | 
						||
    ['stage-b'] = 'bkr_prop_weed_01_small_01b',
 | 
						||
    ['stage-c'] = 'bkr_prop_weed_01_small_01a',
 | 
						||
    ['stage-d'] = 'bkr_prop_weed_med_01b',
 | 
						||
    ['stage-e'] = 'bkr_prop_weed_lrg_01a',
 | 
						||
    ['stage-f'] = 'bkr_prop_weed_lrg_01b',
 | 
						||
    ['stage-g'] = 'bkr_prop_weed_lrg_01b',
 | 
						||
}
 | 
						||
 | 
						||
local implemenetCaches = {} -- Internal cache for tracking error implementations, do not modify
 | 
						||
-- Function to handle error implementations
 | 
						||
function ImplementError(name)
 | 
						||
    if implemenetCaches[name] then
 | 
						||
        return
 | 
						||
    end
 | 
						||
    print('^1[IMPLEMENT ERROR]^7', name) -- Outputs an error message with the name of the issue
 | 
						||
    implemenetCaches[name] = true        -- Caches the name to prevent repeated error messages
 | 
						||
end
 | 
						||
 | 
						||
Config.Debug = true -- Enable debug mode
 |