Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- var verNum = "MPPUI BETA 0.5";
- // SETUP //////////////////////////////
- var element = document.getElementById("social");
- var verTitle = document.createElement("h2");
- var verNode = document.createTextNode(verNum);
- verTitle.appendChild(verNode);
- var backTitle = document.createElement("h3");
- var backTitleNode = document.createTextNode("Colors (requires crown)");
- backTitle.appendChild(backTitleNode);
- var backW = document.createElement("button"); //0
- var backWNode = document.createTextNode("•");
- backW.appendChild(backWNode);
- var backPnk = document.createElement("button"); //1
- var backPnkNode = document.createTextNode("•");
- backPnk.appendChild(backPnkNode);
- var backR = document.createElement("button"); //2
- var backRNode = document.createTextNode("•");
- backR.appendChild(backRNode);
- var backO = document.createElement("button"); //3
- var backONode = document.createTextNode("•");
- backO.appendChild(backONode);
- var backY = document.createElement("button"); //4
- var backYNode = document.createTextNode("•");
- backY.appendChild(backYNode);
- var backG = document.createElement("button"); //5
- var backGNode = document.createTextNode("•");
- backG.appendChild(backGNode);
- var backBlu = document.createElement("button"); //6
- var backBluNode = document.createTextNode("•");
- backBlu.appendChild(backBluNode);
- var backPrp = document.createElement("button"); //7
- var backPrpNode = document.createTextNode("•");
- backPrp.appendChild(backPrpNode);
- var backBlk = document.createElement("button"); //8
- var backBlkNode = document.createTextNode("•");
- backBlk.appendChild(backBlkNode);
- var mpc = document.createElement("p");
- var mpcNode = document.createTextNode("Rainbow (select milliseconds):");
- mpc.appendChild(mpcNode);
- var msList = [2750, 500, 5000, 10000, 30000, 60000, 120000, 180000];
- var selectList = document.createElement("select");
- selectList.id = "msSelect";
- for (var i = 0; i < msList.length; i++) {
- var option = document.createElement("option");
- option.value = msList[i];
- option.text = msList[i];
- selectList.appendChild(option);
- }
- var rainStart = document.createElement("button"); //9
- var rainStartNode = document.createTextNode("START");
- rainStart.appendChild(rainStartNode);
- rainStart.className = "ugly-button";
- rainStart.style.height = "22px";
- rainStart.style.width = "auto";
- var mouseTitle = document.createElement("h3");
- var mouseNode = document.createTextNode("Mouse");
- mouseTitle.appendChild(mouseNode);
- /*var physTitle = document.createElement("p");
- var physNode = document.createTextNode("Elastic Follow: Pong:");
- physTitle.appendChild(physNode);*/
- var physOnButt = document.createElement("button"); //10
- var physOnNode = document.createTextNode("Follow: OFF");
- physOnButt.appendChild(physOnNode);
- physOnButt.className = "ugly-button";
- physOnButt.style.height = "22px";
- physOnButt.style.width = "auto";
- /*var pongTitle = document.createElement("p");
- var pongNode = document.createTextNode("Pong:");
- pongTitle.appendChild(pongNode);*/
- var pongOnButt = document.createElement("button"); //11
- var pongOnNode = document.createTextNode("Pong: OFF");
- pongOnButt.appendChild(pongOnNode);
- pongOnButt.className = "ugly-button";
- pongOnButt.style.height = "22px";
- pongOnButt.style.width = "auto";
- element.appendChild(verTitle);
- element.appendChild(backTitle);
- element.appendChild(backW);
- element.appendChild(backPnk);
- element.appendChild(backR);
- element.appendChild(backO);
- element.appendChild(backY);
- element.appendChild(backG);
- element.appendChild(backBlu);
- element.appendChild(backPrp);
- element.appendChild(backBlk);
- element.appendChild(mpc);
- element.appendChild(selectList);
- element.appendChild(rainStart);
- element.appendChild(mouseTitle);
- //element.appendChild(physTitle)
- element.appendChild(physOnButt);
- //element.appendChild(pongTitle);
- element.appendChild(pongOnButt);
- document.getElementById("inclinations").style.marginTop = "0";
- document.getElementById("inclinations").style.height = "24px";
- document.getElementById("social").style.width = "364px";
- document.getElementById("social").style.textAlign = "right";
- document.getElementsByTagName("BUTTON")[0].onclick = function() { clearInterval(colorInterval); MPP.client.sendArray([{ m: 'chset', set: { color: "#FFFFFF" } }]); };
- document.getElementsByTagName("BUTTON")[0].style.backgroundColor = "#FFFFFF";
- document.getElementsByTagName("BUTTON")[0].style.color = "#FFFFFF";
- document.getElementsByTagName("BUTTON")[0].style.border = "1px solid black";
- document.getElementsByTagName("BUTTON")[1].onclick = function() { clearInterval(colorInterval); MPP.client.sendArray([{ m: 'chset', set: { color: "#FF2F97" } }]); };
- document.getElementsByTagName("BUTTON")[1].style.backgroundColor = "#FF2F97";
- document.getElementsByTagName("BUTTON")[1].style.color = "#FF2F97";
- document.getElementsByTagName("BUTTON")[1].style.border = "1px solid black";
- document.getElementsByTagName("BUTTON")[2].onclick = function() { clearInterval(colorInterval); MPP.client.sendArray([{ m: 'chset', set: { color: "#800000" } }]); };
- document.getElementsByTagName("BUTTON")[2].style.backgroundColor = "#800000";
- document.getElementsByTagName("BUTTON")[2].style.color = "#800000";
- document.getElementsByTagName("BUTTON")[2].style.border = "1px solid black";
- document.getElementsByTagName("BUTTON")[3].onclick = function() { clearInterval(colorInterval); MPP.client.sendArray([{ m: 'chset', set: { color: "#B86B03" } }]); };
- document.getElementsByTagName("BUTTON")[3].style.backgroundColor = "#B86B03";
- document.getElementsByTagName("BUTTON")[3].style.color = "#B86B03";
- document.getElementsByTagName("BUTTON")[3].style.border = "1px solid black";
- document.getElementsByTagName("BUTTON")[4].onclick = function() { clearInterval(colorInterval); MPP.client.sendArray([{ m: 'chset', set: { color: "#D7D700" } }]); };
- document.getElementsByTagName("BUTTON")[4].style.backgroundColor = "#D7D700";
- document.getElementsByTagName("BUTTON")[4].style.color = "#D7D700";
- document.getElementsByTagName("BUTTON")[4].style.border = "1px solid black";
- document.getElementsByTagName("BUTTON")[5].onclick = function() { clearInterval(colorInterval); MPP.client.sendArray([{ m: 'chset', set: { color: "#008000" } }]); };
- document.getElementsByTagName("BUTTON")[5].style.backgroundColor = "#008000";
- document.getElementsByTagName("BUTTON")[5].style.color = "#008000";
- document.getElementsByTagName("BUTTON")[5].style.border = "1px solid black";
- document.getElementsByTagName("BUTTON")[6].onclick = function() { clearInterval(colorInterval); MPP.client.sendArray([{ m: 'chset', set: { color: "#000080" } }]); };
- document.getElementsByTagName("BUTTON")[6].style.backgroundColor = "#000080";
- document.getElementsByTagName("BUTTON")[6].style.color = "#000080";
- document.getElementsByTagName("BUTTON")[6].style.border = "1px solid black";
- document.getElementsByTagName("BUTTON")[7].onclick = function() { clearInterval(colorInterval); MPP.client.sendArray([{ m: 'chset', set: { color: "#800080" } }]); };
- document.getElementsByTagName("BUTTON")[7].style.backgroundColor = "#800080";
- document.getElementsByTagName("BUTTON")[7].style.color = "#800080";
- document.getElementsByTagName("BUTTON")[7].style.border = "1px solid black";
- document.getElementsByTagName("BUTTON")[8].onclick = function() { clearInterval(colorInterval); MPP.client.sendArray([{ m: 'chset', set: { color: "#202020" } }]); };
- document.getElementsByTagName("BUTTON")[8].style.backgroundColor = "#202020";
- document.getElementsByTagName("BUTTON")[8].style.color = "#202020";
- document.getElementsByTagName("BUTTON")[8].style.border = "1px solid black";
- document.getElementsByTagName("SELECT")[0].style.width = "108px";
- document.getElementById("more-button").style.display = "none";
- document.getElementById("like-button").style.display = "none";
- var colorInterval;
- // RAINBOW ROOM //////////////////////////////
- var mssVal = document.getElementById("msSelect").value;
- document.getElementsByTagName("BUTTON")[9].onclick = function() { rainWhole(); };
- function rainWhole() {
- document.getElementsByTagName("BUTTON")[9].innerHTML = "STOP";
- var intervalTime = mssVal;
- var colorList = ["800000", "800200", "800400", "800600", "800900", "800B00", "800D00", "800F00", "801100", "801300", "801500", "801700", "801A00", "801C00", "801E00", "802000", "802200", "802400", "802600", "802900", "802B00", "802D00", "802F00", "803100", "803300", "803500", "803700", "803A00", "803C00", "803E00", "804000", "804200", "804400", "804600", "804900", "804B00", "804D00", "804F00", "805100", "805300", "805500", "805700", "805A00", "805C00", "805E00", "806000", "806200", "806400", "806600", "806900", "806B00", "806D00", "806F00", "807100", "807300", "807500", "807700", "807A00", "807C00", "807E00", "808000", "7E8000", "7C8000", "7A8000", "778000", "758000", "738000", "718000", "6F8000", "6D8000", "6B8000", "698000", "668000", "648000", "628000", "608000", "5E8000", "5C8000", "5A8000", "578000", "558000", "538000", "518000", "4F8000", "4D8000", "4B8000", "498000", "468000", "448000", "428000", "408000", "3E8000", "3C8000", "3A8000", "378000", "358000", "338000", "318000", "2F8000", "2D8000", "2B8000", "298000", "268000", "248000", "228000", "208000", "1E8000", "1C8000", "1A8000", "178000", "158000", "138000", "118000", "0F8000", "0D8000", "0B8000", "098000", "068000", "048000", "028000", "008000", "008002", "008004", "008006", "008009", "00800B", "00800D", "00800F", "008011", "008013", "008015", "008017", "00801A", "00801C", "00801E", "008020", "008022", "008024", "008026", "008029", "00802B", "00802D", "00802F", "008031", "008033", "008035", "008037", "00803A", "00803C", "00803E", "008040", "008042", "008044", "008046", "008049", "00804B", "00804D", "00804F", "008051", "008053", "008055", "008057", "00805A", "00805C", "00805E", "008060", "008062", "008064", "008066", "008069", "00806B", "00806D", "00806F", "008071", "008073", "008075", "008077", "00807A", "00807C", "00807E", "008080", "007E80", "007C80", "007A80", "007780", "007580", "007380", "007180", "006F80", "006D80", "006B80", "006980", "006680", "006480", "006280", "006080", "005E80", "005C80", "005A80", "005780", "005580", "005380", "005180", "004F80", "004D80", "004B80", "004980", "004680", "004480", "004280", "004080", "003E80", "003C80", "003A80", "003780", "003580", "003380", "003180", "002F80", "002D80", "002B80", "002980", "002680", "002480", "002280", "002080", "001E80", "001C80", "001A80", "001780", "001580", "001380", "001180", "000F80", "000D80", "000B80", "000980", "000680", "000480", "000280", "000080", "020080", "040080", "060080", "090080", "0B0080", "0D0080", "0F0080", "110080", "130080", "150080", "170080", "1A0080", "1C0080", "1E0080", "200080", "220080", "240080", "260080", "290080", "2B0080", "2D0080", "2F0080", "310080", "330080", "350080", "370080", "3A0080", "3C0080", "3E0080", "400080", "420080", "440080", "460080", "490080", "4B0080", "4D0080", "4F0080", "510080", "530080", "550080", "570080", "5A0080", "5C0080", "5E0080", "600080", "620080", "640080", "660080", "690080", "6B0080", "6D0080", "6F0080", "710080", "730080", "750080", "770080", "7A0080", "7C0080", "7E0080", "800080", "80007E", "80007C", "80007A", "800077", "800075", "800073", "800071", "80006F", "80006D", "80006B", "800069", "800066", "800064", "800062", "800060", "80005E", "80005C", "80005A", "800057", "800055", "800053", "800051", "80004F", "80004D", "80004B", "800049", "800046", "800044", "800042", "800040", "80003E", "80003C", "80003A", "800037", "800035", "800033", "800031", "80002F", "80002D", "80002B", "800029", "800026", "800024", "800022", "800020", "80001E", "80001C", "80001A", "800017", "800015", "800013", "800011", "80000F", "80000B", "800009", "800006", "800004", "800002"]; //Put whatever hex colors you want, and however many you want.
- var counter = 0;
- function updateColor(color) {
- MPP.client.sendArray([{
- m: 'chset',
- set: {
- color: '#' + color
- }
- }]);
- };
- function foo() {
- if (counter < colorList.length - 1) {
- counter++;
- updateColor(`${colorList[counter]}`)
- } else {
- counter = 0;
- updateColor(`${colorList[counter]}`)
- }
- };
- var colorInterval = setInterval(foo, intervalTime);
- var cycleMin = "";
- var cycleSec = Math.round(colorList.length * intervalTime / 1000) + " second";
- if (colorList.length * intervalTime >= 60000) {
- cycleMin = Math.floor(colorList.length * intervalTime / 1000 / 60 * 100) / 100 + " minute";
- cycleSec = ""
- };
- console.log(verNum + ": Rainbow started. (" + mssVal + "ms/color, " + cycleMin + cycleSec + " cycle time).");
- document.getElementsByTagName("BUTTON")[9].onclick = function() { clearInterval(colorInterval); console.log("Rainbow stopped."); document.getElementsByTagName("BUTTON")[9].innerHTML = "START"; document.getElementsByTagName("BUTTON")[9].onclick = function() { rainWhole(); };
- };
- };
- // PHYSICS BY ELECTRASHAVE //////////////////////////////
- document.getElementsByTagName("BUTTON")[10].onclick = function() { physOn(); };
- function physOn() {
- var mass = 100;
- var gravity = 5;
- var friction = 4;
- var pos = {x: 50, y: 50};
- var pos2 = {x: 50, y: 50};
- var acc = {x: 0, y: 0};
- var vel = {x: 0, y: 0};
- var followPos = {x: 50, y: 50};
- MPP.client.on("m", function(msg) {
- var part = MPP.client.findParticipantById(msg.id);
- if (part._id == MPP.client.user._id) return;
- followPos.x = +msg.x;
- followPos.y = +msg.y;
- });
- var physInterval = setInterval(function() {
- pos2.x = followPos.x;
- pos2.y = followPos.y;
- acc.x = ((pos2.x-pos.x) - (friction*vel.x))/mass;
- acc.y = ((pos2.y-pos.y) - (friction*vel.y) + gravity)/mass;
- vel.x += acc.x;
- vel.y += acc.y;
- pos.x += vel.x;
- pos.y += vel.y;
- MPP.client.sendArray([{m: "m", x: MPP.client.getOwnParticipant().x = pos.x, y: MPP.client.getOwnParticipant().y = pos.y}]);
- }, 15);
- document.getElementsByTagName("BUTTON")[10].innerHTML = "Follow: ON"
- document.getElementsByTagName("BUTTON")[10].onclick = function() { clearInterval(physInterval); document.getElementsByTagName("BUTTON")[10].innerHTML = "Follow: OFF"; document.getElementsByTagName("BUTTON")[10].onclick = function() { physOn(); };
- };
- };
- //Errors...
- var err_00 = verNum + " Error - Speed must be above 500ms!"
- var err_01 = verNum + " Error - Stop rainbow to change color manually!"
- // PONG BY ELECTRASHAVE //////////////////////////////
- function Pong() {
- this.enabled = false;
- this.client = MPP.client; //change MPP.client to whichever variable you're using
- this.vx = 0.5;
- this.vy = 1.2;
- this.x = 0.0;
- this.y = 0.0;
- let self = this;
- }
- Pong.prototype.tick = function() {
- this.x += this.vx;
- this.y += this.vy;
- if (this.x < 0) {
- this.vx = -this.vx;
- } else if (this.x > 100) {
- this.vx = -this.vx;
- }
- if (this.y < 0) {
- this.vy = -this.vy;
- } else if (this.y > 100) {
- this.vy = -this.vy;
- }
- this.client.getOwnParticipant().x = this.x;
- this.client.getOwnParticipant().y = this.y;
- this.client.sendArray([{
- m: "m",
- x: this.x,
- y: this.y
- }]);
- }
- Pong.prototype.start = function (speed) {
- if (this.enabled) return;
- if (!this.speed) {
- if (!speed) speed = 50;
- this.speed = speed;
- }
- this.enabled = true;
- var self = this;
- this.interval = setInterval(function() {
- self.tick();
- }, this.speed);
- }
- Pong.prototype.stop = function() {
- if (!this.enabled) return;
- this.enabled = false;
- clearInterval(this.interval);
- }
- Pong.prototype.setSpeed = function(speed) {
- if (!speed) {
- throw new Error("Speed not defined! Defaulting to 50..");
- speed = 50;
- }
- this.speed = speed;
- if (this.enabled) {
- clearInterval(this.interval);
- var self = this;
- this.interval = setInterval(function() {
- self.tick();
- }, this.speed);
- }
- }
- var pong = new Pong();
- document.getElementsByTagName("BUTTON")[11].onclick = function() {
- pong.start();
- document.getElementsByTagName("BUTTON")[11].innerHTML = "Pong: ON"
- document.getElementsByTagName("BUTTON")[11].onclick = function() { pong.stop();
- document.getElementsByTagName("BUTTON")[11].innerHTML = "Pong: OFF"; document.getElementsByTagName("BUTTON")[11].onclick = function() { pong.start(); };
- };
- };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement