All Projects → HiEv → UInv

HiEv / UInv

Licence: BSD-2-Clause license
Universal Inventory System (UInv) for Twine 2 / SugarCube 2

Programming Languages

HTML
75241 projects
javascript
184084 projects - #8 most used programming language
CSS
56736 projects

Projects that are alternatives of or similar to UInv

gdinv
More or less universal inventory system plugin for Godot Engine (3.3+). Data-driven.
Stars: ✭ 69 (+102.94%)
Mutual labels:  inventory, inventory-system
Inventory-Management-System-Django
A Inventory management system written in DJango
Stars: ✭ 71 (+108.82%)
Mutual labels:  inventory, inventory-system
Binner
Open source parts inventory system for makers, electronics hobby, and professional engineers
Stars: ✭ 122 (+258.82%)
Mutual labels:  inventory, inventory-system
tinvedit
inventory editor for terraria game
Stars: ✭ 35 (+2.94%)
Mutual labels:  inventory
bizbook-client
The repository of bizbook client project
Stars: ✭ 28 (-17.65%)
Mutual labels:  inventory
inventory
Use a barcode reader to scan the foods in your house and add them to a database. See legacy for zbarcam integration. Master integrates with a USB barcode laser scanner.
Stars: ✭ 32 (-5.88%)
Mutual labels:  inventory
rawsec-cybersecurity-inventory
An inventory of tools and resources about CyberSecurity that aims to help people to find everything related to CyberSecurity.
Stars: ✭ 153 (+350%)
Mutual labels:  inventory
apex
Apex is a self hosted sales, purchase, inventory and accounting solution for small businesses.
Stars: ✭ 55 (+61.76%)
Mutual labels:  inventory
gohai
System information collector
Stars: ✭ 91 (+167.65%)
Mutual labels:  inventory
gui
A very simple library to facilitate the menu creation in the Bukkit API
Stars: ✭ 55 (+61.76%)
Mutual labels:  inventory
glpi-agent
GLPI Agent
Stars: ✭ 89 (+161.76%)
Mutual labels:  inventory
visansible
Visualization of Ansibel-Facts (Inventory-Data)
Stars: ✭ 13 (-61.76%)
Mutual labels:  inventory
sqstorage
A easy to use and quick way to organize your inventory, storages and storage areas
Stars: ✭ 18 (-47.06%)
Mutual labels:  inventory
ios-inventory-agent
Flyve MDM Inventory Agent
Stars: ✭ 27 (-20.59%)
Mutual labels:  inventory
Lagerregal
Super awesome inventory System for electronic devices
Stars: ✭ 21 (-38.24%)
Mutual labels:  inventory
nix bsd mac inventory
Collect Inventory data from *Nix, BSD and mac OS and upload to Device42
Stars: ✭ 17 (-50%)
Mutual labels:  inventory
CodeforcesApiPy
Implementation of https://codeforces.com API
Stars: ✭ 17 (-50%)
Mutual labels:  twine
inventory-checkin
Inventory check-in/out manager that supports a tablet kiosk.
Stars: ✭ 16 (-52.94%)
Mutual labels:  inventory
ocs-agent
Lite OCSInventory-NG Agent for Linux (Unofficial)
Stars: ✭ 14 (-58.82%)
Mutual labels:  inventory
storaji-ui
Storaji frontend. Built with Electron and Angular 4.
Stars: ✭ 23 (-32.35%)
Mutual labels:  inventory

Universal Inventory System (UInv) for Twine 2/SugarCube 2

The "Universal Inventory System" (UInv) is an inventory system for Twine 2 / SugarCube 2 written in JavaScript which is meant to simpify handling inventories for new Twine users.

You can always find the latest release here: https://github.com/HiEv/UInv/releases

The way UInv works is that there are two objects, "bags" and "items". "Bags" are containers which have their own properties that you can customize. Bags can also contain "items", which are collections of properties that you can pre-define in the code and then easily create, move from bag to bag, delete, etc...

So, for example, you could have a "bag" which represents the player's backpack, another "bag" which represents what they're holding, and a bunch of other "bags" which represent the various rooms the player will travel to. You could then populate those room "bags" with items. Then, when the player travels to that room they could see all of the items there, and the items' properties could be used by the code to determine how the player can interact with those items. You could even make the player's description a "bag" and have the "items" in it represent the player's various stats, skills, and physical descriptions.

"Items" can also have "pockets" (which are "bags" attached to that "item"), and "bags" can have "containers" (which are "items" that are connected to that "bag"). UInv will automatically maintain the relationship between these "containers" and their "pockets". For example, a "suit" item/container could have a "suit pocket" bag/pocket, where other items could be stored.

There are also "tags", which are basically arrays of values on a property of a bag or item. If you have a property that uses an array of values, you will be able to use the various "tag" functions to group items by whether they have particular "tags" in that property's array. This way you could, for example, get a list of all of the items in a bag that have the tag of "crafting material" in their "Type" property.

Then there is the display layer, which will make it easy for you to add inventory tables, pop-up radial menus, health bars, a "clothing mannequin" (for dressing and equipping characters), a "shop" interface (to make buying and selling items easier), styelable drop-down menus with pictures, and more.

For more information, you can take a look at an early version of the UInv help file at the link below:

http://bit.ly/UInvHelp (work in progress)

and some simple introductory UInv sample code can be found at the following link:

http://bit.ly/UInvSampleCode (work in progress)

Those are also included in the .ZIP file available here. You can import those into Twine 2 to see how they work.

Current progress (as of September 9, '19):

  • ~97% done on the base coding by function (293 out of 303+ currently proposed items).
  • Very little sample code done yet.
  • Preliminary testing begun (37 out of 293 functions fully tested, plus many partial tests).
  • Documentation skeleton written. Additional details and examples to be added later.
  • Item and Table "builders" mostly written (see help file), other builders to come.

Note: There's a bug in the v0.9.7.2 version of the BagHasAllItems(), BagHasAnyItem(), and GetAllBagPockets() functions, as well as failure to update UInv elements placed outside of a passage. Use the v0.9.7.3 bugfix code to avoid those problems.

If you would like to support this project, you can do so via Patreon or PayPal.

-- HiEv

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].