Diep.io Prerequisite [X-15]

Preset themes & builds; net predict movement button & anti-afk | Keybind: [x] Toggles visibility of buttons.

You will need to install an extension such as Tampermonkey, Greasemonkey or Violentmonkey to install this script.

You will need to install an extension such as Tampermonkey to install this script.

You will need to install an extension such as Tampermonkey or Violentmonkey to install this script.

You will need to install an extension such as Tampermonkey or Userscripts to install this script.

You will need to install an extension such as Tampermonkey to install this script.

You will need to install a user script manager extension to install this script.

(I already have a user script manager, let me install it!)

You will need to install an extension such as Stylus to install this style.

You will need to install an extension such as Stylus to install this style.

You will need to install an extension such as Stylus to install this style.

You will need to install a user style manager extension to install this style.

You will need to install a user style manager extension to install this style.

You will need to install a user style manager extension to install this style.

(I already have a user style manager, let me install it!)

// ==UserScript==
// @name         Diep.io Prerequisite [X-15]
// @namespace    http://tampermonkey.net/
// @version      0.2
// @description  Preset themes & builds; net predict movement button & anti-afk | Keybind: [x] Toggles visibility of buttons.
// @author       x15diep
// @match        https://diep.io/*
// @icon         https://www.google.com/s2/favicons?sz=64&domain=diep.io
// @grant        none
// @license      MIT
// ==/UserScript==

//idkHowtocode
    (function() {
    'use strict';
    function applySettings() {
    input.execute('ren_fps true');
    input.execute('ren_raw_health_values true');
    }
    function waitForGame() {
    if (window.input && input.execute) {
    applySettings();
    } else {
    setTimeout(waitForGame, 100);
    }
    }
    waitForGame();
    function createElement(tag, id, style, innerHTML) {
    const element = document.createElement(tag);
    element.id = id;
    Object.assign(element.style, style);
    element.innerHTML = innerHTML;
    return element;
    }
    const menuStyle = {
    position: 'fixed',
    left: '20px',
    top: '50%',
    transform: 'translateY(-50%)',
    width: '175px',
    height: '400px',
    backgroundColor: 'rgba(0, 0, 0, 0.73)',
    color: 'white',
    padding: '25px',
    zIndex: '1000',
    borderRadius: '15px',
    display: 'none',
    flexDirection: 'column',
    justifyContent: 'flex-start',
    alignItems: 'flex-start'
    };
    const menuDiv = createElement('div', 'popupMenu', menuStyle, `
    <p id="closeX15" style="font-size: 30px; cursor: pointer;">[X-15] Menu</p>
    <p id="x15" style="cursor: pointer; color: lightblue;">[X-15] Build</p>
    <p id="kitsune" style="cursor: pointer; color: red;">Kitsune Build</p>
    <p id="glass" style="cursor: pointer; color: pink;">Glass Build</p>
    <p id="neonGlass" style="cursor: pointer; color: purple;">Neon Theme</p>
    <p id="dark" style="cursor: pointer; color: grey;">Dark Theme</p>
    <p id="DefaultTheme" style="cursor: pointer; color: yellow;">Default Theme</p>
    `);
    document.body.appendChild(menuDiv);
    function createButton(id, text, left) {
    const button = createElement('button', id, {
    position: 'fixed',
    left: left,
    top: '20px',
    zIndex: '1001'
    }, text);
    document.body.appendChild(button);
    return button;
    }
    const toggleButton = createButton('menuButton', 'Open Menu', '20px');
    const movementButton = createButton('movementButton', 'Net Predict is False', '140px');
    const trollButton = createButton('trollButton', 'Enable Anti-AFK', '300px');
    function createTooltip(text, element) {
    const tooltip = createElement('div', '', {
    position: 'absolute',
    backgroundColor: '#333',
    color: '#fff',
    padding: '5px',
    borderRadius: '3px',
    fontSize: '12px',
    whiteSpace: 'nowrap',
    display: 'none',
    zIndex: '1001'
    });
    tooltip.textContent = text;
    document.body.appendChild(tooltip);
    element.addEventListener('mouseover', () => {
    tooltip.style.display = 'block';
    const rect = element.getBoundingClientRect();
    tooltip.style.left = `${rect.left}px`;
    tooltip.style.top = `${rect.bottom + 5}px`;
    });
    element.addEventListener('mouseout', () => {
    tooltip.style.display = 'none';
    });
    } 
    const menuItems = [
    { id: 'closeX15', text: 'Close Menu' },
    { id: 'x15', text: '0/0/0/5/7/7/7/7' },
    { id: 'kitsune', text: '1/0/2/2/7/7/7/7' },
    { id: 'glass', text: '0/0/0/7/7/7/7/5' },
    { id: 'neonGlass', text: 'A Dark Neon Theme' },
    { id: 'dark', text: 'A Grayed Out Theme' },
    { id: 'DefaultTheme', text: 'Most likely the Default Theme' }
    ]; 
    menuItems.forEach(item => {
    const element = document.getElementById(item.id);
    if (element) {
    createTooltip(item.text, element);
    }
    });
    function toggleMenuVisibility() {
    if (menuDiv.style.display === 'none' || menuDiv.style.display === '') {
    menuDiv.style.display = 'flex';
    toggleButton.textContent = 'Close Menu';
    } else {
    menuDiv.style.display = 'none';
    toggleButton.textContent = 'Open Menu';
    }
    }
    toggleButton.addEventListener('click', toggleMenuVisibility);
    document.addEventListener('keydown', function(event) {

    if (event.key === 'x' || event.key === 'X') {
    const isHidden = toggleButton.style.display === 'none' || toggleButton.style.display === '';
    toggleButton.style.display = isHidden ? 'block' : 'none';
    movementButton.style.display = isHidden ? 'block' : 'none';
    trollButton.style.display = isHidden ? 'block' : 'none';
    if (menuDiv.style.display === 'flex') {
    menuDiv.style.display = 'none';
    toggleButton.textContent = 'Open Menu';
    }
    }
    });
    let isMovement = false;
    movementButton.addEventListener('click', function() {
    if (isMovement) {
    input.execute('net_predict_movement false');
    movementButton.textContent = 'Net Predict Is False';
    } else {
    input.execute('net_predict_movement true');
    movementButton.textContent = 'Net Predict Is True';
    }
    isMovement = !isMovement;
    });
    function simulateKeyPress(keyCode) {
    const event = new KeyboardEvent('keydown', { keyCode: keyCode, which: keyCode });
    document.dispatchEvent(event);
    }
    function simulateKeyRelease(keyCode) {
    const event = new KeyboardEvent('keyup', { keyCode: keyCode, which: keyCode });
    document.dispatchEvent(event);
    }
    function simulateSpinning() {
    const keys = [87, 65, 83, 68]; // W, A, S, D key codes
    let currentIndex = 0;
    function spin() {
    simulateKeyPress(keys[currentIndex]);
    setTimeout(() => {
    simulateKeyRelease(keys[currentIndex]);
    currentIndex = (currentIndex + 1) % keys.length;
    setTimeout(spin, 100); // Adjust delay to control speed
    }, 100); // Adjust delay to control press duration
    }
    spin();
    }
    let intervalId = null;
    trollButton.addEventListener('click', function() {
    if (intervalId === null) {
    intervalId = setInterval(simulateSpinning, 10000); // Adjust interval for frequency
    trollButton.textContent = 'Disable Anti-AFK';
    } else {
    clearInterval(intervalId);
    intervalId = null;
    trollButton.textContent = 'Enable Anti-AFK';
    }
    });
    const closeX15 = document.getElementById('closeX15');
    closeX15.addEventListener('click', toggleMenuVisibility);  
    const x15 = document.getElementById('x15');
    x15.addEventListener('click', () => input.execute('game_stats_build 656567778556645885656447878784784'));  //lazy 2 fix but works
    const kitsune = document.getElementById('kitsune');
    kitsune.addEventListener('click', () => input.execute('game_stats_build 656567778556645885656347878783781')); //lazy 2 fix but works
    const glass = document.getElementById('glass');
    glass.addEventListener('click', () => input.execute('game_stats_build 656567778556645845656447878784744'));  //lazy 2 fix but works 
    const neonGlass = document.getElementById('neonGlass');
    neonGlass.addEventListener('click', function() {
    input.execute('ui_replace_colors 0x43FFF9 0x82FF43 0xFF4343 0xFFDE43 0x437FFF 0x8543ff 0xF943FF 0xFCAD76');
    input.execute('ren_grid_base_alpha 0'); // No Grid
    input.execute('ren_stroke_soft_color_intensity 1'); // Black Outlines
    input.execute('ren_stroke_solid_color 0'); // Black Outlines
    input.execute('ren_background_color 0'); // Black Background
    input.execute('net_replace_color 1 0x999999'); // BarrelColor
    input.execute('net_replace_color 3 0x00FFFF'); // Neon Cyan Team
    input.execute('net_replace_color 4 0xFF3131'); // Neon Red Team
    input.execute('net_replace_color 8 0xCFFF04'); // Neon Yellow Square
    input.execute('net_replace_color 9 0xff073a'); // Neon Red Triangle
    input.execute('net_replace_color 10 0xFF00FF'); // Neon Pink Pentagon
    });
    const dark = document.getElementById('dark');
    dark.addEventListener('click', function() {
    input.execute('ui_replace_colors 0x252525 0x252525 0x252525 0x252525 0x252525 0x252525 0x252525 0x252525');
    input.set_convar("ren_background_color", "0x696969");
    input.set_convar("ren_grid_base_alpha", "0");
    input.execute("ren_stroke_soft_color_intensity", "-100");
    input.execute("ren_stroke_solid_color", "true");
    input.execute('net_replace_color 0 0xFFFFFF');
    input.execute('net_replace_color 1 0x111111');
    input.execute('net_replace_color 2 0x00AAFF');
    input.execute('net_replace_color 3 0x00AAFF');
    input.execute('net_replace_color 4 0xEF4609');
    input.execute('net_replace_color 5 0x00FFAA');
    input.execute('net_replace_color 6 0xFF00AA');
    input.execute('net_replace_color 7 0x111111');
    input.execute('net_replace_color 8 0x111111');
    input.execute('net_replace_color 9 0x111111');
    input.execute('net_replace_color 10 0x111111');
    input.execute('net_replace_color 11 0x111111');
    input.execute('net_replace_color 12 0x111111');
    input.execute('net_replace_color 13 0x111111');
    input.execute('net_replace_color 14 0x111111');
    input.execute('net_replace_color 15 0xFFAA00');
    input.execute('net_replace_color 16 0x111111');
    input.execute('net_replace_color 17 0x111111');
    input.execute('net_replace_color 18 0x111111');
    input.execute("ren_health_color", "0xFFFFFF");
    });
    const defaultTheme = document.getElementById('DefaultTheme');
    defaultTheme.addEventListener('click', function() {
    input.execute('net_replace_colors 0x555555 0x999999 0x00B2E1 0x00B2E1 0xF14E54 0xBF7FF5 0x00E16E 0x8AFF69 0xFFE869 0xFC7677 0x768DFC 0xF177DD 0xFFE869 0x43FF91 0xBBBBBB 0xF14E54 0xFCC376 0xC0C0C0');
    input.execute('ui_replace_colors 0x43FFF9 0x82FF43 0xFF4343 0xFFDE43 0x437FFF 0x8543ff 0xF943FF 0xFCAD76');
    input.execute('ren_grid_base_alpha 0.2'); // Light grid
    input.execute('ren_stroke_soft_color_intensity 0.2'); // Light outlines
    input.execute('ren_stroke_solid_color 0'); // Light outlines
    input.execute('ren_background_color 0xCCCCCC');
    });
    })();