Advertisement
Guest User

/r/place RPI text & logo (v4)

a guest
Apr 3rd, 2017
385
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. var colors = [
  2.   -1, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,-1,
  3.   -1, 3, 3, 3, 3, 3, 3, 3, 3, 3, 5, 5, 5, 3, 3, 5, 5, 5, 3, 3, 5, 3,-1,
  4.   -1, 3, 3, 5, 5, 3, 3, 3, 5, 3, 5, 3, 3, 5, 3, 5, 3, 3, 5, 3, 5, 3,-1,
  5.   -1, 3, 5, 3, 3, 5, 3, 5, 3, 3, 5, 3, 3, 5, 3, 5, 3, 3, 5, 3, 5, 3,-1,
  6.   -1, 3, 5, 3, 3, 3, 3, 5, 3, 3, 5, 5, 5, 3, 3, 5, 5, 5, 3, 3, 5, 3,-1,
  7.   -1, 3, 5, 3, 3, 3, 5, 3, 3, 3, 5, 3, 3, 5, 3, 5, 3, 3, 3, 3, 5, 3,-1,
  8.   -1, 3, 5, 3, 3, 3, 5, 3, 3, 3, 5, 3, 3, 5, 3, 5, 3, 3, 3, 3, 5, 3,-1,
  9.   -1, 3, 5, 3, 3, 5, 3, 3, 3, 3, 5, 3, 3, 5, 3, 5, 3, 3, 3, 3, 5, 3,-1,
  10.   -1, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,-1,
  11.   -1,-1,-1,-1,-1, 3, 3, 3, 5, 5, 5, 5, 5, 5, 5, 3, 3, 3,-1,-1,-1,-1,-1,
  12.   -1,-1,-1,-1, 3, 3, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 3, 3,-1,-1,-1,-1,
  13.   -1,-1,-1, 3, 3, 5, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 5, 3, 3,-1,-1,-1,
  14.   -1,-1, 3, 3, 5, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 5, 3, 3,-1,-1,
  15.   -1, 3, 3, 5, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 5, 3, 3,-1,
  16.   -1, 3, 5, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 5, 3,-1,
  17.    3, 3, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 3, 3,
  18.    3, 5, 5, 0, 0, 5, 5, 5, 5, 0, 0, 5, 5, 5, 5, 0, 0, 5, 0, 0, 5, 3, 3,
  19.    3, 5, 5, 0, 0, 5, 0, 0, 0, 5, 0, 5, 0, 0, 0, 5, 0, 5, 0, 0, 5, 5, 3,
  20.    3, 5, 5, 0, 0, 5, 0, 0, 0, 5, 0, 5, 0, 0, 0, 5, 0, 5, 0, 0, 5, 5, 3,
  21.    3, 5, 5, 0, 0, 5, 5, 5, 5, 0, 0, 5, 5, 5, 5, 0, 0, 5, 0, 0, 5, 5, 3,
  22.    3, 5, 5, 0, 0, 5, 0, 0, 0, 5, 0, 5, 0, 0, 0, 0, 0, 5, 0, 0, 5, 5, 3,
  23.    3, 5, 5, 0, 0, 5, 0, 0, 0, 5, 0, 5, 0, 0, 0, 0, 0, 5, 0, 0, 5, 5, 3,
  24.    3, 5, 5, 0, 0, 5, 0, 0, 0, 5, 0, 5, 0, 0, 0, 0, 0, 5, 0, 0, 5, 5, 3,
  25.    3, 3, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 3, 3,
  26.   -1, 3, 5, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 5, 3,-1,
  27.   -1, 3, 3, 5, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 5, 3, 3,-1,
  28.   -1,-1, 3, 3, 5, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 5, 3, 3,-1,-1,
  29.   -1,-1,-1, 3, 3, 5, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 5, 3, 3,-1,-1,-1,
  30.   -1,-1,-1,-1, 3, 3, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 3, 3,-1,-1,-1,-1,
  31.   -1,-1,-1,-1,-1, 3, 3, 3, 5, 5, 5, 5, 5, 5, 5, 3, 3, 3,-1,-1,-1,-1,-1,
  32.   -1,-1,-1,-1,-1,-1,-1, 3, 3, 3, 3, 3, 3, 3, 3, 3,-1,-1,-1,-1,-1,-1,-1
  33. ];
  34.  
  35. var colorsABGR = [];
  36.  
  37. var rpi = {
  38.   x: 886,
  39.   y: 520,
  40.   width: 23,
  41.   height: 31
  42. };
  43.  
  44. var placed = 0;
  45.  
  46. // hooks
  47. var client;
  48. var canvasse;
  49. var jQuery;
  50.  
  51. var test = 0;
  52.  
  53. r.placeModule("Rpi", function(e){
  54.   client = e("client");
  55.   canvasse = e("canvasse");
  56.   jQuery = e("jQuery");
  57.  
  58.   for(var i=0; i<client.palette.length; i++){
  59.     colorsABGR[i] = client.getPaletteColorABGR(i);
  60.   }
  61.  
  62.   // Start
  63.   if(!test){
  64.     attempt();
  65.   } else {
  66.     drawTestRPI();
  67.   }
  68. });
  69.  
  70. function attempt(){
  71.   var toWait = client.getCooldownTimeRemaining();
  72.   if(toWait === 0){
  73.      for(var i=0; i<colors.length; i++){
  74.         if(colors[i] === -1){
  75.           continue;
  76.         }
  77.         var targetPoint = getPoint(i);
  78.         var pixelColor = getPixel(targetPoint.x, targetPoint.y);
  79.         if(pixelColor !== colorsABGR[colors[i]]){
  80.             client.setColor(colors[i]);
  81.             client.drawTile(targetPoint.x, targetPoint.y);
  82.             console.log('Pixel Placed at: (' + targetPoint.x + ',' + targetPoint.y + ')');
  83.             break;
  84.         }
  85.      }
  86.   }
  87.   setTimeout(attempt, toWait + Math.round(Math.random() * 1500));
  88. }
  89.  
  90. function drawTestRPI(){
  91.   for(var i=0; i<colors.length; i++){
  92.     if(colors[i] === -1){
  93.       continue;
  94.     }
  95.     var targetPoint = getPoint(i);
  96.     canvasse.drawTileAt(targetPoint.x, targetPoint.y, colorsABGR[colors[i]]);
  97.   }
  98. }
  99.  
  100. function getPoint(i){
  101.   var x = i % rpi.width;
  102.   return {
  103.     x: rpi.x + x,
  104.     y: rpi.y + (i - x) / rpi.width
  105.   };
  106. }
  107.  
  108. function getPixel(x, y){
  109.   return canvasse.writeBuffer[canvasse.getIndexFromCoords(x, y)];
  110. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement