Leaderboard
Popular Content
Showing content with the highest reputation on 10/22/17 in Posts
-
1 month x3 VIP giveaways!!!
20 pointsAll you have to do is like this thread and comment. I will be random number generating over the next 24 hours. Good luck my friends. I will be picking 3 people for 1 month VIP! Thanks, Dad Edit: I extended the giveaway, will be handing them all 3 out later today! Sunday night! #40 = @jesenican #63 = @Sikkunt Aaron #4 = @Krysler Number from total likes in order which they liked.20 points
-
๐ Perfect Czar Free Trials & Demos ๐ MOST POPULAR ๐ HIGHEST QUALITY ๐ MOST TOTAL USERS ๐ LOWEST BAN-RATES ๐ 24/7 SUPPORT ๐ SINCE 2015 ๐ MANY SKILLS ๐ MOST VIEWS ๐ MOST REPLIES ๐
๐CzarScripts #1 Bots ๐ ๐ LATEST BOTS ๐ If you want a trial - just post below with the script name, you can choose multiple too. ๐ Requirements ๐ Hit 'like' ๐ on this thread6 points
-
Make All Interface / Widget API
6 pointsWas trying to figure out a good way to do this when I realised selected options dont have any actions, so it was easier than I thought. UtilWidget.java /** * * @author Tom * https://osbot.org/forum/profile/149713-tom/ */ public class UtilWidget { @SuppressWarnings("unchecked") /** * Select the correct mode in the Make All interface * @param i The script instance * @param mode The mode you would like to set it to * @param custom Whether or not the provided option is not a default, e.g. 12 * @return True if it successfully changed the mode or the correct mode was already selected */ public static boolean setSelectedMode(Script i, String mode, boolean custom){ RS2Widget button = i.getWidgets().getWidgetContainingText(270, mode); if(button != null && button.isVisible()) { RS2Widget widg = i.getWidgets().singleFilter(i.getWidgets().getAll(), new WidgetActionFilter(mode)); if(widg != null && widg.isVisible()) { if(widg.interact(mode)) { return true; } }else { return true; } }else { if(custom) { RS2Widget xButton = i.getWidgets().getWidgetContainingText(270, "X"); if(xButton != null && xButton.isVisible()) { if(xButton.interact("Other quantity")) { // Ideally use a custom conditional sleep method, I used this so it works for everyone new ConditionalSleep(2000) { @Override public boolean condition() { RS2Widget textWidget = i.getWidgets().getWidgetContainingText(162, "Enter amount"); return textWidget != null && textWidget.isVisible(); } }.sleep(); if(i.getKeyboard().typeString(mode, true)) { return true; } } } } } return false; } public static RS2Widget getWidget(Script i, String action, String spellName) { RS2Widget widg = i.getWidgets().filter(new WidgetActionFilter(action), new WidgetSpellFilter(spellName)); if(widg != null && widg.isVisible()) { return widg; } return null; } } WidgetActionFilter.java (Credits to @Explv I believe, however I changed it up a bit) public class WidgetActionFilter implements Filter<RS2Widget> { private String filter; public WidgetActionFilter(String filter) { this.filter = filter; } @Override public boolean match(RS2Widget widg) { if (widg == null) { return false; } if (widg.getInteractActions() == null) { return false; } for (String action : widg.getInteractActions()) { if (filter.equals(action)) { return true; } } return false; } } WidgetSpellFilter.java public class WidgetSpellFilter implements Filter<RS2Widget> { private String filter; public WidgetSpellFilter(String filter) { this.filter = filter; } @Override public boolean match(RS2Widget widg) { if (widg == null) { return false; } if (widg.getSpellName() == null) { return false; } return widg.getSpellName().toLowerCase().contains(filter.toLowerCase()); } } Example Usage if(UtilWidget.setSelectedMode(instance, "18", true)){ RS2Widget widget = UtilWidget.getWidget(instance, "Make", "Maple longbow"); if(widget != null){ widget.interact("Make"); } } Another example -- if(UtilWidget.setSelectedMode(instance, "All", false){ RS2Widget widget = UtilWidget.getWidget(instance, "Make", "Maple longbow"); if(widget != null){ widget.interact("Make"); } } For getWidget, if you are unsure what the action and spell name are, this should help. The action is String, And the Spell name is Longbow Wasn't tested much, but worked with what I was doing Edit: Updated and added another part for grabbing the right crafting icon6 points
-
Looking for a trusted user to run our twitter!
I would be happy to do this - I'm a daily user, and I can easily make posts related to RuneScape, botting, etc. that will be funny and interest future users. I'm well-known, and have been on here for over a year. Anyone on this website would say that I am trusted enough to do this.5 points
-
Amount Widget API
3 pointsI blinked, then.. Version 2 Example code: public class Test extends Script { AmountAPI amount; RS2Widget vambracesButton; RS2Widget chapsButton; RS2Widget bodyButton; RS2Widget superCombatButton; @Override public void onStart() throws InterruptedException { amount = new AmountAPI(); amount.exchangeContext(bot); amount.initializeModule(); } @Override public int onLoop() throws InterruptedException { if (amount.isValid()) { vambracesButton = amount.getButton("Green d'hide vamb"); chapsButton = amount.getButton("Green d'hide chaps"); bodyButton = amount.getButton("Green d'hide body"); superCombatButton = amount.getButton("Super combat potion(4)"); } else { // open the interface... } return 250; } } Functions: public Map<ItemDefinition, RS2Widget> getItemButtons() public RS2Widget getButton(int... itemIds) public RS2Widget getButton(int itemId) public RS2Widget getButton(String... itemNames) public RS2Widget getButton(String itemName) public RS2Widget getButton(Predicate<ItemDefinition> itemDefinitionFilter) public RS2Widget getButton(ItemDefinition itemDefinition) public boolean isVisible() public boolean isValid() private Map<ItemDefinition, RS2Widget> findItemButtons() private boolean isRootOf(RS2Widget widget) private RS2Widget findAmountWidget() private static ItemDefinition getItem(RS2Widget parent) private static int getItemId(RS2Widget parent) private static RS2Widget getItemIdWidget(RS2Widget parent) private static boolean isItemIdValid(RS2Widget child) private static boolean isWidgetMakeAction(RS2Widget child) Source: V1 Source3 points
-
must read
3 pointsHe will refund anyone and everyone who got scammed. Post a dispute so we know how much that is.3 points
-
๐ฅ KHAL SCRIPTS TRIALS ๐ฅ HIGHEST QUALITY ๐ฅ BEST REVIEWS ๐ฅ LOWEST BANRATES ๐ฅ TRIALS AVAILABLE ๐ฅ DISCORD SUPPORT ๐ฅ ALMOST EVERY SKILL ๐ฅ CUSTOM BREAKMANAGER ๐ฅ DEDICATED SUPPORT
2 points
- APA Script Trials
2 pointsโโโโโโโโโโโโโโ 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.2 points- Perfect Fisher AIO
2 pointsby Czar Buy now (only $8.99!) 143 HOURS IN ONE GO!!!!! update: this bot is now featured on the front page of osbot! More reviews than every other fishing bot combined! 100 hour progress report!!! How to use Script Queue: ID is 552, and the parameters will be the profile name that you saved in setup! This process is really simple, just to save you headache2 points- Khal Motherlode
2 pointsWant to buy with OSGP? Contact me on Discord! Detailed feature list: - Supports mining every location in motherlode (Also top level) - Pick areas to mine in or use specific veins to mine - Included leveling you from 1-30 before going to motherlode - Pickaxe upgrading - Pickaxe special attack - Can use diary and agility shortcuts - Avoid other players option - Possible to enable the upgraded sack extension - Depositbox instead of bank option - Humanlike idles and interactions - Option to buy coal bag at 100 golden nuggets and stop script - CLI support for goldfarmers Custom Breakmanager: - Setup Bot and break times - Randomize your break times - Stop script on certain conditions (Stop on first break, Stop after X amount of minutes, Stop when skill level is reached) - Worldhopping - Crucial part to botting in 2023! Script queueing: - Support queueing multiple script in a row - All Khal scripts support flawless transitions in between scripts - Start creating your acc in a few clicks from scratch to multiple 99's - Flawless CLI support - Learn more here: How to use CLI parameters: - Example Usage: -script 612::ScriptFile.BreakFile.DiscordFile SAVEFILE = Saved Filename BREAKFILE = Breakmanager Filename - SAVEFILE: Save file can be created in the GUI. Navigate to the tab you want to run and press "Save As CLI file". Please choose your filename wisely (No special characters) - BREAKFILE (Optional): Breakfile can also be create in the GUI, set the breaksettings you wish to use and press "Save new CLI BreakFile". Please choose your filename wisely (No special characters) - Final form (Note that with some bot managers you do not need to specify -script 612): -script 612:TaskList1.4515breaks (With breaks) -script 612:TaskList1.4515breaks.discord1 (With breaks & discord) -script 612:TaskList1..discord1 (NO breaks & discord) Proggies:2 points- APA Sand Crabs
2 pointsBefore buying, please ensure you check-out with the correct script. Swapping scripts is not possible. View in store $4.99 for lifetime access Features: All spawns - Supports every multi-crab spawn point both along the south coast of Zeah and Crab Claw Isle All combat styles - Supports Ranged, Magic and Melee combat training. The script will not bank runes of any type Saving GUI - Intuitive, re-sizeable and fully tool tipped GUI (Graphical User Interface) allowing you to tailor the script session to your needs, with configuration saving / loading Human replication - Designed with human simulation in mind - multiple options to replicate human behaviour available in the GUI Setup customiser - Inventory customiser allows you to visually see your trip setup CLI support - The script can be started from the command line All potions - Supports all relevant potion types (including divine potions!), multiple potion types simultaneously and varying potion ratios Healing in a range - Dual slider allows you to specify a range within which to consume food. Exact eat percentages are calculated using a Gaussian distributed generator at run time Healing to full at the bank - When banking, the script will eat up to full hit points to extend trip times Safe breaking - Working alongside the OSBot break manager, the script will walk to safe place approximately two minutes before a break starts to ensure a successful log out Anti-crash - Smart crash detection supports multiple anti-crash modes (chosen in the GUI): Hop worlds if crashed - the script will walk to a safe place and hop worlds until it finds a free one, at which point it will resume training Force attack if crashed - the script will fight back and manually fight pre-spawned sand crabs until the crasher leaves Stop if crashed - the script will walk to a safe place and stop Ammo and Clue looting - Clue scroll and Ammo looting system based on a Gaussian-randomised timing scheme All ammo - Supports all OSRS ammo types and qualities Spec activation - Special attack support for the current weapon to maximise your exp per hour Auto-retaliate toggling - The script will toggle auto-retaliate on if you forget Move mouse outside screen - Option to move the mouse outside the screen while idle, simulating an AFK player switching tabs Refresh delay - Option to add a Gaussian-randomised delay before refreshing the chosen session location, simulating an AFK player's reaction delay Visual Paint and Logger - Optional movable self-generating Paint and Timeout Scrolling Logger show all the information you would need to know about the script and your progress Progress bars - Automatically generated exp progress bars track the combat skills that you are using Web walking - Utilises the OSBot Web alongside a custom local path network to navigate the area. This means the script can be started from anywhere! Safe banking - Custom banking system ensures the script will safely stop if you run out of any configured items Safe stopping - Safely and automatically stops when out of supplies, ammo or runes Dropping - Drops useless/accidentally looted items to prevent inventory and bank clutter All food - Supports pretty much every OSRS food known to man. Seriously - there's too many to list! ... and many more - if you haven't already, trial it! Things to consider before trying/buying: Mirror mode - currently there appear to be some inconsistencies with behaviour between Mirror mode and Stealth Injection meaning the script can behave or stop unexpectedly while running on Mirror. I would urge users to use the script with Stealth Injection to ensure a flawless experience! Since Stealth Injection is widely considered equally 'safe' to mirror mode and comes with a host of other benefits such as lower resource usage, this hopefully shouldn't be a problem. Using breaks - the script supports breaks and will walk to a safe place ready to log out approximately two minutes before a configured break starts. However, upon logging back in, your spot may no longer be open. If you configure the crash mode to be either 'Hop if crashed' (default) or 'Stop if crashed', this will not prove to be a problem. However if using 'Force attack if crashed', the script will attempt to take back the spot by crashing the occupying player and manually attacking spawned sand crabs. Be aware that players have a tendency to report anti-social behaviour such as this! Avoiding bans - while I have done my utmost to make the script move and behave naturally, bans do occasionally happen, albeit rarely. To minimise your chances of receiving a ban, I would strongly suggest reviewing this thread written by the lead content developer of OSBot. If you take on board the advice given in that thread and run sensible botting periods with generous breaks, you should be fine. That being said, please keep in mind that botting is against the Oldschool Runescape game rules, thus your account will never be completely safe and you use this software at your own risk. Setting the script up - I have done my best to make the GUI (Graphical User Interface) as intuitive as possible by making all options as self explanatory as I could, however if you are not sure as to what a particular setting does, you can hover over it for more information. If that doesn't help, just ask on this thread! Web-walking - alongside a network of paths, the script moves around with the OSBot web-walking system, using it when in unknown territory. While it has proven very reliable, there are naturally some areas for which the web-walker may struggle. As a result, prior to starting the script, I would highly recommend manually navigating your player close to the sand crabs bank, however in practice, anywhere on Zeah should be fine. Script trials: I believe that trying a script before buying is paramount. After trying the script, hopefully you will be convinced to get a copy for yourself, but if not you will have gained some precious combat experience! If you're interested in a trial, please follow the instructions on my trials thread which can be found here. Gallery: Start up GUI (Graphical User Interface): Paint (optional, movable and self-generating): User screenshots: Recent Testimonials: Starting from CLI: This script can be started from the command line interface. There is a single parameter, which can take two (and only two) values: 'gui' or 'nogui'. 'gui' will start the script and show the gui, 'nogui' will skip the GUI setup and start the script using your save file as the configuration. To start from CLI with 'nogui', the script requires a valid GUI save file to be present - if you haven't already, start the script manually and configure the GUI to suit your needs. Then hit 'Save configuration' and in future starting from CLI will use these configured settings. The script ID is 886. Example CLI startup: java -jar "osbot 2.4.137.jar" -login apaec:password -bot apaec@example.com:password:1234 -debug 5005 -script 886:nogui2 points- Khal AIO Tabmaker
2 pointsWant to buy with OSGP? Contact me on Discord! Detailed feature list: - Supports all Normal and Lunar tablets - Supports all lecterns - Multiple Banking-butler methods Rimmington - Unnote clay Edgeville banking - Mounted glory Castle wars banking - Ring of dueling Butler (Advised option for max profits) Demon butler (Note when using butler, have Noted soft clay and coins in your inventory) - When NOT using a butler Use a friends house by name Use the advertisement house Use your own house - Worldhopper - CLI support for goldfarmers Custom Breakmanager: - Setup Bot and break times - Randomize your break times - Stop script on certain conditions (Stop on first break, Stop after X amount of minutes, Stop when skill level is reached) - Worldhopping - Crucial part to botting in 2023! Script queueing: - Support queueing multiple script in a row - All Khal scripts support flawless transitions in between scripts - Start creating your acc in a few clicks from scratch to multiple 99's - Flawless CLI support - Learn more here: How to use CLI parameters: - Example Usage: -script 671:ScriptFile.BreakFile.DiscordFile SAVEFILE = Saved Filename BREAKFILE = Breakmanager Filename - SAVEFILE: Save file can be created in the GUI. Navigate to the tab you want to run and press "Save As CLI file". Please choose your filename wisely (No special characters) - BREAKFILE (Optional): Breakfile can also be create in the GUI, set the breaksettings you wish to use and press "Save new CLI BreakFile". Please choose your filename wisely (No special characters) - Final form (Note that with some bot managers you do not need to specify -script 671): -script 671:TaskList1.4515breaks (With breaks) -script 671:TaskList1.4515breaks.discord1 (With breaks & discord) -script 671:TaskList1..discord1 (NO breaks & discord)2 points- Excellent Smithing [Maintenance Only]
Due to recent reviews of trial abuse, I will not be activating trials in any script I provide. The bug report template is there to provide support for my script. Thank you for understanding. Latest Update: v5 10/12/19 [MM, DD, YYYY] Purchase Here: CLI Information: Features: Smelts mode: Ores -> Bars (Bronze - Runite) Smith mode: Bars -> Items (Bronze - Runite) Cannonball mode: Bars -> Cannonballs (Steel Bars) Tool Retrieval: Grabs (Hammer or Ammo Mould) if your inventory does not contain one. Optional: Ring of forging support. (Rings of forging must be visible in bank.) Multiple locations with their respective banks. Supports new smithing interfaces with Make all keyboard input. Media:2 points- Scam Report/Dispute against javidamme
25m refunded will start tomorrow the service for d defender void and regicide for free2 points- PC ON Stealth quester quests
2 points2 points- NMZ bot super laggy when it goes into NMZ
If npcs.closest returns null, and you try to call interact on it, it will throw this error. Null check it! i.e target = npcs.closest("Elvarg"); if (target!=null && target.interact("Attack")) { // do stuff } Also, when you post code, please use the provided code formatting tool in the reply box; so that it's (more) readable. There are a host of other improvements that can be made on your code; but soon enough you will find these out when your script misbehaves! GL! Apa2 points- Looking for a trusted user to run our twitter!
2 points- Looking for a trusted user to run our twitter!
2 points- Scam Report/Dispute against javidamme
Ill try to refund him today im now rebooting my pc fully will also make a new skype etc ill keep you guys update2 points- Scam Report/Dispute against javidamme
yes ill be happy to refund if somthing gots stolen also if u lost ur untreables like void fcape torso etc i would like to get them back for you for free. also how i get rid of twc or is it forever?2 points- Perfect Runecrafter AIO
1 pointThe only Runecrafting bot you will need Purchase this INSANE bot here You can setup a master account (preferably your main account, can be any account) and a worker account (a throwaway bot account, or any account) will trade the master account and go to bank to get more runes etc. The main account (master) does not need to bot, and can be achieved through the normal RS client without a bot client. Supports: Air runes (1) (normal) & (abyss) Mind runes (2) (normal) & (abyss) Water runes (5) (normal) & (abyss) Earth runes (9) (normal) & (abyss) Mud runes (13) (earth altar) Lava runes (23) (fire altar) Fire runes (14) (normal) & (abyss) Body runes (20) (normal) & (abyss) Cosmic runes (27) (normal) & (abyss) Chaos runes (35) (normal) & (abyss) Astral runes (40) (normal) & (abyss) Nature runes (44) (normal) & (abyss) Law runes (54) (normal) & (abyss) Blood runes (abyss) & (zeah) Auto Arceuus Favour Solver Gets 100% arceuus favour for you Auto GE Restocking Sells runes, buys more supplies automatically Auto-equips chosen armour/robes Use Blood Essences Death Handler gets items from Death's office and repeats (Abyss) Glory mode, ferox mode, house spell/tabs Avoids pkers and hops worlds Uses mouse invokes for quicker runecrafting (stealth) Muling (BETA) will give money to your mules every X hours or profit Creates colossal pouch if you have the needle Results and screenshots1 point- Khal AIO Agility
1 pointWant to buy with OSGP? Contact me on Discord! Detailed feature list: - Supports all rooftops (Draynor, Al-Kharid, Varrock, Canafis, Falador, Seers, Polivneach, Relekka, Ardougne) - Supports most courses (Gnome stronghold, Shayzien basic, Barbarian stronghold, Ape toll, Varlamore basic, Wilderness (Legacy), Varlamore advanced, Werewolf, Priffddinas) - Supports Agility pyramid - All food + option to choose when to eat - (Super) Energy potions + Stamina potions support - Progressive course/rooftop option - Waterskin support - Option to loot and sell pyramid top - CLI support for goldfarmers Custom Breakmanager: - Setup Bot and break times - Randomize your break times - Stop script on certain conditions (Stop on first break, Stop after X amount of minutes, Stop when skill level is reached) - Worldhopping - Crucial part to botting in 2023! Script queueing: - Support queueing multiple script in a row - All Khal scripts support flawless transitions in between scripts - Start creating your acc in a few clicks from scratch to multiple 99's - Flawless CLI support - Learn more here: How to use CLI parameters: - Example Usage: -script 463:ScriptFile.BreakFile.DiscordFile SAVEFILE = Saved Filename BREAKFILE = Breakmanager Filename DISCORDFILE= discordSettings Filename - SAVEFILE: Save file can be created in the GUI. Navigate to the tab you want to run and press "Save As CLI file". Please choose your filename wisely (No special characters) - BREAKFILE (Optional): Breakfile can also be create in the GUI, set the breaksettings you wish to use and press "Save new CLI BreakFile". Please choose your filename wisely (No special characters) - Final form (Note that with some bot manager you do not need to specify '-script 463'): -script 463:TaskList1.4515breaks (With breaks) -script 463:TaskList1.4515breaks.discord1 (With breaks & discord) -script 463:TaskList1..discord1 (NO breaks & discord, leave 2nd parameter empty) Proggies:1 point- Perfect Woodcutter
1 pointNEW: Released Chop & Firemake plugin Added 8 Forestry events!!!!!!!! Easy 99, Next! Map Chooser System Progress Results! Help How to use this with Bot Manager? Script ID is 631, and the parameters will be the profile you saved in the setup window, e.g. oak15.txt I want a new feature added? Make a post below and I am always listening, within reason! The bot is doing something I don't like? Make a post below and I will adjust the code to match your play style!1 point- A Beginners Guide to Writing OSBot Scripts (where to get started!) by Apaec
This tutorial will cover everything required to write your own OSBot scripts. Although it is quite lengthy, don't let this put you off - it shouldn't take more than a couple of hours to follow through, at the end of which you will have learned the scripting basics and will have your very own tea thieving script which you can modify to your liking. Good luck! Previous required knowledge: None Knowledge of basic java helps but is not required! What this guide covers: Downloading your code editor (IDE) Basic programming concepts A quick guide to java Writing a script with the OSBot API Running your script Downloading Eclipse: Setting up your project: Language basics: Java basics: Script backbone: Compiling the script: Writing the script: Best practices and conventions: Completed Tea thieving source code: That's the end of this tutorial, hopefully it was useful and concise enough. As I mentioned earlier, remember to ask LOTS OF QUESTIONS! Also remember that google is your friend! ? Although it may seem OSBot scripting is a niche use of java, many questions can translate to more widely adopted counterparts - use this to your advantage. If you have any questions do not hesitate to post as a reply below. Since I follow this thread, I will receive a notification if you do and will do my best to get back to you ASAP! - Apaec1 point- Make All Interface / Widget API
1 pointgood job tom, this new interface actually did a favor for scripters edit: WidgetSpellFilter constructor is wrong, you made a typo1 point- Struggling with a bit of logic
1 pointwell they try something like this: Define your hashmap private HashMap<String, Area> miningLocationsMap = new HashMap<String, Area>(); Add values to the map in the onstart miningLocationsMap.put("Varrock", new Area(0,0,0,0)); etc.... and finaly, define your mining location: String locationString = skillgui.getArea(); Area miningLocation = miningLocationsMap.get(locationString);1 point- NMZ bot super laggy when it goes into NMZ
Check the logger, you are probably getting a nullPointer or something. Check it and post it here1 point- Looking for a trusted user to run our twitter!
1 point- 1 month x3 VIP giveaways!!!
1 pointI extended the giveaway, will be handing them all 3 out later today!1 point- [CHEAP SERVICES] Cheapest services on the market
This is to confirm I have received 11.5M refund from @javidamme To be honest, I think he is a really chill and friendly guy when he did my first service. His service is fast and he provides updates whenever he could. This is also the reason why I paid him a future deposit for his service. At first, I do not believe he is hacked and thought he was just quit scamming.However, after seeing the efforts that he has made to compensate for losses and scams that he did not engage in, I believe the community should give him a second chance . Like me, he is just an unfortunate victim that has his Skype and other important accounts stolen. The Javidamme that we used to deal with does not change. He could just quit the community and left everything as it is. But he did not and take the responsibility of recouping our losses. I would sincerely ask the community to give him a second chance and I would be working with him closely to provide opportunities for him to build up his reputation. I also hope that you guys could shed some light on how the scammer were able to hack his skype and all important accounts and help others to prevent similar tragedies happened again.1 point- [Zulrah] Making my first bot farm since 2013 [Progress, pictures]
Nice man, how r you planning on training magic? I myself used @Night his VIP magic script, to stun alch and got from 55 to 81 magic no problem.1 point- Scam report/ Dispute against Javidamme
first order i completed and ive never scammed also i made a topic that i dont have controll of my skype anymore and i changed my skype in my service thread this is the last person that i will refund otherwise i can refund 1B+ while i did nothing1 point- [Zulrah] Making my first bot farm since 2013 [Progress, pictures]
Well your not really right. When your botting zulrah mystics is really average for quick kills and you only need 70 defence for ahrims which is easy so might as well get it. Also if your only getting 40-50 defence and saying that "strength levels are no needed" where is your hp coming from? because low hp is annoying during zulrahs mage phase and then on top of that you want to be wearing some low tier armour with low defence? Falador rooftop is like 26k xp an hour so if he wants to get more agility levels for regicide and underground pass or for them not to be all the same level its not that 'inefficient'. Most people use different zulrah account builds and everyone has their preference, like i think void is ass for zulrah but some people really like it so i understand this might be your preferred way to make it but your way isn't near the most 'efficient'.1 point- Does the bot intentionally double click for no reason?
Lol brah you're arguing with people that are scripter rank. Look into implementing sleeps cause obviously your code isn't working the way you intend.1 point- Fruity Barrows (Frost Barrows)
1 point- must read
1 point- Amount Widget API
1 point- Amount Widget API
1 point- Scam Report/Dispute against javidamme
also bostsin id u trade the money so yes what was the rsname?1 point- Scam Report/Dispute against javidamme
hello i can explain evrything my accounts got hacked skype osbot and also on p****bot i can show my email adress to confirm also waiting on skype assistance to answer since i cant get on my skype anymore the player who did the well the only one who could is setyaname1 point- Doing Questing Services/Skilling and MINIGAMES!!!
Currently talking to you about these quests Another Slice of H.A.M. - 2m Wanted! - 1.75m Recruitment Drive - 1m Slug Menace - 1.2m1 point- Stealth Quester
1 pointSTAMINA SUPPORT ADDED, AND NEW QUESTS!!!!! I LOVE THIS GUY! Great update, thanks daddy ???1 point- Fruity Barrows (Frost Barrows)
1 pointVery nice script from the trial! will definitely be buying it soon! keep up the good work!1 point- APA Sand Crabs
1 point- Fruity Barrows (Frost Barrows)
1 pointDo you do trials on this script? i am interested in purchasing it but want to see how well it runs and how safe it is. Thank you1 point- Stealth Quester
1 pointThanks for the update @Token! Tree Gnome Village, Mountain Daughter and Client of Kourend all happened flawlessly for me! Looking forward to new additions1 point- APA AIO Cooker
1 pointUPDATE! Version 3.10 Fixed interface interactions to be in line with recent OSRS changes The script will select the 'All' option unless already selected Slightly adjusted cooking interaction logic Edit: Just pushed version 3.11 - I fixed a couple of issues with menu handling for cooking raw meats on fires instead of stoves; it seems some of the menus differ. The updates will merge and go live together. Please allow up to 24 hours for the developers to verify the update and push it live. Apa Please refer to post above!1 point- Looting Script Help!
1 pointFirstly I am not sure that your script even works? You have created a variable GroundItem arrows; And you set its value to the closest arrows ground item: this.arrows = (GroundItem)this.groundItems.closest(new String[]{"Adamant arrow"}); You only need to use this. to refer to a variable in the current class, if there is another variable in the method with the same name. I am not sure why you are casting to GroundItem here because the method already returns a GroundItem. I am also not sure why you are using a String[] with one value, rather than just using a String. Perhaps you decompiled this from someone else's script? You then only pick up these arrows if there are < 25 of them: if(this.arrows.getAmount() <25 && this.arrows != null ...) Which will also throw a NullPointerException by the way, as you are calling getAmount() before checking if it is null. Finally, you walk to the bank when the amount of arrows on the ground is >= 100: if (this.arrows.getAmount() >= 100) getWalking().webWalk(edgevilleBank); I also don't understand why you are always web walking to the bank. You only need to do that if you are not already in the bank. The web walking may also fail, which will lead to your calls to getBank().open() etc. throwing errors. You are also not sleeping after calling getBank().open or after taking the arrows, which will result in a lot of spam clicking. None of this code makes any sense, and I would be surprised if it has been working at all for you. What you really want to be doing, is checking how many arrows you have in your Inventory. If you have more than 100 arrows in your inventory, the you want to bank. If there are any amount of arrows on the ground, then you want to pick them up. With regards to walking to find arrows, you can just web walk to random positions within the area you created, and stop walking if there are arrows on the ground. I have written an untested example and have added comments to it, to try and show you how this could be done: import org.osbot.rs07.api.map.Area; import org.osbot.rs07.api.map.Position; import org.osbot.rs07.api.map.constants.Banks; import org.osbot.rs07.api.model.GroundItem; import org.osbot.rs07.api.webwalk.INodeRouteFinder; import org.osbot.rs07.event.WebWalkEvent; import org.osbot.rs07.script.Script; import org.osbot.rs07.script.ScriptManifest; import org.osbot.rs07.utility.Condition; import org.osbot.rs07.utility.ConditionalSleep; import java.awt.*; import java.io.BufferedReader; import java.io.InputStreamReader; import java.net.URL; import java.net.URLConnection; import java.util.Optional; @ScriptManifest(author = "Explv", name = "Adamant Arrow Wildy Looter", info = "Loots adamant arrows in the Wilderness", version = 0.1, logo = "") public class WildyLooter extends Script { // This is an enum of all the possible states of the script private enum State { FIND_LOOT, LOOTING, BANKING, WALKING_TO_WILDERNESS, WALKING_TO_BANK } private final Area wilderness = new Area(3070, 3527, 3100, 3548); private final int adamantArrowID = 890; private int adamantArrowPrice = -1; private long prevArrowCount; // Stores the amount of arrows in the inventory private long arrowCounter; // Stores the amount of arrows collected private long startTime; /* The INoderouteFinder is what web walking uses to find routes, you need to create one of these to use custom web walking events. Only create this ONCE, it is very expensive to create. */ private INodeRouteFinder routeFinder; @Override public void onStart() { // When the script starts, an instance of INodeRouteFinder is created, for the custom web walk event routeFinder = INodeRouteFinder.createAdvanced(); // When the script starts, set the prevArrowCount to the amount of arrows in the inventory prevArrowCount = getInventory().getAmount("Adamant arrow"); startTime = System.currentTimeMillis(); adamantArrowPrice = getPrice(adamantArrowID); // get the price of adamant arrows } @Override public int onLoop() throws InterruptedException { // This line makes sure that the route finder is created, before we continue with the script if (routeFinder == null) return 100; /* A switch statement, is just like having multiple if else statements, where we are only checking the value on one variable */ switch (getState()) { // get the result of the getState() method case FIND_LOOT: findLoot(); // when the value is FIND_LOOT, call the findLoot() method (random walk) break; case LOOTING: loot(); // when the value is LOOTING, call the loot method (pick up arrows) break; case BANKING: bank(); // when the value is BANKING, perform the banking break; case WALKING_TO_WILDERNESS: // TODO: I'm not sure that web walking to the wilderness will even work, you may need to make a custom method for this getWalking().webWalk(wilderness); break; case WALKING_TO_BANK: getWalking().webWalk(Banks.EDGEVILLE); break; } return random(200, 300); } // This method returns what State the script is in at the current point in time. private State getState() { // If there are at least 100 Adamant arrows in the inventory if (getInventory().getAmount("Adamant arrow") >= 100) { // If we are in the bank, then perform banking, otherwise, walk to the bank return Banks.EDGEVILLE.contains(myPosition()) ? State.BANKING : State.WALKING_TO_BANK; } // We do not have 100 Adamant arrows in the inventory so: // If the player is not in the wilderness, walk there if (!wilderness.contains(myPosition())) return State.WALKING_TO_WILDERNESS; // If there are Adamant arrows on the ground, pick them up if (getGroundItems().closest("Adamant arrow") != null) return State.LOOTING; // There are no Adamant arrows on the ground, so randomly walk until we find some return State.FIND_LOOT; } // This method randomly walks around the wilderness, looking for arrows private void findLoot() { // Here we try and get a Position which is inside the wilderness area, and at least 20 tiles from the player final Optional<Position> randomDestination = wilderness.getPositions().stream().filter(position -> getMap().distance(position) >= 20).findAny(); // If we found a position that is at least 20 tiles away if (randomDestination.isPresent()) { // Create a custom WebWalkEvent, using the routefinder we created, and with the position as its destination final WebWalkEvent webWalkEvent = new WebWalkEvent(routeFinder, randomDestination.get()); // Set the break condition of the event to stop walking when there are Adamant arrows on the ground webWalkEvent.setBreakCondition(new Condition() { @Override public boolean evaluate() { return getGroundItems().closest("Adamant arrow") != null; } }); // Start web walking execute(webWalkEvent); } } // This method picks up Adamant arrows from the ground private void loot() { // Find the closest Adamant arrows final GroundItem adamantArrows = getGroundItems().closest("Adamant arrow"); // If we found some, and we successfully perform the interaction "Take" if (adamantArrows != null && adamantArrows.interact("Take")) { // Sleep for 5 seconds or until the arrows no longer exist (Either we picked them up, or someone else did) new ConditionalSleep(5000) { @Override public boolean condition() throws InterruptedException { return !adamantArrows.exists(); } }.sleep(); updateArrowCount(); // Update the arrow counter } } // This method updates the arrow counter; private void updateArrowCount() { long arrowInvcount = getInventory().getAmount("Adamant arrow"); arrowCounter += (arrowInvcount - prevArrowCount); prevArrowCount = arrowInvcount; } // This method performs the banking private void bank() throws InterruptedException { if (!getBank().isOpen()) openBank(); // If the bank isn't open, open it else if(!getInventory().isEmpty() && getBank().depositAll()){ // Otherwise, the bank is open, so deposit everything prevArrowCount = 0; // Reset inventory arrow amount to 0 (we just deposited them) } } // Custom method for opening the bank (with a sleep to avoid spam clicking) private void openBank() throws InterruptedException { // If we successfully performed the open bank interaction if (getBank().open()){ // Sleep for 5 seconds, or until the bank is open new ConditionalSleep(5000) { @Override public boolean condition() throws InterruptedException { return getBank().isOpen(); } }.sleep(); } } @Override public void onPaint(final Graphics2D g) { Font font1 = new Font("Arial", 0, 12); Color color1 = new Color(255, 255, 255, 255); g.setFont(font1); g.setColor(color1); g.drawString("Runtime: " + formatTime(System.currentTimeMillis() - startTime), 8, 335); g.drawString("Arrows collected: " + arrowCounter, 8, 350); if (adamantArrowPrice > -1) { g.drawString("Arrow price: " + adamantArrowPrice, 8, 370); g.drawString("Profit: " + formatValue(adamantArrowPrice * arrowCounter), 8, 390); } } // Converts ms to a timestamp private String formatTime(long ms){ long s = ms / 1000, m = s / 60, h = m / 60, d = h / 24; s %= 60; m %= 60; h %= 24; return d > 0 ? String.format("%02d:%02d:%02d:%02d", d, h, m, s) : h > 0 ? String.format("%02d:%02d:%02d", h, m, s) : String.format("%02d:%02d", m, s); } // Converts a value to m or k private String formatValue(long v){ return (v > 1_000_000) ? String.format("%.2fm", (double) (v / 1_000_000)) : (v > 1000) ? String.format("%.1fk", (double) (v / 1000)) : v + ""; } // Gets the price of an item from the rsbuddy api private int getPrice(int id){ try { URL url = new URL("http://api.rsbuddy.com/grandExchange?a=guidePrice&i=" + id); URLConnection con = url.openConnection(); con.setUseCaches(true); BufferedReader br = new BufferedReader(new InputStreamReader(con.getInputStream())); String[] data = br.readLine().replace("{", "").replace("}", "").split(","); return Integer.parseInt(data[0].split(":")[1]); } catch(Exception e){ log(e); } return -1; } @Override public void onExit(){ routeFinder = null; } } An explanation of this: If there are at least 100 Adamant arrows in the inventory: If the player is in the bank: If the bank is not open: Attempt to open it Sleep until it is open Else: Deposit everything Else: Walk to the bank Else if the player is not in the wilderness: Walk there Else if there are any Adamant arrows on the ground: Attempt to take them Sleep until the arrows no longer exist Else: Randomly walk until there are some Adamant arrows on the ground1 point - APA Script Trials