-
Posts
2346 -
Joined
-
Last visited
-
Days Won
1 -
Feedback
100%
Everything posted by Deffiliate
-
No ID required, use the name of the door. Just search for the doors containing w/e the name of the door is, then check if any of the positions of those doors are in the open position.
-
This isn't the place to rant for hours on end about something that most like will not change. If you really want to make a change get all your friends, start a petition, and create a good argument (Financially, 'cus that's all admins will care about) in favor of your idea and PM it to mods/admins. I'm only telling you this so you don't waste your time/energy here.
-
I'd love to give me users life-time access to the life-time scripts they bought on OSBot 1. That being said, I don't think it's going to happen that way. Either way, I feel that the product I've provided and maintained over the past few months has been more than worth it's value. As a scripter, I vow to make this new mandatory monthly charge more than worth it to those of you who choose to re-subscribe with sexy new updates and features. (KBD and mithril drags coming soon to King of the Dragons)
-
Ye, u paid for a lifetime of OSBot 1 and that's what you'll get. Just be glad that you're not having to pay the initial fee as well like many of the scripters here are proposing.
-
LMFAO I remember that thing. I begged my mom to buy for me when i was young. Turned out to be shit, i already knew everything in the book -.-
-
You won't have to re-purchase. You'll have to pay the renewal fee which are going to be mandatory for all osb2 scripts.
-
Please, elaborate. Your wisdom will not fall on deaf ears.
-
I don't think that using this transition as a way to re-sell our current scripts as a whole new product is great n'or strategic. I think that idea is quite selfish and money-whorish TBH.
-
It's slowing down progression because they spent alot of fucking time working on this new client for US to program on and utilize, and debating or cryign about converting is only delaying the inevitable. OSbot2 is the future, now either help w/ it or GTFO. I wasn't happy about it before either, but it's here now. Also, you can't complain about having to re-write your scripts. OSBot provided a platform and API for you to script on. If you want to continue using their API and client to code on then you have to update along with them. It's not even a big deal to port a script. This I know.
-
I highly doubt ANY script has reached 99% of their potential user-base. Believe it or not, more and more people join this community daily. That means new potential customers. Anyways if you want to cry and not update to OSBot 2 feel free to do so, and i'll enjoy your slice of the money-making pie
-
How about more money from sales and your reputation as a scripter? OR is that not enough?
-
@ All scripters: Quit being lazy fucks and start converting. You're not gonna' make anymore money by clinging to osbot1, you'll just slow down progression. Having only 1 client is a good thing, it means all the devs should only have one real focus now which is OSB2. They've got the option whether or not to renew and us the new client... so the choice is still their's.
-
You guys are completely missing the point. Jagex stated they're running these next 2 weeks as a trial to see if bots will be too big of a neusance, and to determine what systems to put in place to limit bots on F2P. You're playing right into their trap by botting right now (Esepcially with an army of fishermen or w/e).
-
She's the Queen of Dashboard. She knows how to work his buttons just rite ;D
-
Greater things await a legend such as yourself #Smart4Prez #Smart4GlobalDictator
-
PricedItem class - Track items gained, and their value.
Deffiliate replied to Deffiliate's topic in Snippets
Yeah for sure, only thing is I forgot who's it is. Anyone know the author? -
Yeah bro! I posted this in the Bug Tracker thing. I remember there being a hook for this in an old EOC client. Was called getAppearance(), the only downfall was that you can't get the id for worn rings or ammo (Since these aren't visible). You should post a suggestion for this with all the info needed in the tracker
-
PricedItem class - Track items gained, and their value.
Deffiliate replied to Deffiliate's topic in Snippets
I hate how Eclipse's default formatting looks, and IDK how to change it. So I never format in Eclipse, just correct indentation. and very sexy class sir :3 You even went to the extreme of adding an itemMoved event. Give us all the dependencies that go with this please. (Just realized i forgot one of the dependencies for my class) -
This is a helpful class I made for tracking items gained, as well as loading their value from Zybez. To create a new PricedItem, simply use: new PricedItem(String name, Client c) or new PricedItem(String name, int id, Client c) . I create an array of these objects for all the items I want to track. Then to track the items you've gained simply call the .update(Client c) method on each of the PricedItems. Finally, you can use .getAmount() to get the total items gained, and getValue() to get the value of all items gained. import org.osbot.script.rs2.Client; public class PricedItem { private String name; private int lastCount = 0; private int amount = 0; private int price = 0; private int id = 0; public PricedItem(String name, Client c){ this.name = name; if(c.getInventory().contains(name)) lastCount = (int) c.getInventory().getAmount(name); if(name.contains("Clue scroll")||name.contains("Looting") ) price = 25000; else if(name.contains("Tooth") ||name.contains("Loop")){ int indexOf = name.indexOf("of")+2; String zybezKey = name.substring(0, indexOf).concat(" a key"); price = PriceGrab.getInstance().getPrice(zybezKey, 2); } else if(name.contains("arrow")){ price = PriceGrab.getInstance().getPrice(name+"s", 2); } else{ price = PriceGrab.getInstance().getPrice(name, 2); } } public PricedItem(String name, int id , Client c){ this.name = name; this.setId(id); if(c.getInventory().contains(id)) lastCount = (int) c.getInventory().getAmount(id); if(name.contains("Clue scroll")||name.contains("Tooth")) price = 100000; else{ price = PriceGrab.getInstance().getPrice(name, 2); } } public void update(Client c){ if(!c.getBank().isOpen()){ int increase = 0; if(id==0) increase = (int) (c.getInventory().getAmount(name)- lastCount); else increase = (int) (c.getInventory().getAmount(id)- lastCount); if(increase < 0) increase = 0; amount = amount + increase; } if(id==0) lastCount = (int) c.getInventory().getAmount(name); else lastCount = (int) c.getInventory().getAmount(id); } public String getName(){ return name; } public int getAmount(){ return amount; } public int getPrice(){ return price; } public int getValue(){ return amount * price; } public int getId() { return id; } public void setId(int id) { this.id = id; } } You'll need this as well, used to grab prices from Zyb (This class was created by:@Boots): package def.api; import java.io.*; import java.net.*; public class PriceGrab { private static PriceGrab oneInstance; private URL zybez; private URLConnection urlConnection; private BufferedReader inputScan; private final String zybezUrl = "http://forums.zybez.net/runescape-2007-prices/api/item/"; public static PriceGrab getInstance(){ if(oneInstance == null){ oneInstance = new PriceGrab(); } return oneInstance; } public int getPrice(String itemName, int command){ final String AVERAGE = "average",LOW= "recent_high", HIGH="recent_low"; String item = format(itemName),extracted; int price = 0; openStream(item); extracted = retrieveData(item); switch (command){ case 1: return parseInfo(extracted,LOW); case 2: return parseInfo(extracted,AVERAGE); case 3: return parseInfo(extracted,HIGH); } return price; } private String format(final String string){ if(string.contains(" ")) return string.replaceAll(" ", "+"); else return string; } private void openStream(final String param){ String appended = zybezUrl.concat(param); try { zybez = new URL(appended); urlConnection = zybez.openConnection(); urlConnection.setRequestProperty("User-Agent", "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11"); } catch (MalformedURLException e) { System.out.println("Web address formatted incorrectly, printing stack trace"); e.printStackTrace(); } catch(IOException exception) { System.out.println("Url connection has thrown an IOException, printing stack trace"); exception.printStackTrace(); } } private String retrieveData(final String param){ String output = null; try { openStream(param); inputScan = new BufferedReader(new InputStreamReader(urlConnection.getInputStream())); output = inputScan.readLine(); } catch (IOException e) { e.printStackTrace(); } finally { try {inputScan.close();} catch (IOException e){e.printStackTrace();} } return output; } private int parseInfo(String extracted,String value){ int start, end, price = 0; if(extracted.contains(value)){ start = extracted.indexOf(value); end = extracted.indexOf(",",start); price = Integer.parseInt(extracted.substring(start, end).replaceFirst(".*?(\\d+).*", "$1")); } else System.out.println("Could not retrieve price"); return price; } }
-
So, the recent OSBot update made it so that we can't view the equipment we're wearing unless we open the tab. This amended Equipment class will retrieve the equipment shown in the equipment tab the last time you opened it. So just to be clear, you need to re-open the equipment tab yourself any time you want to get an updated list of items equipped. The only benefit of this class over OSB's class is that this doesn't require you to open the tab ea time you want a list of equipped items. package def.api.equipment; import java.util.ArrayList; import org.osbot.script.rs2.Client; import org.osbot.script.rs2.model.Item; import org.osbot.script.rs2.ui.EquipmentSlot; import org.osbot.script.rs2.ui.RS2InterfaceChild; public class Equipment { public static Item[] getEquipment(Client client){ ArrayList<Item> items = new ArrayList<Item>(); for(EquipmentSlot slot: EquipmentSlot.values()){ for(RS2InterfaceChild slotChild : client.getInterface(387).getChild(slot.childId).getChildren()){ if(slotChild!=null){ if(slotChild.getItemId()!=-1){ items.add(new Item(slotChild.getItemId(),slotChild.getItemAmount())); } } } } Item[] itemA = new Item[items.size()]; return items.toArray(itemA); } public static EquipmentSlot getSlotForId(Client client, int id){ for(EquipmentSlot slot: EquipmentSlot.values()){ for(RS2InterfaceChild slotChild : client.getInterface(387).getChild(slot.childId).getChildren()){ if(slotChild!=null){ if(slotChild.getItemId()==id){ return slot; } } } } return null; } public static Item getItemInSlot(Client client,EquipmentSlot slot){ for(RS2InterfaceChild slotChild : client.getInterface(387).getChild(slot.childId).getChildren()){ if(slotChild!=null){ if(slotChild.getItemId()!=-1){ return new Item(slotChild.getItemId(),slotChild.getItemAmount()); } } } return null; } }
-
What;s ur PC specs? I',m thinking bout upgrading my PC soon
-
Thanks bro ^.^ Plan on getting a quad-copter soon, and why u no like Head First Java? I loved it, the way they taught was actually entertaining. Or are you just a book-burning religious freak? Thx bro :3 The desktop and chair were actually the first things i spent my script moneys on.
-
@Nezz better come show us his new desktop set-up he's been talking about!
-
^Yeah same, let me clean then ill take a pic ;P