I’ve been working on an admin panel that can be used to create custom commands for use in your game. It allows for the players to make commands relative for the game, like starting events, changing variables and effecting the players in the game.
The player can set the admins in the game by putting the username into the admins table in the main script for the panel.
The panel can be opened by using the command /admin which will open the panel for the accepted players
How to add commands
The player adds commands by giving the Name of the commands to show up on the button, and the name of the module script that runs the command
commands = {
{Title = 'Shut Down Server',Command = "ShutDownServer"},
{Title = 'Kill All Players',Command = "KillAllPlayers"},
{Title = 'Teleport All To Me',Command = "TeleportAllPlayers"},
}
Here is an example of a table of commands to be used.
The module scripts have to be formatted in a specific way, like this
local module = {}
function module.run()
-- Do Something
end
return module
The command has to be contained under the module.run command so that the script runs the module scripts .run command every time.
The system of the panel seems cool and would definitely be useful, however I believe that the UI of the panel could be improved. Regardless if only 5/6 are gonna see it, it’s still nice to have to some good looking readable ui.
I’d recommend either modifying a toolbox UI/Admin Panel to your liking, or watch some tutorials on Youtube, such as this free tutorial that took me less than 10 seconds to find on Youtube.
There’s a better way to hold admin commands… I’ve made a post about creating a basic admin system which is below but this is what I’d recommend doing for your commands, descriptions, and titles.
local Commands = {
["Example Command"] = { --[["Title of the command"]]
CommandPhrases = {"example1","example2","ex1"}; --[[Add the phrases you want to use to trigger the event.]]
Level = 6, --[[This is the level of admin needed to use the command.]]
Active = true, --[[This determines if the command is able to be used or not.]]
Description = "This is where the commands description will be.", --[[This is where you describe what the command is supposed to do.]]
Function = function(Args) --[[This is the function that you need to call to run the command.]]
warn(Args)
end}
;
}
This gives users easier accessibility to add, modify, or remove what they need for each command. I’d recommend a table of commands like this, you can title it as you see fit and grab it with a for table search. I especially recommend this as you can deactivate commands if you want to hold onto a command but not have it used.
Regarding the GUI, it definitely needs work. You don’t want a plain, or overly complex system.
@blve_hxrizon has a great product that I’d recommend looking at as an example of what you should or shouldn’t have in an admin panel.
I wanted it to be easier for the player to edit the commands and make their own as they please, I think having the commands stored in the table might get convoluted to see and edit.
Ahh okay, so you want to give people the ability to create their own admin panel? That’s pretty smart, if that’s the case then I’d recommend having a module function that can grab all commands with descriptions, titles, and command variants. This would make it easier for users to do that.
This Administrator Panel looks good! The GUI is kind of basic, and the text on the buttons is way too small. You should make the text on the buttons much bigger and thicker, and also make the “Admin Menu” text thicker and bolder. Otherwise, nice job on this!