Greasy Fork

Scenexe.io base tools by Ashy

scenexe.io base tools you have to have

当前为 2023-01-30 提交的版本,查看 最新版本

// ==UserScript==
// @name         Scenexe.io base tools by Ashy
// @namespace    http://tampermonkey.net/
// @version      2.0.1
// @description  scenexe.io base tools you have to have
// @author       Ashy恨你#3219
// @match        https://scenexe.io/
// @icon         https://www.google.com/s2/favicons?sz=64&domain=scenexe.io
// @grant        none
// @license MIT
// ==/UserScript==
/*
should work
*/
(() => {
    localStorage.ad_blocker = false;
})();
const body = document.getElementsByTagName("body");
body[0].insertAdjacentHTML("beforeend", `
<div class="GUI">
    <p class="gui-title">Ashy wuz here</p>
    <div style="display: none;" class="content">
        <p class="gui-darkness">DARKNESS</p>
        <p class="gui-zoom">ZOOM</p>
        <div style="display: none;" id="zoon-options">
            <p id="zoomP"><input size="6" value="1.2" type="number" id="in-num-z"><button id="set-new-zoom">Set</button>
            <input type="range" min="1" max="20" id="range-zoom"></p>
        </div>
        <p class="gui-cursor">Cursor</p>
        <div style="display: none;" id="cursor-options">
                <p>
                    <label for="default-cur">Switch</label><input type="checkbox" name="" id="default-cur"><br>
                    <label for="switch-cursor">Switch</label>
                    <select id="select-cursor" disabled>
                        <option value="alias">alias</option>
                        <option value="all-scroll">all-scroll</option>
                        <option value="auto">auto</option>
                        <option value="cell">cell</option>
                        <option value="col-resize">col-resize</option>
                        <option value="context-menu">context-menu</option>
                        <option value="copy">copy</option>
                        <option value="crosshair">crosshair</option>
                        <option value="default" selected>default</option>
                        <option value="e-resize">e-resize</option>
                        <option value="ew-resize">ew-resize</option>
                        <option value="-webkit-grab; cursor: grab">grab</option>
                        <option value="-webkit-grabbing; cursor: grabbing">grabbing</option>
                        <option value="help">help</option>
                        <option value="move">move</option>
                        <option value="n-resize">n-resize</option>
                        <option value="ne-resize">ne-resize</option>
                        <option value="nesw-resize">nesw-resize</option>
                        <option value="ns-resize">ns-resize</option>
                        <option value="nw-resize">nw-resize</option>
                        <option value="nwse-resize">nwse-resize</option>
                        <option value="no-drop">no-drop</option>
                        <option disabled value="none">none</option>
                        <option value="not-allowed">not-allowed</option>
                        <option value="pointer">pointer</option>
                        <option value="progress">progress</option>
                        <option value="row-resize">row-resize</option>
                        <option value="s-resize">s-resize</option>
                        <option value="se-resize">se-resize</option>
                        <option value="sw-resize">sw-resize</option>
                        <option value="text">text</option>
                        <option value="w-resize">w-resize</option>
                        <option value="wait">wait</option>
                        <option value="zoom-in">zoom-in</option>
                        <option value="zoom-out">zoom-out</option>
                </select>
            </p>
        </div>
    </div>
</div>
`);
document.getElementsByTagName("head")[0].insertAdjacentHTML("beforeend", `
<style>
.GUI {
    position: fixed;
    right: 24%;
    font-size: 22px;
    color: white;
    width: 250px;
    opacity: 0.7;
}
.GUI > *, .GUI, p {
    margin: 0;
    padding: 0;
    cursor: pointer;
}
/*  colors  */
.gui-title {
    background: #333;
}
.gui-darkness {
    background: #9370db;
}
.gui-zoom {
    background: #ffd700;
}
#zoon-options, #zoomP {
    background: orange;
}
.gui-cursor {
    background: #32cd32;
}
#cursor-options {
    background: #8b0000;
}
#zoon-options, input[type="range"] {
    height: 5px;
}
#zoon-options, input[type="number"] {
    height: 24px;
}
#zoon-options {
    height: 75px;
}
#cursor-options, label {
    margin: 0;
}
#in-num-z {
    width: 120px;
    border: none;
    margin-right: 10px
}
#set-new-zoom {
    padding: 4px 20px;
    background: #333;
    color: white;
}
label[for="default-cur"] {
    cursor: pointer;
}
</style>
`);
function qsi(id) {
    let i = document.querySelector("#" + id);
    return i;
}
function qsc(classa) {
    let c = document.querySelector("." + classa);
    return c;
}
// function qs(val) {
//     let q = document.querySelector(val);
//     return q;
// }
(() => {
    let timer = document.createElement('div');
    timer.style.position = "fixed";
    timer.style.left = "18%";
    timer.style.fontSize = "30px";
    timer.style.fontWeight = "bolder";
    timer.style.color = "white";
    timer.style.webkitTextStrokeWidth = "2px";
    timer.style.webkitTextStrokeColor = "black";
    timer.setAttribute('class', 'Box');
document.getElementsByTagName("body")[0].appendChild(timer);
    let sec = 0;
    let min = 0;
    let h = 0;
    setInterval(() => {
        sec += 1;
        timer.textContent = h + ":" + min + ":" + sec;
        if(sec == 60){
            sec = 0;
            min++;
        }
        if(min == 60){
            min = 0;
            h++;
        }
    }, 1000);
})();
//main
const tit = qsc("gui-title"),
    GUIContent = qsc("content"),
//opt divs
    zoom_opt = qsi("zoon-options"),
    cursor_opt = qsi("cursor-options"),
//opt listners for
    tdark = qsc("gui-darkness"),
    tzoom = qsc("gui-zoom"),
    ttimer = qsc("gui-timer"),
    tcursor = qsc("gui-cursor"),
    rangerZ = qsi("range-zoom"),
    zbtn = qsi("set-new-zoom"),
    zinput = qsi("in-num-z"),
    checker = qsi("default-cur"),
    sel = qsi("select-cursor"),
// ready on game
    darkCan = qsi("darkness-canvas"),
    background = qsi("background"),
    chat = qsi("chat-input"),
    settings = qsi("settings"),
    canvans = qsi("game-canvas"),
    deb = qsi("debug-mode");
const deb_p = document.querySelectorAll("#debug-mode > p");
deb_p.forEach(el => {
    el.style.padding = "0px";
    el.style.margin = "0px";
    el.style.width = "400px";
});
deb.insertAdjacentHTML("beforeend",
    '<p style="margin: 0px; padding: 0px; font-size:2vmin;" id="zoom">Zoom: 1</p>'
);
var z = document.getElementById("zoom");
var zoom = 1;
var zzz = 1;
function toggle(element) {
    if (element.style.display == "none") {
        element.style.display = "block";
    }
    else {
        element.style.display = "none";
    }
}
function checkDark(element) {
    if (element.style.display != "none") {
        element.style.display = "none";
    } else {
        element.style.display = "block";
    }
}
function change_scs(s_size) {
    if (zoom <= 1) {
        zoom = 1;
    }
    z.textContent = "Zoom: " + zoom.toFixed(1);
    Object.defineProperty(Object.prototype, "cameraSizeMultiplier", { configurable: true, get: () => s_size, set: () => { } });
}
document.addEventListener("wheel", (e) => {
    if(!settings.classList.contains("hide")) {
        e.preventDefault();
    }
    else if(e.deltaY > 0){
        zoom += 0.2;
    }
    else{
        zoom -= 0.2;
    }
    change_scs(zoom);
});
(() => {
    chat.style.zIndex = "10";
    darkCan.style.display = "none";
})();
tit.addEventListener("click", () => {
    toggle(GUIContent);
});
tdark.addEventListener("click", () => {
    checkDark(darkCan);
    canvans.focus();
});
tzoom.addEventListener("click", () => {
    toggle(zoom_opt);
    canvans.focus();
});
tcursor.addEventListener("click", () => {
    toggle(cursor_opt);
    canvans.focus();
});
rangerZ.addEventListener("input", () => {
    var zzz = (rangerZ.value);
    change_scs(zzz);
    canvans.focus();
});
zbtn.addEventListener("click", () => {
    var zzz = (zinput.value);
    change_scs(zzz);
    canvans.focus();
});
sel.addEventListener("blur", () => {
    let v = sel.value;
    background.setAttribute("style", "cursor: " + v + ";");
    canvans.focus();
});
checker.addEventListener("click", () => {
    if(checker.checked == true) {
        sel.removeAttribute("disabled", "disabled");
    }else{
        sel.setAttribute("disabled", "disabled");
    }
    canvans.focus();
});