Robux to USD

Converts Robux values shown in <span class="text-robux"> to USD using the DevEx rate of $0.0035 per Robux

Du musst eine Erweiterung wie Tampermonkey, Greasemonkey oder Violentmonkey installieren, um dieses Skript zu installieren.

You will need to install an extension such as Tampermonkey to install this script.

You will need to install an extension such as Tampermonkey or Violentmonkey to install this script.

You will need to install an extension such as Tampermonkey or Userscripts to install this script.

You will need to install an extension such as Tampermonkey to install this script.

Sie müssten eine Skript Manager Erweiterung installieren damit sie dieses Skript installieren können

(Ich habe schon ein Skript Manager, Lass mich es installieren!)

You will need to install an extension such as Stylus to install this style.

You will need to install an extension such as Stylus to install this style.

You will need to install an extension such as Stylus to install this style.

You will need to install a user style manager extension to install this style.

You will need to install a user style manager extension to install this style.

You will need to install a user style manager extension to install this style.

(I already have a user style manager, let me install it!)

// ==UserScript==
// @name         Robux to USD
// @namespace    https://roblox.com/
// @version      1.2
// @description  Converts Robux values shown in <span class="text-robux"> to USD using the DevEx rate of $0.0035 per Robux
// @author       Meadow
// @match        https://www.roblox.com/*
// @grant        none
// @run-at       document-end
// @license MIT
// ==/UserScript==

(function () {
    'use strict';

    const ROBUX_TO_USD = 0.0035;

    // Convert Robux to USD string
    function robuxToUSD(robux) {
        return `$${(robux * ROBUX_TO_USD).toFixed(2)} USD`;
    }

    // Check and convert all .text-robux spans
    function convertRobuxSpans() {
        const spans = document.querySelectorAll('span.text-robux');

        spans.forEach(span => {
            if (span.dataset.converted === 'true') return; // Skip already converted

            const robux = parseInt(span.textContent.replace(/[^\d]/g, ''), 10);
            if (isNaN(robux)) return;

            // Create USD display
            const usdDisplay = document.createElement('span');
            usdDisplay.textContent = ` (${robuxToUSD(robux)})`;
            usdDisplay.style.color = '#6e6e6e';
            usdDisplay.style.fontSize = '12px';
            usdDisplay.style.marginLeft = '4px';

            span.appendChild(usdDisplay);
            span.dataset.converted = 'true';
        });
    }

    // Initial run
    convertRobuxSpans();

    // Watch for dynamic content changes
    const observer = new MutationObserver(() => {
        convertRobuxSpans();
    });

    observer.observe(document.body, {
        childList: true,
        subtree: true
    });
})();