Remaining Players Script

Shows number of remaining players

  1. // ==UserScript==
  2. // @name Remaining Players Script
  3. // @namespace http://tampermonkey.net/
  4. // @version 0.1
  5. // @description Shows number of remaining players
  6. // @author Oki
  7. // @match https://*.jstris.jezevec10.com/*
  8. // @grant none
  9. // ==/UserScript==
  10.  
  11. (function() {
  12. 'use strict';
  13.  
  14. window.addEventListener('load', function(){
  15.  
  16.  
  17. /**************************
  18. Remaining Players Script
  19. **************************/
  20.  
  21. if(typeof trim != "function"){var trim=a=>{a=a.slice(0,-1);a=a.substr(a.indexOf("{")+1);return a}}
  22. if(typeof getParams != "function"){var getParams=a=>{var params=a.slice(a.indexOf("(")+1);params=params.substr(0,params.indexOf(")")).split(",");return params}}
  23. if(typeof Game != "undefined"){
  24.  
  25. var aliveHold=document.createElement("div");
  26. aliveHold.id="aliveHolder";
  27. aliveHold.style.position="absolute"
  28. aliveHold.style.left = (myCanvas.getBoundingClientRect().left - 200) + "px";
  29. aliveHold.style.top = (myCanvas.getBoundingClientRect().top + 400) + "px";
  30. document.body.appendChild(aliveHold);
  31.  
  32. var f='<div id="lrem"><div id="aliveNum"></div></div><div id="sprintText"><div id="stLrem" style="display: block;">opponents remaining</div></div>'
  33. aliveHolder.innerHTML = f
  34. aliveHolder.style.display='none'
  35.  
  36. var printAlive = SlotView['prototype']['printSlotPlace'].toString()
  37. var printAliveParams = getParams(printAlive);
  38. printAlive = `aliveHolder.style.display='block';aliveNum.innerHTML=parseInt(this['slot']['gs']['p']['getPlaceColor'](${printAliveParams[0]})['str'])-1;` + trim(printAlive)
  39. SlotView['prototype']['printSlotPlace'] = new Function(...printAliveParams, printAlive);
  40.  
  41. var readyGoAlive = Game['prototype']['restart'].toString()
  42. readyGoAlive = "if(this['pmode']+this['isPmode'](true)+this['isPmode'](false)==0){aliveHolder.style.display='block';aliveNum.innerHTML='all'};" + trim(readyGoAlive)
  43. Game['prototype']['restart'] = new Function(readyGoAlive);
  44.  
  45. }
  46.  
  47. });
  48. })();