How I am able to do a G.U.I. for my plugin which is active in the studio? Like example the animation editor from ROBLOX , a G.U.I appears where I can click the button and gives me the next frame. How I am supposed to do something like that? I searched evrywhere (including the wiki) but I didn't found it. Well, the normal way to do is to Insert a new Screen GUI in the StarterGui, but it's only for the game designing. Atleast an API for this kind of G.U.I.
This is two years late but you would parent the GUI to the CoreGui so something like this
Gui.Parent = game.CoreGui
And to remove it you would just have to do set the Gui to a Variable
local Gui = script.Gui -- or wherever you put it Gui.Parent = game.CoreGui --Then when you want it to go away you'd simply do this Gui:Destroy()
Yes actually, there is RbxGui. It's a library you can use for making GUI interfaces for your plugins. Here's the wiki page: RbxGui
Here is a simple trick I used in a lot of my plugins to add a gui:
1 Creating the toolbar
local toolbar = plugin:CreateToolbar("PutNameOfToolBarHere")
2 Adding a button
local toolbar = plugin:CreateToolbar("PutNameOfToolBarHere") local button1 = toolbar:CreateButton( "PutNameOfButtonHere", "PutHoverLabelOfButtonHere", -- you dont need to "PutImageAssetIDHere" -- you dont need to )
3 Giving the Button a Function #1
local toolbar = plugin:CreateToolbar("PutNameOfToolBarHere") local button1 = toolbar:CreateButton( "PutNameOfButtonHere", "PutHoverLabelOfButtonHere", -- you dont need to "PutImageAssetIDHere" -- you dont need to ) button.Click:connect(function() end)
4 Adding some Variables
local plugin2 = script.Parent -- means that you should put this script under the plugin model local gui = plugin2.GUINAME -- or wherever you put the gui local toolbar = plugin:CreateToolbar("PutNameOfToolBarHere") local button1 = toolbar:CreateButton( "PutNameOfButtonHere", "PutHoverLabelOfButtonHere", -- you dont need to "PutImageAssetIDHere" -- you dont need to ) button.Click:connect(function() end)
5 Getting CoreGui
local plugin2 = script.Parent -- means that you should put this script under the plugin model local gui = plugin2.GUINAME -- or wherever you put the gui local coregui = game:GetService("CoreGui") -- this is the simplest way local toolbar = plugin:CreateToolbar("PutNameOfToolBarHere") local button1 = toolbar:CreateButton( "PutNameOfButtonHere", "PutHoverLabelOfButtonHere", -- you dont need to "PutImageAssetIDHere" -- you dont need to ) button.Click:connect(function() end)
6 Giving the Button a Function #2
local plugin2 = script.Parent -- means that you should put this script under the plugin model local gui = plugin2.GUINAME -- or wherever you put the gui local coregui = game:GetService("CoreGui") -- this is the simplest way local toolbar = plugin:CreateToolbar("PutNameOfToolBarHere") local button1 = toolbar:CreateButton( "PutNameOfButtonHere", "PutHoverLabelOfButtonHere", -- you dont need to "PutImageAssetIDHere" -- you dont need to ) button.Click:connect(function() gui:Clone.Parent = coregui -- clones the gui and that clone gui will be in core gui end)
7 Connecting the plugin with the close button (this is the script in the close button in your gui)
local gui = script.Parent.Parent.Parent -- or wherever you put it script.Parent.MouseButton1Click:connect(function() gui:Destroy() -- destroys the clone gui end)
And you are finished! Hope you like it!
Works most likely in late 2017 - early 2018 (not sure in 2018)