Gimkit Purchase Bypass (Works with Zero Gimbucks)

Bypass Gimbucks check and allow all purchases even if balance is insufficient

ही स्क्रिप्ट इंस्टॉल करण्यासाठी तुम्हाला Tampermonkey, Greasemonkey किंवा Violentmonkey यासारखे एक्स्टेंशन इंस्टॉल करावे लागेल.

ही स्क्रिप्ट इंस्टॉल करण्यासाठी तुम्हाला Tampermonkey किंवा Violentmonkey यासारखे एक्स्टेंशन इंस्टॉल करावे लागेल..

ही स्क्रिप्ट इंस्टॉल करण्यासाठी तुम्हाला Tampermonkey किंवा Violentmonkey यासारखे एक्स्टेंशन इंस्टॉल करावे लागेल..

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

ही स्क्रिप्ट इंस्टॉल करण्यासाठी तुम्हाला Tampermonkey यासारखे एक्स्टेंशन इंस्टॉल करावे लागेल..

ही स्क्रिप्ट इंस्टॉल करण्यासाठी तुम्हाला एक युझर स्क्रिप्ट व्यवस्थापक एक्स्टेंशन इंस्टॉल करावे लागेल.

(माझ्याकडे आधीच युझर स्क्रिप्ट व्यवस्थापक आहे, मला इंस्टॉल करू द्या!)

ही स्टाईल इंस्टॉल करण्यासाठी तुम्हाला Stylus सारखे एक्स्टेंशन इंस्टॉल करावे लागेल.

ही स्टाईल इंस्टॉल करण्यासाठी तुम्हाला Stylus सारखे एक्स्टेंशन इंस्टॉल करावे लागेल.

ही स्टाईल इंस्टॉल करण्यासाठी तुम्हाला Stylus सारखे एक्स्टेंशन इंस्टॉल करावे लागेल.

ही स्टाईल इंस्टॉल करण्यासाठी तुम्हाला एक युझर स्टाईल व्यवस्थापक इंस्टॉल करावे लागेल.

ही स्टाईल इंस्टॉल करण्यासाठी तुम्हाला एक युझर स्टाईल व्यवस्थापक इंस्टॉल करावे लागेल.

ही स्टाईल इंस्टॉल करण्यासाठी तुम्हाला एक युझर स्टाईल व्यवस्थापक इंस्टॉल करावे लागेल.

(माझ्याकडे आधीच युझर स्टाईल व्यवस्थापक आहे, मला इंस्टॉल करू द्या!)

// ==UserScript==
// @name         Gimkit Purchase Bypass (Works with Zero Gimbucks)
// @namespace    http://tampermonkey.net/
// @version      3.0
// @description  Bypass Gimbucks check and allow all purchases even if balance is insufficient
// @author       Colin
// @match        *://*.gimkit.com/*
// @grant        none
// ==/UserScript==

(function() {
    'use strict';

    const patchPurchaseRequests = () => {
        const originalFetch = window.fetch;
        window.fetch = async (url, options) => {
            if (url.includes('/purchase')) {
                console.log('[Bypass] Intercepted purchase request:', url);
                // Always return a successful purchase response
                const fakeResponse = {
                    success: true,
                    newBalance: 999999,
                    itemUnlocked: true
                };
                return new Response(JSON.stringify(fakeResponse), {
                    status: 200,
                    headers: { 'Content-type': 'application/json' }
                });
            }
            return originalFetch(url, options);
        };
    };

    const overrideBalanceCheck = () => {
        Object.defineProperty(window, 'gimbucks', {
            get: () => 999999,
            set: () => {}
        });
        if (window.user) {
            window.user.gimbucks = 999999;
        }
    };

    const loopPatch = () => {
        patchPurchaseRequests();
        overrideBalanceCheck();
    };

    setInterval(loopPatch, 1000);
})();