Jump to content

Leaderboard

Popular Content

Showing content with the highest reputation on 03/21/16 in all areas

  1. Currently only supports the normal spellbook. Examples package org.botre.magic; import org.osbot.rs07.api.ui.MagicSpell; import org.osbot.rs07.api.ui.Skill; import org.osbot.rs07.script.Script; //Script manifest... public class ExampleScript extends Script { private Autocast auto = new Autocast(this); @Override public int onLoop() throws InterruptedException { /* * These are radom non-dependant examples. */ // Autocasts the fireblast spell in non-defensive mode auto.autocast(AutocastSpell.FIRE_BLAST, false); // Autocast the wind bolt spell in defensive mode auto.autocast(AutocastSpell.WIND_BOLT, true); // Stop the script immediately if in defensive mode. if(auto.isDefensiveMode()) { stop(); } // Get the difference between the level required to autocast the... // spell you are autocasting and your static magic level (a bit arbitrary). MagicSpell spell = auto.getAutocastSpell(); if(spell != null) { int difference = Math.abs(spell.getRequiredLevel() - getSkills().getStatic(Skill.MAGIC)); } return 500; } } Autocast package org.botre.magic; import java.awt.Point; import org.botre.tab.TabHotkey; import org.osbot.rs07.api.ui.MagicSpell; import org.osbot.rs07.api.ui.RS2Widget; import org.osbot.rs07.input.mouse.WidgetDestination; import org.osbot.rs07.script.MethodProvider; import org.osbot.rs07.utility.ConditionalLoop; import org.osbot.rs07.utility.ConditionalSleep; public class Autocast { public static final int AUTOCAST_SPELL_CONFIG = 108; public static final int AUTOCAST_MODE_CONFIG = 439; // 0 = regular, 256 = defensive public static final Point DEFENSIVE_AUTOCAST_BUTTON_POSITION = new Point(650, 280); public static final Point REGULAR_AUTOCAST_BUTTON_POSITION = new Point(651, 333); private MethodProvider ctx; public Autocast(MethodProvider ctx) { this.ctx = ctx; } public boolean isAutocasting() { return ctx.getConfigs().get(AUTOCAST_SPELL_CONFIG) != 0; } public boolean isAutocasting(AutocastSpell auto) { return ctx.getConfigs().get(AUTOCAST_SPELL_CONFIG) == auto.getConfigValue(); } public boolean isAutocasting(AutocastSpell auto, boolean defensive) { return ctx.getConfigs().get(AUTOCAST_SPELL_CONFIG) == auto.getConfigValue() && defensive == isDefensiveMode(); } public boolean isRegularMode() { return ctx.getConfigs().get(AUTOCAST_MODE_CONFIG) == 0; } public boolean isDefensiveMode() { return ctx.getConfigs().get(AUTOCAST_MODE_CONFIG) == 256; } public MagicSpell getAutocastSpell() { AutocastSpell auto = AutocastSpell.forConfigValue(ctx.getConfigs().get(AUTOCAST_SPELL_CONFIG)); if(auto == null) return null; return auto.getSpell(); } public boolean isAutocastPanelOpen() { RS2Widget panel = ctx.getWidgets().get(201, 0); return panel != null && panel.isVisible(); } @SuppressWarnings("unchecked") public boolean openAutocastPanel(boolean defensive) { new ConditionalLoop(ctx.getBot(), 10) { @Override public boolean condition() { return !isAutocastPanelOpen(); }; @Override public int loop() { if(TabHotkey.COMBAT.openTab(ctx)) { RS2Widget button = ctx.getWidgets().singleFilter(ctx.getWidgets().getAll(), w -> { return w != null && w.isVisible() && w.getMessage() != null && w.getMessage().equals("Spell") && w.getPosition().equals(defensive ? DEFENSIVE_AUTOCAST_BUTTON_POSITION : REGULAR_AUTOCAST_BUTTON_POSITION); }); if(button != null) { WidgetDestination destination = new WidgetDestination(ctx.getBot(), button); if(ctx.getMouse().click(destination)) { new ConditionalSleep(2400, 200) { @Override public boolean condition() throws InterruptedException { return !button.isVisible(); } }.sleep(); } } } return MethodProvider.random(50, 150); } }.start(); return isAutocastPanelOpen(); } @SuppressWarnings("unchecked") public boolean closeAutocastPanel() { new ConditionalLoop(ctx.getBot(), 10) { @Override public boolean condition() { return isAutocastPanelOpen(); }; @Override public int loop() { RS2Widget cancel = ctx.getWidgets().singleFilter(ctx.getWidgets().getAll(), w -> { return w != null && w.isVisible() && w.getMessage() != null && w.getMessage().equals("Cancel"); }); if(cancel != null) { WidgetDestination destination = new WidgetDestination(ctx.getBot(), cancel); if(ctx.getMouse().click(destination)) { new ConditionalSleep(2400, 200) { @Override public boolean condition() throws InterruptedException { return !cancel.isVisible(); } }.sleep(); } } return MethodProvider.random(50, 150); } }.start(); return !isAutocastPanelOpen(); } public boolean autocast(AutocastSpell spell, boolean defensive) { new ConditionalLoop(ctx.getBot(), 10) { @Override public boolean condition() { return spell != null ? !isAutocasting(spell) : isAutocasting(); }; @SuppressWarnings("unchecked") @Override public int loop() { if(isAutocastPanelOpen()) { if(spell == null) { closeAutocastPanel(); } else { if(defensive != isDefensiveMode()) { closeAutocastPanel(); } else { RS2Widget button = ctx.getWidgets().singleFilter(ctx.getWidgets().getAll(), w -> { if(w != null && w.isVisible() && w.getInteractActions() != null) { String name = spell.getSpell().toString().replace("_", " "); for (String action : w.getInteractActions()) if(action != null && action.equalsIgnoreCase(name)) return true; } return false; }); if(button != null) { WidgetDestination destination = new WidgetDestination(ctx.getBot(), button); if(ctx.getMouse().click(destination)) { new ConditionalSleep(2400, 200) { @Override public boolean condition() throws InterruptedException { return !button.isVisible(); } }.sleep(); } } } } } else { openAutocastPanel(defensive); } return MethodProvider.random(50, 150); } }.start(); return spell != null ? isAutocasting(spell) : !isAutocasting(); } } AutocastSpell This is a MagicSpell wrapper storing the config value for a MagicSpell. package org.botre.magic; import org.osbot.rs07.api.ui.MagicSpell; import org.osbot.rs07.api.ui.Spells.NormalSpells; public enum AutocastSpell { WIND_STRIKE(NormalSpells.WIND_STRIKE, 3), WATER_STRIKE(NormalSpells.WATER_STRIKE, 5), EARTH_STRIKE(NormalSpells.EARTH_STRIKE, 7), FIRE_STRIKE(NormalSpells.FIRE_STRIKE, 9), WIND_BOLT(NormalSpells.WIND_BOLT, 11), WATER_BOLT(NormalSpells.WATER_BOLT, 13), EARTH_BOLT(NormalSpells.EARTH_BOLT, 15), FIRE_BOLT(NormalSpells.FIRE_BOLT, 17), WIND_BLAST(NormalSpells.WIND_BLAST, 19), WATER_BLAST(NormalSpells.WATER_BLAST, 21), EARTH_BLAST(NormalSpells.EARTH_BLAST, 23), FIRE_BLAST(NormalSpells.FIRE_BLAST, 25), WIND_WAVE(NormalSpells.WIND_WAVE, 27), WATER_WAVE(NormalSpells.WATER_WAVE, 29), EARTH_WAVE(NormalSpells.EARTH_WAVE, 31), FIRE_WAVE(NormalSpells.FIRE_WAVE, 33); private MagicSpell spell; private int configValue; private AutocastSpell(MagicSpell spell, int configValue) { this.spell = spell; this.configValue = configValue; } public MagicSpell getSpell() { return spell; } public int getConfigValue() { return configValue; } public static AutocastSpell forSpell(MagicSpell spell) { for (AutocastSpell a : values()) { if(a.spell == spell) return a; } return null; } public static AutocastSpell forConfigValue(int configValue) { for (AutocastSpell a : values()) { if(a.configValue == configValue) return a; } return null; } }
    6 points
  2. Time Online: 74d 17h 5m 3s Time Spent Shit Posting: 74d 17h 5m 3s
    5 points
  3. Example: Event event = new SpellOnItemEvent(NormalSpells.LVL_2_ENCHANT, "Emerald ring"); execute(event); if(event.getStatus() == EventStatus.FINISHED) { casts++; } Code: public class SpellOnItemEvent extends Event { private MagicSpell spell; private String item; public SpellOnItemEvent(MagicSpell spell, String item) { this.spell = spell; this.item = item; } @Override public int execute() throws InterruptedException { if(getMagic().isSpellSelected()) { int slot = getInventory().getSlot(item); long count = getInventory().getAmount(item); if(getMouse().click(new InventorySlotDestination(getBot(), slot))) { if(new ConditionalSleep(2400, 200) { @Override public boolean condition() throws InterruptedException { return getInventory().getAmount(item) != count; } }.sleep()) { setFinished(); } else { setFailed(); } } } else if(getMagic().castSpell(spell)) { if(!new ConditionalSleep(2400, 200) { @Override public boolean condition() throws InterruptedException { return getTabs().getOpen() == Tab.INVENTORY; } }.sleep()) { setFailed(); } } return MethodProvider.random(50, 150); } }
    5 points
  4. Note: It's free Quite buggy and NOT a finished product Some features don't work, just post here if you're unsure Just a BETA version I decided to release Any questions regarding making a miniscript should be posted here. All miniscripts are encouraged to be shared! Thread will be updated with guides soon... Download link: http://upx.nz/bg4WQY
    4 points
  5. hey here's something he posted in Sinatra's dragon support chat - Doubt he's 'selling all his gold and quitting' GL getting your money back bro
    3 points
  6. View in store ($3,99 for lifetime access) Features: Supports every location you would ever want to cook (anywhere missing? request it!) Supports almost every food item cookable on a range or fire (anything missing? request it!) Smart Target-oriented back-end stops the script when you have accomplished your desired goal Option to move mouse outside screen while cooking to simulate human AFKing Where Make-All isn't available, A Gaussian distribution based suffixed string generation algorithm randomises entered Make-X values Utilises a combination of WebWalking and recorded paths to ensure the script never strays from it's job Simple, intuitive GUI which auto-detects your food and location based on your inventory and minimap position Stable cooking & banking algorithms, tuned individually for each food item and bank Clean, informative, Anti-aliased, un-obstructive and fully movable self-generating paint Movable on-canvas scrolling console logger Efficient script logic ensures an EXP-optimised experience Normally distributed response times to simulate a human's reflexes Stops & logs out when out of food, saving your progress to the console and web Dynamic signatures allow you to track your progress as you use the script Handles obstacles and doors between the bank and the range to ensure door spammers cannot hinder your gains CLI is supported for all hardcore chef needs ... and many more ... Supported food: This script only supports cooking these food items on ranges/fires, it will not combine ingredients to make items such as Tuna potatoes or Pineapple pizzas. Shrimp Anchovies Sardine Herring Mackerel Chicken Beef Bear meat Rabbit Rat meat Sinew from Bear meat Sinew from Beef Trout Salmon Cod Pike Bass Rainbow fish Tuna Lobster Swordfish Monkfish Shark Dark crab Sea turtle Manta ray Anglerfish Karambwan Poison Karambwan Bowl of Water Uncooked pizza Potato Seaweed Sweetcorn Stew (new!) Curry (new!) Just ask for a new food item to be added! Supported locations: Rogues den Lumbridge Kitchen (new!) Catherby Nardah Tzhaar City Al-Kharid Zanaris Neitiznot Varrock East Hosidius Kitchen Gnome Stronghold Varrock Cooks' Guild Port Khazard Edgeville Mor Ul Rek Myths' Guild (new!) Just ask for a new location to be added! Why choose APA Scripts? As an experienced veteran scripter here on OSBot, I strive to give you the best user experience that I can by providing frequent updates and fixes. With over 40 cumulative 5 star reviews on the store, as well as my Scripter III rank, you know you're in safe hands. Want something added? Don't like something? Have an awesome proggie to share? Let me know! Example GUI: Starting from CLI: Gallery: _________________________________________________________________________________________ Credits:
    2 points
  7. You should really learn how to debug yourself. For starters, you are catching an Exception and never handling it. If you had printed out the exception by doing this: Image bg = getImage("http://s9.postimg.org/5tbnkub0r/Namnl_st_1.png"); @Override public void onPaint(Graphics2D g){ if(bg != null){ g.drawImage(bg, 100, 100, null); System.out.println("Drawing image"); } } private Image getImage(String url) { try { return ImageIO.read(new URL(url)); } catch (IOException e) { e.printStackTrace(); } return null; } You would have seen this displayed (in debug mode): The website returns a 403 response code (Forbidden error), most likely because it looks at the request headers and sees that you are not visiting this url from a web browser. You can either reupload the image to a different site, or you can set the User-Agent in your Java code to be a browser's User-Agent like this: Image bg = getImage("http://s9.postimg.org/5tbnkub0r/Namnl_st_1.png"); @Override public void onPaint(Graphics2D g){ if(bg != null){ g.drawImage(bg, 100, 100, null); System.out.println("Drawing image"); } } private Image getImage(String url) { try { URL imgUrl = new URL(url); URLConnection connection = imgUrl.openConnection(); connection.setRequestProperty("User-Agent", "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2228.0 Safari/537.36"); return ImageIO.read(connection.getInputStream()); } catch (IOException e) { e.printStackTrace(); } return null; } Which works.
    2 points
  8. No one will take USD from you
    2 points
  9. What you are doing is a bad idea. onPaint is called many times per second, and in every loop you are re-getting the image from that url. You should only get the image once and store it.
    2 points
  10. hi i have 2 scripts on the sdn, a miner, and a thiever. can i have scripter 1 rank please thank u have good day - ya boy deceiver
    2 points
  11. this made me laugh more than it should have
    2 points
  12. getWidgets().closeOpenInterface(); imo any script is a good place to start. questing scripts are fine to start with if the person understands how to use configs. as for your theory on the bot actions, below are what some bot devs think jagex looks at, not what you're talking about. jagex could probably care less if you click the x to close or not. they're more worried about where you're clicking, how fast you're clicking/reacting, etc. see examples below botlike: humanlike:
    2 points
  13. This is an AIO (All-in-one) bot that has almost every thieving style except blackjack, ask for a free trial by liking thread or making a post! Vyres and elves are now supported! Both can make solid profit per hour, decent passive income! BIG THANK YOU TO ALL OUR SUPPORTERS! WE ARE THE MOST SOLD THIEVING BOT IN OSBOT HISTORY. MOST REPLIES, MOST USERS, LONGEST PROGGIES #1 Thiever | Most Overall Sales | Most Total Replies | Most Results | 7+ Years Maintained | 'the intelligent choice' by Czar NOW SUPPORTS VYRES ONLY SCRIPT ON OSBOT AND OTHER CLIENTS THAT HAS FULL VYRE PICKPOCKETTING WITH SWITCHING. BOT SWITCHES VYRE NOBLE AND ROGUE OUTFIT APPROPRIATELY 224M made in a single sitting of 77 hours ELVES SUPPORTED TOO! (NEW) 2.1m/hr, 6 crystals in 7 hrs 99 THIEVING MANY MANY TIMES, 35M EXP IN ONE BOTTING RUN!! 99 thieving in ~43k xp (12 minutes remaining)! 72 HOUR PROGRESS REPORT! Just got 99 proggy! Gratz to @iz0n THIEVING PET AT LVL 22 FROM TEA STALLS 11.5 HOURS, WITH PET TOO!! 610k/hr getting 99s on deadman worlds!
    1 point
  14. View in store $4.99 for lifetime access Key Features: Supports Bar smelting, Cannonball making and Item smithing Supports all tradeable bars for both smithing and smelting, with support for material-unique items (full list below) Supports the above activities in all locations you would ever want to perform them (full list below) Smart activity-based framework allows you to schedule tasks to be performed in succession (details below) Simple and intuitive start-up interface hosting the activity editor (Optional) Informative, concise, self-generating, recolourable and movable paint tracks useful run-time data (Optional) On-screen movable console logger to notify you exactly what the script is doing at any point in time Smart Gaussian-distribution derived Make-X value generator supporting letter scalar suffixes (Optional) Moves the mouse outside the game screen while idle Utilises the OSBot map web system with obstacle handling for inter-location traversal* (Optional) Ring of forging support for iron smelting ...and many more! *The OSBot web is very reliable however can occasionally (understandably) struggle with longer inter-location distances. As a result, I would highly recommend supervising the script while inter-location transitions take place. Supported Locations: Supported Bars: Bronze [1x tin ore, 1x copper ore] Iron (with & without Rings of forging) [1x iron ore] Silver [1x silver ore] Steel [1x iron ore, 1x coal ore] Gold [1x gold ore] Mithril [1x mithril ore, 4x coal ore] Adamant [1x adamantite ore, 6x coal ore] Runite [1x runite ore, 8x coal ore] Supported Smithing items: All generic material-independant items (e.g platebodies, knives, dart tips, etc...) Material dependant items: Bronze wire (bronze) Iron spit (iron) Oil lantern frame (iron) Studs (steel) Bullseye lantern (steel) Cannonballs (steel) Mith grapple tip (mithril) Activity based framework: The script features a fully-fledged activity system. This system allows you to completely customise each botting session and tailor it to the needs of your account. The system allows for 'activities' to be queued in sequence, whereby when started, the script will proceed to execute and attempt to fulfill each activity in turn. An activity is comprised of two parts - the task and the target. An example of a task may (arbitrarily) be 'Smelting gold bars at Edgeville' and an example of a target may be 'until level 70 Smithing achieved'. Both the task and the target can be fully customised to your needs, then saved and queued to the session activity manager. Task options: Smelting Bars (in a furnace) Making Cannonballs (in a furnace) Forging items (on an anvil) Target options: ... until out of supplies ... until level λ reached ... until λ experience gained ... until λ minutes passed (where λ is some inputted integer value) It is worth noting that by default all tasks are automatically considered complete if insufficient resources to perform the task are present. Setting up: Example paint: Gallery: Credits:
    1 point
  15. Looking for a supplier for lvl 41 miners, can be botted, unregistered emails, thanks. post your price below.
    1 point
  16. sdn still on 1.12 I guess.
    1 point
  17. cause he was being mean about my price
    1 point
  18. It buys the required amount (mostly so that I'm not spending all peoples points if you are trying to save up for something). also the rock cake issue i have fixed and will be updated when the next SDN update is Fixed issues with wanting to bite cant when it cant and also made it flick prayer outside the dream so that you don't get the unwanted hp while entering
    1 point
  19. There's only one quick solution for acne:
    1 point
  20. 1 point
  21. OBBY TANK: 1 att 87 str 77 hp 31 pray 40 def 55 slay 55 range 50 mage Has addy gloves and torso VOID PURE: 42 def 75 att 94 hp 94 str 98 range 95 mage 45 pray 84 slayer 90 smithing All void sets, barrow gloves, fire cape, torso and its skilled so it can do all elite clue steps that dont require pray/def 60 att barrowsguy: 60 att 70 def 90 str 94 mage 95 range: 91 hp 70 pray 80 slay Has barrow gloves, fire cape, torso
    1 point
  22. Script name Khal aio Runecrafter I have just downloaded lots of scripts and would like to try out a premium one too What is your best script in your opinion?
    1 point
  23. Pretty sure hes just Proxies not VPS
    1 point
  24. i just knew some1 would mention it as season2 came out @op New Kids Turbo & New Kids Nitro best movies ever
    1 point
  25. glad to hear nice results, I've been using this bot for goldfarming on fresh accounts to make money for bonds etc. I am basically running at least 10-15 accounts per node, gaining average ~75k/hr across all accounts just from mining iron. The bot works exceptionally better with screen mode than it does with list mode. The only reason I keep list mode there is because some users (even me) can't be bothered to walk to the mining spot, so they just use list mode to get there, then stop script, then switch to screen mode :P
    1 point
  26. got accounts leave ur skype or pm me if intrested
    1 point
  27. 1 point
  28. 1 point
  29. Where's my medal?
    1 point
  30. Script name: AIO Tabmaker (24h) I'm about to buy this script, so I'd like to use the trial to check it out first. ) Thx. (will leave feedback.)
    1 point
  31. may i get a trial please apaec?
    1 point
  32. I think writing your own scripts helps a ton. Rest is just luck and not being a blatant bot.
    1 point
  33. wow idk how you havent gotten banned lol
    1 point
  34. 1 point
  35. Trial please? Also has anyone experienced bans using this?
    1 point
  36. Hey, Czar. May I receive a 24 hour trial? I plan on suiciding it.
    1 point
  37. do you mind sharing the source?
    1 point
  38. Thx man! Thank you all for the support!
    1 point
  39. A unshaved glass wearing 50 year old man.
    1 point
  40. Rite. If it makes them money - they'll change anything about the game. The head of the mining company has had an investment company going iirc so money = king. He wont give a fuck about the integrity of the game.
    1 point
  41. At least we have the decency of saying it and putting it into a single checkbox. I do think it would have been more beneficial for anti-detection to remain silent about it, but we'd rather be upfront about data collection. We can't reveal too much unfortunately. But I can say that no identifying information related to your RS account is sent.
    1 point
  42. Now collects certain data from client to help us improve anti-detection features even more (Can be opted out in launcher's "About" tab). *puts on tinfoil hat*
    1 point
  43. Clearly a cut above the rest.
    1 point
×
×
  • Create New...