// ==UserScript== // @name PTH stats since last // @version 0.5 // @description Displays the changes in stats on PTH // @author Chameleon // @include http*://*passtheheadphones.me/* // @include http*://*passthepopcorn.me/* // @grant GM_getValue // @grant GM_setValue // @namespace https://greasyfork.org/users/87476 // @downloadURL none // ==/UserScript== (function() { 'use strict'; if((window.location.href.indexOf("threadid=1781") != -1 && window.location.host.indexOf('headphones') != -1) || (window.location.href.indexOf("threadid=30532") != -1 && window.location.host.indexOf('popcorn') != -1)) showSettings(); var currentStats = {}; var statspans = document.getElementById('userinfo_stats').querySelectorAll('span'); currentStats.up = parseStats(statspans[0].textContent); currentStats.down = parseStats(statspans[1].textContent); currentStats.ratio = parseFloat(statspans[2].textContent); if(isNaN(currentStats.ratio)) currentStats.ratio = 0; var oldStats = window.localStorage.lastStats; if(!oldStats) oldStats = {up:currentStats.up, down:currentStats.down, ratio:currentStats.ratio}; else oldStats = JSON.parse(oldStats); window.localStorage.lastStats = JSON.stringify(currentStats); var settings = getSettings(); var li=false; if(settings.showBuffer) { li=document.createElement('li'); var before=document.getElementById('stats_ratio'); before.parentNode.insertBefore(li, before); li.innerHTML='Buffer: '+renderStats((currentStats.up/1.05)-currentStats.down)+''; } var change = {up:currentStats.up-oldStats.up, down:currentStats.down-oldStats.down, ratio:Math.round((currentStats.ratio-oldStats.ratio)*100)/100}; if(settings.profileOnly && window.location.href.indexOf(document.getElementById('nav_userinfo').getElementsByTagName('a')[0].href) == -1) return; if(change.up != 0 || settings.noChange) statspans[0].innerHTML += ' ('+renderStats(change.up)+')'; if(change.down != 0 || settings.noChange) statspans[1].innerHTML += ' ('+renderStats(change.down)+')'; if((change.up != 0 || change.down != 0 || settings.noChange) && settings.showBuffer) { var span=li.getElementsByTagName('span')[0]; span.innerHTML += ' ('+renderStats(change.up-change.down)+')'; } if(change.ratio != 0 || settings.noChange) statspans[2].innerHTML += ' ('+change.ratio+')'; if(settings.alert && (change.up != 0 || change.down != 0 || change.ratio != 0)) alert('Up: '+renderStats(change.up)+', Down: '+renderStats(change.down)+', Buffer: '+renderStats((change.up/1.05)-change.down)+', Ratio: '+change.ratio); })(); function showSettings() { var before = document.getElementsByClassName('forum_post')[0]; var div = document.createElement('div'); before.parentNode.insertBefore(div, before); div.setAttribute('style', 'width: 100%; text-align: center; padding-bottom: 10px;'); div.setAttribute('class', 'box'); div.innerHTML = '