Bonk.io Display Pings

Displays pings on top left corner of the screen.

// ==UserScript==
// @name         Bonk.io Display Pings
// @namespace    http://tampermonkey.net/
// @version      2.11
// @description  Displays pings on top left corner of the screen.
// @author       Silly One
// @match        https://*.bonk.io/*
// @match        https://*.bonkisback.io/*
// @run-at       document-start
// @grant        none
// @license      MIT
// ==/UserScript==

const injectorName = "Bonk.io Display Pings";

(() => {
    'use strict';

    document.addEventListener('DOMContentLoaded', () => {
        window.bPDisplay = () => {
            const pageContainer = document.getElementById('pagecontainer');
            if (!pageContainer) return;
            window.pingDisplay = document.createElement('div');
            Object.assign(pingDisplay.style, {
                position: 'absolute', width: 'auto',
                height: 'auto', color: 'rgb(187, 187, 187)',
                top: '56px', left: '5px', fontFamily: 'futurept_b1',
                display: 'block', zIndex: 1000
            });
            pingDisplay.textContent = 'Join a room to display pings.';
            pageContainer.appendChild(pingDisplay);
        };
        bPDisplay();
    });

    const injector = (src) => {
        window.bP = {
            myid: -1,
            playerids: {},
        };
        const reps = [
            // Pings
            { reg: /id:s*W_j}\);/, rep: `id:W_j}); updatePingDisplay(Y_W);` },
            // Left Room
            { reg: /var\s*o4i;/, rep: `var o4i; bP.myid = -1; bP.playerids = {}; pingDisplay.textContent = 'Join a room to display pings.';` },
            // Created Room
            { reg: /i6Y\[9]\);/, rep: `i6Y[9]); bP.myid = 0; bP.playerids[bP.myid] = { userName: document.getElementById("pretty_top_name").textContent };` },
            // Joined Room
            { reg: /n7O\s*=s*\[arguments];/, rep: `n7O = [arguments]; if (Array.isArray(n7O[0][2])) n7O[0][2].forEach((p, i) => p?.userName && (bP.playerids[i] = { userName: p.userName })); bP.myid = Object.keys(bP.playerids).find(id => bP.playerids[id].userName === document.getElementById("pretty_top_name").textContent);` },
            // Other Players
            { reg: /j9r\[0]\[6]\);/, rep: `j9r[0][6]); if (j9r[0][2]) bP.playerids[j9r[0][0]] = { userName: j9r[0][2] };` }
        ];
        reps.forEach(({ reg, rep }) => src = src.replace(reg, rep));
        return src;
    };

    window.updatePingDisplay = (Y_W) => {
        if (window.pingDisplay) {
            pingDisplay.innerHTML = Object.keys(bP.playerids).map(id =>
                Y_W[id] !== undefined ? `${bP.playerids[id].userName}: ${Y_W[id]}ms<br>` : ''
            ).join('');
        }
    };

    if (!window.bonkCodeInjectors) window.bonkCodeInjectors = [];
    window.bonkCodeInjectors.push(bonkCode => {
        try {
            return injector(bonkCode);
        } catch (error) {
            alert(`Whoops! ${injectorName} was unable to load. Error: ${error}`);
            console.error(error);
            throw error;
        }
    });
    console.log(`${injectorName} injector loaded`);

})();

QingJ © 2025

镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址