Advertisement
Guest User

Untitled

a guest
Aug 8th, 2016
134
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.11 KB | None | 0 0
  1. package scripts;
  2.  
  3. import java.awt.Color;
  4. import java.awt.Graphics;
  5. import java.awt.Polygon;
  6. import java.util.Collections;
  7. import java.util.Comparator;
  8. import java.util.HashMap;
  9. import java.util.LinkedList;
  10. import java.util.List;
  11.  
  12. import org.tribot.api.types.generic.Filter;
  13. import org.tribot.api2007.NPCs;
  14. import org.tribot.api2007.Player;
  15. import org.tribot.api2007.types.RSNPC;
  16. import org.tribot.script.Script;
  17. import org.tribot.script.interfaces.Painting;
  18.  
  19. public class Test extends Script implements Painting {
  20.  
  21.     private HashMap<RSNPC, Double> map = new HashMap<RSNPC, Double>();
  22.     private List<RSNPC> list = null;
  23.     private RSNPC[] array = null;
  24.  
  25.     @Override
  26.     public void run() {
  27.         while (true) {
  28.             sleep(500, 800);
  29.             this.sortNpcs("Guard");
  30.         }
  31.     }
  32.  
  33.     private RSNPC[] targets(String name) {
  34.         return NPCs.find(new Filter<RSNPC>() {
  35.  
  36.             @Override
  37.             public boolean accept(RSNPC a) {
  38.                 if (a == null)
  39.                     return false;
  40.                 if (a.getDefinition() == null)
  41.                     return false;
  42.  
  43.                 return a.getDefinition().getName().equals(name);
  44.             }
  45.         });
  46.     }
  47.  
  48.     private void sortNpcs(String name) {
  49.         RSNPC[] guards = this.targets(name);
  50.         if (guards.length > 0) {
  51.             for (RSNPC n : guards) {
  52.                 map.put(n, Player.getPosition().distanceToDouble(n));
  53.             }
  54.         }
  55.         if (map.size() > 0) {
  56.             list = new LinkedList<RSNPC>(map.keySet());
  57.         }
  58.         if (list != null) {
  59.             Collections.sort(list, new Comparator<RSNPC>() {
  60.                 @Override
  61.                 public int compare(RSNPC a, RSNPC b) {
  62.                     if (a == null || b == null)
  63.                         return 0;
  64.                     return (int) (map.get(a) - map.get(b));
  65.                 }
  66.             });
  67.         }
  68.         if (list.size() > 0) {
  69.             array = new RSNPC[list.size()];
  70.             for (int i = 0; i < list.size(); i++) {
  71.                 array[i] = list.get(i);
  72.             }
  73.         }
  74.     }
  75.  
  76.     @Override
  77.     public void onPaint(Graphics g) {
  78.         Polygon[] p = null;
  79.         if (array.length > 0) {
  80.             RSNPC target = array[0];
  81.             if (target != null) {
  82.                 if (target.getModel() != null) {
  83.                     p = target.getModel().getTriangles();
  84.                 }
  85.             }
  86.             if (p.length > 0) {
  87.                 for (Polygon l : p) {
  88.                     g.setColor(Color.white);
  89.                     g.drawPolygon(l);
  90.                 }
  91.             }
  92.         }
  93.     }
  94. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement