A System (A System With Automatic InputFunctions)

FIle: A System.rbxm (4.7 KB)
TestPlace: A System.rbxl (32.3 KB)
Library: A System (A System With Automatic Input)

Are u tired of making this?

local UIS = game:GetService("UserInputService")
local Event = eventstuff

UIS.InputBegan:Connect(function(input,GPE)
	if GPE then return end
	if input.KeyCode == Enum.KeyCode.E then
		-- FunctionStuff
		Event:FireServer("Stuff")
	end
end)

WELL WITH “A System (A System With Automatic input)” ITS MORE EASIER

U just gotta add the Input Name in the Keybinds Module Like This

["E"] = "Stuff"
or
["E"] = {"Stuff1","Stuff2"}  -- if u want 2 or more functions for that keybind

(This works by getting the Name of the keybind and Making it find the keybind name on the localfunctions or functions module and firing it)
And u just gotta make a function in “functions” for server or “Localfunctions” for client
to make a function u just gotta put something like this

["Stuff"] = function(Player,input,Extra)
	print("Client Or Server",Extra)
end,

Theres also a IsKeyHeld Function On Server For Those Guys doing Barrages

U Might Be Asking What About InputEnded Thats easily fixed by just Doing [InputNameFunction] WIth An End On The End like this

["StuffEnd"] = function(Player,input,Extra)
	print(Input,"Ended")
end,

THERES ALSO A KEYSTATS MODULE
A Keystats module has
GPE,CustomFunctionCalling,CustomEventCalling

This is how u use it

-- In KeyStats Module
["LMB1"] = {
CustomClient = function(Player,input,InputName)
	local Player = game.Players.LocalPlayer
	local PlayerScripts = Player.PlayerScripts
	local Localfunction = require(PlayerScripts.Localfunction)
		
	if Localfunction[InputName] then
		Localfunction[InputName](Player,input,"StuffHere")
	end
end,
CustomEvent = function(Player,input,InputName)
	InputFunc:InvokeServer(input,InputName,"StuffHere")
end,

--in LocalFunctions
["MiddleMouse"] = function(Player,input,extra)
	print(extra)
end
--Output
StuffHere
}

more updates in the future (planning on making a thing called EffectsScript for clientEffects)

1 Like