Greasy Fork is available in English.

Sploop IO KDR

Adds KDR to the profile stats

  1. // ==UserScript==
  2. // @name Sploop IO KDR
  3. // @namespace lore
  4. // @version beta - v1
  5. // @description Adds KDR to the profile stats
  6. // @author lore
  7. // @license MIT
  8. // @match *://*sploop.io/*
  9. // @grant none
  10. // ==/UserScript==
  11.  
  12. (function() {
  13. 'use strict';
  14.  
  15. function calculateKDR() {
  16. const totalKillsElement = document.getElementById('total-kill');
  17. const totalDeathsElement = document.getElementById('total-death');
  18. const kdrElement = document.getElementById('kdrr');
  19.  
  20. if (totalKillsElement && totalDeathsElement && kdrElement) {
  21. const totalKills = parseInt(totalKillsElement.textContent, 10);
  22. const totalDeaths = parseInt(totalDeathsElement.textContent, 10);
  23.  
  24. if (!isNaN(totalKills) && !isNaN(totalDeaths)) {
  25. const kdr = totalDeaths === 0 ? totalKills : (totalKills / totalDeaths).toFixed(2);
  26. kdrElement.textContent = kdr;
  27. }
  28. }
  29. }
  30.  
  31. function addKDRElement() {
  32. const bestKillElement = document.querySelector('div > div.text-shadowed-3.profile-score[id="best-kill"]').parentElement;
  33.  
  34. if (bestKillElement) {
  35. const kdrElement = document.createElement('div');
  36. kdrElement.innerHTML = `
  37. <div class="text-shadowed-3 profile-score">KDR</div>
  38. <div class="text-shadowed-3 profile-score yellow-text" id="kdrr">0</div>
  39. `;
  40.  
  41. bestKillElement.parentNode.insertBefore(kdrElement, bestKillElement.nextSibling);
  42. setInterval(calculateKDR, 500);
  43. }
  44. }
  45.  
  46. function checkAndAddKDRElement() {
  47. const bestKillElement = document.querySelector('div > div.text-shadowed-3.profile-score[id="best-kill"]');
  48. if (bestKillElement) {
  49. addKDRElement();
  50. observer.disconnect();
  51. }
  52. }
  53.  
  54. const observer = new MutationObserver(checkAndAddKDRElement);
  55. observer.observe(document.body, { childList: true, subtree: true });
  56. checkAndAddKDRElement();
  57. })();