[PAID] [ESX] TP Inventory

Hello FiveM Community,

TP Inventory is fully functionable Inventory UI which provides you a very decent and nice design with everything you need on your server and of course compatible with all screen resolutions.

πšπ™΄πš€πš„π™Έπšπ™΄π™Όπ™΄π™½πšƒπš‚

  • ESX Legacy
  • mysql-async or oxmysql

πš‚π™²πšπ™΄π™΄π™½πš‚π™·π™Ύπšƒπš‚

Trunk Inventory
Shops Inventory
Stash Inventory

π™΅π™΄π™°πšƒπš„πšπ™΄πš‚

  • Inventory (Using Shortcuts and Tooltip Hover Text for items or weapons displaying any kind of description / or not).

  • Bottom Side Buttons - Custom bottom side buttons (left / right) for extra actions (fully configurable).

  • Clothing Inventory System - Supports dpclothing for faster and easier actions.

  • Inventory UI Designing - Allows you to edit the notification colors, weight progress bar color, bottom center button colors (including give & drop).

  • Inventory Weight System - All the items with their weight will be manually edited in the config and not from items sql (It does not support limit). The weight system supports not only player inventory but trunk, shops & stash inventories.

  • Inventory Limit System - We are also supporting limit system for the server owners who use limit on their items (option-able).

  • Trunk Inventory.

  • Stash Inventory - A very decent and workable stash inventory for the player’s personal inventory contents, including job inventory contents.

  • Shops Inventory - The shops are fully configurable, such as their locations, blips, jobs, ped spawning & target (ox-target, qtarget support). The items price can be modified from config where the shops products are located or directly from items sql table (if the price option is undefined).

π™³π™΄πš…π™΄π™»π™Ύπ™Ώπ™Όπ™΄π™½πšƒ (𝙰𝙿𝙸)

  • exports.tp_inventory_hud:openInventory('stash') - To open the player’s personal stash inventory contents.

  • exports.tp_inventory_hud:openInventory('stash', job.name) - To open the job’s stash inventory contents.

  • exports.tp_inventory_hud:openInventory('stash', id) - To open a stash inventory contents based on an id, that includes motels or any kind of id that will be opened.

  • exports.tp_inventory_hud:getInventoryContentsData(data) - Returns data.contents & data.contents_weight.

  • exports.tp_inventory_hud:openSecondInventory(type, data, header, sidebarHeader, hasTargetSource, targetSource, weight, maxWeight) - Opens a secondary inventory based on its data.

  • exports.tp_inventory_hud:refreshSecondInventory(type, data, header, sidebarHeader, hasTargetSource, targetSource, weight, maxWeight) - Refresh the player’s current and secondary inventory

  • exports.tp_inventory_hud:registerStashInventory(type, data) - This function should be used to register a custom stash / inventory by its name or id. If this stash already exists, it will not replace or register it multiple times, it can be registered only once. Also, there will be an example below how tp-advancedcrates is using it.

  • exports.tp_inventory_hud:unRegisterStashInventory(type) - This function should be used to unregister a custom stash / inventory by its name or id.

The following code is an example from tp-advancedcrates, registering & getting crate inventory contents.

ESX.TriggerServerCallback('tp-advancedcrates:getLootCrateInventory',function(cdata)

  exports.tp_inventory_hud:registerStashInventory("crate", cdata)

  Wait(200)

  ESX.TriggerServerCallback("tp_inventory_hud:getSelectedStashInventoryContentData",function(data)

      local contentsData  = exports.tp_inventory_hud:getInventoryContentsData(data)
      local maxLootWeight = 10000
            
      exports.tp_inventory_hud:openSecondInventory("crate", contentsData.contents, "Crate Inventory", "Crate Inventory", false, 0, contentsData.contents_weight, maxLootWeight)

  end, "crate")
end)

