Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // ==UserScript==
- // @name Arcturus Player Count
- // @namespace Muller_APC
- // @version 0.4
- // @description Counts how many times you've played against a certain opponent
- // @author Muller
- // @match http://arcturus.su/tenhou/ranking/ranking.pl?*
- // @homepage http://osamuko.com
- // @grant none
- // ==/UserScript==
- // I take no responsibility for any XSS exploitations, use at your own risk
- var MINIMUM_THRESHOLD = 2; // adjust as desired
- var IGNORE_NONAME = true; // true or false
- // http://stackoverflow.com/a/901144
- function getParameterByName(name, url) {
- if (!url) url = window.location.href;
- name = name.replace(/[\[\]]/g, "\\$&");
- var regex = new RegExp("[?&]" + name + "(=([^&#]*)|&|#|$)"),
- results = regex.exec(url);
- if (!results) return null;
- if (!results[2]) return '';
- return decodeURIComponent(results[2].replace(/\+/g, " "));
- }
- (function() {
- 'use strict';
- var records = document.getElementById('records').innerHTML.split("<br>");
- var playerrecords = [];
- var players = [];
- var i, j = 0;
- for (i = 0; i < records.length; i++) {
- var record = records[i].split("|");
- for (j = 0; j < record.length; j++) {
- if ((j + 1) % 9 === 0) {
- playerrecords.push(record[j]);
- }
- }
- }
- for (i = 0; i < playerrecords.length; i++) {
- var currentplayers = playerrecords[i].split(".0)");
- for (j = 0; j < currentplayers.length; j++) {
- if (currentplayers[j].length > 0) {
- var currentplayer = currentplayers[j].trim();
- var index = currentplayer.indexOf("(+");
- if (index < 0)
- index = currentplayer.indexOf("(-");
- currentplayer = currentplayer.substr(0, index);
- players.push(currentplayer);
- }
- }
- }
- var count = {};
- for(i = 0; i < players.length; i++) {
- if(!count[players[i]])
- count[players[i]] = 0;
- count[players[i]]++;
- }
- var sorted = [];
- for (var player in count) {
- sorted.push([player, count[player]]);
- sorted.sort(
- function(a, b) {
- return b[1] - a[1];
- }
- );
- }
- for (i = 0; i < sorted.length; i++) {
- var times = sorted[i][1];
- if (times < MINIMUM_THRESHOLD)
- break;
- var name = sorted[i][0];
- if (name == getParameterByName("name"))
- continue;
- else if (IGNORE_NONAME && name == "NoName")
- continue;
- console.log(name + ": " + times);
- }
- return "END";
- })();
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement