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
['djs_bowl_chickpeesoup'] = {
label = 'Chickpee Soup',
stack = true,
close = false,
weight = 10,
client = {
status = { hunger = 2000000 },
anim = { dict = 'anim@djs@food@plated', clip = 'djs_food_plate_bite_loop' },
prop = {model = 'djs_bowl_chickpeesoup',
bone = 18905,
pos = vec3(0.175000, 0.008000, 0.000000),
rot = vec3(-14.549987, 0.000000, 6.600003),
},
propTwo = { model = 'djs_spoon',
bone = 57005,
pos = vec3(0.090000, 0.026000, 0.000000),
rot = vec3(99.945862, 0.000000, 175.937973)
},
usetime = 17500,
cancel = true,
notification = 'You have satistfied your hunger'
},
},
['djs_bowl_frenchonionsoup'] = {
label = 'French Onion Soup',
stack = true,
close = false,
weight = 10,
client = {
status = { hunger = 2000000 },
anim = { dict = 'anim@djs@food@plated', clip = 'djs_food_plate_bite_loop' },
prop = {model = 'djs_bowl_frenchonionsoup',
bone = 18905,
pos = vec3(0.175000, 0.008000, 0.000000),
rot = vec3(-14.549987, 0.000000, 6.600003),
},
propTwo = { model = 'djs_spoon',
bone = 57005,
pos = vec3(0.090000, 0.026000, 0.000000),
rot = vec3(99.945862, 0.000000, 175.937973)
},
usetime = 17500,
cancel = true,
notification = 'You have satistfied your hunger'
},
},
['djs_bowl_loadedpotatosoup'] = {
label = 'Loaded Potato Soup',
stack = true,
close = false,
weight = 10,
client = {
status = { hunger = 2000000 },
anim = { dict = 'anim@djs@food@plated', clip = 'djs_food_plate_bite_loop' },
prop = {model = 'djs_bowl_loadedpotatosoup',
bone = 18905,
pos = vec3(0.175000, 0.008000, 0.000000),
rot = vec3(-14.549987, 0.000000, 6.600003),
},
propTwo = { model = 'djs_spoon',
bone = 57005,
pos = vec3(0.090000, 0.026000, 0.000000),
rot = vec3(99.945862, 0.000000, 175.937973)
},
usetime = 17500,
cancel = true,
notification = 'You have satistfied your hunger'
},
},
['djs_bowl_shrimpsoup'] = {
label = 'Shrimp Soup',
stack = true,
close = false,
weight = 10,
client = {
status = { hunger = 2000000 },
anim = { dict = 'anim@djs@food@plated', clip = 'djs_food_plate_bite_loop' },
prop = {model = 'djs_bowl_shrimpsoup',
bone = 18905,
pos = vec3(0.175000, 0.008000, 0.000000),
rot = vec3(-14.549987, 0.000000, 6.600003),
},
propTwo = { model = 'djs_spoon',
bone = 57005,
pos = vec3(0.090000, 0.026000, 0.000000),
rot = vec3(99.945862, 0.000000, 175.937973)
},
usetime = 17500,
cancel = true,
notification = 'You have satistfied your hunger'
},
},
['djs_plate_buffalochickendip'] = {
label = 'buffalo Chicken Dip',
stack = true,
close = false,
weight = 10,
client = {
status = { hunger = 2000000 },
anim = { dict = 'anim@djs@food@plated', clip = 'djs_food_plate_bite_loop' },
prop = {model = 'djs_plate_buffalochickendip',
bone = 18905,
pos = vec3(0.128000, 0.040000, 0.008000),
rot = vec3(-24.780005, 0.000000, -28.910004)
},
propTwo = { model = 'djs_prop_chip',
bone = 57005,
pos = vec3(0.104000, 0.024000, -0.064000),
rot = vec3(-297.359802, -70.209984, 185.850021)
},
usetime = 17500,
cancel = true,
notification = 'You have satistfied your hunger'
},
},
['djs_plate_ceasersalad'] = {
label = 'Ceaser Salad',
stack = true,
close = false,
weight = 10,
client = {
status = { hunger = 2000000 },
anim = { dict = 'anim@djs@food@plated', clip = 'djs_food_plate_bite_loop' },
prop = {model = 'djs_plate_ceasersalad',
bone = 18905,
pos = vec3(0.128000, 0.040000, 0.008000),
rot = vec3(-24.780005, 0.000000, -28.910004)
},
propTwo = { model = 'djs_fork',
bone = 58868,
pos = vec3(0.000000, -0.014000, 0.030000),
rot = vec3(6.608002, 0.000000, 94.989883)
},
usetime = 17500,
cancel = true,
notification = 'You have satistfied your hunger'
},
},
['djs_plate_chickenmash'] = {
label = 'Chicken Mash',
stack = true,
close = false,
weight = 10,
client = {
status = { hunger = 2000000 },
anim = { dict = 'anim@djs@food@plated', clip = 'djs_food_plate_bite_loop' },
prop = {model = 'djs_plate_chickenmash',
bone = 18905,
pos = vec3(0.128000, 0.040000, 0.008000),
rot = vec3(-24.780005, 0.000000, -28.910004)
},
propTwo = { model = 'djs_fork',
bone = 58868,
pos = vec3(0.000000, -0.014000, 0.030000),
rot = vec3(6.608002, 0.000000, 94.989883)
},
usetime = 17500,
cancel = true,
notification = 'You have satistfied your hunger'
},
},
['djs_plate_chickentendersandfries'] = {
label = 'Chicken Tenders n Fries',
stack = true,
close = false,
weight = 10,
client = {
status = { hunger = 2000000 },
anim = { dict = 'anim@djs@food@plated', clip = 'djs_food_plate_bite_loop' },
prop = {model = 'djs_plate_chickentendersandfries',
bone = 18905,
pos = vec3(0.128000, 0.040000, 0.008000),
rot = vec3(-24.780005, 0.000000, -28.910004)
},
propTwo = { model = 'djs_prop_chickentender',
bone = 58868,
pos = vec3(0.100000, -0.030000, 0.020000),
rot = vec3(0.000000, 0.000000, -118.939919)
},
usetime = 17500,
cancel = true,
notification = 'You have satistfied your hunger'
},
},
['djs_plate_chocolatestampede'] = {
label = 'Chocolate Stampede',
stack = true,
close = false,
weight = 10,
client = {
status = { hunger = 2000000 },
anim = { dict = 'anim@djs@food@plated', clip = 'djs_food_plate_bite_loop' },
prop = {model = 'djs_plate_chocolatestampede',
bone = 18905,
pos = vec3(0.128000, 0.040000, 0.008000),
rot = vec3(-24.780005, 0.000000, -28.910004)
},
propTwo = { model = 'djs_fork',
bone = 58868,
pos = vec3(0.000000, -0.014000, 0.030000),
rot = vec3(6.608002, 0.000000, 94.989883)
},
usetime = 17500,
cancel = true,
notification = 'You have satistfied your hunger'
},
},
['djs_plate_codfish'] = {
label = 'Cod Fish',
stack = true,
close = false,
weight = 10,
client = {
status = { hunger = 2000000 },
anim = { dict = 'anim@djs@food@plated', clip = 'djs_food_plate_bite_loop' },
prop = {model = 'djs_plate_codfish',
bone = 18905,
pos = vec3(0.128000, 0.040000, 0.008000),
rot = vec3(-24.780005, 0.000000, -28.910004)
},
propTwo = { model = 'djs_fork',
bone = 58868,
pos = vec3(0.000000, -0.014000, 0.030000),
rot = vec3(6.608002, 0.000000, 94.989883)
},
usetime = 17500,
cancel = true,
notification = 'You have satistfied your hunger'
},
},
['djs_plate_filetmigon'] = {
label = 'Filet Migon',
stack = true,
close = false,
weight = 10,
client = {
status = { hunger = 2000000 },
anim = { dict = 'anim@djs@food@plated', clip = 'djs_food_plate_bite_loop' },
prop = {model = 'djs_plate_filetmigon',
bone = 18905,
pos = vec3(0.128000, 0.040000, 0.008000),
rot = vec3(-24.780005, 0.000000, -28.910004)
},
propTwo = { model = 'djs_fork',
bone = 58868,
pos = vec3(0.000000, -0.014000, 0.030000),
rot = vec3(6.608002, 0.000000, 94.989883)
},
usetime = 17500,
cancel = true,
notification = 'You have satistfied your hunger'
},
},
['djs_plate_grilledshrimp'] = {
label = 'Grilled Shrimp',
stack = true,
close = false,
weight = 10,
client = {
status = { hunger = 2000000 },
anim = { dict = 'anim@djs@food@plated', clip = 'djs_food_plate_bite_loop' },
prop = {model = 'djs_plate_grilledshrimp',
bone = 18905,
pos = vec3(0.128000, 0.040000, 0.008000),
rot = vec3(-24.780005, 0.000000, -28.910004)
},
propTwo = { model = 'djs_prop_grilledshrimp',
bone = 58868,
pos = vec3(0.090000, 0.050000, 0.030000),
rot = vec3(36.933987, 0.000000, 48.201977)
},
usetime = 17500,
cancel = true,
notification = 'You have satistfied your hunger'
},
},
['djs_plate_loverschocolatecake'] = {
label = 'Chocolate Lovers Cake',
stack = true,
close = false,
weight = 10,
client = {
status = { hunger = 2000000 },
anim = { dict = 'anim@djs@food@plated', clip = 'djs_food_plate_bite_loop' },
prop = {model = 'djs_plate_loverschocolatecake',
bone = 18905,
pos = vec3(0.140000, 0.030000, 0.020000),
rot = vec3(-13.146003, 0.000000, 4.382000)
},
propTwo = { model = 'djs_fork',
bone = 58868,
pos = vec3(0.000000, -0.014000, 0.030000),
rot = vec3(6.608002, 0.000000, 94.989883)
},
usetime = 17500,
cancel = true,
notification = 'You have satistfied your hunger'
},
},
['djs_plate_moltenlavacake'] = {
label = 'Molten Lava Cake',
stack = true,
close = false,
weight = 10,
client = {
status = { hunger = 2000000 },
anim = { dict = 'anim@djs@food@plated', clip = 'djs_food_plate_bite_loop' },
prop = {model = 'djs_plate_moltenlavacake',
bone = 18905,
pos = vec3(0.128000, 0.040000, 0.008000),
rot = vec3(-24.780005, 0.000000, -28.910004)
},
propTwo = { model = 'djs_fork',
bone = 58868,
pos = vec3(0.140000, 0.030000, 0.020000),
rot = vec3(-13.146003, 0.000000, 4.382000)
},
usetime = 17500,
cancel = true,
notification = 'You have satistfied your hunger'
},
},
['djs_plate_nystrip'] = {
label = 'New York Strip Steak',
stack = true,
close = false,
weight = 10,
client = {
status = { hunger = 2000000 },
anim = { dict = 'anim@djs@food@plated', clip = 'djs_food_plate_bite_loop' },
prop = {model = 'djs_plate_nystrip',
bone = 18905,
pos = vec3(0.128000, 0.040000, 0.008000),
rot = vec3(-24.780005, 0.000000, -28.910004)
},
propTwo = { model = 'djs_fork',
bone = 58868,
pos = vec3(0.000000, -0.014000, 0.030000),
rot = vec3(6.608002, 0.000000, 94.989883)
},
usetime = 17500,
cancel = true,
notification = 'You have satistfied your hunger'
},
},
['djs_plate_pannacotta'] = {
label = 'Panna Cotta',
stack = true,
close = false,
weight = 10,
client = {
status = { hunger = 2000000 },
anim = { dict = 'anim@djs@food@plated', clip = 'djs_food_plate_bite_loop' },
prop = {model = 'djs_plate_pannacotta',
bone = 18905,
pos = vec3(0.140000, 0.030000, 0.020000),
rot = vec3(-13.146003, 0.000000, 4.382000)
},
propTwo = { model = 'djs_fork',
bone = 58868,
pos = vec3(0.000000, -0.014000, 0.030000),
rot = vec3(6.608002, 0.000000, 94.989883)
},
usetime = 17500,
cancel = true,
notification = 'You have satistfied your hunger'
},
},
['djs_plate_rackoflamb'] = {
label = 'Rack Of Lamb',
stack = true,
close = false,
weight = 10,
client = {
status = { hunger = 2000000 },
anim = { dict = 'anim@djs@food@plated', clip = 'djs_food_plate_bite_loop' },
prop = {model = 'djs_plate_rackoflamb',
bone = 18905,
pos = vec3(0.128000, 0.040000, 0.008000),
rot = vec3(-24.780005, 0.000000, -28.910004)
},
propTwo = { model = 'djs_prop_lamb',
bone = 58868,
pos = vec3(0.080000, -0.020000, 0.030000),
rot = vec3(4.381999, 0.000000, 0.000000)
},
usetime = 17500,
cancel = true,
notification = 'You have satistfied your hunger'
},
},
['djs_plate_ribeyesteak'] = {
label = 'Ribeye Steak',
stack = true,
close = false,
weight = 10,
client = {
status = { hunger = 2000000 },
anim = { dict = 'anim@djs@food@plated', clip = 'djs_food_plate_bite_loop' },
prop = {model = 'djs_plate_ribeyesteak',
bone = 18905,
pos = vec3(0.128000, 0.040000, 0.008000),
rot = vec3(-24.780005, 0.000000, -28.910004)
},
propTwo = { model = 'djs_fork',
bone = 58868,
pos = vec3(0.000000, -0.014000, 0.030000),
rot = vec3(6.608002, 0.000000, 94.989883)
},
usetime = 17500,
cancel = true,
notification = 'You have satistfied your hunger'
},
},
['djs_plate_ribscornmac'] = {
label = 'Ribs n Corn',
stack = true,
close = false,
weight = 10,
client = {
status = { hunger = 2000000 },
anim = { dict = 'anim@djs@food@plated', clip = 'djs_food_plate_bite_loop' },
prop = {model = 'djs_plate_ribscornmac',
bone = 18905,
pos = vec3(0.128000, 0.040000, 0.008000),
rot = vec3(-24.780005, 0.000000, -28.910004)
},
propTwo = { model = 'djs_fork',
bone = 58868,
pos = vec3(0.000000, -0.014000, 0.030000),
rot = vec3(6.608002, 0.000000, 94.989883)
},
usetime = 17500,
cancel = true,
notification = 'You have satistfied your hunger'
},
},
['djs_plate_shrimpsalad'] = {
label = 'Shrimp Salad',
stack = true,
close = false,
weight = 10,
client = {
status = { hunger = 2000000 },
anim = { dict = 'anim@djs@food@plated', clip = 'djs_food_plate_bite_loop' },
prop = {model = 'djs_plate_shrimpsalad',
bone = 18905,
pos = vec3(0.140000, 0.030000, 0.020000),
rot = vec3(-13.146003, 0.000000, 4.382000)
},
propTwo = { model = 'djs_fork',
bone = 58868,
pos = vec3(0.000000, -0.014000, 0.030000),
rot = vec3(6.608002, 0.000000, 94.989883)
},
usetime = 17500,
cancel = true,
notification = 'You have satistfied your hunger'
},
},
['djs_plate_sirloin'] = {
label = 'Sirloin Strip',
stack = true,
close = false,
weight = 10,
client = {
status = { hunger = 2000000 },
anim = { dict = 'anim@djs@food@plated', clip = 'djs_food_plate_bite_loop' },
prop = {model = 'djs_plate_sirloin',
bone = 18905,
pos = vec3(0.140000, 0.030000, 0.020000),
rot = vec3(-13.146003, 0.000000, 4.382000)
},
propTwo = { model = 'djs_fork',
bone = 58868,
pos = vec3(0.000000, -0.014000, 0.030000),
rot = vec3(6.608002, 0.000000, 94.989883)
},
usetime = 17500,
cancel = true,
notification = 'You have satistfied your hunger'
},
},
['djs_plate_spinachdip'] = {
label = 'Spinach Dip',
stack = true,
close = false,
weight = 10,
client = {
status = { hunger = 2000000 },
anim = { dict = 'anim@djs@food@plated', clip = 'djs_food_plate_bite_loop' },
prop = {model = 'djs_plate_spinachdip',
bone = 18905,
pos = vec3(0.128000, 0.040000, 0.008000),
rot = vec3(-24.780005, 0.000000, -28.910004)
},
propTwo = { model = 'djs_prop_chip',
bone = 57005,
pos = vec3(0.104000, 0.024000, -0.064000),
rot = vec3(-297.359802, -70.209984, 185.850021)
},
usetime = 17500,
cancel = true,
notification = 'You have satistfied your hunger'
},
},
['djs_plate_strawberrycake'] = {
label = 'Strawberry Cake',
stack = true,
close = false,
weight = 10,
client = {
status = { hunger = 2000000 },
anim = { dict = 'anim@djs@food@plated', clip = 'djs_food_plate_bite_loop' },
prop = {model = 'djs_plate_strawberrycake',
bone = 18905,
pos = vec3(0.140000, 0.030000, 0.020000),
rot = vec3(-13.146003, 0.000000, 4.382000)
},
propTwo = { model = 'djs_fork',
bone = 58868,
pos = vec3(0.000000, -0.014000, 0.030000),
rot = vec3(6.608002, 0.000000, 94.989883)
},
usetime = 17500,
cancel = true,
notification = 'You have satistfied your hunger'
},
},
['djs_plate_stuffedmushrooms'] = {
label = 'Stuffed Mushrooms',
stack = true,
close = false,
weight = 10,
client = {
status = { hunger = 2000000 },
anim = { dict = 'anim@djs@food@plated', clip = 'djs_food_plate_bite_loop' },
prop = {model = 'djs_plate_stuffedmushrooms',
bone = 18905,
pos = vec3(0.140000, 0.030000, 0.020000),
rot = vec3(-13.146003, 0.000000, 4.382000)
},
propTwo = { model = 'djs_fork',
bone = 58868,
pos = vec3(0.000000, -0.014000, 0.030000),
rot = vec3(6.608002, 0.000000, 94.989883)
},
usetime = 17500,
cancel = true,
notification = 'You have satistfied your hunger'
},
},
['djs_plate_tbone'] = {
label = 'T-Bone Steak',
stack = true,
close = false,
weight = 10,
client = {
status = { hunger = 2000000 },
anim = { dict = 'anim@djs@food@plated', clip = 'djs_food_plate_bite_loop' },
prop = {model = 'djs_plate_tbone',
bone = 18905,
pos = vec3(0.140000, 0.030000, 0.020000),
rot = vec3(-13.146003, 0.000000, 4.382000)
},
propTwo = { model = 'djs_fork',
bone = 58868,
pos = vec3(0.000000, -0.014000, 0.030000),
rot = vec3(6.608002, 0.000000, 94.989883)
},
usetime = 17500,
cancel = true,
notification = 'You have satistfied your hunger'
},
},
['djs_plate_tuna'] = {
label = 'T-Bone Steak',
stack = true,
close = false,
weight = 10,
client = {
status = { hunger = 2000000 },
anim = { dict = 'anim@djs@food@plated', clip = 'djs_food_plate_bite_loop' },
prop = {model = 'djs_plate_tuna',
bone = 18905,
pos = vec3(0.140000, 0.030000, 0.020000),
rot = vec3(-13.146003, 0.000000, 4.382000)
},
propTwo = { model = 'djs_fork',
bone = 58868,
pos = vec3(0.000000, -0.014000, 0.030000),
rot = vec3(6.608002, 0.000000, 94.989883)
},
usetime = 17500,
cancel = true,
notification = 'You have satistfied your hunger'
},
},
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