Leaderboard
Popular Content
Showing content with the highest reputation on 03/05/21 in Posts
-
Hey, Just a couple small fixes for yesterdays release. FIXES: - Fixed the webwalker out of memory issue. - Fixed Bank#open for some closed bank chests. MISC: - Minor bug fixes. - The OSBot Team6 points
-
3 points
-
Client is crashing after update, impossible to use. I noticed it's crashing when it needs to use webwalk, is it only for me?3 points
-
Introduction Sporadically over the past year or two, I've been experimenting with unorthodox botting methods hoping to figure out how BotWatch works. It's a complete black box. We have no insight into precisely how it works, and it likely changes over time, but some of the experiments I've done lead me to believe I've figured out a significant component of it. For me, figuring it out is the ultimate engineering challenge. Initial Testing - Multiboxing (~1 year ago) I began my research by making a very primitive multiboxing script using another botting client that offers finer control over mouse movement. For those who aren't familiar with the term (since it's far more common in other MMOs), multiboxing software allows you to have your actions mirrored across many accounts. If you click at a certain coordinate on one OSRS client, all of the other clients click at the exact same coordinate. If you move your mouse on one client, the mouse moves in the exact same way for all the others. I used this script to control 8 accounts at once in free-to-play making golden jewelry and get enough money for a bond. None of the accounts were banned for multiboxing despite the fact that I was using an injection client to control them. The total play time was around 6 or 7 hours, which for free to play seemed fairly good to me. I was confident enough in this initial anecdotal evidence to try more experimenting with control over the mouse as a means of evading bans. Phase 2 - Macro Recording (~1 year ago) Next, I cobbled together a very basic macro recorder. It could track mouse movements and play them back on a loop. In designing the macro recorder, I made sure that the mouse playback was as precise as possible. Inputs are played back within a few milliseconds of the correct timing, which is about as good as it's going to get. Using one of the accounts I had multiboxed on, I cautiously made an hour-long recording of me enchanting sapphire jewellery at castle wars. It was slow profit and xp, but it allowed the account to increase its playtime using a very non-intensive training method. Within a day or two, the account was at ~50 magic. Given my past experience with botting and getting banned extremely easily on newer accounts, I felt confident enough to try botting way more hours per day. I got the account to 55 fletching manually. From there, I made an hour-long recording of me stringing bows at castle wars. I then played this recording back for 6 hours a day, and then eventually upped it to 12 and finally 18 hours per day. I was able to bot this much on a daily basis until the bond on the account ran out and finally had to renew it. I knew I was on to something, so I decided to expand beyond just one account to see how other accounts did. Phase 3 - Expansion (~ 1 year ago) I took more of the accounts I had previously multiboxed on and bonded them up. I gave membership to 4 or 5 total, and tried to suicide bot using my macro recorder. Curiously, all but one of the fresh accounts were banned within the first day or two of them starting to bot while the original account continued to bot heavily with no issues. What was even more bizarre is that once an account hit a certain age (~24 hours playtime), I was able to bot continuously for ~18 hours per day without any problems. It seemed to be that there was an initial "screening" period where Jagex more heavily monitored new accounts. Either more computing power was dedicated to analyzing their behavior during this window, or they were simply viewed more suspiciously by the system due to their age. After an account survived this initial screening period, it became seemingly unbannable using my macro recorder. In total, 2 out of 6 accounts survived this screening period and I was free to bot on them basically as much as I wanted without consequence. Phase 4 - Bot Busting: Moderate (Recent) More recently, I got back into botting and decided to REALLY push the limits of my macro recorder. I bonded up 2 of the original accounts I had botted on previously using the cash I had saved on them and ran them for 20 - 22 hours per day. The recording that I used had a total runtime of 2 hours and 15 minutes. Keep in mind that right now, Jagex is going all in on stopping bots because of the Steam launch and ban rates have skyrocketed. After running them for 4 days straight, I finally got hit with a 2 day ban on each of them. On one of the accounts, I was able to get to 99 fletching by stringing bows with a 1 hour recording and 91 crafting by crafting golden bracelets (30k xp/hr) using the 2 hour and 15 minute recording. This means, in total, I was able to run the crafting recording for like 200 hours before a temp ban. I'm not sure how long I ran the fletching recording for, but I suspect it was around 100 - 150 hours because I was making maple longbows instead of higher EXP bows back when they were the highest profit. Conclusions & Future Experimentation While Jagex almost certainly uses a large variety of methods to detect and ban bots, mouse data seems to play a very significant role. The fact that mobile bots initially had such a low ban rate seems to support this. If you are able to incorporate human mouse data into your bot, that mouse data isn't publicly available, and you bot 12 hours per day or less, you should be able to dramatically decrease your ban rates. Going forward, I would like to collect more mouse data and make an even longer recording by combining a series of smaller ones. The ideal length is 4 - 6 hours worth of data. With recordings that long, moderate botting should be virtually undetectable. I would also like to experiment with creating new recordings every ~100 hours of botting time to see if this helps. I attribute the success of this method to the fact that over small periods of time, it's very difficult to distinguish a recording of human behavior from actual human behavior. I was able to take around 3 hours of recordings and get 300 hours out of it before a ban. Not bad imo.2 points
-
2 points
-
2 points
-
so i just deleted all the folders associated with osbot and it gave me an option to reinstall webwalker on launch and i attempt to use webwalker and it seems to work fine until 30 seconds it became unbearable with lag and eventually froze up2 points
-
Progamerz Abyss Runecrafter Buy now($5.99): Store Or Like the post and comment below to get 24 hours trial Discord Support Server Current script features: Screenshots: R1 point
-
Rune Dragon Alt Progression *updated: 02/2021* I'll be basing my alt around this guide https://docs.google.com/spreadsheets/d/1iK2FVTOu3XjIm3OkAyu6kpku-439AFIvVZerD3nYVhE/edit#gid=0 with some modifications and changes. I'll be updating the thread every day when progress is made and I'll continue until I'm banned or I achieve the accounts stats/quests. I'll include the time I was using the scripts and the name of all scripts used. There will be a lot of external plugins being used as well. This is not a brand new account. This is an account with 60 fishing and has been aged around 2k days. Goals 68 Mining 60 Agility 60 Thieving 50 Construction 99 Melee stats 80 Range 70 Prayer 75 Magic 75 Smithing Barrows Gloves DS2 Completion -------------------------------------------------------------------------------------------------------------------------------- Day 1: 02/2021 Scripts used: APA sandcrabs (2:30 hours) Khal's AIO Agility (43 minutes) Ganom's one click prayer (external plugin for openosrs) Wonton's GEfiremakerAIO (1 hour) Skills obtained: 30 Firemaking 18 Agility 40 Range 43 Prayer -------------------------------------------------------------------------------------------------------------------------------- Day 2: 03/2021 Scripts Used: DynaMiner (1 hour) SMLPowerChopper (15 minutes) MacroCutter (23 minutes) Khal's AOI Agility (45 minutes) Wonton's GEfiremakerAIO (1 hour) Skills obtained: 45 Mining 36 Woodcutting 30 Agility 50 Firemaking --------------------------------------------------------------------------------------------------------------------------------1 point
-
Hi, i'm new scripting so don't try this at home, probably have bugs, so let me know or there's something that i can add! DOWNLOAD JAR SOURCECODE1 point
-
Overall a great bot tons and tons of features all work smoothly, there is nothing to complain about for the price the lifetime sub you honestly cant get any better then khal scripts, he has everything you want. no one else to consider in my opinion! 10/101 point
-
1 point
-
"Fixed the webwalker out of memory issue." Thank god, I thought this an issue with my code causing the problem! Praise the lord1 point
-
Found issue, patched for v216.0 - update will automatically go live within a couple hours enjoy! Shoutout to @dudees75 and @sorryboss200 for the help1 point
-
I am not using gloves of silence or dodgy necklaces. Just full rogue's outfit and it cannot grab jugs of wines, other food items for me. World hopping and client restarting doesnt work either Hopefully there's a fix soon!1 point
-
Hey, A release that focuses mostly on improvements and bug fixes. FIXES: - Added a bank pin attempt threshold. WEB WALKER: - Fixed the slayer ring teleports not working. - Added WebWalkEvent#setMinDistanceThreshold, setMiniMapDistanceThreshold & setScreenDistanceThreshold. MISC: - Improved isVisible area. - Improved the break condition to have priority over the clients default break condition. - Minor bug fixes. - The OSBot Team1 point
-
i tested this out on f2p looting everything over 100gp and it lasted a day but thats becuase its clicking alot and interacting more might see more life out of your accounts if you up the minimum value of stuff its picking up so it clicks less and just hope you get lucky with expensive drops1 point
-
1 point
-
1 point
-
Think mine are running more laggy then normal(No crashing) but Ram is down by 100MB on every client1 point
-
good script only problem I have is that it will spend too much time in ge trying to sell items that wont sell edit; idk if my reading comprehension is just shit but it might be good to add you need to bind your digsite pendant to the house on the hill tele or it will just spam the pendant and log out1 point
-
@Token FEATURE IDEA: The script unlocks the mushroom teleportation system and the "House on the Hill" (digsite pendant) teleport for you.1 point
-
1 point
-
1 point
-
1 point
-
1 point
-
You could simplify it to something like this (Although didn't test it), another step would be changing the traintype to an enum but yeah. public void setAttackStyle(String trainType) { int style = script.getConfigs().get(43); switch (trainType) { case "DEFENCE": if (style != 3) { selectAttackStyle(17, 4); } break; case "ATTACK": if (style != 0) { selectAttackStyle(5, 4); } break; case "STRENGTH": if (style != 1) { selectAttackStyle(9, 4); } break; } } private void selectAttackStyle(int childId, int subChildId) { if (!script.getTabs().open(Tab.ATTACK)) { return; } RS2Widget widget = script.widgets.get(593, childId, subChildId); if (widget != null && widget.isVisible()) { widget.interact(); } }1 point
-
1 point
-
1 point
-
1 point
-
Note: This guide is simple and for beginners. If you're not a beginner to programming for OSBot, or generally know your way around the API, you might be best off experimenting with this yourself. Regardless, this can be a good tutorial for anybody getting started. API Links: WalkingEvent: http://osbot.org/api/org/osbot/rs07/event/WalkingEvent.html WebWalkEvent: http://osbot.org/api/org/osbot/rs07/event/WebWalkEvent.html WHEN to webwalk vs. walk normally Webwalk - Long-distances - Handling barriers (e.g. doors, gates, agility shortcuts, teleports) Walking normally - Short distances - No barriers Walking Regularly There are two ways to complete this task. The first way: getWalking().walk(Position... positions) This means that you're allowed to give the method multiple positions. This is because it will find the closest position to your current position and walk there automatically. So let's say that I want to walk choose from multiple positions. I have: Position pos1 = new Position(1, 2, 0); Position pos2 = new Position(2, 4, 0); Position pos3 = new Position(1, 1, 0); getWalking().walk(pos1, pos2, pos3); This will walk to the closest of those 3 positions. This can also be done with areas. getWalking().walk(new Area(1, 2, 3, 4), new Area(5, 6, 7, 8), new Area(9, 10, 11, 12)); All of these are simple enough. Note that you don't need to put more than 1 Area or Position. You can just put 1, and it will, by default, go to that location. The second way: You can also do essentially the same thing with a WalkingEvent. For instance, you could say: WalkingEvent myEvent = new WalkingEvent(new Position(1, 2, 3)); //making the event execute(myEvent); //executing the event The disadvantage to this is that you can only put in one Position/Area, not multiple. It will not pick the closest, because it only takes one. However, there's also a large advantage to using a WalkingEvent. You can: - set the minimum distance threshold. Meaning that if you input a position to the walkingevent and give the following line: myEvent.setMinDistanceThreshold(0); it will walk to this tile exactly, not just within a radius of 2. You can also do this with the minimap distance. - set the threshold at which the event will toggle your 'run' setting on myEvent.setEnergyThreshold(47); means that it will click on run energy if you have 47% or more. - you can also set a break condition (perhaps the most useful), meaning that if this condition is met, the execution of the event will terminate. if you don't understand the format (below), don't worry about it - all you need to know is that if you put any boolean in there, if it returns a value of 'true', then the event will end, regardless of where it is in its completion. myEvent.setBreakCondition(new Condition() { @Override public boolean evaluate() { return myPlayer().isUnderAttack(); } }); this would make the event terminate when your player is under attack. now when the event is over, you either know that its execution finished with your player being attacked, or with you walking to your final destination. So, if we put this all together, it would look a little like this: WalkingEvent myEvent = new WalkingEvent(new Position(1, 2, 3)); //making the event myEvent.setMinDistanceThreshold(0); myEvent.setEnergyThreshold(47); myEvent.setBreakCondition(new Condition() { @[member='Override'] public boolean evaluate() { return myPlayer().isUnderAttack(); } }); execute(myEvent); //executing the event This event will walk exactly to the position at 1, 2, 3 (note* given that it is reasonably accessible without barriers and can reach the endpoint (otherwise you would use webwalking)). If not already running, and your run energy is >= 47, it will turn on your run. The final line executes the event and causes the script to start walking. Note* adding in all of these specificities are optional! The event has default conditions of a minimum distance threshold of 2, an energy threshold of 30, and no break condition. If you didn't want any of those details, you could've also just said: WalkingEvent myEvent = new WalkingEvent(new Position(1, 2, 3)); execute(myEvent); Also remember that this statement is equivalent to saying: getWalking().walk(new Position(1, 2, 3)); Webwalking OSBot's advanced webwalker is one of the features that makes OSBot so great - it handles most of the walking work for you, using advanced shortcuts, teleports, barrier handling, and designing its own path to a destination - pretty amazing. Note that it's best used if you need to travel long distances, or if there are barriers between you and your destination. If you just need to walk 5 tiles south, then chances are that you'd be better off walking normally (above)! Similar to regular walking, there are two ways. The first way: Position pos1 = new Position(1, 2, 0); Position pos2 = new Position(2, 4, 0); Position pos3 = new Position(1, 1, 0); getWalking().webWalk(pos1, pos2, pos3); Exactly like walking normally. You can also do it with areas: Area a1 = new Area(2, 3, 4, 5); Area a2 = new Area(5, 4, 3, 6); Area a3 = new Area(4, 6, 4, 1); getWalking().webWalk(a1, a2, a3); The second way: This way is also very similar to regular walking. Except instead of defining a WalkingEvent, we're going to be defining a WebWalkEvent. A great advantage of WebWalkEvents over WalkingEvents, however, is that WebWalkEvents can decide which Area or Position is closer from a list of positions or areas. So, if I wanted to, I could do: WebWalkEvent webEvent = new WebWalkEvent(pos1, pos2, pos3); or WebWalkEvent webEvent = new WebWalkEvent(pos1); or WebWalkEvent webEvent = new WebWalkEvent(a1, a2, a3); and it will grab the closest destination! The advantages of a WebWalkEvent over regular webwalking: - the ability to set a break condition (exactly like a WalkingEvent - see above for details) - the ability to set the energy threshold (exactly like a WalkingEvent - see above for details) - the getDestination() method that returns the Position the WebWalkEvent is going to Position sumtin = webEvent.getDestination(); //gives the position that the WebWalkEvent //is going to - the ability to use the simplest possible path --> this takes out concerns like using roads and just takes the quickest route to your destination. webEvent.useSimplePath(); - the ability to set a PathPreferenceProfile (a great friend to scripters!) - A PathPreferenceProfile determines how the WebWalkEvent will move. All of the possibilities for PathPreferenceProfiles are found here: http://osbot.org/api/org/osbot/rs07/event/webwalk/PathPreferenceProfile.html Example: If we didn't want our webwalker to use teleports or use paths related to quests, we could do the following: PathPreferenceProfile ppp = new PathPreferenceProfile(); ppp.setAllowTeleports(false); ppp.ignoreAllQuestLinks(true); webEvent.setPathPreferenceProfile(ppp); So if we put it all together, it might look a little something like this: WebWalkEvent webEvent = new WebWalkEvent(pos1, pos2, pos3); webEvent.useSimplePath(); PathPreferenceProfile ppp = new PathPreferenceProfile(); ppp.setAllowTeleports(false); ppp.ignoreAllQuestLinks(true); webEvent.setPathPreferenceProfile(ppp); execute(webEvent); And those are the basics of webwalking If I've left out / omitted anything, feel free to contact me, or if you don't understand anything, also feel free to ask questions below. Hope this was informative1 point