overextended / ox_inventory

Slot-based inventory with metadata.
https://overextended.dev/ox_inventory
GNU General Public License v3.0
441 stars 685 forks source link

Notice: Limited feature/enhancement updates (v3 info) #1699

Open thelindat opened 4 months ago

thelindat commented 4 months ago

No major enhancements or features will be implemented or merged from requests.

Ideally any bugs or minor nuisances can be patched, or other small changes can be implemented infrequently - the idea is to be able to provide long-term support and ensuring a stable release is always available.

I want to be able to work on ox_inventory v3 at some point which will guarantee many breaking changes and will require a great deal of effort to help users transition towards it.


Some expected changes for v3

CeebDev commented 3 months ago

Some suggestions for the v3

thelindat commented 3 months ago

Be able to use / interact with items directly in containers

This would definitely need to be a case-by-case basis.

Wallet = container with money, be able to pay in shops etc with the money inside wallet

Containers definitely need a rework and I need an improve "search" function that takes some different options, including going through containers. Would get a bit shitty if we have nested containers, however.

Steal someone = be able to search inside containers of robbed player and take items

Pretty much comes down to needing to return to the previous inventory, or otherwise making containers open a new inventory window.

Select payment methods in shops

Already something I've wanted to do for a long time.

Check degrade for ingredients in craft benchs

Crafting system needs a complete overhaul.

Add containers with predefined items in shop (Ex: Cigarette pack)

I feel like hooks are good enough for this; also need to consider - does this need a full inventory or just some metadata (x cigarettes remaining). On the matter of hooks, the new inventory will be built around them to allow far more actions; a lot of hardcoded behaviour will moved to hooks.

TonybynMp4 commented 3 months ago

Be able to use / interact with items directly in containers

This would definitely need to be a case-by-case basis.

Could be done by adding something similar to stack & close in data/items.lua (or whatever it becomes) 🤔

Also would it be possible to have tabs for the inventories? Would make for a better experience when dealing with containers / other player's inventories

(could have all the player's containers as tabs on the left side & the ground/drop/ [insert other opened inventory (trunk etc)] on the right side) + (ideally configurable) extra inventory tabs (allows having a whole inventory reserved for x or y item type i.e clothes, keys, food etc)

CeebDev commented 3 months ago
  • does this need a full inventory or just some metadata (x cigarettes remaining).

There is ton of ideas to implement if container was ez to use

Hooks are good, but container need to be registered once before to be able to add item inside, this is a little tricky

Metadata can do the trick for cigarettes but you miss the concept of container, ex : i smoke 1 cigarette then i have a free slot inside and can hide my weed inside

I like the @TonybynMp4 idea of tabs This way, you can have many inventories opened at the same time and just switch between them

thelindat commented 3 months ago

There is ton of ideas to implement if container was ez to use

I'm specifically talking about your example of cigarettes in a container which seems overkill.

Hooks are good, but container need to be registered once before to be able to add item inside, this is a little tricky

https://overextended.dev/ox_inventory/Functions/Server#getcontainerfromslot


Sidenote, containers need to be properly linked to items in the database so that I can remove "dead" containers that have been deleted. Having thousands of containers like cigarette boxes and fast food bags isn't ideal.

TonybynMp4 commented 3 months ago

Hooks are good, but container need to be registered once before to be able to add item inside, this is a little tricky

It's easy enough 🤔 https://github.com/TonybynMp4/y_burgershot/blob/main/server%2Fmain.lua#L33-L44

LukeWasTakenn commented 3 months ago

I like the @TonybynMp4 idea of tabs This way, you can have many inventories opened at the same time and just switch between them

Keep in mind we need to keep track of the opened inventories and the players they were opened by so that we we can update all clients that have these inventories opened when the state changes, which sounds like it could be a bit tricky/annoying.

Though I also like the idea having tabs for stuff like containers.

thelindat commented 3 months ago

Keep in mind we need to keep track of the opened inventories and the players they were opened by so that we we can update all clients that have these inventories opened when the state changes, which sounds like it could be a bit tricky/annoying.

This is actually something I'm already doing ever since the "inventory sync" update and wouldn't be difficult to adapt for multiple open inventories.

LukeWasTakenn commented 3 months ago

This is actually something I'm already doing ever since the "inventory sync" update and wouldn't be difficult to adapt for multiple open inventories.

Noice, UI would definitely need a whole lot of adjustments for something like that since it's currently hardcoded for left and right inventory only. Something to keep in mind for the rewrite.

HardstylesDev commented 3 months ago

bag support would be neat.

TonybynMp4 commented 3 months ago

bag support would be neat.

wdym by bag?

jxnnyo commented 3 months ago

think he means backpack

TonybynMp4 commented 3 months ago

think he means backpack

Yeah i'm wondering cauz that's already a thing you can do lol

MauroNr1 commented 3 months ago

statebag i guess

DerWashbr commented 3 months ago

solidjs

dont punch me, but ox_inventory in Sveltekit would be so incredibly cool

HardstylesDev commented 3 months ago

bag support would be neat.

wdym by bag?

Backpacks, so we can potentially have a second (or third, depends on how you look at it) inventory. So when i open my inventory and I have a backpack on, it'll show another inventory below my main inventory with stuff in it from the bag.

Not sure how to word that better, but it's probably pretty obvious what I'm talking about.

MauroNr1 commented 3 months ago

bag support would be neat.

wdym by bag?

Backpacks, so we can potentially have a second (or third, depends on how you look at it) inventory. So when i open my inventory and I have a backpack on, it'll show another inventory below my main inventory with stuff in it from the bag.

Not sure how to word that better, but it's probably pretty obvious what I'm talking about.

This has already been implemented for quite a while. https://overextended.dev/ox_inventory/Guides/creatingItems#creating-container-items

TonybynMp4 commented 3 weeks ago

May i suggest adding a "multi stash", some kind of UI to show and allow interaction with multiple stashes at once, with optional pins for each stash, kind of like a locker, potentially making it "customizable", if you have the right permissions you could change the name of the stashes, the pin.. 🤔

I think it would be better to integrate such a thing directly in the inventory's UI instead of using a ox_lib menu (like the inventory's evidence does) or an external UI.

Mesrine67 commented 1 week ago

would a system grid be an option? https://forum.cfx.re/t/opinion-grid-inventory-ui-dayz-style-spatial-tetris/4823453