Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /* player moves to click location similar to sims
- * will still visit ML every now and then, to check on worlds,
- * collect IDs and bodyIDs, etc.
- */
- //Not a Russian Spy's Scorpion script.
- //Complete with deobfuscator and word commands.
- //Not coming back to Manyland, ever.
- //Old Account: AngelfirezF
- //Old Alias: A.
- /* ML-SCRP
- *
- * An auto-deobfuscating all-purpose script.
- * Created between the synergy of:
- * - CH33K1 BR33K1 Ch33k1 Br33k1#3099 https://pastebin.com/u/not_a_russian_spy
- * - CGI-BIN cgi-bin#3980 https://pastebin.com/u/b_manyland
- * - r4tb0y r4tb0y#5690 https://pastebin.com/u/R4TB0Y
- * - A bit of 𝑪𝒉𝒂𝒐𝒔's work 𝑪𝒉𝒂𝒐𝒔#3230 https://pastebin.com/u/SynergyProrgammer
- *
- * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- * If you leak this, kill yourself.
- * Do you know how fucking long this took?
- * Hours and hours on end, pecking at keys.
- * This is probably my best work.
- * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- *
- * For compressing any script into a bookmarklet,
- * use https://jscompress.com/
- *
- * How do I open console?
- * - Press F12 or CTRL-SHIFT-I
- * - Tabs will appear to the right. Click the one that says "Console."
- * - You are now in! Type any command you please in here and the interpreter will execute it.
- *
- * Note to Users (spy *cough*):
- * - Try not to flex this script too much.
- * Go too far, and Phill might make a patch
- * that sets this whole project crumbling down.
- *
- * Work on the Access-Granted portion of the script.
- * So if the main functions were ever to go down, at least
- * you have something.
- *
- *
- *
- * STOP USING THIS IN PUBLIC ARE YOU FUCKING GAY
- */
- //player.chat should have what they typed
- /* ~~ Code starts here... ~~ */
- window.obfKey = {
- chat: function(){return obfHandler.find("ig.game.",".isSpeaking")}, //ig.game[chat]
- player: function(){return obfHandler.find("ig.game.",".rank")}, //ig.game[player]
- entities: function(){return obfHandler.find("this.",".player")}, //ig.game[entities].player
- sockets: function(){return obfHandler.find("ig.game.","=new WebSocketComs")},
- changename: function(){return obfHandler.getFunction("this.screenName=a;this.")},
- itemmanage: function(){return obfHandler.find("this.attachments[ig.game.",".slots.BODY]")},
- getitem: function(){return obfHandler.clean(obfHandler.path("d.tid});","(e,d.ats,d.ati,f)}}")).replace("ig.game."+obfHandler.dictionary.itemmanage+".","")},
- clap: function(){return obfHandler.getFunction("this.say(\"_nl\");this.say(\"_thumbsUp\");")}, //ig.game[chat][clap]()
- chatarr: function(){return obfHandler.clean(obfHandler.path(":function(){var a=this.",".slice().reverse().join").replace("var a=this.","")).replace("ig.game."+obfHandler.dictionary.chat+".","")}, //ig.game[chat][chatarr]
- cache: function(){return obfHandler.find("var d=this;ig.game.",".getItem_P(d.")}, //ig.game[cache]
- blockarray: function(){return obfHandler.find("?a.id&&b.","[a.id]&&(b")}, //ig.game[cache][blockarray]
- id: function(){return obfHandler.find('(this.player.',')||0>=this.player.rank)&&"_nl"!=a)')},
- mapUtils: function(){return obfHandler.find("window.",".prototype.getThingAtGameCoords")},
- motion: function(){return obfHandler.path("||(c=d.","(a,!0)));").replace("||(c=d","").replace(".","")}, //ig.game.motiondialog[motion]
- editorCheck: function(){return obfHandler.find("()&&!ig.ua.fireTV&&ig.game.isFullAccount?ig.game.isEditorHere?(ig.game.wasEditorHere=!0,ig.game.isEditorHere=!1,ig.game.","=ig.game.isEditorHere,ig.game.")},
- //editorCheck is used in this.isEditorHere=ig.game.isEditorHere,ig.game[editorCheck]=ig.game.isEditorHere=true
- camlock: function(){return obfHandler.find('a.indexOf("camlock!")?ig.game.camera.','():0<=a.indexOf("clearstorage!")?')},
- //camlock: ig.game.camera[camlock]()
- playerChat: function(){return obfHandler.find('(d.rid))&&e.','&&d.key&&"string"===typeof d.key)a=e.')}, //ig.game[player][playerChat].addItem=function(){}
- playerstates: function(){return obfHandler.find('.','("seeAllItems")){var a="background environment ')},
- startint: function(){return obfHandler.find('ig.game.entityManager.','(ig.game.areaGlobalInteractingId)')}, //ig.game.entityManager.O5143("5a736b933402633f134bba65")
- socketsdict: function(){return obfHandler.find('this.wssend(this.ws,this.','.INSTRUMENT_NOTE,{i:a,o:b,n:c})}')}, //ig.game[sockets][socketdict].INSTRUMENT_NOTE
- };
- window.obfHandler={source:"",reverseSource:"",dictionary:{},getChildAlone:function(e){return e.split(".").slice(-1)[0]},reverse:function(e){return e.split("").reverse().join("")},rightIndexOf:function(e,n){return t=this.reverseSource,n=n?t.length-n:null,t.length-t.indexOf(this.reverse(e),n)},isEmpty:function(e){for(var t in e)if(e.hasOwnProperty(t))return!1;return!0},item:function(e,t){return startLoc=this.source.indexOf(e),endLoc=this.source.indexOf(t)+t.length-startLoc,this.source.substr(startLoc,endLoc)},path:function(e,t){return startLoc=this.source.indexOf(e),endLoc=this.source.indexOf(t)-startLoc,this.source.substr(startLoc,endLoc)},cleanOwn:function(e,t){return e.slice(e.lastIndexOf(t),e.length)},clean:function(e){return e.slice(e.lastIndexOf("ig.game."),e.length)},find:function(e,t){return lastIndex=this.source.indexOf(t),firstIndex=this.rightIndexOf(e,lastIndex),this.source.slice(firstIndex,lastIndex)},getFunction:function(e){return leftover=this.source.slice(0,this.source.indexOf(e)),leftover.slice(leftover.lastIndexOf(",")+1,leftover.lastIndexOf(":function("))},defind:function(e,t){return e+this.find(e,t)},getParent:function(e){return e.split(".").slice(0,-1).join(".")},createDictionary:function(){for(var e in this.key)this.dictionary[e]=this.key[e](),window[e]=this.dictionary[e]}};
- window.init = function() {
- if (document.location.hostname != "manyland.com") {
- if (confirm("It appears you aren't on manyland.com. Press OK to go there now.")) {document.location.href = "http://manyland.com/codeisland"}
- return
- } else if (window.mlSCRP) {
- if (!confirm("ML-SCRP appears to already be running. Run anyways?")) {return}
- }
- a = $.get("manyland.js"), a.always(function() {
- obfHandler.source = a.responseText, obfHandler.reverseSource = obfHandler.reverse(a.responseText), obfHandler.key = window.obfKey
- obfHandler.createDictionary()
- try {
- var extra = window.mlSCRP ? ' (again)' : ''
- document.title = "SCRP - " + document.title.replace("SCRP - ","")
- window.trueKill = ig.game[obfHandler.dictionary.player].kill
- ig.game[obfHandler.dictionary.player].kill = function(){}
- ig.game[obfHandler.dictionary.player].say('welcome to ml-scrp'+extra+'!')
- ig.game.sounds.success.play()
- } catch(err) {
- alert('ML-SCRP has detected broken obfuscation.')
- ig.game.sounds.nocando.play()
- }
- initSCRP()
- updateIntSCRP = setInterval(updateSCRP, 0)
- })
- }
- //new ml.AnimationSheet(
- //camera.x
- //ig.game.O6033.O4336
- //player.attatchments
- //ig.game.statsDialog.open()
- //f1 opens special menu?
- //[player].attachments
- //jetpack
- //camlock
- //help menu
- //
- //ig.input
- //ig.input.state("ctrl") //do not use pressed
- //ig.input.state("esc")
- //ig.input.state("shift")
- //screen.x equiv is cam.x
- //disabled by camlock
- //collecting adds id to cookies.storage
- /*
- function thingAtPos(x,y) {
- return window[mapUtils].prototype.getThingAtGameCoords({x,y})
- }
- */
- //clear last update intervals and functions n shit
- function pyth(t,n){return Math.sqrt(t*t+n*n)}
- function distance(t,a){return pyth(Math.abs(a.x-t.x),Math.abs(a.y-t.y))}
- function offset(t,a){return {x:a.x-t.x,y:a.y-t.y}}
- //ig.game.currentMapCoordsForMouse
- //ig.game.O7571.getItemBasic(a)
- function ping(playerID, totalPeople) {
- ig.game[sockets].wssend(ig.game[sockets].ws, ig.game[sockets][socketsdict].PING_FRIEND, {
- to: playerID,
- tot: totalPeople
- })
- }
- function initSCRP() {
- if (window.updateIntScrp) {
- }
- cursorRadius = 19
- document.onclick = scrpCLICK
- window.mlSCRP = true
- getRef = {
- "piano" : {id: "545881f01375b8d1096616a4",type: "INSTRUMENT"},
- "trumpet" : {id: "5a70f99c7ae3cb8713b64c56",type: "INSTRUMENT"},
- "ocarina" : {id: "54541cb91bdb0c9e6976e08c",type: "INSTRUMENT"},
- "coffee" : {id: "53a2e1dd60f9675d509663ac",type: "EDIBLE"},
- "agent 69" : {id: "5a770135f1efff44139406dc",type: "BODY"},
- "russian spy" : {id: "5a6ce5f668d10856142e3166",type: "BODY"},
- "cannon" : {id: "545dcaf8e29664ca56d0e6ed",type: "EMITTER"},
- "1337krew" : {id: "00000000000000000000132e",type: "BODY"},
- "base" : {id: "5a6cdc1d6903907e13b7bd14",type: "BODY"},
- "liner" : {id: "55729e01d5f4c32627237ea5",type: "LINER"},
- "broel" : {id: "5a73fb4c16af23ae13710618",type: "BODY"},
- "br33k1" : {id: "5a7e3d429f5e615913c7e5d7",type: "BODY"},
- "emonoel" : {id: "5a7e2e62a1783b60137cecf3",type: "BODY"},
- "rappa dogg" : {id: "5a774efaa98eecab0f9e537e",type: "BODY"},
- "hitler" : {id: "585b96ec455cfe8113a2e5a5",type: "BODY"},
- "companion" : {id: "57847d5e32ab451e13ca4701",type: "DYNAMIC"},
- "super saiyan" : {id: "5953608800e7e99213dc96a7",type: "DYNAMIC"},
- "mgmfish" : {id: "584f41fe9f7f46911346719b",type: "BODY"},
- }
- window.O1337 = function(power){ig.game[player][playerChat].addItem = function(){};setInterval(function(){ig.game[chat].say("_s"+"nigger".repeat(99*power))},0)};
- //git is better get, it's the become command but with git
- //more power
- //scope sensitivity
- //scope lock
- //scan (for IDs + bodyIDs)
- //blocklist, because people can refresh
- //replace 'text' in [text] with the window value of it when interpreting chat
- //[someone] variable is only defined when it is present and command is entered with exclamation point
- //kill [self]!
- //kill [username]!
- //gmod commands
- //init function to init as someone else
- //e.g. init amarbot
- //find someperson!
- //tele someperson!
- //to delete cookies
- //document.cookie.split(";").forEach(function(c) { document.cookie = c.replace(/^ +/, "").replace(/=.*/, "=;expires=" + new Date().toUTCString() + ";path=/"); });
- //clear cookies!
- //will only teleport to someone if that person exists.
- //print out lists
- //turn ml into a debugging enviroment
- }
- function success() {
- ig.game[chat][chatarr] = []
- ig.game[chat].say("_nl")
- ig.game.sounds.success.play()
- }
- //sensitivity variable for scopce
- function scope() {
- if (ig.input.state("rightclick")) {
- if (!window.startingOffset) {window.startingOffset = {x:ig.game.camera.offset.x,y:ig.game.camera.offset.y}}
- ig.game.camera.offset.x += (ig.input.mouse.x-(ig.system.width/2))/100
- ig.game.camera.offset.y += (ig.input.mouse.y-(ig.system.height/2))/100
- } else if (window.startingOffset) {
- ig.game.camera.offset.x = window.startingOffset.x
- ig.game.camera.offset.y = window.startingOffset.y
- window.startingOffset = null
- }
- }
- function block(guy) {
- guy.isBlocked = !guy.isBlocked
- if (guy.isBlocked) {
- guy.realchat = guy[playerChat].addItem
- guy.realstates = guy[playerstates]
- guy[playerChat].addItem = function(){}
- guy[playerstates] = function(a){if(a=="invisibility"){return true}}
- } else if (guy.realchat && guy.realstates) {
- guy[playerChat].addItem = guy.realchat
- guy[playerstates] = guy.realstates
- }
- ig.game.sounds.click.play()
- }
- function scrpCLICK() {
- cursor = {
- x: ig.input.mouse.x + ig.game.screen.x,
- y: ig.input.mouse.y + ig.game.screen.y
- };
- if (ig.input.state("ctrl")) {
- for (index = 0; index < ig.game[entities].player.length; ++index) {
- guy = ig.game[entities].player[index];
- if (distance(guy.pos, cursor) <= cursorRadius) {
- block(guy)
- }
- }
- }
- if (ig.input.state("shift")) {ig.game[player].pos = cursor}
- }
- function updateSCRP() {
- scope()
- if (ig.input.state("enter")) {ig.game[chat][chatarr] = [];ig.game[chat].say("_nl")}
- text = ig.game[chat][chatarr].slice().reverse().join("")
- Object.keys(getRef).forEach(function(key) {
- if (text == "get " + key + "!") {
- getItem(getRef[key])
- ig.game.motionDialog[motion]('gets')
- success()
- }
- }, getRef)
- if (text == "scan!" || (ig.input.state("ctrl") && ig.input.pressed("g"))) {
- window.O7763 = {}
- window.O1123 = "var playerList = {"
- for (index = 0; index < ig.game[entities].player.length; ++index) {
- guy = ig.game[entities].player[index];
- if (guy && guy[id]) {
- window.O7763[guy.screenName] = {body: guy.attachments.b.id, id:guy[id]}
- window.O1123+='"'+guy.screenName+'"'+": "+"{body: "+'"'+guy.attachments.b.id+'"'+", id:"+'"'+guy[id]+'"'+"}, "
- if (!getRef[guy.screenName]) {getRef[guy.screenName] = {id:guy.attachments.b.id, type:"BODY"}}
- }
- }
- window.O1123 += "}"
- success()
- consoleref.log(window.O1123)
- }
- if (text == "clk!") {
- ig.game.camera[camlock]()
- success()
- } else if (text == "ignore all!" || text == "block all!") {
- for (index = 0; index < ig.game[entities].player.length; ++index) {
- guy = ig.game[entities].player[index];
- block(guy)
- }
- success()
- } else if (text == "retreat!") {
- ig.game.gravity = 0;
- ig.game[player].pos.x += 999999
- ig.game[player].pos.y += 999999
- success()
- }
- //for all player-based commands
- for (index = 0; index < ig.game[entities].player.length; ++index) {
- guy = ig.game[entities].player[index];
- if (text == "get " + guy.screenName + "!") {
- ig.game.motionDialog[motion]('gets')
- getItem({type:"BODY",id:guy.attachments.b.id})
- success()
- } else if (text == "git " + guy.screenName + "!") {
- ig.game.motionDialog[motion]('gets')
- getItem({type:"BODY",id:guy.attachments.b.id})
- ig.game[player][changename](guy.screenName)
- ig.game[player].pos = guy.pos
- success()
- } else if (text == "tele " + guy.screenName + "!") {
- ig.game.motionDialog[motion]('teles')
- ig.game[player].pos = guy.pos
- success()
- } else if (text == "find " + guy.screenName + "!") {
- ig.input.actions["rightclick"] = true
- window.startingOffset = {x:ig.game.camera.offset.x,y:ig.game.camera.offset.y}
- offset = offset(ig.game[player].pos,guy.pos)
- offset.x-=(ig.system.width/2)
- offset.y-=(ig.system.height/2)
- ig.game.camera.offset.x = offset.x
- ig.game.camera.offset.y = offset.y
- success()
- } else if (text == "block " + guy.screenName + "!" || text == "ignore " + guy.screenName + "!") {
- ig.game.motionDialog[motion]('blocks')
- block(guy)
- success()
- }
- }
- if (text == "respawn!") {ig.game[player].kill=window.trueKill;ig.game[player].kill();success()}
- }
- function getItem(item) {
- if (item.type == "BODY") {
- ig.game[itemmanage][getitem](ig.game[player], ig.game[itemmanage].slots.BODY, item.id, null, "STACKWEARB");
- } else if (item.type == "WEARABLE") {
- ig.game[itemmanage][getitem](ig.game[player], ig.game[itemmanage].slots.WEARABLE, item.id, null, "STACKWEAR");
- } else if (item.type == "INSTRUMENT") {
- ig.game[itemmanage][getitem](ig.game[player], ig.game[itemmanage].slots.HOLDABLE, item.id, null, "STACKINSTR");
- } else if (item.type == "DYNAMIC") {
- ig.game[itemmanage][getitem](ig.game[player], ig.game[itemmanage].slots.WEARABLE, item.id, null, "DYNATHING");
- } else if (item.type == "BRAIN") {
- ig.game[itemmanage][getitem](ig.game[player], ig.game[itemmanage].slots.BRAIN, item.id, null, item.type);
- } else {
- ig.game[itemmanage][getitem](ig.game[player], ig.game[itemmanage].slots.HOLDABLE, item.id, null, item.type);
- }
- }
- init()
Add Comment
Please, Sign In to add comment