Mi300's Diep.io FOV / Zoom Script

Press - + or scroll

  1. // ==UserScript==
  2. // @name Mi300's Diep.io FOV / Zoom Script
  3. // @namespace http://tampermonkey.net/
  4. // @version 2025-01-08
  5. // @description Press - + or scroll
  6. // @author Mi300
  7. // @match https://diep.io/*
  8. // @match https://diep-io.rivet.game/*
  9. // @match https://mobile.diep.io/*
  10. // @match https://staging.diep.io/*
  11. // @match https://diep.io/?p=*
  12. // @icon data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==
  13. // @grant none
  14. // @license MIT
  15. // ==/UserScript==
  16.  
  17. const FOV_UPDATE_INTERVAL = 16.6;
  18. const FOV_LERP = 0.1;
  19. let setFov = 0.5;
  20. let fov = 0.5;
  21. let keyStates = new Map();
  22.  
  23. const onWheelEvent = event => {setFov += -Math.sign(event.deltaY) * 0.02 * Math.log10(setFov / 0.55 + 1)}
  24. const onKeyDown = event => {keyStates.set(event.keyCode, 1)}
  25. const onKeyUp = event => {keyStates.set(event.keyCode, 0)}
  26.  
  27. function updateFov(){
  28. if(typeof window.extern === 'undefined')return;
  29. if(!window.extern.doesHaveTank())return;
  30. if(keyStates.get(187)) setFov += 0.01 * Math.log10(setFov / 0.55 + 1);
  31. if(keyStates.get(189)) setFov -= 0.01 * Math.log10(setFov / 0.55 + 1);
  32.  
  33. fov += (setFov - fov) * FOV_LERP;
  34. window.extern.setScreensizeZoom(1, fov);
  35. }
  36. function init(){
  37. document.addEventListener("wheel", onWheelEvent);
  38. document.addEventListener("keydown", onKeyDown);
  39. document.addEventListener("keyup", onKeyUp);
  40. setInterval(updateFov, FOV_UPDATE_INTERVAL);
  41. }
  42. init();

QingJ © 2025

镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址