Advertisement
Sugisaki

PATI RePaju

May 12th, 2017
189
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pawn 2.04 KB | None | 0 0
  1. #include <amxmodx>
  2. #include <adv_vault>
  3.  
  4. #define PLUGIN  "New Plug-In"
  5. #define VERSION "1.0"
  6. #define AUTHOR  "Sugisaki"
  7.  
  8. #define VAULT "mapas"
  9.  
  10. enum _:FILEDS
  11. {
  12.     VECES_JUGADAS,
  13.     MAX
  14. }
  15. new g_field[MAX]
  16. new g_vault
  17. new Array:Maps
  18. public plugin_init()
  19. {
  20.     register_plugin(PLUGIN, VERSION, AUTHOR)
  21.  
  22.     register_clcmd("say t", "pfn_test")
  23.  
  24.     g_vault = adv_vault_open(VAULT)
  25.     g_field[VECES_JUGADAS] = adv_vault_register_field(g_vault, "veces_jugadas")
  26.     adv_vault_init(g_vault)
  27.  
  28.     Maps = ArrayCreate(128)
  29.     new file[] = "mapcycle.txt"
  30.     if(!file_exists(file))
  31.     {
  32.         log_amx("Archivo %s no existe", file);
  33.         return
  34.     }
  35.     new fh = fopen(file, "r")
  36.     if(!fh)
  37.     {
  38.         log_amx("Error al abrir el archivo %s", file)
  39.         return
  40.     }
  41.     new line[40]
  42.     new tmp[128]
  43.     while(!feof(fh))
  44.     {
  45.         fgets(fh, line, charsmax(line))
  46.         trim(line)
  47.         if(!line[0] ||line[0] == ';')
  48.         {
  49.             continue;
  50.         }
  51.         formatex(tmp, charsmax(tmp), "maps/%s.bsp", line)
  52.         if(file_exists(tmp))
  53.         {
  54.             ArrayPushString(Maps, line)
  55.         }
  56.     }
  57.     fclose(fh)
  58.  
  59.     // Obtengo las veces jugadas del mapa actual, le sumo 1 y lo guardo bitch
  60.     new c_map[40]
  61.     get_mapname(c_map, charsmax(c_map))
  62.     new get = load_time_played(c_map)
  63.     adv_vault_set_start(g_vault)
  64.     adv_vault_set_field(g_vault, g_field[VECES_JUGADAS], get + 1)
  65.     adv_vault_set_end(g_vault, 0, c_map)
  66. }
  67. stock load_time_played(map[])
  68. {
  69.     if(adv_vault_get_prepare(g_vault, 0, map))
  70.     {
  71.         return adv_vault_get_field(g_vault, g_field[VECES_JUGADAS])
  72.     }
  73.     return 0
  74. }
  75. public pfn_test(id)
  76. {
  77.     new menu = menu_create("\wMapas", "mh_maps")
  78.     new sz[128], map[40]
  79.     for(new i = 0 ; i < ArraySize(Maps) ; i++)
  80.     {
  81.         ArrayGetString(Maps, i, map, charsmax(map))
  82.         formatex(sz, charsmax(sz), "%s (%i)", map, load_time_played(map))
  83.         menu_additem(menu, sz)
  84.     }
  85.     menu_setprop(menu, MPROP_EXIT, MEXIT_NEVER)
  86.     menu_display(id, menu)
  87. }
  88. public mh_maps(id, menu, item)
  89. {
  90.     if(item == MENU_EXIT)
  91.     {
  92.         menu_destroy(menu)
  93.     }
  94.     menu_destroy(menu)
  95.     server_cmd("changelevel %a", ArrayGetStringHandle(Maps, item))
  96.  
  97. }
  98. public plugin_end()
  99. {
  100.     ArrayDestroy(Maps)
  101. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement