Jump to content
View in the app

A better way to browse. Learn more.

OSBot :: 2007 OSRS Botting

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Free combat script: Hobgoblins & crabs [needs moved to local scripts]

Featured Replies

For those with higher def or pures looking for a tiny bit of cash semi non-afk

http://prntscr.com/2sbckl

 

 

very simple, and smooth. Does not  fuck with other players' crabs, all the time! (Not that it is an issue)

 

oh, it also loots limpwurt roots which are fairly common. That pays for food & range gear

 

 

 

Paid version will be a lot better.

 

Banks

agressive in certain areas(optional)

makes sure npcs are aggressive(optional)

 

package osbot;
import java.awt.Graphics;

import org.osbot.script.Script;
import org.osbot.script.ScriptManifest;
import org.osbot.script.mouse.MinimapTileDestination;
import org.osbot.script.rs2.model.Player;
import org.osbot.script.rs2.utility.Area;
import org.osbot.script.rs2.map.Position;
import org.osbot.script.rs2.model.*;

import javax.swing.DefaultListModel;
import javax.swing.JButton;
import javax.swing.JFileChooser;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JList;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTabbedPane;
import javax.swing.JTextField;
import javax.swing.SwingConstants;
import javax.swing.border.EmptyBorder;
import javax.swing.border.LineBorder;
import javax.swing.event.ListSelectionEvent;

import org.osbot.script.Script;
import org.osbot.script.rs2.Client;
import org.osbot.script.rs2.def.ObjectDefinition;
import org.osbot.script.rs2.map.Position;
import org.osbot.script.rs2.model.*;
import org.osbot.script.rs2.ui.Bank;
import org.osbot.script.rs2.ui.Inventory;
import org.osbot.script.rs2.ui.Tab;
import org.osbot.script.rs2.utility.Area;

import javax.swing.event.ListSelectionListener;

@ScriptManifest(author = "unsafebot", info = "Fights rock crabs and hobgoblins preferably ranging looting limpwurt roots & runes. Paid version 1M banks. "
        + ""
        + "                 There will be an optional fighter with custom npc attacking aswell, purely for experience", name = "EasyCB", version = 0.1)
public class EasyCB extends Script {
     GroundItem loot;
     GroundItem lootalways;
     GroundItem loot2;
     int option3;
        private int npcId;
        private int xpGained;
        private int startXp;
        private int NPCONE;
        private int eatBelow;
    final String WARRIOR = "Goat";
    final Area PALACE = new Area (3304, 2175, 3580, 3179);
    boolean inboat = false;
    NPC enemy;
    RS2Object lata;


    @Override
    public void onStart() {

        npcId = 0;
        xpGained = 0;
        NPCONE = 0;
        option3 = 0;
        eatBelow = 0;
        log("When below 25% HP the script will pause");

       //     eatBelow = Integer.parseInt(JOptionPane.showInputDialog("HP to eat at:"));
//            eatBelow = Integer.parseInt(JOptionPane.showConfirmDialog("1", "Enter 1)
        
    }

    
    
    

    private static final Area SQ = new Area(3205, 3434, 3220, 3422);

    private Position[] path = {
            new Position(3209, 3428, 0), new Position(3198, 3429, 0), new Position(3191, 3431, 0), new Position(3185, 3436, 0)
            };
    
