Advertisement
sullyjhf

Untitled

Apr 20th, 2014
57
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. // ==UserScript==
  2. // @name        osump_rank
  3. // @namespace   osump_rank
  4. // @description Adds ranks of players in osu mp links
  5. // @include     http://osu.ppy.sh/mp/*
  6. // @include     https://osu.ppy.sh/mp/*
  7. // @version     1
  8. // @grant       none
  9. // ==/UserScript==
  10.  
  11.  
  12. body = document.getElementsByTagName("body")[0];
  13. tables = body.getElementsByTagName("table");
  14. var regexp = /([0-9]+)/;
  15. var regexpusr = /<a href=\"\/u\/[0-9]+\">(.*)<\/a>.*/;
  16. var bestscore = 0;
  17. var bestname = "";
  18.  
  19. for(i = 0; i < tables.length; i++)
  20. {
  21.     cells = tables[i].getElementsByTagName("td"); // change dis  to be more eff
  22.     rows = tables[i].getElementsByTagName("tr"); // or maybe not, too lazy ;_;
  23.     players = rows.length - 1;
  24.     scoresNpeeps = [[]];
  25.    
  26.     bestscore = 0;    
  27.     bestname = "";
  28.    
  29.     for(x = 0; x < players; x++){
  30.         scoresNpeeps[x][0] = Number(regexp.exec(tables[i].rows[x+1].cells[1].innerHTML.replace(/[,]/g, ""))[1]); //score
  31.         scoresNpeeps[x][1] = regexpusr.exec(tables[i].rows[x+1].cells[3].innerHTML)[1];
  32.     }
  33.    
  34.     scoresNpeeps.sort(sortBy);
  35.    
  36.    
  37.    
  38.     /*
  39.     for(y = 0; y < cells.length; ++y)
  40.     {
  41.         if(cells[y].innerHTML.match(/<b>.*<\/b>/) != null)
  42.         {
  43.             var current_score_temp = cells[y].innerHTML.replace(/[,]/g, "");
  44.             current_score = Number(regexp.exec(current_score_temp)[1]);
  45.             if(bestscore < current_score)
  46.             {
  47.                 bestscore = current_score;
  48.                 var name = regexpusr.exec(cells[y+2].innerHTML)[1];
  49.                 bestname = name;
  50.             }
  51.            
  52.         }
  53.     }*/    
  54.     var a = document.createElement("div");
  55.     a.innerHTML = "<strong>Winner:</strong> " + scoresNpeeps[0][1] + " (Score: " + numberWithCommas(scoresNpeeps[0][0]) + ")";
  56.    
  57.     tables[i].parentNode.insertBefore(a, tables[i].previousSibling);
  58. }
  59.  
  60. function sortBy(a,b) {
  61.       return a[0] > b[0];
  62. }
  63.  
  64. function numberWithCommas(x) {
  65.     var parts = x.toString().split(".");
  66.     parts[0] = parts[0].replace(/\B(?=(\d{3})+(?!\d))/g, ",");
  67.     return parts.join(".");
  68. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement