🎒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 (consumable)

	["djs_bite_ccutsalad"] = { -- requirement https://docs.djscollections.com/paid-props-products/food-and-drink-animations
        label = "Cold Cut Salad",
        weight = 1,
        stack = true,
        close = true,
        client = {
			status = { hunger = 400000 },
            anim = { dict = 'anim@djs@food@plated', clip = 'djs_food_plate_bite_loop' },
            prop = { model = 'djs_bite_ccutsalad', pos = vector3(0.175000, 0.008000, 0.000000), rot = vector3(-14.549987, 0.000000, 6.600003), bone = 18905, },
            propTwo = { model = 'djs_fork', pos = vector3(0.11, 0.04, -0.03), rot = vector3(-98.0, -222.0, 22.0), bone = 57005, },
			usetime = 17500,
			cancel = true,
        }
    },
	["djs_bite_chiksalad"] = { -- requirement https://docs.djscollections.com/paid-props-products/food-and-drink-animations
        label = "Chicken Salad",
        weight = 1,
        stack = true,
        close = true,
        client = {
			status = { hunger = 400000 },
            anim = { dict = 'anim@djs@food@plated', clip = 'djs_food_plate_bite_loop' },
            prop = { model = 'djs_bite_chiksalad', pos = vector3(0.175000, 0.008000, 0.000000), rot = vector3(-14.549987, 0.000000, 6.600003), bone = 18905, },
            propTwo = { model = 'djs_fork', pos = vector3(0.11, 0.04, -0.03), rot = vector3(-98.0, -222.0, 22.0), bone = 57005, },
			usetime = 17500,
			cancel = true,
        }
    },
	["djs_bite_fruitsalad"] = { -- requirement https://docs.djscollections.com/paid-props-products/food-and-drink-animations
        label = "Fruit Salad",
        weight = 1,
        stack = true,
        close = true,
        client = {
			status = { hunger = 400000 },
            anim = { dict = 'anim@djs@food@plated', clip = 'djs_food_plate_bite_loop' },
            prop = { model = 'djs_bite_fruitsalad', pos = vector3(0.175000, 0.008000, 0.000000), rot = vector3(-14.549987, 0.000000, 6.600003), bone = 18905, },
            propTwo = { model = 'djs_fork', pos = vector3(0.11, 0.04, -0.03), rot = vector3(-98.0, -222.0, 22.0), bone = 57005, },
			usetime = 17500,
			cancel = true,
        }
    },
	["djs_bite_turksalad"] = { -- requirement https://docs.djscollections.com/paid-props-products/food-and-drink-animations
        label = "Turkey Salad",
        weight = 1,
        stack = true,
        close = true,
        client = {
			status = { hunger = 400000 },
            anim = { dict = 'anim@djs@food@plated', clip = 'djs_food_plate_bite_loop' },
            prop = { model = 'djs_bite_turksalad', pos = vector3(0.175000, 0.008000, 0.000000), rot = vector3(-14.549987, 0.000000, 6.600003), bone = 18905, },
            propTwo = { model = 'djs_fork', pos = vector3(0.11, 0.04, -0.03), rot = vector3(-98.0, -222.0, 22.0), bone = 57005, },
			usetime = 17500,
			cancel = true,
        }
    },
	["djs_bite_veggiesalad"] = { -- requirement https://docs.djscollections.com/paid-props-products/food-and-drink-animations
        label = "Veggie Salad",
        weight = 1,
        stack = true,
        close = true,
        client = {
			status = { hunger = 400000 },
            anim = { dict = 'anim@djs@food@plated', clip = 'djs_food_plate_bite_loop' },
            prop = { model = 'djs_bite_veggiesalad', pos = vector3(0.175000, 0.008000, 0.000000), rot = vector3(-14.549987, 0.000000, 6.600003), bone = 18905, },
            propTwo = { model = 'djs_fork', pos = vector3(0.11, 0.04, -0.03), rot = vector3(-98.0, -222.0, 22.0), bone = 57005, },
			usetime = 17500,
			cancel = true,
        }
    },
	["djs_bowl_stinkysalad"] = { -- requirement https://docs.djscollections.com/paid-props-products/food-and-drink-animations
        label = "Stinky Salad",
        weight = 1,
        stack = true,
        close = true,
        client = {
			status = { hunger = 400000 },
            anim = { dict = 'anim@djs@food@plated', clip = 'djs_food_plate_bite_loop' },
            prop = { model = 'djs_bowl_stinkysalad', pos = vector3(0.175000, 0.008000, 0.000000), rot = vector3(-14.549987, 0.000000, 6.600003), bone = 18905, },
            propTwo = { model = 'djs_fork', pos = vector3(0.11, 0.04, -0.03), rot = vector3(-98.0, -222.0, 22.0), bone = 57005, },
			usetime = 17500,
			cancel = true,
        }
    },
	["djs_bite_cornbfsub"] = { -- requirement https://docs.djscollections.com/paid-props-products/food-and-drink-animations
        label = "Corn Beef Sub",
        weight = 1,
        stack = true,
        close = true,
        client = {
			status = { hunger = 400000 },
            anim = { dict = 'mp_player_inteat@burger', clip = 'mp_player_int_eat_burger' },
            prop = { model = 'djs_bite_cornbfsub', pos = vector3(0.125000, 0.056000, 0.000000), rot = vector3(0.000000, 0.000000, 186.298553), bone = 18905, },
			usetime = 17500,
			cancel = true,
        }
    },
	["djs_bite_grlchksub"] = { -- requirement https://docs.djscollections.com/paid-props-products/food-and-drink-animations
        label = "Grilled Chicken Sub",
        weight = 1,
        stack = true,
        close = true,
        client = {
			status = { hunger = 400000 },
            anim = { dict = 'mp_player_inteat@burger', clip = 'mp_player_int_eat_burger' },
            prop = { model = 'djs_bite_grlchksub', pos = vector3(0.125000, 0.056000, 0.000000), rot = vector3(0.000000, 0.000000, 186.298553), bone = 18905, },
			usetime = 17500,
			cancel = true,
        }
    },
	["djs_bite_hamsub"] = { -- requirement https://docs.djscollections.com/paid-props-products/food-and-drink-animations
        label = "Ham Sub",
        weight = 1,
        stack = true,
        close = true,
        client = {
			status = { hunger = 400000 },
            anim = { dict = 'mp_player_inteat@burger', clip = 'mp_player_int_eat_burger' },
            prop = { model = 'djs_bite_hamsub', pos = vector3(0.125000, 0.056000, 0.000000), rot = vector3(0.000000, 0.000000, 186.298553), bone = 18905, },
			usetime = 17500,
			cancel = true,
        }
    },
	["djs_bite_italisub"] = { -- requirement https://docs.djscollections.com/paid-props-products/food-and-drink-animations
        label = "Ham Sub",
        weight = 1,
        stack = true,
        close = true,
        client = {
			status = { hunger = 400000 },
            anim = { dict = 'mp_player_inteat@burger', clip = 'mp_player_int_eat_burger' },
            prop = { model = 'djs_bite_italisub', pos = vector3(0.125000, 0.056000, 0.000000), rot = vector3(0.000000, 0.000000, 186.298553), bone = 18905, },
			usetime = 17500,
			cancel = true,
        }
    },
	["djs_bite_mtballsub"] = { -- requirement https://docs.djscollections.com/paid-props-products/food-and-drink-animations
        label = "Meetball Sub",
        weight = 1,
        stack = true,
        close = true,
        client = {
			status = { hunger = 400000 },
            anim = { dict = 'mp_player_inteat@burger', clip = 'mp_player_int_eat_burger' },
            prop = { model = 'djs_bite_mtballsub', pos = vector3(0.125000, 0.056000, 0.000000), rot = vector3(0.000000, 0.000000, 186.298553), bone = 18905, },
			usetime = 17500,
			cancel = true,
        }
    },
	["djs_bite_pastrsub"] = { -- requirement https://docs.djscollections.com/paid-props-products/food-and-drink-animations
        label = "Pastrami Sub",
        weight = 1,
        stack = true,
        close = true,
        client = {
			status = { hunger = 400000 },
            anim = { dict = 'mp_player_inteat@burger', clip = 'mp_player_int_eat_burger' },
            prop = { model = 'djs_bite_pastrsub', pos = vector3(0.125000, 0.056000, 0.000000), rot = vector3(0.000000, 0.000000, 186.298553), bone = 18905, },
			usetime = 17500,
			cancel = true,
        }
    },
	["djs_bite_phillysub"] = { -- requirement https://docs.djscollections.com/paid-props-products/food-and-drink-animations
        label = "Philly Cheese Steak Sub",
        weight = 1,
        stack = true,
        close = true,
        client = {
			status = { hunger = 400000 },
            anim = { dict = 'mp_player_inteat@burger', clip = 'mp_player_int_eat_burger' },
            prop = { model = 'djs_bite_phillysub', pos = vector3(0.125000, 0.056000, 0.000000), rot = vector3(0.000000, 0.000000, 186.298553), bone = 18905, },
			usetime = 17500,
			cancel = true,
        }
    },
	["djs_bite_ribsub"] = { -- requirement https://docs.djscollections.com/paid-props-products/food-and-drink-animations
        label = "Smoked Rib Sub",
        weight = 1,
        stack = true,
        close = true,
        client = {
			status = { hunger = 400000 },
            anim = { dict = 'mp_player_inteat@burger', clip = 'mp_player_int_eat_burger' },
            prop = { model = 'djs_bite_ribsub', pos = vector3(0.125000, 0.056000, 0.000000), rot = vector3(0.000000, 0.000000, 186.298553), bone = 18905, },
			usetime = 17500,
			cancel = true,
        }
    },
	["djs_bite_rstbfsub"] = { -- requirement https://docs.djscollections.com/paid-props-products/food-and-drink-animations
        label = "Roast Beef Sub",
        weight = 1,
        stack = true,
        close = true,
        client = {
			status = { hunger = 400000 },
            anim = { dict = 'mp_player_inteat@burger', clip = 'mp_player_int_eat_burger' },
            prop = { model = 'djs_bite_rstbfsub', pos = vector3(0.125000, 0.056000, 0.000000), rot = vector3(0.000000, 0.000000, 186.298553), bone = 18905, },
			usetime = 17500,
			cancel = true,
        }
    },
	["djs_bite_smktrksub"] = { -- requirement https://docs.djscollections.com/paid-props-products/food-and-drink-animations
        label = "Smoked Turky Sub",
        weight = 1,
        stack = true,
        close = true,
        client = {
			status = { hunger = 400000 },
            anim = { dict = 'mp_player_inteat@burger', clip = 'mp_player_int_eat_burger' },
            prop = { model = 'djs_bite_smktrksub', pos = vector3(0.125000, 0.056000, 0.000000), rot = vector3(0.000000, 0.000000, 186.298553), bone = 18905, },
			usetime = 17500,
			cancel = true,
        }
    },
	["djs_bite_stinkysub"] = { -- requirement https://docs.djscollections.com/paid-props-products/food-and-drink-animations
        label = "Stinky Sub",
        weight = 1,
        stack = true,
        close = true,
        client = {
			status = { hunger = 400000 },
            anim = { dict = 'mp_player_inteat@burger', clip = 'mp_player_int_eat_burger' },
            prop = { model = 'djs_bite_stinkysub', pos = vector3(0.125000, 0.056000, 0.000000), rot = vector3(0.000000, 0.000000, 186.298553), bone = 18905, },
			usetime = 17500,
			cancel = true,
        }
    },
	["djs_bite_tunasub"] = { -- requirement https://docs.djscollections.com/paid-props-products/food-and-drink-animations
        label = "Tuna Sub",
        weight = 1,
        stack = true,
        close = true,
        client = {
			status = { hunger = 400000 },
            anim = { dict = 'mp_player_inteat@burger', clip = 'mp_player_int_eat_burger' },
            prop = { model = 'djs_bite_tunasub', pos = vector3(0.125000, 0.056000, 0.000000), rot = vector3(0.000000, 0.000000, 186.298553), bone = 18905, },
			usetime = 17500,
			cancel = true,
        }
    },
	["djs_bite_veggiesub"] = { -- requirement https://docs.djscollections.com/paid-props-products/food-and-drink-animations
        label = "Veggie Sub",
        weight = 1,
        stack = true,
        close = true,
        client = {
			status = { hunger = 400000 },
            anim = { dict = 'mp_player_inteat@burger', clip = 'mp_player_int_eat_burger' },
            prop = { model = 'djs_bite_veggiesub', pos = vector3(0.125000, 0.056000, 0.000000), rot = vector3(0.000000, 0.000000, 186.298553), bone = 18905, },
			usetime = 17500,
			cancel = true,
        }
    },
	["djs_bite_ccutwrap"] = { -- requirement https://docs.djscollections.com/paid-props-products/food-and-drink-animations
        label = "Cold Cut Wrap",
        weight = 1,
        stack = true,
        close = true,
        client = {
			status = { hunger = 400000 },
            anim = { dict = 'mp_player_inteat@burger', clip = 'mp_player_int_eat_burger' },
            prop = { model = 'djs_bite_ccutwrap', pos = vector3(0.125000, 0.056000, 0.000000), rot = vector3(0.000000, 0.000000, 186.298553), bone = 18905, },
			usetime = 17500,
			cancel = true,
        }
    },
	["djs_bite_steakwrap"] = { -- requirement https://docs.djscollections.com/paid-props-products/food-and-drink-animations
        label = "Steak Wrap",
        weight = 1,
        stack = true,
        close = true,
        client = {
			status = { hunger = 400000 },
            anim = { dict = 'mp_player_inteat@burger', clip = 'mp_player_int_eat_burger' },
            prop = { model = 'djs_bite_steakwrap', pos = vector3(0.125000, 0.056000, 0.000000), rot = vector3(0.000000, 0.000000, 186.298553), bone = 18905, },
			usetime = 17500,
			cancel = true,
        }
    },
	["djs_bite_steakwrap"] = { -- requirement https://docs.djscollections.com/paid-props-products/food-and-drink-animations
        label = "Steak Wrap",
        weight = 1,
        stack = true,
        close = true,
        client = {
			status = { hunger = 400000 },
            anim = { dict = 'mp_player_inteat@burger', clip = 'mp_player_int_eat_burger' },
            prop = { model = 'djs_bite_steakwrap', pos = vector3(0.125000, 0.056000, 0.000000), rot = vector3(0.000000, 0.000000, 186.298553), bone = 18905, },
			usetime = 17500,
			cancel = true,
        }
    },
	["djs_bite_stinkywrap"] = { -- requirement https://docs.djscollections.com/paid-props-products/food-and-drink-animations
        label = "Stinky Wrap",
        weight = 1,
        stack = true,
        close = true,
        client = {
			status = { hunger = 400000 },
            anim = { dict = 'mp_player_inteat@burger', clip = 'mp_player_int_eat_burger' },
            prop = { model = 'djs_bite_stinkywrap', pos = vector3(0.125000, 0.056000, 0.000000), rot = vector3(0.000000, 0.000000, 186.298553), bone = 18905, },
			usetime = 17500,
			cancel = true,
        }
    },
	["djs_bite_turkwrap"] = { -- requirement https://docs.djscollections.com/paid-props-products/food-and-drink-animations
        label = "Turkey Wrap",
        weight = 1,
        stack = true,
        close = true,
        client = {
			status = { hunger = 400000 },
            anim = { dict = 'mp_player_inteat@burger', clip = 'mp_player_int_eat_burger' },
            prop = { model = 'djs_bite_turkwrap', pos = vector3(0.125000, 0.056000, 0.000000), rot = vector3(0.000000, 0.000000, 186.298553), bone = 18905, },
			usetime = 17500,
			cancel = true,
        }
    },
	["djs_bite_veggiewrap"] = { -- requirement https://docs.djscollections.com/paid-props-products/food-and-drink-animations
        label = "Veggie Wrap",
        weight = 1,
        stack = true,
        close = true,
        client = {
			status = { hunger = 400000 },
            anim = { dict = 'mp_player_inteat@burger', clip = 'mp_player_int_eat_burger' },
            prop = { model = 'djs_bite_veggiewrap', pos = vector3(0.125000, 0.056000, 0.000000), rot = vector3(0.000000, 0.000000, 186.298553), bone = 18905, },
			usetime = 17500,
			cancel = true,
        }
    },
    ['djs_bite_chips'] = { --checked
		label = 'Bites Chips',
		weight = 50,
		client = {
			status = { hunger = 400000 },
			anim = { dict = 'anim@djs@food@chips', clip = 'djs_food_chips_bite_loop' },
            prop = { model = `djs_bite_chips`, bone = 57005, pos = vec3(0.117000, 0.050000, -0.053000), rot = vec3(-12.231997, 2.780000, 174.027939) },
			usetime = 2500,
			cancel = true,
		},
	},
	['djs_bite_cherryicee'] = { --checked
		label = 'Cherry Icee',
		weight = 500,
		client = {
			status = { thirst = 400000 },
			anim = { dict = 'anim@djs@drink@soda', clip = 'djs_drink_soda_sip_long' },
            prop = { model = `djs_bite_cherryicee`, bone = 57005, pos = vec3(0.129000, 0.083000, 0.000000), rot = vec3(-61.950249, 0.000000, -16.499983) },
			usetime = 2500,
			cancel = true,
		},
	},
	['djs_bite_appleicee'] = { --checked
		label = 'Apple Icee',
		weight = 500,
		client = {
			status = { thirst = 400000 },
			anim = { dict = 'mp_player_intdrink', clip = 'loop_bottle' },
            prop = { model = `djs_bite_cherryicee`, bone = 57005, pos = vec3(0.129000, 0.083000, 0.000000), rot = vec3(-61.950249, 0.000000, -16.499983) },
			usetime = 2500,
			cancel = true,
		},
	},
	["djs_bite_cookie"] = { -- requirement https://docs.djscollections.com/paid-props-products/food-and-drink-animations
        label = "Chocolate Chip Cookie",
        weight = 1,
        stack = true,
        close = true,
        client = {
			status = { hunger = 400000 },
            anim = { dict = 'mp_player_inteat@burger', clip = 'mp_player_int_eat_burger' },
            prop = { model = 'djs_bite_cookie', pos = vector3(0.15, 0.05, 0.02), rot = vector3(-32.0, -39.0, 0.0), bone = 18905, },
			usetime = 17500,
			cancel = true,
        }
    },
Items Config (non-consumable)

    ['djs_bite_ccutsalad'] = {
        label = 'Cold Cut Salad',
        weight = 1,
        stack = false,
        close = false,
    },
    ['djs_bite_chiksalad'] = {
        label = 'Chicken Salad',
        weight = 1,
        stack = false,
        close = false,
    },
    ['djs_bite_fruitsalad'] = {
        label = 'Fruit Salad',
        weight = 1,
        stack = false,
        close = false,
    },
    ['djs_bite_turksalad'] = {
        label = 'Turkey Salad',
        weight = 1,
        stack = false,
        close = false,
    },
    ['djs_bite_veggiesalad'] = {
        label = 'Veggie Salad',
        weight = 1,
        stack = false,
        close = false,
    },
    ['djs_bowl_stinkysalad'] = {
        label = 'Stinky Salad',
        weight = 1,
        stack = false,
        close = false,
    },
    ['djs_bite_cornbfsub'] = {
        label = 'Corn Beef Sub',
        weight = 1,
        stack = false,
        close = false,
    },
    ['djs_bite_grlchksub'] = {
        label = 'Grilled Chicken Sub',
        weight = 1,
        stack = false,
        close = false,
    },
    ['djs_bite_hamsub'] = {
        label = 'Ham Sub',
        weight = 1,
        stack = false,
        close = false,
    },
    ['djs_bite_italisub'] = {
        label = 'Italian Sub',
        weight = 1,
        stack = false,
        close = false,
    },
    ['djs_bite_mtballsub'] = {
        label = 'Meetball Sub',
        weight = 1,
        stack = false,
        close = false,
    },
    ['djs_bite_pastrsub'] = {
        label = 'Pastrami Sub',
        weight = 1,
        stack = false,
        close = false,
    },
    ['djs_bite_phillysub'] = {
        label = 'Philly Cheese Steak Sub',
        weight = 1,
        stack = false,
        close = false,
    },
    ['djs_bite_ribsub'] = {
        label = 'Smoked Rib Sub',
        weight = 1,
        stack = false,
        close = false,
    },
    ['djs_bite_rstbfsub'] = {
        label = 'Roast Beef Sub',
        weight = 1,
        stack = false,
        close = false,
    },
    ['djs_bite_smktrksub'] = {
        label = 'Smoked Turkey Sub',
        weight = 1,
        stack = false,
        close = false,
    },
    ['djs_bite_stinkysub'] = {
        label = 'Stinky Sub',
        weight = 1,
        stack = false,
        close = false,
    },
    ['djs_bite_tunasub'] = {
        label = 'Tuna Sub',
        weight = 1,
        stack = false,
        close = false,
    },
    ['djs_bite_veggiesub'] = {
        label = 'Veggie Sub',
        weight = 1,
        stack = false,
        close = false,
    },
    ['djs_bite_ccutwrap'] = {
        label = 'Cold Cut Wrap',
        weight = 1,
        stack = false,
        close = false,
    },
    ['djs_bite_steakwrap'] = {
        label = 'Steak Wrap',
        weight = 1,
        stack = false,
        close = false,
    },
    ['djs_bite_stinkywrap'] = {
        label = 'Stinky Wrap',
        weight = 1,
        stack = false,
        close = false,
    },
    ['djs_bite_turkwrap'] = {
        label = 'Turkey Wrap',
        weight = 1,
        stack = false,
        close = false,
    },
    ['djs_bite_veggiewrap'] = {
        label = 'Veggie Wrap',
        weight = 1,
        stack = false,
        close = false,
    },
    ['djs_bite_chips'] = {
        label = 'Bites Chips',
        weight = 1,
        stack = false,
        close = false,
    },
    ['djs_bite_cherryicee'] = {
        label = 'Cherry Icee',
        weight = 1,
        stack = false,
        close = false,
    },
    ['djs_bite_appleicee'] = {
        label = 'Apple Icee',
        weight = 1,
        stack = false,
        close = false,
    },
    ['djs_bite_cookie'] = {
        label = 'Chocolate Chip Cookie',
        weight = 1,
        stack = false,
        close = false,
    },
  • 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