OrigenNetwork
Docs

Configuration · origen_inventory

origen_inventory is configured through config.lua, config_sv.lua and the modular files inside the config/ folder. This page documents every variable grouped by area.


General — config.lua

VariableTypeDefaultDescription
Config.DebugbooleantrueEnables debug logging across all subsystems. Disable on production.
Config.Languagestring"es"Locale loaded from locales/translations/. Accepts es or en.
Config.Frameworkstringauto-detected"qbx", "esx", "qbcore" or "NONE". Returned by AutoSelectFramework().
Config.Phone.Resourcestring"qs-smartphone-pro"Phone integration. Accepts "qs-smartphone-pro", "lb-phone", "none".
Config.Progressbarstring"default"Progressbar provider. One of default, esx_progressbar, qb-core, qs-progressbar, ox_lib.
Config.UseInventoryComsumablesbooleantrueEnables built-in eat/drink/alcohol consumable handling.
Config.CreateStashIfNoExistsbooleantrueAuto-creates a stash row when an unknown stash ID is opened.
Config.DefaultOpenKeystring"F2"First-time-only key binding for opening the inventory. After registration, players change it from FiveM key bindings.
Config.HotbarOpenKeystring"TAB"Key bound to toggling the hotbar. Only used when Config.UI.Hotbar = true.
Config.DisableEscOnInventoryOpenbooleantrueDisables ESC while the inventory UI is open.
Config.DisableMovementOnInventoryOpenbooleanfalseFreezes the player while the UI is open.
Config.DisablePKeybooleantrueDisables the default map (P) key while inventory is open.
Config.NotifyExports.GiveItembooleantrueSends a notification to the player when giveItem is used.
Config.NotifyExports.RemoveItembooleantrueSends a notification to the player when removeItem is used.

Drop settings

VariableTypeDefaultDescription
Config.Drop.MaxWeightnumber100000Maximum total weight per ground drop.
Config.Drop.MaxSlotsnumber10Maximum slot count per ground drop.

Marker colors

lua
Config.MarkerColors = {
    give_player = vec4(0, 0, 0, 255),
}

Experimental flags

VariableTypeDefaultDescription
Config.Experimentals.giveItemAlgorithmstring"no_stack"Algorithm used when giving items. stack_unique allows giving stacks of unique items, slot_based auto-assigns slots for weapons, no_stack is the legacy single-item behaviour.

Experimental flags can corrupt inventory data on edge cases. Only enable them on a test server first.


Player — config/player.lua

VariableTypeDefaultDescription
Config.Player.GiveDistancenumber3.5Maximum distance in meters to give items to another player.
Config.Player.DropMarkerDistancenumber3.0Distance at which the floor drop marker becomes visible.
Config.Player.MaxWeightnumber120000Maximum total inventory weight (grams).
Config.Player.MaxInventorySlotsnumber40Maximum number of slots.
Config.Player.SaveIntervalnumber40Auto-save interval in minutes.
Config.Player.ShopTimeoutnumber2Cooldown in seconds before reopening a shop.

Cheat protection

VariableTypeDefaultDescription
Config.Player.CheatProtect.EnablebooleantrueMaster switch for anti-cheat measures. Ignored for admins matched by Bridge.IsAdmin.
Config.Player.CheatProtect.MaxDistanceRemoteOpennumber10.0Max distance allowed between the player and the inventory they are opening.
Config.Player.CheatProtect.EnableNoItemWeaponsbooleantrueRemoves weapons given to the player without going through the inventory (third-party scripts).

Clothes-As-Item (CAI)

VariableTypeDefaultDescription
Config.Player.ClothesAsItem.EnablebooleantrueEnables the Clothes-As-Item subsystem. Requires origen_clothing.

Money-As-Item (MAI)

VariableTypeDefaultDescription
Config.Player.MoneyAsItem.EnablebooleantrueEnables Money-As-Item. The money item is auto-registered by the resource.
Config.Player.MoneyAsItem.Accountstablesee belowAccounts mapped to inventory items.
lua
Config.Player.MoneyAsItem.Accounts = {
    [DetectMoneyOrCash()] = {
        account = DetectMoneyOrCash(),
        label = 'Dinero',
        description = 'El mundo gira a su alrededor',
        weight = 0,
    },
    -- black_money = {
    --     account = 'black_money',
    --     label = 'Black Money',
    --     description = 'Black Money',
    --     weight = 0,
    -- }
}

