Docs

X3D Vault

Free ESX vaults on the x3d_inventory screen: player vaults with levels and sharing, job vaults per society, Thai and English.

Buy / Get freeConfig builder

Installation

  1. Put the x3d_vault folder in resources/
  2. Run install.sql (creates x3d_vault, x3d_vault_storage and the card_safe item)
  3. In server.cfg, ensure x3d_inventory first, then ensure x3d_vault
  4. Set vault locations in config/VAULT/config.group.lua (player vaults) and config/VAULT/config.society.lua (job vaults)

Requirements

Needs Notes
ESX Legacy (es_extended) uses @es_extended/imports.lua
oxmysql
x3d_inventory vault storage uses this bag's screen (free in the X3D store)

Main settings (config/config.general.lua)

Setting What it does
Config.Locale 'th' or 'en'
Config.VaultNameTagLength length of the vault code (3–6)
Config.CloseEvents client events from other scripts that close the vault at once

Vault types

Each vault type is one block in Config.GroupVault (player) or Config.SocietyVault (job).

Field What it does
name vault type name players see
max_level / exp_per_lvl highest level and EXP per level (player vaults)
lvl_permission[level] slot, weight, total_*_limit (-1 = unlimited), allow_accounts/items/weapons, shareable
allowed_list accounts/items/weapons, each type = 'whitelist' | 'blacklist' + list
upgrade_items items that add EXP, e.g. { type = 'item', name = 'card_safe', exp = 1000 }
open_vault_option / create_vault_option items needed to open/create a vault (empty = none)
allowed_jobs jobs allowed into a job vault
zone.blip / zone.text map blip and the label above the vault
zone.locations vault spots: model, coords, heading, action_radius (E reach)
max_vault_per_player / can_remove vaults per player, and whether players may delete their own

Connect your own systems

  • addons/hooks/client.lua → Hooks.OpenGuide(reopen, isOpen) opens your guide from the [?] button (nil hides it)
  • addons/text3d/client.lua draws the labels (natives + Thai font); swap it for your own label system

Exports (server)

  • GetPlayerVaults(identifier) vaults a player owns or is shared into
  • GetVaultData(group, nameTag, identifier) / CanAccessVault(vault, identifier)
  • DepositItems(identifier, group, nameTag, items) deposits items into a vault and returns what didn't fit
View product page