Extend amxx list command (#377)

This commit is contained in:
KliPPy 2016-06-26 14:04:33 +02:00 committed by Vincent Herbet
parent 861011fa24
commit a53e7905db

View File

@ -13,6 +13,14 @@
void amx_command() void amx_command()
{ {
const char* cmd = CMD_ARGV(1); const char* cmd = CMD_ARGV(1);
const char* search = nullptr;
if (CMD_ARGC() > 2)
{
search = CMD_ARGV(2);
// Ignore empty search criteria
if (!(*search))
search = nullptr;
}
if (!strcmp(cmd, "plugins") || !strcmp(cmd, "list")) if (!strcmp(cmd, "plugins") || !strcmp(cmd, "list"))
{ {
@ -25,12 +33,15 @@ void amx_command()
CPluginMngr::iterator a = g_plugins.begin(); CPluginMngr::iterator a = g_plugins.begin();
while (a) while (a)
{
if (!search || stristr((*a).getTitle(), search) != nullptr || stristr((*a).getName(), search) != nullptr || stristr((*a).getAuthor(), search) != nullptr)
{ {
++plugins; ++plugins;
if ((*a).isValid() && !(*a).isPaused()) if ((*a).isValid() && !(*a).isPaused())
++running; ++running;
print_srvconsole(" [%3d] %-23.22s %-11.10s %-17.16s %-16.15s %-9.8s\n", plugins, (*a).getTitle(), (*a).getVersion(), (*a).getAuthor(), (*a).getName(), (*a).getStatus()); print_srvconsole(" [%3d] %-23.22s %-11.10s %-17.16s %-16.15s %-9.8s\n", plugins, (*a).getTitle(), (*a).getVersion(), (*a).getAuthor(), (*a).getName(), (*a).getStatus());
}
++a; ++a;
} }
@ -38,15 +49,13 @@ void amx_command()
int num = 0; int num = 0;
while (a) while (a)
{
if (!search || stristr((*a).getTitle(), search) != nullptr || stristr((*a).getName(), search) != nullptr || stristr((*a).getAuthor(), search) != nullptr)
{ {
num++; num++;
if ((*a).getStatusCode() == ps_bad_load) if ((*a).getStatusCode() == ps_bad_load)
{
//error
print_srvconsole("(%3d) Load fails: %s\n", num, (*a).getError()); print_srvconsole("(%3d) Load fails: %s\n", num, (*a).getError());
} else if ((*a).getStatusCode() == ps_error)
else if ((*a).getStatusCode() == ps_error) {
//error
print_srvconsole("(%3d) Error: %s\n", num, (*a).getError()); print_srvconsole("(%3d) Error: %s\n", num, (*a).getError());
} }
++a; ++a;
@ -237,7 +246,7 @@ void amx_command()
print_srvconsole("Commands:\n"); print_srvconsole("Commands:\n");
print_srvconsole(" version - display amxx version info\n"); print_srvconsole(" version - display amxx version info\n");
print_srvconsole(" gpl - print the license\n"); print_srvconsole(" gpl - print the license\n");
print_srvconsole(" plugins - list plugins currently loaded\n"); print_srvconsole(" plugins [ criteria ] - list plugins currently loaded or ones matching given search criteria\n");
print_srvconsole(" modules - list modules currently loaded\n"); print_srvconsole(" modules - list modules currently loaded\n");
print_srvconsole(" cvars [ plugin ] [ index ] - list cvars handled by amxx or show information about a cvar if index is provided\n"); print_srvconsole(" cvars [ plugin ] [ index ] - list cvars handled by amxx or show information about a cvar if index is provided\n");
print_srvconsole(" cmds [ plugin ] - list commands registered by plugins\n"); print_srvconsole(" cmds [ plugin ] - list commands registered by plugins\n");