deez poker

pokerypokey

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴Greasemonkey 油猴子Violentmonkey 暴力猴,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴Violentmonkey 暴力猴,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴Userscripts ,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展后才能安装此脚本。

(我已经安装了用户脚本管理器,让我安装!)

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

(我已经安装了用户样式管理器,让我安装!)

// ==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
}