// ==UserScript== // @name Script for Bubble.am by without kit // @namespace http://tampermonkey.net/ // @version 3.6 // @license without.kit // @description Scripts for bubble.am // @author kowadl0 // @match http://bubble.am/* // @grant none // @run-at document-end // @downloadURL https://update.greasyfork.icu/scripts/377858/Script%20for%20Bubbleam%20by%20without%20kit.user.js // @updateURL https://update.greasyfork.icu/scripts/377858/Script%20for%20Bubbleam%20by%20without%20kit.meta.js // ==/UserScript== window.addEventListener('keydown', keydown); window.addEventListener('keyup', keyup); var Feed = false; var autoSplit = false; var respawn = false; var Duration = 5; var showFps = true; var FpsBoxActive = false; var lastLoop = new Date(); let fpsBox = document.createElement("div"); var i; for (let i=1; i<10; i++) { setTimeout( function timer(){ eventFire(document.getElementById('statsContinue'), 'click'); }, i*1000 ); } const hsl = hue => `hsl(${hue},100%,50%)`; // ** FPS fpsBox.style = ` position: absolute; top: 0px; left: 0px; color: black; background: red; font-family: 'Ubuntu', monospace; font-weight: 400; `; document.body.appendChild(fpsBox); let frames = 0; setInterval(() => { var thisLoop = new Date(); var fps = 1000 / (thisLoop - lastLoop); lastLoop = thisLoop; if(FpsBoxActive) { fpsBox.textContent = frames + " FPS"; }else { fpsBox.textContent = frames + " FPS"; } if(frames < 60) { fpsBox.style.background = hsl(frames * 2); } else { fpsBox.style.background = hsl(120); } frames = 0; }, 1E3); const clearRectOld = CanvasRenderingContext2D.prototype.clearRect; CanvasRenderingContext2D.prototype.clearRect = function() { if (this.canvas === window.canvas) { ++frames; } return clearRectOld.apply(this, arguments); }; var instructions = document.getElementById("instructions"); instructions.style.lineHeight = "1"; instructions.style.fontSize = "12.5px"; instructions.style.marginTop = "-10px"; instructions.innerHTML += "
Press 7 to split 7x
" + "
Press 6 to split 6x
" + "
Press 5 to split 5x
" + "
Press 4 to split 4x
" + "
Press 3 to split 3x
" + "
Press 2 to split 2x
" + "
Press W to fast eject mass
" + "
Press S to stop
"+ "
NEWS!
"+ "
Added jump x7
"+ "
version: 3.6
"+ "
Recommend this script to your friends!
"; function keydown(event) { if (event.keyCode == 27) { respawn = true; setTimeout(escPlay, Duration); } showFps = false; if (event.keyCode == 32) { autoSplit = false; setTimeout(autoSplitFunc, Duration); } if (event.keyCode == 87) { Feed = true; setTimeout(giveMass, Duration); } // Monster Split \/ if (event.keyCode == 54) { Split(); setTimeout(Split, Duration); setTimeout(Split, Duration*2); setTimeout(Split, Duration*3); setTimeout(Split, Duration*4); setTimeout(Split, Duration*5); } // HightMonster Split \/ if (event.keyCode == 55) { Split(); setTimeout(Split, Duration); setTimeout(Split, Duration*2); setTimeout(Split, Duration*3); setTimeout(Split, Duration*4); setTimeout(Split, Duration*5); setTimeout(SPlit, Duration*6); } // Penta Split \/ if (event.keyCode == 53) { Split(); setTimeout(Split, Duration); setTimeout(Split, Duration*2); setTimeout(Split, Duration*3); setTimeout(Split, Duration*4); } // Quad Split \/ if (event.keyCode == 52) { Split(); setTimeout(Split, Duration); setTimeout(Split, Duration*2); setTimeout(Split, Duration*3); } // Triple Split \/ if (event.keyCode == 51) { Split(); setTimeout(Split, Duration); setTimeout(Split, Duration*2); } // Double Split \/ if (event.keyCode == 50) { Split(); setTimeout(Split, Duration); } //Freeze \/ if (event.keyCode == 83) { X = window.innerWidth/2; Y = window.innerHeight/2; $("canvas").trigger($.Event("mousemove", {clientX: X, clientY: Y})); } } function keyup(event) { showFps = true; if (event.keyCode == 87) { Feed = false; } if (event.keyCode == 32) { autoSplit = false; } if (event.keyCode == 27) { respawn = false; } } //Mass Macro \/ function giveMass() { if (Feed) { window.onkeydown({keyCode: 87}); window.onkeyup({keyCode: 87}); setTimeout(giveMass, Duration); } } function autoSplitFunc() { if (autoSplit) { window.onkeydown({keyCode: 32}); window.onkeyup({keyCode: 32}); setTimeout(autoSplitFunc, 50); } } function escPlay() { if (respawn) { eventFire(document.getElementById('play'), 'click'); setTimeout(escPlay, Duration); } } function Split() { $("body").trigger($.Event("keydown", { keyCode: 32})); $("body").trigger($.Event("keyup", { keyCode: 32})); } function eventFire(el, etype){ if (el.fireEvent) { el.fireEvent('on' + etype); } else { var evObj = document.createEvent('Events'); evObj.initEvent(etype, true, false); el.dispatchEvent(evObj); } }