Show Advanced button stats
当前为
// ==UserScript==
// @name Advanced button stats
// @namespace http://bwochinski.com/
// @version 0.2
// @description Show Advanced button stats
// @author bwochinski
// @match *://www.reddit.com/r/thebutton/
// @grant none
// ==/UserScript==
//CONFIG
var advInterval = 500; //update interval
var advKeepAmt = 30; //history to keep (in seconds)
//Imoprtant variables
var parHist = [];
var histLen = (1000 / advInterval) * advKeepAmt;
$(".thebutton-form").append("<div id='advButtonStats' style='position: relative; float: none; padding-top: 10px; width: 200px;'><div id='advBOPS' style='Font: 18px Verdana normal black;'>BOPS:</div><div id='advPPM' style='Font: 18px Verdana normal black;'>Presses/min:</div><div id='advFlair' style='Font: 18px Verdana normal;'>Current Flair:</div></div>");
function advStatUpdate() {
if (parHist.length > histLen) {
parHist.pop();
}
var advText = $("span.thebutton-participants").text().replace(",","");
parHist.unshift(parseInt(advText));
//console.log(parHist);
var curBOPS = (parHist[0] - parHist[parHist.length - 1]) / (parHist.length / (1000 / advInterval));
var curPPM = (parHist[0] - parHist[parHist.length - 1]) * (60 / advKeepAmt) * (advKeepAmt / (parHist.length / (1000 / advInterval)));
var curTime = parseInt($("#thebutton-s-10s").text() + $("#thebutton-s-1s").text());
$("#advBOPS").html("<b>BOPS:</b> " + curBOPS.toFixed(5));
$("#advPPM").html("<b>Presses/min:</b> " + Math.round(curPPM));
$("#advFlair").html("<b>Current Flair:</b> <span class='flair flair-press-" + String(curTime + 9).substring(0,1) + "'>" + curTime + "s</span>");
}
advStatUpdate();
setInterval(advStatUpdate, advInterval);