Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // ==UserScript==
- // @name osump_rank
- // @namespace osump_rank
- // @description Adds ranks of players in osu mp links
- // @include http://osu.ppy.sh/mp/*
- // @include https://osu.ppy.sh/mp/*
- // @version 1
- // @grant none
- // ==/UserScript==
- body = document.getElementsByTagName("body")[0];
- tables = body.getElementsByTagName("table");
- var regexp = /([0-9]+)/;
- var regexpusr = /<a href=\"\/u\/[0-9]+\">(.*)<\/a>.*/;
- var bestscore = 0;
- var bestname = "";
- for(i = 0; i < tables.length; i++)
- {
- cells = tables[i].getElementsByTagName("td"); // change dis to be more eff
- rows = tables[i].getElementsByTagName("tr"); // or maybe not, too lazy ;_;
- players = rows.length - 1;
- scoresNpeeps = [[]];
- bestscore = 0;
- bestname = "";
- for(x = 0; x < players; x++){
- scoresNpeeps[x][0] = Number(regexp.exec(tables[i].rows[x+1].cells[1].innerHTML.replace(/[,]/g, ""))[1]); //score
- scoresNpeeps[x][1] = regexpusr.exec(tables[i].rows[x+1].cells[3].innerHTML)[1];
- }
- scoresNpeeps.sort(sortBy);
- /*
- for(y = 0; y < cells.length; ++y)
- {
- if(cells[y].innerHTML.match(/<b>.*<\/b>/) != null)
- {
- var current_score_temp = cells[y].innerHTML.replace(/[,]/g, "");
- current_score = Number(regexp.exec(current_score_temp)[1]);
- if(bestscore < current_score)
- {
- bestscore = current_score;
- var name = regexpusr.exec(cells[y+2].innerHTML)[1];
- bestname = name;
- }
- }
- }*/
- var a = document.createElement("div");
- a.innerHTML = "<strong>Winner:</strong> " + scoresNpeeps[0][1] + " (Score: " + numberWithCommas(scoresNpeeps[0][0]) + ")";
- tables[i].parentNode.insertBefore(a, tables[i].previousSibling);
- }
- function sortBy(a,b) {
- return a[0] > b[0];
- }
- function numberWithCommas(x) {
- var parts = x.toString().split(".");
- parts[0] = parts[0].replace(/\B(?=(\d{3})+(?!\d))/g, ",");
- return parts.join(".");
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement