Created
April 2, 2017 21:09
-
-
Save NiKiZe/148a92f841c6a653d1058726f7db1bb5 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// ==UserScript== | |
// @name PlacePaintBot | |
// @namespace http://tampermonkey.net/ | |
// @version 1.0 | |
// @description Big Bitcoin logo on r/place. Final result- http://imgur.com/a/OXy65 | |
// @author mbarkhau, modified by random003 | |
// @match https://www.reddit.com/place?webview=true | |
// @grant none | |
// ==/UserScript== | |
(function() { | |
'use strict'; | |
var debug = false; | |
var images = [ | |
// ordered by priority. | |
// use the debug flag to test your images! | |
{ | |
offsetX: 0, | |
offsetY: 0, | |
text: [ | |
// Bitcoin Logo | |
" ", | |
" GGGGGGGG ", | |
" GGGGGGGGGGGGGGG ", | |
" GGGGGGGGGGGGGGGGGGG ", | |
" GGGGGGGGGGGGGGGGGGGGGG ", | |
" GGGGGGGGGGGGGGGGGGGGGGGGGG ", | |
" GGGGGGGGGGGGGGGGGGGGGGGGGGGG ", | |
" GGGGGGGGGGGGGGGGGGGGGGGGGGGGGG ", | |
" GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG ", | |
" GGGGGGGGGGGGGGGG GGGGGGGGGGGGGGGG ", | |
" GGGGGGGGGGGGGGGG GG GGGGGGGGGGGG ", | |
" GGGGGGGGGGGGGGGGG GG GGGGGGGGGGGGG ", | |
" GGGGGGGGGGGG G GG GGGGGGGGGGGGGG ", | |
" GGGGGGGGGGGG G GGGGGGGGGGGGGG ", | |
" GGGGGGGGGGGGGG GGGGGGGGGGGGGGG ", | |
" GGGGGGGGGGGGGGGG GGGGGGGGGGGGG ", | |
" GGGGGGGGGGGGGGGG GGG GGGGGGGGGGGG ", | |
" GGGGGGGGGGGGGGGG GGGG GGGGGGGGGGGG ", | |
" GGGGGGGGGGGGGGG GGGGGG GGGGGGGGGGGG ", | |
" GGGGGGGGGGGGGGGG GGGGGG GGGGGGGGGGGG ", | |
" GGGGGGGGGGGGGGGG GGGGGG GGGGGGGGGGGG ", | |
" GGGGGGGGGGGGGGGG GGGGGGGGGGGG ", | |
" GGGGGGGGGGGGGGG GGGGGGGGGGGGG ", | |
" GGGGGGGGGGGGGGG GGG GGGGGGGGGGGGGG ", | |
" GGGGGGGGGGGGGGG GGGGG GGGGGGGGGGGGG ", | |
" GGGGGGGGGGGGGGG GGGGGG GGGGGGGGGGGG ", | |
" GGGGGGGGGGGGGG GGGGGGG GGGGGGGGGGGG ", | |
" GGGGGGGGGG GGGGGGG GGGGGGGGGGGG ", | |
" GGGGGGGGGG GGGG GGGGGGGGGGGG ", | |
" GGGGGGGGGGG GGGGGGGGGGGG ", | |
" GGGGGGGGGGGGG GGGGGGGGGGGG ", | |
" GGGGGGGGGGGGG GG GGGGGGGGGGGGGG ", | |
" GGGGGGGGGGGGG GG GGGGGGGGGGGGGGGGGGG ", | |
" GGGGGGGGGGG GG GGGGGGGGGGGGGGGGGG ", | |
" GGGGGGGGGGGGGGG GGGGGGGGGGGGGGGGGG ", | |
" GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG ", | |
" GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG ", | |
" GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG ", | |
" GGGGGGGGGGGGGGGGGGGGGGGGGGGG ", | |
" GGGGGGGGGGGGGGGGGGGGGGGGGG ", | |
" GGGGGGGGGGGGGGGGGGGGGGGG ", | |
" GGGGGGGGGGGGGGGGGGGG ", | |
" GGGGGGGGGGGGGGGG ", | |
" GGGGGGGGGG ", | |
" ", | |
], | |
}, | |
{ | |
offsetX: 0, | |
offsetY: 0, | |
text: [ | |
// Bitcoin Logo | |
"..........................................................................................................................................................................................................", | |
"..................GGGGGGGG.................................BBB............................................................................................................................................", | |
"...............GGGGGGGGGGGGGGG.......................BBBBBBBB......................BBBBBB.................................................................................BBBBBB..........................", | |
".............GGGGGGGGGGGGGGGGGGG.....................BBBBBBBB.....................BBBBBBBB...............................................................................BBBBBBBB.........................", | |
"...........GGGGGGGGGGGGGGGGGGGGGG....................BBBBBBBB....................BBBBBBBBB..............................................................................BBBBBBBBB.........................", | |
".........GGGGGGGGGGGGGGGGGGGGGGGGGG.................BBBBBBBBB...................BBBBBBBBBB..............................................................................BBBBBBBBB.........................", | |
"........GGGGGGGGGGGGGGGGGGGGGGGGGGGG................BBBBBBBBB...................BBBBBBBBBB...........BB................................................................BBBBBBBBBB.........................", | |
".......GGGGGGGGGGGGGGGGGGGGGGGGGGGGGG...............BBBBBBBB....................BBBBBBBBBB.....BBBBBBBB................................................................BBBBBBBBBB.........................", | |
"......GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG..............BBBBBBBB....................BBBBBBBBBB....BBBBBBBB.................................................................BBBBBBBBBB.........................", | |
".....GGGGGGGGGGGGGGGG..GGGGGGGGGGGGGGGG............BBBBBBBBB.....................BBBBBBBB.....BBBBBBBB..................................................................BBBBBBBB..........................", | |
".....GGGGGGGGGGGGGGGG..GG...GGGGGGGGGGGG...........BBBBBBBBB.....................BBBBBBB.....BBBBBBBBB...................................................................BBBBBB...........................", | |
"....GGGGGGGGGGGGGGGGG..GG..GGGGGGGGGGGGG...........BBBBBBBB.........................B........BBBBBBBBB.....................................................................BB.............................", | |
"....GGGGGGGGGGGG....G..GG..GGGGGGGGGGGGGG..........BBBBBBBB..................................BBBBBBBB.....................................................................................................", | |
"...GGGGGGGGGGGG.........G..GGGGGGGGGGGGGG.........BBBBBBBBB..................................BBBBBBBB.....................................................................................................", | |
"...GGGGGGGGGGGGGG..........GGGGGGGGGGGGGGG........BBBBBBBBB.BBBBBB..........................BBBBBBBBB....................BBBBBBBBB..............BBBBBBBBB.................................BBBBBBBBB.......", | |
"..GGGGGGGGGGGGGGGG...........GGGGGGGGGGGGG........BBBBBBBBBBBBBBBBBB...........BBBBBBBBB....BBBBBBBBBBBBBBBBB.........BBBBBBBBBBBBBBB.........BBBBBBBBBBBBB...........BBBBBBBBB.......BBBBBBBBBBBBBBBB....", | |
"..GGGGGGGGGGGGGGGG....GGG.....GGGGGGGGGGGG........BBBBBBBBBBBBBBBBBBB..........BBBBBBBB.....BBBBBBBBBBBBBBBBB.......BBBBBBBBBBBBBBBBB.......BBBBBBBBBBBBBBBB..........BBBBBBBB......BBBBBBBBBBBBBBBBBBB...", | |
"..GGGGGGGGGGGGGGGG....GGGG.....GGGGGGGGGGGG.......BBBBBBBBBBBBBBBBBBBB.........BBBBBBBB.....BBBBBBBBBBBBBBBBB......BBBBBBBBBBBBBBBBBB......BBBBBBBBBBBBBBBBBB.........BBBBBBBB......BBBBBBBBBBBBBBBBBBBB..", | |
"..GGGGGGGGGGGGGGG....GGGGGG....GGGGGGGGGGGG......BBBBBBBBBBBBBBBBBBBBBB.......BBBBBBBBB.....BBBBBBBBBBBBBBBBB.....BBBBBBBBBBBBBBBBBB......BBBBBBBBBBBBBBBBBBBB........BBBBBBBB.....BBBBBBBBBBBBBBBBBBBBBB.", | |
".GGGGGGGGGGGGGGGG....GGGGGG....GGGGGGGGGGGG......BBBBBBBBBBBBBBBBBBBBBB.......BBBBBBBBB....BBBBBBBBBBBBBBBBB.....BBBBBBBBBBBBBBBBBBB.....BBBBBBBBBBBBBBBBBBBBB.......BBBBBBBBB.....BBBBBBBBBBBBBBBBBBBBBB.", | |
".GGGGGGGGGGGGGGGG....GGGGGG....GGGGGGGGGGGG......BBBBBBBBBBBBBBBBBBBBBBB......BBBBBBBB.....BBBBBBBBBBBBBBBBB....BBBBBBBBBBBBBBBBBBBB....BBBBBBBBBBBBBBBBBBBBBBB......BBBBBBBBB.....BBBBBBBBBBBBBBBBBBBBBB.", | |
".GGGGGGGGGGGGGGGG..............GGGGGGGGGGGG......BBBBBBBBB....BBBBBBBBBB......BBBBBBBB.....BBBBBBBBBBBBBBBBB....BBBBBBBBBBB.....BBB....BBBBBBBBBBB....BBBBBBBBB......BBBBBBBB......BBBBBBBB.....BBBBBBBBB.", | |
".GGGGGGGGGGGGGGG..............GGGGGGGGGGGGG.....BBBBBBBBB......BBBBBBBBB......BBBBBBBB.....BBBBBBBB............BBBBBBBBBB..............BBBBBBBBB.......BBBBBBBB......BBBBBBBB.....BBBBBBBBB......BBBBBBBB.", | |
".GGGGGGGGGGGGGGG....GGG......GGGGGGGGGGGGGG.....BBBBBBBBB.......BBBBBBBB.....BBBBBBBBB....BBBBBBBBB...........BBBBBBBBBB..............BBBBBBBBB........BBBBBBBBB....BBBBBBBBB.....BBBBBBBB.......BBBBBBBB.", | |
".GGGGGGGGGGGGGGG....GGGGG.....GGGGGGGGGGGGG.....BBBBBBBB........BBBBBBBBB....BBBBBBBB.....BBBBBBBBB...........BBBBBBBBB...............BBBBBBBBB........BBBBBBBBB....BBBBBBBBB.....BBBBBBBB.......BBBBBBBB.", | |
".GGGGGGGGGGGGGGG....GGGGGG.....GGGGGGGGGGGG.....BBBBBBBB........BBBBBBBBB....BBBBBBBB.....BBBBBBBB............BBBBBBBB................BBBBBBBB.........BBBBBBBBB....BBBBBBBB......BBBBBBBB.......BBBBBBBB.", | |
".GGGGGGGGGGGGGG....GGGGGGG.....GGGGGGGGGGGG....BBBBBBBBB........BBBBBBBBB....BBBBBBBB.....BBBBBBBB...........BBBBBBBBB...............BBBBBBBBB.........BBBBBBBBB....BBBBBBBB.....BBBBBBBBB.......BBBBBBBB.", | |
"..GGGGGGGGGG.......GGGGGGG.....GGGGGGGGGGGG....BBBBBBBBB........BBBBBBBBB...BBBBBBBBB....BBBBBBBBB...........BBBBBBBBB...............BBBBBBBB..........BBBBBBBBB...BBBBBBBBB.....BBBBBBBBB.......BBBBBBBB.", | |
"..GGGGGGGGGG.........GGGG......GGGGGGGGGGGG....BBBBBBBB.........BBBBBBBB....BBBBBBBBB....BBBBBBBBB...........BBBBBBBB................BBBBBBBB..........BBBBBBBBB...BBBBBBBBB.....BBBBBBBB.......BBBBBBBBB.", | |
"..GGGGGGGGGGG.................GGGGGGGGGGGG.....BBBBBBBB.........BBBBBBBB....BBBBBBBB.....BBBBBBBB............BBBBBBBB................BBBBBBBB..........BBBBBBBB....BBBBBBBB......BBBBBBBB.......BBBBBBBBB.", | |
"...GGGGGGGGGGGGG..............GGGGGGGGGGGG....BBBBBBBBB.........BBBBBBBB....BBBBBBBB.....BBBBBBBB............BBBBBBBB................BBBBBBBB..........BBBBBBBB....BBBBBBBB.....BBBBBBBBB.......BBBBBBBB..", | |
"...GGGGGGGGGGGGG..GG........GGGGGGGGGGGGGG....BBBBBBBBB........BBBBBBBBB...BBBBBBBBB.....BBBBBBBB............BBBBBBBB................BBBBBBBB.........BBBBBBBBB...BBBBBBBBB.....BBBBBBBBB.......BBBBBBBB..", | |
"...GGGGGGGGGGGGG..GG..GGGGGGGGGGGGGGGGGGG.....BBBBBBBB.........BBBBBBBB....BBBBBBBBB....BBBBBBBBB............BBBBBBBB................BBBBBBBB.........BBBBBBBBB...BBBBBBBBB.....BBBBBBBB.......BBBBBBBBB..", | |
"....GGGGGGGGGGG...GG..GGGGGGGGGGGGGGGGGG......BBBBBBBB........BBBBBBBBB....BBBBBBBB.....BBBBBBBBB............BBBBBBBBB...............BBBBBBBB.........BBBBBBBB....BBBBBBBB......BBBBBBBB.......BBBBBBBBB..", | |
".....GGGGGGGGGGGGGGG..GGGGGGGGGGGGGGGGGG......BBBBBBBB.......BBBBBBBBBB....BBBBBBBB.....BBBBBBBBB............BBBBBBBBB...............BBBBBBBB........BBBBBBBBB....BBBBBBBB.....BBBBBBBBB.......BBBBBBBB...", | |
".....GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG......BBBBBBBBB......BBBBBBBBBB....BBBBBBBBB.....BBBBBBBBB............BBBBBBBBBB..............BBBBBBBBB......BBBBBBBBB.....BBBBBBBB.....BBBBBBBBB.......BBBBBBBB...", | |
"......GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG.......BBBBBBBB......BBBBBBBBBB.....BBBBBBBBB.....BBBBBBBBBB......B....BBBBBBBBBBB......BB.....BBBBBBBBBB....BBBBBBBBBB....BBBBBBBBB.....BBBBBBBB.......BBBBBBBBB...", | |
".......GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG.......BBBBBBBBBBBBBBBBBBBBBBBB.....BBBBBBBB......BBBBBBBBBBBBBBBBB.....BBBBBBBBBBBBBBBBBBB....BBBBBBBBBBBBBBBBBBBBBBB.....BBBBBBBB......BBBBBBBB.......BBBBBBBBB...", | |
"........GGGGGGGGGGGGGGGGGGGGGGGGGGGG.........BBBBBBBBBBBBBBBBBBBBBBB......BBBBBBBB......BBBBBBBBBBBBBBBBB.....BBBBBBBBBBBBBBBBBBB.....BBBBBBBBBBBBBBBBBBBBB......BBBBBBBB......BBBBBBBB.......BBBBBBBBB...", | |
".........GGGGGGGGGGGGGGGGGGGGGGGGGG.........BBBBBBBBBBBBBBBBBBBBBBB.......BBBBBBBB.......BBBBBBBBBBBBBBBB......BBBBBBBBBBBBBBBBBB.....BBBBBBBBBBBBBBBBBBBBB......BBBBBBBB.....BBBBBBBBB.......BBBBBBBB....", | |
"..........GGGGGGGGGGGGGGGGGGGGGGGG..........BBBBBBBBBBBBBBBBBBBBBB.......BBBBBBBBB.......BBBBBBBBBBBBBBBBB.....BBBBBBBBBBBBBBBBBB......BBBBBBBBBBBBBBBBBB.......BBBBBBBBB.....BBBBBBBBB.......BBBBBBBB....", | |
"............GGGGGGGGGGGGGGGGGGGG............BBBBBBBBBBBBBBBBBBBB.........BBBBBBBBB........BBBBBBBBBBBBBBBB.......BBBBBBBBBBBBBBBB.......BBBBBBBBBBBBBBBB........BBBBBBBB......BBBBBBBB.......BBBBBBBBB....", | |
"..............GGGGGGGGGGGGGGGG...............BBBBBBBBBBBBBBBBBB..........BBBBBBBB..........BBBBBBBBBBBBBBB........BBBBBBBBBBBBBBB........BBBBBBBBBBBBBB.........BBBBBBBB......BBBBBBBB.......BBBBBBBBB....", | |
".................GGGGGGGGGG.....................BBBBBBBBBBBB.................................BBBBBBBBBB.............BBBBBBBBBB.............BBBBBBBBB......................................................", | |
"..........................................................................................................................................................................................................", | |
], | |
}, | |
]; | |
var colors = { | |
".": 1, // gray, because white doesnt seem to work | |
"B": 3, // black | |
"G": 6, // gold | |
" ": -1, // ignore | |
}; | |
for (var img_idx = 0; img_idx < images.length; img_idx++) { | |
var image = images[img_idx]; | |
image.image_data = []; | |
for (var relY = 0; relY < image.text.length; relY++) { | |
var row = image.text[relY]; | |
for (var relX = 0; relX < row.length; relX++) { | |
var color = colors[row[relX]] || -1; | |
if (color < 0) { | |
continue; | |
} | |
var absX = image.offsetX + relX; | |
var absY = image.offsetY + relY; | |
image.image_data.push(absX); | |
image.image_data.push(absY); | |
image.image_data.push(color); | |
} | |
} | |
} | |
var default_panX = 400; | |
var default_panY = 400; | |
var p = r.place; | |
p.panX = default_panX; | |
p.panY = default_panY; | |
r.placeModule("placePaintBot", function(loader) { | |
var c = loader("canvasse"); | |
var r = loader("client"); | |
setInterval(function() { | |
var tl = p.getCooldownTimeRemaining(); | |
if (!debug && tl > 200) {return;} | |
for (var img_idx = 0; img_idx < images.length; img_idx++) { | |
var image = images[img_idx]; | |
for (var i = 0; i < image.image_data.length; i += 3) { | |
var j = Math.floor((Math.random() * image.image_data.length) / 3) * 3; | |
var x = image.image_data[j + 0]; | |
var y = image.image_data[j + 1]; | |
var color = image.image_data[j + 2]; | |
var currentColor = p.state[c.getIndexFromCoords(x, y)]; | |
if (currentColor != color) { | |
if (debug) { | |
p.state[c.getIndexFromCoords(x, y)] = color; | |
c.setBufferState(c.getIndexFromCoords(x, y), r.getPaletteColorABGR(color)); | |
} else { | |
console.log("set color for", x, y, "old", currentColor, "new", color); | |
p.setColor(color); | |
p.drawTile(x, y); | |
} | |
return; | |
} | |
} | |
} | |
}, 1000); | |
}); | |
})(); |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment