Ox Inventory Install
Step 1: Locate the OX Inventory Folder
Navigate to your FiveM server directory.
Open the
resources
folder.Find and open the ox_inventory resource folder.
Step 2: Open the data/items.lua
File
data/items.lua
FileInside the ox_inventory folder, go to:
ox_inventory/data/items.lua
Open
items.lua
using Notepad++, VS Code, or another code editor.
Step 3: Add Your New Item
Add a new entry for your item inside the
items.lua
file.Use the following format:
Items Config
['bowl_frenchonionsoup'] = {
label = 'french onion soup',
stack = true,
close = false,
weight = 10,
client = {
status = { hunger = 2000000 },
anim = { dict = 'anim@eat@fork', clip = 'fork_clip' }, prop = {model = 'cup_frenchonionsoup',
bone = 18905,
pos = vec3(0.14, 0.03, 0.0),
rot = vec3(-16.0, 2.0, 0.0),
},
propTwo = { model = 'collection_spoon',
bone = 57005,
pos = vec3(0.08, 0.0, 0.02),
rot = vec3 (-98.0, -222.0, 349.0),
},
usetime = 17500,
notification = 'You have satistfied your hunger'
},
},
['bowl_loadedpotatosoup'] = {
label = 'loaded potato soup',
stack = true,
close = false,
weight = 10,
client = {
status = { hunger = 2000000 },
anim = { dict = 'anim@eat@fork', clip = 'fork_clip' }, prop = {model = 'cup_loadedpotatosoup',
bone = 18905,
pos = vec3(0.14, 0.03, 0.0),
rot = vec3(-16.0, 2.0, 0.0),
},
propTwo = { model = 'collection_spoon',
bone = 57005,
pos = vec3(0.08, 0.0, 0.02),
rot = vec3 (-98.0, -222.0, 349.0),
},
usetime = 17500,
notification = 'You have satistfied your hunger'
},
},
['plate_buffalochickendip'] = {
label = 'buffalo chicken dip',
stack = true,
close = false,
weight = 10,
client = {
status = { hunger = 2000000 },
anim = { dict = 'anim@eat@fork', clip = 'fork_clip' }, prop = {model = 'plate_buffalochickendip',
bone = 18905,
pos = vec3(0.14, 0.03, 0.0),
rot = vec3(-16.0, 2.0, 0.0),
},
propTwo = { model = 'prop_chip',
bone = 57005,
pos = vec3(0.14, 0.06, -0.05),
rot = vec3 (-15.0, 18.0, -1.0),
},
usetime = 17500,
notification = 'You have satistfied your hunger'
},
},
['plate_chickenparm'] = {
label = 'chicken parm',
stack = true,
close = true,
weight = 10,
client = {
status = { hunger = 2000000 },
anim = { dict = 'anim@eat@fork', clip = 'fork_clip' },
prop = { model = 'plate_chickenparm',
bone = 18905,
pos = vec3(0.12, 0.02, 0.02),
rot = vec3(-21.0, 0.0, 0.0) },
propTwo = { model = 'collection_fork',
bone = 57005,
pos = vec3( 0.1, 0.04, 0.0),
rot = vec3(-106.0, 162.0, 0.0) },
usetime = 17500,
notification = 'You have satisfied your hunger'
},
},
['plate_chickentendersandfries'] = {
label = 'chicken tenders and fries',
stack = true,
close = true,
weight = 10,
client = {
status = { hunger = 2000000 },
anim = { dict = 'anim@eat@fork', clip = 'fork_clip' },
prop = { model = 'plate_chickentenderandfries',
bone = 18905,
pos = vec3(0.12, 0.02, 0.02),
rot = vec3(-21.0, 0.0, 0.0) },
propTwo = { model = 'collection_fork',
bone = 57005,
pos = vec3( 0.1, 0.04, 0.0),
rot = vec3(-106.0, 162.0, 0.0) },
usetime = 17500,
notification = 'You have satisfied your hunger'
},
},
['plate_chocolatecake'] = {
label = 'chocolate cake',
stack = true,
close = false,
weight = 10,
client = {
status = { hunger = 2000000 },
anim = { dict = 'anim@eat@fork', clip = 'fork_clip' },
prop = { model = 'plate_chocolatestampede',
bone = 18905,
pos = vec3(0.12, 0.01, 0.02),
rot = vec3(-20.0, -1.0, -26.0) },
propTwo = { model = 'collection_fork',
bone = 57005,
pos = vec3(0.14, 0.02, 0.01),
rot = vec3(-118.0, 192.0, 24.00) },
usetime = 17500,
notification = 'You have satisfied your hunger'
},
},
['plate_filetmigon'] = {
label = 'filet migon',
stack = true,
close = false,
weight = 10,
client = {
status = { hunger = 2000000 },
anim = { dict = 'anim@eat@fork', clip = 'fork_clip' },
prop = { model = 'plate_filetmigon',
bone = 18905,
pos = vec3(0.12, 0.01, 0.02),
rot = vec3(-20.0, -1.0, -26.0) },
propTwo = { model = 'collection_fork',
bone = 57005,
pos = vec3(0.14, 0.02, 0.01),
rot = vec3(-118.0, 192.0, 24.00) },
usetime = 17500,
notification = 'You have satisfied your hunger'
},
},
['plate_grilledshrimp'] = {
label = 'grilled shrimp',
stack = true,
close = false,
weight = 10,
client = {
status = { hunger = 2000000 },
anim = { dict = 'anim@eat@fork', clip = 'fork_clip' },
prop = { model = 'plate_grilledshrimp',
bone = 18905,
pos = vec3(0.12, 0.01, 0.02),
rot = vec3(-20.0, -1.0, -26.0) },
propTwo = { model = 'collection_fork',
bone = 57005,
pos = vec3(0.14, 0.02, 0.01),
rot = vec3(-118.0, 192.0, 24.00) },
usetime = 17500,
notification = 'You have satisfied your hunger'
},
},
['plate_moltenlavacake'] = {
label = 'molten lava cake',
stack = true,
close = false,
weight = 10,
client = {
status = { hunger = 2000000 },
anim = { dict = 'anim@eat@fork', clip = 'fork_clip' },
prop = { model = 'plate_moltenlavacake',
bone = 18905,
pos = vec3(0.12, 0.01, 0.02),
rot = vec3(-20.0, -1.0, -26.0) },
propTwo = { model = 'collection_fork',
bone = 57005,
pos = vec3(0.14, 0.02, 0.01),
rot = vec3(-118.0, 192.0, 24.00) },
usetime = 17500,
notification = 'You have satisfied your hunger'
},
},
['plate_nystrip'] = {
label = 'ny strip',
stack = true,
close = false,
weight = 10,
client = {
status = { hunger = 2000000 },
anim = { dict = 'anim@eat@fork', clip = 'fork_clip' },
prop = { model = 'plate_nystrip',
bone = 18905,
pos = vec3(0.12, 0.02, 0.03),
rot = vec3(-20.0, -1.0, -26.0) },
propTwo = { model = 'collection_fork',
bone = 57005,
pos = vec3(0.14, 0.02, 0.01),
rot = vec3(-118.0, 192.0, 24.00) },
usetime = 17500,
notification = 'You have satisfied your hunger'
},
},
['plate_ribeyesteak'] = {
label = 'ribeye steak',
stack = true,
close = false,
weight = 10,
client = {
status = { hunger = 2000000 },
anim = { dict = 'anim@eat@fork', clip = 'fork_clip' },
prop = { model = 'plate_ribeyesteak',
bone = 18905,
pos = vec3(0.12, 0.01, 0.02),
rot = vec3(-20.0, -1.0, -26.0) },
propTwo = { model = 'collection_fork',
bone = 57005,
pos = vec3(0.14, 0.02, 0.01),
rot = vec3(-118.0, 192.0, 24.00) },
usetime = 17500,
notification = 'You have satisfied your hunger'
},
},
['plate_ribscornmac'] = {
label = 'ribs corn mac',
stack = true,
close = false,
weight = 10,
client = {
status = { hunger = 2000000 },
anim = { dict = 'anim@eat@fork', clip = 'fork_clip' },
prop = { model = 'plate_ribscornmac',
bone = 18905,
pos = vec3(0.12, 0.01, 0.02),
rot = vec3(-20.0, -1.0, -26.0) },
propTwo = { model = 'collection_fork',
bone = 57005,
pos = vec3(0.14, 0.02, 0.01),
rot = vec3(-118.0, 192.0, 24.00) },
usetime = 17500,
notification = 'You have satisfied your hunger'
},
},
['plate_sirloin'] = {
label = 'sirloin',
stack = true,
close = false,
weight = 10,
client = {
status = { hunger = 2000000 },
anim = { dict = 'anim@eat@fork', clip = 'fork_clip' },
prop = { model = 'plate_sirloin',
bone = 18905,
pos = vec3(0.12, 0.01, 0.02),
rot = vec3(-20.0, -1.0, -26.0) },
propTwo = { model = 'collection_fork',
bone = 57005,
pos = vec3(0.14, 0.02, 0.01),
rot = vec3(-118.0, 192.0, 24.00) },
usetime = 17500,
notification = 'You have satisfied your hunger'
},
},
['plate_spinachdip'] = {
label = 'spinach dip',
stack = true,
close = false,
weight = 10,
client = {
status = { hunger = 2000000 },
anim = { dict = 'anim@eat@fork', clip = 'fork_clip' }, prop = {model = 'plate_spinachdip',
bone = 18905,
pos = vec3(0.14, 0.03, 0.0),
rot = vec3(-16.0, 2.0, 0.0),
},
propTwo = { model = 'prop_chip',
bone = 57005,
pos = vec3(0.14, 0.06, -0.05),
rot = vec3 (-15.0, 18.0, -1.0),
},
usetime = 17500,
notification = 'You have satistfied your hunger'
},
},
['plate_strawberrycake'] = {
label = 'strawberry cake',
stack = true,
close = false,
weight = 10,
client = {
status = { hunger = 2000000 },
anim = { dict = 'anim@eat@fork', clip = 'fork_clip' },
prop = { model = 'plate_strawberrycake',
bone = 18905,
pos = vec3(0.12, 0.02, 0.03),
rot = vec3(-20.0, -1.0, -26.0) },
propTwo = { model = 'collection_fork',
bone = 57005,
pos = vec3(0.14, 0.02, 0.01),
rot = vec3(-118.0, 192.0, 24.00) },
usetime = 17500,
notification = 'You have satisfied your hunger'
},
},
['plate_stuffedmushrooms'] = {
label = 'stuffed mushrooms',
stack = true,
close = false,
weight = 10,
client = {
status = { hunger = 2000000 },
anim = { dict = 'anim@eat@fork', clip = 'fork_clip' },
prop = { model = 'plate_stuffedmushrooms',
bone = 18905,
pos = vec3(0.12, 0.02, 0.03),
rot = vec3(-20.0, -1.0, -26.0) },
propTwo = { model = 'collection_fork',
bone = 57005,
pos = vec3(0.14, 0.02, 0.01),
rot = vec3(-118.0, 192.0, 24.00) },
usetime = 17500,
notification = 'You have satisfied your hunger'
},
},
['plate_tbone'] = {
label = 'plate_tbone',
stack = true,
close = false,
weight = 10,
client = {
status = { hunger = 2000000 },
anim = { dict = 'anim@eat@fork', clip = 'fork_clip' },
prop = { model = 'plate_tbone',
bone = 18905,
pos = vec3(0.12, 0.02, 0.03),
rot = vec3(-20.0, -1.0, -26.0) },
propTwo = { model = 'collection_fork',
bone = 57005,
pos = vec3(0.14, 0.02, 0.01),
rot = vec3(-118.0, 192.0, 24.00) },
usetime = 17500,
notification = 'You have satisfied your hunger'
},
},
['prop_chickentender'] = {
label = 'chicken tender',
stack = true,
close = false,
weight = 10,
},
['prop_chip'] = {
label = 'chip',
stack = true,
close = false,
weight = 10,
},
['prop_grilledshrimp'] = {
label = 'grilled shrimp',
stack = true,
close = false,
weight = 10,
},
Adjust label, weight, stack, animations, and props as needed.
Step 4: Add Item Image
OX Inventory allows you to display custom images for items in the inventory.
Where to Place Item Images
Navigate to:
ox_inventory/web/images/
Place your item image inside the
images/
folder.
Step 5: Save the File & Restart Server
Save the
items.lua
file.Restart your FiveM server using one of the following methods:
Console Command:
restart ox_inventory
Full Server Restart: Stop and start the server manually.
Step 6: Test the Item
Spawn the item using an admin command:
/giveitem yourID prop_name 1
(Replace
yourID
with your actual player ID andburger
with your item name.)Open OX Inventory (
F2
default key).Verify the item appears and functions correctly.
Step 6: Debugging & Adjustments
If the item does not show, check the server console for errors.
Verify spelling and commas in
items.lua
.Ensure
ox_inventory
is running properly.Look at the FiveM forums or Discord for troubleshooting help.
Last updated