Skip to main content
This documentation is for developers who are making scripts for VORP Core Framework

Exports


These exports are client side only!
  • Items
  • Inventory

Getters

get all user inventory items
return
table
returns a table containing all the items in the inventory
local result = exports.vorp_inventory:getInventoryItems()
get user inventory item
string
name
the item name
return
table
returns a table containing the item name,label,weight,desc metadata, percentage
local result = exports.vorp_inventory:getInventoryItem()
datae
string|table
the item name to get or an table of items to get in one single call, returns the data from items database like label,weight,desc,metadata etc
local result = exports.vorp_inventory:getServerItem("water")
print(result.label)
These exports are server side only!
  • Weapons
  • Items
  • Inventory items
  • Inventory weapons
  • Inventory misc

Getters

get all user ammo
source
int
required
The player id
callback
function
callback function syncronous or asyncronous
return
table
returns a table containing all the ammo
exports.vorp_inventory:getUserAmmo(source, callback)
check if player can carry weapons
source
int
required
The player id
amount
int
required
amount of weapons
callback
function
callback function syncronous or asyncronous
weaponName
string | number
weapon name or hash its needed to check weight since 3.6
return
boolean
returns true if the player can carry the weapons
exports.vorp_inventory:canCarryWeapons(source, amount,callback, weaponName)
get user inventory weapon
source
int
required
The player id
callback
function
callback function syncronous or asyncronous
weaponId
number
weapon id
return
table
{id:number,name:string,propietary:string,used:boolean,desc:string,group:number,source:number,label:string,serial_number:string,custom_label:string,custom_desc:string}
exports.vorp_inventory:getUserWeapon(source, callback,weaponId)
get user inventory weapons
source
int
required
The player id
callback
function
callback function syncronous or asyncronous
return
table
{id:number,name:string,propietary:string,used:boolean,desc:string,group:number,source:number,label:string,serial_number:string,custom_label:string,custom_desc:string}
exports.vorp_inventory:getUserInventoryWeapons(source, callback)
get weapon bullets
source
int
required
The player id
weaponID
number
required
weapon id
callback
function
callback function syncronous or asyncronous
return
number
weapon ammo
exports.vorp_inventory:getWeaponBullets(source,weaponID, callback)
get weapon components
source
int
required
The player id
weaponId
number
required
weapon id
callback
function
callback function syncronous or asyncronous
return
table
returns a table containing the weapon components
exports.vorp_inventory:getWeaponComponents(source, weaponId, callback)

Setters

set weapon custom description
weaponId
number
required
weapon id
desc
string
required
weapon description
cb
function
callback function syncronous or asyncronous
return
boolean
returns true if the description was successfully set
exports.vorp_inventory:setWeaponCustomDesc(weaponId, desc, cb)
set weapon custom label
weaponId
number
required
weapon id
label
string
required
weapon label
cb
function
callback function syncronous or asyncronous
return
boolean
returnstrue if the label was successfully set
exports.vorp_inventory:setWeaponCustomLabel(weaponId, label, cb)
set weapon serial number
weaponId
number
required
weapon id
serial
string
required
weapon serial number
cb
function
callback function syncronous or asyncronous
return
boolean
returns true if the serial number was successfully set
exports.vorp_inventory:setWeaponSerialNumber(weaponId, serial, cb)
remove weapon from user inventory
source
int
required
The player id
weaponId
number
required
weapon id
callback
function
callback function syncronous or asyncronous
return
boolean
returns true if the weapon was successfully removed
exports.vorp_inventory:subWeapon(source, weaponId, callback)
give weapon to user
source
int
required
The player id
weaponId
number
required
weapon id
target
int
required
target id
callback
function
callback function syncronous or asyncronous
return
boolean
returns true if the weapon was successfully given
exports.vorp_inventory:giveWeapon(source, weaponId, target,callback)
create weapon
source
int
required
The player id
weaponName
string
required
weapon name
ammo
string
required
amount of ammo
components
table
required
weapon components
comps
table
required
weapon components
callback
function
callback function syncronous or asyncronous
wepid
int
leave this as nil, this is used internally only
serial
string
custom serial number for weapon
label
string
custom label for weapon
desc
string
custom desc for weapons
return
boolean
if async
exports.vorp_inventory:createWeapon(source, weaponName, ammo, components, comps, callback,serial,label,desc)
delete weapon
source
int
required
The player id
weaponId
number
required
weapon id
callback
function
callback function syncronous or asyncronous
return
boolean
if async
exports.vorp_inventory:deleteWeapon(source, weaponId, callback)
add bullets
source
int
required
The player id
bulletType
string
required
bullet type
amount
number
required
amount of bullets
callback
function
callback function syncronous or asyncronous
return
boolean
returns true if the bullets were successfully added
exports.vorp_inventory:addBullets(source, bulletType, amount,callback)
remove bullets from weapon
weaponId
number
required
weapon id
bulletType
string
required
bullet type
amount
number
required
amount of bullets
callback
function
callback function syncronous or asyncronous
return
boolean
returns true if the bullets were successfully removed
exports.vorp_inventory:subBullets(weaponId, bulletType, amount,callback)
remove all user ammo
source
int
required
The player id
exports.vorp_inventory:removeAllUserAmmo(source)

Events

Server Side only
Listen to when an item is used
AddEventHandler("vorp_inventory:Server:OnItemUse",function(data)
    local source = data.source
    local itemName = data.item.name
    local itemMetadata = data.item.metadata
end)
Listen to when an item is created in player inventory
OnItemCreated
AddEventHandler("vorp_inventory:Server:OnItemCreated",function(data,source)
    -- data.count, data.name, data.metadata
end)
Listen to when an item is removed from player inventory
OnItemRemoved
AddEventHandler("vorp_inventory:Server:OnItemRemoved",function(data,source)
    -- data.count , data.name , no metadata is passed here
end)
Listen to when an item is taken from custom inventory
OnItemTakenFromCustomInventory
AddEventHandler("vorp_inventory:Server:OnItemTakenFromCustomInventory", function(item, invId, source)
    -- item.amount , item.name, item.id
end)
Listen to when an item is moved to custom inventory
OnItemMovedToCustomInventory
AddEventHandler("vorp_inventory:Server:OnItemMovedToCustomInventory", function(item, invId, source)
    -- item.amount , item.name, item.id
end)
Listen for inventory state change (opens or closes) including custom inventories
OnInvStateChange
AddEventHandler("vorp_inventory:Client:OnInvStateChange",function(boolean)
    print(boolean)
end)
Block player inventory from server or client side
OnInvBlock server
TriggerClientEvent("vorp_inventory:blockInventory", player_id, true or false)
OnInvBlock client
  TriggerEvent("vorp_inventory:blockInventory", true or false)

Statebags

contains data from the current weapon used in the inventory or last weapon used.
client side
GetEquippedWeaponData
local key = string.format("GetEquippedWeaponData_%d",weaponHash)
local data = LocalPlayer.state[key]
local serial = data.serialNumber
local id = data.weaponId
server side
GetEquippedWeaponData
local key = string.format("GetEquippedWeaponData_%d",weaponHash)
local data = Player(source).state[key]
local serial = data.serialNumber
local id = data.weaponId
check if inventory is active (open or closed) including custom inventories
client side
IsInvActive
LocalPlayer.state.IsInvActive
server side
IsInvActive
Player(source).state.IsInvActive

Global Statebags

returns timestamp from server to be used in client
local timestamp = GlobalState.TimeNow
-- Get hours, minutes and seconds from timestamp
local seconds = GlobalState.TimeNow % 60
local minutes = math.floor(GlobalState.TimeNow / 60) % 60 
local hours = math.floor(GlobalState.TimeNow / 3600) % 24
I