    private Position[] path2 = {
            new Position(3182, 3434, 0), new Position(3177, 3430, 0), new Position(3167, 3427, 0), new Position(3140, 3434, 0) , new Position(3129, 3438, 0), new Position(3118, 3444, 0)
            };
private static final Area BANK = new Area(3183, 3433, 3185, 3447);



public void loot() throws InterruptedException    {
   // loot = closestGroundItemForName(new String[] {
      //      "Mithril bolts", "Snapdragon seed", "Iron knife", "Nature rune", "Steel arrow", "Limpwurt root", "Chaos rune", "Cosmic rune", "Death rune", "Law rune", "Pure essence", "Uncut diamond", "Uncut ruby", "Uncut emerald"  });
    loot = closestGroundItemForName(new String[] {
            "Mithril bolts", "Snapdragon seed", "Iron knife", "Steel arrow", "Limpwurt root"  });
    lootalways = closestGroundItemForName(new String[] { "Iron knife", "Mithril bolts", "Chaos rune", "Cosmic rune", "Death rune", "Law rune" });
    loot2 = closestGroundItemForName(new String[] {
            "Iron arrow",
         });
    
    if(client.getMyPlayer().isUnderAttack() && !client.getInventory().isFull() && loot != null){
        
        loot.interact("Take");
        sleep(random(50, 150));
    }
    if(!client.getMyPlayer().isUnderAttack() && lootalways != null){
        
        lootalways.interact("Take");
        sleep(random(50, 150));
    }

    
}

public void ab() throws InterruptedException    {


    
}
    @Override
    public int onLoop() throws InterruptedException    {
        Player p = client.getMyPlayer();

RS2Object dr = closestObjectForName("Door");
RS2Object lr = closestObjectForName("Ladder");

    
    //if(client.getMyPlayer().getPosition().equals(new Position(3115, 3450, 0))){

    //lr.interact("Climb-down");


         if(currentTab() != Tab.INVENTORY) {
                openTab(Tab.INVENTORY);
            }

    //        if(BANK.contains(myPlayer()) && client.getBank().isOpen()){
        //    log("Walkinx");
        //    traversePath(path2, false);
        //sleep(random(1000, 1200));
        //}
            //if(BANK.contains(myPlayer()) && !client.getInventory().contains(379)){
        //    RS2Object bank = closestObjectForName("Bank booth");
        //    if (bank != null) {
        //        if (bank.interact("Bank")) {
            //    while (!client.getBank().isOpen() && !client.getInventory().contains(379)){
            //        sleep(250);
            //    client.getBank().depositAll();
            //        }
            //if(!client.getInventory().contains(379) && client.getBank().contains(379)){
                            
            //        client.getBank().withdraw(8007, 1);
                //    sleep(random(50,200));
                //        client.getBank().withdraw(983, 1);
                //    sleep(random(50,200));
                //    client.getBank().withdrawAll(379);
                //    sleep(random(200,500));
                //    if(BANK.contains(myPlayer()) && client.getBank().isOpen()){

    
                        
            
            NPC n =  closestAttackableNPCForName(new String[] {
                    "Hobgoblin", "Rock crab"
                });

        
        
        //
        //    if(client.getInventory().contains(8007) && client.getInventory().contains(983) && client.getInventory().contains(379)){
        //        if(new Position(3115, 3450, 0).distance(client.getMyPlayer().getPosition()) > 8){
        //        traversePath(path2, false);
                
        //        }
        //    }
            loot();
            if(n != null && random(0, 100) == 0 && !client.getMyPlayer().isUnderAttack()){
                client.moveCameraToEntity(n);
                log("att");

                selectEntityOption(n, "Attack");
                sleep(random(2200, 3500));    
            }
           while(client.getMyPlayer().isMoving()){
               log(".");
               sleep(random(800, 1200));
           }
           if(client.getMyPlayer().isUnderAttack()){
               sleep(random(800, 3200));
           }
                if(!client.getMyPlayer().isMoving() && client.getMyPlayer().getHealth() > 25 && !client.getMyPlayer().isUnderAttack() && n.getHealth() > 0 && !n.isUnderAttack() && n != null) {
                    log("Current Health: " +client.getMyPlayer().getHealth());
            client.moveCameraToEntity(n);
                    selectEntityOption(n, "Attack");
                    sleep(random(2200, 3500));
                    
    }
        if(client.getMyPlayer().getHealth() <= 70){
            
            client.getInventory().interactWithId(379, "Eat");
        
         sleep(random(1200, 2240));
        }
        
        if(client.getMyPlayer().getHealth() < 14 && client.getInventory().getItemForId(379) == null){
            log("We need food.");
            sleep(2000);
        }


    
        
        return 1;
    }
    
    @Override
    public void onExit() {
        //when stopped
        log("ID Entered:"+npcId);
    }
}

not uploading .class due to those leechers lol!

 

This script is convienient I am 80 ranged so far

There are no jar/class files attached, and the entire script seems commented out (didn't bother to read and comprehend). Also this is posted in the wrong section.

Guest
This topic is now closed to further replies.

Recently Browsing 0

  • No registered users viewing this page.

Account

Navigation

Search

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.