@@ -165,11 +165,14 @@ void SwiftlyPluginManagerList(CPlayerSlot *slot, CCommandContext context)
165165
166166 PrintToClientOrConsole (slot, " Plugins List" , " Showing below %02d plugins loaded:\n " , loadedPlugins);
167167 uint32 showingIdx = 0 ;
168+ std::vector<std::string> errors;
168169 for (uint32 i = 0 ; i < plugins.size (); i++)
169170 {
170171 Plugin *plugin = plugins[i];
171172 if (plugin == nullptr )
172173 continue ;
174+ if (plugin->err .size () > 0 )
175+ errors.push_back (string_format (" Plugin '%s': %s" , plugin->GetName ().c_str (), plugin->err .c_str ()));
173176 if (!plugin->IsPluginLoaded ())
174177 continue ;
175178
@@ -187,6 +190,14 @@ void SwiftlyPluginManagerList(CPlayerSlot *slot, CCommandContext context)
187190 plugin->ExecuteFunctionWithReturn <const char *, GetPlugin>(" GetPluginAuthor" ),
188191 website == " " ? " " : string_format (" ( %s )" , website.c_str ()).c_str ());
189192 }
193+ if (errors.size () && slot->Get () == -1 )
194+ {
195+ PrintToClientOrConsole (slot, " Plugins List" , " Plugin load errors:\n " );
196+ for (const std::string err : errors)
197+ PrintToClientOrConsole (slot, " Plugins List" , " %s\n " , err.c_str ());
198+
199+ errors.clear ();
200+ }
190201}
191202
192203void SwiftlyPluginManagerInfo (CPlayerSlot *slot, CCommandContext context, std::string plugin_name)
0 commit comments