Leaderboard
Popular Content
Showing content with the highest reputation on 05/21/19 in all areas
-
CURRENT RECORD: 201 HOURS RUNTIME NEW: Sandstone mining + hopper support Humidify/water circlet/bandit unnote Ardy cloak tele support Setup Screen Preview Results 84 HOURS ON NEW LEVEL 20 ACCOUNT Suicided account with mirror mode near rock crabs, 81 mining! I will probably go for 99 Even supports Ancient Essence Crystal mining! Preview: Mine 1 drop 1 item drop pre-hover feature:2 points
-
2 points
-
Your changes: When I said conditional, I meant more that only one line would run with any given onLoop iteration. The reason for this is that the API interacts with the live game - you cannot expect any API call to return successfully every time and as a result chained API calls which depend on one another (for example, opening the bank and then depositing an item) can fail. This is relevant in your code - you are calling getWalking#webWalk and immediately after you are interacting with the altar. What if the walking failed (for whatever reason)? Then you wouldn't be in range of the altar and the script would be stuck. Null checking: As for null checking, at the moment you are grabbing and interacting with the game objects as follows: getObjects().closest("Altar").interact("Craft-rune"); This is fine if getObjects().closest("Altar") always returned a game object, however this is not the case. If closest did not find any object matching your filter, it will simply return null, at which point you are calling 'interact' on null which will result in a Null-pointer error (for obvious reasons). Instead, do something like this: private boolean someMethod() { RS2Object altar = getObjects.closest("Altar"); return altar != null && altar.interact("Craft-rune"); } Sleeps: Again, the script is interacting with a live game, so there are all sorts of barriers between your script and game state. One of these is latency, fluctuations in which mean timing in your script is never going to be perfect. As a result, adding random sleeps here and there gives a false sense of security. Instead, to prevent bans, focus on making your script as reliable as possible, and then use the script carefully and keep a low profile. If you do add any randomisation, doing so in interaction timing is probably not the place. To make the script reliable, conditional sleeps are needed to retry actions only when needed, as well as to maximise script responsiveness (minimise the time the script spends sleeping, and maximise the time it is aware of game state). Stick with conditional sleeps --------------------- Good luck! -Apa Edit: Also, as @ProjectPact mentioned, avoid while loops. Why would you need a while loop if you already have a perfectly good one: onLoop()?2 points
-
NEW: 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
-
So basically I've decided to start creating my own script for personal use, very basic script to Runecraft air runes, let me know what you think/any general improvements moving forwards, thanks. 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.script.Script; import org.osbot.rs07.script.ScriptManifest; @ScriptManifest(author = "Jashy", info = "Air Runecrafter - First Script.", logo = "", version = 0.1, name = "Air Runecrafter") public final class Air extends Script { private final Area AIR_ALTAR = new Area(2989,3295,2982,3289); private final Area AIR_RUNES = new Area(2839, 4826, 2849, 4840); @Override public final int onLoop() throws InterruptedException { if (hasPureEssense()) { runecraft(); } else { bank(); } return random(2500, 4000); } private void runecraft() throws InterruptedException { if(!AIR_ALTAR.contains(myPosition())) { getWalking().webWalk(new Position(2987, 3294, 0)); sleep(random(2500, 4000)); useAltar(); sleep(random(2500, 4000)); } craftRunes(); sleep(random(3500, 5000)); } private boolean hasPureEssense() { return getInventory().contains("Pure essence"); } private boolean useAltar() { return getObjects().closest("Mysterious ruins").interact("Enter"); } private boolean craftRunes() { return getObjects().closest("Altar").interact("Craft-rune"); } private boolean usePortal() { return getObjects().closest("Portal").interact("Use"); } private void bank() throws InterruptedException { //Added this in case script was started inside air runes area. while(AIR_RUNES.contains(myPosition())) { usePortal(); sleep(random(1500, 2500)); } if (!Banks.FALADOR_EAST.contains(myPosition())) { getWalking().webWalk(Banks.FALADOR_EAST); } else if (!getBank().isOpen()) { getBank().open(); sleep(random(2000, 3000)); } else if (!getInventory().isEmptyExcept("Pure essence")) { getBank().depositAll(); sleep(random(2000, 3000)); } else if (getBank().contains("Pure essence")) { getBank().withdrawAll("Pure essence"); sleep(random(2000, 3000)); } else { stop(true); } } }1 point
-
1. Stealth Injection or Mirror Mode: Mirror mode2. Logger contents (press "Settings" on top right corner of the client, then "Toggle Logger", copy & paste on pastebin) : . Description: Spams the same webwalk event when it should talk to the npc. After i clicked on the npc it continued the quest fine.1 point
-
Gave him an acc within 1 min it had 10k points.1 point
-
Really nice! This code is, for the most part, well structured, readable and tidy. It's stateless and conditional which is nice. A few suggestions: Replace the static sleeps with conditional sleeps. This will ensure you only sleep as long as you have to. Null check the altar, portal and ruins, otherwise you'll end up with some nasty client crashing errors. You could always write a method to wrap that stuff in an Optional so you don't forget. Make the runecraft() method conditional, at the moment it is not Other than that, well done - this is great for a first script Apa1 point
-
You could save a lot on private scripts if you learn to write em yourself.1 point
-
Just for clarification, you're not expecting 40 runecrafting aswell, are you? Because if so I really don't think 2-3 weeks is possible.1 point
-
1 point
-
This looks very interesting, really want to test it out to level up my mining. Could I have a trial?1 point
-
We're going back about 3 years now, so if I remember correctly I believe it was hunter. Though, I'm not too sure. It could have been a number of things. My account could have been watched for a while. I personally believe it was hunter though from what I can remember. I've always had a policy of not running scripts for too long in hot-spot areas. One of my accounts, a pure account I've been working on when I have spare time was actually banned a year ago or more. Though as luck would have it, I managed to get the account back. They detected an IP that wasn't mine on the account, though, I'm not sure how. I guess it was just luck more than anything. The account in question was banned for agility. I left the script running all day accidentally & forgot to put breaks on the profile. I digress, but I'll see if i can find old posts from me getting 99 agility, roughly 2/3 weeks after rooftops was released from botting 24/7.1 point
-
Is there any chance you can add it so that if there is gems in the inventory, instead of continuing to mine it will deposit them at the same time it deposits the pay-dirt?1 point
-
1 point
-
All the features/tasks I added after the script's release need to be remodelled to fit the new script base architecture which I have planned, so expect script stability + performance to increase almost 10 times with this big update. I am going to finish off some features/fixes and then I will be working on the this update. ^^ As for trial, good luck Don't forget to use the plugin for stronghold (top menu in setup window) post some results too!1 point
-
1 point
-
Script working fully as intended, it was completely on my part; I did something I'm not particularly proud of. Fantastic script, thank you for all of your effort's and time, Token.1 point
-
I was typically at 40% CPU usage but now i'm it's running at a pretty steady 20%.1 point
-
Hi Token, I've had generally no issues with the script since purchase, until a few days ago sadly, wherein the script seems to automatically terminate itself upon attempting to start. It doesn't seem to be specific to a quest(s), as I have attempted to run a variety of quests in hope to pin-point the issue; to no result . Any assistance/insight would be greatly appreciated, thank you! Edit: The issue was the selected food, specifically Tuna. The script is functioning normally after selecting Lobster, instead of Tuna. I have not tested the other food options yet.1 point
-
I have to say amazing script. So far i've made it to 91 range and 70 slayer with your script. btw, What's the state of the brutal black dragons plugin? I havent tested it yet cause im still leveling slayer.1 point
-
Thanks for the feedback I'm not currently working on any new quests, but I will be adding new ones in the future. I'm working more on the current code atm.1 point
-
1 point
-
1 point
-
Thank you for the helpful tip. This may sound like a dumb question but how do you set up the afk tile with a mac? I've tried Shift + F3 but it doesn't do anything. Can you tell me how to set everything up to start it? Thanks1 point
-
Hey Czar may I please have a free trial, I have a few of your other scrips! Thank you very much in advance.1 point
-
v1.17 - fixed the restocking bug that caused the bot to buy the wrong item Examples of this: Bot would buy leaping trout instead of trout or buy raw shark instead of shark.1 point
-
1 point
-
1 point
-
and how can i update mine perfect fighter, because i think mine is old version but client is up to date. when i train at expiriments my banking mode doesn't work anymore. i have to bank by my self after 4 hours.1 point
-
1 point
-
1 point
-
1 point
-
Bought this about a year ago, and I used it back then, it always worked perfectly. Now I came back to OSRS with a new account and noticed that you added a lot more quests, and many changes, I haven't run into any issues. I just wanted to say that this is one of the best scripts I have ever used, and me having a general knowledge of programming.... this must of taken AGES to write some of these quests, and I appreciate your work for that!! I would recommend this to everyone. I noticed some changes like back then you would have a specific tab for F2P quests, and there are more quests now, that's what I mainly remember. Curious question tho, you may get this a lot, but are you working on new quests by any chance, and could we know what have u been working on if you are? Ly for making this1 point
-
That's the problem. If you want to do manual upgrades, you have to add them to the banking loadout, stop the script when you no longer need them and re-set up the banking loadout because guess what happens when it wants to bank and expects that upgraded weapon that is now equipped to be in the inventory/bank? Hopefully that'll be a non issue with you added in weapon upgrades.1 point
-
For angler fishing it keeps depositing the sandworms and pulling out normal fishing bait. Then it goes to start fishing but can't due to wrong bait.1 point
-
1 point
-
Everything is set up fine, it just withdraws too many earth talismans due to lag or sometimes not. Just need to program it to if it has more than 1 in invent then to bank and withdraw essence? No idea how you would do that but that's why you are the scripter and im not1 point
-
1 point
-
1 point
-
1 point
-
Was the script started outside of a game? Also, which boat? I will run some tests and add another update, thanks for feedback ^^1 point
-
1 point
-
Can you please for the love of god stop bumping old service threads?? You have bumped like 10 threads that are a month+ older1 point
-
You are using IDs (1530) for finding the fishing spot and IDs always change. Perhaps look for names instead of IDs, change it to something like "getNpcs().closest("Fishing spot")", however I would also check if it has the option 'small net' too, but lumby shrimp doesn't really have any other types of fishing spots so you should be okay. After you get this working I highly recommend taking a look at filters, so you can do something like getNpcs().closest(a -> a.hasOption("random option") && a.getName().equalsIgnoreCase("Fishing spot")); EDIT: You should only ever use IDs as infrequently as possible, with the exception of items, item IDs never change.1 point