Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import org.rsbot.script.*;
- import org.rsbot.script.wrappers.*;
- import org.rsbot.event.events.MessageEvent;
- import org.rsbot.event.listeners.*;
- import java.awt.*;
- @ScriptManifest(
- authors = {"Legobumb",""},
- keywords = {"",""},
- name = "Legobumb Lobster Fisher BETA",
- description = "Improved Lobster fishing script",
- version = 1.1
- )
- public class LegoLobster extends Script implements PaintListener,
- MessageListener
- {
- int lobSpotID = 324;
- int lobPotID = 301;
- int stilesID = 11267;
- int fishAnim = 619;
- int gainedLevels = 0;
- int caughtFish = 0;
- int expGained = 0;
- Timer t;
- String status = "Nothing";
- RSArea atStiles;
- RSArea atFish;
- RSTilePath pathToStiles;
- RSTilePath pathToFish;
- RSTile tilesToFish[] = {new RSTile(2857,3146),new RSTile(2863,3149),
- new RSTile(2869,3149),new RSTile(2875,3153),
- new RSTile(2882,3157),new RSTile(2887,3161),
- new RSTile(2893,3164),new RSTile(2900,3169),
- new RSTile(2907,3172),new RSTile(2913,3172),
- new RSTile(2920,3174),new RSTile(2924,3178)};
- /*RSTile tilesToStiles[] = {new RSTile(2922,3176),new RSTile(2917,3174),
- new RSTile(2912,3172),new RSTile(2906,3171),
- new RSTile(2900,3169),new RSTile(2894,3168),
- new RSTile(2888,3165),new RSTile(2884,3161),
- new RSTile(2882,3157),new RSTile(2879,3153),
- new RSTile(2873,3151),new RSTile(2867,3148),
- new RSTile(2861,3147),new RSTile(2855,3144),
- new RSTile(2851,3142)};*/
- RSTile toStiles;
- @Override
- public boolean onStart()
- {
- if(!inventory.contains(lobPotID))
- {
- log("No Lobster Pot in inventory. Script stopping...");
- return false;
- }
- initialize();
- return true;
- }
- @Override
- public void onFinish()
- {
- }
- @Override
- public int loop()
- {
- if(atFish.contains(players.getMyPlayer().getLocation()))
- {
- if(inventory.isFull())
- {
- camera.setCompass('n');
- camera.setPitch(true);
- walking.walkTo(toStiles);
- status = "Walking to Stiles";
- }
- else
- {
- status = "Finding fishing spot";
- nextSpot();
- }
- }
- else if(atStiles.contains(players.getMyPlayer().getLocation()))
- {
- if(inventory.isFull())
- {
- status = "Echanging fish";
- stiles();
- }
- else
- {
- status = "Walking to fishing spots";
- pathToFish.traverse();
- }
- }
- else
- {
- if(inventory.isFull())
- {
- status = "Walking to Stiles";
- walking.walkTo(toStiles);
- }
- else
- {
- status = "Walking to fishing spots";
- pathToFish.traverse();
- }
- }
- return random(10,50);
- }
- private void initialize()
- {
- mouse.setSpeed(6);
- atFish = new RSArea(2920,3174,2927,3181);
- atStiles = new RSArea(2849,3141,2853,3145);
- toStiles = new RSTile(2851,3142);
- //pathToStiles = walking.newTilePath(tilesToStiles);
- pathToFish = walking.newTilePath(tilesToFish);
- startTime = System.currentTimeMillis();
- t = new Timer();
- t.setStart();
- }
- private void nextSpot()
- {
- if(players.getMyPlayer().getAnimation() != fishAnim)
- {
- RSNPC spots[] = npcs.getAll(lobSpotID);
- camera.setCompass('s');
- camera.setPitch(true);
- for(int i=0; i<spots.length; i++)
- {
- RSNPC spot = spots[i];
- if(spot != null && spot.isOnScreen())
- {
- if(spot.interact("Cage"))
- {
- sleep(3000);
- break;
- }
- }
- }
- }
- else
- {
- status = "Fishing";
- if(t.end <= System.currentTimeMillis())
- {
- t.reset();
- antiAutoLog();
- }
- }
- }
- private void stiles()
- {
- RSNPC stiles = npcs.getNearest(stilesID);
- if(stiles != null)
- {
- stiles.interact("Exchange");
- sleep(1500);
- }
- }
- private void antiAutoLog()
- {
- int r = random(0,500);
- if(r >= 485)
- {
- keyboard.sendText("Fishing levels?", true);
- }
- else
- {
- camera.moveRandomly(random(100,1000));
- }
- }
- private class Timer
- {
- long end = 0;
- private void setStart()
- {
- end = System.currentTimeMillis()+random(15000,120000);
- }
- private void reset()
- {
- end = System.currentTimeMillis()+random(15000,120000);
- }
- }
- @Override
- public void messageReceived(MessageEvent e)
- {
- String txt = e.getMessage().toLowerCase();
- if(txt.contains("advanced"))
- {
- gainedLevels ++;
- }
- else if(txt.contains("you catch"))
- {
- caughtFish ++;
- expGained += 90;
- }
- }
- private final Color teal = new Color(0, 204, 255);
- private final Font font1 = new Font("Verdana", 1, 14);
- private final Font font2 = new Font("Verdana", 1, 12);
- private long startTime = 0, millis = 0, seconds = 0, minutes = 0, hours = 0;
- @Override
- public void onRepaint(Graphics g1)
- {
- Graphics2D g = (Graphics2D) g1;
- g.setFont(font1);
- g.setColor(teal);
- g.drawString("Fishing Level:", 5, 45);
- g.fillRoundRect(402, 480, 113, 22, 16, 16);
- g.drawString("Fishing Progress:", 5, 63);
- g.drawString("Time:",5,81);
- g.drawString("Fish Caught:",5,99);
- g.drawString("per hour:",29,117);
- g.drawString("Exp Gained:",5,135);
- g.drawString("per hour:",24,153);
- g.drawString("Fish till Level:",5,171);
- g.setColor(Color.red);
- 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;
- g.drawString(hours+":"+minutes+":"+seconds,50,81);
- g.setColor(Color.green);
- g.drawString(String.valueOf(caughtFish),106,99);
- int perHour = (int) ((caughtFish*3600000D)/(System.currentTimeMillis()-startTime));
- if(perHour < 0)
- {
- perHour = 0;
- }
- g.drawString(String.valueOf(perHour),106,117);
- g.drawString(String.valueOf(expGained),100,135);
- perHour = (int) ((expGained*3600000D)/(System.currentTimeMillis()-startTime));
- if(perHour < 0)
- {
- perHour = 0;
- }
- g.drawString(String.valueOf(perHour),100,153);
- String str = String.valueOf(skills.getCurrentLevel(skills.FISHING))+" (+"+String.valueOf(gainedLevels)+")";
- g.drawString(str, 115, 45);
- int percent = skills.getPercentToNextLevel(skills.FISHING);
- g.drawString(String.valueOf(percent) +"%", 144, 63);
- g.setColor(Color.orange);
- int tillLvl = skills.getExpToNextLevel(skills.FISHING)/90;
- g.drawString(String.valueOf(tillLvl),110,171);
- g.setColor(Color.black);
- g.drawString("by Legobumb", 406, 497);
- g.setFont(font2);
- g.setColor(Color.orange);
- g.drawString("Lego Lobster v1.1", 395, 335);
- g.setColor(Color.red);
- g.drawString("Status:", 4, 334);
- g.setColor(Color.green);
- g.drawString(status, 53, 334);
- }
- }
Add Comment
Please, Sign In to add comment