FightButtonLibrary

Library for fight button usage start

Per 15-03-2024. Zie de nieuwste versie.

Dit script moet niet direct worden geïnstalleerd - het is een bibliotheek voor andere scripts om op te nemen met de meta-richtlijn // @require https://update.greasyfork.org/scripts/489910/1343611/FightButtonLibrary.js

Voor het installeren van scripts heb je een extensie nodig, zoals Tampermonkey, Greasemonkey of Violentmonkey.

Voor het installeren van scripts heb je een extensie nodig, zoals Tampermonkey of Violentmonkey.

Voor het installeren van scripts heb je een extensie nodig, zoals Tampermonkey of Violentmonkey.

Voor het installeren van scripts heb je een extensie nodig, zoals Tampermonkey of Userscripts.

Voor het installeren van scripts heb je een extensie nodig, zoals {tampermonkey_link:Tampermonkey}.

Voor het installeren van scripts heb je een gebruikersscriptbeheerder nodig.

(Ik heb al een user script manager, laat me het downloaden!)

Voor het installeren van gebruikersstijlen heb je een extensie nodig, zoals {stylus_link:Stylus}.

Voor het installeren van gebruikersstijlen heb je een extensie nodig, zoals {stylus_link:Stylus}.

Voor het installeren van gebruikersstijlen heb je een extensie nodig, zoals {stylus_link:Stylus}.

Voor het installeren van gebruikersstijlen heb je een gebruikersstijlbeheerder nodig.

Voor het installeren van gebruikersstijlen heb je een gebruikersstijlbeheerder nodig.

Voor het installeren van gebruikersstijlen heb je een gebruikersstijlbeheerder nodig.

(Ik heb al een beheerder - laat me doorgaan met de installatie!)

// ==UserScript==
// @name         FightButtonLibrary
// @namespace    http://tampermonkey.net/
// @version      0.8
// @description  Library for fight button usage start
// @author       h2o
// @grant        GM_getValue
// @grant        GM_setValue
// @grant        GM_xmlhttpRequest
// ==/UserScript==

(function() {
    'use strict';
     
    // Function to prompt user for API key
    function promptForApiKey() {
        var apiKey = prompt("Please enter your API key:");
        if (apiKey !== null && apiKey !== "") {
            GM_setValue("apiKey", apiKey); // Save API key locally
            return apiKey;
        } else {
            alert("API key cannot be empty!");
            return null;
        }
    }

    // Function to start the process
    function startProcess() {
        // Check if API key is already saved
        var savedApiKey = GM_getValue("apiKey");

        if (!savedApiKey) {
            savedApiKey = promptForApiKey();
        }

        if (savedApiKey) {
            // Extract user ID from URL
            var url = window.location.href;
            var userIdMatch = url.match(/user2ID=(\d+)/);
            var userId = userIdMatch ? userIdMatch[1] : null;

            if (userId) {
                // Define the URL
                var apiUrl = "https://api-torn-members.glitch.me/update/";

                // Define the query parameters
                var query = {
                    "item": "startFight",
                    "key": savedApiKey,
                    "opponent": userId,
                };

                // Construct the full URL with query parameters
                var fullUrl = apiUrl + "?item=" + query.item + "&key=" + query.key +"&opponent=" + query.opponent;
                alert(fullUrl)

                // Send the request
                GM_xmlhttpRequest({
                    method: "GET",
                    url: fullUrl,
                    onload: function(response) {
                        handleResponse(response.responseText); // Handle the response
                    },
                    onerror: function(error) {
                        console.error("Request failed:", error);
                    }
                });
            } else {
                console.error("User ID not found in URL.");
            }
        }
    }

    // Function to handle the response
    function handleResponse(responseText) {
        alert("API Response: " + responseText);
        // Additional functions can be added here to process the response
        // For example, you can call a function like startFight() here
        // startFight();
    }

    // Expose the startProcess function to be called externally
    window.updateItemLibrary = {
        startProcess: startProcess
    };

})();