This toolbar cannot create more than one button with id

This still doesn’t fix the issue at hand, I would like to quickly publish and recieve updates on plugins online without the errors popping up. Also saving as a local plugin forces it to be saved as ‘.lua’, the only workaround is to save to file, change the directory of the model, then save script as a local plugin so that the update can be registered. This isn’t ideal and is a lengthy workaround. Thanks for helping anyway. :smile:

Can we please get some sort of response from staff? Starting to really become a pain in studio :rage::face_with_symbols_over_mouth:

I just started getting this error today.

Has there been any update, or progress, on the analysis of this issue?

Edit:
Oddly enough, the messages stopped appearing after about two hours. I was messing with transferring and replacing places around and wonder if I just got myself into some weird state as a result. All seems normal to me at the moment.

I have filed a ticket for this internally, but it will not be fixed until 2020 due to the code freeze. In the meantime, you can make sure you are opening the place from Studio to avoid this.

I would also suggest using Studio instead of the website in general: as far as developer-facing content goes, the website is legacy and not actively maintained. If there is anything that prevents you from using Studio to do the same thing, you should make a feature request, as website developer-facing content is not guaranteed to continue existing in the future.

1 Like

This should be fixed as of yesterday. Apologies for the inconvenience.

1 Like

I’m getting this again for file-installed plugins (with ID ‘cloud_0_…’), and now all of my local plugins are broken.

Is the “Plugins” folder in AppData supposed to be deprecated? I still get this issue as well as this one, and it feels like Roblox doesn’t really want to support offline plugins anymore. The second issue I linked has not been fixed for almost a full year, but I have a lot of older plugins that I still have installed as files within the Plugins folder.

@CycloneUprising @Subcritical_alt

We do still support local plugins. This is a bug introduced by a flag flip yesterday, the flag flip has been reverted.

@DataBrain
So I cannot find a trivial repro on my end (I can still build and run a basic local plugin).
Could you please post an example of a local plugin that was not running (generating errors/exceptions) for me to play with?

I’m not sure which ones were breaking together like this, since the flag flip fixed the issue for me, but here’s a smaller one that was breaking:
AnalyzePartDensity.lua (16.7 KB)

You may have to have two local plugins running at once, since this issue seems to conflate the IDs of two separate plugins; IIRC the error was showing up multiple times with the same ID ‘cloud_0_vip’ or something akin to that (this is the plugin that the error was referencing the ID of multiple times: Core.lua (170.6 KB) )

It could also be the fact that I use the same plugin toolbar (“Databrain’s Plugins”) for multiple different plugins.

I think we figured out what the disconnect was. @EchoReaper suggested it’s because you are opening the place directly from the web (like clicking “edit” on website to edit place), as opposed to opening studio to start page then selecting a place to edit.

When I did the “open from website” version I was able to reproduce problem. (At least ‘a’ problem, not 100% sure it’s yours.

Anyway, punchline:

  • @EchoReaper is the best.
  • We should test launching from website more (when testing I always just open studio and open a place from start page).
  • I have a fix which I hope to get live soon.
3 Likes

Getting this again when opening any place through Roblox Studio. All of my local (id 0) plugins are broken.

I’ve started getting the same error as of a couple of days ago. It seems that all of my local plugins are producing this error, although all the errors give the id of the same plugin. When I remove that plugin, the error ids just point to another plugin. It’s like it loads one plugin, then tries to load the rest under the same id. Because of this, only 1 of my local plugins will end up loading when I open a place, and the rest don’t show up at all. The one that does load works just fine, however, so there’s that.
Also, this happens not just when I open a place from a browser, but also when I open Studio first then select a place.

@CycloneUprising @Subcritical_alt Most of my plugins are broken until this gets fixed

Will spend some time on this on Monday. Will also turn off what I suspect is related FFlag.

Can you post minimal plugin that displays this problem? Like simplest possible example?

I also can’t test to see if this plugin in particular was one that broke because you flipping the flag fixed it, but the first link is a simplified example, and the second link was definitely breaking.

OK now I am little confused:
I have not done anything yet (no fflag flips to turn off FFlag).
So you are saying that the problem seems to be fixed now?
If so, it must be unrelated to the FFlag it was related to last time, as that FFlag is still on in prod.

Please clarify?

Yes, it did seem to fix itself for some reason. So if you didn’t change any flags, that’s really weird, and I’m not sure what fixed it.

@DataBrain
Fixed itself over the weekend, or mid-day Monday? That’s when I reverted the FFlag.

@DataBrain Just curious:
“It could also be the fact that I use the same plugin toolbar (“Databrain’s Plugins”) for multiple different plugins.”
How do you do this? When I write two different local plugins and both create a toolbar with same name, e.g.
local toolbar = plugin:CreateToolbar(“Shared: Two Button Toolbar”)
it just winds up making two different toolbars that happen to have the same name.
As far as I know, there is no support for two different plugins writing buttons into the same toolbar.
How are you doing this? Or am I misunderstanding what you’re saying?

If you somehow make the toolbar referable from other scripts, you can just call CreateButton on it from another plugin. This can be done by parenting it to CoreGui, tagging it with CollectionService, etc.

Plugin 1:

local tb=plugin:CreateToolbar("My Super Cool Toolbar")
tb.Name="My Super Cool Toolbar"
tb.Parent=game:GetService("CoreGui")
tb:CreateButton("plug1","this is a test","")

Plugin 2:

local tb=game:GetService("CoreGui"):WaitForChild("My Super Cool Toolbar")
tb:CreateButton("Button2","test","")

image

And here’s a function that can be used in place of CreateToolbar if the user isn’t guaranteed to have both installed:

function createToolbar(name)
    if not game:GetService("CoreGui"):FindFirstChild(name.."TB") then
        local tb=plugin:CreateToolbar(name)
        tb.Name=name.."TB"
        tb.Parent=game:GetService("CoreGui")
        return tb
    else
        return game:GetService("CoreGui"):FindFirstChild(name.."TB")
    end
end