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_box_wings'] = { --checked
label = 'Box Wings',
weight = 50,
client = {
status = { hunger = 150000 },
anim = { dict = 'anim@djs@food@plated', clip = 'djs_food_plate_bite_loop' },
prop = {
model = 'djs_box_wings',
bone = 18905, -- R ForeArm
pos = vec3(0.13, 0.02, 0.02),
rot = vec3(0.0, 0.0, 0.0)
},
propTwo = {
model = 'djs_fork',
bone = 57005,
pos = vec3(0.11, 0.04, -0.03),
rot = vec3(-98.0, -222.0, 22.0),
},
usetime = 17500,
cancel = true,
notification = 'You have satistfied your hunger'
},
},
['djs_chips_nacho'] = { --checked
label = 'Chips Nacho',
weight = 50,
client = {
status = { hunger = 400000 },
anim = { dict = 'anim@djs@food@chips', clip = 'djs_food_chips_bite_loop' },
prop = { model = `djs_chips_nacho`, bone = 58868, pos = vec3(0.062000, 0.062000, 0.000000), rot = vec3(13.649989, 0.000000, 0.000000) },
usetime = 2500,
cancel = true,
},
},
['djs_chips_original'] = { --checked
label = 'Chips Original',
weight = 50,
client = {
status = { hunger = 400000 },
anim = { dict = 'anim@djs@food@chips', clip = 'djs_food_chips_bite_loop' },
prop = { model = `djs_chips_original`, bone = 58868, pos = vec3(0.062000, 0.062000, 0.000000), rot = vec3(13.649989, 0.000000, 0.000000) },
usetime = 2500,
cancel = true,
},
},
['djs_coffeecup_blackwhite'] = { --checked
label = 'Coffee Cup Black White',
weight = 500,
client = {
status = { thirst = 400000 },
anim = { dict = 'anim@djs@drink@coffee', clip = 'djs_drink_coffee_sip_long' },
prop = { model = `djs_coffeecup_blackwhite`, bone = 57005, pos = vec3(0.112000, 0.078000, 0.000000), rot = vec3(-47.250099, 0.000000, -21.749966) },
usetime = 2500,
},
},
['djs_coffeecup_brownwhite'] = { --checked
label = 'Coffee Cup Brown White',
weight = 500,
client = {
status = { thirst = 400000 },
anim = { dict = 'anim@djs@drink@coffee', clip = 'djs_drink_coffee_sip_long' },
prop = { model = `djs_coffeecup_brownwhite`, bone = 57005, pos = vec3(0.112000, 0.078000, 0.000000), rot = vec3(-47.250099, 0.000000, -21.749966) },
usetime = 2500,
},
},
['djs_cup_noodles'] = { --checked
label = 'Cup Noodles',
weight = 50,
client = {
status = { hunger = 400000 },
anim = { dict = 'anim@djs@food@plated', clip = 'djs_food_plate_bite_loop' },
prop = {
model = 'djs_cup_noodles',
bone = 26612,
pos = vec3(0.044000, -0.112000, 0.000000),
rot = vec3(85.650490, 0.000000, 14.849986)
},
propTwo = {
model = 'djs_fork',
bone = 57005,
pos = vec3(0.11, 0.04, -0.03),
rot = vec3(-98.0, -222.0, 22.0),
},
usetime = 17500,
cancel = true,
notification = 'You have satistfied your hunger'
},
},
['djs_cup_rednoodles'] = {
label = 'Cup Red Noodles',
weight = 50,
client = {
status = { hunger = 400000 },
anim = { dict = 'anim@djs@food@plated', clip = 'djs_food_plate_bite_loop' },
prop = {
model = 'djs_cup_rednoodles',
bone = 26612,
pos = vec3(0.044000, -0.112000, 0.000000),
rot = vec3(85.650490, 0.000000, 14.849986)
},
propTwo = {
model = 'djs_fork',
bone = 57005,
pos = vec3(0.11, 0.04, -0.03),
rot = vec3(-98.0, -222.0, 22.0),
},
usetime = 17500,
cancel = true,
notification = 'You have satistfied your hunger'
},
},
['djs_glass_lemonade'] = { --checked
label = 'Glass Lemonade',
weight = 500,
client = {
status = { thirst = 400000 },
anim = { dict = 'mp_player_intdrink', clip = 'loop_bottle' },
prop = { model = `djs_glass_lemonade`, pos = vec3(0.02, 0.01, 0.02), rot = vec3(5.0, 5.0, -180.5) },
usetime = 2500,
},
},
['djs_glass_ogalmondmilk'] = { --checked
label = 'Glass Galmond Milk',
weight = 500,
client = {
status = { thirst = 400000 },
anim = { dict = 'mp_player_intdrink', clip = 'loop_bottle' },
prop = { model = `djs_glass_ogalmondmilk`, pos = vec3(0.02, 0.01, 0.02), rot = vec3(5.0, 5.0, -180.5) },
usetime = 2500,
},
},
['djs_glass_orangejuice'] = { --checked
label = 'Glass Orange Juice',
weight = 500,
client = {
status = { thirst = 400000 },
anim = { dict = 'mp_player_intdrink', clip = 'loop_bottle' },
prop = { model = `djs_glass_orangejuice`, pos = vec3(0.02, 0.01, 0.02), rot = vec3(5.0, 5.0, -180.5) },
usetime = 2500,
},
},
['djs_glass_strawberryjuice'] = { --checked
label = 'Glass Strawberry Juice',
weight = 500,
client = {
status = { thirst = 400000 },
anim = { dict = 'mp_player_intdrink', clip = 'loop_bottle' },
prop = { model = `djs_glass_strawberryjuice`, pos = vec3(0.02, 0.01, 0.02), rot = vec3(5.0, 5.0, -180.5) },
usetime = 2500,
},
},
['djs_glass_usvanillaalmondmilk'] = { --checked
label = 'Glass Vanilla Almond Milk',
weight = 500,
client = {
status = { thirst = 400000 },
anim = { dict = 'mp_player_intdrink', clip = 'loop_bottle' },
prop = { model = `djs_glass_usvanillaalmondmilk`, pos = vec3(0.02, 0.01, 0.02), rot = vec3(5.0, 5.0, -180.5) },
usetime = 2500,
},
},
['djs_ham_sandwich'] = { --checked
label = 'Ham Sandwich',
weight = 50,
client = {
status = { hunger = 400000 },
anim = { dict = 'mp_player_inteat@burger', clip = 'mp_player_int_eat_burger' },
prop = { model = `djs_ham_sandwich`, bone = 18905, pos = vec3(0.115000, 0.079000, 0.000000), rot = vec3(-193.442108, 0.000000, 4.080024) },
usetime = 2500,
},
},
['djs_hotdog_mustard'] = { --checked
label = 'Hotdog Mustard',
weight = 50,
client = {
status = { hunger = 400000 },
anim = { dict = 'mp_player_inteat@burger', clip = 'mp_player_int_eat_burger' },
prop = { model = `djs_hotdog_mustard`, bone = 18905, pos = vec3(0.142000, 0.107000, 0.000000), rot = vec3(154.739975, 0.000000, 83.340034) },
usetime = 2500,
},
},
['djs_icecreambar_chocolate'] = { --checked
label = 'Ice Cream Chocolate Bar',
weight = 50,
client = {
status = { hunger = 400000 },
anim = { dict = 'anim@djs@food@cone', clip = 'djs_food_cone_lick_loop' },
prop = { model = `djs_icecreambar_chocolate`, bone = 57005, pos = vec3(0.118000, 0.085000, 0.000000), rot = vec3(-60.720169, 0.000000, -32.879974) },
usetime = 2500,
},
},
['djs_icecreamcone_strawberry'] = { --checked
label = 'Icecream Cone Strawberry',
weight = 50,
client = {
status = { hunger = 400000 },
anim = { dict = 'anim@djs@food@cone', clip = 'djs_food_cone_lick_loop' },
prop = { model = `djs_icecreamcone_strawberry`, bone = 57005, pos = vec3(0.118000, 0.085000, 0.000000), rot = vec3(-60.720169, 0.000000, -32.879974) },
usetime = 2500,
},
},
['djs_icecreamcone_vanilla'] = { --checked
label = 'Icecream Cone Vanilla',
weight = 50,
client = {
status = { hunger = 400000 },
anim = { dict = 'anim@djs@food@cone', clip = 'djs_food_cone_lick_loop' },
prop = { model = `djs_icecreamcone_vanilla`, bone = 57005, pos = vec3(0.118000, 0.085000, 0.000000), rot = vec3(-60.720169, 0.000000, -32.879974) },
usetime = 2500,
},
},
['djs_juice_juicy'] = { --checked
label = 'Juice Juicy',
weight = 500,
client = {
status = { thirst = 400000 },
anim = { dict = 'mp_player_intdrink', clip = 'loop_bottle' },
prop = { model = `djs_juice_juicy`, pos = vec3(0.02, 0.01, 0.02), rot = vec3(5.0, 5.0, -180.5) },
usetime = 2500,
},
},
['djs_largesoda'] = { --checked
label = 'Large Soda',
weight = 500,
client = {
status = { thirst = 400000 },
anim = { dict = 'mp_player_intdrink', clip = 'loop_bottle' },
prop = { model = `djs_largesoda`, pos = vec3(0.02, 0.01, 0.02), rot = vec3(5.0, 5.0, -180.5) },
usetime = 2500,
},
},
['djs_poptart_carmelcookie'] = { --checked
label = 'Poptart Carmel Cookie',
weight = 50,
client = {
status = { hunger = 400000 },
anim = { dict = 'mp_player_inteat@burger', clip = 'mp_player_int_eat_burger' },
prop = { model = `djs_poptart_carmelcookie`, bone = 18905, pos = vec3(0.137000, 0.068000, 0.000000), rot = vec3(-23.999981, 0.000000, 0.480000) },
usetime = 2500,
},
},
['djs_poptart_cottoncandy'] = { --checked
label = 'Poptart Cotton Candy',
weight = 50,
client = {
status = { hunger = 400000 },
anim = { dict = 'mp_player_inteat@burger', clip = 'mp_player_int_eat_burger' },
prop = { model = `djs_poptart_cottoncandy`, bone = 18905, pos = vec3(0.137000, 0.068000, 0.000000), rot = vec3(-23.999981, 0.000000, 0.480000) },
usetime = 2500,
},
},
['djs_poptart_redvelvet'] = { --checked
label = 'Poptart Redvelvet',
weight = 50,
client = {
status = { hunger = 400000 },
anim = { dict = 'mp_player_inteat@burger', clip = 'mp_player_int_eat_burger' },
prop = { model = `djs_poptart_redvelvet`, bone = 18905, pos = vec3(0.137000, 0.068000, 0.000000), rot = vec3(-23.999981, 0.000000, 0.480000) },
usetime = 2500,
},
},
['djs_poptart_sprinkles'] = { --checked
label = 'Poptart Sprinkles',
weight = 50,
client = {
status = { hunger = 400000 },
anim = { dict = 'mp_player_inteat@burger', clip = 'mp_player_int_eat_burger' },
prop = { model = `djs_poptart_sprinkles`, bone = 18905, pos = vec3(0.137000, 0.068000, 0.000000), rot = vec3(-23.999981, 0.000000, 0.480000) },
usetime = 2500,
},
},
['djs_poptart_strawberry'] = { --checked
label = 'Poptart Strawberry',
weight = 50,
client = {
status = { hunger = 400000 },
anim = { dict = 'mp_player_inteat@burger', clip = 'mp_player_int_eat_burger' },
prop = { model = `djs_poptart_strawberry`, bone = 18905, pos = vec3(0.137000, 0.068000, 0.000000), rot = vec3(-23.999981, 0.000000, 0.480000) },
usetime = 2500,
},
},
['djs_poptart_strawberrymilkshake'] = { --checked
label = 'Poptart Strawberry Milkshake',
weight = 50,
client = {
status = { hunger = 400000 },
anim = { dict = 'mp_player_inteat@burger', clip = 'mp_player_int_eat_burger' },
prop = { model = `djs_poptart_strawberrymilkshake`, bone = 18905, pos = vec3(0.137000, 0.068000, 0.000000), rot = vec3(-23.999981, 0.000000, 0.480000) },
usetime = 2500,
},
},
['djs_smallsoda'] = { --checked
label = 'Small Soda',
weight = 500,
client = {
status = { thirst = 400000 },
anim = { dict = 'mp_player_intdrink', clip = 'loop_bottle' },
prop = { model = `djs_smallsoda`, pos = vec3(0.02, 0.01, 0.02), rot = vec3(5.0, 5.0, -180.5) },
usetime = 2500,
},
},
['djs_snackwrap_chicken'] = { --checked
label = 'Snackwrap Chicken',
weight = 50,
client = {
status = { hunger = 400000 },
anim = { dict = 'mp_player_inteat@burger', clip = 'mp_player_int_eat_burger' },
prop = { model = `djs_snackwrap_chicken`, bone = 18905, pos = vec3(0.153000, 0.098000, 0.000000), rot = vec3(-36.480003, 0.000000, 71.040131) },
usetime = 2500,
},
},
['djs_sodaice'] = {
label = 'Soda Ice',
weight = 500,
client = {
status = { thirst = 400000 },
anim = { dict = 'mp_player_intdrink', clip = 'loop_bottle' },
prop = { model = `djs_sodaice`, pos = vec3(0.02, 0.01, 0.02), rot = vec3(5.0, 5.0, -180.5) },
usetime = 2500,
},
},
['djs_sodajuicy'] = { --checked
label = 'Soda Juicy',
weight = 500,
client = {
status = { thirst = 400000 },
anim = { dict = 'mp_player_intdrink', clip = 'loop_bottle' },
prop = { model = `djs_sodajuicy`, pos = vec3(0.02, 0.01, 0.02), rot = vec3(5.0, 5.0, -180.5) },
usetime = 2500,
},
},
['djs_turkey_halfsandwich'] = { --checked
label = 'Turkey Half Sandwich',
weight = 50,
client = {
status = { hunger = 400000 },
anim = { dict = 'mp_player_inteat@burger', clip = 'mp_player_int_eat_burger' },
prop = { model = `djs_turkey_halfsandwich`, bone = 18905, pos = vec3(0.171000, 0.064000, 0.000000), rot = vec3(0.000000, 0.000000, -219.601715) },
usetime = 2500,
},
},
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