🎒Ox Inventory Install

Step 1: Locate the OX Inventory Folder

  1. Navigate to your FiveM server directory.

  2. Open the resources folder.

  3. Find and open the ox_inventory resource folder.


Step 2: Open the data/items.lua File

  1. Inside the ox_inventory folder, go to:

    ox_inventory/data/items.lua
  2. 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_applejacks'] = { 
		label = 'Apple Jacks',
		weight = 0,
		client = {
			status = { hunger = 150000 },
			anim = { dict = 'anim@djs@food@plated', clip = 'djs_food_plate_bite_loop' },
			
			prop = { model = 'djs_spoon', 
			bone = 57005,
			pos = vec3(0.14, 0.02, 0.01), 
			rot = vec3(-118.0, 192.0, 24.0) },
	
			propTwo = { model = 'djs_bowl_applejacks', 
			bone = 18905,
			pos = vec3(0.13, 0.05, 0.00), 
			rot = vec3(0.0, 0.0, 0.0) },
			
			usetime = 10000,
			cancel = true,
		},
	},
	['djs_bowl_captaincrunchberries'] = { 
		label = 'Captain Crunch Berries',
		weight = 0,
		client = {
			status = { hunger = 150000 },
			anim = { dict = 'anim@djs@food@plated', clip = 'djs_food_plate_bite_loop' },
			
			prop = { model = 'djs_spoon', 
			bone = 57005,
			pos = vec3(0.14, 0.02, 0.01), 
			rot = vec3(-118.0, 192.0, 24.0) },
	
			propTwo = { model = 'djs_bowl_captaincrunchberries', 
			bone = 18905,
			pos = vec3(0.13, 0.05, 0.00), 
			rot = vec3(0.0, 0.0, 0.0) },
			
			usetime = 10000,
			cancel = true,
		},
	},
	['djs_bowl_cheeriosscinammonoatcrunch'] = { 
		label = 'Cherrios Cinammonoat Crunch',
		weight = 0,
		client = {
			status = { hunger = 150000 },
			anim = { dict = 'anim@djs@food@plated', clip = 'djs_food_plate_bite_loop' },
			
			prop = { model = 'djs_spoon', 
			bone = 57005,
			pos = vec3(0.14, 0.02, 0.01), 
			rot = vec3(-118.0, 192.0, 24.0) },
	
			propTwo = { model = 'djs_bowl_cheeriosscinammonoatcrunch', 
			bone = 18905,
			pos = vec3(0.13, 0.05, 0.00), 
			rot = vec3(0.0, 0.0, 0.0) },
			
			usetime = 10000,
			cancel = true,
		},
	},
	['djs_bowl_chocopillows'] = { 
		label = 'Choco Pillows',
		weight = 0,
		client = {
			status = { hunger = 150000 },
			anim = { dict = 'anim@djs@food@plated', clip = 'djs_food_plate_bite_loop' },
			
			prop = { model = 'djs_spoon', 
			bone = 57005,
			pos = vec3(0.14, 0.02, 0.01), 
			rot = vec3(-118.0, 192.0, 24.0) },
	
			propTwo = { model = 'djs_bowl_chocopillows', 
			bone = 18905,
			pos = vec3(0.13, 0.05, 0.00), 
			rot = vec3(0.0, 0.0, 0.0) },
			
			usetime = 10000,
			cancel = true,
		},
	},
	['djs_bowl_churros'] = { 
		label = 'Churros',
		weight = 0,
		client = {
			status = { hunger = 150000 },
			anim = { dict = 'anim@djs@food@plated', clip = 'djs_food_plate_bite_loop' },
			
			prop = { model = 'djs_spoon', 
			bone = 57005,
			pos = vec3(0.14, 0.02, 0.01), 
			rot = vec3(-118.0, 192.0, 24.0) },
	
			propTwo = { model = 'djs_bowl_churros', 
			bone = 18905,
			pos = vec3(0.13, 0.05, 0.00), 
			rot = vec3(0.0, 0.0, 0.0) },
			
			usetime = 10000,
			cancel = true,
		},
	},
	['djs_bowl_cinammontoastcrunch'] = { 
		label = 'Cinammon Toast Crunch',
		weight = 0,
		client = {
			status = { hunger = 150000 },
			anim = { dict = 'anim@djs@food@plated', clip = 'djs_food_plate_bite_loop' },
			
			prop = { model = 'djs_spoon', 
			bone = 57005,
			pos = vec3(0.14, 0.02, 0.01), 
			rot = vec3(-118.0, 192.0, 24.0) },
	
			propTwo = { model = 'djs_bowl_cinammontoastcrunch', 
			bone = 18905,
			pos = vec3(0.13, 0.05, 0.00), 
			rot = vec3(0.0, 0.0, 0.0) },
			
			usetime = 10000,
			cancel = true,
		},
	},
	['djs_bowl_cocopops'] = { 
		label = 'Coco Pops',
		weight = 0,
		client = {
			status = { hunger = 150000 },
			anim = { dict = 'anim@djs@food@plated', clip = 'djs_food_plate_bite_loop' },
			
			prop = { model = 'djs_spoon', 
			bone = 57005,
			pos = vec3(0.14, 0.02, 0.01), 
			rot = vec3(-118.0, 192.0, 24.0) },
	
			propTwo = { model = 'djs_bowl_cocopops', 
			bone = 18905,
			pos = vec3(0.13, 0.05, 0.00), 
			rot = vec3(0.0, 0.0, 0.0) },
			
			usetime = 10000,
			cancel = true,
		},
	},
	['djs_bowl_cocopuffs'] = { 
		label = 'Coco Puffs',
		weight = 0,
		client = {
			status = { hunger = 150000 },
			anim = { dict = 'anim@djs@food@plated', clip = 'djs_food_plate_bite_loop' },
			
			prop = { model = 'djs_spoon', 
			bone = 57005,
			pos = vec3(0.14, 0.02, 0.01), 
			rot = vec3(-118.0, 192.0, 24.0) },
	
			propTwo = { model = 'djs_bowl_cocopuffs', 
			bone = 18905,
			pos = vec3(0.13, 0.05, 0.00), 
			rot = vec3(0.0, 0.0, 0.0) },
			
			usetime = 10000,
			cancel = true,
		},
	},
	['djs_bowl_cornflakes'] = { 
		label = 'Corn Flakes',
		weight = 0,
		client = {
			status = { hunger = 150000 },
			anim = { dict = 'anim@djs@food@plated', clip = 'djs_food_plate_bite_loop' },
			
			prop = { model = 'djs_spoon', 
			bone = 57005,
			pos = vec3(0.14, 0.02, 0.01), 
			rot = vec3(-118.0, 192.0, 24.0) },
	
			propTwo = { model = 'djs_bowl_cornflakes', 
			bone = 18905,
			pos = vec3(0.13, 0.05, 0.00), 
			rot = vec3(0.0, 0.0, 0.0) },
			
			usetime = 10000,
			cancel = true,
		},
	},
	['djs_bowl_cornpops'] = { 
		label = 'Corn Pops',
		weight = 0,
		client = {
			status = { hunger = 150000 },
			anim = { dict = 'anim@djs@food@plated', clip = 'djs_food_plate_bite_loop' },
			
			prop = { model = 'djs_spoon', 
			bone = 57005,
			pos = vec3(0.14, 0.02, 0.01), 
			rot = vec3(-118.0, 192.0, 24.0) },
	
			propTwo = { model = 'djs_bowl_cornpops', 
			bone = 18905,
			pos = vec3(0.13, 0.05, 0.00), 
			rot = vec3(0.0, 0.0, 0.0) },
			
			usetime = 10000,
			cancel = true,
		},
	},
	['djs_bowl_frootloops'] = { 
		label = 'Froot Loops',
		weight = 0,
		client = {
			status = { hunger = 150000 },
			anim = { dict = 'anim@djs@food@plated', clip = 'djs_food_plate_bite_loop' },
			
			prop = { model = 'djs_spoon', 
			bone = 57005,
			pos = vec3(0.14, 0.02, 0.01), 
			rot = vec3(-118.0, 192.0, 24.0) },
	
			propTwo = { model = 'djs_bowl_frootloops', 
			bone = 18905,
			pos = vec3(0.13, 0.05, 0.00), 
			rot = vec3(0.0, 0.0, 0.0) },
			
			usetime = 10000,
			cancel = true,
		},
	},
	['djs_bowl_frootloopsmarshmallows'] = { 
		label = 'Froot Loops Marshmallows',
		weight = 0,
		client = {
			status = { hunger = 150000 },
			anim = { dict = 'anim@djs@food@plated', clip = 'djs_food_plate_bite_loop' },
			
			prop = { model = 'djs_spoon', 
			bone = 57005,
			pos = vec3(0.14, 0.02, 0.01), 
			rot = vec3(-118.0, 192.0, 24.0) },
	
			propTwo = { model = 'djs_bowl_frootloopsmarshmallows', 
			bone = 18905,
			pos = vec3(0.13, 0.05, 0.00), 
			rot = vec3(0.0, 0.0, 0.0) },
			
			usetime = 10000,
			cancel = true,
		},
	},
	['djs_bowl_frostedflakes'] = { 
		label = 'Frosted Flakes',
		weight = 0,
		client = {
			status = { hunger = 150000 },
			anim = { dict = 'anim@djs@food@plated', clip = 'djs_food_plate_bite_loop' },
			
			prop = { model = 'djs_spoon', 
			bone = 57005,
			pos = vec3(0.14, 0.02, 0.01), 
			rot = vec3(-118.0, 192.0, 24.0) },
	
			propTwo = { model = 'djs_bowl_frostedflakes', 
			bone = 18905,
			pos = vec3(0.13, 0.05, 0.00), 
			rot = vec3(0.0, 0.0, 0.0) },
			
			usetime = 10000,
			cancel = true,
		},
	},
	['djs_bowl_fruitypebbles'] = { 
		label = 'Fruity Pebbles',
		weight = 0,
		client = {
			status = { hunger = 150000 },
			anim = { dict = 'anim@djs@food@plated', clip = 'djs_food_plate_bite_loop' },
			
			prop = { model = 'djs_spoon', 
			bone = 57005,
			pos = vec3(0.14, 0.02, 0.01), 
			rot = vec3(-118.0, 192.0, 24.0) },
	
			propTwo = { model = 'djs_bowl_fruitypebbles', 
			bone = 18905,
			pos = vec3(0.13, 0.05, 0.00), 
			rot = vec3(0.0, 0.0, 0.0) },
			
			usetime = 10000,
			cancel = true,
		},
	},
	['djs_bowl_honeybunchesofoats'] = { 
		label = 'Honey Bunches of Oats',
		weight = 0,
		client = {
			status = { hunger = 150000 },
			anim = { dict = 'anim@djs@food@plated', clip = 'djs_food_plate_bite_loop' },
			
			prop = { model = 'djs_spoon', 
			bone = 57005,
			pos = vec3(0.14, 0.02, 0.01), 
			rot = vec3(-118.0, 192.0, 24.0) },
	
			propTwo = { model = 'djs_bowl_honeybunchesofoats', 
			bone = 18905,
			pos = vec3(0.13, 0.05, 0.00), 
			rot = vec3(0.0, 0.0, 0.0) },
			
			usetime = 10000,
			cancel = true,
		},
	},
	['djs_bowl_honeynutcherrios'] = { 
		label = 'Honey Nut Cherrios',
		weight = 0,
		client = {
			status = { hunger = 150000 },
			anim = { dict = 'anim@djs@food@plated', clip = 'djs_food_plate_bite_loop' },
			
			prop = { model = 'djs_spoon', 
			bone = 57005,
			pos = vec3(0.14, 0.02, 0.01), 
			rot = vec3(-118.0, 192.0, 24.0) },
	
			propTwo = { model = 'djs_bowl_honeynutcherrios', 
			bone = 18905,
			pos = vec3(0.13, 0.05, 0.00), 
			rot = vec3(0.0, 0.0, 0.0) },
			
			usetime = 10000,
			cancel = true,
		},
	},
	['djs_bowl_luckycharms'] = { 
		label = 'Lucky Charms',
		weight = 0,
		client = {
			status = { hunger = 150000 },
			anim = { dict = 'anim@djs@food@plated', clip = 'djs_food_plate_bite_loop' },
			
			prop = { model = 'djs_spoon', 
			bone = 57005,
			pos = vec3(0.14, 0.02, 0.01), 
			rot = vec3(-118.0, 192.0, 24.0) },
	
			propTwo = { model = 'djs_bowl_luckycharms', 
			bone = 18905,
			pos = vec3(0.13, 0.05, 0.00), 
			rot = vec3(0.0, 0.0, 0.0) },
			
			usetime = 10000,
			cancel = true,
		},
	},
	['djs_bowl_oreo'] = { 
		label = 'Oreo',
		weight = 0,
		client = {
			status = { hunger = 150000 },
			anim = { dict = 'anim@djs@food@plated', clip = 'djs_food_plate_bite_loop' },
			
			prop = { model = 'djs_spoon', 
			bone = 57005,
			pos = vec3(0.14, 0.02, 0.01), 
			rot = vec3(-118.0, 192.0, 24.0) },
	
			propTwo = { model = 'djs_bowl_oreo', 
			bone = 18905,
			pos = vec3(0.13, 0.05, 0.00), 
			rot = vec3(0.0, 0.0, 0.0) },
			
			usetime = 10000,
			cancel = true,
		},
	},
	['djs_bowl_raisinbran'] = { 
		label = 'Raisin Bran',
		weight = 0,
		client = {
			status = { hunger = 150000 },
			anim = { dict = 'anim@djs@food@plated', clip = 'djs_food_plate_bite_loop' },
			
			prop = { model = 'djs_spoon', 
			bone = 57005,
			pos = vec3(0.14, 0.02, 0.01), 
			rot = vec3(-118.0, 192.0, 24.0) },
	
			propTwo = { model = 'djs_bowl_raisinbran', 
			bone = 18905,
			pos = vec3(0.13, 0.05, 0.00), 
			rot = vec3(0.0, 0.0, 0.0) },
			
			usetime = 10000,
			cancel = true,
		},
	},
	['djs_bowl_reesepuffs'] = { 
		label = 'Reese Puffs',
		weight = 0,
		client = {
			status = { hunger = 150000 },
			anim = { dict = 'anim@djs@food@plated', clip = 'djs_food_plate_bite_loop' },
			
			prop = { model = 'djs_spoon', 
			bone = 57005,
			pos = vec3(0.14, 0.02, 0.01), 
			rot = vec3(-118.0, 192.0, 24.0) },
	
			propTwo = { model = 'djs_bowl_reesepuffs', 
			bone = 18905,
			pos = vec3(0.13, 0.05, 0.00), 
			rot = vec3(0.0, 0.0, 0.0) },
			
			usetime = 10000,
			cancel = true,
		},
	},
	['djs_bowl_ricekrispies'] = { 
		label = 'Rice Krispies',
		weight = 0,
		client = {
			status = { hunger = 150000 },
			anim = { dict = 'anim@djs@food@plated', clip = 'djs_food_plate_bite_loop' },
			
			prop = { model = 'djs_spoon', 
			bone = 57005,
			pos = vec3(0.14, 0.02, 0.01), 
			rot = vec3(-118.0, 192.0, 24.0) },
	
			propTwo = { model = 'djs_bowl_ricekrispies', 
			bone = 18905,
			pos = vec3(0.13, 0.05, 0.00), 
			rot = vec3(0.0, 0.0, 0.0) },
			
			usetime = 10000,
			cancel = true,
		},
	},
	['djs_bowl_specialredk'] = { 
		label = 'Rice Krispies',
		weight = 0,
		client = {
			status = { hunger = 150000 },
			anim = { dict = 'anim@djs@food@plated', clip = 'djs_food_plate_bite_loop' },
			
			prop = { model = 'djs_spoon', 
			bone = 57005,
			pos = vec3(0.14, 0.02, 0.01), 
			rot = vec3(-118.0, 192.0, 24.0) },
	
			propTwo = { model = 'djs_bowl_specialredk', 
			bone = 18905,
			pos = vec3(0.13, 0.05, 0.00), 
			rot = vec3(0.0, 0.0, 0.0) },
			
			usetime = 10000,
			cancel = true,
		},
	},
	['djs_bowl_trix'] = { 
		label = 'Trix',
		weight = 0,
		client = {
			status = { hunger = 150000 },
			anim = { dict = 'anim@djs@food@plated', clip = 'djs_food_plate_bite_loop' },
			
			prop = { model = 'djs_spoon', 
			bone = 57005,
			pos = vec3(0.14, 0.02, 0.01), 
			rot = vec3(-118.0, 192.0, 24.0) },
	
			propTwo = { model = 'djs_bowl_trix', 
			bone = 18905,
			pos = vec3(0.13, 0.05, 0.00), 
			rot = vec3(0.0, 0.0, 0.0) },
			
			usetime = 10000,
			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

  1. Navigate to:

    ox_inventory/web/images/
  2. Place your item image inside the images/ folder.


Step 5: Save the File & Restart Server

  1. Save the items.lua file.

  2. 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

  1. Spawn the item using an admin command:

    /giveitem yourID prop_name 1

    (Replace yourID with your actual player ID and burger with your item name.)

  2. Open OX Inventory (F2 default key).

  3. 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