- 
                Posts5883
- 
                Joined
- 
                Last visited
- 
                Days Won18
- 
	Feedback100%
Everything posted by Botre
- 
	Feel free to PM me the prices for each of the current accounts
- 
	Example: CarouselPanel carousel = new CarouselPanel(); carousel.addComponent(new JLabel(new ImageIcon(ImageIO.read(new URL("http://i.imgur.com/0yd3HFb.png"))))); carousel.addComponent(new JLabel(new ImageIcon(ImageIO.read(new URL("http://i.imgur.com/2YDrKSy.png"))))); carousel.addComponent(new JLabel(new ImageIcon(ImageIO.read(new URL("http://i.imgur.com/e9RmCeC.png"))))); frame.add(carousel, BorderLayout.CENTER); Snippet: package org.botre.swing.custom; import java.awt.BorderLayout; import java.awt.CardLayout; import java.awt.Component; import javax.swing.JButton; import javax.swing.JPanel; import javax.swing.Timer; public class CarouselPanel extends JPanel { private static final long serialVersionUID = 1L; private int count = 0; private int index = 0; private JPanel content = new JPanel(new CardLayout()); private JButton navLeft, navRight; private Timer timer = new Timer(1000, null); public CarouselPanel(int scrollseconds) { setLayout(new BorderLayout()); navLeft = new JButton("<"); navRight = new JButton(">"); navLeft.addActionListener(l -> { CardLayout cl = (CardLayout)(content.getLayout()); index = index - 1; index = index >= 0 ? index : count - 1; cl.show(content, Integer.toString(index)); timer.restart(); }); navRight.addActionListener(l -> { CardLayout cl = (CardLayout)(content.getLayout()); index = index + 1; index = index < count ? index : 0; cl.show(content, Integer.toString(index)); timer.restart(); }); add(navLeft, BorderLayout.WEST); add(navRight, BorderLayout.EAST); add(content, BorderLayout.CENTER); navLeft.setVisible(count > 1); navRight.setVisible(count > 1); if(scrollseconds > 0) { timer = new Timer(scrollseconds * 1000, null); timer.addActionListener(l -> { navRight.doClick(); }); timer.setRepeats(true); timer.start(); } } public CarouselPanel() { this(-1); } public void addComponent(Component component) { content.add(component, Integer.toString(count)); count++; navLeft.setVisible(count > 1); navRight.setVisible(count > 1); } }
- 
	Couldn't care less about the defence level Send me a PM with more details and prices
- 
	Looking for the following features. If you have an account for sale with all or any or just one of them, feel free to contact me with your price The more features your account supplies the more I'd be willing to pay ofcourse. Able to self-host NMZ Unlocked rock cake from NMZ 40+ ranged 40+ magic 130+ combined attack & strength Access to Experiments. Access to Yaks. Unlocked the herblore skill. House with lectern and butler. 0 offences only. Cheers!
- 
	1. Depends, 2-day are more common I think but I've seen Macro Majors for alching. 2. The odds of you getting reported would be decreased but you're safe nowhere :p. 3. There's no safety threshold, risk increases as you go along :p
- 
	Quick snippet that allows you to pass lambda expressions in order to evaluate ConditionalSleep. Syntactic sugar: CSleep.create(2400, 200, () -> !myPlayer().getPosition().equals(cache)).sleep(); vs. new ConditionalSleep(2400,200) {@Override public boolean condition() throws InterruptedException { return !myPlayer().getPosition().equals(cache); }}.sleep(); Snippet: package org.botre; import java.util.function.Function; import org.osbot.rs07.utility.ConditionalSleep; public final class CSleep { private CSleep() { } public static ConditionalSleep create(int maximumMs, int deviationMs, BooleanSupplier condition) { return new ConditionalSleep(maximumMs, deviationMs) { @Override public boolean condition() throws InterruptedException { return condition.getAsBoolean(); } }; } }
- 
	Needed this data for the Superheat component of my Magic script, figured maybe someone else could benefit from it too :p The data makes writing a smelter a matter of minutes though:
