Merccy Posted July 6, 2013 Posted July 6, 2013 (edited) Hello, This snippet is for people that want to interact easily with shops (like a general shop, runes shop, etc...).The commands are very similar to bank and to start of you import the source/jar and make a new shop: Shop s = new Shop(this); // This must be a script object so your main file does fine! if (s.isOpen()){ // And close the shop immediately s.close(); } As you can see the isOpen method is there just like the one in the bank class.Next you can get a ShopItem by using this methods: ShopItem[] allItems = s.getAllShopItems(); ShopItem itemSlot4 = s.getShopItem(4); //4 is the slotID you can debug that by using the store debugger ShopItem hammer = s.getShopItemByName("Hammer"); // Wont break on patches ShopItem byId = s.getShopItemByID(123); // You can use it if you want but you should prefer ByName And for the final part you can interact with the shop items. itemSlot4.value(); // Wont return a value you must catch it in your onMessage(String s) itemSlot4.buy1(); hammer.buy5(); byId.buy10() int amountOfHammers = hammer.getAmount(); String hammerName = hammer.getName(); int hammerId = hammer.getID(); int hammerSlotID = hammer.getSlotID(); // You can also get the slot rectangle if you need it for painting: Rectangle rect = hammer.slot; Now you can buy stuff from the store! Remember: the ShopItem won't update you need to refresh it everytime by using hammer = s.getShopItemByName("Hammer"); (for example)There are also a few commands you can use for the shop like getting the shopname: // First check if the shop is open s.updateShopName(); s.updateInstructions(); String shopName = s.getShopName(); String instructions = s.getInstructions(); Screens (using the ShopDebugger): Download (jar): http://uppit.com/v6mr2nxmamsm/Shop.jar Source (pastebin): Shop.java: http://pastebin.com/1ud3N67r ShopItem.java: http://pastebin.com/5aNZZXkJ If you use the source then make a new package called com.merccy.Shop and place the Shop.java and ShopItem.java there! Download ShopDebugger (jar): http://uppit.com/68erm8t8a9bh/ShopDebugger.jar Credits: Jelknab - Gave me his debugger which contained the search for item loop (which I modified) XavierM - Told me that you would just have to use the x/y for clicking the items. Goodluck Edited July 6, 2013 by Merccy 2
Anon Posted July 6, 2013 Posted July 6, 2013 Great coding! Keep up the great work. I might just actually implement this in my farming script :P.
Merccy Posted July 6, 2013 Author Posted July 6, 2013 Great coding! Keep up the great work. I might just actually implement this in my farming script . Thanks!
H0ppy Posted July 6, 2013 Posted July 6, 2013 (edited) Good job! x3 Peace grtzH0ppy Edited July 6, 2013 by H0ppy
Merccy Posted July 6, 2013 Author Posted July 6, 2013 This is da bomb Thank you . Hopefully OSBot will implement this soon™
Merccy Posted July 7, 2013 Author Posted July 7, 2013 Thanks QBot it still uses rectangles but with some maths it will automatically make them according to the slotID.
YinZ Posted July 8, 2013 Posted July 8, 2013 (edited) First of all thanks for this! Really appreciate it.However, is there a way to see the amount of an item in the shop? Edit: Never mind, had a blank spot in my brain. Thanks again! EDIT2: This spam clicks when i only want to buy once, any idea how to stop? Edited July 8, 2013 by Moody
SpanishFly Posted July 10, 2013 Posted July 10, 2013 Does this spam buy for anyone else? It's spam clicking for me and I haven't been able to solve the problem yet. I don't like the osbot API very much. If I could do someting simple like this: public void buy10() { Point p = item.getPoint(); scr.client.moveMouseTo(p); scr.sleep(Script.random(250, 300)); scr.client.clickMouse(false); Point optionPoint = new Point(p.x, p.y + Script.random(67, 70)); scr.client.moveMouseTo(optionPoint); scr.client.clickMouse(true); } I would be able to make something that atleast works, but we have to use MouseDestinations, RectangleDestinations and have a bunch of extra arguments to the mouse methods and I can't find any explanation of these objects and methods. http://osbot.org/api/ is not very helpful.
Skype Posted July 12, 2013 Posted July 12, 2013 I think he leaked a trade interface snippet that didn't belong to him 2