Gmod Advanced Inventory System - Script
Gmod Advanced Inventory System is designed to create an inventory system for your users and save it when they log out, it works in Standalone, meaning that no gamemode is needed to run it. A variety of options will allow you to adapt the style of the inventory to your gamemode on your garry's mod server. It will be possible to offer upgrades to the maximum capacity of the inventory depending on the level of the user, or in the form of spawnable entities. You can also create a whitelist of items to secure your server.
A customization system unlike anything you've ever seen on Garry's Mod will allow you to easily blend it into your server's style without coding a single line in Lua, see the videos or screenshots. Create the inventory you imagine it will be unique. The idea is that you have a unique inventory so that your server will not look like any other. This way you can change the style of your inventory overnight for events like Halloween or Christmas without having to buy another one.
Gmod Advanced Inventory System is designed to be an alternative to ItemStore (or DarkRP Pocket) without imitating it because I didn't have an inventory system to work in combination with my other scripts, I would do a compatibility job later with ItemStore. I have already designed several inventory systems in my gamemodes but this is my first inventory system for Garry's mod that is sold here.
❮
❯
Description of Gmod Advanced Inventory System
Contents:- ๐ Description of Gmod Advanced Inventory System
- ๐ฆ Gmod Advanced Inventory System addon contents in brief
- ๐พ The Backups involved with Gmod Advanced Inventory System
- ๐งฐ Inventory System Management and Administration Panel for Gmod
- ๐ฝ User Inventory Backup Management Panel
- ๐จ Inventory style customisation panel
- ๐ Advantage system for roles and ranks
- ๐ฎ Gameplay customization modules related to the inventory addon
- ๐ Customization modules for the different sound effects when interacting with the inventory
- ๐ซ SWEP for storing and manipulating objects
- ๐ Spawnable inventory upgrade kits included
- ๐ Editable Binds system to place equipment in shortcuts
- ๐ Item categorisation system
- โ๏ธ The Item Whitelist
- โ What type of need can Gmod Advanced Inventory System meet
- ๐งฉ Gmod Compatible addons
- ๐ก Why will this script also optimize your server physics
- ๐ ๏ธ API for development and implementation
- โญ Gmod inventory addon 5 stars alternative to Gmod Advanced Inventory System
๐ Description of Gmod Advanced Inventory System
An inventory system for every imaginable style and all your projects, and future projects. One inventory system for every conceivable style.
Gmod Advanced Inventory System is a very good quality customizable inventory system that you can blend into any gamemode and even run without any gamemode.
You love it when people wonder if they are still on gmod. This will be the case.
In Simple Test, when you saw the first 6 screenshots, were your reactions: "This is not Gmod anymore" or "Which game is it on?" or "Is it really Gmod?
If so, this is the exact reaction your players will have with this inventory system, I want users to arrive on the server and feel like they are on a game of their own and not just another copy of a successful DarkRP, my system works well without any gamemode, it's what I call a standalone script, that is to say that it can work alone without any other addon or gamemode
Dare to exploit your creativity, that's the goal of Garry's mod. Don't just install an addon with no freedom of customization that will make your server a copy of another.
Since version 1.4 it is possible to add a story to your items, a description text for each item that allows to indicate its use on your server.
Since version 1.5 you can use objects directly from the inventory like eating, drinking, filling the empty bottle.
Feel free to read the wiki page of this script for more information.
Since the version 3.7 The script has its own /drop weapons system.
๐ฆ Gmod Advanced Inventory System addon contents in brief
Technical Administration side contents:
1. A panel to manage the style of inventory on your server. The changes you make affect the general inventory that people will have on your server. You don't need to be a programmer to make a nice inventory.
2. A panel to manage the backups of your users, you can then delete, modify, empty the inventory of users, even those who are not online.
3. Spawnmenu where spawnable upgrade kits are included.
Content that the user will see and be able to interact with:
- A nice unique inventory (see screenshots).
- A Category System to neatly arrange items by type.
- A Swep called Hands, which allows you to have a normal or passive (friendly) posture in the eyes of other players when you select it, and also to pick up whitelisted entities/objects with the left click and put them where you aim with the right click. So you don't get unfamiliar with what you already know (Like the Pocket System of DarkRP without having to use DarkRP this time).
- A system of equipment shortcuts that can be linked via slots 1 to 6. Your users can switch between the equipment they have chosen to place in these slots. This option can be disabled.
- An information page of your statistics if you have the other systems installed (it is not an obligation to have them if you do not want them, then deactivate the information page in the management panel). So you will have to open the inventory to see its health status instead of using the HUD to minimize it.
๐พ The Backups involved with Gmod Advanced Inventory System
When your users log out their inventory contents will be saved, also their equipped weapons(disable) and also their ammo(disable).
They will get everything back when they log back in and also the last weapon they had in hand before logging out.
You will be able to choose the save modes between :
Save at the modification of the inventory or/and at the disconnection of the player or/and with a timer which will launch a safeguard every X time defined. I put "or/and" because you can choose to disable them individually from each other.
๐งฐ Inventory System Management and Administration Panel for Gmod
The system features a single administration panel that will allow you to edit gameplay rules, inventory design and the database.
๐ฝ User inventory save management panel
A database management system will allow you to manage the database where your users' inventory data is saved and their max limit progress. So you will have the possibility to either reset their data, delete it or modify it. Or simply get some information.
A search system by steamid64 or by name will allow you to easily find the user's data even offline.
๐จ Inventory style customization panel
The power of this inventory system is the ability to edit it to a point that it will make it unique to your players and unique to your server, it is the identity and soul of your server so be imaginative. You will be able to modify all its variables:
1. Adjusting the position and size of the inventory: Customize the Position and Size of the items, the inventory boxes, the rounding of the corners by dragging a simple DSlider, etc. Everything is responsive.
2. Customise the colours of the inventory: The colour of the different elements: (See the video or the Screenshots).
3. Style of the inventory / Style of the inventory:
inv_activated = Inventory activated, you will be able at any time to deactivate the opening of the inventory by putting the module on OFF which allows access to the spawnmenu or contextual menu that the inventory obfuscates because you have the possibility of using one of its keys that serves as access to the inventory. In short, the useful case is that you are building your map to prepare for gameplay and don't need the inventory, so turn it off without uninstalling it.
inv_character = Display character. This choice allows you to display the character in the centre of the inventory.
inv_equipments = Allows you to activate and deactivate the equipment area and also to deactivate the binded shortcuts.
inv_stats = Disables the character's stats and status information window.
inv_blur = Enable the blur in the inventory background.
inv_icon = Replace text with intuitive icons.
inv_lock_s = Displays locked slots with a lock to let players know that he has the possibility to have more space on your server. And that it is not at maximum.
inv_percent = Display stat values in Percentage (Life, Armour, Hunger, Thirst, Stamina, Magic, Experience points before next level, etc)
inv_bottom = Display the bottom bar showing your XY GPS location, the number of players online, and the actual time.
inv_rarity_clr = Show the colour of the item category in your inventory.
inv_wep_img = Show the 3D model of the equipment or the spawn menu icon of the weapon in the shortcut menu.
๐ Advantage system for roles and ranks
You will be able to Disable / Enable inventory for certain jobs or ranks. But also impose an inventory limit that a rank/Job cannot exceed. For example a VIP will be able to reach 128 max while a Guest will be capped at 64 slots, he will be notified that his rank or job can't upgrade higher than this limit. This is a choice that will be yours.
๐ฎ Gameplay customization modules related to the inventory addon
From the management panel in the module section with a simple button you will be able to dictate the behavior of the inventory system on your Gmod server by modifying its variables:
Screenshot : editable-gameplay-rules - Gmod Advanced Inventory System
pure_backup = Instant and automatic backup at each change in the inventory. (ON / OFF)
save_inventory = Save the inventory at logout. (ON / OFF)
periodic_backup = Backup the inventory every so many seconds (Value in seconds. 0 = OFF)
notification_stock = Notify when an object is stored in the inventory. (ON / OFF)
inventory_loot = Number of items dropped when the player dies. (Numerical value indicating the quantity.)
chance_loot = Chance of dropping an item on death (percentage value. 0 = OFF)
inv_afterdeath = The inventory content is emptied when the player dies. (ON / OFF)
inv_maxreset = The maximum inventory limit is reset to the minimum when you die (ON / OFF)
begin_inv_slots = Max inventory at start when a new player begins a game. (Numerical value)
inv_strip_wep = Delete weapons given to the spawn that are not part of the save. (ON / OFF)
inv_strip_ammo = Remove ammo given to the spawn that is not part of the save game (ON / OFF)
inv_give_hand = Give 'Hands (Inventory)' equipment automatically to players when they spawn. (ON / OFF)
๐ Modules to customize the different sound effects when interacting with the inventory
So with this system give an even more unique feel by editing the inventory sound effects on your Garry's Mod server, that is:
-Edit the sound effect when opening the inventory.
-Editing the sound effect when closing the inventory.
-Editing the sound effect when inserting an item.
-Edit the sound effect when removing an item.
-Edit the sound effect when a button is clicked.
๐ซ SWEP allowing storage and manipulation of items
The inventory system includes a Swep that allows you to manipulate items that are in the item whitelist so you don't have to manipulate what is not intended to move, pick up from the inventory with left click and drop the last items picked up with right click. This will allow you to either pick up an item in the inventory which is the primary goal but also to move items without physically moving them, which will optimize your Gmod servers. This will optimize your Gmod servers. Allowing your users to do manipulations without physigun will avoid potential crashes and will also consume less CPU and bandwidth resources.
To do the test type in your console: net_graph 3 which allows you to see on a graph what you use as resources, take an object in the physigun and move it, you will observe the consumption of resource in red that uses this single object when it is in constant movement. Multiply it by the number of players connected and multiply it by the number of players who will do such manipulations. You will understand that it is heavy. We'll avoid that with this swep.
๐ Spawnable inventory upgrade kits included
With inventory upgrade kits allow your players to upgrade their inventory by picking them up. See even by reward system. It will also be possible to set the max inventory limit according to the user's level.
Upgrade +1 will increase the player's max inventory slots by one when they pick it up. You can place them as NPC rewards, in the shop or in loot. For example, if the player's inventory is at 12 slots, +1 will increase the player's inventory to 13 slots.
The SetMax upgrade kits allow you to upgrade to the value you specify, for example the 64 slot kit will upgrade your inventory to 64 slots.
Players will not be able to exceed the server limit specified in the configuration file, which by default is set to 128.
๐ Editable bind system to place equipment in bind
Allow your users to set up their own bind by associating their equipment with bindable keys 1-6 from their inventory from the equipment they already have.
For example, placing the physgun on slot 1 will cause the physgun to quickly exit gmod when the player presses that key ("Bind slot_1") and so on with the other binds that go up to key 6.
๐ Item categorisation system
The default inventory has several categories: "All" "Ammunition" "Foods" "Medicals" "Materials" "Tools" "Weapons" "Misc"
Items will be placed in one of these categories, which is defined in the item whitelist variable.
You can change the categories in the configuration file in the variable Inventory_Categories if you don't need one of them in your game.
cfg.Inventory_Categories={"All", "Ammunition", "Foods", "Medicals", "Materials", "Tools", "Weapons", "Misc"}
โ๏ธ Item Whitelist
The item whitelist will allow you to define the rules of what entities players can put in their inventory to prevent them from storing anything and everything. It defines the list of allowed items.
It will be enough to use the name of class in index, to define its category, its colour of type
Example:
local Resources_List={
plant_basil={
Category="Foods",
Color_fx=Color(0,255,0),
Stacking_limit=20
},
tool_hammer={
Category="Tools",
Color_fx=Color(150,150,150),
Stacking_limit=1
},
}
In the example plant_basil is an entity that is a plant, it is stored in the Foods category of the inventory and StackMax set to 20 means that you will be able to store 20 plant_basil per inventory cell and the colour of the effect is Color(0,255,0) which is the code for green.
the second item is the hammer: tool_hammer which this time will be stored in the "Tools" category, StackMax which is set to 1 means that 1 hammer will take one slot in the inventory if you find a second one it will take one more slot.
โ What type of need can Gmod Advanced Inventory System meet?
1. You are looking for an inventory system for your gmod server that works even without gamemode and outside of DarkRP. Gmod Advanced Inventory System checks this box.
2. You would like to save your players weapons and ammo on your gmod server so they can find them when they log in again.
3. You are looking for a recent alternative to the DarkRP Pocket or ItemStore. This is the case and you don't need to have DarkRP to run it.
4. You are looking for a weapon and ammo backup system.
๐งฉ Compatible Gmod Addons
This system is intended to replace ItemStore that you can find on Gmodstore which is not compatible with most of my scripts. So I can provide support related to reported problems you will encounter with my gmod addons or my Gmod Workshop.
Among my addons a plus will be brought in addition to the compatibility in term of information displayed on the inventory to your free choice to display it or not.
Gmod Character System will allow you to create and save the inventory of all your characters separately.
Leveling System, Health & Armor System, Stamina System, Hunger System, Thirst System, Mana System, Money System: Will display the stats in the inventory if you decide to purify and lighten the HUD of all its information. Each of these variables can be disabled from the configuration file. The information panel can be disabled from the inventory customisation menu, as you don't have to have everything.
Advanced View Creator: If you are in third person view the camera will rotate your character to display the inventory instead of duplicating it on the inventory interface. Modern, Clean and Aesthetic.
Compatible with ๐ค - Aden Character System (gmodstore)
๐ก Why will this script also optimize your server's physigun?
This script will change the behavior players will have with items. For starters if you intend to take the physigun out of your players hands to preserve your Gmod server, the "hands" swep included in this addon will allow your users to take items from his inventory and put it where he looks. This means that there is no physical movement of the object.
For more details on this tool jump to section 10. ๐ซ SWEP allowing storage and manipulation of objects
๐ ๏ธ API for development and implementation
Server side API :
player:addMaxInventory( number quantity , bolean save) = Upgrade the user's inventory.
player:setMaxInventory( number quantity , bolean save) = Set the user's max inventory.
player:storeItem( class , quantity or clip1 , model path , clip2 or nil) = Store an entity that doesn't exist on the map by its class name
player:addItem( entity , number quantity ) = Store an entity that exists on the map and delete it when it is stored
Server and Client side API:
player:Inventory_Slot() = Allows to know the number of slots in the occupied inventory.
player:GetItems() = Return table of items stored in the inventory of the users.
player:GetMaxInventory() = Allows to know the maximum capacity of the player's inventory.
โญ Gmod inventory addon 5 stars alternative to Gmod Advanced Inventory System
1- ItemStore - Inventory for DarkRP (Gmodstore)
Path: garrysmod/addons/norda_inventory_system
- The AddWorkshop function is automatically added to the script server file and can be deactivated from the configuration file. : resource.AddWorkshop( 2872306927 )
- To add gmod workshop resources to your collection : Gmod Advanced Inventory System [Content Only] | Gmod Workshop
There are three ways to do this:
1. Use the command "norda_inventory_system" via the console if you are admin or have another authorized rank.
2. If in the configuration file you have chosen the F4 key: cfg.FX_to_Open="F4" then it will be the F4 key.
3. From the Norda Admin Mod panel use the key in the shortcut menu which allows you to not have to remember the command.
If the entity is whitelisted then you will be able to pick it up from your inventory with the left click when you take the "Hands (Inventory)" Swep.
To drop an item from inventory:
Either use the Hands (Inventory) swep included with this addon, or open the inventory and click on the item in question and you will have the choice to drop it.
The value is a percentage because the system is responsive.
The value is a percentage because the system is responsive.
The value is a percentage because the system is responsive.
The value is a percentage because the system is responsive.
If you want to manage the RGBA colour codes you can write it manually on the top right of the palette, don't forget to press the enter key in this case.
Right click from the management interface to copy the class name of the entity.
cfg.bind={
["+menu"]=false, -- Replace Gmod Spawn menu by Norda Inventory
["+menu_context"]=true, -- Replace Gmod Context menu by Norda Inventory
}
All you have to do is remove, rename or add the one you need.
cfg.Inventory_Categories={"All","Ammunition","Foods","Medicals","Materials","Tools","Weapons","Misc"}
cfg.Items_Whitelist = { }
If you want to be able to store an object that has the class name "wood" then you need to add this entity to the list as follows:
cfg.Items_Whitelist = {
wood ={Categorie="Materials",Color_fx=Color(255,215,0),StackMax=50},
}
Don't forget the comma at the end of the line you add.
If you want to add another object that has the class no: "brick"
Then it will become :
cfg.Items_Whitelist = {
wood ={Categorie="Materials",Color_fx=Color(255,215,0),StackMax=50},
brick ={Categorie="Materials",Color_fx=Color(255,215,0),StackMax=20},
}
StackMax: You will find StackMax 50 and 20. This means that you will be able to store 50 wood in one box and then the storage of the one if will start a new box.
Category: Defines in which category the object will be considered. Useful to quickly sort the objects in the inventory by type.
Color_fx will allow you to define the colour of the storage effect when you store the item. This can be a rarity index or simply a colour related to the category.
cfg.Script_Life = 1 -- Gmod Health Modules
cfg.Script_Armor = 1 -- Gmod Health Modules
cfg.Script_Level = 1 -- Gmod Leveling System
cfg.Script_Money = 1 -- Gmod Money System
cfg.Script_Stamina = 1 -- Gmod Stamina System
cfg.Script_Hunger = 1 -- Gmod Hunger Mod
cfg.Script_Thirst = 1 -- Gmod Thirst Mod
cfg.Script_Mana = 1 -- Gmod Mana System
cfg.Script_Characters = 1 -- Gmod Character System
cfg.bind={
["+menu"]=false, // Remplacer le menu Spawn de Gmod par Norda Inventory
["+menu_context"]=true, // Remplacer le menu contextuel de Gmod par Norda Inventory
}
And do it like this:
cfg.bind={
["gm_showhelp"]=true, // Remplacer F1 par Norda Inventory
}
Click on the weapon and click on put in inventory. It will be stored there and you will be unequipped. No command to know.
Since the version 3.7 The script has its own /drop weapons system.
bind m norda_inventory
In the management panel click on a user you can see the info icon next to the list of weapons, inventory and ammunition.
On 1 the players will not be able to unequip the sweps provided by a job.
On 0 the players will be able to unequip their weapon provided by the configuration of the job they occupy.
For those who use DarkRP the weapons dropped by the /drop command are not the real weapons and therefore will not work. Feel free to disable the /drop command in DarkRP to avoid unnecessary problems.
You can always allow your players to change their weapons with : Gmod Items Trading and Selling System
Since the version 3.7 The script has its own /drop weapons system.
The dropped weapon keeps its ammo in memory. This means that if you pick up the weapon and it has 3 bullets left, you will see on your HUD that it has 3 bullets left. If you store it in your inventory you can see its 3 bullets too.
You can also drop your weapons from your inventory.
cfg.Hand_Right_Clic=1 -- 0 = Drop objects | 1 = Open inventory
Example with default categories:
cfg.Inventory_Categories={"All", "Ammunition", "Foods", "Medicals", "Materials", "Tools", "Weapons", "Keys", "Misc"}
cfg.Custom_Fonts="Trebuchet24"
cfg.DropCommand = 1 -- 1 = ON, 0 = OFF.
But beware: DarkRP's /drop command is glitched - read line 47 for more information.
Keeping cfg.DropCommand set to 1 ensures that /drop works properly. It also works without DarkRP.
Find this line:
cfg.Inventory_Crafting_Menu={โCraftโ}
To remove the Craft button, delete the content between {}, the line becomes:
cfg.Inventory_Crafting_Menu={}