- 
	Example: public static void main(String[] args) { Map<Ore, Integer> o = SmithingBar.ADAMANTITE.getOres(); System.out.println("In order to make an adamantite bar I need: "); for (Ore ore : o.keySet()) { System.out.println("\t" + o.get(ore) + " " + ore); } System.out.println("... and " +SmithingBar.ADAMANTITE.getRequiredSmithingLevel() + " smithing."); } Ore enum: public enum Ore { COPPER("Copper ore"), TIN("Tin ore"), BLURITE("Blurite ore"), IRON("Iron ore"), SILVER("Silver ore"), COAL("Coal ore"), GOLD("Gold ore"), MITHRIL("Mithril ore"), ADAMANTITE("Adamantite ore"), RUNITE("Runite ore"); private String name; private Ore(String name) { this.name = name; } public String getName() { return name; } @Override public String toString() { return getName(); } } SmithingBar enum: package org.botre.data; import java.util.Collections; import java.util.EnumMap; import java.util.Map; public enum SmithingBar { BRONZE("Bronze bar", 1), BLURITE("Blurite bar", 8), IRON("Iron bar", 15), SILVER("Silver bar", 20), STEEL("Steel bar", 30), GOLD("Gold bar", 40), MITHRIL("Mithril bar", 50), ADAMANTITE("Adamantite bar", 70), RUNITE("Runite bar", 85); private static final Map<SmithingBar, Map<Ore, Integer>> ORE_RECIPES = Collections.unmodifiableMap(initOres()); private String name; private int requiredSmithingLevel; private SmithingBar(String name, int requiredSmithingLevel) { this.name = name; } public String getName() { return name; } public int getRequiredSmithingLevel() { return requiredSmithingLevel; } public Map<Ore, Integer> getOres() { return ORE_RECIPES.get(this); } @Override public String toString() { return getName(); } private static Map<SmithingBar, Map<Ore, Integer>> initOres() { Map<SmithingBar, Map<Ore, Integer>> map = new EnumMap<>(SmithingBar.class); for (SmithingBar bar : values()) { Map<Ore, Integer> ores = new EnumMap<>(Ore.class); switch (bar) { case BRONZE: ores.put(Ore.COPPER, 1); ores.put(Ore.TIN, 1); break; case BLURITE: ores.put(Ore.BLURITE, 1); break; case IRON: ores.put(Ore.IRON, 1); break; case SILVER: ores.put(Ore.SILVER, 1); break; case STEEL: ores.put(Ore.IRON, 1); ores.put(Ore.COAL, 2); break; case GOLD: ores.put(Ore.GOLD, 1); break; case MITHRIL: ores.put(Ore.MITHRIL, 1); ores.put(Ore.COAL, 4); break; case ADAMANTITE: ores.put(Ore.ADAMANTITE, 1); ores.put(Ore.COAL, 6); break; case RUNITE: ores.put(Ore.RUNITE, 1); ores.put(Ore.COAL, 8); break; } map.put(bar, ores); } return map; } }
- 
	You brought the whole entitlement issue up, though it seems you don't quite understand what it actually means. @OP: Contact the scripter to fix your script, ask maldesto to remove the scripts from your account, or just learn to live with the few extra script icons
- 
	That's a contract between OSBot and the scripter, not the scripter and its customers. All it does is entitle OSBot to punish a scripter should they refuse to fix their scripts. If the scripter refuses the punishment you don't get your script, so there's zero guarantee hence the absence of any sort of "entitlement". As a user you are, as per the TOS, not entitled to anything. However, users can ofcourse contact the administrator in order to: a: notify the administrator of the broken product so they can pressure the script writer if need be. b: give a refund, entirely at their discretion. Maldesto tends to be very reasonable about these cases. But seems like we're going on a tangent here :p
- 
	http://osbot.org/tos.html We hold the right at any time, and without prior notice, to cease to supply any of our products or services provided by us and we will be in no way liable to you in any way if we decide to stop such supply. We hold the right at any time, and without prior notice, to stop any access to any of the products and services provided by us and used by you... More like 0% Do your research.
