"Free" Roblox Items

Trick your friends into thinking you can get anything for free!

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

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.

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

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

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         "Free" Roblox Items
// @version      2025-5-30
// @description  Trick your friends into thinking you can get anything for free!
// @author       Agent Sam
// @match        https://www.roblox.com/bundles/*
// @match        https://www.roblox.com/catalog/*
// @match        https://www.roblox.com/users/*
// @match        https://www.roblox.com/games/*
// @match        https://web.roblox.com/bundles/*
// @match        https://web.roblox.com/catalog/*
// @match        https://web.roblox.com/users/*
// @match        https://web.roblox.com/games/*
// @grant        none
// @license      GNU GPLv2
// @run-at       document-body
// @namespace https://greasyfork.org/users/1476253
// ==/UserScript==

(function() {
    'use strict';

    document.addEventListener("DOMContentLoaded", () => {
        const urlParams = new URLSearchParams(window.location.search);
        const scriptSkip = urlParams.get('1');

        if (scriptSkip) return;
        if (location.pathname.includes('bundles') || location.pathname.includes('catalog')) {
            const loop = setInterval(() => {
                if (document.querySelector('[class="price-row-container"]')) clearInterval(loop);
                document.querySelector('[class="price-row-container"]').innerHTML = '<div class="price-container-text"><div class="item-first-line">This item is available in your inventory.</div></div><a id="edit-avatar-button" href="/my/avatar" class="btn-control-md"><span class="icon-nav-charactercustomizer"></span></a>';
                document.querySelector('[class="item-details-creator-container"]').innerHTML += '<span class="item-owned"><div class="label-checkmark"><span class="icon-checkmark-white-bold"></span></div><span>Item Owned</span></span>';
                setTimeout(() => {
                    document.querySelector('[class="rbx-popover-content"]').innerHTML = `
                        <ul class="dropdown-menu" role="menu">
                                    <li>
                                        <button class="toggle-profile" role="button" data-toggle="False">
                                            Add to Profile
                                        </button>
                                    </li>
                                    <li>
                                        <a id="report-item" class="abuse-report-modal" href="https://www.roblox.com/abusereport/asset?id=9941658066&amp;RedirectUrl=%2fcatalog%2f9941658066%2fCalico-Cat-Pet-Cute-Chibi">
                                            Report Item
                                        </a>
                                    </li>
                        </ul>
                `;
                }, 200);

                const spin = document.createElement('div');
                spin.setAttribute('class', 'font-header-1 text-subheader text-label text-overflow field-label');
                spin.innerHTML = '<i>Modded by <br>Spin</i>';
                document.getElementById('item-details').appendChild(spin);
            }, 50);
        }
    });

    // needs to be improved
    //if (window.location.href.includes('games')) {
    //    let hasRun = false;
    //    document.getElementById('tab-store').addEventListener('click', function() {
    //        if (hasRun === false) {
    //            setTimeout(function() {
    //                for (var x = 0; x < 999; x++) {
    //                    document.getElementsByClassName('PurchaseButton')[x].setAttribute('data-expected-price', '0');
    //                    document.getElementsByClassName('PurchaseButton')[x].setAttribute('data-button-action', 'get');
    //                    document.getElementsByClassName('PurchaseButton')[x].removeAttribute('data-se');
    //                    console.log(`set prices - ${x}`);
    //                }
    //            }, 600);
    //            hasRun = true;
    //        }
    //    });
    //
    //    document.getElementById('confirm-btn').addEventListener('click', function() {
    //        var click = setInterval(function() {
    //            document.getElementById('simplemodal-overlay').addEventListener('click', function() { clearInterval(click); });
    //            document.getElementById('simplemodal-overlay').click();
    //            console.log('hi');
    //            sessionStorage.setItem(window.location.href, 'itemOwned');
    //        }, 100);
    //        setItemStatus();
    //    });
    //}
})();