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_bigplate_baconeggtoast'] = { --checked
label = 'Plate of Bacon and Eggs',
weight = 250,
stack = true,
close = true,
client = {
status = { hunger = 200000 },
anim = { dict = 'anim@djs@food@plated', clip = 'djs_food_plate_bite_loop' },
prop = {
model = 'djs_bigplate_baconeggtoast',
bone = 18905,
pos = vec3(0.13, 0.03, 0.02),
rot = vec3(-18.0, -1.0, 10.0)
},
propTwo = {
model = 'djs_fork',
bone = 57005,
pos = vec3(0.14, 0.02, 0.01),
rot = vec3(-118.0, 192.0, 24.0)
},
usetime = 2500,
cancel = true,
}
},
['djs_bigplate_cinnamonroll'] = { --checked
label = 'Cinnamon Roll',
weight = 250,
stack = true,
close = true,
client = {
status = { hunger = 200000 },
anim = { dict = 'anim@djs@food@plated', clip = 'djs_food_plate_bite_loop' },
prop = {
model = 'djs_bigplate_cinnamonroll',
bone = 18905,
pos = vec3(0.14, 0.0, 0.02),
rot = vec3(-13.0, -1.0, 0.0)
},
propTwo = {
model = 'djs_prop_cinnamonroll',
bone = 57005,
pos = vec3(0.112000, 0.000000, 0.000000),
rot = vec3(-50.850136, 0.000000, 0.000000)
},
usetime = 2500,
cancel = true,
}
},
['djs_bigplate_creamcheeseavocadotoast'] = { --checked
label = 'Big Plate of Cream Cheese Avocado Toast',
weight = 250,
stack = true,
close = true,
client = {
status = { hunger = 200000 },
anim = { dict = 'anim@djs@food@plated', clip = 'djs_food_plate_bite_loop' },
prop = {
model = 'djs_bigplate_creamcheeseavocadotoast',
bone = 18905,
pos = vec3(0.14, 0.0, 0.02),
rot = vec3(-13.0, -1.0, 0.0)
},
propTwo = {
model = 'djs_prop_creamcheeseavocadotoast',
bone = 57005,
pos = vec3(0.112000, 0.000000, 0.000000),
rot = vec3(-50.850136, 0.000000, 0.000000)
},
usetime = 2500,
cancel = true,
}
},
['djs_plate_avocadotoast'] = { --checked
label = 'Homemade Avocado Toast',
weight = 250,
stack = true,
close = true,
client = {
status = { hunger = 200000 },
anim = { dict = 'anim@djs@food@plated', clip = 'djs_food_plate_bite_loop' },
prop = {
model = 'djs_plate_avocadotoast',
bone = 18905,
pos = vec3(0.14, 0.0, 0.02),
rot = vec3(-13.0, -1.0, 0.0)
},
propTwo = {
model = 'djs_prop_avocadotoast',
bone = 57005,
pos = vec3(0.112000, 0.000000, 0.000000),
rot = vec3(-50.850136, 0.000000, 0.000000)
},
usetime = 2500,
cancel = true,
}
},
['djs_plate_bacon'] = { --checked
label = 'Homemade Bacon',
weight = 250,
stack = true,
close = true,
client = {
status = { hunger = 200000 },
anim = { dict = 'anim@djs@food@plated', clip = 'djs_food_plate_bite_loop' },
prop = {
model = 'djs_plate_bacon',
bone = 18905,
pos = vec3(0.14, 0.0, 0.02),
rot = vec3(-13.0, -1.0, 0.0)
},
propTwo = {
model = 'djs_prop_bacon',
bone = 57005,
pos = vec3(0.14, 0.03, -0.03),
rot = vec3(-133.0, -39.0, -30.0)
},
usetime = 2500,
cancel = true,
}
},
['djs_plate_baconeggtoast'] = { --checked
label = 'Homemade Bacon',
weight = 250,
stack = true,
close = true,
client = {
status = { hunger = 200000 },
anim = { dict = 'anim@djs@food@plated', clip = 'djs_food_plate_bite_loop' },
prop = {
model = 'djs_plate_baconeggtoast',
bone = 18905,
pos = vec3(0.14, 0.0, 0.02),
rot = vec3(-13.0, -1.0, 0.0)
},
propTwo = {
model = 'djs_fork',
bone = 57005,
pos = vec3(0.14, 0.02, 0.01),
rot = vec3(-118.0, 192.0, 24.0)
},
usetime = 2500,
cancel = true,
}
},
['djs_plate_baconomelette'] = { --checked
label = 'Homemade Bacon',
weight = 250,
stack = true,
close = true,
client = {
status = { hunger = 200000 },
anim = { dict = 'anim@djs@food@plated', clip = 'djs_food_plate_bite_loop' },
prop = {
model = 'djs_plate_baconomelette',
bone = 18905,
pos = vec3(0.14, 0.0, 0.02),
rot = vec3(-13.0, -1.0, 0.0)
},
propTwo = {
model = 'djs_fork',
bone = 57005,
pos = vec3(0.14, 0.02, 0.01),
rot = vec3(-118.0, 192.0, 24.0)
},
usetime = 2500,
cancel = true,
}
},
['djs_plate_blueberrypancakes'] = { --checked
label = 'Homemade BlueBerry Pancakes',
weight = 250,
stack = true,
close = true,
client = {
status = { hunger = 200000 },
anim = { dict = 'anim@djs@food@plated', clip = 'djs_food_plate_bite_loop' },
prop = {
model = 'djs_plate_blueberrypancakes',
bone = 18905,
pos = vec3(0.14, 0.0, 0.02),
rot = vec3(-13.0, -1.0, 0.0)
},
propTwo = {
model = 'djs_fork',
bone = 57005,
pos = vec3(0.14, 0.02, 0.01),
rot = vec3(-118.0, 192.0, 24.0)
},
usetime = 2500,
cancel = true,
}
},
['djs_plate_chickenfajitaomelette'] = { --checked
label = 'Homemade Chicken Fajita Omelette',
weight = 250,
stack = true,
close = true,
client = {
status = { hunger = 200000 },
anim = { dict = 'anim@djs@food@plated', clip = 'djs_food_plate_bite_loop' },
prop = {
model = 'djs_plate_chickenfajitaomelette',
bone = 18905,
pos = vec3(0.14, 0.0, 0.02),
rot = vec3(-13.0, -1.0, 0.0)
},
propTwo = {
model = 'djs_fork',
bone = 57005,
pos = vec3(0.14, 0.02, 0.01),
rot = vec3(-118.0, 192.0, 24.0)
},
usetime = 2500,
cancel = true,
}
},
['djs_plate_chocolatechippancake'] = {
label = 'Homemade Chocolate Chip Pancakes',
weight = 250,
stack = true,
close = true,
client = {
status = { hunger = 200000 },
anim = { dict = 'anim@djs@food@plated', clip = 'djs_food_plate_bite_loop' },
prop = {
model = 'djs_plate_chocolatechippancake',
bone = 18905,
pos = vec3(0.14, 0.0, 0.02),
rot = vec3(-13.0, -1.0, 0.0)
},
propTwo = {
model = 'djs_fork',
bone = 57005,
pos = vec3(0.14, 0.02, 0.01),
rot = vec3(-118.0, 192.0, 24.0)
},
usetime = 2500,
cancel = true,
}
},
['djs_plate_cinammonpancakes'] = {
label = 'Homemade Cinammon Pancakes',
weight = 250,
stack = true,
close = true,
client = {
status = { hunger = 200000 },
anim = { dict = 'anim@djs@food@plated', clip = 'djs_food_plate_bite_loop' },
prop = {
model = 'djs_plate_cinammonpancakes',
bone = 18905,
pos = vec3(0.14, 0.0, 0.02),
rot = vec3(-13.0, -1.0, 0.0)
},
propTwo = {
model = 'djs_fork',
bone = 57005,
pos = vec3(0.14, 0.02, 0.01),
rot = vec3(-118.0, 192.0, 24.0)
},
usetime = 2500,
cancel = true,
}
},
['djs_plate_cinnamonroll'] = {
label = 'Plate of Cinnamonroll',
weight = 250,
stack = true,
close = true,
client = {
status = { hunger = 200000 },
anim = { dict = 'anim@djs@food@plated', clip = 'djs_food_plate_bite_loop' },
prop = {
model = 'djs_plate_cinnamonroll',
bone = 18905,
pos = vec3(0.14, 0.0, 0.02),
rot = vec3(-13.0, -1.0, 0.0)
},
propTwo = {
model = 'djs_fork',
bone = 57005,
pos = vec3(0.14, 0.02, 0.01),
rot = vec3(-118.0, 192.0, 24.0)
},
usetime = 2500,
cancel = true,
}
},
['djs_plate_cupcakepancake'] = {
label = 'Homemade Cupcake Pancakes',
weight = 250,
stack = true,
close = true,
client = {
status = { hunger = 200000 },
anim = { dict = 'anim@djs@food@plated', clip = 'djs_food_plate_bite_loop' },
prop = {
model = 'djs_plate_cupcakepancake',
bone = 18905,
pos = vec3(0.14, 0.0, 0.02),
rot = vec3(-13.0, -1.0, 0.0)
},
propTwo = {
model = 'djs_fork',
bone = 57005,
pos = vec3(0.14, 0.02, 0.01),
rot = vec3(-118.0, 192.0, 24.0)
},
usetime = 2500,
cancel = true,
}
},
['djs_plate_frenchtoast'] = {
label = 'Homemade French Toast',
weight = 250,
stack = true,
close = true,
client = {
status = { hunger = 200000 },
anim = { dict = 'anim@djs@food@plated', clip = 'djs_food_plate_bite_loop' },
prop = {
model = 'djs_plate_frenchtoast',
bone = 18905,
pos = vec3(0.14, 0.0, 0.02),
rot = vec3(-13.0, -1.0, 0.0)
},
propTwo = {
model = 'djs_fork',
bone = 57005,
pos = vec3(0.14, 0.02, 0.01),
rot = vec3(-118.0, 192.0, 24.0)
},
usetime = 2500,
cancel = true,
}
},
['djs_plate_newyorkcheesecakepancake'] = {
label = 'Homemade NewYork Cheesecake Pancakes',
weight = 250,
stack = true,
close = true,
client = {
status = { hunger = 200000 },
anim = { dict = 'anim@djs@food@plated', clip = 'djs_food_plate_bite_loop' },
prop = {
model = 'djs_plate_newyorkcheesecakepancake',
bone = 18905,
pos = vec3(0.14, 0.0, 0.02),
rot = vec3(-13.0, -1.0, 0.0)
},
propTwo = {
model = 'djs_fork',
bone = 57005,
pos = vec3(0.14, 0.02, 0.01),
rot = vec3(-118.0, 192.0, 24.0)
},
usetime = 2500,
cancel = true,
}
},
['djs_plate_origbuttermilkpancake'] = {
label = 'Homemade Buttermilk Pancakes',
weight = 250,
stack = true,
close = true,
client = {
status = { hunger = 200000 },
anim = { dict = 'anim@djs@food@plated', clip = 'djs_food_plate_bite_loop' },
prop = {
model = 'djs_plate_origbuttermilkpancake',
bone = 18905,
pos = vec3(0.14, 0.0, 0.02),
rot = vec3(-13.0, -1.0, 0.0)
},
propTwo = {
model = 'djs_fork',
bone = 57005,
pos = vec3(0.14, 0.02, 0.01),
rot = vec3(-118.0, 192.0, 24.0)
},
usetime = 2500,
cancel = true,
}
},
['djs_plate_spinachomelette'] = {
label = 'Homemade Spinach Omelette',
weight = 250,
stack = true,
close = true,
client = {
status = { hunger = 200000 },
anim = { dict = 'anim@djs@food@plated', clip = 'djs_food_plate_bite_loop' },
prop = {
model = 'djs_plate_spinachomelette',
bone = 18905,
pos = vec3(0.14, 0.0, 0.02),
rot = vec3(-13.0, -1.0, 0.0)
},
propTwo = {
model = 'djs_fork',
bone = 57005,
pos = vec3(0.14, 0.02, 0.01),
rot = vec3(-118.0, 192.0, 24.0)
},
usetime = 2500,
cancel = true,
}
},
['djs_plate_steakomelette'] = {
label = 'Homemade Steak Omelette',
weight = 250,
stack = true,
close = true,
client = {
status = { hunger = 200000 },
anim = { dict = 'anim@djs@food@plated', clip = 'djs_food_plate_bite_loop' },
prop = {
model = 'djs_plate_steakomelette',
bone = 18905,
pos = vec3(0.14, 0.0, 0.02),
rot = vec3(-13.0, -1.0, 0.0)
},
propTwo = {
model = 'djs_fork',
bone = 57005,
pos = vec3(0.14, 0.02, 0.01),
rot = vec3(-118.0, 192.0, 24.0)
},
usetime = 2500,
cancel = true,
}
},
['djs_plate_strawberrybanannapancakes'] = {
label = 'Homemade Stawberry banana Pancakes',
weight = 250,
stack = true,
close = true,
client = {
status = { hunger = 200000 },
anim = { dict = 'anim@djs@food@plated', clip = 'djs_food_plate_bite_loop' },
prop = {
model = 'djs_plate_strawberrybanannapancakes',
bone = 18905,
pos = vec3(0.14, 0.0, 0.02),
rot = vec3(-13.0, -1.0, 0.0)
},
propTwo = {
model = 'djs_fork',
bone = 57005,
pos = vec3(0.14, 0.02, 0.01),
rot = vec3(-118.0, 192.0, 24.0)
},
usetime = 2500,
cancel = true,
}
},
['djs_plate_strawberryfrenchtoast'] = {
label = 'Homemade Strawberry French Toast',
weight = 250,
stack = true,
close = true,
client = {
status = { hunger = 200000 },
anim = { dict = 'anim@djs@food@plated', clip = 'djs_food_plate_bite_loop' },
prop = {
model = 'djs_plate_strawberryfrenchtoast',
bone = 18905,
pos = vec3(0.14, 0.0, 0.02),
rot = vec3(-13.0, -1.0, 0.0)
},
propTwo = {
model = 'djs_fork',
bone = 57005,
pos = vec3(0.14, 0.02, 0.01),
rot = vec3(-118.0, 192.0, 24.0)
},
usetime = 2500,
cancel = true,
}
},
['djs_plate_sunnyegg'] = {
label = 'Homemade SunnySide Egg',
weight = 250,
stack = true,
close = true,
client = {
status = { hunger = 200000 },
anim = { dict = 'anim@djs@food@plated', clip = 'djs_food_plate_bite_loop' },
prop = {
model = 'djs_plate_sunnyegg',
bone = 18905,
pos = vec3(0.14, 0.0, 0.02),
rot = vec3(-13.0, -1.0, 0.0)
},
propTwo = {
model = 'djs_fork',
bone = 57005,
pos = vec3(0.14, 0.02, 0.01),
rot = vec3(-118.0, 192.0, 24.0)
},
usetime = 2500,
cancel = true,
}
},
['djs_plate_toastsasuageeggs'] = {
label = 'Homemade Sausage Toast Eggs',
weight = 250,
stack = true,
close = true,
client = {
status = { hunger = 200000 },
anim = { dict = 'anim@djs@food@plated', clip = 'djs_food_plate_bite_loop' },
prop = {
model = 'djs_plate_toastsasuageeggs',
bone = 18905,
pos = vec3(0.14, 0.0, 0.02),
rot = vec3(-13.0, -1.0, 0.0)
},
propTwo = {
model = 'djs_fork',
bone = 57005,
pos = vec3(0.14, 0.02, 0.01),
rot = vec3(-118.0, 192.0, 24.0)
},
usetime = 2500,
cancel = true,
}
},
['djs_plate_treslechepancake'] = {
label = 'Homemade Tres Leches Pancakes',
weight = 250,
stack = true,
close = true,
client = {
status = { hunger = 200000 },
anim = { dict = 'anim@djs@food@plated', clip = 'djs_food_plate_bite_loop' },
prop = {
model = 'djs_plate_treslechepancake',
bone = 18905,
pos = vec3(0.14, 0.0, 0.02),
rot = vec3(-13.0, -1.0, 0.0)
},
propTwo = {
model = 'djs_fork',
bone = 57005,
pos = vec3(0.14, 0.02, 0.01),
rot = vec3(-118.0, 192.0, 24.0)
},
usetime = 2500,
cancel = true,
}
},
['djs_prop_chocolatemilk'] = {
label = 'Chocolate Milk',
weight = 250,
stack = true,
close = true,
client = {
status = { thirst = 200000 },
anim = { dict = 'mp_player_intdrink', clip = 'loop' },
prop = {
model = 'djs_prop_chocolatemilk',
bone = 18905,
pos = vec3(0.119000, -0.162000, 0.000000),
rot = vec3(280.644714, 0.000000, -8.700002)
},
usetime = 2500,
cancel = true,
}
},
['djs_prop_milk'] = {
label = 'Milk',
weight = 250,
stack = true,
close = true,
client = {
status = { thirst = 200000 },
anim = { dict = 'mp_player_intdrink', clip = 'loop' },
prop = {
model = 'djs_prop_milk',
bone = 18905,
pos = vec3(0.119000, -0.162000, 0.000000),
rot = vec3(280.644714, 0.000000, -8.700002)
},
usetime = 2500,
cancel = true,
}
},
['djs_prop_coffeecup'] = {
label = 'Cup of Coffee',
weight = 250,
stack = true,
close = true,
client = {
status = { thirst = 200000 },
anim = { dict = 'mp_player_intdrink', clip = 'loop' },
prop = {
model = 'djs_prop_coffeecup',
bone = 18905,
pos = vec3(0.13, 0.0, 0.05),
rot = vec3(-127.0, -62.0, -2.0)
},
usetime = 2500,
cancel = true,
}
},
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