Fruity Posted March 31, 2015 Share Posted March 31, 2015 (edited) So i have a method - public boolean invContainsCrap(Script si) throws InterruptedException {si.log("invContainsCrap is running");if (!inventoryEmptyExcept(si, "item 1", "item 2")) {return true;}return false;} Im using this method as a while loop while i withdraw 2 different items. The first item is withdraw with no problems. but soon as my inventory contains that first item. i get stuck in the loop. [iNFO][bot #2][03/31 10:41:31 PM]: withdrawIngredients is running [iNFO][bot #2][03/31 10:41:31 PM]: withdrawNeeded is running [iNFO][bot #2][03/31 10:41:31 PM]: invContainsCrap is running <- found crap in my inv. [iNFO][bot #2][03/31 10:41:31 PM]: depositCrap is running <- Deposits said crap. [iNFO][bot #2][03/31 10:41:31 PM]: invContainsCrap is running [iNFO][bot #2][03/31 10:41:31 PM]: invContainsCrap is running [iNFO][bot #2][03/31 10:41:32 PM]: invContainsCrap is running [iNFO][bot #2][03/31 10:41:32 PM]: invContainsCrap is running [iNFO][bot #2][03/31 10:41:33 PM]: invContainsCrap is running [iNFO][bot #2][03/31 10:41:33 PM]: invContainsCrap is running [iNFO][bot #2][03/31 10:41:34 PM]: invContainsCrap is running [iNFO][bot #2][03/31 10:41:34 PM]: Terminating script Manifesto Wine... [iNFO][bot #2][03/31 10:41:34 PM]: Thanks for using my script. [iNFO][bot #2][03/31 10:41:34 PM]: Script Manifesto Wine has exited! SKYPE - OSBOTManifesto || If you dont mind me asking a few questions now and then please add my skype Edited March 31, 2015 by Manifesto Quote Link to comment Share on other sites More sharing options...
Khaleesi Posted March 31, 2015 Share Posted March 31, 2015 (edited) Just make your own method? public static boolean hasJunk(Script s, String... notJunk) { Item[] items = s.getInventory().getItems(); if (items == null || junks == null || junks.length <= 0) return false; for (Item item : items) for (String junk : junks) if (item != null && item.getName() != null && !item.getName().equals(junk)) return true; return false; } Goodluck! Edited March 31, 2015 by Khaleesi 1 Quote Link to comment Share on other sites More sharing options...
Fruity Posted March 31, 2015 Author Share Posted March 31, 2015 Just make your own method? public static boolean hasJunk(Script s, String... junks) { Item[] items = s.getInventory().getItems(); if (items == null || junks == null || junks.length <= 0) return false; for (Item item : items) for (String junk : junks) if (item != null && item.getName() != null && item.getName().equals(junk)) return true; return false; } Goodluck! I was going to attempt making one. just wanted to see i there was something i was doing wrong before i did. love you tho thanks for reply! Quote Link to comment Share on other sites More sharing options...
Khaleesi Posted March 31, 2015 Share Posted March 31, 2015 (edited) I was going to attempt making one. just wanted to see i there was something i was doing wrong before i did. love you tho thanks for reply! I don't even try to debug methods anymore, there probs broken, and takes less time to create your own I fucked up previous code ;) Here is right code: public static boolean hasJunk(Script s, String... notJunk) { Item[] items = s.getInventory().getItems(); if (items == null || notJunk == null || notJunk.length <= 0) return false; for (Item item : items) for (String notJunk : notJunk) if (item != null && item.getName() != null && !item.getName().equals(notJunk)) return true; return false; } Edited March 31, 2015 by Khaleesi 1 Quote Link to comment Share on other sites More sharing options...
Fruity Posted March 31, 2015 Author Share Posted March 31, 2015 I don't even try to debug methods anymore, there probs broken, and takes less time to create your own I fucked up previous code Here is right code: public static boolean hasJunk(Script s, String... notJunk) { Item[] items = s.getInventory().getItems(); if (items == null || notJunk == null || notJunk.length <= 0) return false; for (Item item : items) for (String notJunk : notJunk) if (item != null && item.getName() != null && !item.getName().equals(notJunk)) return true; return false; } Thanks alot for your help again Quote Link to comment Share on other sites More sharing options...
Twin Posted April 1, 2015 Share Posted April 1, 2015 Thanks alot for your help again You could have always done if(inventory.contains("Bones","Watermelon") That's what I did to get around it, but it ended up still fitting in with my script, for some it wouldn't work. Quote Link to comment Share on other sites More sharing options...