πCONFIG
You can check out default QBCore ad ESX config.
Config = {
------------------------
-- FRAMEWORK SETTINGS --
------------------------
-- Framework use
-- you can choose between :
-- 'qb-core'
-- 'esx'
Framework = 'qb-core',
-- Framework resource name is the name of the resource folder
-- by default it's :
-- 'qb-core' for qb-core framework
-- 'es_extended' for esx framework
FrameworkResource = 'qb-core',
------------------------
------- ESX ONLY -------
------------------------
-- Framework version (ESX ONLY)
-- if you use lower than 1.8
-- OR use ESX with getSharedObject event, set it to false
NewFrameworkVersion = true,
-- Framework event (ESX ONLY)
-- to retrieve esx framework (on old version)
SharedObject = 'esx:getSharedObject',
------------------------
-- INVENTORY SETTINGS --
------------------------
-- You can choose between :
-- 'qb-inventory' (If you use lj-inventory / ps-inventory or any fork of qb-inventory set qb-inventory)
-- 'core_inventory' : https://www.c8re.store/
-- 'ox_inventory' : https://github.com/overextended/ox_inventory
-- 'qs-inventory' (version higher or equal to 2.2.8) : https://buy.quasar-store.com/
UseInventory = 'qb-inventory',
------------------------
-- QB-INVENTORY ONLY ---
------------------------
-- Here you can set the resource folder name (if you use lj-inventory / ps-inventory or any other qb-inventory fork inventory)
QBInventoryResourceName = 'qb-inventory',
------------------------
---- BASIC SETTINGS ----
------------------------
-- UI
OpenKey = 'F9', -- Key for opening the menu
TransfertOwnershipWhenOwnerLeave = true, -- Transfert the ownership of the organization to the most "stats" player from the org (all the stats added up)
RemoveOrganizationWhenEveryMembersLeaveIt = true, -- Will remove the organization from database and set neutral all the zone when all the members of an organization lease it
-----------------------------------
----- ZONE PROTECTION LEVELS ------
-----------------------------------
DefaultProtectionValue = 3, -- Default protection value for default zones (zones that are not in database)
ProtectionValuePrice = 100, -- This price will be multiplied by protection value to get the price for protection level
MaxProtectionLevel = 5, -- Maximum protection level that can be set on zone
------------------------
---- NPCS SETTINGS -----
------------------------
DefaultNPCValue = 0, -- Default number of npcs that will spawn to protect the zone (Performance Heavy if set to high)
NPCValuePrice = 100, -- Default price for one more npc that will spawn to protect the zone
MaxNPCValue = 5, -- Maximum number of npcs that can be spawned to protect the zone
NPCSpawnWithWeaponInHand = true, -- Weapon of the npc is display in his hand when he wnader in area
NPCAttackOnlyWhenWarOnNPCZone = true, -- Npc only attack if a war is start in the zone, else, won't attack anymore (even if you are another organization / player without organization)
NPCAttackOtherDefaultGroup = false, -- Allow NPC to attack other NPC group like VAGOS / LOST / F4L / COP
NPCRevertAfterCapture = true, -- Will revert npc value to default after zone is captured, existing npc will stop attacking and will be release / surrender
NPCStopAttackingOnWarEnd = true, -- NPC will stop attacking on war end (even if enemy take or don't take the zone)
NPCModels = {"g_m_m_chicold_01", "csb_brucie2", "g_m_y_korean_02", "csb_vincent"}, -- Setup the npc model name (Can be retrieve here : https://docs.fivem.net/docs/game-references/ped-models/)
NPCWeapons = {"weapon_pistol", "weapon_microsmg", "weapon_pumpshotgun"}, -- Weapon that can be add to Npc spawn to defend the zone.
-------------------------
---- BOUNTY SETTINGS ----
-------------------------
IsBountyCK = false, -- !!WARNING!! Do completed bounties count as Character Kill (automatically deletes character, check functions_override.lua to implement inventory and others information removal)
IsBountyStatWipe = true, -- !!WARNING!! Completed bounties will wipe criminals role stats (will revert to base role ex. Pickpocket)
MinimalBounty = 200, -- Minimal bounty that can be set on player
-- ZONE WAR SETTINGS
BaseZoneWarTime = 10, -- Time in minutes after which zone will be captured
MinimumOnline = 2, -- Amount of players that need to be online to start zone war for an owned zone by another organization
OwnedZoneAdvantage = 1000, -- Amount of points your organization gets if you own the zone when the war start to your territory
WarScoreIncrease = 5, -- Amount of points added every second from each player to your organizations score in battle
OrganizationCooldown = 5, -- Time in minutes after which player can start another zone war
ZoneCooldown = 10, -- Time in minutes after which all players can start another war in the same zone
CurrencyAward = 200, -- Amount of special currency awarded to each criminal in winning organization
-- ORGANIZATIONS
CanCreateOrganizations = true, -- Can players create organizations
OrganizationCreationPrice = 500, -- Price for creating organization
-- SPECIAL CURRENCY (Inventory Item)
-- Dont forget to add this item to your inventory items.lua in qb-core
CurrencyName = 'bitcoin', -- Name of special currency
-- MULTIPLIER ZONE DRAW SHAPE
-- The shape will be drawn around the important zones
CubeShape = false, -- Cube shape
CircleShape = false, -- Circle shape
DiamondShape = true, -- Diamond shape
-- ZONES
-- !!!IMPORTANT!!!! FIND ZONE BY TYPING /CURRENTZONE
-- You can create any zone you want.
-- Go in game, find the place where yo uwant to set the zone
-- Type /currentzone and open you F8 console, the number display is the zone number
-- Then add the title, image, storage and all other parameters like in hte example provide with the script bellow
-- Value zones are special areas that can be captured by organizations
-- These zones provide value for organization in various ways
-- ValueTypes: processing, sales, storage, generation, moneywash
Zones = {
-- key return by the command /currentzone
-- /!\ Make sure every time you change the coords you check the zone with /currentzone command and update the table key if needed to change the location on the map too /!\
-- If you only change the coords without the zone number you can probably have a zone and coords that doesn't match on the map
[6442] = {
Title = 'WEED HARVEST',
Picture = 'https://i.imgur.com/5ZQJ6Xs.png',
Type = 'generation', -- processing, sales, storage, generation, moneywash
Storages = {
['generation-storage01'] = {
InventoryType = 'stash',
Coords = vector3(713.53668212891, -964.27502441406, 29.395343780518),
Prop = 'prop_tool_box_05',
Rotation = 10.0,
slot = 50, -- qb-inventory integration
maxWeight = 2500000 -- qb-inventory integration
}
},
NPCs = {
['u_m_m_aldinapoli'] = {
Coords = vector3(715.89758300781, -962.39373779297, 29.395343780518),
Rotation = 50.0,
animDict = nil,
animName = nil
}
},
-- GENERATION TYPE SETTINGS
GenerationItem = 'weed', -- Item that will be generated
Time = 60000, -- Time in miliseconds after which item will be generated
GenerationAmount = 1 -- Amount of items that will be generated
},
-- key return by the command /currentzone
-- /!\ Make sure every time you change the coords you check the zone with /currentzone command and update the table key if needed to change the location on the map too /!\
[6028] = {
Title = 'COCAINE PROCESSING',
Picture = 'https://i.imgur.com/5ZQJ6Xs.png',
Type = 'processing', -- processing, sales, storage, generation, moneywash
Storages = {
['processing-storage01'] = {
InventoryType = 'stash',
Coords = vector3(-1329.8134765625, -406.20141601563, 42.299514770508),
Prop = 'prop_tool_box_05',
Rotation = 0,
slot = 50, -- qb-inventory integration
maxWeight = 2500000 -- qb-inventory integration
}
},
NPCs = {
['u_m_m_aldinapoli'] = {
Coords = vector3(-1327.7449951172, -405.06851196289, 42.299514770508),
Rotation = 50.0,
animDict = nil,
animName = nil
}
},
-- PROCESSING TYPE SETTINGS
ProcessingFrom = 'poppyplant', -- Item that will be processed from
ProcessingTo = 'cocaine', -- Item that will be processed to
Time = 60000, -- Time in miliseconds after which item will be processed
ProcessingFromAmount = 1, -- Amount of items that will be processed
ProcessingToAmount = 2 -- Amount of items that will be processed
},
-- key return by the command /currentzone
-- /!\ Make sure every time you change the coords you check the zone with /currentzone command and update the table key if needed to change the location on the map too /!\
[5810] = {
Title = 'COCAINE SALES',
Picture = 'https://i.imgur.com/5ZQJ6Xs.png',
Type = 'sales', -- processing, sales, storage, generation, moneywash
Storages = {
['sales-storage01'] = {
InventoryType = 'stash',
Coords = vector3(973.36932373047, -123.14975738525, 73.289237976074),
Prop = 'prop_tool_box_05',
Rotation = 0,
slot = 50, -- qb-inventory integration
maxWeight = 2500000 -- qb-inventory integration
}
},
NPCs = {
['u_m_m_aldinapoli'] = {
Coords = vector3(975.84338378906, -124.64277648926, 73.186317443848),
Rotation = 50.0,
animDict = nil,
animName = nil
}
},
-- SALES TYPE SETTINGS
-- Reward will be the CurrencyName set in the config file
SaleItem = 'cocaine', -- Item that will be sold
Time = 60000, -- Time in miliseconds after which item will be sold
SaleAmount = 1, -- Amount of items that will be sold
SaleFullPrice = 10 -- Price for the amount written above
}
},
HouseZoneCapture = false, -- By enabling this you will be able to capture houses
HouseZones = {
-- key return by the command /currentzone
[7067] = {
Title = 'GANG HOUSE',
Picture = 'https://i.imgur.com/5ZQJ6Xs.png',
Type = 'house',
Storages = {
['house-storage01'] = {
InventoryType = 'stash',
Coords = vector3(121.41872406006, -1926.7189941406, 20.001792907715),
Prop = 'prop_tool_box_05',
Rotation = 0,
slot = 50, -- qb-inventory integration
maxWeight = 2500000 -- qb-inventory integration
}
}
}
},
-- Continentals are special zones that are not capturable but they serve as a safezone for all criminals
-- Killing on continental grounds (killer OR victim in the continental zone) will grant you status of excomunicado and you will get a bounty (Can be disable with KillInContinentalZoneSetBounty set to false)
-- Also they are used for shopping with special currency
KillInContinentalZoneSetBounty = true, -- Set a bounty on the player direclty if he killed someone in the Continental zone
BountyPriceSetOnContinentalKill = 200, -- The bounty amount set to the player if the player killed in continental zone or tha amount add to an existing bounty set to this player
Continentals = {
-- key return by the command /currentzone
-- /!\ Make sure every time you change the coords you check the zone with /currentzone command and update the table key if needed to change the location on the map too /!\
[7945] = {
Title = 'CONTINENTAL AREA',
Picture = 'https://static.wikia.nocookie.net/john-wick8561/images/f/f1/Nyc.png/revision/latest?cb=20230513173806',
Type = 'continental',
ShopNPCs = {
['u_m_m_aldinapoli'] = {
Coords = vector3(1196.9603, -3253.4490, 7.0952 - 0.98),
Rotation = 88.4567,
animDict = nil,
animName = nil
}
},
Shop = {
['items'] = {
['lockpick'] = 10,
['armor'] = 50,
['bandage'] = 5,
['medikit'] = 20,
},
['weapons'] = {
['weapon_smg'] = 200,
['weapon_assaultrifle'] = 500,
['weapon_knife'] = 20,
['weapon_pistol'] = 100,
}
}
}
},
-- Criminal titles asigned for achieved criminals
-- Higher number titles are more exclusive
CriminalTitles = {
[1] = {
Title = 'Pickpocket',
Color = '#6e6e6e',
Background = '#454545',
-- REQUIRED
Require = {
['kills'] = 0,
['headshots'] = 0,
['captured'] = 0,
['bounties'] = 0
}
},
[2] = {
Title = 'Bandit',
Color = '#87b5ff',
Background = '#214173',
-- REQUIRED
Require = {
['kills'] = 20,
['headshots'] = 2,
['captured'] = 0,
['bounties'] = 0
}
},
[3] = {
Title = 'The Don',
Color = '#bf49eb',
Background = '#711c91',
-- REQUIRED
Require = {
['kills'] = 50,
['headshots'] = 10,
['captured'] = 10,
['bounties'] = 10
}
},
[4] = {
Title = 'Baba Yaga',
Color = '#db212a',
Background = '#591215',
-- REQUIRED
Require = {
['kills'] = 100,
['headshots'] = 20,
['captured'] = 20,
['bounties'] = 20
}
}
},
Text = {
['name_already_used'] = 'This name is already being used',
['required_organization_name'] = 'Organization name is required',
['required_organization_color'] = 'Organization color is required',
['required_organization_picture'] = 'Organization picture is required',
['invalid_hex_color'] = 'This color code is not an hexadecimal color code',
['not_your_zone'] = 'This is not your zone!',
['already_in_war'] = 'Your organization is already in war',
['only_owner'] = 'Only organization owner is allowed to do this',
['not_enough_currency'] = 'You dont have enough currency',
['not_enough_space'] = 'You dont have enough space',
['account_required'] = 'You need to create your account first',
['feature_turnedoff'] = 'This feature is turned off!',
['no_nearby_zone'] = 'You dont have a zone that is connected to this one!',
['not_online'] = "The criminal is not online!",
['invited'] = "Criminal was invited",
['received_invite'] = "You received an invite from organization",
['already_invited'] = "Already invited!",
['success'] = "Operation successful!",
['name_cant_contain_spaces'] = 'You cant use spaces!',
['cooldown'] = 'Unavailable due to cooldown',
['already_accepted'] = 'You cannot take another bounty once current one is settled',
['bounty_set'] = 'Bounty registered!',
['bounty_deleted'] = 'Bounty deleted!',
['bounty_set_continental'] = 'A bounty was set to you head. Killing somone in continental zone is prohibited',
['bounty_increase_continental'] = 'The bounty on your head has been increased. Killing somone in continental zone is prohibited',
['bounty_to_low'] = 'The bounty amount is lower than the minimum required ({{amount}} {{currency}}(S))',
['waypointSet'] = 'Waypoint was set!',
['zone_capture_global'] = 'Zone war started!',
['owned_zone_capturing'] = 'Your zone is being captured!',
['not_enough_online'] = 'Zone is underprotected',
['zone_max_level_reached'] = 'Max level of zone protection have been reached',
['npc_max_level_reached'] = 'Max level of gang protection have been reached'
}
}
function SendTextMessage(msg)
SetNotificationTextEntry('STRING')
AddTextComponentString(msg)
DrawNotification(0, 1)
-- QBCore.Functions.Notify(msg, 'error', 5000)
end
Last updated