question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

How ''Raga.pw'' fixed skins

See original GitHub issue
raga.processActiveSkin();
    }, 1000);
};

Raga.prototype.activeSkin = function(skin) {
    localStorage.setItem('active_skin', skin);
    if (this.ragaMode) {
        var bufView = new Uint8Array(skin.length + 1);
        bufView[0] = 150;
        for (var i = 0, strLen = skin.length; i < strLen; i++) {
            bufView[i + 1] = skin.charCodeAt(i);
        }
        core.proxyMobileData(bufView);
        localStorage.setItem('offline_skin', skin);
    }
};

Raga.prototype.processHs = function() {
    if (this.ragaMode) {
        var bufView = new Uint8Array(5);
        bufView[0] = 200;
        bufView[1] = 1;
        bufView[2] = 0;
        bufView[3] = 1;
        bufView[4] = 0;
        core.proxyMobileData(bufView);
    }
};

Raga.prototype.processActiveSkin = function() {
    if (this.ragaMode) {
        var skin = localStorage.getItem('active_skin');
        if (skin) {
            var bufView = new Uint8Array(skin.length + 1);
            bufView[0] = 150;
            for (var i = 0, strLen = skin.length; i < strLen; i++) {
                bufView[i + 1] = skin.charCodeAt(i);
            }
            core.proxyMobileData(bufView);
        }
    } else {
        if (localStorage.getItem('offline_skin')) {
            var skin = 'skin_' + localStorage.getItem('offline_skin')
                .substr(1);
            var bufView = new Uint8Array(skin.length + 17);
            bufView[0] = 8;
            bufView[1] = 1;
            bufView[2] = 18;
            bufView[3] = 13 + skin.length;
            bufView[4] = 8;
            bufView[5] = 80;
            bufView[6] = 130;
            bufView[7] = 5;
            bufView[8] = 8 + skin.length;
            bufView[9] = 10;
            bufView[10] = 6 + skin.length;
            bufView[11] = 8;
            bufView[12] = 1;
            bufView[13] = 16;
            bufView[14] = 1;
            bufView[15] = 26;
            bufView[16] = skin.length;
            for (var i = 0, strLen = skin.length; i < strLen; i++) {
                bufView[i + 17] = skin.charCodeAt(i);
            }
            core.proxyMobileData(bufView);
            MC.reconnect();
            //core.loadSkin(localStorage.getItem('offline_skin'));
            localStorage.removeItem('offline_skin');
        }
    }
};

Raga.prototype.connection = function(host) {
    if (host == 'ws://107.174.71.60:49186') {
        this.ragaRoom = true;
    }
};

Raga.prototype.authPackets = function(packet) {
    var strData = String.fromCharCode.apply(null, new Uint8Array(packet));
    if (strData.indexOf('skin_empty') !== -1) {
        //core.loadSkin('%empty');
        this.activeSkin('%empty');
    }
};

Raga.prototype.parseInboxPackets = function(packet) {
    var localPacket = packet;
    if (localPacket.length > 500) {
        if (localPacket[5] == 120) {
            var binData = new Uint8Array(localPacket.slice(5));
            var data = pako.inflate(binData);
        } else {
            var data = localPacket;
        }
        var strData = String.fromCharCode.apply(null, new Uint8Array(data));
        if (strData.indexOf('skin_emptyb') !== -1) {
            //core.loadSkin('%empty');
            this.activeSkin('%empty');
        }
    }
    return localPacket;
};

window.raga = new Raga();

var engine = new XMLHttpRequest;

engine.open('GET', '/agario.core.js', true);

engine.onload = function() {
    var script = engine.responseText;
    script = script.replace(/(proxyMobileData\s?:\s?function\s?\(\s?(..?)\s?\)\s?\{)/i, '$1raga.authPackets($2);');
    script = script.replace(/(if\s?\(\s?..?\s?\.\s?MC\s?&&\s?..?\s?\.\s?MC\s?\.\s?onMobileData\s?\)\s?..?\s?\.\s?MC\s?\.\s?onMobileData\s?\(\s?(..?)\s?\))/i, '$2 = raga.parseInboxPackets($2);$1');
    script = script.replace(/(var\s?..?\s?=\s?new\s?WebSocket\s?\((\s?..?\s?\(\s?..?\s?\)\s?)\)\s?;)/i, '$1raga.connection($2);');
    script = script.replace(/(loadSkin\s?:\s?function\s?\(\s?(..?)\s?\)\s?\{)/i, '$1raga.activeSkin($2);');
    script = script.replace(/(..?\s?=\s?\d+\s?,\s?..?\s?=\s?\d+\s?;\s?)(if\s?\(\s?!\s?\(\s?..?\s?\[\s?\d+\s?\]\s?\|\s?\d+\s?\)\s?\)\s?return\s?;)(\s?..?\s?=\s?..?\s?\+\s?\d+\s?\|\s?\d+\s?;)/i, '$1$3');
    script = script.replace(/(..?\s?\.\s?onopen\s?=\s?function\s?\(\s?\)\s?\{)/i, '$1raga.connected();');
    script = script.replace(/(..?\s?\.\s?onerror\s?=\s?function\s?\(\s?\)\s?\{)/i, '$1raga.disconnected(this);');
    script = script.replace(/(..?\s?\.\s?onclose\s?=\s?function\s?\(\s?\)\s?\{)/i, '$1raga.disconnected(this);');
    script = script.replace(/(if\s?\(\s?\+\s?..?\s?\[\s?..?\s?>>\s?\d+\s?\]\s?<\s?)\d+\s?\.\s?\d+\s?(\))/i, '$10$2');
    script = script.replace(/;\s?((..?)\s?=\s?\+\s?\(\s?\(\s?..?\s?\[\s?..?\s?\+\s?\d+\s?>>\s?\d+\s?\]\s?\|\s?\d+\s?\)\s?-\s?\(\s?\(\s?..?\s?\[\s?\d+\s?\]\s?\|\s?\d+\s?\)\s?\/\s?\d+\s?\|\s?\d+\s?\)\s?\|\s?\d+\s?\)\s?\/\s?..?\s?\+\s(\+\s?..?\s?\[\s?..?\s?\+\s?\d+\s?>>\s?\d+\s?\]\s?);\s?)((..?)\s?=\s?\+\s?\(\s?\(\s?..?\s?\[\s?..?\s?\+\s?\d+\s?>>\s?\d+\s?\]\s?\|\s?\d+\s?\)\s?-\s?\(\s?\(\s?..?\s?\[\s?\d+\s?\]\s?\|\s?\d+\s?\)\s?\/\s?\d+\s?\|\s?\d+\s?\)\s?\|\s?\d+\s?\)\s?\/\s?..?\s?\+\s(\+\s?..?\s?\[\s?..?\s?\+\s?\d+\s?>>\s?\d+\s?\]\s?);\s?)/i, ';$1$2=raga.processPlayerX($2,$3);$4$5=raga.processPlayerY($5,$6);');
    eval(script);
};

You Welcome 😃

Issue Analytics

  • State:closed
  • Created 7 years ago
  • Comments:17 (1 by maintainers)

github_iconTop GitHub Comments

1reaction
MineMooreALTcommented, Mar 29, 2017

You can just type “window.core.loadSkin(”%kraken")" in cosnole and then u have kraken

0reactions
Agariancommented, Apr 1, 2017

@AgarXTRA It seems the top half of the “script”'s code is missing, resulting in multiple undefined variables and syntax errors.

Read more comments on GitHub >

github_iconTop Results From Across the Web

How ''Raga.pw'' fixed skins · Issue #685 · m-byte918/MultiOgarII
prototype.activeSkin = function(skin) { localStorage.setItem('active_skin', skin); if (this.ragaMode) { var bufView = new Uint8Array(skin.length ...
Read more >
Agar.io ''Free BOTS''' Raga Mode [NO Recaptcha ... - YouTube
999 bots agar.io 1000 agario bots agar.io bots raga , raga. pw agario ... captcha agario captcha fix agario captcha bots agario free...
Read more >
Raga Minions
Raga Minions. This extension is used to enhance your Agar.io experience by installing and managing so called userscripts.
Read more >
Raga Minions
This extension is used to enhance your Agar.io experience by installing and managing so called userscripts. Each userscript gives you additional features ...
Read more >
Raga in Music Overview, Instruments & Songs - Study.com
Circuitous ragas cycle repeatedly through the ascending and descending scales, while fixed ragas add other notes to the raga for greater ...
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found