Download
(46Kb)
Download
Updated: 09-07-10 10:44 AM
Pictures
File Info
Updated:09-07-10 10:44 AM
Created:unknown
Downloads:70,744
Favorites:320
MD5:

cargBags  Popular! (More than 5000 hits)

Version: 2.1.2
by: Cargor [More]

Problems? Visit the Wiki or Help & Discussion Thread!

cargBags is a modular inventory framework. It was created with one simple thing in mind: Taking the boring work away for you, so that you can start right-away with the important things: Layout and categories! You don't have to care anymore about fetching item-data, updating at the right time or creating a sophisticated filtering system - cargBags does this all for you!

From a simple all-in-one inventory over multiple category-based bags to your own needs:

Just start with the user-friendly and commented example cargBags_Simplicity, build upon it and implement your own features. Create and release your own individual bag addon by embedding cargBags!

Default Features

  • modular: remove features you don't need or add new ones
  • simple, fully extensible filtering-system (optional)
  • object-oriented approach
  • embed cargBags and make your own bag addon!
  • extensive API: Hook into every part of cargBags
  • optimized: recycling of buttons, caching of item data and more
  • plugin-system for often-used snippets like a space- or money-display (optional)

Additional resources and help
FAQ

My cargBags doesn't show anything!
Do you have a layout? This is a framework and does nothing by itself!

Will you provide support for alt bags / bank?
No, because it would be too hackish and cause problems. You can use external addons like BagSync. But if you are a layout author, nothing stops you from providing support yourself.

What about auto-stacking / -sorting?
In my opinion, this does not need to be in a bag addon, because there are lots of external addons for this, like Genie or kRestack.

Guildbank? Stack compression?
I'm trying, but don't expect anything soon.

Do you support LibDataBroker?
You can use LibCargoShip for this.

cargBags is licensed under the GPL 2. Go ahead and fork it!

Changes to the core prior to version 1.2 are located in the changelog.txt.
Releases are normally not backwards-compatible, although changes are kept to a minimum!
In most cases the version tagging follows the scheme Rewrite.Feature.Bugfix.

2.1.2
* bank now updates correctly again (sorry for that!)
* mostly bagBar changes and equipSets bugfixes

- .HighlightFunction changed to .highlightFunction (small 'H', consistency FTW)
- bagBar now supports highlightFunctions
- bagBar can be global for all containers (.isGlobal = true)
- new function: Implementation:GetBagButton()
- fixed bagButton onClick not toggling its bag
- fixed typo in equipSets-itemkey
- equipSets now update all open bags when changed
- introducing cargBags:FireEvent(force, event, ...)

2.1.1
* bugfix update, you need this if you have 2.1!
* fixed searchbar, extended filters and bags-sieve

- item.bindOn now supports soulbound items ("soul")
- new itemKey: item.bagType
- removed item.clink
- .toc bumped to Cataclysm

2.1
* The wiki was updated!
* Improved embedding support
* Sieves! Replace the filters with another system
* Scaffolds! Provide your own templates for item buttons
* Extended filters: pass arguments to them!
* Localization tables for auction house item classes

- File structure overhaul
- new Sieve: by bagID - lightweight enthusiasts, get rid of this filter
clutter :P
- Moved the ItemButton-UpdateX functions to their own scaffold, "Default"
- Callbacks are now correctly named events (RegisterCallback -> RegisterEvent,
HasCallback -> IsEventRegistered)
- the SearchBar now needs a .HighlightFunction to work

2.0-beta
* COMPLETE REWRITE
* Don't ever think about fixing your old layout, build a new one =)
* Beta-version, please note the "Planned features"- / ToDo-List
* and please write a comment for bug-reports, feedback, thank-you's and flaming

- object-oriented approach
- bags initialize on first open instead of in loading screen
- new plugin: TagDisplay
- a lot more modular than before!

1.3
* licensed as GPL 3
* fixed background texture of empty bag buttons
* hovering over a bag button can now fade different bag objects
* fixed tooltip-parsing not working correctly
* and now the usual developer-stuff:

- BagBar new property: BagBar.BackgroundTexture - texture path if no icon was found
- new function: object:Fire(callback, ...) - fires a callback with the defined arguments
- new function cargBags.C2I(id) - translates a ContainerID into an InventoryID
- new function cargBags.I2C(id) - translates an InventoryID into a ContainerID
- function changed: cargBags.ParseBags(bagString or bagID or table) - now returns a table every time
- new property: cargBags.BagStrings[] - holds tables of the bagID's for the different bagStrings
- :PreCheckFilters() now also fires on :GetItemInfo()

1.2
* first tooltip-scanning code, if you have wishes for more parsed infos than bindOn,
* please let me know =)

- updated for 3.2
- fixed item.id not working properly
- new item data: item.bindOn - returns "equip", "pickup", "account", "quest", "use" or nil
- 3.2 only: new item data: item.stats - returns a table of all stats of the item (see GetItemStats() for info)
- 3.2 only: new item data: item.sellValue - returns the sellValue in copper of an item
- new plugin: DataBroker - displays a databroker-object, the addon cargoShip is needed for that
Optional Files (1)
File Name
Version
Size
Author
Date
Type
9.0 r93
104kB
01-28-21 04:12 AM
Addon


Post A Reply Comment Options
Unread 09-19-08, 04:14 PM  
Caellian
A Frostmaul Preserver
 
Caellian's Avatar

Forum posts: 281
File comments: 252
Uploads: 5
Originally posted by Cargor
I plan to rewrite the core completely as soon as I get in the WotLK-beta (I think I have to, due to the API changes) and I'll take a look into a more item-based system - but I don't know how much this will affect the memory usage.
I didn't do any extensives tests but so far it seems to work fine in wotlk. only thing i've noticed but didn't bother trying to fix yet was a +- 10 pix border on the right side of my bags, probably layout related, not sure.

Are you still around btw ?
__________________
if (sizeof(workload) > sizeof(brain_capacity)) { die('System Overload'); }
Report comment to moderator  
Reply With Quote
Unread 08-02-08, 05:58 AM  
xConStruct
A Chromatic Dragonspawn
 
xConStruct's Avatar
AddOn Author - Click to view AddOns

Forum posts: 199
File comments: 374
Uploads: 18
I've never used ArkInventory, so I hope I get your idea right

cargBags doesn't do anything around items (no sorting, no keeping open of different slots for one item) - What was meant with merging/splitting is that you can define bags for your own out of the original ones. So you have one 16er bag and split it up into two 8 slot ones - But you'd have to sort the items manually into them.

I plan to rewrite the core completely as soon as I get in the WotLK-beta (I think I have to, due to the API changes) and I'll take a look into a more item-based system - but I don't know how much this will affect the memory usage.
__________________
« Website | GitHub »

Oh hai!
Last edited by xConStruct : 08-09-08 at 02:59 PM.
Report comment to moderator  
Reply With Quote
Unread 08-02-08, 12:15 AM  
blackpandemic
A Flamescale Wyrmkin
 
blackpandemic's Avatar
AddOn Compiler - Click to view compilations

Forum posts: 123
File comments: 82
Uploads: 2
My one question is when you say "merging/splitting of different bags" does this mean ArkInventory style where I can say this kind of item goes here, or is it I give the addon a certain number of slots to keep open for that item?

I'm looking for a lower memory alternative than Ark, but with relatively the same functionality/ease of use (in terms of keeping different kinds of items separate)! Thanks!
__________________
"It is forbidden to kill; therefore all murderers are punished unless they kill in large numbers and to the sound of trumpets." -Voltaire
Report comment to moderator  
Reply With Quote
Unread 07-21-08, 09:52 AM  
xConStruct
A Chromatic Dragonspawn
 
xConStruct's Avatar
AddOn Author - Click to view AddOns

Forum posts: 199
File comments: 374
Uploads: 18
Code:
if (select(2, UnitClass("player"))=="HUNTER") then
This should do it
Report comment to moderator  
Reply With Quote
Unread 07-21-08, 09:01 AM  
Caellian
A Frostmaul Preserver
 
Caellian's Avatar

Forum posts: 281
File comments: 252
Uploads: 5
Actually it works just fine but, as i don't want my quiver to be shown on my hunter but as i want that bag slot to be shown on other classes i tried this:

Code:
if (unitclass=="HUNTER") then
	main.Bags[5].Hidden = true
end
The theory says it should work fine but it doesn't, any clue why, sure i'm must be missing something but what ?
__________________
if (sizeof(workload) > sizeof(brain_capacity)) { die('System Overload'); }
Report comment to moderator  
Reply With Quote
Unread 07-19-08, 07:23 PM  
Caellian
A Frostmaul Preserver
 
Caellian's Avatar

Forum posts: 281
File comments: 252
Uploads: 5
Works like a charm, thanks you
__________________
if (sizeof(workload) > sizeof(brain_capacity)) { die('System Overload'); }
Report comment to moderator  
Reply With Quote
Unread 07-19-08, 06:33 AM  
xConStruct
A Chromatic Dragonspawn
 
xConStruct's Avatar
AddOn Author - Click to view AddOns

Forum posts: 199
File comments: 374
Uploads: 18
You can add this code in your layout.lua after you've spawned the according bag object. So for hiding the last bag of the main-object, you would write:
Code:
main.Bags[5].Hidden = true
Notice that the ID of the bag is not the bagID of Blizz' container (because you can create different bags), but rather the ID of the bag in the cargBags-object.
To the ammunitions-display: I think I'll add this in the new update. In the meantime you can try modifying the updateSpace() function in the layout. Blizz' functions "GetContainerNumFreeSlots" and "GetContainerNumSlots" are a good start.
Report comment to moderator  
Reply With Quote
Unread 07-19-08, 12:20 AM  
Caellian
A Frostmaul Preserver
 
Caellian's Avatar