UI

VariableTypeDefaultDescription
Config.UI.MinibooleantrueWhen opening a secondary inventory (stash, trunk, etc.), hides the player inventory until the secondary closes.
Config.UI.ShowPlayerNameOnGiveItembooleantrueShows the receiver name on the give-item prompt.
Config.UI.HotbarbooleantrueEnables the hotbar.
Config.UI.ShowCraftingIndicatorbooleantrueShows a small indicator while a crafting action runs.
Config.UI.PlayerInventoryLabelstring"Inventory"Label displayed at the top of the player inventory tab.
Config.UI.Colorstring"default"UI color theme.
Config.UI.DelayNuiFocusForTabKeybooleanfalseDelays NUI focus when pressing TAB (fixes input issues on some clients).
Config.UI.EnableTabstablesee belowToggle visibility and sub-actions of inventory tabs.
lua
Config.UI.EnableTabs = {
    personal = {
        enable = true,
        clothes = true,
        enableActions = true,
        actions = {
            toggleHair = true,
            searchPlayer = true,
            carry = true,
            piggyback = true,
            rockstarEditor = true,
        }
    },
    settings = {
        enable = true,
        keybinds = true,
        appearance = true
    },
    vehicle = {
        enable = true,
    }
}

Animations

Config.Animations.Carry and Config.Animations.Piggyback define the animation dicts/clips used by the Carry and Piggyback actions. See config/player.lua for the full table.


Vehicles — config/vehicles.lua

VariableTypeDefaultDescription
Config.OpenTrunkAnywherebooleanfalseAllows opening the trunk regardless of the player position around the car.
Config.TrunkOpenDistancenumber3.0Maximum distance from the trunk to open it (when OpenTrunkAnywhere = false).
Config.BackEngineVehiclesstring[]see fileVehicles whose engine/trunk is at the front. The trunk position is auto-flipped for these.
Config.Trunks.vehiclestablesee belowPer-vehicle trunk capacity. The default key applies to any vehicle without an override.
Config.Gloveboxes.vehiclestablesee belowPer-vehicle glovebox capacity.
lua
Config.Trunks.vehicles = {
    default = {
        slots = 35,
        maxweight = 60000,
        label = 'Maletero',
    },
    [`speedo`] = {
        slots = 2,
        maxweight = 40000,
        label = 'Speedo Trunk',
        bone = 'door_dside_r',
    }
}
 
Config.Gloveboxes.vehicles = {
    default = {
        slots = 5,
        maxweight = 12500,
        label = 'Glovebox',
    },
    [`sultan`] = {
        slots = 5,
        maxweight = 12500,
        label = 'Sultan Glovebox',
    },
}

