Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <amxmodx>
- #include <adv_vault>
- #define PLUGIN "New Plug-In"
- #define VERSION "1.0"
- #define AUTHOR "Sugisaki"
- #define VAULT "mapas"
- enum _:FILEDS
- {
- VECES_JUGADAS,
- MAX
- }
- new g_field[MAX]
- new g_vault
- new Array:Maps
- public plugin_init()
- {
- register_plugin(PLUGIN, VERSION, AUTHOR)
- register_clcmd("say t", "pfn_test")
- g_vault = adv_vault_open(VAULT)
- g_field[VECES_JUGADAS] = adv_vault_register_field(g_vault, "veces_jugadas")
- adv_vault_init(g_vault)
- Maps = ArrayCreate(128)
- new file[] = "mapcycle.txt"
- if(!file_exists(file))
- {
- log_amx("Archivo %s no existe", file);
- return
- }
- new fh = fopen(file, "r")
- if(!fh)
- {
- log_amx("Error al abrir el archivo %s", file)
- return
- }
- new line[40]
- new tmp[128]
- while(!feof(fh))
- {
- fgets(fh, line, charsmax(line))
- trim(line)
- if(!line[0] ||line[0] == ';')
- {
- continue;
- }
- formatex(tmp, charsmax(tmp), "maps/%s.bsp", line)
- if(file_exists(tmp))
- {
- ArrayPushString(Maps, line)
- }
- }
- fclose(fh)
- // Obtengo las veces jugadas del mapa actual, le sumo 1 y lo guardo bitch
- new c_map[40]
- get_mapname(c_map, charsmax(c_map))
- new get = load_time_played(c_map)
- adv_vault_set_start(g_vault)
- adv_vault_set_field(g_vault, g_field[VECES_JUGADAS], get + 1)
- adv_vault_set_end(g_vault, 0, c_map)
- }
- stock load_time_played(map[])
- {
- if(adv_vault_get_prepare(g_vault, 0, map))
- {
- return adv_vault_get_field(g_vault, g_field[VECES_JUGADAS])
- }
- return 0
- }
- public pfn_test(id)
- {
- new menu = menu_create("\wMapas", "mh_maps")
- new sz[128], map[40]
- for(new i = 0 ; i < ArraySize(Maps) ; i++)
- {
- ArrayGetString(Maps, i, map, charsmax(map))
- formatex(sz, charsmax(sz), "%s (%i)", map, load_time_played(map))
- menu_additem(menu, sz)
- }
- menu_setprop(menu, MPROP_EXIT, MEXIT_NEVER)
- menu_display(id, menu)
- }
- public mh_maps(id, menu, item)
- {
- if(item == MENU_EXIT)
- {
- menu_destroy(menu)
- }
- menu_destroy(menu)
- server_cmd("changelevel %a", ArrayGetStringHandle(Maps, item))
- }
- public plugin_end()
- {
- ArrayDestroy(Maps)
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement