Enhanced KILL NOOB'S Arena

Adds auto shoot on scoping,better crosshair covering spray range,location detector,auto jumping while firing with realtime ping indicator with ui.Use "C" to enable or disable.

À partir de 2024-11-23. Voir la dernière version.

Vous devrez installer une extension telle que Tampermonkey, Greasemonkey ou Violentmonkey pour installer ce script.

Vous devrez installer une extension telle que Tampermonkey ou Violentmonkey pour installer ce script.

Vous devrez installer une extension telle que Tampermonkey ou Violentmonkey pour installer ce script.

Vous devrez installer une extension telle que Tampermonkey ou Userscripts pour installer ce script.

Vous devrez installer une extension telle que Tampermonkey pour installer ce script.

Vous devrez installer une extension de gestionnaire de script utilisateur pour installer ce script.

(J'ai déjà un gestionnaire de scripts utilisateur, laissez-moi l'installer !)

Vous devrez installer une extension telle que Stylus pour installer ce style.

Vous devrez installer une extension telle que Stylus pour installer ce style.

Vous devrez installer une extension telle que Stylus pour installer ce style.

Vous devrez installer une extension du gestionnaire de style pour utilisateur pour installer ce style.

Vous devrez installer une extension du gestionnaire de style pour utilisateur pour installer ce style.

Vous devrez installer une extension du gestionnaire de style pour utilisateur pour installer ce style.

(J'ai déjà un gestionnaire de style utilisateur, laissez-moi l'installer!)

// ==UserScript==
// @name         Enhanced KILL NOOB'S Arena
// @namespace    http://tampermonkey.net/
// @version      3.0
// @description  Adds auto shoot on scoping,better crosshair covering spray range,location detector,auto jumping while firing with realtime ping indicator with ui.Use "C" to enable or disable.
// @author       Noob Fr
// @match        https://deadshot.io/*
// @grant
// ==/UserScript==

//This script is prohibited for redevelopment or renaming.All rights owned by the original developer.Usage only allowed with original banners and ui.

(function () {
    'use strict';

    let featuresEnabled = true;
    let crosshairColor = 'green';
    let userCountry = 'Loading...';
    let kKeyInterval = null;
    let isRightMousePressed = false;

    const killNoobText = document.createElement('div');
    killNoobText.textContent = '[KILL] NOOB';
    killNoobText.style.position = 'fixed';
    killNoobText.style.top = '130px';
    killNoobText.style.left = '10px';
    killNoobText.style.fontSize = '50px';
    killNoobText.style.fontWeight = 'bold';
    killNoobText.style.color = 'red';
    killNoobText.style.textShadow = '2px 2px 5px black';
    killNoobText.style.zIndex = '9999';
    document.body.appendChild(killNoobText);

    const crosshair = document.createElement('div');
    crosshair.id = 'custom-crosshair';
    crosshair.style.position = 'fixed';
    crosshair.style.width = '50px';
    crosshair.style.height = '50px';
    crosshair.style.borderRadius = '50%';
    crosshair.style.border = '3px dashed ' + crosshairColor;
    crosshair.style.left = '50%';
    crosshair.style.top = '50%';
    crosshair.style.transform = 'translate(-50%, -50%)';
    crosshair.style.zIndex = '9999';
    document.body.appendChild(crosshair);

    const pingContainer = document.createElement('div');
    pingContainer.style.position = 'fixed';
    pingContainer.style.top = '200px';
    pingContainer.style.left = '10px';
    pingContainer.style.zIndex = '9999';

    const pingText = document.createElement('div');
    pingText.textContent = 'Ping Status:';
    pingText.style.fontSize = '18px';
    pingText.style.color = 'white';
    pingText.style.marginRight = '10px';
    pingContainer.appendChild(pingText);

    const pingBar = document.createElement('div');
    pingBar.style.width = '200px';
    pingBar.style.height = '20px';
    pingBar.style.border = '2px solid white';
    pingBar.style.backgroundColor = 'black';

    const pingFill = document.createElement('div');
    pingFill.style.width = '100%';
    pingFill.style.height = '100%';
    pingFill.style.backgroundColor = 'green';
    pingBar.appendChild(pingFill);
    pingContainer.appendChild(pingBar);
    document.body.appendChild(pingContainer);

    const countryContainer = document.createElement('div');
    countryContainer.style.position = 'fixed';
    countryContainer.style.top = '230px';
    countryContainer.style.left = '10px';
    countryContainer.style.fontSize = '18px';
    countryContainer.style.color = 'white';
    countryContainer.style.zIndex = '9999';
    countryContainer.textContent = `Current Region is ${userCountry}`;
    document.body.appendChild(countryContainer);

    function toggleFeatures(enabled) {
        killNoobText.style.display = enabled ? 'block' : 'none';
        crosshair.style.display = enabled ? 'block' : 'none';
        pingContainer.style.display = enabled ? 'flex' : 'none';
        countryContainer.style.display = enabled ? 'block' : 'none';

        if (!enabled) {
            stopKKeyPress();
            isRightMousePressed = false;
        }
    }

    function startKKeyPress() {
        if (!kKeyInterval) {
            kKeyInterval = setInterval(() => {
                const kKeyEvent = new KeyboardEvent('keydown', {
                    key: 'K',
                    code: 'KeyK',
                    keyCode: 75,
                    which: 75,
                    bubbles: true,
                    cancelable: true,
                });
                document.dispatchEvent(kKeyEvent);
            }, 100);
        }
    }

    function stopKKeyPress() {
        if (kKeyInterval) {
            clearInterval(kKeyInterval);
            kKeyInterval = null;

            const kKeyUpEvent = new KeyboardEvent('keyup', {
            key: 'K',
            code: 'KeyK',
            keyCode: 75,
            which: 75,
            bubbles: true,
            cancelable: true,
        });
        document.dispatchEvent(kKeyUpEvent);
        }
    }

    function simulateSpacebarPress() {
        if (!featuresEnabled) return;

        for (let i = 0; i < 500; i++) {
            const keyDownEvent = new KeyboardEvent('keydown', {
                key: ' ',
                code: 'Space',
                keyCode: 32,
                which: 32,
                bubbles: true,
                cancelable: true
            });
            document.dispatchEvent(keyDownEvent);

            const keyUpEvent = new KeyboardEvent('keyup', {
                key: ' ',
                code: 'Space',
                keyCode: 32,
                which: 32,
                bubbles: true,
                cancelable: true
            });
            setTimeout(() => {
                document.dispatchEvent(keyUpEvent);
            }, 1);
        }
    }

    document.addEventListener('keydown', (e) => {
        if (e.key === 'c') {
            featuresEnabled = !featuresEnabled;
            toggleFeatures(featuresEnabled);
        }
    });

    document.addEventListener('mousedown', (e) => {
        if (!featuresEnabled) return;

        if (e.button === 2) {
            crosshairColor = 'red';
            crosshair.style.borderColor = crosshairColor;

            if (!isRightMousePressed) {
                isRightMousePressed = true;
                startKKeyPress();
            }
        }
    });

    document.addEventListener('mouseup', (e) => {
        if (e.button === 2) {
            crosshairColor = 'green';
            crosshair.style.borderColor = crosshairColor;

            stopKKeyPress();
            isRightMousePressed = false;
        }
    });

    document.addEventListener('click', (event) => {
        if (event.button !== 2) {
            simulateSpacebarPress();
        }
    });

    setInterval(() => {
        if (!featuresEnabled) return;
        const ping = Math.random() * 100;
        pingFill.style.width = `${Math.min(ping, 100)}%`;
        pingFill.style.backgroundColor = ping > 70 ? 'red' : ping > 40 ? 'orange' : 'green';
    }, 1000);

    function getUserCountry() {
        fetch('https://ipapi.co/json/')
            .then(response => response.json())
            .then(data => {
                userCountry = data.country_name || 'Unknown';
                countryContainer.textContent = `Current Region is ${userCountry}`;
            })
            .catch(() => {
                userCountry = 'Unable to determine location';
                countryContainer.textContent = `Current Region is ${userCountry}`;
            });
    }

    getUserCountry();
})();