Code:
#include <amxmodx>
#include <amxmisc>
#include <fvault>
new const g_vault_name[] = "popular_maps";
public plugin_init()
{
register_concmd("amx_popular_maps", "CmdMaps", ADMIN_MAP);
new mapname[64];
get_mapname(mapname, sizeof(mapname) - 1);
new info[10];
fvault_get_data(g_vault_name, mapname, info, sizeof(info) - 1);
num_to_str(str_to_num(info) + 1, info, sizeof(info) - 1);
fvault_set_data(g_vault_name, mapname, info);
}
public CmdMaps(client, level, cid)
{
if( !cmd_access(client, level, cid, 1) )
{
return PLUGIN_HANDLED;
}
new Array:maps = ArrayCreate();
new Array:count = ArrayCreate();
new total;
new size = fvault_size(g_vault_name);
new mapname[64], info[10];
for( new i = 0; i < size; i++ )
{
fvault_get_keyname(g_vault_name, i, mapname, sizeof(mapname) - 1);
fvault_get_data(g_vault_name, mapname, info, sizeof(info) - 1);
ArrayPushString(maps, mapname);
ArrayPushCell(count, str_to_num(info));
total++;
}
// i got lazy but...
// just sort them by count, and you will have all 5.
// "maps" contains all maps ever played on the server
// "count" contains the amount of times played for each map
return PLUGIN_HANDLED;
}