Jump to content
View in the app

A better way to browse. Learn more.

OSBot :: 2007 OSRS Botting

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Solzhenitsyn

Members
  • Joined

  • Last visited

Everything posted by Solzhenitsyn

  1. Solzhenitsyn replied to Krys's topic in Spam/Off Topic
    You ought to send them to a gulag instead, it might be the first time in their life that they've done something useful.
  2. Quest(s): Biohazard, Underground Pass, Regicide, Nature Spirit, Fairy Tale I, very first part of Fairy Tale II Minigame(s): Skill(s): Middleman or You going first?: Me Skype: PnuxSucks Duration expected: Next 2 weeks
  3. Makes no difference.
  4. Hi. Currently handles: 1) Waits in Rim until it finds someone advertising host. 2) Attempts to join their house. 2.1) If there is no gilded altar, types rude messages to them then leaves (and saves their name so it won't join in the future). 3) 1-ticks your bones 43-47 second lap times. Video I got a level-up so there is a small (2.5 second) delay. http://i.imgur.com/dNbHjjg.mp4 No permission to embed
  5. Few things: You are initializing an RS2Object in your get state function. Don't do that. The reason that it is running around is because you are initializing, and assigning your currentRock object each time onLoop runs. If you want to do it like this, you should initialize it as null outside of your loop, and assign it to a rock at the beginning of your script's runtime. You aren't doing any existence checks. Since there are other rocks in the error, there won't be a null pointer error (NPE), but you should always always always perform an existence check when you are calling something that could throw an NPE. EDIT: I've modified your code so that you have a better working example. Read comments + complete small exercise. RS2Object tinRocks = null; onStart() { [...] if (getObjects.closest(7485) != null) { tinRocks = getObjects.closest(7485); } } private State getState() { if (inventory.isFull()) { return State.DROP; } else if (!myPlayer.isAnimating() && !myPlayer.isMoving && tinRocks.exists()) { return State.MINE // getState should ONLY return information, so we are moving calls to functions which cause something to happen in into your loop. } else { return State.WAIT; } } @[member=Override] public int onLoop() throws InterruptedException { if (tinRocks == null) { // Exercise: Move this existence check into your state function. log("There are no tin rocks in this area!"); stop(); } switch (getState()) { case MINE: // If you are using getState to determine which action you should be performing, and each state handles only one simple task, then migrate all of your [...] // conditional checks into getState. If we are in this state, then we know that a) You are not animating, b) You are not moving, and c) The tin rock exists. break; case DROP: inventory.dropAll(); break; case WAIT: [...] break; } return 1000; }
  6. You have absolutely no reason to believe that. I'll quote myself from a different thread because there's nothing new to say.
  7. I have written my own mouse handler which doesn't move the mouse (it sets the cursor location), it creates mouse events, assigns them a time, inserts them into a min-heap, and then handles them at the correct time. My scripts runs like a machine and makes no mistakes, because the goal is for all of them to be maximally efficient. My ban rates are identical to what they were before. I doubt that they are tracking mouse patterns.
  8. I guess I can share my snippet too, for anyone who is doing wilderness work. private boolean isPkerPresent() { List<Player> players = getPlayers().getAll(); log("BEGIN PLAYER REPORT: "); for (Player o : players) { log("Player encountered: " + o.getName() + ", Level: " + o.getCombatLevel() + ", Skull icon: " + o.getSkullIcon()); if (aMethods.weAreAttackable(o) && o.getSkullIcon() != -1 && !o.getName().equals(myPlayer().getName())) { log("RUNNING FROM PKER: " + o.getName()); return true; } } log("-----"); return false; }
  9. Just wrote a test script. Maybe someone can update the docs because these aren't the values I would have guessed. -1 = no icon 0 = regular skull 1+ = bh skull
  10. http://osbot.org/api/org/osbot/rs07/api/model/Player.html#getSkullIcon-- If anyone knows, it would be much appreciated.
  11. Write a method which populates a list of events, and then use a range-based for loop to execute them. For whatever reason (possibly a limitation of Java, the client, or my slow computer), trying to execute multiple within a ~25ms time-frame will cause bad things to happen.
  12. You guys need to work on your reading comprehension. This type of "anti-ban" does NOTHING.
  13. Without checking to see if the widget has been initialized, you are gonna get a shit load of NPEs. In any case, the house loading screen has no widgets. Returns true when you are in the house (according to the map), but things cannot be interacted with yet.
  14. If you are hitting each other on different ticks, shouldn't switching to defensive style on the tick before you are hit confer an invisible defense bonus, and switching to the controlled style on the tick before you hit confer a small invisible stat buff to all of your combat stats? If that is the case, then flicking provides a 2% defense stat bonus relative to a non-flicking opponent at maxed stats.
  15. That's even more retarded than the current workaround.
  16. The behaviour of the house loading screen appears to be different than regular loading screens. Even though you cannot see or interact with anything, everything has already been loaded into the game so checks like myPlayer.exists, UI widget checks (I tried inventory), and in-game object checks all return true, even though the game cannot be interfaced with. Anyone got a solution? Current workaround are the normal checks, then when all the background objects have loaded I wait until run can be toggled on and off.
  17. What object type is this, and how can I retrieve it?
  18. Almost all of my scripts are optimized to minimize ticks, and I do tick manipulation when I can. I don't have very much money in-game right now since I don't really enjoy botting, I more enjoy the problem solving of writing really good scripts and optimizing them as hard as I can. If you guys have ideas and test accounts which I can use, I might be willing to write scripts. I am usually willing to sell a private copy to ONE person, on the condition that they do not resell or share the script. As a rule, I don't think that it is wise for script writers to release scripts which occupy resource areas which have a capacity (i.e. runecrafting, agility, fishing => OK for wide release; mining, certain combat scripts, shop buying, G.E. manipulation => not OK) because it kills the method for everyone, including people trying to bot it.
  19. Been a while since I made a post. Needed 60 mining for Lunar Diplomacy, so I made a F2P power miner that owns all of the other players and bots. It currently gets around 51k/hr at level 59. I still fail sometimes, so it'll probably be around 53k when you stop failing, and around 54k when you stop failing and I add full "mousekeys" support for dropping. Other scripts seem to be reaching a ceiling of around 40k while mining iron, so this is considerably faster, especially because if it has to compete with another player of similar mining level it is still able to achieve 47k per hour. Because people were shitting their pants over the expected ban rate of my herb cleaner (due to "mousekeys" simulation // cleaning 15k herbs per hour), let me just say that I haven't ever been banned for using that script, and I ran this script from 30-55 a few days ago with no bans. http://i.imgur.com/mns9x8n.gifv The double clicks are not misclicks. It is turning your player character to the next rock which is going to spawn to save 2 ticks. The way this works is by keeping an internal clock on all of the rocks, so that we know which/when the next rock will be ready to mine. This is the main reason that it absolutely crushes other players and bots.
  20. The fact that you don't get that this isn't about the scammer who got banned is precisely why I think you're retarded. It wasn't to throw it back at you, it was to show you that brigading is bad because a false positive is so much worse than a false negative -- and if you don't understand that after I've used your names in a hypothetical then I think it's a lost cause.
  21. Do you have to try to miss the point that hard? OK, lets try again. @Adapt and @SeleneIsLove have both scammed me for 6.9 trillion SolzBucks. I have filed a dispute against them, but in the meantime (i.e., until they are banned), everybody please brigade their feedback score, because they have scammed me -- for 6.9 trillion SolzBucks! Believe me, I have a lot of evidence, but until justice is carried out by the marketplace staff, it won't be public and we have an obligation to protect our fellow users from the trash users Adapt and SeleneIsLove by bombarding them with negative feedback. This way, no one will trade with them. [at mention all of my friends] -- but of course, this has nothing to do with popularity, since we evaluate disputes in a totally nonpartisan way and don't take up the causes of our friends who feel that they have been wronged. If you still don't see how this is a problem, then you guys are just plain retarded.
  22. How can you guys justify brigading him with negative feedback when... you were not personally scammed no staff verdict has been handed down in the dispute This isn't how feedback is supposed to work. You should only leave feedback for transactions that you were personally involved in, otherwise it just becomes a popularity contest.
  23. Putting your pathetic attempt at begging for free stuff in bold and coloured font doesn't make it any less pathetic. As for mirror mode, I think that your assessment is more or less correct. I don't use it, and when I did I didn't notice any difference in ban rates -- which makes sense to me, as hardly anyone seems to be getting banned as a result of using third party clients. There are premium scripts in the SDN. You can make your own scripts with the API (what I suspect most users do). If not, there are a lot of free/open source local scripts that you can download from the appropriate subforum. Welcome to OSB, I hope you become less retarded as a function of time.
  24. You asked if your goals were realistic and he told you that if you have no experience then no, they aren't realistic at all. What's the point in asking for advice if you only listen to the yes men?

Account

Navigation

Search

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.