Files
ND_Core/server/commands.lua
2022-11-04 22:02:59 -04:00

39 lines
1.2 KiB
Lua

NDCore.Commands = {}
NDCore.Commands.Registry = {}
function NDCore.Commands.Add(name, help, arguments, argsrequired, callback, ...)
RegisterCommand(name, function(source, args, rawCommand)
if argsrequired and #args < #arguments then
return TriggerClientEvent("chat:addMessage", source, {
color = {255, 0, 0},
multiline = true,
args = {"System", "All arguments must be filled out!"}
})
end
callback(source, args, rawCommand)
end, false)
NDCore.Commands.Registry[name:lower()] = {
name = name:lower(),
help = help,
arguments = arguments,
argsrequired = argsrequired,
callback = callback
}
end
function NDCore.Commands.Refresh(source)
local src = source
local Player = NDCore.Functions.GetPlayer(src)
local suggestions = {}
if Player then
for command, info in pairs(NDCore.Commands.Registry) do
suggestions[#suggestions + 1] = {
name = "/" .. command,
help = info.help,
params = info.arguments
}
end
TriggerClientEvent("chat:addSuggestions", src, suggestions)
end
end