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.

Combat snippet

Featured Replies

Decided to share this as the get closestAttackableNPC wasn't working that great for me. Enjoy guys

private NPC getTarget(int [] ids){
	List<NPC> NPCs = closestNPCList(ids);
	for (NPC i:NPCs){
		if (i.getFacing() == null && !i.isAnimating()){
			return i;
		}
		}
		
	
	return null;
	}

Edited by Exarticus

  • Author

Filterrrrsss.

More input please and your love for adriana grande is slightly disturbing.

You're disturbing. l2spell

L2spell? Lol what did i spell wrong?

 

 

 

Filterrrrsss.

More input please and your love for adriana grande is slightly disturbing.

You're disturbing. l2spell

L2spell? Lol what did i spell wrong?

 

...Ariana Grande...

  • Author

Use of filters is more efficient. Also, NPC#isUnderAttack is bad.

I'm not seeing anything related to filters in the api. Care to explain?

This won't return any NPCs that are offscreen because of NPC#isVisible(), it's probably best to remove that entirely and have the script itself run to the off-screen enemy if necessary.

 

Also, like mentioned earlier, NPC#isUnderAttack() isn't the most reliable thing to use. Rather, I'd recommend using NPC#getFacing() to see who the NPC is interacting with. If it's you, always return that one. If it's someone else, they're in combat already, so skip it. If it's null, they're likely not in combat (idle), so chose that one.

  • Author

This won't return any NPCs that are offscreen because of NPC#isVisible(), it's probably best to remove that entirely and have the script itself run to the off-screen enemy if necessary.

 

Also, like mentioned earlier, NPC#isUnderAttack() isn't the most reliable thing to use. Rather, I'd recommend using NPC#getFacing() to see who the NPC is interacting with. If it's you, always return that one. If it's someone else, they're in combat already, so skip it. If it's null, they're likely not in combat (idle), so chose that one.

Updated according to your comments.

The way you wrote it unfortunately won't work, although it is a step in the right direction.

The line-by-line on yours would go like this:

NPC: Man, Level 3
-Player: PlayerOne, Level 126, is interacting with NPC Man. Do not return NPC Man.
-Player: PlayerTwo, Level 3, is not interacting with NPC Man. Return NPC Man.

Then it'd be returning NPC Man even though he's interacting with PlayerOne.

 

edit: walked through too much

Edited by Peach

you are trying to see If the character is interacting with another and dont care which one it is

#getFacing will return the character that the npc is interacting with

if its not interacting with anything then it will return null

so Use #getFacing()==null instead of #isFacing(character)

  • Author

you are trying to see If the character is interacting with another and dont care which one it is

#getFacing will return the character that the npc is interacting with

if its not interacting with anything then it will return null

so Use #getFacing()==null instead of #isFacing(character)

Thanks fixed. 

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.