Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import org.rsbot.script.Script;
- import org.rsbot.script.ScriptManifest;
- import org.rsbot.script.wrappers.RSInterface;
- import org.rsbot.script.wrappers.RSNPC;
- import org.rsbot.script.wrappers.RSObject;
- import org.rsbot.script.methods.Inventory;
- import org.rsbot.script.methods.Keyboard;
- import org.rsbot.script.methods.Mouse;
- import org.rsbot.script.methods.Game;
- import org.rsbot.script.methods.Camera;
- import org.rsbot.script.methods.Skills;
- import org.rsbot.event.listeners.PaintListener;
- import org.rsbot.event.listeners.ServerMessageListener;
- import org.rsbot.event.events.ServerMessageEvent;
- import org.rsbot.script.util.Timer;
- import java.util.Random;
- import java.awt.*;
- // -- Future -- //
- // GUI Options
- // Make What: Dungeon Doors/Larders
- @ScriptManifest(authors = { "DhOyLe" }, name = "Larder Pro", version = 1.55, description = "Larder Destroyer!")
- public class LarderPro extends Script implements PaintListener, ServerMessageListener {
- int unBuiltID = 15403;
- int builtID = 13566;
- int plankID = 8778;
- int builtCount = 0;
- int levelsGained = 0;
- int xpGained = 0;
- int larderXP = 0;
- int lardersToLevel = 0;
- int expHour = 0;
- int expGained = 0;
- long millis = 0;
- long hours = 0;
- long minutes = 0;
- long seconds = 0;
- long last = 0;
- boolean clayHammer = false;
- String status = "";
- //these set in onStart();
- int withdraw = 0;
- int butlerID = 0;
- long startTime = 0;
- int startXP = 0;
- int con = 0;
- String withdrawSTR = "";
- String feePrice = "";
- private boolean intEx(int id) {
- RSInterface[] inters = interfaces.getAll();
- for (RSInterface inter : inters) {
- if (inter.getIndex() == id)
- return true;
- }
- return false;
- }
- public void getPlanks(){
- RSNPC butler = npcs.getNearest(butlerID);
- if(butler != null){
- status = "Fetching planks...";
- sleep(random(1000, 1200));
- int plankCount = inventory.getCount(plankID);
- if(plankCount < 8){
- butler.doAction("Fetch-from-bank");
- sleep(random(1400, 1600));
- if(interfaces.get(242).getComponent(5).containsText(feePrice)){//pay cook & butler
- status = "Paying butler...";
- mouse.move(random(230, 380), random(445, 461));//click
- sleep(random(10,50));
- mouse.click(true);
- sleep(random(1200, 1400));
- if(intEx(232)){
- mouse.move(random(120, 400), random(402, 418));//pay from bank
- sleep(random(10, 50));
- mouse.click(true);
- sleep(random(1400, 1600));
- if(interfaces.get(210).getComponent(1).containsText("have that much money")){
- log("You ran out of cash.");
- stopScript(false);
- }
- }
- } else if(interfaces.get(243).getComponent(5).containsText(feePrice)){//pay demon butler
- status = "Paying butler...";
- mouse.move(random(230, 380), random(445, 461));//click
- sleep(random(10,50));
- mouse.click(true);
- sleep(random(1200, 1400));
- if(intEx(232)){
- mouse.move(random(120, 400), random(402, 418));//pay from bank
- sleep(random(10, 50));
- mouse.click(true);
- sleep(random(1400, 1600));
- if(interfaces.get(210).getComponent(1).containsText("have that much money")){
- log("You ran out of cash.");
- stopScript(false);
- }
- }
- }
- if(interfaces.get(234).getComponent(2).containsText("Fetch another " + withdrawSTR)){//fetching oak planks
- mouse.move(random(180, 350), random(379, 394));
- sleep(random(10,50));
- mouse.click(true);//click fetch
- sleep(random(1200, 1400));
- if(interfaces.get(241).getComponent(4).containsText("fool")){//cook
- log("You don't have any planks left.");
- stopScript(false);
- }
- if(interfaces.get(242).getComponent(5).containsText("any of those items")){//butler
- log("You don't have any planks left.");
- stopScript(false);
- }
- if(interfaces.get(242).getComponent(5).containsText("do not have")){//demon butler
- log("You don't have any planks left.");
- stopScript(true);
- }
- } else if(interfaces.get(234).getComponent(2).containsText("Fetch another")){//if withdraw was entered incorrectly
- mouse.move(random(220, 295), random(413, 428));//click oak planks
- sleep(random(10,50));
- mouse.click(true);
- sleep(random(1400, 1600));
- keyboard.sendText("" + withdraw, true);//enter number to withdraw
- sleep(random(1200, 1400));
- if(interfaces.get(241).getComponent(4).containsText("fool")){//cook
- log("You don't have any planks left.");
- stopScript(false);
- }
- if(interfaces.get(242).getComponent(5).containsText("any of those items")){//butler
- log("You don't have any planks left.");
- stopScript(false);
- }
- if(interfaces.get(242).getComponent(5).containsText("do not have")){//demon butler
- log("You don't have any planks left.");
- stopScript(true);
- }
- } else if(interfaces.get(232).getComponent(2).containsText("Wooden planks.")){//oak planks not set on start
- mouse.move(random(225, 295), random(402, 418));//click oak planks
- sleep(random(10,50));
- mouse.click(true);
- sleep(random(1400, 1600));
- keyboard.sendText("" + withdraw, true);//enter number to withdraw
- sleep(random(1200, 1400));
- if(interfaces.get(241).getComponent(4).containsText("fool")){//cook
- log("You don't have any planks left.");
- stopScript(false);
- }
- if(interfaces.get(242).getComponent(5).containsText("any of those items")){
- log("You don't have any planks left.");
- stopScript(false);
- }
- if(interfaces.get(242).getComponent(5).containsText("do not have")){//demon butler
- log("You don't have any planks left.");
- stopScript(false);
- }
- }
- }
- }
- else if(butler == null){
- status = "Waiting on butler...";
- AntiBan();
- sleep(random(450, 550));
- //mouse.click(false);
- }
- }
- public void buildLarder(){
- RSObject larder = objects.getNearest(unBuiltID);
- int START = 300;
- int END = 1200;
- long range = (long)END - (long)START + 1;
- long fraction = (long)(range + END);
- int randomNumber = (int)(fraction + START);
- if(larder != null){
- status = "Building Larder...";
- larder.doAction("Build");
- sleep(random(randomNumber, randomNumber));
- if(intEx(394)){
- mouse.move(random(97, 132), random(124, 155));
- sleep(random(10, 50));
- mouse.click(true);
- builtCount++;
- sleep(random(randomNumber, randomNumber));
- }
- }
- }
- public void removeLarder(){
- RSObject larder = objects.getNearest(builtID);
- status = "Removing Larder...";
- int START = 300;
- int END = 1200;
- long range = (long)END - (long)START + 1;
- long fraction = (long)(range + END);
- int randomNumber = (int)(fraction + START);
- int START2 = 10;
- int END2 = 50;
- long range2 = (long)END2 - (long)START2 + 1;
- long fraction2 = (long)(range2 + END2);
- int randomNumber2 = (int)(fraction2 + START2);
- if(larder != null){
- larder.doAction("Remove");
- sleep(random(randomNumber, randomNumber));
- if(interfaces.get(228).getComponent(1).containsText("Really remove it?")){
- mouse.move(random(230, 290), random(394, 410));
- sleep(random(randomNumber2, randomNumber2));
- mouse.click(true);
- sleep(random(randomNumber, randomNumber));
- }
- }
- }
- public void AntiBan(){
- int num = random(0, 8);
- cameraMover();
- if(num == 0 || num == 5){
- mouseMover();
- }
- else if(num == 2 || num == 6){
- AFK();
- }
- else if(num == 3 || num == 7){
- xpCheck();
- }
- }
- public void mouseMover(){
- int num = random(0, 6);
- int START = 1;
- int END = 10;
- long range = (long)END - (long)START + 1;
- long fraction = (long)(range + END);
- int randomNumber = (int)(fraction + START);
- if(num == 2 || num == 4){
- status = "AntiBan: MouseMover";
- int times = random(1, 3);
- for(int n = 0; n < times; n++){
- mouse.setSpeed(random(randomNumber,randomNumber));
- mouse.move(random(0, game.getWidth()), random(0, game.getHeight()));
- sleep(random(10, 100));
- }
- mouse.setSpeed(random(randomNumber,randomNumber));
- }
- }
- public void AFK(){
- int num = random(0, 300);
- if(num == 100 || num == 200){
- mouse.setSpeed(random(5, 9));
- int offScreen = random(1, 3);
- int time = random(1,6);
- if(time == 1 || time == 4 || time == 6){
- status = "AntiBan: AFK (20-40 sec)";
- if(offScreen == 1){
- mouseMover();
- mouse.moveOffScreen();
- }
- sleep(random (20000, 40000));
- }
- if(time == 2 || time == 5){
- status = "AntiBan: AFK (1-1.5 mins)";
- if(offScreen == 1){
- mouseMover();
- mouse.moveOffScreen();
- }
- sleep(random(60000, 90000));
- }
- if(time == 3){
- status = "AntiBan: AFK (2-4 mins)";
- if(offScreen == 1){
- mouseMover();
- mouse.moveOffScreen();
- }
- sleep(random(120000, 240000));
- }
- }
- }
- public void xpCheck(){
- int num = random(0, 24);
- if(num == 8 || num == 16){
- int START = 300;
- int END = 4000;
- long range = (long)END - (long)START + 1;
- long fraction = (long)(range + END);
- int randomNumber = (int)(fraction + START);
- int STARTMS = 1;
- int ENDMS = 10;
- long rangeMS = (long)ENDMS - (long)STARTMS + 1;
- long fractionMS = (long)(rangeMS + ENDMS);
- int randomNumberMS = (int)(fractionMS + STARTMS);
- status = "AntiBan: XP Check";
- mouse.setSpeed(random(randomNumberMS, randomNumberMS));
- game.openTab(game.TAB_STATS);
- sleep(random(randomNumber, randomNumber));
- skills.doHover(skills.INTERFACE_CONSTRUCTION);
- sleep(random(randomNumber, randomNumber));
- game.openTab(game.TAB_INVENTORY);
- sleep(random(randomNumber, randomNumber));
- }
- }
- public void cameraMover(){
- int num = random(0, 12);
- int START = 300;
- int END = 2000;
- long range = (long)END - (long)START + 1;
- long fraction = (long)(range + END);
- int randomNumber = (int)(fraction + START);
- status = "AntiBan: Moving camera";
- sleep(random(randomNumber, randomNumber));
- camera.setAngle(random(0, 360));
- sleep(random(randomNumber, randomNumber));
- }
- public boolean onStart(){
- if(npcs.getNearest("Cook") != null){
- log("Welcome to LarderPro.");
- log("Using the cook.");
- butlerID = 4239;
- withdraw = 16;
- withdrawSTR = "16";
- feePrice = "3000";
- } else if(npcs.getNearest("Butler") != null){
- log("Welcome to LarderPro.");
- log("Using normal butler.");
- butlerID = 4241;
- withdraw = 20;
- withdrawSTR = "20";
- feePrice = "5000";
- } else if(npcs.getNearest("Demon butler") != null){
- log("Welcome to LarderPro.");
- log("Using demon butler.");
- butlerID = 4243;
- withdraw = 24;
- withdrawSTR = "24";
- feePrice = "10000";
- } else {
- log("Cannot find butler. Please start in your house with your butler following you.");
- stopScript(false);
- }
- if(clayHammer == true){
- larderXP = 960;
- } else {
- larderXP = 480;
- }
- con = skills.CONSTRUCTION;
- startTime = System.currentTimeMillis();
- startXP = skills.getCurrentExp(con);
- return true;
- }
- public void onFinish(){
- int xpGained = builtCount * 480;
- log("You built " + builtCount + " Larders, gained " + xpGained + " Construction XP and gained " + levelsGained + " level(s).");
- log("Thanks for using my script. Check my thread regularly for updates!");
- }
- @Override
- public int loop(){
- if(objects.getNearest(unBuiltID) != null || objects.getNearest(builtID) == null){
- if(inventory.getCount(plankID) < 8){
- getPlanks();
- }
- else if(inventory.getCount(plankID) >= 8){
- buildLarder();
- }
- }
- else if(objects.getNearest(unBuiltID) == null || objects.getNearest(builtID) != null){
- removeLarder();
- }
- mouse.setSpeed(random(5, 8));
- return (250);
- }
- //START: Code generated using Enfilade's Easel
- private final Color color1 = new Color(255, 204, 51);
- private final Color color2 = new Color(255, 51, 0);
- private final Color color3 = new Color(255, 0, 0);
- private final Color color4 = new Color(255, 102, 0);
- private final BasicStroke stroke1 = new BasicStroke(1);
- private final Font font1 = new Font("Tahoma", 1, 16);
- private final Font font2 = new Font("Tahoma", 0, 12);
- public void onRepaint(Graphics g1) {
- Graphics2D g = (Graphics2D)g1;
- millis = System.currentTimeMillis() - startTime;
- hours = millis / (1000 * 60 * 60);
- millis -= hours * (1000 * 60 * 60);
- minutes = millis / (1000 * 60);
- millis -= minutes * (1000 * 60);
- seconds = millis / 1000;
- expGained = skills.getCurrentExp(skills.CONSTRUCTION) - startXP;
- expHour = (int) ((expGained) * 3600000 D / (System.currentTimeMillis() - startTime));
- lardersToLevel = (int) (skills.getExpToNextLevel(con)/larderXP);
- g.setColor(color1);
- g.fillRoundRect(312, 208, 201, 127, 16, 16);
- g.setColor(color2);
- g.setStroke(stroke1);
- g.drawRoundRect(312, 208, 201, 127, 16, 16);
- g.setFont(font1);
- g.setColor(color3);
- g.drawString("LarderPro v1.5", 327, 228);
- g.setFont(font2);
- g.setColor(color4);
- g.drawString("Status: " + status, 322, 246);
- g.drawString("Time Running: " + hours +":"+ minutes + ":" + seconds, 322, 262);
- g.drawString("Larders Made: " + builtCount, 322, 278);
- g.drawString("XP To Level: " + skills.getExpToNextLevel(skills.CONSTRUCTION), 322, 294);
- g.drawString("XP per Hour: " + expHour, 322, 310);
- g.drawString("Larders to Level: " + lardersToLevel, 322, 326);
- }
- //END: Code generated using Enfilade's Easel
- public void serverMessageRecieved(ServerMessageEvent e) {
- final String string = e.getMessage();
- if (string.contains("just advanced")){
- levelsGained++;
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement