- import java.awt.*;
- import java.util.*;
- import java.util.List;
- import java.util.logging.Level;
- import javax.accessibility.*;
- import javax.swing.*;
- import org.rsbot.bot.Bot;
- import org.rsbot.script.*;
- import org.rsbot.script.wrappers.*;
- import org.rsbot.event.listeners.PaintListener;
- import org.rsbot.event.listeners.ServerMessageListener;
- import org.rsbot.event.events.ServerMessageEvent;
- import org.rsbot.util.ScreenshotUtil;
- import org.rsbot.script.wrappers.RSTile;
- import org.rsbot.script.wrappers.RSNPC;
- import org.rsbot.script.wrappers.RSObject;
- import org.rsbot.script.Script;
- @ScriptManifest(authors = { "Gobs , Sander70" }, category = "Combat", name = "EdgeVille Man Killer P2P", version = 1.01,
- description = "<html><head><style type='text/css'> body {text-align:center; background-color: black; color: blue;}
- </style><br></br>Start in<br></br> House with men<br></br><br></br><p>Thx To Sander70 For Adding Magic And Range
- Support</p>Make sure you have armor on, a weapon on, and food in inventory, and bank.(if needed)")
- public class EManKillerP2P extends Script implements PaintListener, ServerMessageListener {
- String version = "1.2.1 P2P";
- int runes[] = {558 };
- int items[] = {1440, 199, 201, 203, 205, 211, 215, 207, 213, 209, 2485, 217 };
- int herbCount[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
- final int[] food = { 361, 329, 333, 385, 379, 315, 319, 2299, 2297, 365, 2335, 2323, 2331, 2327, 13433, 325, 347, 355,
- 339, 351, 373, 7946, 882, 884, 886, 888, 890, 892, 185, 555, 557, 556, 559 };
- String status = "";
- int kills = 0;
- int profit = 0;
- int foodUsed = 0;
- int sDef = 0;
- int sRan = 0;
- int sMag = 0;
- int sStr = 0;
- int sAtk = 0;
- int sHP = 0;
- int sEDef = 0;
- int sEStr = 0;
- int sEAtk = 0;
- int sEHP = 0;
- int sERan = 0;
- int sEMag = 0;
- int gEDef = 0;
- int gEStr = 0;
- int gEAtk = 0;
- int gEHP = 0;
- int gERan = 0;
- int gEMag = 0;
- RSNPC man = new RSNPC(null);
- Color lightGreen = new Color(49 , 130, 53, 93);
- int experienceTotal = 0;
- public long startTime = System.currentTimeMillis();
- RSItemTile tile;
- public RSTile doorTile1 = new RSTile(3101, 3509);
- public RSTile doorTile2 = new RSTile(3100, 3509);
- RSTile doorPlace = new RSTile(3100, random(3509,3510));
- RSTile bank1 = new RSTile(3093,3492);
- public boolean foodAte = false;
- public Color randomColor = new Color(random(50, 255), random(50, 255),
- random(50, 255));
- private final RSArea menarea = new RSArea(3091, 3507,10,7);
- private final RSArea menareaAttack = new RSArea(3091, 3507,9,6);
- public boolean onStart(Map<String, String> args) {
- if (getCurrentTab() != TAB_INVENTORY) {
- openTab(TAB_INVENTORY);
- wait(random(400, 600));
- }
- status = "Starting up...";
- sDef = skills.getCurrentSkillLevel(Constants.STAT_DEFENSE);
- sMag = skills.getCurrentSkillLevel(Constants.STAT_MAGIC);
- sRan = skills.getCurrentSkillLevel(Constants.STAT_RANGE);
- sStr = skills.getCurrentSkillLevel(Constants.STAT_STRENGTH);
- sAtk = skills.getCurrentSkillLevel(Constants.STAT_ATTACK);
- sHP = skills.getCurrentSkillLevel(Constants.STAT_HITPOINTS);
- sEDef = skills.getCurrentSkillExp(Constants.STAT_DEFENSE);
- sEStr = skills.getCurrentSkillExp(Constants.STAT_STRENGTH);
- sEAtk = skills.getCurrentSkillExp(Constants.STAT_ATTACK);
- sEHP = skills.getCurrentSkillExp(Constants.STAT_HITPOINTS);
- sERan = skills.getCurrentSkillExp(Constants.STAT_RANGE);
- sEMag = skills.getCurrentSkillExp(Constants.STAT_MAGIC);
- wait(1000);
- startTime = System.currentTimeMillis();
- log("Edgeville Mankiller " + version);
- return true;
- }
- public void onFinish() {
- log("Thanks for using Edgeville Mankiller " + version);
- }
- // Methods
- public void walkToBank() {
- status = "Walking to bank";
- RSTile mid = new RSTile(3096, 3503);
- walkTileMM(doorPlace);
- wait(random(600, 700));
- while (getMyPlayer().isMoving()) {
- wait(random(200, 600));
- }
- openTheDoor();
- walkTileMM(mid);
- wait(random(825,900));
- while (getMyPlayer().isMoving()) {
- wait(random(200, 1500));
- }
- walkTileMM(bank1);
- wait(random(999,1250));
- while (getMyPlayer().isMoving()) {
- wait(random(200, 1500));
- }
- wait(random(300,500));
- while(isInventoryFull()){
- status = "Depositing Items";
- bank.open();
- wait(2000);
- bank.depositAllExcept(food);
- }
- }
- public void openTheDoor() {
- RSObject door1 = getNearestObjectByID(26910);
- while (door1 != null) {
- atDoorTiles(doorTile1, doorTile2);
- atObject(door1, "Open");
- wait(random(1200, 1500));
- door1 = getNearestObjectByID(26910);
- }
- }
- public void walkToMen() {
- status = "Walking to men";
- RSTile bank1 = new RSTile(random(3093,3096), random(3496,3497));
- RSTile mid = new RSTile(random(3099,3101),random(3503,3506));
- RSTile menTile = new RSTile(3102, random(3509, 3510));
- RSTile menTile2 = new RSTile(3097, 3510);
- walkTileMM(bank1);
- wait(random(600, 700));
- while (getMyPlayer().isMoving()) {
- wait(random(200, 600));
- }
- walkTileMM(mid);
- wait(random(600, 700));
- while (getMyPlayer().isMoving()) {
- wait(random(200, 600));
- }
- walkTileMM(menTile);
- wait(random(600, 700));
- while (getMyPlayer().isMoving()) {
- wait(random(200, 600));
- }
- wait(random(1000, 2000));
- openTheDoor();
- walkTileMM(menTile2);
- wait(random(600, 700));
- if (getMyPlayer().isMoving()) {
- while (getMyPlayer().isMoving()) {
- wait(random(20, 60));
- }
- wait(random(600, 1000));
- }
- }
- public void takeLoot() {
- for (int i = 0; i <= (items.length - 1); i++) {
- if (getInventoryCount() > 27) {
- break;
- }
- tile = getNearestGroundItemInAreaByID(menarea, items[i]);
- if (tile != null) {
- int x = getInventoryCount();
- if(i == 0){
- atTile(tile, "Take Earth");
- }else{
- atTile(tile, "Take Grimy");
- }
- wait(1200);
- while (getMyPlayer().isMoving()) {
- wait(random(1,100));
- }
- wait(800);
- if (getInventoryCount() > x) {
- herbCount[i]++;
- }
- }
- }
- }
- public void attackMan() {
- status = "Killing Men";
- if (man != null) {
- atNPC(man, "Attack");
- wait(random(1500, 2000));
- if (getMyPlayer().getInteracting() != null
- && getMyPlayer().getInteracting() instanceof RSNPC) {
- if(random(1,100) > 89){
- moveMouse(random(10, 750), random(10, 500));
- }
- while (getMyPlayer().getInteracting() != null) {
- wait(random(50, 200));
- if (getHP()<= 60) {
- log("Hitpoints are below 60, eating food.");
- eatFood();
- }
- }
- kills++;
- }
- takeLoot();
- if(!playerInArea(3091, 3507, 3100, 3513)){
- openTheDoor();
- walkTileMM(new RSTile(random(3097, 3099), random(3509, 3511)));
- }
- } else {
- wait(random(100, 500));
- if(random(1,100) > 69){
- Ladder();
- }
- }
- }
- public void eatFood() {
- for (int i = 0; i < food.length; i++) {
- if (getInventoryCount(food[i]) > 0) {
- atInventoryItem(food[i], "Eat");
- foodUsed++;
- foodAte = true;
- wait(random(3000, 5000));
- break;
- }
- }
- if(!foodAte){
- log("No food in inventory. Ending bot.");
- stopScript();
- }else{
- foodAte = false;
- }
- }
- double getHP() {
- int HP = 0;
- if (RSInterface.getInterface(748).getChild(8).isValid()) {
- if (RSInterface.getInterface(748).getChild(8).getText() != null) {
- HP = Integer.parseInt(RSInterface.getInterface(748).getChild(8)
- .getText());
- } else {
- log("getHp() Error");
- }
- } else {
- log("HP Interface is not valid");
- }
- return HP;
- }
- public void Ladder() {
- status = "Thinking...";
- RSObject ladder;
- do {
- ladder = getNearestObjectByID(26983);
- if (ladder != null) {
- atObject(ladder, "Climb-down Ladder");
- wait(random(1200, 1500));
- setCameraRotation(random(1, 360));
- }
- } while (ladder != null);
- }
- public RSNPC getNearestMan(final RSArea toSearch, final String name) {
- int Dist = 20;
- RSNPC closest = null;
- final org.rsbot.script.wrappers.RSNPC[] npcs = getNPCArray(true);
- for (int element = (npcs.length - 1); element >= 0; element--) {
- if (npcs[element] == null)
- continue;
- RSNPC Monster = npcs[element];
- try {
- if (name == null || !name.equalsIgnoreCase(Monster.getName())
- || Monster.getHPPercent() == 0
- || !toSearch.contains(Monster.getLocation()))
- continue;
- final int distance = distanceTo(Monster);
- if (distance < Dist && !Monster.isInCombat()) {
- Dist = distance;
- closest = Monster;
- }
- } catch (final Exception e) {
- e.printStackTrace();
- }
- }
- return closest;
- }
- public boolean playerInArea(int minX, int minY, int maxX, int maxY) {
- int x = getMyPlayer().getLocation().getX();
- int y = getMyPlayer().getLocation().getY();
- if (x <= maxX && x >= minX && y <= maxY && y >= minY) return true;
- return false;
- }
- public void antiban() {
- }
- // Loop
- public int loop() {
- if (getEnergy() >= random(50,80)) {
- setRun(true);
- }
- if(distanceTo(doorPlace) > distanceTo(bank1)){
- RSTile menTile = new RSTile(3102, random(3509, 3510));
- RSTile menTile2 = new RSTile(3097, 3510);
- walkTileMM(bank1);
- wait(random(600,750));
- while (getMyPlayer().isMoving()) {
- wait(random(1,2));
- }
- walkTileMM(new RSTile(random(3099,3101),random(3503,3506)));
- wait(random(600,750));
- while (getMyPlayer().isMoving()){
- wait(random(1,2));
- walkTileMM(menTile);
- wait(random(600, 700));
- while (getMyPlayer().isMoving()) {
- wait(random(200, 600));
- }
- wait(random(1000, 2000));
- openTheDoor();
- walkTileMM(menTile2);
- wait(random(600, 700));
- if (getMyPlayer().isMoving()) {
- while (getMyPlayer().isMoving()) {
- wait(random(20, 60));
- }
- wait(random(600, 1000));
- }
- }
- }
- if(isInventoryFull()){
- walkToBank();
- wait(500);
- walkToMen();
- }else{
- attackMan();
- if(random(1,2) == 2){
- antiban();
- }
- wait(random(50, 1000));
- }
- return 0;
- }
- public void drawPlayer(final Graphics g) {
- final RSTile t = getMyPlayer().getLocation();
- Calculations.tileToScreen(t);
- final Point pn = Calculations.tileToScreen(t.getX(), t.getY(), 0,
- 0, 0);
- final Point px = Calculations.tileToScreen(t.getX() + 1, t.getY(),
- 0, 0, 0);
- final Point py = Calculations.tileToScreen(t.getX(), t.getY() + 1,
- 0, 0, 0);
- final Point pxy = Calculations.tileToScreen(t.getX() + 1,
- t.getY() + 1, 0, 0, 0);
- getMyPlayer().getHeight();
- g.setColor(Color.BLACK);
- g.drawPolygon(new int[] { py.x, pxy.x, px.x, pn.x }, new int[] {
- py.y, pxy.y, px.y, pn.y }, 4);
- g.setColor(new Color(75, 120, 200, 75));
- g.fillPolygon(new int[] { py.x, pxy.x, px.x, pn.x }, new int[] {
- py.y, pxy.y, px.y, pn.y }, 4);
- }
- public void overlayTile(final Graphics g, final RSTile t,
- final Color c, final int typeOfObject) {
- final Point p = Calculations.tileToScreen(t);
- final Point pn = Calculations.tileToScreen(t.getX(), t.getY(), 0,
- 0, 0);
- final Point px = Calculations.tileToScreen(t.getX() + 1, t.getY(),
- 0, 0, 0);
- final Point py = Calculations.tileToScreen(t.getX(), t.getY() + 1,
- 0, 0, 0);
- final Point pxy = Calculations.tileToScreen(t.getX() + 1,
- t.getY() + 1, 0, 0, 0);
- final Point[] points = { p, pn, px, py, pxy };
- for (final Point point : points) {
- if (!pointOnScreen(point)) {
- return;
- }
- }
- g.setColor(c);
- g.drawPolygon(new int[] { py.x, pxy.x, px.x, pn.x }, new int[] {
- py.y, pxy.y, px.y, pn.y }, 4);
- g.setColor(new Color(250, 75, 120, 75));
- g.fillPolygon(new int[] { py.x, pxy.x, px.x, pn.x }, new int[] {
- py.y, pxy.y, px.y, pn.y }, 4);
- }
- public void onRepaint(Graphics g) {
- if (isLoggedIn()) {
- 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;
- drawPlayer(g);// shades where person standing
- man = getNearestMan(menareaAttack, "Man");
- if(man != null){
- overlayTile(g, (man).getLocation(), new Color(200, 120, 150, 100), 1); //shades the npc that your guy is
- fighting
- }
- g.setColor(Color.white);
- //This variable is used for Antialiasing. DO NOT DELETE!
- g.setColor(new Color(176, 176, 6, 90));
- g.fillRoundRect(548, 208, 188, 254, 4, 4);
- g.setColor(new Color(102, 102, 0));
- g.drawRoundRect(548, 207, 187, 256, 4, 4);
- g.setFont(new Font("Aharoni", 0, 15));
- g.setColor(new Color(0, 0, 0, 100));
- g.drawString("Edgeville Man-Killer", 571, 227);
- g.setColor(new Color(102, 51, 0));
- g.drawString("Edgeville Man-Killer", 569, 225);
- g.setFont(new Font("Andalus", 0, 12));
- g.setColor(new Color(0, 0, 0, 100));
- g.drawString(version, 626, 239);
- g.setColor(new Color(102, 51, 0));
- g.drawString(version, 624, 237);
- g.setFont(new Font("Book Antiqua", 0, 12));
- g.setColor(new Color(102, 0, 0));
- g.drawString("Men Killed: " + kills, 551, 261);
- g.setFont(new Font("Book Antiqua", 0, 12));
- g.setColor(new Color(102, 0, 0));
- g.setFont(new Font("Book Antiqua", 0, 12));
- g.setColor(new Color(102, 0, 0));
- g.drawString("Total XP Gained: " + experienceTotal, 551, 292);
- g.setFont(new Font("Book Antiqua", 0, 12));
- g.setColor(new Color(102, 0, 0));
- g.drawString("Food Used: " + foodUsed, 552, 308);
- g.setFont(new Font("Batang", 0, 10));
- g.setColor(new Color(102, 0, 0));
- g.drawString("By: Gobs", 691, 461);
- g.setFont(new Font("Book Antiqua", 0, 12));
- g.setColor(new Color(102, 0, 0));
- g.drawString("Status: " + status, 552, 350);
- g.setFont(new Font("Book Antiqua", 0, 12));
- g.setColor(new Color(102, 0, 0));
- g.drawString("Time Ran: " + (int) hours + ":" + (int) minutes
- + ":" + (int) seconds, 551, 364);
- gEAtk = skills.getCurrentSkillExp(Constants.STAT_ATTACK) - sEAtk;
- gERan = skills.getCurrentSkillExp(Constants.STAT_RANGE) - sERan;
- gEStr = skills.getCurrentSkillExp(Constants.STAT_STRENGTH) - sEStr;
- gEDef = skills.getCurrentSkillExp(Constants.STAT_DEFENSE) - sEDef;
- gEHP = skills.getCurrentSkillExp(Constants.STAT_HITPOINTS) - sEHP;
- gEMag = skills.getCurrentSkillExp(Constants.STAT_MAGIC) - sEMag;
- experienceTotal = gEAtk + gEStr + gEDef + gEHP + gERan + gEMag;
- if(gEStr > 0){
- g.setColor(Color.white);
- int Strengthpercent = (skills.getPercentToNextLevel(Constants.STAT_STRENGTH));
- int Strengthlevel = skills.getCurrentSkillLevel(Constants.STAT_STRENGTH);
- g.drawString("Strength: " + "level: " + Strengthlevel + "/" + sStr + " percent: " + Strengthpercent + "%" + "
- gainedXP: " + gEStr, 15, 297);
- g.setColor(Color.red);
- g.fillRoundRect(15, 300, 500, 10, 15, 15);
- g.setColor(Color.green);
- g.fillRoundRect(15, 300, Strengthpercent * 5, 10, 15, 15);
- g.setColor(Color.black);
- g.drawRoundRect(15, 300, 500, 10, 15, 15);
- g.drawRoundRect(15, 300, Strengthpercent * 5, 10, 15, 15);
- }
- if(gEAtk > 0){
- g.setColor(Color.white);
- int Attackpercent = (skills.getPercentToNextLevel(Constants.STAT_ATTACK));
- int Attacklevel = skills.getCurrentSkillLevel(Constants.STAT_ATTACK);
- g.drawString("Attack: " + "level: " + Attacklevel + "/" + sStr + " percent: " + Attackpercent + "%" + "
- gainedXP: " + gEAtk, 15, 297);
- g.setColor(Color.red);
- g.fillRoundRect(15, 300, 500, 10, 15, 15);
- g.setColor(Color.green);
- g.fillRoundRect(15, 300, Attackpercent * 5, 10, 15, 15);
- g.setColor(Color.black);
- g.drawRoundRect(15, 300, 500, 10, 15, 15);
- g.drawRoundRect(15, 300, Attackpercent * 5, 10, 15, 15);
- }
- if(gEDef > 0){
- g.setColor(Color.white);
- int Defencepercent = (skills.getPercentToNextLevel(Constants.STAT_DEFENSE));
- int Defencelevel = skills.getCurrentSkillLevel(Constants.STAT_DEFENSE);
- g.drawString("Defence: " + "level: " + Defencelevel + "/" + sStr + " percent: " + Defencepercent + "%" + "
- gainedXP: " + gEDef, 15, 297);
- g.setColor(Color.red);
- g.fillRoundRect(15, 300, 500, 10, 15, 15);
- g.setColor(Color.green);
- g.fillRoundRect(15, 300, Defencepercent * 5, 10, 15, 15);
- g.setColor(Color.black);
- g.drawRoundRect(15, 300, 500, 10, 15, 15);
- g.drawRoundRect(15, 300, Defencepercent * 5, 10, 15, 15);
- }
- if(gERan > 0){
- g.setColor(Color.white);
- int Rangepercent = (skills.getPercentToNextLevel(Constants.STAT_RANGE));
- int Rangelevel = skills.getCurrentSkillLevel(Constants.STAT_RANGE);
- g.drawString("Range: " + "level: " + Rangelevel + "/" + sStr + " percent: " + Rangepercent + "%" + "
- gainedXP: " + gERan, 15, 297);
- g.setColor(Color.red);
- g.fillRoundRect(15, 300, 500, 10, 15, 15);
- g.setColor(Color.green);
- g.fillRoundRect(15, 300, Rangepercent * 5, 10, 15, 15);
- g.setColor(Color.black);
- g.drawRoundRect(15, 300, 500, 10, 15, 15);
- g.drawRoundRect(15, 300, Rangepercent * 5, 10, 15, 15);
- }
- if(gEMag > 0){
- g.setColor(Color.white);
- int Magicpercent = (skills.getPercentToNextLevel(Constants.STAT_MAGIC));
- int Magiclevel = skills.getCurrentSkillLevel(Constants.STAT_MAGIC);
- g.drawString("Magic: " + "level: " + Magiclevel + "/" + sStr + " percent: " + Magicpercent + "%" + "
- gainedXP: " + gEMag, 15, 297);
- g.setColor(Color.red);
- g.fillRoundRect(15, 300, 500, 10, 15, 15);
- g.setColor(Color.green);
- g.fillRoundRect(15, 300, Magicpercent * 5, 10, 15, 15);
- g.setColor(Color.black);
- g.drawRoundRect(15, 300, 500, 10, 15, 15);
- g.drawRoundRect(15, 300, Magicpercent * 5, 10, 15, 15);
- }
- if(gEHP > 0){
- g.setColor(Color.white);
- int HPpercent = (skills.getPercentToNextLevel(Constants.STAT_HITPOINTS));
- int HPlevel = skills.getCurrentSkillLevel(Constants.STAT_HITPOINTS);
- g.drawString("Hitpoints: " + "level: " + HPlevel + "/" + sHP + " percent: " + HPpercent + "%" + " gainedXP:
- " + gEHP, 15, 323);
- g.setColor(Color.red);
- g.fillRoundRect(15, 325, 500, 10, 15, 15);
- g.setColor(Color.green);
- g.fillRoundRect(15, 325, HPpercent * 5, 10, 15, 15);
- g.setColor(Color.black);
- g.drawRoundRect(15, 325, 500, 10, 15, 15);
- g.drawRoundRect(15, 325, HPpercent * 5, 10, 15, 15);
- }
- g.setColor(lightGreen);
- g.fillRoundRect(10, 185, 500, 100, 15, 15);
- g.setColor(Color.white);
- g.drawString("Item Count", 12, 195);
- g.drawString("Guam: " + herbCount[1], 12, 210);
- g.drawString("Marrentill: " + herbCount[2], 12, 225);
- g.drawString("Tarromin: " + herbCount[3], 12, 240);
- g.drawString("Harralander: " + herbCount[4], 12, 255);
- g.drawString("Avantoe: " + herbCount[5], 12, 270);
- g.drawString("Cadantine: " + herbCount[6], 12, 285);
- g.drawString("Ranarr: " + herbCount[7], 150, 210);
- g.drawString("Kwuarm: " + herbCount[8], 150, 225);
- g.drawString("Irit: " + herbCount[9], 150, 240);
- g.drawString("Lantadyme: " + herbCount[10], 150, 255);
- g.drawString("Dwarf Weed: " + herbCount[11], 150, 270);
- g.drawString("Earth Talisman: " + herbCount[0], 150, 285);
- }
- }
- public void serverMessageRecieved(final ServerMessageEvent e) {
- String message = e.getMessage();
- if (message.contains("advanced")) {
- log("You have leveled up.");
- clickContinue();
- }
- }
- }