Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // ==UserScript==
- // @name colorthis.js
- // @namespace http://tampermonkey.net/
- // @version 0.3.1
- // @description ColorThis.space Bot
- // @author mbarkhau, draradech, Anonymous
- // @match colorthis.space
- // @grant none
- // ==/UserScript==
- (function() {
- 'use strict';
- var images =
- [
- {
- offsetX: 229, // EDIT TO CHANGE COORDINATES
- offsetY: 576, // EDIT TO CHANGE COORDINATES
- data:
- [
- "rrrrrrrrrrrrrrr",
- "rrrrrrrrrrrrrrr",
- "ooooooooooooooo",
- "ooooooooooooooo",
- "yyyyyyyyyyyyyyy",
- "yyyyyyyyyyyyyyy",
- "$$$$$$$$$$$$$$$",
- "$$$$$$$$$$$$$$$",
- "&&&&&&&&&&&&&&&",
- "&&&&&&&&&&&&&&&",
- "///////////////",
- "///////////////",
- ]
- },
- {
- offsetX: 444, // EDIT TO CHANGE COORDINATES
- offsetY: 812, // EDIT TO CHANGE COORDINATES
- data:
- [
- "rrrrrrrrrrrrrrrrrrrrrrrrrrrr",
- "rrrrrrrrrrrrrrrrrrrrrrrrrrrr",
- "rrrrrrrrrrrrrrrrrrrrrrrrrrrr",
- "rrrrrrrrrrrrrrrrrrrrrrrrrrrr",
- "oooooooooooooooooooooooooooo",
- "oooooooooooooooooooooooooooo",
- "oooooooooooooooooooooooooooo",
- "oooooooooooooooooooooooooooo",
- "yyyyyyyyyyyyyyyyyyyyyyyyyyyy",
- "yyyyyyyyyyyyyyyyyyyyyyyyyyyy",
- "yyyyyyyyyyyyyyyyyyyyyyyyyyyy",
- "yyyyyyyyyyyyyyyyyyyyyyyyyyyy",
- "$$$$$$$$$$$$$$$$$$$$$$$$$$$$",
- "$$$$$$$$$$$$$$$$$$$$$$$$$$$$",
- "$$$$$$$$$$$$$$$$$$$$$$$$$$$$",
- "$$$$$$$$$$$$$$$$$$$$$$$$$$$$",
- "&&&&&&&&&&&&&&&&&&&&&&&&&&&&",
- "&&&&&&&&&&&&&&&&&&&&&&&&&&&&",
- "&&&&&&&&&&&&&&&&&&&&&&&&&&&&",
- "&&&&&&&&&&&&&&&&&&&&&&&&&&&&",
- "////////////////////////////",
- "////////////////////////////",
- "////////////////////////////",
- "////////////////////////////",
- ]
- }
- ];
- var colormap =
- {
- "0": 0, // white
- "1": 1, // lightGrey
- "2": 2, // grey
- "3": 3, // black
- "p": 4, // pink
- "r": 5, // red
- "o": 6, // orange
- "b": 7, // brown
- "y": 8, // yellow
- "#": 9, // lightGreen
- "$": 10, // green
- "c": 11, // cyan
- "%": 12, // teal
- "&": 13, // blue
- "f": 14, // fuchsia
- "/": 15, // purple
- "*": -1 // don't care
- };
- function strToRgb(str)
- {
- var result = /rgb\((\d*), (\d*), (\d*)\)/i.exec(str);
- return result ? {
- r: parseInt(result[1]),
- g: parseInt(result[2]),
- b: parseInt(result[3])
- } : null;
- }
- var image_data = [];
- for (var i = 0; i < images.length; i++)
- {
- image_data[i] = [];
- var image = images[i].data;
- for (var relY = 0; relY < image.length; relY++)
- {
- var row = image[relY];
- for (var relX = 0; relX < row.length; relX++)
- {
- var color = colormap[row[relX]];
- if (color < 0)
- {
- continue;
- }
- var absX = images[i].offsetX + relX;
- var absY = images[i].offsetY + relY;
- image_data[i].push(absX);
- image_data[i].push(absY);
- image_data[i].push(color);
- }
- }
- }
- var lut = [];
- setInterval(function()
- {
- if (lut.length === 0)
- {
- for (var i = 0, len = colors.length; i < len; i++)
- {
- var rgb = strToRgb(colors[i]);
- lut[rgb.r << 16 | rgb.g << 8 | rgb.b] = i;
- }
- }
- if (lastPlaceTime > 0 && cooldown > new Date().getTime() - lastPlaceTime)
- {
- return;
- }
- for(var i = 0; i < images.length; i++)
- {
- image = images[i];
- for (var h = 0; h < image_data[i].length; h += 3) {
- var j = Math.floor((Math.random() * image_data[i].length) / 3) * 3;
- var x = image_data[i][j + 0];
- var y = image_data[i][j + 1];
- var color = image_data[i][j + 2];
- var data = canvas.getContext("2d").getImageData(x, y, 1, 1);
- var currentColor = lut[data.data[0] << 16 | data.data[1] << 8 | data.data[2]];
- if (currentColor != color)
- {
- console.log("prio ", i, "try ", x, y, "(", currentColor, " -> ", color, ")");
- tryColorPixel(x, y, color);
- return;
- }
- }
- console.log("nothing to do for prio ", i);
- }
- console.log("noop");
- }, 11000);
- })();
Advertisement
Add Comment
Please, Sign In to add comment