// ==UserScript== // @name Replay Rewrite - Player Paths On Replay // @description Adds player movement trails to GLB replays viewed with the replay rewrite script. // @namespace pbr/ppor // @include https://*goallineblitz.com/game/replay.pl?game_id=*&pbp_id=* // @include https://glb.warriorgeneral.com/game/replay.pl?game_id=*&pbp_id=* // @copyright 2009, pabst // @license (CC) Attribution Share Alike; http://creativecommons.org/licenses/by-sa/3.0/ // @version 20.12.303 // @require https://greasyfork.org/scripts/418636-libpbr2-1/code/libpbr21.js?version=880565 // @downloadURL https://update.greasyfork.icu/scripts/418635/Replay%20Rewrite%20-%20Player%20Paths%20On%20Replay.user.js // @updateURL https://update.greasyfork.icu/scripts/418635/Replay%20Rewrite%20-%20Player%20Paths%20On%20Replay.meta.js // ==/UserScript== /* * * based on code by Cabrasher * pabst did this 08/06/26+ * * * nikkoum updated to point to https and ditto for the library ... */ var scriptName = "Player Paths"; var scriptVersion = "14.01.30"; var scriptWebpage = "http://userscripts.org/scripts/show/54519"; var tracedPlayers = new Array(); var step = 2; window.setTimeout( function() { init(); }, 100); function activate(e) { console.log("activate player tracing"); lock(); tracemain(); unlock(); } function tracemain() { var icons = document.getElementsByClassName("o_icon"); for (var i=0; i 0) { paths[0].parentNode.removeChild(paths[0]); paths = document.getElementsByClassName("player_path"); } var o = document.getElementsByClassName("o_icon"); for (var i=0; i 0) { var box = inputs[0]; box.parentNode.removeChild(box); } } function playerClicked(elemInput) { //console.log(elemInput.target+" : "+elemInput.target.parentNode.id); var id = elemInput.target.parentNode.id.split("_")[2]; if (document.getElementById("line_"+id) != null) { var d = document.getElementById("line_"+id); d.parentNode.removeChild(d); for (var i=0; i 0) { var mainDiv = document.createElement('div'); mainDiv.className = "player_path"; mainDiv.id = 'line_' + id; mainDiv.style.left = Math.round(minX)+"px"; mainDiv.style.top = Math.round(minY)+"px"; mainDiv.style.width = Math.round((maxX-minX)+1)+"px"; mainDiv.style.height = Math.round((maxY-minY)+1)+"px"; mainDiv.style.zIndex = 500; for (var d=0; d