import java.applet.Applet; import java.awt.Color; import java.awt.Graphics; import java.awt.GridBagConstraints; import java.awt.GridBagLayout; import java.awt.Point; import java.awt.event.ActionEvent; import java.awt.event.KeyEvent; import java.awt.event.MouseEvent; import java.awt.image.BufferedImage; import java.io.IOException; import java.util.ArrayList; import java.util.Map; import java.awt.Color; import java.awt.Robot; import java.awt.AWTException; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JPanel; import javax.swing.*; import java.applet.*; import java.net.*; import java.awt.*; import java.awt.event.*; import com.speljohan.rsbot.bot.Bot; import com.speljohan.rsbot.bot.input.Mouse; import com.speljohan.rsbot.script.Calculations; import com.speljohan.rsbot.script.Script; import com.speljohan.rsbot.script.Skills; import com.speljohan.rsbot.script.wrappers.*; import com.speljohan.rsbot.script.InputManager; import com.speljohan.rsbot.event.events.ServerMessageEvent; import com.speljohan.rsbot.event.listeners.PaintListener; import com.speljohan.rsbot.event.listeners.ServerMessageListener; public class KNOChins extends Script implements PaintListener { private final Color BGColor = new Color(0, 0, 0); private final Color BGTrimColor = new Color(0, 0, 0); private final Color TextColor = new Color(255, 255, 255); private final int NUM_LINES = 5; private final int PRINT_X = 2, PRINT_Y = 236; private String[] ProgressLines; private int width, longest; int count; int startXP = 0; long hours = 0, minutes = 0, seconds = 0, time; long startTime, seconds2; long timeGained = 0; public double getVersion() { return 1.0; } RSTile myloc, myloc1, myloc2, myloc3, myloc4; public String getScriptCategory() { return "Kaneo/Hunter"; } public String getName() { return "KNOChins"; } public String getAuthor() { return "Kaneo"; } public void onRepaint(Graphics g) { if (isLoggedIn()) { int index = Skills.getStatIndex("hunter"); int XPChange = skills.getCurrentSkillExp(index) - startXP; int topX = 515 - 173, topY = 330 - 80, x = topX 5, y = topY 5; g.setColor(new Color(0, 0, 100, 100)); g.fill3DRect(topX, topY, 515 - topX, 337 - topY, true); g.setColor(Color.white); if (startTime != timeGained) { g.drawString("Runtime: " hours "h " minutes "min " seconds "sec.", x, y = 10); timeGained = seconds; } if (seconds != 0) { g.drawString("Chinchompas per hour: " getInventoryCount(10034) * 3600 / seconds2, x, y = 13); } else { g.drawString("Chinchompas per hour: " getInventoryCount(10034) * 3600, x, y = 13); } g.drawString("Money Gained: " getInventoryCount(10034) * 751, x, y = 13); if (seconds2 != 0) { g.drawString("Money per hour: " (getInventoryCount(10034) * 751) * 3600 / seconds2, x, y = 13); } else { g.drawString("Money per hour: " (getInventoryCount(10034) * 751) * 3600, x, y = 13); } g.drawString(skills.getXPToNextLevel(index) " Exp to level " (skills.getCurrentSkillLevel(index) 1), x, y = 13); if (seconds2 != 0) { g.drawString("EXP per hour: " XPChange * 3600 / seconds2, x, y = 13); } else { g.drawString("EXP per hour: " XPChange * 3600, x, y = 13); } if (startTime == 0) { startTime = System.currentTimeMillis(); } long millis = System.currentTimeMillis() - startTime; time = System.currentTimeMillis() - startTime; seconds2 = millis / 1000; seconds = time / 1000; if (seconds >= 60) { minutes = seconds / 60; seconds -= minutes * 60; } if (minutes >= 60) { hours = minutes / 60; minutes -= hours * 60; } long startTime; int oldTime; startTime = seconds; } } public boolean onStart(Map args) { width = longest = 0; ProgressLines = new String[NUM_LINES]; hours = 0; minutes = 0; seconds = 0; time = 0; seconds2 = 0; timeGained = 0; count = 0; count = 0; if (isLoggedIn()) { myloc = getMyPlayer().getLocation(); myloc1 = new RSTile(myloc.getX() - 1, myloc.getY() - 1); myloc2 = new RSTile(myloc.getX() 1, myloc.getY() - 1); myloc3 = new RSTile(myloc.getX() 1, myloc.getY() 1); myloc4 = new RSTile(myloc.getX() - 1, myloc.getY() 1); } else if (!isLoggedIn()) { myloc = new RSTile(0, 0); } int index = Skills.getStatIndex("hunter"); startXP = skills.getCurrentSkillExp(index); startTime = System.currentTimeMillis(); Bot.getEventManager().addListener(PaintListener.class, this); return true; } public void onFinish() { Bot.getEventManager().removeListener(PaintListener.class, this); } public int loop() { try { int index = Skills.getStatIndex("hunter"); if (isLoggedIn() && startXP == 0) { startXP = skills.getCurrentSkillExp(index); } ///////////////////////////////////// if (myloc.getX() < 1 && myloc.getY() < 1) { myloc = getMyPlayer().getLocation(); myloc1 = new RSTile(myloc.getX() - 1, myloc.getY() - 1); myloc2 = new RSTile(myloc.getX() 1, myloc.getY() - 1); myloc3 = new RSTile(myloc.getX() 1, myloc.getY() 1); myloc4 = new RSTile(myloc.getX() - 1, myloc.getY() 1); } if (myloc.getX() > 0 && myloc.getY() > 0) { if (!attacked() && !pickup()) { if (!ready()) { setUp(); return random(100, 350); } if (ready()) { if (checktrap()) { return random(100, 350); } if (!checktrap() && fixtrap()) { return random(100, 350); } } } return random(100, 350); } } catch (Exception e) { walkTileMM(myloc); wait(random(2000, 3000)); pickup(); } return random(500, 800); } boolean fixtrap() { if (trapfix(myloc1)) { if (distanceTo(myloc1) < 5) { atTile(myloc1, "dismantle"); wait(random(500, 800)); return true; } else { walkTileMM(myloc1); wait(random(500, 800)); } } if (trapfix(myloc2)) { if (distanceTo(myloc2) < 5) { atTile(myloc2, "dismantle"); wait(random(500, 800)); return true; } else { walkTileMM(myloc2); wait(random(500, 800)); } } if (trapfix(myloc3)) { if (distanceTo(myloc3) < 5) { atTile(myloc3, "dismantle"); wait(random(500, 800)); return true; } else { walkTileMM(myloc3); wait(random(500, 800)); } } if (trapfix(myloc4)) { if (distanceTo(myloc4) < 5) { atTile(myloc4, "dismantle"); wait(random(500, 800)); return true; } else { walkTileMM(myloc4); wait(random(500, 800)); } } return false; } boolean checktrap() { if (trapcheck(myloc4)) { if (distanceTo(myloc4) < 5) { atTile(myloc4, "check"); wait(random(1000, 1250)); return true; } else { walkTileMM(myloc4); wait(random(500, 800)); } } if (trapcheck(myloc3)) { if (distanceTo(myloc3) < 5) { atTile(myloc3, "check"); wait(random(1000, 1250)); return true; } else { walkTileMM(myloc3); wait(random(500, 800)); } } if (trapcheck(myloc2)) { if (distanceTo(myloc2) < 5) { atTile(myloc2, "check"); wait(random(1000, 1250)); return true; } else { walkTileMM(myloc2); wait(random(500, 800)); } } if (trapcheck(myloc1)) { if (distanceTo(myloc1) < 5) { atTile(myloc1, "check"); wait(random(1000, 1250)); return true; } else { walkTileMM(myloc1); wait(random(500, 800)); } } return false; } boolean setUp() { if (!trap1()) { if (traplay(myloc1)) { if (distanceTo(myloc1) == 0) { atInventoryItem(10008, "lay"); wait(random(3900, 4150)); return true; } else { if (!tileOnScreen(myloc1)) { walkTileMM(myloc1); wait(random(2000, 2500)); } else if (tileOnScreen(myloc1)) { if(!pickup()) { atTile(myloc1, "walk"); wait(random(300, 500)); } } } } } if (!trap2() && trap1()) { if (traplay(myloc2)) { if (distanceTo(myloc2) == 0) { atInventoryItem(10008, "lay"); wait(random(3900, 4150)); return true; } else { if (!tileOnScreen(myloc2)) { walkTileMM(myloc2); wait(random(2000, 2500)); } else if (tileOnScreen(myloc2)) { if(!pickup()) { atTile(myloc2, "walk"); wait(random(300, 500)); } } } } } if (!trap3() && trap2() && trap1()) { if (traplay(myloc3)) { if (distanceTo(myloc3) == 0) { atInventoryItem(10008, "lay"); wait(random(3900, 4150)); return true; } else { if (!tileOnScreen(myloc3)) { walkTileMM(myloc3); wait(random(2000, 2500)); } else if (tileOnScreen(myloc3)) { if(!pickup()) { atTile(myloc3, "walk"); wait(random(300, 500)); } } } } } if (!trap4() && trap3() && trap2() && trap1()) { if (traplay(myloc4)) { if (distanceTo(myloc4) == 0) { atInventoryItem(10008, "lay"); wait(random(3900, 4150)); return true; } else { if (!tileOnScreen(myloc4)) { walkTileMM(myloc4); wait(random(2000, 2500)); } else if (tileOnScreen(myloc4)) { if(!pickup()) { atTile(myloc4, "walk"); wait(random(300, 500)); } } } } } return false; } boolean attacked() { if (getMyPlayer().isInCombat() && !getMyPlayer().isMoving()) // If { RSTile foo, bar; foo = getMyPlayer().getLocation(); setRun(true); bar = new RSTile(foo.getX() random(-1, 2), foo.getY() random(8, 10)); walkTileMM(bar); while (getMyPlayer().isMoving()) { wait(random(12000, 20000)); } wait(random(12000, 20000)); walkTileMM(foo); return true; } return false; } boolean trapfix(RSTile fix) { if (getObjectAt(fix) != null) { if (getObjectAt(fix).getID() == 19192) { return true; } } return false; } boolean traplay(RSTile lay) { if (getObjectAt(lay) != null) { if (getObjectAt(lay).getID() != 19190 && getObjectAt(lay).getID() != 19197 && getObjectAt(lay).getID() != 19200 && getObjectAt(lay).getID() != 19192 && getObjectAt(lay).getID() != 19188 && getObjectAt(lay).getID() != 19187 && getObjectAt(lay).getID() != 19199) { return true; } } if (getObjectAt(lay) == null) { return true; } return false; } boolean trapcheck(RSTile check) { if (getObjectAt(check) != null) { if (getObjectAt(check).getID() == 19190) { return true; } } return false; } boolean ready() { if (trap1() && trap2() && trap3() && trap4()) { return true; } return false; } boolean trap4() { if (getObjectAt(myloc4) != null) { if (getObjectAt(myloc4).getID() == 19187 || getObjectAt(myloc4).getID() == 19199 || getObjectAt(myloc4).getID() == 19192 || getObjectAt(myloc4).getID() == 19190 || getObjectAt(myloc4).getID() == 19197 || getObjectAt(myloc4).getID() == 19200 || getObjectAt(myloc4).getID() == 19192 || getObjectAt(myloc4).getID() == 19188 || getObjectAt(myloc4).getID() == 19187) { return true; } } return false; } boolean trap3() { if (getObjectAt(myloc3) != null) { if (getObjectAt(myloc3).getID() == 19187 || getObjectAt(myloc3).getID() == 19199 || getObjectAt(myloc3).getID() == 19192 || getObjectAt(myloc3).getID() == 19190 || getObjectAt(myloc3).getID() == 19197 || getObjectAt(myloc3).getID() == 19200 || getObjectAt(myloc3).getID() == 19192 || getObjectAt(myloc3).getID() == 19188 || getObjectAt(myloc3).getID() == 19187) { return true; } } return false; } boolean trap2() { if (getObjectAt(myloc2) != null) { if (getObjectAt(myloc2).getID() == 19187 || getObjectAt(myloc2).getID() == 19199 || getObjectAt(myloc2).getID() == 19192 || getObjectAt(myloc2).getID() == 19190 || getObjectAt(myloc2).getID() == 19197 || getObjectAt(myloc2).getID() == 19200 || getObjectAt(myloc2).getID() == 19192 || getObjectAt(myloc2).getID() == 19188 || getObjectAt(myloc2).getID() == 19187) { return true; } } return false; } boolean trap1() { if (getObjectAt(myloc1) != null) { if (getObjectAt(myloc1).getID() == 19187 || getObjectAt(myloc1).getID() == 19199 || getObjectAt(myloc1).getID() == 19192 || getObjectAt(myloc1).getID() == 19190 || getObjectAt(myloc1).getID() == 19197 || getObjectAt(myloc1).getID() == 19200 || getObjectAt(myloc1).getID() == 19192 || getObjectAt(myloc1).getID() == 19188 || getObjectAt(myloc1).getID() == 19187) { return true; } } return false; } boolean pickup() { int[] pickit1 = new int[]{ 10008 }; RSItemTile TItem = getGroundItemByID(15, pickit1); RSTile tile = TItem; if (TItem != null) { if (tileOnScreen(TItem)) { if (distanceBetween(TItem, myloc1) < 1 && !trap1() || distanceBetween(TItem, myloc2) < 1 && !trap2() || distanceBetween(TItem, myloc3) < 1 && !trap3() || distanceBetween(TItem, myloc4) < 1 && !trap4()) { atTile(TItem, "lay"); wait(random(1500, 2000)); return true; } else { atTile(TItem, "take"); wait(random(1500, 2000)); return true; } } if (!tileOnScreen(TItem)) { walkTileMM(TItem); wait(random(1500, 2000)); return true; } } return false; } boolean shake() { int[] pickit = new int[]{ 19190 }; RSObject TItem1 = findObject(15, pickit); if (TItem1 != null) { if (distanceBetween(TItem1.getLocation(), myloc1) < 1 || distanceBetween(TItem1.getLocation(), myloc2) < 1 || distanceBetween(TItem1.getLocation(), myloc3) < 1 || distanceBetween(TItem1.getLocation(), myloc4) < 1) { atObject(TItem1, "check"); wait(random(900, 1200)); return true; } } return false; } public boolean dropAllExcept1(int... items) { //Djbeng for (int element : items) { if (inventoryContains(element)) { atInventoryItem(element, "drop"); return true; } } return false; } public boolean turnCamera() { try { setCameraAltitude(true); int newCamera = getCameraAngle() random(0, 270); if (newCamera >= 360) newCamera -= 360; setCameraRotation(newCamera); } catch (Exception e) { return false; } return true; } public String getScriptDescription( ) { String html = ""; html = "\n"; html = ""; html = ""; html = "\n"; html = "

" getName( ) " v" getVersion( ) "


\n"; html = "Author: " getAuthor( ) "

\n"; html = "Just start by Red Chins with 4 traps."; html = "Any questions add my msn - kaneo@dathlon.org"; html = "\n"; html = "\n"; html = "