Cryzen.io - Phinally Menu

Fixed -No Recoil, ESP, Bunny Hop, a custom crosshair, and much more!.

您需要先安裝使用者腳本管理器擴展,如 TampermonkeyGreasemonkeyViolentmonkey 之後才能安裝該腳本。

您需要先安裝使用者腳本管理器擴充功能,如 TampermonkeyViolentmonkey 後才能安裝該腳本。

您需要先安裝使用者腳本管理器擴充功能,如 TampermonkeyViolentmonkey 後才能安裝該腳本。

您需要先安裝使用者腳本管理器擴充功能,如 TampermonkeyUserscripts 後才能安裝該腳本。

你需要先安裝一款使用者腳本管理器擴展,比如 Tampermonkey,才能安裝此腳本

您需要先安裝使用者腳本管理器擴充功能後才能安裝該腳本。

(我已經安裝了使用者腳本管理器,讓我安裝!)

你需要先安裝一款使用者樣式管理器擴展,比如 Stylus,才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展,比如 Stylus,才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展,比如 Stylus,才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展後才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展後才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展後才能安裝此樣式

(我已經安裝了使用者樣式管理器,讓我安裝!)

// ==UserScript==
// @name         Cryzen.io - Phinally Menu
// @namespace    http://tampermonkey.net/
// @version      2.0
// @description  Fixed -No Recoil, ESP, Bunny Hop, a custom crosshair, and much more!.
// @author       ZeR
// @match        *://cryzen.io/*
// @grant        none
// @license MIT
// ==/UserScript==