Use backticks (`) around the vehicle model name, not single or double quotes. The script hashes the spawn name internally.


Stashes — config/stashes.lua

lua
Config.Stashes = {
    default = {
        slots = 30,
        maxweight = 120000,
    },
    ['example'] = {
        label = 'ORIGEN TEST',
        slots = 8,
        marker = {
            type = 20,
            size = vector3(0.3, 0.3, 0.3),
            color = { r = 0, g = 0, b = 0, a = 255 },
        },
        locations = { vector3(-1319.3, -2493.41, 14.95) },
        -- job = 'police',
        -- job_gradeup = 0,
        -- job_gradedown = 2,
        -- gang = 'origen',
        -- gang_gradeup = 0,
        -- gang_gradedown = 3,
    },
}
FieldDescription
slotsSlot count for this stash.
maxweightTotal weight allowed (only valid on default).
labelDisplay label.
locationsArray of vector3. The stash is created at every position.
markerOptional type, size and color for the world marker.
job / job_gradeup / job_gradedownRestrict access to a job grade range.
gang / gang_gradeup / gang_gradedownSame as above for gangs.

Shops — config/shops.lua

The shops file is split into three pieces:

  • Config.Shop — defines the payment item for each shop ID ('money' if MAI is enabled, otherwise an account name).
  • Config.ShopItems — item lists, reusable across shops.
  • Config.Shops — the actual shop locations, with markers, blips and item assignments.
lua
Config.Shops = {
    ['weapons'] = {
        label = 'Shop',
        slots = 4,
        marker = {
            type = 20,
            size = vector3(0.3, 0.3, 0.3),
            color = { r = 0, g = 0, b = 0, a = 255 },
            distanceView = 5,
            distanceInteract = 1,
        },
        blip = {
            enabled = true,
            sprite = 52,
            color = 2,
            scale = 0.8,
            name = 'ORIGEN Shop Armas',
        },
        locations = { vector3(-1299.95, -2458.56, 13.94) },
        items = Config.ShopItems['weapons'],
    },
}

Each item entry inside Config.ShopItems accepts:

FieldTypeDescription
namestringItem or weapon name.
pricenumberCost per unit.
amountnumberStock displayed in the shop.
metadatatableOptional metadata applied to the purchased item (e.g. weapon serial).
typestringDefaults to 'item'.

Job/gang restrictions (job, job_gradeup, job_gradedown, gang, gang_gradeup, gang_gradedown) work the same as in stashes.


World Points — config/worldpoints.lua

The world point system is the engine that renders sprites/markers for stashes, shops, crafting tables and drops.

VariableTypeDefaultDescription
Config.WorldPoints.EnabledbooleantrueMaster switch. Disabling it removes every world point.
Config.WorldPoints.ForceGroundZbooleantrueForces points to ground level when copying coords.
Config.WorldPoints.BlipsShortRangebooleantrueBlips are only visible nearby instead of always on the minimap.
Config.WorldPoints.UseDropModelbooleantrueSpawns a prop on dropped item bags.
Config.WorldPoints.DefaultDropModelhash`prop_med_bag_01b`Prop used when UseDropModel = true.
Config.WorldPoints.MarkerColorstablesee fileMarker colors per point type.
Config.WorldPoints.DefaultMarkerstablesee fileDefault marker definitions for stash, shop and crafting.
Config.WorldPoints.PointTypestablesee fileSprite, marker, hooks and behaviour per point type.
Config.WorldPoints.Initializationtablesee fileStartup delays in milliseconds.
Config.WorldPoints.Interaction.keys.interactnumber38 (E)Interaction key.
Config.WorldPoints.Interaction.behavior.cooldownMsnumber100Cooldown between interactions.
Config.WorldPoints.Interaction.behavior.allowInteractionInVehiclebooleanfalseWhether interactions are allowed while inside a vehicle.
Config.WorldPoints.Interaction.feedback.playSoundsbooleantrueEnables interaction sounds.
Config.WorldPoints.VisualEffects.sprites.enableFloatingLightbooleantrueAdds a floating light below sprites.
Config.WorldPoints.Debug.enabledbooleanConfig.DebugEnables verbose logs and debug visuals.
Config.WorldPoints.Security.maxInteractionsPerSecondnumber1Anti-spam rate-limit.
Config.WorldPoints.Security.checkPlayerStatebooleantrueDisables interactions while the player is dead.

Weapons — config/weaponoptions.lua

VariableTypeDefaultDescription
Config.Weapons.InventoryWeaponSystembooleantrueEnables built-in weapon system (attachments, sync, repair, reload, armor). Disable only if you are running an external weapon system.
Config.Weapons.DisableDecaybooleanfalseDisables the weapon durability decay.
Config.Weapons.RepairSystem.enabledbooleantrueEnables the weapon repair workshops.
Config.Weapons.RepairSystem.pointstablesee fileRepair point definitions: location, restrictions (job/items) and time in minutes.
Config.Weapons.Draw.enabledbooleantrueEnables the weapon-draw subsystem.
Config.Weapons.Draw.variantsnumber[]{ 130, 122, 3, 6, 8 }Component variants drawn on the holster.
Config.Weapons.Draw.weaponsstring[]see fileWeapons that support holster drawing.
Config.Weapons.Draw.weapon_reload_animation.enablebooleantruePlays a reload animation. Disable if you want the weapon to instantly reload.
Config.Weapons.Draw.weapon_reload_animation.progressbooleantrueShows progress bar during reload animation.
Config.Weapons.AmmoReloadTimetablesee fileReload time per ammo type, in milliseconds.
Config.Weapons.FastReload.enabledbooleantrueEnables the fast-reload key.
Config.Weapons.FastReload.keystring"R"Fast-reload key.
Config.Weapons.FastReload.NeedAmmoInHotbarbooleanfalseWhen true, requires ammo in slots 1–6 to fast-reload.
Config.Weapons.Throwablestablesee fileWhitelist of throwable weapons.
Config.Weapons.Meleetablesee fileWhitelist of melee weapons.
Config.Weapons.AmmoTypestablesee fileMaps ammo items to ammo types and clip size.
Config.DurabilityMultipliertablesee filePer-weapon durability multiplier (lower = decays slower).
Config.DurabilityBlockedWeaponsstring[]see fileWeapons exempt from durability.
Config.WeaponTintstablesee fileItem-name → tint-id map.
Config.Armorstablearmor = 50, heavyarmor = 100Armor amount per armor item.
Config.MaximumAmmoValuestableweapon_pistol = 10Display-only NUI cap.
Config.WeaponAttachmentstablesee fileAttachment items mapped to component hashes per weapon.
Config.Weapons.liststring[]see fileMaster weapon registry.

Crafting — config/crafting.lua

VariableTypeDefaultDescription
Config.Crafting.enablebooleantrueEnables the crafting system.
Config.Crafting.itemstablesee fileRecipes. Each entry defines ingredients, optional resultItem, resultCount and time in milliseconds.
Config.Crafting.zonestablesee fileCrafting zones with enable, locations, radius, label and the list of items available.
lua
["tosti"] = {
    ingredients = {
        ["sandwich"]     = 2,
        ["water_bottle"] = 1,
        ["weapon_pistol"] = 1,
    },
    resultCount = 1,
    time = 5000,
}

Airdrops — config/airdrops.lua

The airdrop system is marked as WIP in the source. Use it on test environments first.

VariableTypeDefaultDescription
Config.Airdrop.CrateModelstring"prop_box_wood02a_pu"Crate prop model.
Config.Airdrop.ParachuteModelstring"prop_v_parachute"Parachute prop model.
Config.Airdrop.DropHeightnumber100.0Drop height in meters above ground.
Config.Airdrop.LandingTimenumber10000Landing time in milliseconds (0 = instant ground placement).
Config.Airdrop.StashSlotsnumber20Maximum slots inside the airdrop stash.
Config.Airdrop.Smoke.enablebooleantrueEnables landing smoke.
Config.Airdrop.Smoke.particletabledict = "scr_ar_planes", name = "scr_ar_trail_smoke"Particle dictionary and name.
Config.Airdrop.Smoke.scalenumber0.8Particle scale.
Config.Airdrop.Smoke.colortable{ r = 170, g = 30, b = 80 }Particle color (limited by particle support).

Drift — config/drift.lua

VariableTypeDefaultDescription
Config.EnableDriftModebooleanfalseEnables the drift mode toggle (exports.origen_inventory:ToggleDriftMode(true)).
Config.DriftHandling.InitialDragCoeffnumber90.22Aerodynamic drag while drifting.
Config.DriftHandling.DriveInertianumber0.31Drive inertia. Higher = slower acceleration.
Config.DriftHandling.SteeringLocknumber22Maximum steering angle.
Config.DriftHandling.TractionCurveMaxnumber-1.1Max cornering traction. Negative values are intentional.
Config.DriftHandling.TractionCurveMinnumber-0.4Min cornering traction.
Config.DriftHandling.TractionCurveLateralnumber2.5Lateral grip in turns.
Config.DriftHandling.LowSpeedTractionLossMultnumber-0.57Low-speed traction loss multiplier.

Search animations — config/search.lua

Config.SearchAnims is a list of animation pairs (dict, anim) randomly used when a player is searched. Edit the file to add or remove animations.


Webhooks — config_sv.lua

Server-only Discord webhook URLs. Replace each WEBHOOK_URL_HERE value with your actual URL or leave the placeholder to disable that channel.

lua
Config.Webhook = {
    default  = "WEBHOOK_URL_HERE",
    giveItem = "WEBHOOK_URL_HERE",
    search   = "WEBHOOK_URL_HERE",
    stash    = "WEBHOOK_URL_HERE",
    trunks   = "WEBHOOK_URL_HERE",
    glovebox = "WEBHOOK_URL_HERE",
    drops    = "WEBHOOK_URL_HERE",
    money    = "WEBHOOK_URL_HERE",
}

Clothes drawables — config/clothes.lua

Defines Config.Clothings.Standalone, Config.Clothings.DefaultHairy, Config.Clothings.Variations, Config.Clothings.Drawables and Config.Clothings.Props. These tables drive the clothing component swaps used by the inventory clothing tab.

This file is large because it lists every component variation per gender. You typically only edit it to add custom variations via AddNewVariation(category, gender, source, target, single).