π™³π™΄π™΅π™°πš„π™»πšƒ πš‚πš„π™Ώπ™Ώπ™Ύπšπšƒπ™΄π™³ π™»π™Ύπ™²π™°π™»π™΄πš‚

  • en (English)
  • gr (Greek)

Those are the supported locales which you can use for your server. In order to select a locale, the locale can be changed where config.js file is located.

πš‚πš„π™Ώπ™Ώπ™Ύπšπšƒ

If the script doesn’t work properly or you don’t know how to set it up properly, the team will happily assist you.

Code is accessible Yes
Subscription-based No
Lines (approximately) 2000+
Requirements ESX Legacy
Support Yes

PRICE: 14.99€ (WITHOUT VAT / TAX)
Click the following for purchasing it from tebex: Tebex

1 Like

Hi,
Screenshots are not working.

1 Like

Yes what Abbaz said

1 Like

I am sorry, screenshots are fixed now.

1 Like

It is too good. I can purchase but you are missing a slot system (slots limits).

1 Like

You mean slot limits for the items? I don’t think I should add since the inventory works with weight but I could if people request that from me.

Not bad but looks too dark :slightly_smiling_face:

Hello martiv, the background is not dark, it is just the Game Environment for the pictures, even so, the background and colours can always be changed based on the client’s preference.

1 Like

Hi is it easy to install or do i have to edit the serversides of my shops etc for it?

Hello, everything is easy to install, especially shops.

From configuration files.

Updated to 1.1.0 version.

Changelog:

  • There is now an option for using Target (ox-target, qtarget) depending on the shop. For example, there might be a job shop action such as Ambulance for purchasing medical supplements that don’t need a ped or using target, just a 3DText for opening that shop.

  • There is now an option to add multiple jobs in a shop action than only one.

  • You are now able to set an item price from config and not only from the items sql table. That means, if an item does not have a price from config, it will take it directly from sql table.

  • Fixed an issue with job stashes that couldn’t load them properly.

Updated to 1.2.0 version.

Changelog:

  • Give & Drop buttons are now using TP Inventory Notification because it used to notify the player when there are no players or no trashbins by using ESX Notification.

  • We are now supporting limit system for the server owners who use limit on their items (option-able), including the weight system which cannot be disabled. The limit system is fully functional on shops, trunks & stashes.

Config.UseItemsLimit = true
Config.DefaultItemsLimit = 5

Config.ItemsLocalLimit = {
    bread = 3,
    water = 5,

    disc_ammo_rifle = 3,
    disc_ammo_pistol = 3,
    disc_ammo_smg = 3,
    disc_ammo_shotgun = 3,
}
  • Code improvements.

Updated to 1.3.0 version.

Changelog:

  • Added Automatically Job Shops - You will now be able to choose a shop that you made and make it based and working only for a job. The system will be checking if there are online employees, if there are, the shop will not allow them to open it but if there are not online employees based on that shop, the player’s will be able to open that shop and whatever they buy, it will be added on the job’s company / account.
Config.EnableAutoJobShops = true

Config.AutoJobShops = {

    Locations = {
        {x = xxxx, y = xxxx, z = xxxx,  Shop = "Ambulance", JobName = 'ambulance'},
    },
}
  • Added the following exports:
  1. exports.tp_inventory_hud:openSecondInventory(type, data, header, sidebarHeader, hasTargetSource, targetSource, weight, maxWeight) - Opens a secondary inventory based on its data.

  2. exports.tp_inventory_hud:refreshSecondInventory(type, data, header, sidebarHeader, hasTargetSource, targetSource, weight, maxWeight) - Refresh the player’s current and secondary inventory

  1. exports.tp_inventory_hud:registerStashInventory(type, data) - This function should be used to register a custom stash / inventory by its name or id. If this stash already exists, it will not replace or register it multiple times, it can be registered only once. Also, there will be an example below how tp-advancedcrates is using it.
  1. exports.tp_inventory_hud:unRegisterStashInventory(type) - This function should be used to unregister a custom stash / inventory by its name or id.
1 Like