Hello! This is my first post on the community resources section, I apologize for any confusing information or code.
Introduction
For my past few projects, I’ve been struggling on how the tool system would work and what not. I’ve tried using classes, too complicated; also tried custom backpacks, also too complicated. I realized that both of these solutions didn’t even use Roblox’s tools, which is why I made this system. I understand that this wouldn’t be suitable for everyone, might have some bugs and some other issues, as it’s also my first free community resource that I put out to the public, but I would still like some feedback on what I should change as such.
Why this system?
This system splits your tool scripts into 3 different modules, 1 for configuration, 1 for the server and 1 for the client. Creating separate scripts for each tool won’t be efficient as it would be hard if you ever need to update something in each of them, since you have to go through each and every script just to change something.
What can this be used for?
This system is generally more suitable to use for tools that can be classified into classes, such as Melees, Guns, etc. It can also still be used for singular tools which doesn’t need to be classified. This system is quite modular so you can change anything to however you like.
Features
- Organized scripts
- Tool resources
- Tool data
- Tool config
Installation
This system uses FastNet2
Youtube Video: Video
Get it here: Tools Handler
Game File: Tool Handler.rbxl (81.2 KB)
Tutorial
Creating a tool needs 3 module scripts,
- Server Module in ( ServerStorage > Tools )
- Client Module in ( ReplicatedStorage > Modules > Tools ) (Optional)
- Config Module in ( ReplicatedStorage > Modules > Configs )
You can have both modules and folders for tool classes and tool names, example:
ServerStorage > Tools > Melee and ReplicatedStorage > Modules > Tools > Sword
or
ServerStorage > Tools > Melee (Folder) > Sword and ReplicatedStorage > Modules > Tools > Melee
What I meant by class is the name of the folder of the weapon’s config is parented in, so if a sword’s config is parented to Melee, it’s classification will be melee
Customize the folder directories in ( ServerScriptService > Tool_Main > Directories )
--// Directories
Configs = Modules:WaitForChild("Configs");
ClientModules = Modules:WaitForChild("Tools");
ServerModules = ServerStorage:WaitForChild("Tools");
ClientResources = require(Modules:WaitForChild("Tools"):WaitForChild("Resources"));
ServerResources = require(ServerStorage:WaitForChild("Tools"):WaitForChild("Resources"));
Example Sword: ( You can find the example inside the rbxl file )
Config module:
Server module:
Client module:
There’s a tutorial module inside the file so you can also check that out along with the 2 example tools
Would appreciate any feedbacks / bug reports!
- No
- Yes
- Maybe
0 voters
- Good
- Okay
- Bad
0 voters