Replay Details Script

shows additional information in replays

当前为 2019-06-17 提交的版本,查看 最新版本

  1. // ==UserScript==
  2. // @name Replay Details Script
  3. // @namespace http://tampermonkey.net/
  4. // @version 0.1
  5. // @description shows additional information in replays
  6. // @author Oki
  7. // @match https://*.jstris.jezevec10.com/*
  8. // @grant none
  9. // ==/UserScript==
  10.  
  11. /**************************
  12. Replay Details Script
  13. **************************/
  14.  
  15. (function() {
  16. window.addEventListener('load', function(){
  17.  
  18. var repDhold=document.createElement("div");
  19. repDhold.id="repDHolder";
  20. repDhold.style.position="absolute"
  21. repDhold.style.left = (myCanvas.getBoundingClientRect().left - 500) + "px";
  22. repDhold.style.top = (myCanvas.getBoundingClientRect().top + 100) + "px";
  23. document.body.appendChild(repDhold);
  24.  
  25. var fRepD = '<style>#repDT {border-collapse:collapse;text-align:left}.repD {border:1px solid white;padding:5px}</style><table id="repDT">'
  26.  
  27. var website = "jstris.jezevec10.com"
  28. var url = window.location.href
  29. var parts = url.split("/")
  30.  
  31. if(parts[3]=="replay" && parts[2].endsWith(website)){
  32.  
  33.  
  34. fetch("https://"+parts[2]+"/replay/data?id="+ (parts.length==6?(parts[5]+"&live=1"):(parts[4])))
  35. .then(function(response) {
  36. return response.json();
  37. })
  38. .then(function(jsonResponse) {
  39.  
  40. var keys = Object.keys(jsonResponse.c)
  41.  
  42. for (var i = 0; i < keys.length; i++) {
  43. var key=keys[i]
  44. var add=[key,jsonResponse.c[key]]
  45.  
  46. if(key=="softDropId"){
  47. add[1]="Slow9Medium9Fast9Ultra9Instant".split(9)[add[1]]
  48. }
  49. if(key=="gameEnd" || key=="gameStart"){
  50. add[1]=(""+new Date(add[1])).split(" ").splice(0,5)
  51. }
  52. if(key=="v"){add[0]="version"}
  53. if(key=="bs"){add[0]="blockskin id"}
  54. if(key=="se"){add[0]="sound effects id"}
  55. if(key=="map"){add[1]="<a href='https://jstris.jezevec10.com/map/"+add[1]+"'>"+add[1]+"</a>"}
  56.  
  57. fRepD+=`<tr><td class="repD">${add[0]}</td><td class="repD">${add[1]}</td></tr>`
  58. }
  59.  
  60. repDHolder.innerHTML = fRepD+"</table>"
  61. });
  62. }
  63.  
  64. });
  65. })();