您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Creates a separated section for the chat box
当前为
- // ==UserScript==
- // @name Chat Box Section
- // @namespace Violentmonkey Scripts
- // @match https://web.simple-mmo.com/*
- // @grant none
- // @license GPL-v3
- // @version 1.4.5
- // @author Freaky Fingers
- // @description Creates a separated section for the chat box
- // ==/UserScript==
- //Startup Sequence Variables
- let smmoChat = null
- document.querySelectorAll("[x-init]").forEach(xinit => {
- if (xinit.outerHTML.includes("chat:false,chatSrc:'about:blank;'")){
- return smmoChat = xinit
- }
- })
- if (!smmoChat) return;
- smmoChat.style.cssText = "position: fixed; height: 100%; margin-top: 4rem";
- //Script Variables
- const chatWidth = 20
- const gameParent = document.body.querySelector('.h-screen.flex.overflow-hidden.bg-gray-100')
- const newButton = document.createElement("button")
- const newHTML = document.createElement("div")
- const chatBox = document.getElementById("chatBox")
- const chatButton = document.getElementById("show_hide_chat_btn")
- chatBox.style.cssText = `position: relative; height: calc(100% - 4rem); width: ${chatWidth}vw; padding: 0rem`;
- chatButton.style.display = 'none';
- //Functions
- function ButtonPos() {
- if (window.innerWidth > 1740) {
- try {newButton.style.removeProperty('left');
- newButton.style.removeProperty('bottom');}
- finally{newButton.style.right = "5rem";
- newButton.style.top = "0.6rem"; return}
- }
- newButton.style.removeProperty('top');
- newButton.style.removeProperty('right');
- newButton.style.left = "17rem";
- newButton.style.bottom = "1rem"
- }
- window.addEventListener('resize',ButtonPos);
- const observer = new MutationObserver(() => {
- if (!newButton) return;
- ButtonPos();
- observer.disconnect()
- });
- observer.observe(document.body, {
- childList: true,
- });
- newButton.onmousedown = () => {
- newHTML.style.display = newHTML.style.display === "none" ? "block" : "none";
- chatButton.click();
- };
- //Main Script
- newButton.innerHTML = "Show/Hide Chat";
- newButton.style.cssText = "position: fixed; padding: 0.5rem; background-color: #000; border: 2px solid #C0C0C0; right: 5rem; top: 0.6rem; border-radius: 0.5rem; color: #C0C0C0; z-index: 30; font-size: 0.8rem";
- newHTML.style.cssText = `background-color: rgb(17 17 17 / var(--tw-bg-opacity)); height: 94vh; width: ${chatWidth}vw; float: right; position: sticky; z-index: 1; display: none`;
- document.onkeydown = event => {
- if (event.code === 'NumpadEnter') {
- newButton.onmousedown()
- }
- }
- if(docCookies.getItem('show_chat') === 'true') {
- newHTML.style.display = "block"
- }
- gameParent.style.cssText = `z-index: 2; position: relative`;
- document.getElementById("app").insertAdjacentElement(`afterbegin`, newHTML);
- document.querySelector(".web-app-container").insertAdjacentElement(`afterbegin`, newButton);
- newHTML.appendChild(smmoChat);