HEX
HexscriptsVersion 4.0Inventory

Exports

This section lists all client-side and server-side exports in this script. Exports can be called from other scripts to interact with this script functionality.

Note

If you need additional exports for your implementation, please open a ticket on our Discord server.

Client Exports

GetVehicleCapacity

Returns the capacity of a vehicle.

local capacity = exports['hex_4_inventory']:GetVehicleCapacity(spawncode, isGlove)

Prop

Type

CloseInventory

Closes the inventory for the player.

exports['hex_4_inventory']:CloseInventory()

LockInventory

Locks the inventory for the player. This can be used to prevent to open the inventory.

exports['hex_4_inventory']:LockInventory(state)

Prop

Type

OpenTrunk

Trys to open the trunk inventory for the vehicle in front of the player.

exports['hex_4_inventory']:OpenTrunk()

OpenGlove

Trys to open the glovebox only works if the player is in a vehicle returning a bool whether the glovebox was opened or not.

local success = exports['hex_4_inventory']:OpenGlove()

Server Exports

OpenInventory

Opens an inventory for a player.

local success = exports['hex_4_inventory']:OpenInventory(playerId, inventoryData)

-- example
local playerObject = GetPlayerObject(source)
local job = GetPlayerJob(playerObject)

local success = exports['hex_4_inventory']:OpenInventory(playerId, {
    id = ('fraction_%s'):format(job.name),
    type = 'fraction',
    title = ('Fraction Inventory: %s'):format(job.label),
    weight = false
})

Prop

Type

GetInventory

Returns the inventoryData for a specific inventory.

local inventory = exports['hex_4_inventory']:GetInventory(playerObject, inventoryData)

Prop

Type

AddItemToInventory

Adds an item to a specific inventory.

local success = exports['hex_4_inventory']:AddItemToInventory(playerId, playerObject, itemData, count, inventoryData)

Prop

Type

RemoveItemFromInventory

Removes an item to a specific inventory.

exports['hex_4_inventory']:RemoveItemFromInventory(playerObject, itemData, count, inventoryData, cb)

Prop

Type

ChangeInventoryPlate

Changes the plate of a vehicle inventory. This can be used when a player changes the plate of their vehicle to also update the inventory id.

exports['hex_4_inventory']:ChangeInventoryPlate(oldPlate, newPlate)

Prop

Type

AddHook

Adds a hook to the inventory script. Hooks can be used to cancel certain actions by returning false in the callback function.

Available Hooks

EventArgumentsDescription
hex_4_inventory:giveInventoryItemplayerId, target, itemType, itemName, itemCountTriggered when a player tries to give an item to another player via the give button.
hex_4_inventory:removeItemitem, count, extraDataTriggered when a player tries to remove an item from an inventory (e.g., by dropping it on the ground if no drop is nearby, or by placing it).
hex_4_inventory:moveItemToOtheritem, count, invDataTriggered when a player tries to move an item to another inventory (LEFT → RIGHT).
hex_4_inventory:moveItemToPlayeritem, count, invDataTriggered when a player tries to move an item to another player's inventory (RIGHT → LEFT).
local hookId = AddHook(hookName, callback)

Example:

-- prevent players from dropping weapons on the ground

AddHook('hex_4_inventory:moveItemToOther', function(item, count, invData)
    if invData.type == 'drop' then
        if item.type == 'weapon' then
            return false
        end
    end

    return true
end)

AddHook('hex_4_inventory:removeItem', function(item, count, extraData)
    if item.type == 'weapon' then
        return false
    end
end)

RemoveHook

Removes a hook from the inventory script.

local success = RemoveHook(hookId)

Prop

Type