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.

After a kill I want to loot first before attacking another monster.

Featured Replies

I have read alot of other scripts and examples of how to loot before attacking again. I cannot understand this concept, could somebody explain me how to do this inside of my own code.

This is my code for now:

===============================================================================================

    NPC npc = getNpcs().closest(o -> o.getName().equals("Cow") && o.getInteracting() == null && !o.isUnderAttack());
        
        if (npc != null && npc.getName().equals("Cow") && npc.getHealthPercent() > 0 && 
                npc.isAttackable() && npc.hasAction("Attack") && map.canReach(npc) && !npc.isUnderAttack()) {
            
            if (npc.equals(myPlayer().getInteracting())) {
                            
            } 
            
            else {            
                npc.interact("Attack");        
                
                if (npc.interact("Attack")) {                
                    sleep(random(3500,5000));
                }
            }
        } 
        
        else {
            camera.toEntity(npc);
            npc = npcs.closest("Cow");
        }

==================================================================================================

 

if( Im not in combat ){

  if(is there loot on the ground? ){
      pick up the loot...
  }else{
      atttack some npc...
  }

}


 

Edited by Nbacon

@Mokrocaan You can do what Nbacon did if you don't care about picking up other peoples loot they left. But if you want to only pick up your loot, then store the tile the npc health percent == 0 is and then check that tile is != null and if it contains items you want to loot, loot. Else make the tile == null so it can attack another monster. Can look something like this. Also if you haven't look into conditional sleeps.

if (lootTile != null) {
    if (items I want exist at tile) {
        loot the tile
    } else {
        lootTile == null;
    }
} else {
    find and attack the next monster
}
  • Author

@Gunman

 

I am going to try this out. Do you mean that I have to store the position of the NPC when he is at 0 healthPercent? Like this:

If ( monster.healthPercent() == 0 ) {

        Position lootTile = monster.getPosition();

}

 

 

Edited by Mokrocaan

  • Author

@Nbacon

 

Thankyou so much. The only problem im facing right now is that he doesnt loot the NPC I directly killed. It loots other peoples stuff or it loots my previous kill.

36 minutes ago, Mokrocaan said:

@Gunman

 

I am going to try this out. Do you mean that I have to store the position of the NPC when he is at 0 healthPercent? Like this:

If ( monster.healthPercent() == 0 ) {

        Position lootTile = monster.getPosition();

}

 

 

Yes right before he disappears, then you will probably have to wait about 3 seconds for the loot to spawn before checking the tile.

 

EDIT: You may find something useful in this video; It has no looting but it involves combat and may be useful to you. 

 

Edited by Gunman

Create an account or sign in to comment

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.