atoo Posted November 9, 2017 Share Posted November 9, 2017 So working on my 1-99 fletcher ive been looking to make it all more automated, but i haven't gotten around getting the price on X item in GE. Now im curious if its possible to get the price shown in GE itself? Example: Quote Link to comment Share on other sites More sharing options...
Viston Posted November 9, 2017 Share Posted November 9, 2017 (edited) Like the price of Price Per Item: ? Isn't there a widget for it? If there is a widget, grab the filter, and filter out all unnecessary stuff out, so you only have the integer. Or do you mean this? Edited November 9, 2017 by Viston Quote Link to comment Share on other sites More sharing options...
atoo Posted November 9, 2017 Author Share Posted November 9, 2017 1 minute ago, Viston said: Like the price of Price Per Item: ? Isn't there a widget for it? If there is a widget, grab the filter, and filter out all unnecessary stuff out, so you only have the integer. Or do you mean this? Ye price per item, is there some snippet without json though? I remember explv saying so but i can't find the thread Quote Link to comment Share on other sites More sharing options...
HunterRS Posted November 9, 2017 Share Posted November 9, 2017 (edited) Not mine: import java.io.BufferedReader; import java.io.InputStream; import java.io.InputStreamReader; import java.net.URL; import java.util.ArrayList; import java.util.HashMap; public class Exchange { private static HashMap<Integer, Integer> cache = new HashMap<Integer, Integer>(); public static String getData(int itemID) { try { StringBuilder sb = new StringBuilder("https://api.rsbuddy.com/grandExchange?a=guidePrice&i="); sb.append(String.valueOf(itemID)); InputStream inputStream = new URL(sb.toString()).openStream(); InputStreamReader inputStreamReader = new InputStreamReader(inputStream); BufferedReader bufferedReader = new BufferedReader(inputStreamReader); String line; while ((line = bufferedReader.readLine()) != null) { if (line.contains("{")) { sb = new StringBuilder(line); sb.deleteCharAt(0); return sb.toString(); } } } catch (Exception e) { return e.getMessage(); } return null; } public static String[] parseData(String data) { ArrayList<String> holder = new ArrayList<String>(); String[] parts = data.split(","); //Now we have strings in format "x":y for (String s : parts) { s = s.replace("\"", ""); //Remove " - now in format x:y holder.add(s.split(":")[1]); //Extract y from format x:y } String[] ret = new String[holder.size()]; return holder.toArray(ret); } public static int getPrice(int itemID) { if (itemID == 995) return 1; if (cache.containsKey(itemID)) { return cache.get(itemID); } String[] data = parseData(getData(itemID)); int price = Integer.valueOf(data[0]); cache.put(itemID, price); return price; } } Use: Item item = getInventory().getItem("Coal"); int price = Exchange.getPrice(item.getId()) Edited November 9, 2017 by HunterRS 2 1 Quote Link to comment Share on other sites More sharing options...
RandomInc Posted November 9, 2017 Share Posted November 9, 2017 @HunterRS Thanks! Quote Link to comment Share on other sites More sharing options...
Explv Posted November 9, 2017 Share Posted November 9, 2017 (edited) 5 hours ago, atoo said: Ye price per item, is there some snippet without json though? I remember explv saying so but i can't find the thread That thread he linked is without the requirement of any external libraries. It even says so in the title. I would recommend using it because it allows you to lookup items using their name rather than id. I have another topic in the snippets section which does use a JSON library. Not sure why you wouldn't use it, JSON simple for example is open source and only a few classes, so you can just copy it into your project. As for getting the price in game, isn't it just a widget? If not there may be a config? Edited November 9, 2017 by Explv 1 Quote Link to comment Share on other sites More sharing options...
atoo Posted November 9, 2017 Author Share Posted November 9, 2017 (edited) 40 minutes ago, Explv said: That thread he linked is without the requirement of any external libraries. It even says so in the title. I would recommend using it because it allows you to lookup items using their name rather than id. I have another topic in the snippets section which does use a JSON library. Not sure why you wouldn't use it, JSON simple for example is open source and only a few classes, so you can just copy it into your project. As for getting the price in game, isn't it just a widget? If not there may be a config? Ye ill look into it when i work more on my fletcher, thanks. I'll also look into using the widget but i think using your snippet would be a lot better imo I got it working, thanks everyone for the help! Edited November 9, 2017 by atoo Quote Link to comment Share on other sites More sharing options...