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.

Trying to get the stock of an item in the store but getting java.lang.NullPointerException

Featured Replies

I'm trying to check if the item's stock is max or higher but it never runs since it always gives the error java.lang.NullPointerException at org.osbot.rs07.api.Store.iIIIIiIIIii(gh:162).

String[] BuyItems = {"Name of item", "Name of item", "Name of item"};
int[] Stock = {1, 5, 4};
NPC Shopkeeper = npcs.closest("Shop npc");
Shopkeeper.interact("Trade");
for (int i = 0; i < BuyItems.length; i++) {
	if (getStore().getAmount(BuyItems[i]) <= Stock[i]) {
		do something
	}
}

I saw some people getting the same problem at the forums but no methods of fixing it except checking if getStore().getAmount(BuyItems[i]) is not null. This didn't work either nor should it work since there is always an amount of that item.

Might not be related to your problem but make sure to always null check before using am interact option.
 

NPC Shopkeeper = npcs.closest("Shop npc");
Shopkeeper.interact("Trade");

Should be: 

NPC Shopkeeper = npcs.closest("Shop npc");
if(shopkeeper != null){
	Shopkeeper.interact("Trade");
	...
}


For the rest, on what line are you getting an NPE?

  • Author

Interacting with the npc works but I'm getting the error when trying to get the amount of items in stock 

I would recommend checking that this isn't returning a null value.

getStore().getAmount(BuyItems[i])

Put it in a variable and do a null check on the variable. Your problem may come from the name of the item. It's recommended to use an array of item IDs (you can search the item id here: https://www.osrsbox.com/tools/item-search/)

Also, the API is extremely fast. Make sure you're checking that the store is open before running that code. You should only run that loop if getStore.isOpen() returns true.

  • Author

I thought the script would wait until it opened the store so I didn't check if the store was open. I added the isOpen() and it worked, ty guys!

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.