Starblast.io FPS Bypass

READ THIS: To use this mod with minimal lag, your computer must be able to maintain the fps that you input. Use multiples of 60 to ensure minimal lag. You can use any fps value you want, but 120 and 180 will have the least lag. Thank you to Taxin for forcing me to create this. Thank you to Ancient for inspiring me to make something that actually works, unlike his client's fps uncap.

当前为 2024-08-05 提交的版本,查看 最新版本

  1. // ==UserScript==
  2. // @name Starblast.io FPS Bypass
  3. // @namespace http://tampermonkey.net/
  4. // @version 1.31
  5. // @description READ THIS: To use this mod with minimal lag, your computer must be able to maintain the fps that you input. Use multiples of 60 to ensure minimal lag. You can use any fps value you want, but 120 and 180 will have the least lag. Thank you to Taxin for forcing me to create this. Thank you to Ancient for inspiring me to make something that actually works, unlike his client's fps uncap.
  6. // @author ✨Stardust™
  7. // @match *://starblast.io/*
  8. // @grant none
  9. // @license MIT
  10. // ==/UserScript==
  11.  
  12. // CHANGE YOUR FPS HERE!!!@$$#@$#@$ FPS HERE &*^**^*^*&^% CHANGE FPS BELOW!!!!!
  13. const getDesiredFPS = () => 120;
  14. // ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  15. // ^^^^^^^ CHANGE FPS ^^^^^^^^^^^^^^^^
  16. // ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  17. // ^^^^^^^ 240 IS THE MAX ^^^^^^^^^^^^
  18. // ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  19. // ^^^ 120 or 180 is recommended ^^^^^
  20. // ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  21.  
  22. (function() {
  23. 'use strict';
  24.  
  25. const jjj = () => 15
  26. const jjjjjj = () => 4
  27.  
  28. const jjjj = () => {
  29. if (getDesiredFPS() > jjj() * jjjjjj() * jjjjjj()) {
  30. return jjjjjj() * jjj() * jjjjjj()}
  31. if (getDesiredFPS() < jjjjjj() * jjj()) {
  32. return jjj() * jjjjjj()}
  33. else {
  34. return getDesiredFPS()}
  35. }
  36.  
  37. const jjjjj = jjjj();
  38.  
  39. // Helper function to inject a script into the page context
  40. function injectScript(fn) {
  41. const script = document.createElement('script');
  42. script.textContent = `(${fn})();`;
  43. document.documentElement.appendChild(script);
  44. script.remove();
  45. }
  46.  
  47. // Function to override the game's requestAnimationFrame to achieve the desired FPS
  48. function j() {
  49. const originalRequestAnimationFrame = window.requestAnimationFrame;
  50. let lastTime = 0;
  51.  
  52. window.requestAnimationFrame = function(callback) {
  53. const currentTime = performance.now();
  54. const timeToCall = Math.max(0, (1000 / jjjjj) - (currentTime - lastTime));
  55. const id = setTimeout(function() {
  56. callback(currentTime + timeToCall);
  57. }, timeToCall);
  58. lastTime = currentTime + timeToCall;
  59. return id;
  60. };
  61.  
  62.  
  63. // Create FPS counter display
  64. const jj = document.createElement('div');
  65. jj.id = 'fps-counter';
  66. jj.style.position = 'fixed';
  67. jj.style.top = '10px';
  68. jj.style.left = '10px';
  69. jj.style.padding = '5px';
  70. jj.style.backgroundColor = 'rgba(0, 0, 0, 0.5)';
  71. jj.style.color = 'white';
  72. jj.style.fontSize = '14px';
  73. jj.style.zIndex = '10000';
  74. jj.textContent = `Target FPS: ${jjjjj}`;
  75. document.body.appendChild(jj);
  76. }
  77.  
  78. // Inject the FPS override and counter function into the page context
  79. injectScript(j.toString().replace(/jjjjj/g, jjjjj));
  80. })();