Skip to content
/ Stoway Public

Stoway ๐ŸŽ’: Advanced & customizable Roblox inventory/hotbar system with robust item instance tracking.

License

Notifications You must be signed in to change notification settings

Zyn-ic/Stoway

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

57 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

Stoway - Advanced Roblox Inventory System (V2.3.6) ๐ŸŽ’โœจ

Stoway Logo

Stoway is a robust, data-driven inventory and hotbar system designed for Roblox experiences. Built with performance and flexibility in mind, it uses Fusion for reactive UI updates and a smart Delta Replication system to minimize network traffic. Whether you need a simple RPG backpack or a complex survival inventory, Stoway provides the solid foundation you need. Please consider going to the latest release and downloading it there.


๐Ÿ“– Table of Contents


๐ŸŒŸ Core Features

๐Ÿ”ฅ Hotbar

  • ๐Ÿ–๏ธ Drag & Drop: Smooth, glitch-free dragging between Hotbar and Storage.
  • โšก Static Slots: Fixed number of hotbar slots (e.g., 1-9) for consistent keybinding.
  • โŒจ๏ธ Keybinds: Built-in support for equipping items via number keys.

๐ŸŽ’ Backpack / Storage

  • ๐Ÿ’พ Data-Driven: Items are stored as pure data (UUIDs), not physical Instances. Physical tools are only spawned when equipped.
  • ๐Ÿ“š Stacking: Fully customizable stacking logic. Define max stack sizes globally or per-item.
  • โš–๏ธ Weight System: Optional weight/capacity limits (set specific limits or allow infinite storage).
  • ๐Ÿ” Sorting & Filtering: Built-in support for sorting by Rarity, Name, or ItemType, plus real-time search filtering.

โš™๏ธ Advanced Systems

  • โš›๏ธ Reactive UI (Fusion): Uses the Fusion library for highly performant, state-driven UI updates. Zero polling.
  • ๐Ÿ“ก Delta Replication: The server only sends changes to the client, ensuring minimal network usage even with large inventories.
  • ๐ŸŽฎ Console Support: Full gamepad support with dedicated console navigation, selection management, and drop UI.
  • ๐ŸŽจ UI Skins: Support for multiple UI layouts/skins (e.g., "Default", "Admin", "Trader") that can be switched on the fly.
  • ๐Ÿ’Ž Rarity Support: Integrated rarity system with color-coded borders and sorting priority.
  • ๐Ÿ’ง Droppable Items: Configurable logic for dropping items into the world.

๐Ÿš€ Getting Started

  1. ๐Ÿ“ฅ Download: Get the latest .rbxm from the Releases page.
  2. ๐Ÿ“ Server Setup:
    • Place StowayServerV1_2 inside ServerScriptService.
    • Recommendation: Create a folder ServerScriptService/Stoway to keep it organized.
  3. ๐Ÿ“ Client Setup:
    • Place StowayClientv1_2 inside StarterPlayerScripts.
  4. ๐Ÿ“ Shared Resources:
    • Place the Shared folder (containing Settings, Types, RarityValues, Binds) into ReplicatedStorage.
  5. ๐Ÿ“ฆ Dependencies:
    • Ensure the Fusion library is available in ReplicatedStorage/Packages (or adjust the require paths in the scripts).
  6. ๐Ÿ Initialize: Create a server script to load the system:
    local StowayServer = require(game.ServerScriptService.StowayServerV1_2)
    StowayServer.Init()

๐Ÿ› ๏ธ Configuration

Stoway V2.3.6 is configured via ReplicatedStorage/Shared/Settings.luau.

local Settings = {}

--// HOTBAR
Settings.Hotbar = {
    MaxSlots = 9,       -- Number of static hotbar slots
}

--// STORAGE & LIMITS
Settings.Storage = {
    Limit = 50,         -- Max weight/slots (0 = Infinite)
    CanStack = true,    -- Enable item stacking
    MaxStackSize = 64,  -- Default max stack size
    Sorting = true,     -- Enable sorting logic
    SortOrder = "Rarity" -- "None", "Name", "Rarity", "ItemType"
}

--// GAMEPLAY
Settings.Gameplay = {
    Droppable = true,   -- Allow players to drop items
    DropDistance = 5,   -- How far items drop
}

--// UI SKINS
Settings.DifferentUIs = {
    ["Default"] = {
        FolderName = "DefaultUI",
        GuiName = "StowayGui",
        HookPresetName = "DefaultHooks"
    }
}

return Settings

๐Ÿ’ฌ Debug Commands

Stoway comes with built-in chat commands for testing (restrict these in production!).

  • /inv - Print current inventory state to console.
  • /add [itemId] [amount] - Add an item to your inventory.
  • /remove [uuid] - Remove an item by UUID.
  • /clear - Wipe your inventory.
  • /set_limit [n] - Change your weight limit at runtime.
  • /setui [UiType] - Switch your UI skin (e.g., /setui Default).

Credits

  1. HowToRoblox - sourced a lot of core mechanics from him for backpack/hotbar.
  2. Knineteen19 - his series helped me get a good understanding for inventory/hotbar, presistance, and stacking.
  3. Avafe - learned about the existance of fusion and react on roblox from this custom hotbar and backpack system.
  4. Illusion for creating a module around roblox's new InputActionService thank you this saved me a lot of time ๐Ÿ˜ญ

About

Stoway ๐ŸŽ’: Advanced & customizable Roblox inventory/hotbar system with robust item instance tracking.

Topics

Resources

License

Stars

Watchers

Forks

Languages