// ==UserScript== // @name Follow Player // @namespace pbr // @description Skip replays that don't have a selected player // @include http://goallineblitz.com/game/replay.pl?game_id=*&pbp_id=* // @include http://glb.warriorgeneral.com/game/replay.pl?game_id=*&pbp_id=* // @copyright 2010, pabst // @license (CC) Attribution Share Alike; http://creativecommons.org/licenses/by-sa/3.0/ // @version 13.12.29 // @require http://userscripts.org/scripts/source/54630.user.js // @downloadURL none // ==/UserScript== var scriptName = "Follow Player"; var scriptVersion = "13.12.29"; var scriptWebpage = "http://userscripts.org/scripts/show/88782"; var lastSelected = null; var playerIds = new Array(); var playerNames = new Array(); var playerReplays = new Array(); var plays = null; window.setTimeout( function() { init(true); }, 1000); function activate(e) { console.log("activate follow"); lock(); pbp(); if (document.getElementById("player_select") == null) { createControls(); } removePlayers(); addPlayers(); unlock(); } function pbp() { var tag = document.getElementById("pbp"); if (tag == null) { setTimeout(pbp, 300); } else if (tag.childNodes.length == 0) { setTimeout(pbp, 300); } else { var p = new Array(); var plText = tag.innerHTML.split("pbp_id="); for (var i=1; i 0) { document.getElementById("player_select").remove(0); } } function addPlayers() { var select = document.getElementById("player_select"); for (p in unsafeWindow.players) { var pos = unsafeWindow.players[p].position; var name = unsafeWindow.players[p].name; var id = p; var option = document.createElement("option"); option.text = name; var pos = null; for (var i=0; i option.text) { pos = select.options[i]; break; } } select.add(option, pos); } var others = false; for (var j=0; j= currentPlay) { var prevPlay = data[i-1]; console.log("prev play is : "+prevPlay); for (var j=0; j currentPlay) { var nextPlay = data[i]; console.log("next play is : "+nextPlay); for (var j=0; j