Advertisement
Guest User

Untitled

a guest
Sep 19th, 2016
71
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. // ==UserScript==
  2. // @name         Arcturus Player Count
  3. // @namespace    Muller_APC
  4. // @version      0.4
  5. // @description  Counts how many times you've played against a certain opponent
  6. // @author       Muller
  7. // @match        http://arcturus.su/tenhou/ranking/ranking.pl?*
  8. // @homepage     http://osamuko.com
  9. // @grant        none
  10. // ==/UserScript==
  11. // I take no responsibility for any XSS exploitations, use at your own risk
  12.  
  13. var MINIMUM_THRESHOLD = 2; // adjust as desired
  14. var IGNORE_NONAME = true; // true or false
  15.  
  16. // http://stackoverflow.com/a/901144
  17. function getParameterByName(name, url) {
  18.     if (!url) url = window.location.href;
  19.     name = name.replace(/[\[\]]/g, "\\$&");
  20.     var regex = new RegExp("[?&]" + name + "(=([^&#]*)|&|#|$)"),
  21.         results = regex.exec(url);
  22.     if (!results) return null;
  23.     if (!results[2]) return '';
  24.     return decodeURIComponent(results[2].replace(/\+/g, " "));
  25. }
  26.  
  27. (function() {
  28.     'use strict';
  29.     var records = document.getElementById('records').innerHTML.split("<br>");
  30.     var playerrecords = [];
  31.     var players = [];
  32.     var i, j = 0;
  33.     for (i = 0; i < records.length; i++) {
  34.         var record = records[i].split("|");
  35.         for (j = 0; j < record.length; j++) {
  36.             if ((j + 1) % 9 === 0) {
  37.                 playerrecords.push(record[j]);
  38.             }
  39.         }
  40.     }
  41.     for (i = 0; i < playerrecords.length; i++) {
  42.         var currentplayers = playerrecords[i].split(".0)");
  43.         for (j = 0; j < currentplayers.length; j++) {
  44.             if (currentplayers[j].length > 0) {
  45.                 var currentplayer = currentplayers[j].trim();
  46.                 var index = currentplayer.indexOf("(+");
  47.                 if (index < 0)
  48.                     index = currentplayer.indexOf("(-");
  49.                 currentplayer = currentplayer.substr(0, index);
  50.                 players.push(currentplayer);
  51.             }
  52.         }
  53.     }
  54.     var count = {};
  55.     for(i = 0; i < players.length; i++) {
  56.         if(!count[players[i]])
  57.             count[players[i]] = 0;
  58.         count[players[i]]++;
  59.     }
  60.     var sorted = [];
  61.     for (var player in count) {
  62.         sorted.push([player, count[player]]);
  63.         sorted.sort(
  64.             function(a, b) {
  65.                 return b[1] - a[1];
  66.             }
  67.         );
  68.     }
  69.     for (i = 0; i < sorted.length; i++) {
  70.         var times = sorted[i][1];
  71.         if (times < MINIMUM_THRESHOLD)
  72.             break;
  73.         var name = sorted[i][0];
  74.         if (name == getParameterByName("name"))
  75.             continue;
  76.         else if (IGNORE_NONAME && name == "NoName")
  77.             continue;
  78.         console.log(name + ": " + times);
  79.     }
  80.     return "END";
  81. })();
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement