deez poker

pokerypokey

Na nainštalovanie skriptu si budete musieť nainštalovať rozšírenie, ako napríklad Tampermonkey, Greasemonkey alebo Violentmonkey.

Na inštaláciu tohto skriptu je potrebné nainštalovať rozšírenie, ako napríklad Tampermonkey.

Na nainštalovanie skriptu si budete musieť nainštalovať rozšírenie, ako napríklad Tampermonkey, % alebo Violentmonkey.

Na nainštalovanie skriptu si budete musieť nainštalovať rozšírenie, ako napríklad Tampermonkey alebo Userscripts.

Na inštaláciu tohto skriptu je potrebné nainštalovať rozšírenie, ako napríklad Tampermonkey.

Na inštaláciu tohto skriptu je potrebné nainštalovať rozšírenie správcu používateľských skriptov.

(Už mám správcu používateľských skriptov, nechajte ma ho nainštalovať!)

Na inštaláciu tohto štýlu je potrebné nainštalovať rozšírenie, ako napríklad Stylus.

Na inštaláciu tohto štýlu je potrebné nainštalovať rozšírenie, ako napríklad Stylus.

Na inštaláciu tohto štýlu je potrebné nainštalovať rozšírenie, ako napríklad Stylus.

Na inštaláciu tohto štýlu je potrebné nainštalovať rozšírenie správcu používateľských štýlov.

Na inštaláciu tohto štýlu je potrebné nainštalovať rozšírenie správcu používateľských štýlov.

Na inštaláciu tohto štýlu je potrebné nainštalovať rozšírenie správcu používateľských štýlov.

(Už mám správcu používateľských štýlov, nechajte ma ho nainštalovať!)

// ==UserScript==
// @name         deez poker
// @namespace    money
// @version      1.2.2
// @description  pokerypokey
// @author       Huntrese [2339855]
// @match        https://www.torn.com/*
// @icon         https://www.google.com/s2/favicons?sz=64&domain=torn.com
// @grant        GM.addStyle
// @run-at       document-start
// @license      MIT
// @require      https://www.torn.com/js/script/lib/jquery-1.8.2.js


// ==/UserScript==
'use strict';

var playerWrappers = {}; // Hashmap to store player wrappers

if (typeof GM == 'undefined') {
 window.GM = {};
}

if (typeof GM.addStyle == "undefined") { //Add GM.addStyle for browsers that do not support it (e.g. TornPDA, Firefox+Greasemonkey)
    GM.addStyle = function (aCss) {
      'use strict';
      let head = document.getElementsByTagName('head')[0];
      if (head) {
        let style = document.createElement('style');
        style.setAttribute('type', 'text/css');
        style.textContent = aCss;
        head.appendChild(style);
        return style;
      }
      return null;
    };
}

const eeeh_observer = new MutationObserver(function(mutations) {
    checkForEgg(); // Check for egg whenever mutation occurs
});

eeeh_observer.observe(document, {attributes: true, childList: true, characterData: true, subtree:true});



function checkForEgg() {
    // Recompute player wrappers
    const playerWrapperElements = document.getElementsByClassName('playerWrapper___wf5jR');
    const currentPlayers = {};
    for (let i = 0; i < playerWrapperElements.length; i++) {
        const playerWrapper = playerWrapperElements[i];
        const playerNameElement = playerWrapper.querySelector('.name___cESdZ');
        if (playerNameElement) {
            const playerName = playerNameElement.textContent.trim();
            currentPlayers[playerName] = playerName; // Store each player's name by their ID
        }
    }

    // Check for removed player wrappers
    const currentPlayerIds = new Set(Object.keys(currentPlayers));
    const previousPlayerIds = new Set(Object.keys(playerWrappers));
    const removedPlayerIds = new Set([...previousPlayerIds].filter(x => !currentPlayerIds.has(x)));

    if (removedPlayerIds.size > 0) {
        console.log('Removed players:', Array.from(removedPlayerIds)); // Print removed players to console
        // Assuming removedPlayerIds contains the names of the players that have disappeared
        removedPlayerIds.forEach(playerName => {
            sendAlert(playerName);
    });
}


    // Update playerWrappers with currentPlayers
    playerWrappers = currentPlayers;
}

function sendAlert(playerName) {
    // Delay the execution of the AJAX request by 1000 milliseconds (1 second)
    setTimeout(function() {
        getAction({
            type: "get",
            action: `/profiles.php?step=getProfileData&NID=${playerName}`,
            success: function(t) {
                console.log(typeof t); // Print the type of t

                // Parse t as JSON
                var jsonData = JSON.parse(t);
                console.log(jsonData['user']['playerName']); // Print the parsed JSON object
                console.log(`https://www.torn.com/loader.php?sid=attack&user2ID=${jsonData['user']['userID']}`); // Print the parsed JSON object

                // Create a custom dialog
                var modal = document.createElement('div');
                modal.innerHTML = `
                    <div style="background-color: rgba(0, 0, 0, 0.5); position: fixed; top: 0; left: 0; width: 100%; height: 100%; display: flex; justify-content: center; align-items: center;">
                        <div style="background-color: white; padding: 20px; border-radius: 5px; text-align: center;">
                            <p>${playerName} has left, attack?</p>
                            <button id="confirmButton">YES BLYAT</button>
                            <button id="cancelButton">Cancel</button>
                        </div>
                    </div>
                `;

                document.body.appendChild(modal);

                // Handle button clicks
                modal.querySelector('#confirmButton').addEventListener('click', function() {
                    window.open(`https://www.torn.com/loader.php?sid=attack&user2ID=${jsonData['user']['userID']}`, '_blank');
                    document.body.removeChild(modal);
                });

                modal.querySelector('#cancelButton').addEventListener('click', function() {
                    document.body.removeChild(modal);
                });
            }
        });
    }, 200); // Delay in milliseconds
}