You could make these fairly easy with a lot of tools. I’d try Figma first by just dragging a box that size over, setting the background and outline, and making the text.
You can make everything cool, you just need the right tools to make them with.
You should take @pyxfluff’s advice to start with Figma. Figma is a simple, intuitive, and free graphic design software. All of the graphics here in this post was actually done in Figma.
hey toast, just asking this question again,
how to make the panel openable and resetable with Legacy Chat Service and no i cant switch to textchatservice because my game is already based of legacy chat. is there some sort of event i fire?
It’s because you made a BindableEvent, not a RemoteEvent.
It’s these types of mistakes that are so simple but always frustrating to find!
These certain replies to a topic show a good example of their differences
I also added more information to my original reply if you want to know how it works!
Thanks for including the output!
@pyxfluff & @blve_hxrizon , I meant how do I make the individual buttons work, like how they each teleport you to a page or a certain part of the post. No harm intended, though.
thanks it works! also what does the reset exe command do lol. if its important can u tell me how to do it as well?
I am pretty sure that all it does is reset the admin panel’s position and size. Do you want that command? I would be happy to assist you with it.
wow, this is so cool. I love it
Yeah, that does sound pretty important. Thanks
Is it possible to do a custom jail? I want to do another jail but there isn’t a guide without having to edit essential files
You could probably just replace the model with your own, and just name it the same.
Is it just me messing something up?
Getting an error when using the /resetexe command.
Exe (Build 508).rbxm
Also happened with the previous one I had, which was something like Exe 5.rbxm.
move is not a valid member of Frame "Players.Sun_Battery23238.PlayerGui.exe.frame.window_controls.controls" - Client - window_handler:356
EDIT 30/10/2024 (UK Format)
Legacy Chat is being removed!
Alrighty, here we go!
At the time of making, the /resetexe command is making an error when using, even when not using LegacyChatService. Do not be surprised if it shows up for you.
Option 1 - Modifying the previous remote event
First step, which is actually optional, is changing the remote event’s name to make more sense.
If you named the remote “admin_panel_open” like I did, then that’s not really making sense, as it will do more than that.
This helps avoid confusion in the future.
After that change however, we need to make edits to the code we have made earlier, as that broke it.
Remember the normal Script we made? The one that runs on the Server?
There is only one line you might have to change.
local remote = game:GetService("ReplicatedStorage").exe_storage.events.admin_panel_open
might have to change to
local remote = game:GetService("ReplicatedStorage").exe_storage.events. -- whatever you called your remote event.
Good, you made it! Since we are working with the Server Script, we might as well implement reset functionality to it!
The beginning to that is to duplicate the toggleExe function and rename it to resetExe.
Simple enough? Might say so.
local function toggleExe(plr: string, msg: string)
if msg == nil then return false end
if string.sub(msg, 1, 4) == "/exe" then
remote:FireClient(game:GetService("Players")[plr])
return true
end
return false
end
local function resetExe(plr: string, msg: string)
if msg == nil then return false end
if string.sub(msg, 1, 4) == "/exe" then
remote:FireClient(game:GetService("Players")[plr])
return true
end
return false
end
The next step is to change the line which checks if the message is “/exe” into “/resetexe”, inside of the resetExe function.
We can do this by changing the third value of the string.sub to be 9 (The length of “/resetexe”) and changing the string to be “/resetexe” itself.
You should result in having
if string.sub(msg, 1, 9) == "/resetexe" then
The second-last thing we need to do is to add false and true when calling the remote event in both functions, but in that order. I have probably chosen the worst way to say that but…
toggleExe
remote:FireClient(game:GetService("Players")[plr], false)
resetExe
remote:FireClient(game:GetService("Players")[plr], true)
I will explain why we should do this later.
The last step to the Server Script is to add this line to the script.
ChatService:RegisterProcessCommandsFunction("resetexe", resetExe)
This makes the chat actually recognize that this is a command.
Now we are moving onto the window_handler Client Script.
It will be a bit easier because we will have to copy and paste a few things that make the command actually work, instead of making our own code.
After the first change we made, we need to make edits to the code we have made, as that broke it.
There is only one line you might have to change.
local remote = game:GetService("ReplicatedStorage").exe_storage.events.admin_panel_open
might have to change to
local remote = game:GetService("ReplicatedStorage").exe_storage.events. -- whatever you called your remote event.
You might have maybe thought I copy and pasted a lot of the things in the last few sentences from the start. I am telling you right now I did not!
You might remember us putting in true
and false
when sending a signal using the remote event. This is where that comes into use. Us sending those values over the remote event actually tells the script if we want it to perform a reset or a toggle! Well actually, not yet. We have to add code in to make that work! Afterall, that’s what scripting is about… Adding and adding for things to work… Alright, we’re going too deep.
Change
remote.OnClientEvent:Connect(function()
into
remote.OnClientEvent:Connect(function(reset: boolean)
There we go!
reset
will be equal to what we send in the Server Script. (true/false)
The first if statement after that should be changed.
if not db then
to
if not reset and not db then
Lastly, after db = false
, insert this.
elseif reset then
storage.fullscreen.Value = false
controls.restore.icon.Image = "rbxassetid://11422140434"
blur.Enabled = false
if not storage.fullscreen.Value then
controls.move.Visible = true
end
tween_service:Create(main_frame, info, {Position = UDim2.fromScale(.5, .5), Size = UDim2.fromOffset(min_size.X, min_size.Y)}):Play()
tween_service:Create(main_frame.corner, info, {CornerRadius = UDim.new(0, 20)}):Play()
-- SETTING CORNERS
main_frame.menu_frame.corner.CornerRadius = UDim.new(0, 20)
main_frame.assets_panels.corner.CornerRadius = UDim.new(0, 20)
main_frame.confirmation_prompt.corner.CornerRadius = UDim.new(0, 20)
main_frame.direct_action_panels.corner.CornerRadius = UDim.new(0, 20)
main_frame.profile_panel.corner.CornerRadius = UDim.new(0, 20)
main_frame.resyncing_screen.corner.CornerRadius = UDim.new(0, 20)
main_frame.tools_panels.corner.CornerRadius = UDim.new(0, 20)
main_frame.window_controls.corner.CornerRadius = UDim.new(0, 20)
That should be all! Quite a long time it takes to make these changes!
Option 2 - Making a brand new remote event
I might make an edit with this.
Let me know if it doesn’t work
*There is one error that might appear for you which is not my fault as far as I am aware.
In-Depth Video Tutorial. Exe 5.
This video covers the demonstration, installation, and registration of custom commands of Exe 5. Thank you for making this great informative video, @Cookie_DevX.
Timestamps.
Simple & Quick Exe Installation.
This video covers the simple installation of Exe by just quickly adding your UserId. Thank you for making this simple and understandable video, @Ashi_Division.
This looks amazing. I hope this gets used in various games!
The UI, I love that awesome UI, nice work
Nice one by the way
But like I said it is an Admin System you are 100% bound to edit that config, so nothing wrong here as long as it isn’t hidden inside of the code somewhere.
Oops… read the comment
That’s an error in the version control, I had removed it and it came back seemingly. It will be removed and published today (i’m away from my PC and don’t have remote access on my main PC), thank you for reminding me
This is a very useful admin panel!