I created Socket because I wanted a quick way to write plugins, without filling the plugin toolbar with unintelligible buttons. This led me down the path of creating a macro manager which is:
Easy to use
Quick to create + run your own macros, defined by ModuleScripts
Is there a workaround for the fact that we are we unable to yield within the macro function? I would like to run a command to generate a large map with terrain, and need waits between generating chunks etc.
Also might I suggest (a new setting) to only activate the plugin on startup if the “SocketPlugin” folder was already added to ServerStorage? This way it won’t get added to every place I join if it was previously open.
Is there a workaround for the fact that we are we unable to yield within the macro function? I would like to run a command to generate a large map with terrain, and need waits between generating chunks etc.
Great question! Yes this is possible using the task library
22:35:03.944 This - Studio
22:35:04.959 Function - Studio
22:35:05.961 Yields! - Studio
Edit: Bit less nesting version:
local function macroFunction(macro: PopulatedMacroDefinition, plugin: Plugin)
print("This")
task.wait(1)
print("Function")
task.wait(1)
print("Yields!")
end
local macroDefinition: MacroDefinition = {
Name = "Macro",
Group = "Macros",
Icon = "đź’ˇ",
Description = "Macro Description",
Function = function(...)
task.defer(macroFunction, ...)
end,
}
.
Also might I suggest (a new setting) to only activate the plugin on startup if the “SocketPlugin” folder was already added to ServerStorage? This way it won’t get added to every place I join if it was previously open.
This is a great suggestion! I was able to quickly add this as default behaviour (no setting to toggle this). See the changelog for v1.2.4: Changelog | Socket
You’ll just need to update your plugin to get these changes thank you for your comment!
Great plugin, however, could you consider using a more mature font that fits in with the studio style a little more? Comic sans looks a little out of place
This is a really nice and useful plugin. I love the amount of customization just for the UI itself, and obviously the infinite possibilities of macros.
There are some small things that I would like to be changed though.
Why do the default macros get added back after removing them when you open the widget? I removed the ones I dont need, only for them to come back a second later.
Nevermind, there is a setting for that already.
Maybe hide the “Fields” tab if there arent any fields for that macro? Same thing with the “Keybind” tab if its blank, since there isnt a way to set a keybind from the UI as far as I can tell.
Also, got this error after trying to insert an asset with the default macro:
Not sure what happened there, since there is automatic validation
This is a nice UX suggestion. It’s disabled by default, but there is now a setting you can enable that will hide “unused” fields and keybind on the UI. See: SocketSettings | Socket
Always really appreciate error reports thank you. This error was thrown because of a typo for an error message. The error message in question was that the thread was being yielded in the macro function - see: Socket | A Macro Manager Plugin - #11 by JoelBrd