Guest User

DChickens.java

a guest
Jul 4th, 2016
259
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 48.49 KB | None | 0 0
  1. package scripts;
  2.  
  3. import java.net.MalformedURLException;
  4. import java.net.URI;
  5. import java.net.URISyntaxException;
  6. import java.net.URL;
  7. import java.util.ArrayList;
  8.  
  9. import java.awt.*;
  10. import java.awt.event.*;
  11. import java.io.IOException;
  12.  
  13. import javax.imageio.ImageIO;
  14. import javax.swing.*;
  15. import javax.swing.border.EmptyBorder;
  16.  
  17. import org.tribot.api.DynamicClicking;
  18. import org.tribot.api.General;
  19. import org.tribot.api.input.Mouse;
  20. import org.tribot.api2007.Camera;
  21. import org.tribot.api2007.Combat;
  22. import org.tribot.api2007.Equipment;
  23. import org.tribot.api2007.GroundItems;
  24. import org.tribot.api2007.Interfaces;
  25. import org.tribot.api2007.Inventory;
  26. import org.tribot.api2007.Login;
  27. import org.tribot.api2007.NPCs;
  28. import org.tribot.api2007.Player;
  29. import org.tribot.api2007.Players;
  30. import org.tribot.api2007.Skills;
  31. import org.tribot.api2007.Walking;
  32. import org.tribot.api2007.ext.Doors;
  33. import org.tribot.api2007.Skills.SKILLS;
  34. import org.tribot.api2007.types.RSGroundItem;
  35. import org.tribot.api2007.types.RSInterfaceChild;
  36. import org.tribot.api2007.types.RSItem;
  37. import org.tribot.api2007.types.RSNPC;
  38. import org.tribot.api2007.types.RSPlayer;
  39. import org.tribot.api2007.types.RSTile;
  40. import org.tribot.script.Script;
  41. import org.tribot.script.ScriptManifest;
  42. import org.tribot.script.interfaces.MessageListening07;
  43. import org.tribot.script.interfaces.Painting;
  44.  
  45. import scripts.DTools.DCombat;
  46. import scripts.DTools.DWorldHopper;
  47. import scripts.DTools.Newsloader;
  48. import scripts.DTools.DAntiban;
  49.  
  50.  
  51. @ScriptManifest(authors = { "TheD" }, category = "TheDScripts", name = "DChickens", description = "Start the script in Lumbridge, spawn or at one of the locations. Use the GUI for instructions")
  52. public class DChickens extends Script implements Painting, MessageListening07 {
  53.  
  54.  
  55. private boolean LOOT_FEATHERS;
  56. private boolean BURRY_BONES;
  57. private int Area = 0; //1 = Fred, 2 = East Lumbridge, 3 = Falador
  58. private String debug = "Debug";
  59. private final long startTime = System.currentTimeMillis();
  60. private long startNewsTime = System.currentTimeMillis();
  61. private long Start_str_XP = Skills.getXP(SKILLS.STRENGTH);
  62. private long Current_str_XP = Skills.getXP(SKILLS.STRENGTH);
  63. private long Start_range_XP = Skills.getXP(SKILLS.RANGED);
  64. private long Current_range_XP = Skills.getXP(SKILLS.RANGED);
  65. private long Start_att_XP = Skills.getXP(SKILLS.ATTACK);
  66. private long Current_att_XP = Skills.getXP(SKILLS.ATTACK);
  67. private long Start_def_XP = Skills.getXP(SKILLS.DEFENCE);
  68. private long Current_def_XP = Skills.getXP(SKILLS.DEFENCE);
  69.  
  70. private long start_Att;
  71. private long curr_Att;
  72. private boolean lootArrows = true;
  73.  
  74. private final Font font1 = new Font("Felix Titling", 1, 14);
  75. private final Font font2 = new Font("Arial", Font.BOLD, 14);
  76. private final Font font3 = new Font("Arial", 1, 16);
  77. ArrayList<RSGroundItem> lootAbleFeathers = new ArrayList<RSGroundItem>();
  78. ArrayList<RSGroundItem> lootAbleBones = new ArrayList<RSGroundItem>();
  79. ArrayList<RSGroundItem> lootAbleArrows = new ArrayList<RSGroundItem>();
  80. private State scriptState = State.NOTHING;
  81. private boolean GUIWait = true;
  82. private GUI g = new GUI();
  83. private ArrayList<String> latestNews = new ArrayList<String>();
  84. private boolean useMajorAB = false;
  85. private int[] junkItems = {2138,1925,1971,1917,9003,1944};
  86. private int arrowID = 0;
  87. private boolean USING_RANGED = false;
  88. private boolean outOfArrows = false;
  89. private boolean is_member = false;
  90. private int when_to_flee = 100;
  91. private int total_hops;
  92. private long hop_in;
  93. private boolean started = false;
  94. private int pathLocation = 0;
  95. private boolean is_in_respawn = false;
  96. private boolean is_in_spawn = false;
  97. private int check_attack_loop = 0;
  98. private boolean end_after_time = false;
  99. private int end_hour = 0;
  100. private int end_minute = 0;
  101. private int end_second = General.random(1, 59);
  102. private boolean inCombat = false;
  103.  
  104. private final RSTile[] PATH_TO_SOUTH_FALADOR_CHICKENS = {
  105. new RSTile(3225,3235,0), new RSTile(3217,3239,0),
  106. new RSTile(3207,3240,0), new RSTile(3198,3243,0),
  107. new RSTile(3187,3245,0), new RSTile(3177,3246,0),
  108. new RSTile(3169,3244,0), new RSTile(3159,3246,0),
  109. new RSTile(3150,3247,0), new RSTile(3142,3251,0),
  110. new RSTile(3137,3257,0), new RSTile(3131,3262,0),
  111. new RSTile(3121,3263,0), new RSTile(3111,3262,0),
  112. new RSTile(3105,3268,0), new RSTile(3096,3272,0),
  113. new RSTile(3093,3281,0), new RSTile(3084,3283,0),
  114. new RSTile(3075,3278,0), new RSTile(3064,3276,0),
  115. new RSTile(3055,3275,0), new RSTile(3044,3275,0),
  116. new RSTile(3036,3277,0), new RSTile(3032,3286,0)};
  117.  
  118. private final RSTile[] PATH_TO_LUMBRIDGE_EAST_CHICKENS = {
  119. new RSTile(3234,3243,0), new RSTile(3233,3254,0),
  120. new RSTile(3242,3261,0), new RSTile(3242,3271,0),
  121. new RSTile(3239,3280,0), new RSTile(3238,3293,0)};
  122.  
  123. private final RSTile[] PATH_TO_FARMER_FRED = {
  124. new RSTile(3224,3236,0), new RSTile(3218,3246,0),
  125. new RSTile(3216,3258,0), new RSTile(3217,3268,0),
  126. new RSTile(3214,3277,0), new RSTile(3203,3279,0),
  127. new RSTile(3196,3279,0), new RSTile(3188,3280,0)};
  128.  
  129. private final RSTile[] PATH_TO_SPAWN = {
  130. new RSTile(3228,3219,0), new RSTile(3235,3220,0),
  131. new RSTile(3233,3231,0)};
  132.  
  133. private final RSTile[] PATH_TO_COOP2 = {
  134. new RSTile(3006,3292,0), new RSTile(3007,3284,0),
  135. new RSTile(3014,3275,0)};
  136. private final RSTile[] PATH_TO_ENTRANCE3 = {
  137. new RSTile(3014,3275,0), new RSTile(3023,3276,0),
  138. new RSTile(3032,3285,0)};
  139.  
  140. public enum State{
  141. ATTACK,LOOT_FEAT, LOOT_BONES,BURRY,LOOT_ARROWS,EQUIP_ARROWS,WAIT,FLEE_COMPETITION,NOTHING,STUCK
  142. }
  143.  
  144. private State getState()
  145. {
  146. if(end_after_time)
  147. {
  148. if((hours == end_hour && minutes >= end_minute && seconds >= end_second) || (hours >= end_hour && minutes > end_minute) || (hours > end_hour))
  149. {
  150. System.out.println("Ending script...");
  151. log("Ending script...");
  152. while(Login.getLoginState() == Login.STATE.INGAME)
  153. {
  154. Login.logout();
  155. DAntiban.smartSleep(4000);
  156. if(Login.getLoginState() != Login.STATE.INGAME) break;
  157. }
  158. log("Logged out & Ended script...");
  159. System.out.println("Logged out & Ended script...");
  160. this.stopScript();
  161. }
  162. }
  163. RSGroundItem[] feathers = GroundItems.findNearest(314);
  164. RSGroundItem[] bones = GroundItems.findNearest(526);
  165. RSGroundItem[] arrows = null;
  166. if(lootArrows) arrows = GroundItems.findNearest(arrowID);
  167. int bonesInInv = Inventory.find(526).length;
  168. int arrowsInInv = 0;
  169. if(lootArrows) arrowsInInv = Inventory.find(arrowID).length;
  170.  
  171. if(Interfaces.get(233, 2) != null)
  172. {
  173. Interfaces.get(233, 2).click("Continue");
  174. DAntiban.smartSleep(750,900);
  175. }
  176.  
  177. if(Interfaces.get(378, 6) != null)
  178. {
  179. Interfaces.get(378, 6).click();
  180. log("Playing runescape...");
  181. DAntiban.smartSleep(1000);
  182. }
  183. if(!isInArea(Player.getRSPlayer().getPosition()) && Login.getLoginState() == Login.STATE.INGAME)
  184. {
  185. return State.STUCK;
  186. }
  187. else if(getPlayersInArea() >= when_to_flee && hop_in < System.currentTimeMillis())
  188. {
  189. return State.FLEE_COMPETITION;
  190. }
  191. else if(!Combat.isUnderAttack() && isInArea(Player.getRSPlayer().getPosition()) && bonesInInv < 1 && !inCombat && (!Player.getRSPlayer().isInCombat() || (Player.getRSPlayer().getInteractingCharacter() == null || Player.getRSPlayer().getInteractingIndex() < 1)))
  192. {
  193.  
  194. if(LOOT_FEATHERS && !BURRY_BONES && !USING_RANGED)
  195. {
  196. if(!isOneInArea(feathers)) return State.ATTACK;
  197. } else if(BURRY_BONES && !LOOT_FEATHERS && !USING_RANGED) {
  198. if(!isOneInArea(bones)) return State.ATTACK;
  199. } else if(!BURRY_BONES && !LOOT_FEATHERS && USING_RANGED) {
  200. if((lootArrows && !isOneInArea(arrows))) return State.ATTACK;
  201. if(!lootArrows) return State.ATTACK;
  202. } else if(BURRY_BONES && LOOT_FEATHERS && !USING_RANGED) {
  203. if(!isOneInArea(bones) && !isOneInArea(feathers)) return State.ATTACK;
  204. } else if(BURRY_BONES && !LOOT_FEATHERS && USING_RANGED) {
  205. if(!isOneInArea(bones) && (lootArrows && !isOneInArea(arrows))) return State.ATTACK;
  206. } else if(!BURRY_BONES && LOOT_FEATHERS && USING_RANGED) {
  207. if(!isOneInArea(feathers) && (lootArrows && !isOneInArea(arrows))) return State.ATTACK;
  208.  
  209. } else if(BURRY_BONES && LOOT_FEATHERS && USING_RANGED) {
  210. if(!isOneInArea(bones) && !isOneInArea(feathers) && (lootArrows && !isOneInArea(arrows))) return State.ATTACK;
  211. } else if(!BURRY_BONES && !LOOT_FEATHERS && !USING_RANGED) {
  212. return State.ATTACK;
  213. }
  214. }
  215. if(USING_RANGED && lootArrows && isOneInArea(arrows) && Player.getRSPlayer().getInteractingCharacter() == null && !Player.isMoving())
  216. return State.LOOT_ARROWS;
  217. if(USING_RANGED && arrowsInInv > 0 && (Player.getRSPlayer().getInteractingCharacter() == null || outOfArrows == true) && !Player.isMoving())
  218. return State.EQUIP_ARROWS;
  219. if(LOOT_FEATHERS && isOneInArea(feathers) && Player.getRSPlayer().getInteractingCharacter() == null && !Player.isMoving())
  220. return State.LOOT_FEAT;
  221. if(BURRY_BONES && !Inventory.isFull() && isOneInArea(bones) && Player.getRSPlayer().getInteractingCharacter() == null && !Player.isMoving())
  222. return State.LOOT_BONES;
  223. if(BURRY_BONES && bonesInInv > 0 && Player.getRSPlayer().getInteractingCharacter() == null && !Player.isMoving())
  224. return State.BURRY;
  225. if(Player.getRSPlayer().getInteractingCharacter() != null && !Player.isMoving())
  226. {
  227. return State.WAIT;
  228. }
  229.  
  230. return State.NOTHING;
  231. }
  232. @Override
  233. public void run()
  234. {
  235. this.setLoginBotState(false);
  236. DAntiban.setPrintDebug(true);
  237. General.useAntiBanCompliance(true);
  238. latestNews = Newsloader.getNews();
  239. Mouse.setSpeed(General.random(150, 200));
  240. sleep(1000);
  241. g.setVisible(true);
  242. while(GUIWait == true)
  243. {
  244. sleep(500);
  245. if(!GUIWait) continue;
  246. }
  247. this.setLoginBotState(true);
  248. started = true;
  249. String loc = "";
  250. if(Area == 1) loc = "Fred";
  251. if(Area == 2) loc = "Lumby east";
  252. if(Area == 3) loc = "Fally south";
  253. log("Starting script for location: "+loc+". ");
  254. sleep(2500);
  255. startNewsTime = System.currentTimeMillis();
  256.  
  257. if(isInRespawn(Player.getRSPlayer().getPosition()))
  258. {
  259. is_in_respawn = true;
  260. log("Walking to spawn location");
  261. while(is_in_respawn)
  262. {
  263. if(!Player.getRSPlayer().isMoving() && Player.getRSPlayer().getPosition().getX() < 3227) { DAntiban.goToAnticipated(new RSTile(3228,3219,0)); DAntiban.smartSleep(1200,1300); }
  264. walk(PATH_TO_SPAWN);
  265. log("Walking to spawn...");
  266. if(isInSpawn(Player.getRSPlayer().getPosition())) { is_in_respawn = false; pathLocation = 0; break; }
  267. }
  268. }
  269. if(isInSpawn(Player.getRSPlayer().getPosition()))
  270. {
  271. is_in_spawn = true;
  272. while(is_in_spawn)
  273. {
  274. log("Walking to area...");
  275. if(Area == 1)
  276. {
  277. walk(PATH_TO_FARMER_FRED);
  278. if(Player.getRSPlayer().getPosition().getY() > 3274 && Player.getRSPlayer().getPosition().getX() < 3194) { pathLocation = 0; is_in_spawn = false; break; }
  279. }
  280.  
  281. if(Area == 2)
  282. {
  283. walk(PATH_TO_LUMBRIDGE_EAST_CHICKENS);
  284. if(Player.getRSPlayer().getPosition().getY() > 3288){ pathLocation = 0; is_in_spawn = false; break; }
  285. }
  286.  
  287.  
  288. if(Area == 3)
  289. {
  290. walk(PATH_TO_SOUTH_FALADOR_CHICKENS);
  291. if(isAtSouthFally(Player.getRSPlayer().getPosition())) { pathLocation = 0; is_in_spawn = false; break; }
  292. }
  293. }
  294. }
  295. if(!Combat.isAutoRetaliateOn())
  296. {
  297. Combat.setAutoRetaliate(true);
  298. DAntiban.smartSleep(1400,1600);
  299. }
  300.  
  301. while(true)
  302. {
  303. DAntiban.smartSleep(750,1500);
  304. if(USING_RANGED)
  305. {
  306. boolean hasArrows = false;
  307. RSItem[] arrowSlot = Equipment.find(Equipment.SLOTS.ARROW);
  308. if(arrowSlot.length > 0 && arrowSlot[0] != null && arrowSlot[0].getStack() > 0)
  309. hasArrows = true;
  310. RSGroundItem[] GroundArrows = GroundItems.findNearest(arrowID);
  311. if(lootArrows && GroundArrows.length > 0) { if(lootArrows && isInArea(GroundArrows[0].getPosition())) hasArrows = true; }
  312.  
  313. if(hasArrows == false) { Login.logout(); System.out.println("Out of arrows, ending script"); this.stopScript(); }
  314. }
  315. checkForJunk();
  316. if(loop() > 0)
  317. {
  318. log("ERROR - EXITING");
  319. }
  320. }
  321.  
  322. }
  323.  
  324. private void checkForJunk()
  325. {
  326. for(int i=0; i<junkItems.length; i++)
  327. {
  328. if(Inventory.find(junkItems[i]).length > 0)
  329. {
  330. log("Dropping junk...");
  331. Inventory.find(junkItems[i])[0].click("Drop");
  332. DAntiban.sleep();
  333. }
  334. }
  335. if(!BURRY_BONES)
  336. {
  337. RSItem[] boness = Inventory.find(526);
  338. if(boness.length > 0)
  339. {
  340. boness[0].click("Drop");
  341. }
  342. }
  343. }
  344.  
  345. private int loop()
  346. {
  347. scriptState = getState();
  348. if(scriptState != State.ATTACK && scriptState != State.WAIT) start_Att = System.currentTimeMillis();
  349. if(useMajorAB && scriptState != State.ATTACK) { DAntiban.timedActions(); }
  350. DAntiban.activateRun();
  351. switch(scriptState)
  352. {
  353. case ATTACK:
  354. int avail_chick = 0;
  355. RSNPC[] Chickens = NPCs.findNearest("Chicken");
  356. RSNPC[] fightAbleChickens = new RSNPC[15];
  357. for(int i=0; i<Chickens.length; i++)
  358. {
  359. if(!Chickens[i].isInCombat() && isInArea(Chickens[i].getPosition()) && Chickens[i].getInteractingIndex() < 1)
  360. {
  361. fightAbleChickens[avail_chick] = (Chickens[i]);
  362. avail_chick++;
  363. }
  364. }
  365. log("Found: "+avail_chick+" available chickens.");
  366. RSNPC to_kill = DAntiban.selectNextTarget(fightAbleChickens); //Anti-ban target preference
  367. if(to_kill != null)
  368. {
  369. if(!to_kill.isOnScreen())
  370. {
  371. int TR = General.random(0, 10);
  372. if(TR == 5)
  373. DAntiban.goToAnticipated(to_kill.getPosition());
  374. else if(TR == 4 || TR == 6)
  375. Camera.turnToTile(to_kill.getPosition());
  376. else
  377. DAntiban.goToAnticipated(to_kill.getPosition());
  378.  
  379. }
  380. attack(to_kill);
  381. }
  382.  
  383.  
  384. break;
  385.  
  386. case LOOT_FEAT:
  387. RSGroundItem[] feathers = GroundItems.findNearest(314);
  388. lootAbleFeathers.clear();
  389. for(int j=0; j<feathers.length; j++)
  390. {
  391. if(isInArea(feathers[j].getPosition()))
  392. lootAbleFeathers.add(feathers[j]);
  393. }
  394. if(lootAbleFeathers.size() > 0)
  395. {
  396. log(lootAbleFeathers.size()+" lootable feather stacks found, looting...");
  397. if(!lootAbleFeathers.get(0).isOnScreen()) Walking.walkTo(lootAbleFeathers.get(0).getPosition());
  398. lootAbleFeathers.get(0).click("Take");
  399. }
  400. break;
  401.  
  402. case LOOT_BONES:
  403. RSGroundItem[] bones = GroundItems.findNearest(526);
  404. lootAbleBones.clear();
  405. for(int ii=0; ii<bones.length; ii++)
  406. {
  407. if(isInArea(bones[ii].getPosition()))
  408. lootAbleBones.add(bones[ii]);
  409. }
  410. if(lootAbleBones.size() > 0)
  411. {
  412. log(lootAbleBones.size()+" lootable bones found, looting...");
  413. if(lootAbleBones.size() > 0 && lootAbleBones.get(0) != null && !lootAbleBones.get(0).isOnScreen()) DAntiban.goToAnticipated(lootAbleFeathers.get(0).getPosition());
  414. if(lootAbleBones.size() > 0 && lootAbleBones.get(0) != null && lootAbleBones.get(0).isOnScreen()) DCombat.loot(lootAbleBones.get(0));
  415. }
  416. break;
  417.  
  418. case LOOT_ARROWS:
  419. RSGroundItem[] arrows = GroundItems.findNearest(arrowID);
  420. lootAbleArrows.clear();
  421. for(int iii=0; iii<arrows.length; iii++)
  422. {
  423. if(isInArea(arrows[iii].getPosition()))
  424. lootAbleArrows.add(arrows[iii]);
  425. }
  426. if(lootAbleArrows.size() > 0)
  427. {
  428. log(lootAbleArrows.size()+" lootable arrow stacks found, looting...");
  429. if(lootAbleArrows.size() > 0 && lootAbleArrows.get(0) != null && !lootAbleArrows.get(0).isOnScreen()) DAntiban.goToAnticipated(lootAbleArrows.get(0).getPosition());
  430. if(lootAbleArrows.size() > 0 && lootAbleArrows.get(0) != null && lootAbleArrows.get(0).isOnScreen()) DCombat.loot(lootAbleArrows.get(0));
  431. }
  432. break;
  433.  
  434. case EQUIP_ARROWS:
  435. log("Equipping arrows..");
  436. RSItem[] entireInv = Inventory.getAll();
  437. if(entireInv.length > 0)
  438. {
  439. for(int in=0; in<entireInv.length; in++)
  440. {
  441. if(entireInv[in].getID() == arrowID)
  442. {
  443. entireInv[in].click("Wield");
  444. DAntiban.smartSleep(900,1100);
  445. }
  446. }
  447. }
  448. break;
  449.  
  450. case WAIT:
  451. curr_Att = System.currentTimeMillis();
  452. int secs = ((int)curr_Att/1000) - ((int)start_Att/1000);
  453. if(Player.getRSPlayer().getInteractingIndex() > 0)
  454. start_Att = System.currentTimeMillis();
  455. if(Player.getRSPlayer().isInCombat())
  456. start_Att = System.currentTimeMillis();
  457. if(Player.getRSPlayer().getInteractingCharacter() != null)
  458. start_Att = System.currentTimeMillis();
  459. if(Player.getRSPlayer().getAnimation() > 0)
  460. start_Att = System.currentTimeMillis();
  461. if(Combat.isUnderAttack())
  462. start_Att = System.currentTimeMillis();
  463. if(secs > 14 && !Player.isMoving())
  464. {
  465. DynamicClicking.clickRSTile(Player.getPosition(), "Walk here");
  466. DAntiban.smartSleep(2000);
  467. }
  468.  
  469. log("Waiting for... "+secs+" seconds so far.");
  470. break;
  471.  
  472. case BURRY:
  473. log("We have bones to bury..");
  474. RSItem[] botten = Inventory.find("Bones");
  475. if(botten.length > 0 && botten[0] != null)
  476. {
  477. botten[0].click("Bury");
  478. DAntiban.smartSleep(600,800);
  479. }
  480. break;
  481.  
  482. case FLEE_COMPETITION:
  483. int comp = getPlayersInArea();
  484. if(comp >= when_to_flee)
  485. {
  486. log("Area filled with "+comp+" players, thats to much. Hopping world!");
  487. DWorldHopper.changeWorld(is_member, false);
  488. sleep(5000,10000);
  489. total_hops++;
  490. hop_in = (System.currentTimeMillis() + (General.random(0, 60000)*total_hops));//sometimes we have to accept it is crowded...
  491. if(General.random(0, 10) == 5)
  492. {
  493. total_hops = 0;
  494. }
  495. }
  496.  
  497. break;
  498.  
  499. case STUCK:
  500. log("Some bastard got us stuck.. We will deal with it.");
  501. operateArea(Area);
  502. break;
  503.  
  504. case NOTHING:
  505. if(inCombat)
  506. {
  507. if(!Player.getRSPlayer().isInCombat()) inCombat = false;
  508. }
  509. log("Waiting...");
  510.  
  511. break;
  512. }
  513.  
  514. return 0;
  515. }
  516.  
  517.  
  518. private boolean isOutSideFaladorCoop1(RSTile p)
  519. {
  520.  
  521. if(p.getY() < 3282 && p.getY() > 3268 && p.getX() > 3008 && p.getX() < 3031)
  522. return true;
  523.  
  524. return false;
  525. }
  526.  
  527. private boolean isOutSideFaladorCoop2(RSTile p)
  528. {
  529.  
  530. if(p.getY() > 3280 && p.getY() < 3302 && p.getX() < 3014 && p.getX() > 2996)
  531. return true;
  532.  
  533. return false;
  534. }
  535.  
  536.  
  537.  
  538. private boolean isInSpawn(RSTile p)
  539. {
  540. if(p.getX() < 3237 && p.getX() > 3228 && p.getY() > 3225 && p.getY() < 3236)
  541. return true;
  542.  
  543. return false;
  544. }
  545.  
  546. private boolean isInRespawn(RSTile p)
  547. {
  548. if(p.getX() < 3230 && p.getX() > 3216 && p.getY() > 3210 && p.getY() < 3225)
  549. return true;
  550.  
  551. return false;
  552. }
  553.  
  554. private boolean isAtSouthFally(RSTile p)
  555. {
  556. if(p.getX() < 3040 && p.getX() > 3025 && p.getY() > 3280 && p.getY() < 3291)
  557. return true;
  558.  
  559. return false;
  560. }
  561.  
  562. private boolean isInFallyRoom1(RSTile p)
  563. {
  564. if(p.getX() < 3026 && p.getX() > 3020 && p.getY() > 3290 && p.getY() < 3297)
  565. return true;
  566.  
  567. return false;
  568. }
  569.  
  570. private boolean isInFallyRoom2(RSTile p)
  571. {
  572. if(p.getX() < 3026 && p.getX() > 3021 && p.getY() > 3285 && p.getY() < 3291)
  573. return true;
  574.  
  575. return false;
  576. }
  577.  
  578.  
  579. private void operateArea(int stuckloc)
  580. {
  581. switch(stuckloc)
  582. {
  583. case 1:
  584. if(Player.getRSPlayer().getPosition().getY() > 3279 && Player.getRSPlayer().getPosition().getY() < 3300 && Player.getRSPlayer().getPosition().getX() > 3160 && Player.getRSPlayer().getPosition().getX() < 3210)
  585. {
  586. if(Doors.getDoorAt(new RSTile(3189,3279,0)) != null)
  587. {
  588. Doors.handleDoorAt(new RSTile(3189,3279,0), true);
  589. DAntiban.smartSleep(1000);
  590. }
  591. else if(!Player.getRSPlayer().isMoving())
  592. {
  593. DAntiban.goToAnticipated(new RSTile(General.random(3185, 3191),General.random(3277, 3278),0));
  594. DAntiban.smartSleep(900,1100);
  595. }
  596. } else
  597. if(Player.getRSPlayer().getPosition().getY() > 3240 && Player.getRSPlayer().getPosition().getY() < 3276 && Player.getRSPlayer().getPosition().getX() > 3160 && Player.getRSPlayer().getPosition().getX() < 3210)
  598. {
  599. if(Doors.getDoorAt(new RSTile(3189,3275,0)) != null)
  600. {
  601. Doors.handleDoorAt(new RSTile(3189,3275,0), true);
  602. DAntiban.smartSleep(800,900);
  603. }
  604. else if(!Player.getRSPlayer().isMoving())
  605. {
  606. DAntiban.goToAnticipated(new RSTile(General.random(3185, 3191),General.random(3277, 3278),0));
  607. DAntiban.smartSleep(800,900);
  608. }
  609. }
  610. else if(Login.getLoginState() == Login.STATE.INGAME)
  611. {
  612. log("we have no idea where we are.. Stopping.");
  613. System.out.print("Ending script because we have no idea where we are, Case 1");
  614. //Magic.selectSpell("Home teleport");
  615. //logout here
  616. Login.logout();
  617. this.stopScript();
  618. }
  619. break;
  620.  
  621. case 2:
  622. if(Player.getRSPlayer().getPosition().getX() > 3236 && Player.getRSPlayer().getPosition().getX() < 3250 && Player.getRSPlayer().getPosition().getY() > 3286 && Player.getRSPlayer().getPosition().getY() < 3302)
  623. {
  624. if(Doors.getDoorAt(new RSTile(3236,3295,0)) != null)
  625. {
  626. Doors.handleDoorAt(new RSTile(3236,3295,0), true);
  627. DAntiban.smartSleep(1000);
  628. }
  629. else if(!Player.getRSPlayer().isMoving())
  630. {
  631. DAntiban.goToAnticipated(new RSTile(General.random(3226, 3235),General.random(3295, 3300),0));
  632. DAntiban.smartSleep(1000);
  633. }
  634. }
  635. else if(Player.getRSPlayer().getPosition().getX() > 3224 && Player.getRSPlayer().getPosition().getX() < 3231 && Player.getRSPlayer().getPosition().getY() > 3286 && Player.getRSPlayer().getPosition().getY() < 3294)
  636. {
  637. if(Doors.getDoorAt(new RSTile(3230,3291,0)) != null)
  638. {
  639. Doors.handleDoorAt(new RSTile(3230,3291,0), true);
  640. DAntiban.smartSleep(1000);
  641. }
  642. else if(!Player.getRSPlayer().isMoving())
  643. {
  644. DAntiban.goToAnticipated(new RSTile(General.random(3226, 3235),General.random(3295, 3300),0));
  645. DAntiban.smartSleep(1000);
  646. }
  647. }
  648. else if(Login.getLoginState() == Login.STATE.INGAME)
  649. {
  650. log("we have no idea where we are.. Stopping.");
  651. System.out.print("Ending script because we have no idea where we are. Case 2");
  652. Login.logout();
  653. this.stopScript();
  654. }
  655.  
  656. break;
  657.  
  658. case 3:
  659.  
  660. if(isOutSideFaladorCoop2(Player.getRSPlayer().getPosition()))
  661. {
  662. walk(PATH_TO_COOP2);
  663. }
  664.  
  665. else if(isOutSideFaladorCoop1(Player.getRSPlayer().getPosition()))
  666. {
  667. while(isOutSideFaladorCoop1(Player.getRSPlayer().getPosition()))
  668. {
  669. walk(PATH_TO_ENTRANCE3);
  670. if(isOutSideFaladorCoop2(Player.getRSPlayer().getPosition()))
  671. {
  672.  
  673. pathLocation = 0; break;
  674. }
  675. }
  676. }
  677. else if(isAtSouthFally(Player.getRSPlayer().getPosition()))
  678. {
  679. if(Doors.getDoorAt(new RSTile(3026,3287,0)) != null)
  680. {
  681. if(!Player.getRSPlayer().isMoving() && Player.getRSPlayer().getPosition().distanceTo(new RSTile(3026,3287,0)) > 2) { DAntiban.goToAnticipated(new RSTile(3027,3287,0)); DAntiban.smartSleep(1000);}
  682. Doors.handleDoorAt(new RSTile(3026,3287,0), true);
  683. }
  684. else
  685. {
  686. DAntiban.goToAnticipated(new RSTile(3023,3288,0));
  687. }
  688. }
  689.  
  690. else if(isInFallyRoom2(Player.getRSPlayer().getPosition()))
  691. {
  692. if(Doors.getDoorAt(new RSTile(3024,3291,0)) != null)
  693. {
  694. Doors.handleDoorAt(new RSTile(3024,3291,0), true);
  695. }
  696. else
  697. {
  698. DAntiban.goToAnticipated(new RSTile(3022,3294,0));
  699. }
  700. }
  701. else if(isInFallyRoom1(Player.getRSPlayer().getPosition()))
  702. {
  703. if(Doors.getDoorAt(new RSTile(3020,3293,0)) != null)
  704. {
  705. Doors.handleDoorAt(new RSTile(3020,3293,0), true);
  706. }
  707. else
  708. {
  709. DAntiban.goToAnticipated(new RSTile(3017,3290,0));
  710. }
  711. }
  712. else if(!isInArea(Player.getRSPlayer().getPosition()) && Login.getLoginState() == Login.STATE.INGAME)
  713. {
  714. log("we have no idea where we are.. Stopping.");
  715. System.out.print("Ending script because we have no idea where we are. Case 3");
  716. Login.logout();
  717. this.stopScript();
  718. }
  719. break;
  720. }
  721. }
  722.  
  723. private int getPlayersInArea()
  724. {
  725. RSPlayer[] allPlayers = Players.getAll();
  726. int competition = 0;
  727. for(int i=0; i<allPlayers.length; i++)
  728. {
  729. if(isInArea(allPlayers[i].getPosition()))
  730. competition++;
  731. }
  732. return (competition -1); //-1 to exclude self.
  733. }
  734.  
  735.  
  736. private void attack(RSNPC a)
  737. {
  738. boolean T = false;
  739. long T_A = 0;
  740. if(a == null) return;
  741. if(a.isInCombat()) return;
  742. if(!Combat.isAutoRetaliateOn()) { Combat.setAutoRetaliate(true); DAntiban.smartSleep(1250,1750); }
  743. if(Combat.isUnderAttack()) return;
  744. while((Player.getRSPlayer().getInteractingCharacter() == null || Player.getRSPlayer().getIndex() < 0) && Player.getAnimation() < 1 && a != null && !a.isInCombat())
  745. {
  746. if(!Player.isMoving() && Player.getRSPlayer().getInteractingIndex() < 1)
  747. {
  748. if(a != null)
  749. {
  750. DynamicClicking.clickRSNPC(a, "Attack");
  751. start_Att = System.currentTimeMillis();
  752. DAntiban.smartSleep(700);
  753. }
  754. }
  755. if(Player.getRSPlayer().getInteractingCharacter() != null)
  756. {
  757. if(Player.getRSPlayer().getInteractingCharacter().isInCombat());
  758. return;
  759. }
  760. if(!Player.getRSPlayer().isInCombat() && a != null && a.isInCombat())
  761. return;
  762. if(a == null) return;
  763. if(Player.getRSPlayer().isInCombat()) break;
  764. if(Player.getRSPlayer().getAnimation() > 0) break;
  765. if(T == false)
  766. {
  767. T = true;
  768. T_A = System.currentTimeMillis();
  769. check_attack_loop = General.random(7500, 35000);
  770. }
  771. else if(T == true)
  772. {
  773. if((System.currentTimeMillis() - T_A) > check_attack_loop)
  774. {
  775. System.out.println("We took "+check_attack_loop+"ms to kill attack something, exit loop to continue script ");
  776. return;
  777. }
  778. }
  779. }
  780. // We only want to calculate reaction time, and set it if we actually attacked a druid! :)
  781. if((Player.getRSPlayer().isInCombat() || Player.getAnimation() > 0) && Player.getRSPlayer().getInteractingIndex() > 0 && Player.getRSPlayer().getInteractingCharacter() != null && Player.getRSPlayer().getInteractingCharacter().isInteractingWithMe())
  782. {
  783. start_Att = System.currentTimeMillis();
  784. DAntiban.setLastUnderAttackTime(start_Att);
  785. DAntiban.generateTrackers(1000);//estimated time it takes to kill a chicken after we attacked it
  786. DAntiban.timedActions();
  787. DAntiban.sleepReactionTime();
  788. }
  789. }
  790.  
  791. private boolean isInArea(RSTile loc)
  792. {
  793. switch(Area)
  794. {
  795. case 1:
  796. if(loc.getX() > 3183 && loc.getX() < 3193 && loc.getY() < 3280 && loc.getY() > 3275) return true;
  797. break;
  798.  
  799. case 2:
  800. if((loc.getX() > 3224 && loc.getX() < 3237 && loc.getY() < 3302 && loc.getY() > 3294) || (loc.getX() > 3230 && loc.getX() < 3237 && loc.getY() < 3302 && loc.getY() > 3287)) return true;
  801. break;
  802.  
  803. case 3:
  804. if(loc.getX() > 3013 && loc.getX() < 3021 && loc.getY() < 3299 && loc.getY() > 3281) return true;
  805. break;
  806. }
  807.  
  808. return false;
  809. }
  810.  
  811. private boolean isOneInArea(RSGroundItem[] items)
  812. {
  813. for(int i=0; i<items.length; i++)
  814. {
  815. if(!useMajorAB)
  816. {
  817. if(isInArea(items[i].getPosition()))
  818. return true;
  819. }
  820. else if(useMajorAB)
  821. {
  822. if(isInArea(items[i].getPosition()) && items[i].isOnScreen())//Only looting items we can see if ABCv2 is selected.
  823. return true;
  824. }
  825.  
  826.  
  827. }
  828.  
  829. return false;
  830. }
  831.  
  832.  
  833. int newsToShow = 0;
  834.  
  835. private void getnewsdata()
  836. {
  837. int newsTimer = (int) (System.currentTimeMillis() - startNewsTime) / 1000;
  838. if(newsTimer > 8)
  839. {
  840. startNewsTime = System.currentTimeMillis();
  841. if(newsToShow == (latestNews.size() -1)) newsToShow = 0;
  842. else if(newsToShow < (latestNews.size())) newsToShow++;
  843.  
  844. }
  845.  
  846. }
  847.  
  848. private int strxpGot = 0;
  849. private int rangxpGot = 0;
  850. private int attxpGot = 0;
  851. private int defxpGot = 0;
  852. private int totalxpGot = 0;
  853. private int chickensKilled = 0;
  854. private long timeRan = 0;
  855. private double multiplier = 0;
  856. private int chickenKillsPH = 0;
  857. private int hours = 0;
  858. private int minutes = 0;
  859. private int seconds = 0;
  860.  
  861. private void calculatePaint()
  862. {
  863. Current_str_XP = Skills.getXP(SKILLS.STRENGTH);
  864. Current_range_XP = Skills.getXP(SKILLS.RANGED);
  865. Current_att_XP = Skills.getXP(SKILLS.ATTACK);
  866. Current_def_XP = Skills.getXP(SKILLS.DEFENCE);
  867. strxpGot = (int) (Current_str_XP - Start_str_XP);
  868. rangxpGot = (int) (Current_range_XP - Start_range_XP);
  869. attxpGot = (int) (Current_att_XP - Start_att_XP);
  870. defxpGot = (int) (Current_def_XP - Start_def_XP);
  871. totalxpGot = strxpGot + rangxpGot + attxpGot + defxpGot;
  872. chickensKilled = totalxpGot / 12;
  873. timeRan = (int) (System.currentTimeMillis() - startTime);
  874. multiplier = timeRan / 3600000D;
  875. chickenKillsPH = (int) (chickensKilled / multiplier);
  876. hours = (int) (timeRan / 3600000);
  877. timeRan = timeRan - (hours*3600000);
  878. minutes = (int) (timeRan / 60000);
  879. timeRan = timeRan - (minutes*60000);
  880. seconds = (int) (timeRan / 1000);
  881. timeRan = timeRan - (seconds*1000);
  882. }
  883.  
  884. private Image getImage(String url)
  885. {
  886. try
  887. {
  888. return ImageIO.read(new URL(url));
  889. }
  890. catch(IOException e)
  891. {
  892. return null;
  893. }
  894. }
  895.  
  896.  
  897. private final Image dchickenspaintimg = getImage("http://d-scripting.com/DEssentials/paint/dchickenspaint.png");
  898. private final RenderingHints aa = new RenderingHints(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);
  899. private final Color darkred = new Color(193,48,38);
  900. int paintOffset = 320;
  901.  
  902. public void onPaint(Graphics g)
  903. {
  904. if(started)
  905. {
  906. getnewsdata();
  907. calculatePaint();
  908. Graphics2D g2 = (Graphics2D)g;
  909. g2.setRenderingHints(aa);
  910. g2.drawImage(dchickenspaintimg, 0, paintOffset, null);
  911. g.setColor(Color.CYAN);
  912. g.setFont(font3);
  913. if(newsToShow < (latestNews.size())) g.drawString("NEWS: "+ latestNews.get(newsToShow), 40,40);
  914. g.setColor(darkred);
  915. g.setFont(font2);
  916. g.drawString("Time ran: "+ hours + ":" + minutes + ":" + seconds, 5,paintOffset+60);
  917. g.drawString("Chickens killed: "+ chickensKilled +" Kill P/H: "+chickenKillsPH, 5,paintOffset+75);
  918. g.drawString("XP gained: "+ totalxpGot, 5,paintOffset+90);
  919. g.drawString("Debug : "+debug, 5,paintOffset+105);
  920. g.drawString("State : "+scriptState, 5,paintOffset+120);
  921. if(end_after_time) g.drawString("Ending script when we ran "+(end_hour)+":"+(end_minute)+":"+(end_second)+" (HH:MM:SS)", 5,paintOffset+135);
  922. if(!end_after_time) g.drawString("Not using End-timer", 5,paintOffset+135);
  923. g.drawString("Version: 2.04", 5,paintOffset+160);
  924. }
  925. }
  926.  
  927. private void walk(RSTile[] path)
  928. {
  929. DAntiban.activateRun();
  930. if(pathLocation == (path.length-1))
  931. {
  932. pathLocation = 0;
  933. return;
  934. }
  935. boolean moving = Player.getRSPlayer().isMoving();
  936. if((Player.getRSPlayer().getPosition().distanceTo(path[pathLocation]) > 24)) return;
  937. if(pathLocation > (path.length -1)) return;
  938. if(moving && Player.getPosition().distanceTo(path[pathLocation]) > 5) return;
  939. if(Player.getPosition().distanceTo(path[pathLocation]) <= 5)
  940. {
  941. pathLocation++;
  942. }
  943. log("Walking location: "+pathLocation+"/"+(path.length-1));
  944. while(Player.getRSPlayer().getPosition().distanceTo(path[pathLocation]) > 6)
  945. {
  946. DAntiban.goToAnticipated(path[pathLocation]);
  947. DAntiban.smartSleep(900,1100);
  948. if(Player.getRSPlayer().getPosition().distanceTo(path[pathLocation]) <= 6)
  949. continue;
  950. }
  951.  
  952. }
  953.  
  954. private void log(String s)
  955. {
  956. debug = s;
  957. }
  958.  
  959.  
  960. public class GUI extends JFrame {
  961. public GUI() {
  962. initComponents();
  963. }
  964.  
  965. private void thedtribotActionPerformed(ActionEvent e)
  966. {
  967. openSite("http://tribot.org/forums/profile/8498-thed/");
  968. }
  969.  
  970. private void dscriptingdotcomActionPerformed(ActionEvent e)
  971. {
  972. openSite("http://d-scripting.com");
  973. }
  974.  
  975. private void moredscriptsActionPerformed(ActionEvent e)
  976. {
  977. openSite("http://d-scripting.com/more");
  978. }
  979.  
  980. private void startScriptButtonActionPerformed(ActionEvent e)
  981. {
  982. LOOT_FEATHERS = lootFeathers.isSelected();
  983. BURRY_BONES = burryBones.isSelected();
  984. is_member = isMember.isSelected();
  985. String chosen = locationSelected.getSelectedItem().toString();
  986. String speed = selectedMouseSpeed.getSelectedItem().toString();
  987. String arnames = selectedArrowLoot.getSelectedItem().toString();
  988. String whenToFlee = competitionPlayers.getSelectedItem().toString();
  989. String whenToQuit = endscriptTimer.getSelectedItem().toString();
  990. if(whenToQuit.startsWith("0."))
  991. {
  992. end_after_time = false;
  993. }
  994. if(whenToQuit.startsWith("1."))
  995. {
  996. end_after_time = true;
  997. end_hour = 1;
  998. end_minute = General.random(1, 59);
  999. }
  1000. if(whenToQuit.startsWith("2."))
  1001. {
  1002. end_after_time = true;
  1003. end_hour = 2;
  1004. end_minute = General.random(1, 59);
  1005. }
  1006. if(whenToQuit.startsWith("3."))
  1007. {
  1008. end_after_time = true;
  1009. end_hour = 3;
  1010. end_minute = General.random(1, 59);
  1011. }
  1012. if(whenToQuit.startsWith("4."))
  1013. {
  1014. end_after_time = true;
  1015. end_hour = 4;
  1016. end_minute = General.random(1, 59);
  1017. }
  1018. if(whenToQuit.startsWith("5."))
  1019. {
  1020. end_after_time = true;
  1021. end_hour = 5;
  1022. end_minute = General.random(1, 59);
  1023. }
  1024. if(whenToQuit.startsWith("6."))
  1025. {
  1026. end_after_time = true;
  1027. end_hour = 6;
  1028. end_minute = General.random(1, 59);
  1029. }
  1030. if(whenToQuit.startsWith("7."))
  1031. {
  1032. end_after_time = true;
  1033. end_hour = 7;
  1034. end_minute = General.random(1, 59);
  1035. }
  1036. if(whenToQuit.startsWith("8."))
  1037. {
  1038. end_after_time = true;
  1039. end_hour = 8;
  1040. end_minute = General.random(1, 59);
  1041. }
  1042. if(whenToQuit.startsWith("9."))
  1043. {
  1044. end_after_time = true;
  1045. end_hour = 9;
  1046. end_minute = General.random(1, 59);
  1047. }
  1048. if(whenToQuit.startsWith("10."))
  1049. {
  1050. end_after_time = true;
  1051. end_hour = 10;
  1052. end_minute = General.random(1, 59);
  1053. }
  1054. if(whenToQuit.startsWith("11."))
  1055. {
  1056. end_after_time = true;
  1057. end_hour = 11;
  1058. end_minute = General.random(1, 59);
  1059. }
  1060. if(whenToQuit.startsWith("12."))
  1061. {
  1062. end_after_time = true;
  1063. end_hour = 12;
  1064. end_minute = General.random(1, 59);
  1065. }
  1066. if(whenToFlee.equals("0. Never"))
  1067. {
  1068. when_to_flee = 100;
  1069. }
  1070. else if(whenToFlee.equals("1. 2-4"))
  1071. {
  1072. when_to_flee = General.random(2, 4);
  1073. }
  1074. else if(whenToFlee.equals("2. 4+"))
  1075. {
  1076. when_to_flee = General.random(4, 5);
  1077. }
  1078. if(chosen.equals("Fred the farmer."))
  1079. {
  1080. Area = 1;
  1081. }
  1082. else
  1083. if(chosen.equals("Lumbridge east."))
  1084. {
  1085. Area = 2;
  1086. }
  1087. else
  1088. if(chosen.equals("South of Falador."))
  1089. {
  1090. Area = 3;
  1091. }
  1092. if(speed.startsWith("130")) Mouse.setSpeed(General.random(130, 140));
  1093. if(speed.startsWith("140")) Mouse.setSpeed(General.random(140, 150));
  1094. if(speed.startsWith("150")) Mouse.setSpeed(General.random(150, 160));
  1095. if(speed.startsWith("160")) Mouse.setSpeed(General.random(160, 170));
  1096. if(speed.startsWith("170")) Mouse.setSpeed(General.random(170, 200));
  1097. if(arnames.startsWith("0.")) { lootArrows = false; arrowID = 0; }
  1098. if(arnames.startsWith("1.")) arrowID = 882;
  1099. if(arnames.startsWith("2.")) arrowID = 884;
  1100. if(arnames.startsWith("3.")) arrowID = 886;
  1101. if(arnames.startsWith("4.")) arrowID = 888;
  1102. if(arnames.startsWith("5.")) arrowID = 890;
  1103. if(arnames.startsWith("6.")) arrowID = 892;
  1104. if(arnames.startsWith("7.")) arrowID = 9706;
  1105. if(arnames.startsWith("8.")) arrowID = 877;
  1106. USING_RANGED = selectedRanged.isSelected();
  1107. useMajorAB = selectedAntiBan.isSelected();
  1108. GUIWait = false;
  1109. g.dispose();
  1110. }
  1111. private void initComponents() {
  1112. // JFormDesigner - Component initialization - DO NOT MODIFY //GEN-BEGIN:initComponents
  1113. // Generated using JFormDesigner Evaluation license - TheD
  1114. menuBar1 = new JMenuBar();
  1115. menu1 = new JMenu();
  1116. menuItem1 = new JMenuItem();
  1117. menuItem2 = new JMenuItem();
  1118. menuItem3 = new JMenuItem();
  1119. dialogPane = new JPanel();
  1120. contentPanel = new JPanel();
  1121. ScriptNaam = new JLabel();
  1122. label1 = new JLabel();
  1123. locationSelected = new JComboBox<>();
  1124. burryBones = new JCheckBox();
  1125. lootFeathers = new JCheckBox();
  1126. label2 = new JLabel();
  1127. selectedMouseSpeed = new JComboBox<>();
  1128. selectedRanged = new JCheckBox();
  1129. selectedArrowLoot = new JComboBox<>();
  1130. selectedAntiBan = new JCheckBox();
  1131. label3 = new JLabel();
  1132. competitionPlayers = new JComboBox<>();
  1133. label4 = new JLabel();
  1134. isMember = new JCheckBox();
  1135. endscriptTimer = new JComboBox<>();
  1136. label5 = new JLabel();
  1137. buttonBar = new JPanel();
  1138. startScriptButton = new JButton();
  1139.  
  1140. //======== this ========
  1141. setAlwaysOnTop(true);
  1142. setTitle("DScripts by TheD");
  1143. setResizable(false);
  1144. Container contentPane = getContentPane();
  1145. contentPane.setLayout(new BorderLayout());
  1146.  
  1147. //======== menuBar1 ========
  1148. {
  1149.  
  1150. //======== menu1 ========
  1151. {
  1152. menu1.setText("General");
  1153.  
  1154. //---- menuItem1 ----
  1155. menuItem1.setText("TheD TRiBot Profile");
  1156. menuItem1.addActionListener(e -> thedtribotActionPerformed(e));
  1157. menu1.add(menuItem1);
  1158.  
  1159. //---- menuItem2 ----
  1160. menuItem2.setText("D-Scripting.com");
  1161. menuItem2.addActionListener(e -> dscriptingdotcomActionPerformed(e));
  1162. menu1.add(menuItem2);
  1163.  
  1164. //---- menuItem3 ----
  1165. menuItem3.setText("More DScripts");
  1166. menuItem3.addActionListener(e -> moredscriptsActionPerformed(e));
  1167. menu1.add(menuItem3);
  1168. }
  1169. menuBar1.add(menu1);
  1170. }
  1171. setJMenuBar(menuBar1);
  1172.  
  1173. //======== dialogPane ========
  1174. {
  1175. dialogPane.setBorder(new EmptyBorder(12, 12, 12, 12));
  1176.  
  1177. // DScripting Mark
  1178. dialogPane.setBorder(new javax.swing.border.CompoundBorder(
  1179. new javax.swing.border.TitledBorder(new javax.swing.border.EmptyBorder(0, 0, 0, 0),
  1180. "DScripting Limited", javax.swing.border.TitledBorder.CENTER,
  1181. javax.swing.border.TitledBorder.BOTTOM, new java.awt.Font("Dialog", java.awt.Font.BOLD, 12),
  1182. java.awt.Color.red), dialogPane.getBorder())); dialogPane.addPropertyChangeListener(new java.beans.PropertyChangeListener(){public void propertyChange(java.beans.PropertyChangeEvent e){if("border".equals(e.getPropertyName()))throw new RuntimeException();}});
  1183.  
  1184. dialogPane.setLayout(new BorderLayout());
  1185.  
  1186. //======== contentPanel ========
  1187. {
  1188.  
  1189. //---- ScriptNaam ----
  1190. ScriptNaam.setText("DChickens");
  1191. ScriptNaam.setFont(new Font("Tahoma", Font.PLAIN, 36));
  1192.  
  1193. //---- label1 ----
  1194. label1.setText("Select your location:");
  1195. label1.setFont(new Font("Tahoma", Font.PLAIN, 14));
  1196.  
  1197. //---- locationSelected ----
  1198. locationSelected.setModel(new DefaultComboBoxModel<>(new String[] {
  1199. "Fred the farmer.",
  1200. "Lumbridge east.",
  1201. "South of Falador."
  1202. }));
  1203. locationSelected.setFont(new Font("Tahoma", Font.PLAIN, 14));
  1204. locationSelected.setSelectedIndex(0);
  1205.  
  1206. //---- burryBones ----
  1207. burryBones.setText("Burry bones");
  1208. burryBones.setFont(new Font("Tahoma", Font.PLAIN, 14));
  1209.  
  1210. //---- lootFeathers ----
  1211. lootFeathers.setText("Loot feathers");
  1212. lootFeathers.setFont(new Font("Tahoma", Font.PLAIN, 14));
  1213.  
  1214. //---- label2 ----
  1215. label2.setText("Mouse Speed:");
  1216. label2.setFont(new Font("Tahoma", Font.PLAIN, 14));
  1217.  
  1218. //---- selectedMouseSpeed ----
  1219. selectedMouseSpeed.setFont(new Font("Tahoma", Font.PLAIN, 14));
  1220. selectedMouseSpeed.setModel(new DefaultComboBoxModel<>(new String[] {
  1221. "130 - 140 (Slow)",
  1222. "140 - 150 (Medium)",
  1223. "150 - 160 (Recommended)",
  1224. "160 - 170 (Fast)",
  1225. "170 - 180 (Very fast)"
  1226. }));
  1227. selectedMouseSpeed.setSelectedIndex(2);
  1228.  
  1229. //---- selectedRanged ----
  1230. selectedRanged.setText("Use ranged");
  1231. selectedRanged.setFont(new Font("Tahoma", Font.PLAIN, 14));
  1232.  
  1233. //---- selectedArrowLoot ----
  1234. selectedArrowLoot.setFont(new Font("Tahoma", Font.PLAIN, 14));
  1235. selectedArrowLoot.setModel(new DefaultComboBoxModel<>(new String[] {
  1236. "0. Don't loot arrows.",
  1237. "1. Bronze arrows.",
  1238. "2. Iron arrows.",
  1239. "3. Steel arrows.",
  1240. "4. Mithril arrows.",
  1241. "5. Adamant arrows.",
  1242. "6. Rune arrows.",
  1243. "7. Training arrows.",
  1244. "8. Bronze bolts."
  1245. }));
  1246.  
  1247. //---- selectedAntiBan ----
  1248. selectedAntiBan.setText("use ABCV2");
  1249. selectedAntiBan.setFont(new Font("Tahoma", Font.PLAIN, 14));
  1250. selectedAntiBan.setSelected(true);
  1251.  
  1252. //---- label3 ----
  1253. label3.setText("Hop when we got:");
  1254. label3.setFont(new Font("Tahoma", Font.PLAIN, 14));
  1255.  
  1256. //---- competitionPlayers ----
  1257. competitionPlayers.setFont(new Font("Tahoma", Font.PLAIN, 14));
  1258. competitionPlayers.setModel(new DefaultComboBoxModel<>(new String[] {
  1259. "0. Never",
  1260. "1. 2-4",
  1261. "2. 4+"
  1262. }));
  1263. competitionPlayers.setSelectedIndex(1);
  1264.  
  1265. //---- label4 ----
  1266. label4.setText("players as competition.");
  1267. label4.setFont(new Font("Tahoma", Font.PLAIN, 14));
  1268.  
  1269. //---- isMember ----
  1270. isMember.setText("Is member");
  1271. isMember.setFont(new Font("Tahoma", Font.PLAIN, 14));
  1272.  
  1273. //---- endscriptTimer ----
  1274. endscriptTimer.setFont(new Font("Tahoma", Font.PLAIN, 14));
  1275. endscriptTimer.setModel(new DefaultComboBoxModel<>(new String[] {
  1276. "0. Never",
  1277. "1. +- 1 hour",
  1278. "2. +- 2 hours",
  1279. "3. +- 3 hours",
  1280. "4. +- 4 hours",
  1281. "5. +- 5 hours",
  1282. "6. +- 6 hours",
  1283. "7. +- 7 hours",
  1284. "8. +- 8 hours",
  1285. "9. +- 9 hours",
  1286. "10. +- 10 hours",
  1287. "11. +- 11 hours",
  1288. "12. +- 12 hours"
  1289. }));
  1290.  
  1291. //---- label5 ----
  1292. label5.setText("End script after:");
  1293. label5.setFont(new Font("Tahoma", Font.PLAIN, 14));
  1294.  
  1295. GroupLayout contentPanelLayout = new GroupLayout(contentPanel);
  1296. contentPanel.setLayout(contentPanelLayout);
  1297. contentPanelLayout.setHorizontalGroup(
  1298. contentPanelLayout.createParallelGroup()
  1299. .addGroup(contentPanelLayout.createSequentialGroup()
  1300. .addGroup(contentPanelLayout.createParallelGroup()
  1301. .addComponent(ScriptNaam)
  1302. .addComponent(selectedAntiBan)
  1303. .addGroup(contentPanelLayout.createSequentialGroup()
  1304. .addGroup(contentPanelLayout.createParallelGroup()
  1305. .addComponent(label1)
  1306. .addComponent(label2)
  1307. .addComponent(selectedRanged)
  1308. .addComponent(label3)
  1309. .addComponent(isMember)
  1310. .addComponent(label5))
  1311. .addGap(18, 18, 18)
  1312. .addGroup(contentPanelLayout.createParallelGroup()
  1313. .addGroup(contentPanelLayout.createSequentialGroup()
  1314. .addComponent(competitionPlayers, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
  1315. .addPreferredGap(LayoutStyle.ComponentPlacement.UNRELATED)
  1316. .addComponent(label4))
  1317. .addComponent(selectedArrowLoot, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
  1318. .addComponent(selectedMouseSpeed, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
  1319. .addComponent(burryBones)
  1320. .addComponent(locationSelected, GroupLayout.PREFERRED_SIZE, 150, GroupLayout.PREFERRED_SIZE)
  1321. .addComponent(lootFeathers)
  1322. .addComponent(endscriptTimer, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE))))
  1323. .addGap(0, 102, Short.MAX_VALUE))
  1324. );
  1325. contentPanelLayout.setVerticalGroup(
  1326. contentPanelLayout.createParallelGroup()
  1327. .addGroup(contentPanelLayout.createSequentialGroup()
  1328. .addComponent(ScriptNaam)
  1329. .addPreferredGap(LayoutStyle.ComponentPlacement.UNRELATED)
  1330. .addGroup(contentPanelLayout.createParallelGroup(GroupLayout.Alignment.BASELINE)
  1331. .addComponent(label1)
  1332. .addComponent(locationSelected, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE))
  1333. .addPreferredGap(LayoutStyle.ComponentPlacement.RELATED)
  1334. .addComponent(burryBones)
  1335. .addPreferredGap(LayoutStyle.ComponentPlacement.UNRELATED)
  1336. .addComponent(lootFeathers)
  1337. .addPreferredGap(LayoutStyle.ComponentPlacement.UNRELATED)
  1338. .addGroup(contentPanelLayout.createParallelGroup(GroupLayout.Alignment.BASELINE)
  1339. .addComponent(label2)
  1340. .addComponent(selectedMouseSpeed, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE))
  1341. .addPreferredGap(LayoutStyle.ComponentPlacement.UNRELATED)
  1342. .addGroup(contentPanelLayout.createParallelGroup(GroupLayout.Alignment.BASELINE)
  1343. .addComponent(selectedRanged)
  1344. .addComponent(selectedArrowLoot, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE))
  1345. .addPreferredGap(LayoutStyle.ComponentPlacement.RELATED)
  1346. .addComponent(isMember)
  1347. .addPreferredGap(LayoutStyle.ComponentPlacement.RELATED)
  1348. .addComponent(selectedAntiBan)
  1349. .addPreferredGap(LayoutStyle.ComponentPlacement.UNRELATED)
  1350. .addGroup(contentPanelLayout.createParallelGroup(GroupLayout.Alignment.BASELINE)
  1351. .addComponent(label3)
  1352. .addComponent(competitionPlayers, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
  1353. .addComponent(label4))
  1354. .addGap(18, 18, 18)
  1355. .addGroup(contentPanelLayout.createParallelGroup(GroupLayout.Alignment.BASELINE)
  1356. .addComponent(endscriptTimer, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
  1357. .addComponent(label5))
  1358. .addGap(0, 22, Short.MAX_VALUE))
  1359. );
  1360. }
  1361. dialogPane.add(contentPanel, BorderLayout.CENTER);
  1362.  
  1363. //======== buttonBar ========
  1364. {
  1365. buttonBar.setBorder(new EmptyBorder(12, 0, 0, 0));
  1366. buttonBar.setLayout(new GridBagLayout());
  1367. ((GridBagLayout)buttonBar.getLayout()).columnWidths = new int[] {0, 0, 80};
  1368. ((GridBagLayout)buttonBar.getLayout()).columnWeights = new double[] {1.0, 0.0, 0.0};
  1369.  
  1370. //---- startScriptButton ----
  1371. startScriptButton.setText("Start Script");
  1372. startScriptButton.setFont(new Font("Tahoma", Font.PLAIN, 14));
  1373. startScriptButton.addActionListener(e -> startScriptButtonActionPerformed(e));
  1374. buttonBar.add(startScriptButton, new GridBagConstraints(2, 0, 1, 1, 0.0, 0.0,
  1375. GridBagConstraints.CENTER, GridBagConstraints.BOTH,
  1376. new Insets(0, 0, 0, 0), 0, 0));
  1377. }
  1378. dialogPane.add(buttonBar, BorderLayout.SOUTH);
  1379. }
  1380. contentPane.add(dialogPane, BorderLayout.CENTER);
  1381. pack();
  1382. setLocationRelativeTo(getOwner());
  1383. }
  1384.  
  1385. private JMenuBar menuBar1;
  1386. private JMenu menu1;
  1387. private JMenuItem menuItem1;
  1388. private JMenuItem menuItem2;
  1389. private JMenuItem menuItem3;
  1390. private JPanel dialogPane;
  1391. private JPanel contentPanel;
  1392. private JLabel ScriptNaam;
  1393. private JLabel label1;
  1394. private JComboBox<String> locationSelected;
  1395. private JCheckBox burryBones;
  1396. private JCheckBox lootFeathers;
  1397. private JLabel label2;
  1398. private JComboBox<String> selectedMouseSpeed;
  1399. private JCheckBox selectedRanged;
  1400. private JComboBox<String> selectedArrowLoot;
  1401. private JCheckBox selectedAntiBan;
  1402. private JLabel label3;
  1403. private JComboBox<String> competitionPlayers;
  1404. private JLabel label4;
  1405. private JCheckBox isMember;
  1406. private JComboBox<String> endscriptTimer;
  1407. private JLabel label5;
  1408. private JPanel buttonBar;
  1409. private JButton startScriptButton;
  1410. }
  1411. //End of GUI
  1412.  
  1413. void openSite(String url)
  1414. {
  1415. URL a = null;
  1416. try {
  1417. a = new URL(url);
  1418. } catch (MalformedURLException e1) {
  1419. System.out.println("ERROR OPENING URL");
  1420. e1.printStackTrace();
  1421. }
  1422. openWebpage(a);
  1423. }
  1424.  
  1425. public void openWebpage(URI uri) {
  1426. Desktop desktop = Desktop.isDesktopSupported() ? Desktop.getDesktop() : null;
  1427. if (desktop != null && desktop.isSupported(Desktop.Action.BROWSE)) {
  1428. try {
  1429. desktop.browse(uri);
  1430. } catch (Exception e) {
  1431. e.printStackTrace();
  1432. }
  1433. }
  1434. }
  1435.  
  1436. public void openWebpage(URL url) {
  1437. try {
  1438. openWebpage(url.toURI());
  1439. } catch (URISyntaxException e) {
  1440. e.printStackTrace();
  1441. }
  1442. }
  1443.  
  1444. @Override
  1445. public void clanMessageReceived(String arg0, String arg1)
  1446. {
  1447. // TODO Auto-generated method stub
  1448.  
  1449. }
  1450. @Override
  1451. public void duelRequestReceived(String arg0, String arg1)
  1452. {
  1453. // TODO Auto-generated method stub
  1454.  
  1455. }
  1456. @Override
  1457. public void personalMessageReceived(String arg0, String arg1)
  1458. {
  1459. // TODO Auto-generated method stub
  1460.  
  1461. }
  1462. @Override
  1463. public void playerMessageReceived(String arg0, String arg1)
  1464. {
  1465. // TODO Auto-generated method stub
  1466.  
  1467. }
  1468. @Override
  1469. public void tradeRequestReceived(String arg0)
  1470. {
  1471. // TODO Auto-generated method stub
  1472.  
  1473. }
  1474. @Override
  1475. public void serverMessageReceived(String msg)
  1476. {
  1477. if(msg.contains("I'm already under attack."))
  1478. {
  1479. inCombat = true;
  1480. }
  1481. if(msg.contains("Someone else if fighting that."))
  1482. {
  1483.  
  1484. }
  1485. }
  1486.  
  1487. }
Add Comment
Please, Sign In to add comment