Skribbl.io Cheat GUI

Adds a functional cheat GUI for Skribbl.io with auto-draw, auto-answer, character and name changers, and a restart game button.

// ==UserScript==
// @name         Skribbl.io Cheat GUI
// @namespace    http://tampermonkey.net/
// @version      1.0
// @description  Adds a functional cheat GUI for Skribbl.io with auto-draw, auto-answer, character and name changers, and a restart game button.
// @author       YourName
// @match        https://skribbl.io/*
// @grant        none
// @require      https://code.jquery.com/jquery-3.6.0.min.js
// ==/UserScript==

(function() {
    'use strict';

    // Create GUI container
    const gui = $('<div>', {
        id: 'cheat-gui',
        css: {
            position: 'fixed',
            top: '10px',
            left: '10px',
            width: '320px',
            padding: '10px',
            background: '#f5f5f5',
            border: '1px solid #ccc',
            borderRadius: '10px',
            boxShadow: '0px 0px 10px rgba(0,0,0,0.3)',
            zIndex: 1000,
            fontFamily: 'Arial, sans-serif',
            display: 'none'
        }
    }).appendTo('body');

    // Add draggable functionality
    gui.draggable();

    // Add styles for buttons
    $('<style>').text(`
        #cheat-gui button {
            background-color: #4CAF50;
            border: none;
            color: white;
            padding: 10px 15px;
            text-align: center;
            text-decoration: none;
            display: inline-block;
            font-size: 16px;
            margin: 5px;
            cursor: pointer;
            border-radius: 5px;
            transition: background-color 0.3s ease;
        }
        #cheat-gui button:hover {
            background-color: #45a049;
        }
        #cheat-gui input {
            width: calc(100% - 22px);
            padding: 10px;
            margin: 5px 0;
            border-radius: 5px;
            border: 1px solid #ccc;
        }
    `).appendTo('head');

    // Add GUI elements
    gui.append('<h3>Skribbl.io Cheat GUI</h3>');

    // Auto-draw image
    gui.append('<button id="auto-draw">Auto Draw Image</button>');
    $('#auto-draw').click(function() {
        const imageUrl = prompt('Enter the URL of the image to draw:');
        if (imageUrl) {
            // Auto-draw implementation
            const img = new Image();
            img.src = imageUrl;
            img.onload = function() {
                const canvas = document.querySelector('canvas');
                if (canvas) {
                    const ctx = canvas.getContext('2d');
                    ctx.drawImage(img, 0, 0, canvas.width, canvas.height);
                }
            };
        }
    });

    // Auto-answer correctly
    gui.append('<button id="auto-answer">Auto Answer Correctly</button>');
    $('#auto-answer').click(function() {
        setTimeout(() => {
            // Wait for the question to be loaded
            const answers = Array.from(document.querySelectorAll('.answer'));
            const correctAnswer = answers.find(answer => answer.innerText.includes('correct answer text')); // Replace with actual method to find the correct answer
            if (correctAnswer) {
                correctAnswer.click();
            }
        }, 2000); // Adjust delay if necessary
    });

    // Character changer
    gui.append('<input type="text" id="character-name" placeholder="Enter Character Name"><button id="change-character">Change Character</button>');
    $('#change-character').click(function() {
        const name = $('#character-name').val();
        if (name) {
            // Replace with actual method to change the character
            // This might involve directly interacting with the game’s API or UI elements
            alert('Character change functionality is not implemented.');
        }
    });

    // Name changer
    gui.append('<input type="text" id="player-name" placeholder="Enter Player Name"><button id="change-name">Change Name</button>');
    $('#change-name').click(function() {
        const name = $('#player-name').val();
        if (name) {
            // Replace with actual method to change player name
            alert('Name change functionality is not implemented.');
        }
    });

    // Restart game button
    gui.append('<button id="restart-game">Restart Game</button>');
    $('#restart-game').click(function() {
        // Restart game implementation
        const restartButton = document.querySelector('button.restart'); // Adjust selector based on actual button
        if (restartButton) {
            restartButton.click();
        } else {
            alert('Restart game functionality is not implemented.');
        }
    });

    // Open GUI button
    gui.append('<button id="open-gui">Open GUI</button>');
    $('#open-gui').click(function() {
        $('#cheat-gui').toggle();
    });

    // Show GUI on load
    $('#cheat-gui').show();

})();