Guest User

Untitled

a guest
Apr 7th, 2017
418
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.04 KB | None | 0 0
  1. // ==UserScript==
  2. // @name colorthis.js
  3. // @namespace http://tampermonkey.net/
  4. // @version 0.3.1
  5. // @description ColorThis.space Bot
  6. // @author mbarkhau, draradech, Anonymous
  7. // @match colorthis.space
  8. // @grant none
  9. // ==/UserScript==
  10.  
  11. (function() {
  12. 'use strict';
  13.  
  14. var images =
  15. [
  16. {
  17. offsetX: 229, // EDIT TO CHANGE COORDINATES
  18. offsetY: 576, // EDIT TO CHANGE COORDINATES
  19. data:
  20. [
  21. "rrrrrrrrrrrrrrr",
  22. "rrrrrrrrrrrrrrr",
  23. "ooooooooooooooo",
  24. "ooooooooooooooo",
  25. "yyyyyyyyyyyyyyy",
  26. "yyyyyyyyyyyyyyy",
  27. "$$$$$$$$$$$$$$$",
  28. "$$$$$$$$$$$$$$$",
  29. "&&&&&&&&&&&&&&&",
  30. "&&&&&&&&&&&&&&&",
  31. "///////////////",
  32. "///////////////",
  33. ]
  34. },
  35. {
  36. offsetX: 444, // EDIT TO CHANGE COORDINATES
  37. offsetY: 812, // EDIT TO CHANGE COORDINATES
  38. data:
  39. [
  40. "rrrrrrrrrrrrrrrrrrrrrrrrrrrr",
  41. "rrrrrrrrrrrrrrrrrrrrrrrrrrrr",
  42. "rrrrrrrrrrrrrrrrrrrrrrrrrrrr",
  43. "rrrrrrrrrrrrrrrrrrrrrrrrrrrr",
  44. "oooooooooooooooooooooooooooo",
  45. "oooooooooooooooooooooooooooo",
  46. "oooooooooooooooooooooooooooo",
  47. "oooooooooooooooooooooooooooo",
  48. "yyyyyyyyyyyyyyyyyyyyyyyyyyyy",
  49. "yyyyyyyyyyyyyyyyyyyyyyyyyyyy",
  50. "yyyyyyyyyyyyyyyyyyyyyyyyyyyy",
  51. "yyyyyyyyyyyyyyyyyyyyyyyyyyyy",
  52. "$$$$$$$$$$$$$$$$$$$$$$$$$$$$",
  53. "$$$$$$$$$$$$$$$$$$$$$$$$$$$$",
  54. "$$$$$$$$$$$$$$$$$$$$$$$$$$$$",
  55. "$$$$$$$$$$$$$$$$$$$$$$$$$$$$",
  56. "&&&&&&&&&&&&&&&&&&&&&&&&&&&&",
  57. "&&&&&&&&&&&&&&&&&&&&&&&&&&&&",
  58. "&&&&&&&&&&&&&&&&&&&&&&&&&&&&",
  59. "&&&&&&&&&&&&&&&&&&&&&&&&&&&&",
  60. "////////////////////////////",
  61. "////////////////////////////",
  62. "////////////////////////////",
  63. "////////////////////////////",
  64. ]
  65. }
  66. ];
  67.  
  68.  
  69.  
  70. var colormap =
  71. {
  72. "0": 0, // white
  73. "1": 1, // lightGrey
  74. "2": 2, // grey
  75. "3": 3, // black
  76. "p": 4, // pink
  77. "r": 5, // red
  78. "o": 6, // orange
  79. "b": 7, // brown
  80. "y": 8, // yellow
  81. "#": 9, // lightGreen
  82. "$": 10, // green
  83. "c": 11, // cyan
  84. "%": 12, // teal
  85. "&": 13, // blue
  86. "f": 14, // fuchsia
  87. "/": 15, // purple
  88. "*": -1 // don't care
  89. };
  90.  
  91. function strToRgb(str)
  92. {
  93. var result = /rgb\((\d*), (\d*), (\d*)\)/i.exec(str);
  94. return result ? {
  95. r: parseInt(result[1]),
  96. g: parseInt(result[2]),
  97. b: parseInt(result[3])
  98. } : null;
  99. }
  100.  
  101. var image_data = [];
  102. for (var i = 0; i < images.length; i++)
  103. {
  104. image_data[i] = [];
  105. var image = images[i].data;
  106. for (var relY = 0; relY < image.length; relY++)
  107. {
  108. var row = image[relY];
  109. for (var relX = 0; relX < row.length; relX++)
  110. {
  111. var color = colormap[row[relX]];
  112. if (color < 0)
  113. {
  114. continue;
  115. }
  116. var absX = images[i].offsetX + relX;
  117. var absY = images[i].offsetY + relY;
  118. image_data[i].push(absX);
  119. image_data[i].push(absY);
  120. image_data[i].push(color);
  121. }
  122. }
  123. }
  124.  
  125. var lut = [];
  126. setInterval(function()
  127. {
  128. if (lut.length === 0)
  129. {
  130. for (var i = 0, len = colors.length; i < len; i++)
  131. {
  132. var rgb = strToRgb(colors[i]);
  133. lut[rgb.r << 16 | rgb.g << 8 | rgb.b] = i;
  134. }
  135. }
  136. if (lastPlaceTime > 0 && cooldown > new Date().getTime() - lastPlaceTime)
  137. {
  138. return;
  139. }
  140. for(var i = 0; i < images.length; i++)
  141. {
  142. image = images[i];
  143. for (var h = 0; h < image_data[i].length; h += 3) {
  144. var j = Math.floor((Math.random() * image_data[i].length) / 3) * 3;
  145. var x = image_data[i][j + 0];
  146. var y = image_data[i][j + 1];
  147. var color = image_data[i][j + 2];
  148.  
  149. var data = canvas.getContext("2d").getImageData(x, y, 1, 1);
  150. var currentColor = lut[data.data[0] << 16 | data.data[1] << 8 | data.data[2]];
  151.  
  152. if (currentColor != color)
  153. {
  154. console.log("prio ", i, "try ", x, y, "(", currentColor, " -> ", color, ")");
  155. tryColorPixel(x, y, color);
  156. return;
  157. }
  158. }
  159. console.log("nothing to do for prio ", i);
  160. }
  161. console.log("noop");
  162. }, 11000);
  163.  
  164. })();
Advertisement
Add Comment
Please, Sign In to add comment