(function() {
    'use strict';

    const newScopeURL = 'https://i.postimg.cc/fT1kw2Md/cross2.webp'; // Mets ici ton viseur

    let originalMaterialDescriptor = Object.getOwnPropertyDescriptor(Object.prototype, 'material');
    let isLoggedIn = false;
    let autoBunnyHopInterval = null;
    let originalRandom = Math.random;
    let scope = null;
    let optimizationEnabled = true;
    let lowResolutionEnabled = false;
    const FPS_THRESHOLD_LOW = 30;
    const FPS_THRESHOLD_HIGH = 50;
    const OPTIMIZATION_INTERVAL = 3000;

    let lastCheck = performance.now();
    let fps = 0;
    let lastTime = performance.now();
    let fpsInterval;

        const fpsDisplay = document.createElement('div');
    fpsDisplay.style.position = 'fixed';
    fpsDisplay.style.top = '10px';
    fpsDisplay.style.right = '10px';
    fpsDisplay.style.backgroundColor = 'rgba(0, 0, 0, 0.7)';
    fpsDisplay.style.color = 'white';
    fpsDisplay.style.padding = '5px';
    fpsDisplay.style.zIndex = '1000';
    document.body.appendChild(fpsDisplay);

    function adjustCanvasResolution(scaleFactor) {
        const canvas = document.querySelector('canvas');
        if (canvas) {
            const devicePixelRatio = window.devicePixelRatio * scaleFactor;
            canvas.width = window.innerWidth * devicePixelRatio;
            canvas.height = window.innerHeight * devicePixelRatio;
            console.log(`Canvas resolution adjusted. Scale Factor: ${scaleFactor}`);
        }
    }

function optimizeGame() {
    if (!optimizationEnabled) return;
    document.querySelectorAll('.high-detail').forEach(element => {
        element.style.display = 'none';
    });
}


function countFrames() {
    fps++;
    const now = performance.now();
    if (now - lastTime >= 1000) {
        fpsDisplay.innerText = `FPS: ${fps}`;
        adjustResolutionBasedOnFPS(fps);
        fps = 0;
        lastTime = now;
    }
    requestAnimationFrame(countFrames);
}

function adjustResolutionBasedOnFPS(fps) {
    if (fps < FPS_THRESHOLD_LOW && !lowResolutionEnabled) {
        lowResolutionEnabled = true;
        adjustCanvasResolution(0.5);
    } else if (fps > FPS_THRESHOLD_HIGH && lowResolutionEnabled) {
        lowResolutionEnabled = false;
        adjustCanvasResolution(1);
    }
}


    countFrames();
    const menuCSS = `
    #mod-menu {
    position: fixed;
    top: 50%;
    left: 20px;
    transform: translateY(-50%);
    background: rgba(20, 20, 20, 0.95);
    color: white;
    padding: 15px;
    border-radius: 15px;
    border: 2px solid blue;
    font-family: Arial, sans-serif;
    width: 300px;
    height: auto;
    display: none;
    opacity: 0;
    transition: opacity 0.3s ease, transform 0.3s ease;
    cursor: grab;
    z-index: 9999; /* Assure que le menu est au-dessus des autres éléments */
}

#mod-menu.show {
    display: block;
    opacity: 1;
}

#mod-menu:hover {
    opacity: 1; /* Garde le menu visible au survol */
}

        .menu-header {
            font-size: 20px;
            font-weight: bold;
            text-align: center;
            margin-bottom: 15px;
            cursor: move;
        }

        .menu-category {
            font-size: 18px;
            font-weight: bold;
            text-decoration: underline;
            margin-top: 10px;
            cursor: pointer;
        }

         .menu-section {
    display: none;
    flex-direction: column;
    gap: 10px;
    margin-bottom: 10px;
    opacity: 0;
    transition: opacity 0.3s ease;
}

        .menu-button {
            background: #333;
            border: 1px solid #555;
            color: white;
            padding: 8px;
            border-radius: 8px;
            text-align: center;
            cursor: pointer;
            transition: background 0.2s, transform 0.1s;
        }

        .menu-button:hover {
            background: #444;
        }

        .menu-button.active {
            background: #4CAF50;
            transform: scale(1.05);
        }

        .menu-footer {
            font-size: 12px;
            color: #888;
            text-align: center;
            margin-top: 20px;
        }

        #login-screen {
            position: fixed;
            top: 50%;
            left: 50%;
            transform: translate(-50%, -50%);
            background: rgba(0, 0, 0, 0.8);
            padding: 20px;
            border-radius: 10px;
            width: 300px;
            color: white;
            text-align: center;
            display: none;
            opacity: 0;
            transition: opacity 0.3s ease;
        }

        #login-screen.show {
            display: block;
            opacity: 1;
        }

        h2 {
            font-size: 24px;
            margin-bottom: 20px;
        }

        .login-input {
            width: 100%;
            padding: 10px;
            margin: 10px 0;
            border-radius: 5px;
            border: 1px solid #555;
            color: white;
            background: #333;
            box-sizing: border-box;
        }
        .menu-section.active {
    display: flex;
    opacity: 1;
}

        .login-button {
            background: #4CAF50;
            border: none;
            color: white;
            padding: 12px;
            width: 100%;
            border-radius: 5px;
            cursor: pointer;
            margin-top: 10px;
        }

        .login-button:hover {
            background: #45a049;
        }


    `;

    function injectCSS(css) {
        let style = document.createElement("style");
        style.textContent = css;
        document.head.appendChild(style);
    }

function createModMenu() {
    let menu = document.createElement("div");
    menu.id = "mod-menu";
    menu.innerHTML = `
        <div class="menu-header">PHINALLY MENU</div>

        <!-- AIM Section -->
        <div class="menu-category" data-section="aim-section">AIM</div>
        <div class="menu-section" id="aim-section">
            <div class="menu-button" id="no-recoil-button" data-action="toggle-recoil">No Recoil</div>
        </div>

        <!-- MOVEMENT Section -->
        <div class="menu-category" data-section="movement-section">MOUVEMENT</div>
        <div class="menu-section" id="movement-section">
            <div class="menu-button" id="bunnyhop-button" data-action="toggle-bunnyhop">Bunny Hop</div>
        </div>

        <!-- VISUAL Section -->
        <div class="menu-category" data-section="visual-section">VISUAL</div>
        <div class="menu-section" id="visual-section">
            <div class="menu-button" id="esp-button" data-action="toggle-esp">ESP</div>
            <div class="menu-button" id="view-button" data-action="toggle-view">Better View</div>
        </div>

        <!-- HACK Section -->
        <div class="menu-category" data-section="hack-section">HACK</div>
        <div class="menu-section" id="hack-section">
            <div class="menu-button" id="adblock-button" data-action="toggle-adblock">Ad Block</div>
            <div class="menu-button" id="cross-button" data-action="toggle-cross">Crosshair</div>
        </div>

        <div class="menu-footer">ZeR©</div>
    `;
    document.body.appendChild(menu);
    addMenuEventListeners();
    makeMenuDraggable(menu);

    document.querySelectorAll('.menu-category').forEach(category => {
        category.addEventListener('click', (event) => {
            const sectionId = event.target.getAttribute('data-section');
            const section = document.getElementById(sectionId);

            if (section.classList.contains('active')) {
                section.classList.remove('active');
            } else {
                document.querySelectorAll('.menu-section').forEach(sec => sec.classList.remove('active'));
                section.classList.add('active');
            }
        });
    });
}


    // Crée l'écran de login
    function createLoginScreen() {
        let loginScreen = document.createElement("div");
        loginScreen.id = "login-screen";
        loginScreen.innerHTML = `
            <h2>Phinally Login</h2>
            <input type="text" id="username" class="login-input" placeholder="Username" />
            <input type="password" id="password" class="login-input" placeholder="Password" />
            <button class="login-button" id="login-button">Login</button>
            <div class="menu-footer">ZeR©</div>
        `;
        document.body.appendChild(loginScreen);
        document.getElementById("login-button").addEventListener("click", function() {
        let loginSound = new Audio("https://files.catbox.moe/m1ru9s.mp3"); // Remplace par ton lien
        loginSound.play(); // Joue le son
        handleLogin(); // Exécute la fonction de connexion
       });
    }

    const usernameDisplay = document.createElement('div');
    usernameDisplay.style.position = 'fixed';
    usernameDisplay.style.top = '40px';
    usernameDisplay.style.right = '10px';
    usernameDisplay.style.backgroundColor = 'rgba(0, 0, 0, 0.7)';
    usernameDisplay.style.padding = '5px';
    usernameDisplay.style.zIndex = '1000';

    const loginText = document.createElement('span');
    loginText.style.color = 'white';
    loginText.textContent = 'Login as ';

    const usernameText = document.createElement('span');
    usernameText.style.color = 'green';
    usernameText.textContent = 'username';

    usernameDisplay.appendChild(loginText);
    usernameDisplay.appendChild(usernameText);
    document.body.appendChild(usernameDisplay);

    function updateUsername(username) {
        usernameText.textContent = username;
    }


const users = [
    { username: 'admin', password: 'admin' },
    { username: 'Xeno', password: 'Xeno' }
];

function handleLogin() {
    const username = document.getElementById("username").value;
    const password = document.getElementById("password").value;
    const user = users.find(u => u.username === username && u.password === password);

    if (user) {
        isLoggedIn = true;
        document.getElementById("login-screen").classList.remove("show");
        updateUsername(username);
        setTimeout(() => toggleModMenu(), 300);
    } else {
        alert("Nom d'utilisateur ou mot de passe incorrect.");
    }
}

    function makeMenuDraggable(menu) {
        let isDragging = false, startX, startY;

        menu.querySelector(".menu-header").addEventListener("mousedown", (event) => {
            isDragging = true;
            startX = event.clientX - menu.offsetLeft;
            startY = event.clientY - menu.offsetTop;
        });

        document.addEventListener("mousemove", (event) => {
            if (isDragging) {
                menu.style.left = event.clientX - startX + "px";
                menu.style.top = event.clientY - startY + "px";
            }
        });

        document.addEventListener("mouseup", () => {
            isDragging = false;
        });
    }

    function toggleModMenu() {
        if (isLoggedIn) {
            let menu = document.getElementById("mod-menu");
            menu.classList.toggle("show");
        } else {
            document.getElementById("login-screen").classList.add("show");
        }
    }

    //////////////////////////////////////////////////
    ///                                            ///
    ///            BUTTON ACTIVATION               ///
    ///                                            ///
    //////////////////////////////////////////////////

function addMenuEventListeners() {
    let clickSound = new Audio("https://files.catbox.moe/26rojk.mp3"); // Remplace par ton lien
    clickSound.volume = 1.0;

    function playSound() {
        clickSound.currentTime = 0; // Réinitialise le son pour éviter les retards
        clickSound.play();
    }

    document.getElementById("no-recoil-button").addEventListener("click", () => {
        playSound();
        toggleFeature("no-recoil");
    });

    document.getElementById("bunnyhop-button").addEventListener("click", () => {
        playSound();
        toggleFeature("bunnyhop");
    });

    document.getElementById("esp-button").addEventListener("click", () => {
        playSound();
        toggleFeature("esp");
    });

    document.getElementById("view-button").addEventListener("click", () => {
        playSound();
        toggleFeature("view");
    });

    document.getElementById("adblock-button").addEventListener("click", () => {
        playSound();
        toggleFeature("adblock");
    });

    document.getElementById("cross-button").addEventListener("click", () => {
        playSound();
        toggleFeature("cross");
    });
}


    // Fonction pour activer/désactiver les fonctionnalités
    function toggleFeature(feature) {
        switch (feature) {
            case "no-recoil":
                if (document.getElementById("no-recoil-button").classList.contains("active")) {
                    disableNoRecoil();
                } else {
                    enableNoRecoil();
                }
                document.getElementById("no-recoil-button").classList.toggle("active");
                break;
            case "bunnyhop":
                if (document.getElementById("bunnyhop-button").classList.contains("active")) {
                    disableUP();
                } else {
                    enableUP();
                }
                document.getElementById("bunnyhop-button").classList.toggle("active");
                break;
            case "esp":
                if (document.getElementById("esp-button").classList.contains("active")) {
                    disableESP();
                } else {
                    enableESP();
                }
                document.getElementById("esp-button").classList.toggle("active");
                break;
            case "view":
                if (document.getElementById("view-button").classList.contains("active")) {
                    disableVIEW();
                } else {
                    enableVIEW();
                }
                document.getElementById("view-button").classList.toggle("active");
                break;
            case "cross":
                if (document.getElementById("cross-button").classList.contains("active")) {
                    disableCROSS();
                } else {
                    enableCROSS();
                }
                document.getElementById("cross-button").classList.toggle("active");
                break;
            case "adblock":
                if (document.getElementById("adblock-button").classList.contains("active")) {
                    disableAdBlock();
                } else {
                    enableAdBlock();
                }
                document.getElementById("adblock-button").classList.toggle("active");
                break;
            default:
                break;
        }
    }


function disableFeature(feature) {
    switch (feature) {
        case "no-recoil":
            disableNoRecoil();
            break;
        case "bunnyhop":
            disableUP();
            break;
        case "esp":
            disableESP();
            break;
        case "view":
            disableVIEW();
            break;
        case "cross":
            disableCROSS();
            break;
        case "adblock":
            disableAdBlock();
            break;
        default:
            break;
    }
}


    //////////////////////////////////////////////////
    ///                                            ///
    ///            BUTTON FUNCTION                 ///
    ///                                            ///
    //////////////////////////////////////////////////

   function enableNoRecoil() {
    console.log("No Recoil activé !");
    const _random = Math.random;
    Object.defineProperty(Math, 'random', {
        get() {
            try {
                throw new Error();
            } catch (error) {
                const stack = error.stack;
                if (stack.includes('shoot')) {
                    return () => 0.5;
                }
            }
            return _random;
        }
    });
}

   function disableNoRecoil() {
    console.log("No Recoil désactivé !");
    Object.defineProperty(Math, 'random', {
        get() {
            return originalRandom;
        }
    });
}

function enableAdBlock() {
    return new Promise(resolve => {
        resolve(true);
    });
}

Object.defineProperties(Object.prototype, {
    'rewardedBreak': {
        get() {
            return enableAdBlock.bind(this);
        },
        set() {},
        enumerable: false,
        }
    });
    function disableAdBlock() {
        console.log("Ad Blocker désactivé !");
    }

function disableESP() {
    console.log("ESP désactivé !");

    if (originalMaterialDescriptor) {
        Object.defineProperty(Object.prototype, 'material', originalMaterialDescriptor);
    } else {
        delete Object.prototype.material;
    }
}

function enableESP() {
    console.log("ESP activé !");

Object.defineProperty(Object.prototype, 'material', {
    get() { return this._material; },
    set(v) {
        if (this.type === 'SkinnedMesh' && this?.skeleton) {
            Object.defineProperties(v, {
                'depthTest': {
                    get() { return false; },
                    set(v) {},
                },
                'transparent': {
                    get() { return true; },
                    set(v) {},
                }
            });
            v.wireframe = true;
            v.opacity = 1;
        }
        this._material = v;
    }
});
}

    function getSqareDataURL(width, height, color) {
    const canvas = document.createElement('canvas');
    canvas.width = width;
    canvas.height = height;
    const context = canvas.getContext('2d');
    context.fillStyle = color;
    context.fillRect(0, 0, width, height);
    const dataURL = canvas.toDataURL();
    return dataURL;
}

    const originalSrcDescriptor = Object.getOwnPropertyDescriptor(Image.prototype, 'src');
    const srcset = originalSrcDescriptor.set;

    function enableVIEW() {
    console.log("Vue modifiée activée !");

    Object.defineProperty(Image.prototype, 'src', {
        set(value) {
            this._src = value;
            if (typeof value !== 'string') {
                return srcset.call(this, value);
            }
            if (value.includes('colorMap')) {
                if (value.toLowerCase().includes('red')) {
                    value = getSqareDataURL(1000, 1000, '#FF7373');
                } else if (value.toLowerCase().includes('blue')) {
                    value = getSqareDataURL(1000, 1000, '#00FFFF');
                } else {
                    value = getSqareDataURL(1000, 1000, '#73FF73');
                }
            }
            if (value.includes('map-')) {
                value = getSqareDataURL(4096, 2048, '#AAAAAA');
            }
            srcset.call(this, value);
        },
        get() {
            return this._src;
        }
    });
}

function disableVIEW() {
    console.log("Vue modifiée désactivée !");

    Object.defineProperty(Image.prototype, 'src', originalSrcDescriptor);
}

function enableUP() {
    console.log("Auto Bunny Hop activé !");

    document.addEventListener('keydown', (event) => {
        if (event.key === ' ' && autoBunnyHopInterval === null) {
            autoBunnyHopInterval = setInterval(() => {
                const event = new KeyboardEvent('keydown', { key: ' ' });
                document.dispatchEvent(event);
            }, 3000);
        }
    });

    document.addEventListener('keyup', (event) => {
        if (event.key === ' ') {
            clearInterval(autoBunnyHopInterval);
            autoBunnyHopInterval = null;
        }
    });
}
function disableUP() {
    console.log("Auto Bunny Hop activé !");
}

    function createScopeOverlay() {
        scope = document.createElement("img");
        scope.src = newScopeURL;
        scope.id = "custom-sniper-scope";
        scope.style.position = "fixed";
        scope.style.top = "50%";
        scope.style.left = "50%";
        scope.style.transform = "translate(-50%, -50%)";
        scope.style.pointerEvents = "none";
        scope.style.maxWidth = "100vw";
        scope.style.maxHeight = "100vh";
        scope.style.zIndex = "99999";
        document.body.appendChild(scope);
    }

    function enableCROSS() {
        if (!scope) {
            createScopeOverlay();
        } else {
            scope.style.display = "block";
        }
    }

    function disableCROSS() {
        if (scope) {
            scope.style.display = "none";
        }
    }



    function updateFPS() {
        const now = performance.now();
        const delta = now - lastTime;

        if (delta > 100) {
            const fps = Math.round(1000 / delta);
            fpsDisplay.textContent = `FPS: ${fps}`;
            lastTime = now;
        }
    }

    function enableFPS() {
        fpsInterval = setInterval(updateFPS, 100);
        fpsDisplay.style.display = 'block';
    }

    function disableFPS() {
        clearInterval(fpsInterval);
        fpsDisplay.style.display = 'none';
    }


    //////////////////////////////////////////////////
    ///                                            ///
    ///        END    BUTTON FUNCTION              ///
    ///                                            ///
    //////////////////////////////////////////////////


    injectCSS(menuCSS);

    createLoginScreen();

    createModMenu();

    document.addEventListener("keydown", function(event) {
        if (event.key === "Insert") {
            if (isLoggedIn) {
                toggleModMenu();
            } else {
                document.getElementById("login-screen").classList.add("show");
            }
        }
    });
})();