Zones
Core Gangs uses a zone-based territory system. Zones are map areas that organizations can capture, defend, and profit from.
Database & Zone Changes
If you modify or remove zones that are already claimed in-game, the old zone data will persist in the database. You must clear the affected zone entries from the DB for changes to take effect. Otherwise the old zones will still appear in-game even though they no longer exist in your config.
Finding Zone IDs
Use the /currentzone command in-game. The zone ID will print to your F8 console.
Zone Types
Generation
Automatically produces items over time and deposits them into a zone storage. Think weed farms, meth labs.
Processing
Converts raw materials from storage into finished products. Coca leaves become cocaine, chemicals become drugs.
Sales
Sells items from storage in exchange for special currency. The final step in the drug pipeline.
House
Gang house with secure storage. Can be captured via war or assigned by admin.
Continental
Safe zone where killing is prohibited. Includes a shop that sells items for special currency. Not capturable.
Generation Zones
Produce items automatically and deposit them into a storage:
lua
Zones = {
[6740] = {
Title = 'WEED HARVEST',
Picture = 'https://i.imgur.com/5ZQJ6Xs.png',
Description = {
'Produces weed every minute',
'Retrieve the product from the storage'
},
Type = 'generation',
Storages = {
['generation-storage01'] = {
InventoryType = 'stash',
Coords = vector3(-1148.14, -1451.23, 4.53 - 0.98),
Prop = 'prop_weed_tub_01',
Rotation = 33.3160,
slot = 50,
maxWeight = 2500000,
OnlyOwnerCanAccessStorage = false,
},
},
NPCs = {
['mp_m_weed_01'] = {
Coords = vector3(-1147.59, -1452.12, 4.60 - 0.98),
Rotation = 30.7270,
animDict = 'amb@lo_res_idles@',
animName = 'world_human_lean_male_foot_up_lo_res_base'
},
},
GenerationItems = {
{ itemName = 'weed_skunk', itemAmount = 1 },
{ itemName = 'weed_purplehaze', itemAmount = 1 },
},
Time = 60000, -- ms between generation cycles
},
}Processing Zones
Convert items stored in the zone's storage into other items:
lua
[5725] = {
Title = 'COCAINE PROCESSING',
Type = 'processing',
Storages = { ... },
ProcessingItems = {
{
ProcessingFromItem = 'coca_leaf',
ProcessingFromItemAmount = 10,
ProcessingToItem = 'cokebaggy',
ProcessingToItemAmount = 1
},
{
ProcessingFromItem = 'cokebaggy',
ProcessingFromItemAmount = 10,
ProcessingToItem = 'coke_small_brick',
ProcessingToItemAmount = 1
},
},
Time = 60000,
},Sales Zones
Sell items from storage in exchange for currency:
lua
[5164] = {
Title = 'COCAINE SALES',
Type = 'sales',
Storages = {
['sales-storage01'] = {
InventoryType = 'stash',
Coords = vector3(-798.56, 884.49, 203.60 - (2 * 0.98)),
Rotation = 287.79,
Npc = 's_m_y_dealer_01', -- NPC model (instead of Prop)
animDict = 'amb@code_human_in_bus_passenger_idles@male@sit@base',
animName = 'base',
slot = 50,
maxWeight = 2500000,
OnlyOwnerCanAccessStorage = false,
},
},
SalesItems = {
{ SaleItem = 'cokebaggy', SaleAmount = 10, SalePriceForAmount = 100 },
{ SaleItem = 'coke_small_brick', SaleAmount = 1, SalePriceForAmount = 100 },
},
Time = 60000,
},House Zones
Gang houses provide secure storage. Configured in Config.HouseZones:
lua
HouseZoneCapture = true, -- Allow capturing house zones via war
HouseZones = {
[7067] = {
Title = 'BALLAS GANG HOUSE',
Picture = 'https://i.imgur.com/5ZQJ6Xs.png',
Description = {
'Gang house with storage',
'Provide a secure storage for your gang'
},
Type = 'house',
Storages = {
['house-storage01'] = {
InventoryType = 'stash',
Coords = vector3(115.59, -1952.19, 20.75 - 0.98),
Prop = 'prop_weed_tub_01',
Rotation = 49.17,
slot = 50,
maxWeight = 2500000,
}
},
NPCModels = { 'csb_ballasog', 'g_f_y_ballas_01' },
NPCWeapons = { 'weapon_pistol', 'weapon_microsmg' },
},
},INFO
Set HouseZoneCapture = false to prevent wars on house zones — they'll need to be assigned via the setZoneToOrg export instead.
Continental Zones
Safe zones where killing is prohibited. They include a shop that sells items for special currency.
lua
Continentals = {
[8025] = {
Title = 'CONTINENTAL AREA',
Type = 'continental',
ShopNPCs = {
['s_m_y_devinsec_01'] = {
Coords = vector3(1196.96, -3253.45, 7.10 - 0.98),
Rotation = 88.46,
}
},
Shop = {
['items'] = {
['lockpick'] = 10,
['armor'] = 50,
['bandage'] = 5,
},
['weapons'] = {
['weapon_smg'] = 200,
['weapon_assaultrifle'] = 500,
['weapon_pistol'] = 100,
}
},
ShopOpenHours = {00, 11}, -- false = 24/7, or {open, close}
},
},lua
KillInContinentalZoneSetBounty = true,
BountyPriceSetOnContinentalKill = 200,Storage Options
Every zone storage supports these fields:
| Field | Type | Description |
|---|---|---|
InventoryType | string | Inventory type (e.g., 'stash') |
Coords | vector3 | Position (subtract 0.98 for character height) |
Prop | string | GTA prop model for interaction (or use Npc for NPC model) |
Rotation | number | Heading of the prop/NPC |
slot | number | Inventory slot count |
maxWeight | number | Maximum weight capacity |
OnlyOwnerCanAccessStorage | boolean | Restrict to org owner only |
TIP
Storage names must be globally unique across all zones and house zones.
Blacklisted Zones
Prevent specific zones from appearing on the map:
lua
BlackListedZones = {
[5083] = true,
[6352] = true,
-- Add zone IDs to exclude
},Zone Behavior When Unowned
lua
EnableGenerationWhenZoneIsNotOwned = true,
EnableProcessingWhenZoneIsNotOwned = true,
EnableSellingWhenZoneIsNotOwned = true,