您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Chat scroller with preset text options (1-9 keys) and start/stop functionality (Enter key to stop, 1-9 to start) for gats.io, with right-click to toggle scroll
// ==UserScript== // @name Gats.io - Chat scroller - PsychoNurse // @namespace http://tampermonkey.net/ // @version 1.4 // @description Chat scroller with preset text options (1-9 keys) and start/stop functionality (Enter key to stop, 1-9 to start) for gats.io, with right-click to toggle scroll // @author nitrogem35, Modified by Psychonurse // @match https://gats.io // @grant none // ==/UserScript== (function() { 'use strict'; let chatLoop; let maxLength; let scrollText = ''; let scrollSpeed = 200; // Initial scroll speed (in ms) let currentIndex = 0; // Preset messages corresponding to keys 1-9 const presetMessages = [ "PsychoNurse ", // 1 "@Eldiablahermosa on Discord! <3 ", // 2 "<3 ", // 3 ". . . ", // 4 "Find this script on Greasyfork! (Chat scroller - PsychoNurse) ", // 5 "Im solo ", // 6 "1v1 ", // 7 "GG ", // 8 "Afk " // 9 ]; function startChatLoop() { chatLoop = true; loopFunc(); } function stopChatLoop() { chatLoop = false; } function loopFunc() { if (!chatLoop) return; let s = scrollText; let e = currentIndex % 12 === 0 ? 1 : 0; if (s.length < 28) { maxLength = s.length; } else { maxLength = 28; } let displayText = s.substring(currentIndex, currentIndex + maxLength); if (displayText.length < maxLength) { displayText += s.substring(0, maxLength - displayText.length); } let z = displayText.split(''); let numRandom = Math.round(Math.random() * 2); for (let j = 0; j < numRandom; j++) { z.push(" "); } z = z.join(""); //encode commas (,) as tilde (~) because gats client does that z = z.replaceAll(",", "~"); Connection.list[0].socket.send(`c,${z}`); currentIndex = (currentIndex + 1) % s.length; setTimeout(loopFunc, scrollSpeed); } document.getElementById("chatbox").setAttribute("maxlength", 1000); var div = document.createElement("div"); document.body.appendChild(div); function createHTML() { let html = ` <style> .main { pointer-events: none; position: fixed; z-index:999; top: 150px; left: 10px; font-family: 'arial'; color: black; font-size: 20px; } </style> <div class="main" id="scrollerGUI"> <br>nitrogem35's chat scroller (Psycho Version)</br> <br>Text to Scroll: ${scrollText}</br> <br>Save text (from chatbox) [\]</br> <br>Start/Stop Scroll: [']</br> <br>Scroll Speed (Higher=slower): ${scrollSpeed}ms [.] (+) / [,] (-)</br> <br>Hide overlay: [;]</br> </div>`; div.innerHTML = html; } createHTML(); // Handle keydown events document.addEventListener('keydown', function(key) { if (key.keyCode == 222) { // ['] chatLoop = !chatLoop; if (chatLoop) startChatLoop(); else stopChatLoop(); } if (key.keyCode == 220) { // [\] scrollText = document.getElementById("chatbox").value + ' '; createHTML(); } if (key.keyCode == 190) { // [.] scrollSpeed += 5; // Increase speed (slower) createHTML(); } if (key.keyCode == 188) { // [,] scrollSpeed = Math.max(0, scrollSpeed - 5); // Decrease speed (faster) createHTML(); } if (key.keyCode == 186) { // [;] div.innerHTML = div.innerHTML ? '' : createHTML(); } // Handle number keys for preset messages (1-9) if (key.keyCode >= 49 && key.keyCode <= 57) { // 1-9 const index = key.keyCode - 49; // 1 => 0, 2 => 1, etc. scrollText = presetMessages[index]; // Update the scrollText to the selected preset startChatLoop(); // Start the scroll when a number key is pressed createHTML(); // Update the overlay with new text to scroll } // Stop the scroll when Enter key is pressed if (key.keyCode == 13) { // [Enter] stopChatLoop(); } }); // Right-click event to toggle start/stop of scroll document.addEventListener('contextmenu', function(e) { e.preventDefault(); // Prevent the default right-click menu chatLoop = !chatLoop; // Toggle the chat loop state if (chatLoop) { startChatLoop(); } else { stopChatLoop(); } }); })();
QingJ © 2025
镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址