#Any ideas that I can add into this system

1 messages · Page 1 of 1 (latest)

dull hatch
prisma peak
#

I just looked over this and WOW this looks pretty easy to make a plugin. I've always been intimidated of making plugins but with this, it makes it looks so much easier. I will definitely be giving this a try!

hollow shoalBOT
#

studio** You are now Level 3! **studio

dull hatch
prisma peak
dull hatch
# prisma peak yw

Any other idea I could implement into the PluginWrapper to make the system easier to use

dull hatch
prisma peak
prisma peak
dull hatch
prisma peak
#

yeah

dull hatch
#

That's how to setup the plugin creation

dull hatch
prisma peak
#

no which image?

#

Oh this?

dull hatch
#

Yes

prisma peak
#

yes I what about this?

dull hatch
#

So
Script--[[
Modules --[[ Class system, EventBus, Signal]]
PluginWrapper]]

prisma peak
#

yes

dull hatch
prisma peak
#

the entire structure of a plugin. I've never made a plugin before. Yes i do understand that classSystem is probably the main part of plugin, event bus has events and signal sends signals, however, composing a plugin is just so confusing

#

like for example, how would I create a simple plugin that prints "hi"

prisma peak
#

do you know how to script?

dull hatch
prisma peak
#

yes

dull hatch
# prisma peak yes
local PluginWrapper = require(script.PluginWrapper)
local wrapper = PluginWrapper.new(plugin)
local toolbar = wrapper:CreateToolbar("Test")
local button = wrapper:CreateButton(toolbar, "Test", "Opens Test", "")

local dockInfo = DockWidgetPluginGuiInfo.new(
    Enum.InitialDockState.Float,
    false, true,
    350, 420, -- Default size
    250, 200  -- Min size
)
local widget = wrapper:CreateWidget("Test", dockInfo)
widget.Gui.Title = "🎨 Test Widget"

wrapper:Clicked("Test", function()
    widget:Toggle()
    print('Hi')
end)
#

this is how

prisma peak
#

ok WOW

#

thats SIMPLE

#

so I'm guessing "Test" would be like the name of the action? and then function would be the code to run?

dull hatch
prisma peak
#

OHHHHHH

dull hatch
prisma peak
#

so how would I export this plugin to the roblox marketplace for example if I wanted people to be able to install it?

prisma peak
#

oh wow wait I publish PluginTest?

#

OH I THINK I UNDERSTAND THIS

hollow shoalBOT
#

studio** You are now Level 5! **studio

prisma peak
#

I'm going to test this right now!

#

ok so the Modules folder is a built in part of the package if i'm correct?

#

so I shouldn't modify it?

prisma peak
#

ok thank you

#

sorry im kinda new to github. How do I download it?

dull hatch
prisma peak
#

ok

#

and where does PluginTest go?

#

inside of serverScriptService?

dull hatch
prisma peak
#

oh

#

ok

#

what does:


local button = wrapper:CreateButton(toolbar, "Test", "Opens Test", "")

do?

#

i know what the first two params do but not the 3rd one

#

oh wiat

#

nvm I know what it does

#

I tried your code:


local PluginWrapper = require(script.PluginWrapper)
local wrapper = PluginWrapper.new(plugin)
local toolbar = wrapper:CreateToolbar("Test")
local button = wrapper:CreateButton(toolbar, "Test", "Opens Test", "")

local dockInfo = DockWidgetPluginGuiInfo.new(
    Enum.InitialDockState.Float,
    false, true,
    350, 420, -- Default size
    250, 200  -- Min size
)
local widget = wrapper:CreateWidget("Test", dockInfo)
widget.Gui.Title = "🎨 Test Widget"

wrapper:Clicked("Test", function()
    widget:Toggle()
    print('Hi')
end)

but there was an error in Plugin Wrapper on line 65 or so:

attempt to index nil with 'CreateToolbar'

in the class.Define in the methods table.

prisma peak
#

yeah

#

here are the names

prisma peak
#

ok

dull hatch
prisma peak
#

yeah

#

I got this error

dull hatch
#

sad

dull hatch
prisma peak
#

65

#

here:

CreateToolbar = function(self: PluginWrapper, name: string): StudioToolbar
return self.Plugin:CreateToolbar(name)
end,

#

and here's the toolbar:


local toolbar = wrapper:CreateToolbar("Test")

prisma peak
#

of the plugin wrapper?

#

or which module?

dull hatch
prisma peak
#

ok

#

im still getting the same error here:

return self.Plugin:CreateToolbar(name)

it says that it's nil

dull hatch
#

on Roblox and i can see whats wrong

prisma peak
#

ok

#

I added you

dull hatch
#

ok now u can add me to the test

dull hatch
prisma peak
#

no not yet

#

gimme like 10 seconds

#

I did now

dull hatch
#

ok did u publish the plugin as a plugin

prisma peak
#

nooooooo how do i do that?

#

nevermind I found out how to

#

wiat local plugin or plugin?

dull hatch
#

for a test

dull hatch
#

then publish as the one u did

prisma peak
#

wait what?

#

as publish?

dull hatch
#

then manage plugins

dull hatch
prisma peak
#

so what do I do hold up

dull hatch
prisma peak
#

as local plugin or just as a normal plugin?

dull hatch
#

normal

prisma peak
#

ok

dull hatch
# dull hatch

if u already did that for public u whould need to hit this

prisma peak
#

ok

#

now that i published it what do I do again? sorry 😅

hollow shoalBOT
#

studio** You are now Level 6! **studio

dull hatch
prisma peak
#

toolbar?

dull hatch
#

wait toolbox

prisma peak
#

oh

#

yeah

dull hatch
#

as in ur inventory

prisma peak
#

ok

dull hatch
#

then scroll down to ur plugin

#

as in this then what u named it

#

then press it then install plugin

prisma peak
#

ok

dull hatch
#

it would install what u made

prisma peak
#

wow

#

ok

dull hatch
#

plugins Manage Plugins

#

then u should see

dull hatch
prisma peak
#

IT WORKS!

#

how would you add something like this:

dull hatch
prisma peak
#

actually nvm

#

i think roblox's new ui changed it

dull hatch
#

i think it did lol

prisma peak
#

before when you clicked a plugin, for some plugins they had a dropdown menu where you can click different parts

#

for example if you had a weld plugin, the dropdown would be like "weld in place" or "weld to joint"

dull hatch
# prisma peak for example if you had a weld plugin, the dropdown would be like "weld in place"...

ok try this for a mini test```lua
local PluginWrapper = require(script.PluginWrapper)
local wrapper = PluginWrapper.new(plugin)
local toolbar = wrapper:CreateToolbar("Test")
local button = wrapper:CreateButton(toolbar, "Test", "Opens Test", "")
local button2 = wrapper:CreateButton(toolbar, 'NotifyTest', 'Click Test', '')

local dockInfo = DockWidgetPluginGuiInfo.new(
Enum.InitialDockState.Float,
false, true,
350, 420, -- Default size
250, 200 -- Min size
)
local widget = wrapper:CreateWidget("Test", dockInfo)
widget.Gui.Title = "🎨 Test Widget"

wrapper:Clicked("Test", function()
widget:Toggle()
print('Hi')
end)

wrapper:Clicked('NotifyTest', function()
wrapper:Notify('Test notification', Color3.new(0, 1, 0))
end)```

#

since i added the Notify()