Greasy Fork

Smash Karts Wapen Kiezer (met inventory support)

Kies en gebruik wapens in Smash Karts via een menu!

当前为 2025-02-06 提交的版本,查看 最新版本

// ==UserScript==
// @name         Smash Karts Wapen Kiezer (met inventory support)
// @namespace    http://tampermonkey.net/
// @version      1.5
// @description  Kies en gebruik wapens in Smash Karts via een menu!
// @author       JouwNaam
// @match        *://smashkarts.io/*
// @grant        none
// @license      MIT
// ==/UserScript==

(function() {
    'use strict';

    // Lijst met wapens (ID's kunnen per update veranderen)
    const wapens = [
        { naam: "Machine Gun", id: "MachineGun" },
        { naam: "Rocket Launcher", id: "RocketLauncher" },
        { naam: "Mines", id: "Mines" },
        { naam: "Shield", id: "Shield" },
        { naam: "Boost", id: "Boost" },
        { naam: "Shotgun", id: "Shotgun" }
    ];

    let menuOpen = false;

    // Maak het menu
    const menu = document.createElement("div");
    menu.id = "wapenMenu";
    menu.style.position = "fixed";
    menu.style.top = "50px";
    menu.style.right = "50px";
    menu.style.background = "rgba(0,0,0,0.8)";
    menu.style.color = "white";
    menu.style.padding = "10px";
    menu.style.borderRadius = "10px";
    menu.style.display = "none";
    menu.style.zIndex = "1000";

    // Voeg wapens toe aan het menu
    wapens.forEach(wapen => {
        let knop = document.createElement("button");
        knop.innerText = wapen.naam;
        knop.style.display = "block";
        knop.style.margin = "5px";
        knop.style.padding = "10px";
        knop.style.border = "none";
        knop.style.background = "#ff9800";
        knop.style.color = "white";
        knop.style.cursor = "pointer";
        knop.style.borderRadius = "5px";
        knop.style.width = "150px";
        knop.onclick = function() {
            geefWapen(wapen.id);
        };
        menu.appendChild(knop);
    });

    document.body.appendChild(menu);

    // Toetsenbord event listener
    document.addEventListener("keydown", function(event) {
        if (event.key.toLowerCase() === "g") {
            event.preventDefault();
            event.stopPropagation();
            menuOpen = !menuOpen;
            menu.style.display = menuOpen ? "block" : "none";
        }
    });

    // Injecteer een script in de pagina zelf om toegang te krijgen tot game-variabelen
    const script = document.createElement("script");
    script.textContent = `
        window.geefWapen = function(wapenId) {
            let speler = Object.values(window.game?.players || {}).find(p => p.isLocal);
            if (speler && window.game?.weapons?.[wapenId]) {
                if (speler.inventory) {
                    speler.inventory.addItem(new window.game.weapons[wapenId](speler));
                    console.log("Wapen toegevoegd aan inventory:", wapenId);
                } else {
                    console.log("Kon geen inventory vinden voor speler.");
                }
            } else {
                console.log("Kon geen wapen selecteren:", wapenId);
            }
        };
    `;
    document.documentElement.appendChild(script);

    // Roep de injectie-functie aan vanuit het menu
    function geefWapen(wapenId) {
        window.geefWapen(wapenId);
    }
})();