OrigenNetwork
Docs

Installation · origen_ilegalv2

1. Download

Grab the resource from your customer panel and extract it into your resources folder.

bash
cd resources/
unzip origen_ilegalv2.zip -d [origen]/origen_ilegalv2

2. Import the database

The schema is located at database.sql in the root of the resource.

The resource also auto-verifies the schema on every boot using server/classes/database.lua. If a table or column is missing it will be created automatically. The database.sql file is the source of truth — keep it in sync if you change the data model.

database.sql includes the origen_gang_announcements table required by the admin announcement system. If you are upgrading from a version prior to this, run the following statement manually:

sql
CREATE TABLE IF NOT EXISTS `origen_gang_announcements` (
  `id`               int(11)      NOT NULL AUTO_INCREMENT,
  `title`            varchar(255) NOT NULL,
  `description`      text         DEFAULT NULL,
  `image_url`        varchar(512) DEFAULT NULL,
  `target_all_gangs` tinyint(1)   NOT NULL DEFAULT 1,
  `sent_by`          varchar(60)  NOT NULL,
  `sent_by_name`     varchar(150) NOT NULL,
  `sent_at`          timestamp    NOT NULL DEFAULT current_timestamp(),
  PRIMARY KEY (`id`),
  KEY `sent_at` (`sent_at`),
  KEY `target_all_gangs` (`target_all_gangs`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

3. Configure

Open config/general.lua and set your language:

luaconfig/general.lua
Config.Debug    = false
Config.Language = 'en'  -- 'en' | 'es'

Optionally open config_sv.lua for server-side settings such as Fivemanage logging tokens.

config_sv.lua contains sensitive tokens. Do not expose its contents in logs or public repositories.

4. Register the ilegal_cad item

Add the CAD item to your inventory resource item list:

luaExample — ox_inventory/data/items.lua
['ilegal_cad'] = {
    label  = 'Gang CAD',
    weight = 100,
    stack  = false,
},

The first CAD is delivered automatically when a gang is created. Additional units are purchased from the gang dashboard.

5. Add to server.cfg

Start your framework (es_extended, qb-core, or qbx_core), your inventory (if you use one of the supported bridges), and any other resources origen_ilegalv2 relies on for auto-detection — target, dispatch, voice, etc. — before origen_ilegalv2. Detection only sees providers that are already running. See Dependencies for the full matrix.

bashserver.cfg
# Framework + inventory + optional bridges (examples — use your actual resource names)
# ensure qbx_core
# ensure ox_inventory
 
# Optional integrations — must start BEFORE origen_ilegalv2 if used
# ensure origen_graffiti   # standalone graffiti system
# ensure origen_police     # police integration (Robbery Requests)
 
ensure oxmysql
ensure ox_lib
ensure origen_ilegalv2

Load order matters. oxmysql and ox_lib must start before origen_ilegalv2, and your framework / inventory / bridged resources must start before origen_ilegalv2 so auto-detection can resolve them.

origen_graffiti — manual conflict prevention required

If you use origen_graffiti, you must manually disable the internal graffiti system of origen_ilegalv2. Open config/graffiti.lua and set Enable = false:

luaconfig/graffiti.lua
Config.Graffiti = {
    Enable = false, -- Disable internal graffiti — using origen_graffiti instead
    ...
}

This disables the spray can, NUI editor, cleaning rag, and placed-graffiti rendering. The territory reputation integration (graffiti_external.lua) remains active and keeps processing tags from origen_graffiti.

origen_police — Robbery Requests

The Robbery Requests tab in the gang panel is only visible when origen_police is running. Start origen_police before origen_ilegalv2 so the tab is visible from the first connection. If origen_police starts after, the tab appears automatically once it comes online.

6. Verify

Start the server and check the console. On first boot you should see:

text
[origen_ilegalv2]
* Framework: qb-core
* Inventory: ox_inventory
* Language: en
* Debug: Disabled
* Version: 1.0.0  Latest Version

All detected dependencies print with their active provider name. Any indicates a missing or non-started resource.