Garry's Mod

Garry's Mod

129 ratings
[AIS] Aaron's Inventory System
4
   
Award
Favorite
Favorited
Unfavorite
Content Type: Addon
Addon Type: Tool
Addon Tags: Fun, Roleplay, Realism
File Size
Posted
Updated
16.559 MB
20 May @ 5:00pm
13 Sep @ 11:52pm
18 Change Notes ( view )

Subscribe to download
[AIS] Aaron's Inventory System

In 1 collection by Aaron
[AIS] Collection
6 items
Description
Aaron's Inventory System (AIS)
The ultimate modular gear and armor framework for Garry's Mod




🛡️ What is AIS?
AIS is a lightweight inventory and armor system focused on equipping protective gear (helmets, vests, gloves, etc.).
Unlike general-purpose inventories, AIS is all about wearable equipment — not consumables or weapons (Can change in the future).




⚙️ Key Features:
  • Slot-based Equipment – Players equip gear into defined slots: Head, Torso, Arms, Gloves, Pants, Boots, and more.
  • Armor & Elemental Armor – Separate damage reduction stats for physical and elemental/nonphysical types.
  • Custom Damage Handling – Damage is reduced dynamically based on what you wear.
  • Realism Mode – Only armor on the body part that was hit will apply.
  • Dynamic Tooltips – Item descriptions show armor values and descriptions.
  • Server-Client Sync – Keeps equipment data persistent and secure.




📦 How to Use (For Players)
  • Open the inventory menu using
    Open_AIS_Inventory
    .
  • Drag and drop equipment into the proper slots or press RMB and Equip (Head, Torso, etc.).

🛠️ How to Use (For Developers)
  • Define your custom gear in the
    AIS_Items
    table, by making file in folder AIS_Addon.
  • Each item can contain:
    • Attributes – Armor values like ArmorPoints (physical resist) or ELArmorPoints (elemental resist).
    • ServerHooks – Damage reflection, healing, custom logic, etc.
    • ClientHooks– UI effects, visuals, client-side logic.
    • OnEquip, OnUnequip, WhenWearing triggers - custom one time logic (Equip,UnEquip) and loop (WhenWearing)
    • Description - Make own descritpion using MarkUp GMod library
  • Toggle realism mode with
    AIS_RealismMode = true
    to enable hitgroup-based damage.
  • Debug behavior with
    AIS_DebugMode = true
    .

💬 Feedback & Contributions
Suggestions and ideas are welcome.
Use Discord for that: https://discord.gg/d2m2Rgky66

If you need help with making own items, i'm open for that.




🚫 JMod Compatibility Notice
AIS is a standalone system, built from the ground up as an independent alternative to JMod.
It is not designed to be compatible with JMod or its systems — and no support for JMod is planned.

The goal of AIS is to offer a modular, self-contained framework for gear and armor that fits a wide range of custom gamemodes and servers, without external dependencies.

Created by Aaron
Popular Discussions View All (3)
20
8 Oct @ 6:09pm
PINNED: Suggestions
Aaron
14
13 Sep @ 11:54pm
PINNED: Bug Reports
Aaron
0
28 May @ 12:45pm
PINNED: Planned Features
Aaron
35 Comments
EthicalObligation 19 Oct @ 10:48am 
spine and ent:GetBonePosition(spine) or ent:WorldSpaceCenter() is effectively an if then else statement all in a single line :)
EthicalObligation 19 Oct @ 10:46am 
Nice stuff this is! Here is a bug fix for you as a token of appreciation:

ais_gui.lua line 320:

local spine = ent:LookupBone("ValveBiped.Bip01_Spine2")
local lookPos = ent:GetBonePosition(spine) or ent:WorldSpaceCenter()

should be

local spine = ent:LookupBone("ValveBiped.Bip01_Spine2") or false
local lookPos = spine and ent:GetBonePosition(spine) or ent:WorldSpaceCenter()

This will now properly display character if bone structure is non standard; allowing you to use the inventory with a custom animation playermodel.

tl;dr GetBonePosition doesn't always play nice when given a nil value. So check if it is a non nil val and if so run GetBonePosition. :) <3
Galok 13 Sep @ 8:51am 
can you add pick up and store weapon on ground?
Aaron  [author] 11 Sep @ 12:53pm 
Join discord and create ticket
Tekno 11 Sep @ 12:42pm 
From the silence, I can tell there's no way to bind any of the trinket slots.
Tekno 11 Sep @ 12:28pm 
I can take a screenshot and message you if you want a better idea of what I'm saying
Tekno 11 Sep @ 12:24pm 
The use active item command doesn't do anything either
Tekno 11 Sep @ 12:24pm 
I already have it equipped but it's not binded to any key
Aaron  [author] 11 Sep @ 12:20pm 
I mean, open up your inventory once you pick item up, place it or equip it on the correct slot and enjoy the effects. Trinket if have something coded in "on Use" then it would display on the bottom of the screen little UI
Tekno 11 Sep @ 12:19pm 
Like how do I bind trinkets? If that makes any sense since they have no bind written above them