- 
	I love me some Daniel Day Lewis and Dicaprio and the other obvious great ones. My favorite people on TV rn: Drama: Bobby Cannavale Comedy: Charlie Day
- 
	Not sure if you're allowed to post here considering your postcount. (your price is a bit on the low side for what you're buying)
- 
	What becomes a meme, becomes unforgettable. #AcerdIncest2016
- 
	  Why are Blu-ray for Anime so fucking expensiveBotre replied to ANIMA VESTRA's topic in Spam/Off Topic The reason they are so expensive is because that's the price the majority of people who actually buy anime DVDs (hardcore fans, collectors, etc...) are willing to pay for them. Since illegal downloading became so mainstream, the '18 - 29 year old without money demographic' pretty much kicked itself out of the traditional DVD target market :p Yeah some people will x) TV / streaming licensing & milking collectors / hardcore fans = their entire business model :p Quick conclusion: Physical media in entertainment has become more of a vanity item than an actual way to purchase the content they store, it's the reason why cassette and vinyl sales outperform cd's in physical music sales and why expensive "ultimate collector" edition dvds are so prevalent. Since the internet made media content virtually worthless, content producers had to adapt, some of them struggle with it, others do a brilliant job at it.
- 
	1997 bro
- 
	A free beta version will be made available soon! Currently supports: Low & high alchemy. Bones to bananas & bones to peaches. Enchant all crossbow bolts. Enchants all jewellery. Superheats all bars All teleports
- 
	About 12 days, botting 6-8 hours/day non-stop.
- 
	  MFW when someone says reusable GUI components aren't worth the hassleBotre replied to Botre's topic in Spam/Off Topic Fair enough: Solved x)
- 
	  MFW when someone says reusable GUI components aren't worth the hassleBotre replied to Botre's topic in Spam/Off Topic Script cost = ~5$, profit average per user = ~150$ (profit tracking). (150 / 5) * 100 = ~3000%; Which of my features would you not consider "extras"? (give my answer to Krulvis's reply a read first)
- 
	  MFW when someone says reusable GUI components aren't worth the hassleBotre replied to Botre's topic in Spam/Off Topic 1. My plank farmer was the only product with 10+ customers, I have already rewritten it and previous customers will receive free access. 2. My fire maker had 3-4 users. I will personally buy them any other 5$ Botre script if they wish. 3. My catapult script had 6 customers, I have rewritten a free version of it for the community. I never guaranteed lifetime support and 99% of my userbase was able to get a profitable (easily up to 3000%) return (in terms of gp, experience, etc..) on their script investment. Stop being so toxic, your shitpost has nothing to do with the topic of this thread.
- 
	  MFW when someone says reusable GUI components aren't worth the hassleBotre replied to Botre's topic in Spam/Off Topic Potions & food: How is the script to deduce which item to use? I personally don't think forcing a user to go to a bank and withdraw a certain item is a more friendly than checking a box. Or should the script just use the best item available? But what defines "best" in this case? Price, bonus effect, bonus duration? Scenario: what if the script deduces lobsters are the best food-candidate and the user is completely fine with that (he bought the lobsters just for the script after all), but then you run out of lobsters and the script now selects sharks, but the user bought those sharks to go bossing later. When the user comes back and checks his bank he notices he's out of sharks and is not happy, he would've actually preferred monkfish being selected as backup-food but he was just unable to tell the script. Prayer: How is the script to deduce whether the user wants to use overheads at all? Gear? Prayer level? Defence level? How is the script to deduce whether the user prefers to use ultimate strength (better bonus) or superhuman strength (lower prayer point cost)? How is the script to deduce whether the user just wants strength bonus but not accuracy? How is the script to deduce the user might want to use rapid heal and/or protect from item? Etc... Best of two worlds: make the GUI deduce / recognize probable preferred settings and fill itself out, but give the user the option to clearly visualize and (if necessary) tweak the settings.
 
		 
       
       
       
        