Forum posts: 281
File comments: 252
Uploads: 5
I've got one question, my layout works just fine but when i reloadui or relog, it doesn't remember which bags/quiver i had toggled hidden/shown.
I didn't really found out how to do that other than not spawning it but then it's impossible to see it at all
I'm a Hunter and i don't want do see my quiver opened at all time, beside, it would be nice if i could, next to the free/used slots display, see the same for ammunitions.
__________________
if (sizeof(workload) > sizeof(brain_capacity)) { die('System Overload'); }
Report comment to moderator  
Reply With Quote
Unread 07-04-08, 05:34 AM  
xConStruct
A Chromatic Dragonspawn
 
xConStruct's Avatar
AddOn Author - Click to view AddOns

Forum posts: 199
File comments: 374
Uploads: 18
Basically there are no planned major updates further at the moment - it highly depends on the feedback of the users and what they would like to see in the addon.
There is still the code rewrite left which will include optional modules, but progress is a bit slow at the moment The newest, very experimental release is always on my SVN, but the new code increases memory usage by ~10 kb and there are still many bugs.

Concerning the Anywhere-feature: Maybe I'll write my own method, but it's very dependant on how high the memory usage would get. My feeling says that Bagnon Forever does a good job in this matter, but I've never looked into the code

EDIT: Anywhere-feature is in semi-open beta stage (because it's on the svn!). Currently bank or alt bags can only be toggled with lua functions. The memory usage of the core is by default 45 kb and climbs up to over 50 kb when changing the view. The Bagnon handler (used to translate the BagnonDB into cargBags) uses about 9 kb by default and reaches 15 kb when used.
I for myself don't need an anywhere-feature and so I'm a bit torn between releasing this - Due to the core changes I could only maintain one of the two versions. Well, let's wait how big the memory impact of the character-switch GUI is
Last edited by xConStruct : 07-13-08 at 05:42 AM.
Report comment to moderator  
Reply With Quote
Unread 07-04-08, 01:48 AM  
Caellian
A Frostmaul Preserver
 
Caellian's Avatar

Forum posts: 281
File comments: 252
Uploads: 5
It works flawlessly, my layout is using 8kb, insane

I admit, an Anywhere feature would be nice but using your own method, not using Bagnon Forever

Other than that what are the planned major updates ?
__________________
if (sizeof(workload) > sizeof(brain_capacity)) { die('System Overload'); }
Report comment to moderator  
Reply With Quote
Unread 05-27-08, 04:50 AM  
xConStruct
A Chromatic Dragonspawn
 
xConStruct's Avatar
AddOn Author - Click to view AddOns

Forum posts: 199
File comments: 374
Uploads: 18
cargBags doesn't support viewing bank/guild bags from anywhere in the world. Support for Bagnon_Forever is a planned feature, but wouldn't be included in the near future, as it would require a lot of core changes. (And I think I would write the code completely new to support optional modules then)

If you don't want to miss this feature, I suggest you to use addons similiar to the ones I named above. I'll look over it, but don't expect a change soon
Report comment to moderator  
Reply With Quote
Unread 05-26-08, 01:45 PM  
jadakren
A Flamescale Wyrmkin
 
jadakren's Avatar
AddOn Author - Click to view AddOns

Forum posts: 103
File comments: 112
Uploads: 2
ANy suggestions on how i would get bank/guild bags viewable remotley...ie when not near a bank.
Report comment to moderator  
Reply With Quote
Unread 05-12-08, 04:22 AM  
xConStruct
A Chromatic Dragonspawn
 
xConStruct's Avatar
AddOn Author - Click to view AddOns

Forum posts: 199
File comments: 374
Uploads: 18
This addon was created to provide a lightweight solution of all these big bag addons - to minimize the memory usage, a GUI was never planned and will never be really integrated in the core of the addon.
A lightweight addon and a GUI - that are two things that don't fit very well together in my experience.

Maybe it would be possible to integrate a GUI in the layout-files, not the core, so that it is an optional module - but the focus of a lightweight addon is located far away from providing a GUI (if someone wants, he can write a layout/module, but I won't).

If you really want to have a lightweight (own customized) interface, you probably would not get around without lua.

As hipjipp said, there are lots of comments in the file and it shouldn't be too difficult to change something - but if you have questions, feel free to ask.
Report comment to moderator  
Reply With Quote
Unread 05-12-08, 02:21 AM  
hipjipp
A Cliff Giant
 
hipjipp's Avatar
AddOn Author - Click to view AddOns

Forum posts: 79
File comments: 236
Uploads: 10
Originally posted by Moosetrax
Will you be adding a gui in a future release for those of us not well versed in reading and changing the lua?
I sure hope not. You don't need to know lua to change it, just read the comments in the file and you'll do fine.
Report comment to moderator  
Reply With Quote
Unread 05-11-08, 09:22 PM  
Moosetrax
A Fallenroot Satyr
AddOn Author - Click to view AddOns

Forum posts: 20
File comments: 124
Uploads: 1
Will you be adding a gui in a future release for those of us not well versed in reading and changing the lua?
Report comment to moderator  
Reply With Quote
Post A Reply



Category Jump:

Support AddOn Development!

You have just downloaded by the author . If you like this AddOn why not consider supporting the author? This author has set up a donation account. Donations ensure that authors can continue to develop useful tools for everyone.