Gats.io - Chat scroller

chat scroller for gats.io

当前为 2022-04-20 提交的版本,查看 最新版本

  1. // ==UserScript==
  2. // @name Gats.io - Chat scroller
  3. // @namespace http://tampermonkey.net/
  4. // @version 3.0
  5. // @description chat scroller for gats.io
  6. // @author nitrogem35
  7. // @match https://gats.io
  8. // @grant none
  9. // ==/UserScript==
  10.  
  11. (function() {
  12. 'use strict';
  13.  
  14. //lmao how fcking stupid is this dev?? he didn't bother fixing chat scrollers properly twice now ahahahah add a rate limit you dumbass
  15. var chatLoop;
  16. //var symbols = ['@', '#', '!', '$', '%', '&'];
  17. //var extraSymbols = [' '];
  18. var maxLength;
  19. var scrollText = ''
  20. var scrollSpeed = 200
  21. function startChatLoop() {
  22. chatLoop = true
  23. let s = scrollText
  24. let i = 0
  25. let e = 0
  26. let k = 0
  27. function loopfunc() {
  28. i % 12 == 0 ? e = 1 : e = 0
  29. if(!k) {
  30. s.length < 28 ? maxLength = s.length : maxLength = 28
  31. s = s.substr(1) + s.substr(0, 1);
  32. let z = s.substring(e,maxLength).split('')
  33. let numRandom = Math.round(Math.random()*2)
  34. /*for(var j = 0; j < numRandom; j++) {
  35. let w = Math.ceil(Math.random()*z.length)-1
  36. for(var x in z) {
  37. let y = z.shift()
  38. if(x == w) {
  39. z.push(extraSymbols[Math.ceil(Math.random()*extraSymbols.length)-1])
  40. }
  41. z.push(y)
  42. }
  43. }*/
  44. //z[maxLength] = symbols[Math.ceil(Math.random()*symbols.length)-1]
  45. for(var j = 0; j < numRandom; j++) {
  46. z.push(" ")
  47. }
  48. z = z.join("")
  49. RF.list[0].socket.send(`c,${z}`)
  50. i++
  51. }
  52. setTimeout(() => {
  53. if(chatLoop) loopfunc()
  54. }, scrollSpeed)
  55. }
  56. loopfunc()
  57. }
  58.  
  59. document.getElementById("chatbox").setAttribute("maxlength", 1000)
  60.  
  61. var div = document.createElement("div"); document.body.appendChild(div);
  62. function createHTML() {
  63. let html = `
  64. <style>
  65. .main {
  66. pointer-events: none; position: fixed; z-index:999; top: 150px; left: 10px;
  67. font-family: 'arial';
  68. color: black;
  69. font-size: 20px;
  70. }
  71.  
  72. </style>
  73.  
  74. <div class="main" id="scrollerGUI">
  75.  
  76. <br>nitrogem35's chat scroller</br>
  77. <br>Text to Scroll: ${scrollText}</br>
  78. <br>Save text (from chatbox) [\\]</br>
  79. <br>Start/Stop Scroll: [']</br>
  80. <br>Scroll Speed (Higher=slower): ${scrollSpeed}ms [.] (+) / [,] (-) </br>
  81. <br>Hide overlay: [;]</br>
  82.  
  83. </div>`
  84. div.innerHTML = html;
  85. }
  86.  
  87. createHTML()
  88.  
  89. document.addEventListener('keydown', function(key) {
  90. if(key.keyCode == 222) {
  91. if(chatLoop) {
  92. chatLoop = false;
  93. }
  94. else {
  95. startChatLoop();
  96. }
  97. };
  98. if(key.keyCode == 220) {
  99. scrollText = document.getElementById("chatbox").value
  100. scrollText += ' '
  101. createHTML()
  102. }
  103. if(key.keyCode == 190) {
  104. scrollSpeed += 5
  105. createHTML()
  106. if(chatLoop) restartChatLoop()
  107. }
  108. if(key.keyCode == 188) {
  109. (scrollSpeed > 0) ? (scrollSpeed -= 5) : (null)
  110. createHTML()
  111. if(chatLoop) restartChatLoop()
  112. }
  113. if(key.keyCode == 186) {
  114. if(div.innerHTML != '') div.innerHTML = ''
  115. else createHTML()
  116. }
  117. })
  118.  
  119. function restartChatLoop() {
  120. if(chatLoop) {
  121. chatLoop = false
  122. }
  123. setTimeout(startChatLoop, scrollSpeed * 2)
  124. }
  125. })();