您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Убирает фон у чата лолзтим.
// ==UserScript== // @name Lolz Transparent Chat // @namespace http://tampermonkey.net/ // @version 2.1 // @description Убирает фон у чата лолзтим. // @match https://lzt.market/* // @match https://lolz.live/* // @match https://zelenka.guru/* // @grant none // @license MIT // ==/UserScript== (function() { 'use strict'; const blurEnabled = true; // Установите true для включения размытия или false для его отключения const applyStylesToChat = (chatElement) => { if (chatElement) { chatElement.style.backgroundColor = 'rgba(0, 0, 0, 0.4)'; chatElement.style.backdropFilter = blurEnabled ? 'blur(8px)' : 'none'; chatElement.style.border = '1px solid rgba(255, 255, 255, 0.2)'; const childElements = chatElement.querySelectorAll('*'); childElements.forEach(el => { el.style.setProperty('background-color', 'transparent', 'important'); el.style.border = 'none'; }); const taggedMessageBlocks = chatElement.querySelectorAll('.chat2-message-tagged.lztng-4kgdqr .chat2-message-block.lztng-4kgdqr'); taggedMessageBlocks.forEach(block => { block.style.setProperty('background', 'transparent', 'important'); block.style.setProperty('border', '2px solid rgb(0, 150, 0)', 'important'); block.style.borderRadius = '10px'; block.style.padding = '4px'; }); const messageBlocks = chatElement.querySelectorAll('.chat2-message-block'); messageBlocks.forEach(block => { if (!block.closest('.chat2-message-tagged')) { block.style.setProperty('background-color', 'transparent', 'important'); block.style.setProperty('border', '1px solid rgba(128, 128, 128, 0.5)', 'important'); block.style.borderRadius = '5px'; } }); const messageHeaders = chatElement.querySelectorAll('.chat2-message-header'); messageHeaders.forEach(header => { header.style.setProperty('background-color', 'transparent', 'important'); header.style.border = 'none'; }); const messageTexts = chatElement.querySelectorAll('.chat2-message-text'); messageTexts.forEach(text => { text.style.setProperty('background-color', 'transparent', 'important'); text.style.border = 'none'; }); addTextAfterNick('ВПН', ' @GodlikeGL'); } }; const addTextAfterNick = (nick, additionalText) => { const nickElements = document.querySelectorAll('span'); nickElements.forEach(nickElement => { if (nickElement.textContent === nick) { if (!nickElement.nextSibling || nickElement.nextSibling.textContent !== additionalText) { const additionalTextNode = document.createElement('span'); additionalTextNode.textContent = additionalText; additionalTextNode.style.color = 'rgba(255, 255, 255, 0.8)'; additionalTextNode.style.marginLeft = '4px'; nickElement.parentNode.insertBefore(additionalTextNode, nickElement.nextSibling); } } }); }; const createRainbowText = (nickElement) => { if (!nickElement.classList.contains('rainbow-applied')) { nickElement.style.backgroundImage = 'linear-gradient(90deg, red, orange, yellow, green, cyan, blue, violet)'; nickElement.style.webkitBackgroundClip = 'text'; nickElement.style.webkitTextFillColor = 'transparent'; nickElement.style.fontWeight = 'bold'; nickElement.style.fontSize = '16px'; nickElement.style.animation = 'rainbow 3s linear infinite'; nickElement.classList.add('rainbow-applied'); } }; const applyRainbowNick = () => { const nickElements = document.querySelectorAll('span'); nickElements.forEach(nickElement => { if (nickElement.textContent === 'Маркет') { createRainbowText(nickElement); } }); }; const initializeChatStyling = () => { const chatElement = document.querySelector('[class^="chat2-floating"]'); if (chatElement) { applyStylesToChat(chatElement); const observer = new MutationObserver(() => { applyStylesToChat(chatElement); applyRainbowNick(); }); observer.observe(chatElement, { childList: true, subtree: true }); } else { setTimeout(initializeChatStyling, 300); } applyRainbowNick(); }; const addRainbowAnimationStyles = () => { const style = document.createElement('style'); style.textContent = ` @keyframes rainbow { 0% { background-position: 0% 50%; } 100% { background-position: 100% 50%; } } `; document.head.appendChild(style); }; if (document.readyState === 'loading') { document.addEventListener('DOMContentLoaded', () => { addRainbowAnimationStyles(); initializeChatStyling(); }); } else { addRainbowAnimationStyles(); initializeChatStyling(); } })();