import java.awt.*;
import java.awt.event.*;
import java.io.*;
import java.net.*;
import java.util.*;
import com.speljohan.rsbot.event.events.*;
import com.speljohan.rsbot.event.listeners.*;
import com.speljohan.rsbot.accessors.*;
import com.speljohan.rsbot.account.*;
import com.speljohan.rsbot.bot.*;
import com.speljohan.rsbot.script.wrappers.*;
import com.speljohan.rsbot.script.*;
public class MonsterKiller extends Script implements ServerMessageListener, PaintListener
{
// NPC IDs/name:
int[] MonID;
public String MonN1 = "null";
public String MonN2 = "null";
public String[] MonN;
//Intigers
public int compile = 1;
public int bgColor1 = 1;
public int bgColor2 = 1;
public int bgColor3 = 1;
public long lvls = 0;
public int MonsID1 = 0000;
public int MonsID2 = 0000;
public int MonsID3 = 0000;
public int MonsID4 = 0000;
public int ITPID1 = 0000;
public int ITPID2 = 0000;
public int[] ITPIDs;
public int wordsend = 20;
public boolean Bbones = false;
public boolean CCoins = false;
public boolean showGUI = false;
public boolean getarr = false;
public boolean wEat = false;
public boolean pickoi = false;
public boolean placeIMC = false;
public int Bingbones;
public long startTime = System.currentTimeMillis();
public long attacking;
public long bonesnum = 0;
public int fightMode;
public int eatAT = 10;
public int killed = 0;
public RSPlayer getMyPlayer = getMyPlayer();
public int[] arrows = new int[] { 638, 640, 882, 884, 886, 888, 863 };
public int[] FoodID = new int[] { 1895,1893,1891, 4293, 2142, 4291, 2140, 3228, 9980, 7223, 6297, 6293, 6295, 6299, 7521, 9988, 7228, 2878, 7568, 2343, 1861, 13433, 315, 325, 319, 3144, 347, 355, 333, 339, 351, 329, 3381, 361, 10136, 5003, 379, 365, 373, 7946, 385, 397, 391, 3369, 3371, 3373, 2309, 2325, 2333, 2327, 2331, 2323, 2335, 7178, 7180, 7188, 7190, 7198, 7200, 7208, 7210, 7218, 7220, 2003, 2011, 2289, 2291, 2293, 2295, 2297, 2299, 2301, 2303, 1891, 1893, 1895, 1897, 1899, 1901, 7072, 7062, 7078, 7064, 7084, 7082, 7066, 7068, 1942, 6701, 6703, 7054, 6705, 7056, 7060, 2130, 1985, 1993, 1989, 1978, 5763, 5765, 1913, 5747, 1905, 5739, 1909, 5743, 1907, 1911, 5745, 2955, 5749, 5751, 5753, 5755, 5757, 5759, 5761, 2084, 2034, 2048, 2036, 2217, 2213, 2205, 2209, 2054, 2040, 2080, 2277, 2225, 2255, 2221, 2253, 2219, 2281, 2227, 2223, 2191, 2233, 2092, 2032, 2074, 2030, 2281, 2235, 2064, 2028, 2187, 2185, 2229 };
// Inventory IDs:
int[] BonesID = new int[] { 526, 532 };
int CoinsID = 995;
public double getVersion( )
{
return( 2.7 );
}
public String getName() {
return "Monster Killer";
}
public String getAuthor( )
{
return( "Last Man 3" );
}
public String getScriptCategory()
{
return( "LM3/Combat" );
}
public String getScriptDescription()
{
String html = "";
html += "<html>";
html += "<head>";
html += "<style type=\"text/css\"> hr {color: white} p {margin-left: 20px} body {background-image: url(\"http://i36.tinypic.com/11bltvq.png\")}</style>";
html += "</head>";
html += "<body>";
html += "<center>";
html += "<b><font size=\"6\" color=\"red\">" + getName() + " v" + getVersion() + " c" + compile +"</font></b><br>";
html += "<font size=\"3\" color=\"red\">Please start in monster place around RuneScape<br></font>";
html += "</center>";
html += "<center><table border=\"0\"><tr><td colspan=\"5\"><center><font size=6><b>== Options and Settings ==</b></font></center></td></tr><tr><td colspan=4><hr></td></tr><tbody><tr><td width=\"135\">";
html += "<b>Bury Bones:</b></td><td width=\"140\"><center><input type=\"checkbox\" name=\"bBones\" value=\"true\"> <b>Yes</b></center></td><td width=\"135\"><b>Collect Coins?:</b></td><td width=\"140\"><center><input type=\"checkbox\" name=\"tCoins\" value=\"true\"> <b>Yes</b></center></td></tr>";
html += "<tr><td><b>Eat:</b></td><td><center><input type=\"checkbox\" name=\"WillEat\" value=\"true\"> <b>Yes</b></center></td><td><b>Eat at:</b></td><td><center><input type=\"text\" name=\"eatt\" size=2>  HP(10 by default)</center></td></tr>";
html += "<tr><td><b>Monster ID:</b></td>";
html += "<td colspan=\"3\"><center><b>ID 1:</b><input type=\"text\" name=\"MonsterID1\" size=4>  <b>ID 2:</b><input type=\"text\" name=\"MonsterID2\" size=4>  <b>ID 3:</b><input type=\"text\" name=\"MonsterID3\" size=\"4\">  <b>ID 4:</b><input type=\"text\" name=\"MonsterID4\" size=\"4\"></center></td></tr>";
html += "<tr><td><b>Monster Name:</b></td><td colspan=\"4\"><center><b>Name 1:</b> <input type=\"text\" name=\"MonsterN1\" size=\"8\">  <b>Name 2:</b> <input type=\"text\" name=\"MonsterN2\" size=\"8\"></center></td></tr>";
html += "<tr><td><b>Combat Settings:</b></td>";
html += "<td><center><select name=\"attT\"><option selected>Strength<option>Attack<option>Defence<option>Range</select></center></td><td><center>Multi-Combat: <input type=\"checkbox\" name=\"placeMC\" value=\"true\"></center></td><td><center>Pick arrows: <input type=\"checkbox\" name=\"pickua\" value=\"true\"></center></td></tr>";
html += "<tr><td><b>Pick Items:</b></td><td colspan=\"3\"><center><b>Item ID 1:</b> <input type=\"text\" name=\"ItemID1\" size=\"4\">  <b>Item ID 2:</b> <input type=\"text\" name=\"ItemID2\" size=\"4\"></center></td></tr>";
html += "<tr><td><b>Show GUI:</b></td><td colspan=\"3\"><center><input type=\"checkbox\" name=\"sGUI\" value=\"true\"> <b>Yes</b></center></td></tr><tr><td colspan=\"4\"><hr></td></tr>";
html += "<tr><td colspan=2><b><font size=\"3\">   Thanks for using this script, enjoy it!</font></b></td><td colspan=\"2\" align=right>  </td></tr></table>";
html += "</center></body>";
html += "</html>";
return( html );
}
public boolean onStart(Map<String, String>args) {
if(!args.get("MonsterN1").equals("")) {
MonN1 = args.get("MonsterN1");
}
if(!args.get("MonsterN2").equals("")) {
MonN2 = args.get("MonsterN2");
}
if(args.get("attT").equals("Strength"))
{
attacking = skills.getXPToNextLevel(2);
fightMode = 1;
}
if(args.get("attT").equals("Attack"))
{
attacking = skills.getXPToNextLevel(0);
fightMode = 0;
}
if(args.get("attT").equals("Defence"))
{
attacking = skills.getXPToNextLevel(1);
fightMode = 3;
}
if(args.get("attT").equals("Range"))
{
attacking = skills.getXPToNextLevel(4);
fightMode = 1;
}
if(args.get("bBones") != null) {
if(args.get("bBones").equals("true"))
{
Bbones = true;
}
}
if(args.get("tCoins") != null) {
if(args.get("tCoins").equals("true"))
{
CCoins = true;
}
}
if(args.get("WillEat") != null) {
if(args.get("WillEat").equals("true"))
{
wEat = true;
}
}
if(args.get("placeMC") != null) {
if(args.get("placeMC").equals("true"))
{
placeIMC = true;
}
}
if(args.get("pickua") != null) {
if(args.get("pickua").equals("true")) {
getarr = true;
}
}
if(!args.get("eatt").equals("")) {
eatAT = Integer.parseInt(args.get("eatt"));
}
if(!args.get("ItemID1").equals("")) {
ITPID1 = Integer.parseInt(args.get("ItemID1"));
pickoi = true;
}
if(!args.get("ItemID2").equals("")) {
ITPID2 = Integer.parseInt(args.get("ItemID2"));
}
ITPIDs = new int[] { ITPID1, ITPID2 };
log("==========Settings=========");
log("Bury Bones: " + Bbones);
log("Collect Coins: " + CCoins);
log("Pick Items: " + pickoi);
log("Eat: " + wEat);
if (wEat) {
log("Eat at: " + eatAT);
}
//Monster Related
MonsID1 = 0000;
if(args.get("MonsterID2").equals("")) {
MonsID2 = MonsID1;
}
if(args.get("MonsterID3").equals("")) {
MonsID3 = MonsID1;
}
if(args.get("MonsterID4").equals("")) {
MonsID4 = MonsID1;
}
if(!args.get("MonsterID1").equals("")) {
MonsID1 = Integer.parseInt(args.get("MonsterID1"));
}
if(!args.get("MonsterID2").equals("")) {
MonsID2 = Integer.parseInt(args.get("MonsterID2"));
}
if(!args.get("MonsterID3").equals("")) {
MonsID3 = Integer.parseInt(args.get("MonsterID4"));
}
if(!args.get("MonsterID3").equals("")) {
MonsID4 = Integer.parseInt(args.get("MonsterID4"));
}
MonID = new int[] { MonsID1, MonsID2, MonsID3, MonsID4 };
MonN = new String[] { MonN1, MonN2 };
if(MonsID1 == 0000 && MonN1 == "null") {
log("No Monster ID/Name Found, stopping...");
stopAllScripts();
}
if(args.get("sGUI") != null) {
if(args.get("sGUI").equals("true"))
{
showGUI = true;
}
}
Bot.getEventManager( ).addListener(PaintListener.class, this);
Bot.getEventManager().addListener(ServerMessageListener.class, this);
return true;
}
public void onFinish( )
{
log("Stopping...");
Bot.getEventManager().removeListener(PaintListener.class, this);
Bot.getEventManager().removeListener(ServerMessageListener.class, this);
}
public static double getOVersion() {
try {
URL url = new URL("http://deroba.awardspace.com/mk/curVersion.txt");
BufferedReader br = new BufferedReader(new InputStreamReader(
new BufferedInputStream(url.openConnection().getInputStream())));
double ver = Double.parseDouble(br.readLine().trim());
br.close();
return ver;
} catch (IOException e) {
throw new RuntimeException(e);
}
}
//Anti-Ban(Anti-Logout)
public void antiLogout()
{
switch(random(1,4))
{
case 1:
if(getNearestPlayerByLevel(1, 138) != null) {
if(wordsend >= 2) {
wordsend--;
}
if(wordsend == 1) {
wordsend = 20;
switch(random(1,10))
{
case 1:
sendText("...", true);
return;
case 2:
sendText("Lagggggggg", true);
return;
case 3:
sendText("Im bored...", true);
return;
case 4:
sendText("I need to train more", true);
return;
case 5:
sendText("My pc is soooo laggy", true);
return;
case 6:
sendText("dang, Im so close just " + attacking + "to next lvl" , true);
return;
case 7:
sendText(attacking + "exp left!", true);
return;
case 8:
sendText("gtg soon, lie", true);
return;
case 9:
if(getMyPlayer().isInCombat()) {
sendText("die!!!!", true);
return;
}
return;
case 10:
if(Bingbones != 0) {
sendText("bury, bury, bury", true);
return;
}
return;
}
}
return;
}
return;
case 2:
if(getCurrentTab() != TAB_STATS)
{
openTab(TAB_STATS);
}
if (attacking == skills.getXPToNextLevel(STAT_STRENGTH))
{
wait(random(450,700));
moveMouse(random(555,600),random(260,285));
wait(random(450,1200));
return;
}
if (attacking == skills.getXPToNextLevel(STAT_ATTACK))
{
wait(random(450,700));
moveMouse(random(555,600),random(230,250));
wait(random(450,1200));
return;
}
if (attacking == skills.getXPToNextLevel(STAT_DEFENSE))
{
wait(random(450,700));
moveMouse(random(555,600),random(295,320));
wait(random(450,1200));
return;
}
case 3:
if(getCurrentTab() != TAB_INVENTORY)
{
openTab(TAB_INVENTORY);
}
return;
case 4:
if(!isRunning())
{
setRun(true);
return;
}
return;
}
}
public void updateattexp()
{
if (attacking == skills.getXPToNextLevel(2))
{
attacking = skills.getXPToNextLevel(2);
}
if (attacking == skills.getXPToNextLevel(0))
{
attacking = skills.getXPToNextLevel(0);
}
if (attacking == skills.getXPToNextLevel(1))
{
attacking = skills.getXPToNextLevel(1);
}
if (attacking == skills.getXPToNextLevel(4))
{
attacking = skills.getXPToNextLevel(4);
}
return;
}
private void eat_check(){
log("Low HP, checking for something to eat...");
RSItem food = getInventoryItemByID(FoodID);
if(getInventoryCount(food.getID()) >= 1) {
eat(food.getID());
}
else
{
log("No more food, logging out");
logout();
stopAllScripts();
}
return;
}
private void eat(int id){
log("Eating: "+id+".");
atInventoryItem(id, "Eat");
wait(random(1500,2500));
return;
}
public void bury() {
RSItem bone = getInventoryItemByID(BonesID);
if(Bingbones == 0) {
return;
}
if(bone != null) {
if(getInventoryCount(bone.getID()) <= 0) {
log("No more bones left to bury, continuing combat.");
Bingbones = 0;
return;
} else {
log("Buring bones.");
if(bone != null) {
atInventoryItem(bone.getID(), "Bury");
}
if(getInventoryCount(bone.getID()) <= 0) {
log("No more bones left to bury, continuing combat.");
Bingbones = 0;
return;
}
return;
}
}
log("No more bones left to bury, continuing combat.");
Bingbones = 0;
return;
}
public void pickOI()
{
RSItem Oitem = getInventoryItemByID(ITPIDs);
int OldOitemCount = getInventoryCount(ITPIDs);
RSItemTile TItem = getGroundItemByID(5, ITPIDs);
if(TItem != null)
{
atTile(TItem, "Take");
while(getMyPlayer.isMoving()) {
wait(15);
}
if (getInventoryCount(ITPIDs) > OldOitemCount)
{
log("Picked up item.");
return;
}
else
{
log("No item found.");
return;
}
}
return;
}
public void picka()
{
RSItem arrow = getInventoryItemByID(arrows);
int OldArrowsCount = getInventoryCount(arrows);
RSItemTile Arrow = getGroundItemByID(5, arrows);
if(Arrow != null)
{
atTile(Arrow, "Take");
while(getMyPlayer.isMoving()) {
wait(15);
}
if (getInventoryCount(arrows) > OldArrowsCount)
{
log("Picked up arrows.");
if (getInventoryCount(arrow.getID()) >= 10) {
atInventoryItem(arrow.getID(), "Wield");
return;
}
return;
}
else
{
log("No arrows found");
return;
}
}
return;
}
public int loop() {
killed = 0;
int randomNumber2= random(1,359);
updateattexp();
int php = skills.getCurrentSkillLevel(3);
if(php <= eatAT) {
if(wEat = true && wEat != false) {
eat_check();
} else{
log("Low HP...Loggin Out");
logout();
stopAllScripts();
}
}
if(getFightMode() != fightMode)
{
setFightMode(fightMode);
}
if(!isRunning())
{
if(getEnergy() >= 90) {
setRun(true);
}
}
if (getMyPlayer().isInCombat() || getMyPlayer().isMoving()) {
setCameraRotation(randomNumber2);
return random(1500, 3000);
}
if(Bingbones == 1) {
bury();
return 1500;
}
if (isInventoryFull() && getInventoryCount(BonesID) >= 1) {
if(Bbones) {
log("Let's bury the bones.");
Bingbones = 1;
bury();
return random(1500,3000);
}
return random(1500,3000);
}
if (!getMyPlayer().isInCombat())
{
RSNPC Mons = getNearestFreeNPCByID(MonID);
RSNPC Mons2 = getNearestFreeNPCByName(MonN);
if(placeIMC) {
Mons = getNearestNPCByID(MonID);
Mons2 = getNearestNPCByName(MonN);
}
if (Mons != null)
{
log("Found Monster by ID");
atNPC(Mons, "Attack");
wait(400);
if(getMyPlayer().isInCombat()) {
log("Attacking NPC");
killed = 1;
}
while(getMyPlayer().isMoving()) {
wait(15);
}
wait(400);
if(getMyPlayer().isInCombat() && killed != 1) {
log("Attacking NPC");
killed = 1;
}
if (!getMyPlayer().isInCombat() && killed != 1) {
Mons = getNearestFreeNPCByID(MonID);
if(placeIMC) {
Mons = getNearestNPCByID(MonID);
}
log("Failed to attack trying 4 more times");
atNPC(Mons, "Attack");
wait(400);
if(getMyPlayer().isInCombat()) {
log("Attacking NPC");
killed = 1;
}
while(getMyPlayer().isMoving()) {
wait(15);
}
wait(400);
if(getMyPlayer().isInCombat() && killed != 1) {
log("Attacking NPC");
killed = 1;
}
if (!getMyPlayer().isInCombat() && killed != 1) {
Mons = getNearestFreeNPCByID(MonID);
if(placeIMC) {
Mons = getNearestNPCByID(MonID);
}
log("Failed to attack trying 3 more times");
setCameraRotation(randomNumber2);
atNPC(Mons, "Attack");
wait(400);
if(getMyPlayer().isInCombat()) {
log("Attacking NPC");
killed = 1;
}
while(getMyPlayer().isMoving()) {
wait(15);
}
wait(400);
if(getMyPlayer().isInCombat() && killed != 1) {
log("Attacking NPC");
killed = 1;
}
if (!getMyPlayer().isInCombat() && killed != 1) {
Mons = getNearestFreeNPCByID(MonID);
if(placeIMC) {
Mons = getNearestNPCByID(MonID);
}
log("Failed to attack trying 2 more times");
atNPC(Mons, "Attack");
wait(400);
if(getMyPlayer().isInCombat()) {
log("Attacking NPC");
killed = 1;
}
while(getMyPlayer().isMoving()) {
wait(15);
}
wait(400);
if(getMyPlayer().isInCombat() && killed != 1) {
log("Attacking NPC");
killed = 1;
}
if (!getMyPlayer().isInCombat() && killed != 1) {
Mons = getNearestFreeNPCByID(MonID);
if(placeIMC) {
Mons = getNearestNPCByID(MonID);
}
log("Failed to attack trying 1 more time");
setCameraRotation(randomNumber2);
atNPC(Mons, "Attack");
wait(400);
while(getMyPlayer().isMoving()) {
wait(15);
}
wait(400);
if(getMyPlayer().isInCombat() && killed != 1) {
log("Attacking NPC");
killed = 1;
}
if (!getMyPlayer().isInCombat() && killed != 1) {
log("Failed to attack.");
}
}
}
}
}
while(getMyPlayer().isInCombat()) {
wait(15);
}
if(getarr)
{
picka();
}
if(pickoi)
{
pickOI();
}
if(Bbones)
{
int OldBonesCount = getInventoryCount(BonesID);
RSItemTile Bones = getGroundItemByID(2, BonesID);
if (Bones != null)
{
atTile(Bones, "ones");
wait(500);
while(getMyPlayer.isMoving()) {
wait(15);
}
if (getInventoryCount(BonesID) > OldBonesCount)
{
log("Picked up bones.");
if (CCoins)
{
int OldCoinsCount = getInventoryCount(CoinsID);
RSItemTile Coins = getGroundItemByID(2, CoinsID);
if (Coins != null)
{
atTile(Coins, "oins");
wait(500);
while(getMyPlayer.isMoving()) {
wait(15);
}
if (getInventoryCount(CoinsID) > OldCoinsCount)
{
log("Picked up Coins.");
return random(1000, 2000);
}
atTile(Coins, "oins");
wait(500);
while(getMyPlayer.isMoving()) {
wait(15);
}
return random(1000,2000);
}
else
{
log("No coins to collect.");
return random(1000, 2000);
}
}
return random(1000, 2000);
}
atTile(Bones, "ones");
wait(500);
while(getMyPlayer.isMoving()) {
wait(15);
}
return(1500);
}
else
{
log("No bones to collect.");
if(CCoins)
{
int OldCoinsCount = getInventoryCount(CoinsID);
RSItemTile Coins = getGroundItemByID(2, CoinsID);
if (Coins != null)
{
atTile(Coins, "oins");
wait(500);
while(getMyPlayer.isMoving()) {
wait(15);
}
if (getInventoryCount(CoinsID) > OldCoinsCount)
{
log("Picked up Coins.");
return random(1000, 2000);
}
atTile(Coins, "oins");
wait(500);
while(getMyPlayer.isMoving()) {
wait(15);
}
return random(1000,2000);
}
else
{
log("No coins to collect.");
return random(1000, 2000);
}
}
return random(1000, 2000);
}
}
if (CCoins)
{
int OldCoinsCount = getInventoryCount(CoinsID);
RSItemTile Coins = getGroundItemByID(2, CoinsID);
if (Coins != null)
{
atTile(Coins, "oins");
wait(500);
while(getMyPlayer.isMoving()) {
wait(15);
}
if (getInventoryCount(CoinsID) > OldCoinsCount)
{
log("Picked up Coins.");
return random(1000, 2000);
}
atTile(Coins, "oins");
wait(500);
while(getMyPlayer.isMoving()) {
wait(15);
}
return random(1000,2000);
}
else
{
log("No coins to collect.");
return random(1000, 2000);
}
}
return random(1500, 3000);
}
else if (Mons2 != null)
{
log("Found Monster by Name");
atNPC(Mons2, "Attack");
wait(400);
if(getMyPlayer().isInCombat()) {
log("Attacking NPC");
killed = 1;
}
while(getMyPlayer().isMoving()) {
wait(15);
}
wait(400);
if(getMyPlayer().isInCombat() && killed != 1) {
log("Attacking NPC");
killed = 1;
}
if (!getMyPlayer().isInCombat() && killed != 1) {
Mons2 = getNearestFreeNPCByName(MonN);
if(placeIMC) {
Mons2 = getNearestNPCByName(MonN);
}
log("Failed to attack trying 4 more times");
atNPC(Mons2, "Attack");
wait(400);
if(getMyPlayer().isInCombat()) {
log("Attacking NPC");
killed = 1;
}
while(getMyPlayer().isMoving()) {
wait(15);
}
wait(400);
if(getMyPlayer().isInCombat() && killed != 1) {
log("Attacking NPC");
killed = 1;
}
if (!getMyPlayer().isInCombat() && killed != 1) {
Mons2 = getNearestFreeNPCByName(MonN);
if(placeIMC) {
Mons2 = getNearestNPCByName(MonN);
}
log("Failed to attack trying 3 more times");
setCameraRotation(randomNumber2);
atNPC(Mons2, "Attack");
wait(400);
if(getMyPlayer().isInCombat()) {
log("Attacking NPC");
killed = 1;
}
while(getMyPlayer().isMoving()) {
wait(15);
}
wait(400);
if(getMyPlayer().isInCombat() && killed != 1) {
log("Attacking NPC");
killed = 1;
}
if (!getMyPlayer().isInCombat() && killed != 1) {
Mons2 = getNearestFreeNPCByName(MonN);
if(placeIMC) {
Mons2 = getNearestNPCByName(MonN);
}
log("Failed to attack trying 2 more times");
atNPC(Mons2, "Attack");
wait(400);
if(getMyPlayer().isInCombat()) {
log("Attacking NPC");
killed = 1;
killed = 1;
}
while(getMyPlayer().isMoving()) {
wait(15);
}
wait(400);
if(getMyPlayer().isInCombat() && killed != 1) {
log("Attacking NPC");
killed = 1;
}
if (!getMyPlayer().isInCombat() && killed != 1) {
Mons2 = getNearestFreeNPCByName(MonN);
if(placeIMC) {
Mons2 = getNearestNPCByName(MonN);
}
log("Failed to attack trying 1 more time");
setCameraRotation(randomNumber2);
atNPC(Mons2, "Attack");
wait(400);
if(getMyPlayer().isInCombat()) {
log("Attacking NPC");
killed = 1;
}
while(getMyPlayer().isMoving()) {
wait(15);
}
wait(400);
if(getMyPlayer().isInCombat() && killed != 1) {
log("Attacking NPC");
killed = 1;
}
if (!getMyPlayer().isInCombat() && killed != 1) {
log("Failed to attack.");
}
}
}
}
}
while(getMyPlayer().isInCombat()) {
wait(15);
}
if(getarr)
{
picka();
}
if(pickoi)
{
pickOI();
}
if(Bbones)
{
int OldBonesCount = getInventoryCount(BonesID);
RSItemTile Bones = getGroundItemByID(2, BonesID);
if (Bones != null)
{
atTile(Bones, "ones");
wait(500);
while(getMyPlayer.isMoving()) {
wait(15);
}
if (getInventoryCount(BonesID) > OldBonesCount)
{
log("Picked up bones.");
if(CCoins)
{
int OldCoinsCount = getInventoryCount(CoinsID);
RSItemTile Coins = getGroundItemByID(2, CoinsID);
if (Coins != null)
{
atTile(Coins, "oins");
wait(500);
while(getMyPlayer.isMoving()) {
wait(15);
}
if (getInventoryCount(CoinsID) > OldCoinsCount)
{
log("Picked up Coins.");
return random(1000, 2000);
}
atTile(Coins, "oins");
wait(500);
while(getMyPlayer.isMoving()) {
wait(15);
}
return random(1000,2000);
}
else
{
log("No coins to collect.");
return random(1000, 2000);
}
}
return random(1000, 2000);
}
atTile(Bones, "ones");
wait(500);
while(getMyPlayer.isMoving()) {
wait(15);
}
return(1500);
}
else
{
log("No bones to collect.");
if (CCoins)
{
int OldCoinsCount = getInventoryCount(CoinsID);
RSItemTile Coins = getGroundItemByID(2, CoinsID);
if (Coins != null)
{
atTile(Coins, "oins");
wait(500);
while(getMyPlayer.isMoving()) {
wait(15);
}
if (getInventoryCount(CoinsID) > OldCoinsCount)
{
log("Picked up Coins.");
return random(1000, 2000);
}
atTile(Coins, "oins");
wait(500);
while(getMyPlayer.isMoving()) {
wait(15);
}
return random(1000,2000);
}
else
{
log("No coins to collect.");
return random(1000, 2000);
}
}
return random(1000, 2000);
}
}
if (CCoins)
{
int OldCoinsCount = getInventoryCount(CoinsID);
RSItemTile Coins = getGroundItemByID(2, CoinsID);
if (Coins != null)
{
atTile(Coins, "oins");
wait(500);
while(getMyPlayer.isMoving()) {
wait(15);
}
if (getInventoryCount(CoinsID) > OldCoinsCount)
{
log("Picked up Coins.");
return random(1000, 2000);
}
atTile(Coins, "oins");
wait(500);
while(getMyPlayer.isMoving()) {
wait(15);
}
return random(1000,2000);
}
else
{
log("No coins to collect.");
return random(1000, 2000);
}
}
}
else
{
log("No nearby Monster, waiting");
setCameraRotation(randomNumber2);
antiLogout();
return random(1500, 3000);
}
return random(1000,2000);
}
return random(1000,2000);
}
public void onRepaint( Graphics g ) {
if(showGUI) {
long millis = System.currentTimeMillis() - startTime;
long hours = millis / (1000 * 60 * 60);
millis -= hours * (1000 * 60 * 60);
long minutes = millis / (1000 * 60);
millis -= minutes * (1000 * 60);
long seconds = millis / 1000;
Color transpblack = new Color(0, 0, 0, 50);
Color transpred = new Color(255, 0, 0, 50);
Color transpwhite = new Color(255, 255, 255, 50);
Color transpgrey = new Color(190, 190, 190, 50);
Color transpblue = new Color(0, 0, 255, 50);
Color transpgreen = new Color(0, 255, 0, 50);
Color transpyellow = new Color(255, 255, 0, 50);
Color transpgold = new Color(255, 215, 0, 50);
Color transpchocolate = new Color(210, 105, 30, 50);
Color transpbrown = new Color(165, 42, 42, 50);
Color transporange = new Color(255, 165, 0, 50);
Color transppink = new Color(255, 20, 147, 50);
Color text = new Color(0, 0, 0);
switch(bgColor2)
{
case 1:
g.setColor(transpblack);
break;
}
g.fill3DRect(265, 258, 250, 80, true);
switch(bgColor3)
{
case 1:
g.setColor(transpred);
break;
}
g.fill3DRect(268, 260, 245, 75, true);
switch(bgColor1)
{
case 1:
g.setColor(text);
break;
}
g.drawString("Monster Killer v" + getVersion( ) + " by LM3" , 275, 273);
g.drawString("Runtime: " + hours + " hours " + minutes
+ " minutes " + seconds + " seconds.", 275, 288);
g.drawString("Levels gained: " +lvls/2, 275, 303);
g.drawString("Exp to next level:" +attacking, 275, 318);
g.drawString("Bones Buried:" +bonesnum/2, 275, 332);
}
}
public void serverMessageRecieved(ServerMessageEvent arg0)
{
String serverString = arg0.getMessage();
if (serverString.contains("You've just advanced"))
{
lvls++;
clickContinue();
}
if (serverString.contains("bones."))
{
bonesnum++;
}
}
public boolean isWelcomeButton()
{
if(RSInterface.getInterface(378).getChild(45).getText().contains("Click Here To Play"))
{
return true;
}
return false;
}
}