Jump to content

Leaderboard

Popular Content

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

  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. ────────────── PREMIUM SUITE ────────────── ─────────────── FREE / VIP+ ─────────────── ──────────────────────────────────────────────────────────── ⌠ Sand crabs - $4,99 | Rooftop Agility - $5,99 | AIO Smither - $4,99 | AIO Cooker - $3,99 | Unicow Killer - £3,99 | Chest Thiever - £2,99 | Rock crabs - $4,99 | Rune Sudoku - $9,99 ⌡ ⌠ AIO Herblore - FREE & OPEN-SOURCE | Auto Alcher - FREE | Den Cooker - FREE | Gilded Altar - FREE | AIO Miner - VIP+ ⌡ ──────────────────────────────────── What is a trial? A trial is a chance for you to give any of my scripts a test run. After following the instructions below, you will receive unrestricted access to the respective script for 24 hours starting when the trial is assigned. Your trial request will be processed when I log in. The trial lasts for 24 hours to cater for time zones, such that no matter when I start the trial, you should still get a chance to use the script. Rules: Only 1 trial per user per script. How to get a trial: 'Like' this thread AND the corresponding script thread using the button at the bottom right of the original post. Reply to this thread with the name of the script you would like a trial for. Your request will be processed as soon as I log in. If i'm taking a while, i'm probably asleep! Check back in the morning Once I process your request, you will have the script in your collection (just like any other SDN script) for 24 hours. Private scripts: Unfortunately I do not currently offer private scripts. ________________________________________ Thanks in advance and enjoy your trial! -Apaec.
    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. this is a story about how i fell in love with maldesto: i really like maldesto because he gave me many chances on osbot, i was a cunt to him to once when i got shown some stuff - i did some bad things but he forgave me, i have seen since that he is a gr8 individual i really like him - my love doesn't die - although he doesn't like me back really good guy, always sees the best in people
    1 point
  16. I love E-Drama, it's really important stuff!
    1 point
  17. Looking for a supplier for lvl 41 miners, can be botted, unregistered emails, thanks. post your price below.
    1 point
  18. There's only one quick solution for acne:
    1 point
  19. Use ring of life bois, just logged in on my baby bot and it was in Lumbridge, thank god I had a RoL. Ranger boots, Robin Hood hat, 4M ca$h stack, 100K ranging guild tickets + 100K bronze arrows risk. Edit: Nvm I'm a retard and didn't read the paint which clearly says that you need to hide the NPC attack options from RS settings.
    1 point
  20. 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
  21. can i req a trial pls mate
    1 point
  22. The script works perfect, used it for birds, falconry and salamanders. You did a great job.
    1 point
  23. got accounts leave ur skype or pm me if intrested
    1 point
  24. 1 point
  25. So I bought this script tonight and I wanted to set it up at Nature Chest in Ardy and have it alch in the downtime. Only problem is is that it will not alch even when i select the option to do so. I've tried typing in the name of item i want to alch as well as entering it's ID. Am I doing anything wrong or is this a bug?
    1 point
  26. 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
  27. any chance i can grab a trial please mate.
    1 point
  28. Would like a trail pls
    1 point
  29. Could I get another, wasn't on and didn't see it get added
    1 point
  30. Hi OP loving the Script the only problem that i have is the lag. It starts to lag when i bot more than 3 hours is it my own computer performance problem? I know that my Laptop is not great ... but is there a way to let it run smoothly for 3 + hours or i have to restart the bot every time ? can't wait for blackjacking
    1 point
  31. - Script name Khal Tutorial Island - trial length few hours - Reason for trial Making a few accounts - Are you ging to give feedback on the script? yes
    1 point
  32. Trial please? Also has anyone experienced bans using this?
    1 point
  33. Hey, Czar. May I receive a 24 hour trial? I plan on suiciding it.
    1 point
  34. Your reputation is on the line when you are selling scripts for gp.
    1 point
  35. do you mind sharing the source?
    1 point
  36. Fair enough! Good luck with your bot, will try upon release!!!
    1 point
  37. Script name - AIO Tabmaker . - trial length - 24h - Reason for trial - Testing my options! - Are you going to give feedback on the script? Yes!
    1 point
  38. Quick and fast order. Friendly staff immediately available in live chat. Very competitive prices.
    1 point
  39. nonetheless the auth system is not there to sell your script for gp. Which is basically bypassing a need for our system.
    1 point
  40. been checking out this website for awhile, looking to buy my first script and get 99 mining? is it possible i can try a free trial please? ty
    1 point
  41. No need to talk right? Just show them what you got ^^
    1 point
  42. Thx man! Thank you all for the support!
    1 point
  43. no please don't do this to yourself.
    1 point
×
×
  • Create New...