Guest User

Untitled

a guest
Jun 21st, 2018
84
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.34 KB | None | 0 0
  1. package scripts;
  2.  
  3. import java.awt.Color;
  4. import java.awt.Image;
  5. import java.awt.Point;
  6. import java.util.ArrayList;
  7.  
  8. import org.tribot.script.Script;
  9. import org.tribot.script.ScriptManifest;
  10. import org.tribot.script.methods.Colour;
  11. import org.tribot.script.methods.General;
  12.  
  13.  
  14. @ScriptManifest (authors = {"Patyfatycake"}, category = "Test", name = "test")
  15. public class test extends Script{
  16.  
  17. final Color oreMiddle = new Color(253,163,111);;
  18. final Color invoHasTinOre = new Color(109,104,104);
  19. final Point middle = new Point(260,172);
  20. final Color menu = new Color(15,30,37);
  21. @Override
  22. public void run() {
  23. println(General.getScriptSpeed());
  24. while(true){
  25.  
  26. Color i = Colour.getColour(new Point(582,227));
  27. if(!isBackground(i)){
  28. println("Dropping item");
  29. println(i);
  30. Point p = new Point(random(571,589),random(215,237));
  31. General.clickMouse(p , 3);
  32.  
  33. if(equalsTolerance(Colour.getColour(new Point(p.x,p.y+90)),menu,15)){
  34. Point p1 = new Point(random(p.x-5,p.x+5), random(p.y+60,p.y+70));
  35. General.clickMouse(p1, 1);
  36. waitTillSlotOneEmpty(random(2000,2500));
  37. }else{
  38. Point p1 = new Point(random(p.x-5,p.x+5), random(p.y+40,p.y+50));
  39. General.clickMouse(p1, 1);
  40. waitTillSlotOneEmpty(random(2000,2500));
  41. }
  42.  
  43. }else{
  44. println("Mining");
  45. Point[] position = getPointsWithColour();
  46. if(position.length > 0){
  47. General.clickMouse(closestPoint(position), 1);
  48. }
  49. sleep(600,800);
  50. waitTillNotMoving();
  51. println("Not moving");
  52. waitUntilOreMined();
  53. }
  54. }
  55.  
  56. }
  57.  
  58. private void waitTillSlotOneEmpty(int time){
  59. Timer t = new Timer(time);
  60. while(t.getTimeRemainingLong() > 0 && !isBackground(Colour.getColour(new Point(582,227)))){
  61. sleep(100,150);
  62. }
  63. }
  64.  
  65.  
  66. private Point[] getPointsWithColour(){
  67. Point[] p = new Point[0];
  68. for(int i = 0; i < 759; i++){
  69. for(int j = 0; j < 489; j++){
  70. Point point = new Point(i,j);
  71. Color c = Colour.getColour(point);
  72. if(c != null && equalsTolerance(c,oreMiddle,15)){
  73. Point[] extended = new Point[p.length+1];
  74. System.arraycopy(p, 0, extended, 0, p.length);
  75. extended[p.length] = (new Point(i,j));
  76. p=extended;
  77. }
  78. }
  79. }
  80. return p;
  81. }
  82.  
  83. private boolean equalsTolerance(Color c,Color c1, int tolerance){
  84.  
  85. final int min_red = c.getRed()-tolerance;
  86. final int max_red = c.getRed()+tolerance;
  87. final int min_blue = c.getBlue()-tolerance;
  88. final int max_blue = c.getBlue()+tolerance;
  89. final int min_green = c.getGreen()-tolerance;
  90. final int max_green = c.getGreen()+tolerance;
  91.  
  92. return (c1.getRed() > min_red && c1.getRed() <= max_red
  93. && c1.getGreen() > min_green && c1.getGreen() <= max_green
  94. && c1.getBlue() > min_blue && c1.getBlue() <= max_blue);
  95. }
  96.  
  97. private Point closestPoint(Point[] points){
  98. double closestDistance;
  99. Point closestPoint;
  100. if(points.length == 0)
  101. return null;
  102. closestPoint = points[0];
  103. closestDistance = middle.distance(points[0]);
  104. for(int i = 1; i < points.length; i++){
  105. double distance = middle.distance(points[i]);
  106. if(distance < closestDistance){
  107. closestDistance = distance;
  108. closestPoint = points[i];
  109. }
  110. }
  111. return closestPoint;
  112. }
  113.  
  114. private void waitTillNotMoving(){
  115.  
  116. Timer t = new Timer(1500);
  117. t.start();
  118. Point p = new Point(246,88);
  119. Color c = Colour.getColour(246,88);
  120. while(t.getTimeRemainingLong() > 0){
  121. if(!Colour.getColour(p).equals(c)){
  122. c = Colour.getColour(p);
  123. t.extend(2000-t.getTimeRemainingLong());
  124. }
  125. sleep(150);
  126. }
  127. }
  128.  
  129. private void waitUntilOreMined(){
  130. Timer t = new Timer(4000);
  131. Point p = closestPoint(getPointsWithColour());
  132. Color c = Colour.getColour(p);
  133. t.start();
  134. while(t.getTimeRemainingLong() > 0 && isBackground(Colour.getColour(new Point(582,227)))){
  135. sleep(100,150);
  136. }
  137. }
  138.  
  139. private boolean isBackground(final Color c){
  140. final int min_red = 63;
  141. final int max_red = 72;
  142. final int min_green = 53;
  143. final int max_green = 64;
  144. final int min_blue = 44;
  145. final int max_blue = 52;
  146.  
  147. return (c.getRed() >= min_red && c.getRed() <= max_red
  148. && c.getGreen() >= min_green && c.getGreen() <= max_green
  149. && c.getBlue() >= min_blue && c.getBlue() <= max_blue);
  150. }
  151.  
  152. private int random(int a, int b){
  153. int difference = b-a;
  154. return (int) ((Math.random()*difference)+a);
  155. }
  156.  
  157. }
Add Comment
Please, Sign In to add comment