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.

Polymorphism

Members
  • Joined

  • Last visited

Everything posted by Polymorphism

  1. Here is finding the center using Centroid finite set of points. I passed in Area#getPolygon(), not sure how it'd react to Position#getPolygon() The function output Point2D.Double[6703.75, 3367.75] In my use I will always be rounding up, but you may choose to do either way. public Point2D.Double calcPolygonCenter(Polygon polygon) { double x = 0; double y = 0; int points = polygon.npoints; for (int i = 0; i < polygon.xpoints.length; i++) { x += polygon.xpoints[i]; } for (int i = 0; i < polygon.ypoints.length; i++) { y += polygon.ypoints[i]; } x = x / points; y = y / points; return new Point2D.Double(x, y); }
  2. Here's a small update for those interested. Done In progress Not started/having issues Revised special attacking Add preset special attacks Super potion support(non NMZ) Toxic blowpipe w/recharging Idle prevention Praying melee with prayer/s restore potion support Eagle eye, piety, etc Here is a 3 hour prog. Rock caking as if the player is distracted by youtube videos and getting to it every few minutes (hence low points/h). Points tracking includes any points spent for potions, so it will go negative https://puu.sh/uto2W/624b993e0a.png - Before 3rd round ended https://puu.sh/utow9/aced9c2926.png - As soon as 3rd round ended
  3. Thank you, still a while out before i release publicly though. I'm looking into unique playing styles for each player, or set of players in order to minimize accounts being profiled during use of the script.
  4. I am aware, i'm looking to incorporate a variety of playing styles Thanks Juggles
  5. Right now absorption & overload w/prayer flicking. Looking at some more afk methods as well as active playing methods to be added in You must not knowing programming. But I assure you it's not 'bunk'
  6. Coming soon to VIP+ https://puu.sh/ur0Ax/9c3c6e82a4.png http://puu.sh/ur1e0/66b7ef8065.png 5.5hr prog https://puu.sh/uwsoF/bd84cbd681.png Updates Done In progress Not started/having issues 03/24/17 Revised special attacking Add preset special attacks Walking to preset Positions for AFK (such as SE corner, or center, etc) Super potion support(non NMZ) Toxic blowpipe w/recharging Idle prevention Praying melee with prayer/s restore potion support Eagle eye, piety, etc Runtime stat tracking
  7. No problem, hadn't noticed he already put down pretty much what i did lol. Mustve been writing it up nearly the same time.
  8. From what I understand you're simply trying to make the script wait until the wine is back on the table? This isn't perfect, but you could definitely build on it In your onLoop you shouldn't make the script DyanmicSleep while waiting, just don't make it do anything. onLoop(){ GroundItem item = groundItems.closest("item"); if(item != null || item.exists()){ //grab that shit } if(item == null || !item.exists()){ if(!magic.isSpellSelected()){ //check if can cast, then cast spell } if(magic.isSpellSelected()){ if(!magic.getSelectedSpellName().equalsIgnoreCase(NormalSpells.TELEKINETIC_GRAB.name())){ //deselect spell only } if(!hoverTile.getPolygon(bot).contains(mouse.getPosition()){ // hover the tile //return 600 or whatever here. Just make the script return inside onLoop() when waiting } } } }
  9. I don't have this problem on my laptop, but anyone who has this issue please try this. I may or may not work. Essentially disabling Java dpi awareness http://stackoverflow.com/questions/30555401/java-disable-dpi-aware-not-working
  10. I've noticed that a lot of scripts flick prayer to keep hp at 1. but why dont they just guzzle rock cake? I dont see a benefit over either one, just that for a split second you might have 2 hp using the rock cake method.
  11. Stranger Things - You'll be pissed about the way S1 ends, but the show is OMG good DCs Legends of Tomorrow Justice League/JL Unlimited/Young Justice
  12. I just set a field variable for the filter such as below private Predicate<NPC> npcFilter = n -> n != null && myPlayer().getArea(6).contains(n) && n.getName().contains("name") && n.hasAction("Attack") && n.isAttackable() && !n.isUnderAttack(); NPC npc = s.npcs.getAll().stream().filter(npcFilter).findFirst().get(); if (npc.interact("Attack")) { new ConditionalSleep(6500, 500) { @Override public boolean condition() throws InterruptedException { return combat.isFighting() || myPlayer().isInteracting(npc); } }.sleep(); //max sleep 6.5s, recheck every 500ms. Stops sleeping if fighting or interacting with the filtered npc } Edit: It'd also be useful to add map#canReach to the Predicate and sort the NPCs in the stream by distance .sorted((n1, n2) -> Integer.compare(s.map.realDistance(n1), s.map.realDistance(n2)))
  13. I just set a field variable for the filter such as below private Predicate<NPC> npcFilter = n -> n != null && myPlayer().getArea(6).contains(n) && n.getName().contains("name") && n.hasAction("Attack") && n.isAttackable() && !n.isUnderAttack(); NPC npc = s.npcs.getAll().stream().filter(npcFilter).findFirst().get(); if (npc.interact("Attack")) { new ConditionalSleep(6500, 500) { @Override public boolean condition() throws InterruptedException { return combat.isFighting() || myPlayer().isInteracting(npc); } }.sleep(); //max sleep 6.5s, recheck every 500ms. Stops sleeping if fighting or interacting with the filtered npc }
  14. Dwarven Rock cake yourself to 1 while the script runs and let the let 'man' KO you.
  15. For completely random paths for each run, just have a few hardcoded and chose which one randomly. This below will take a path and randomize the actual tile it's walked to by an offset. It's not tested, nor probably the way to do things. //add inside the for loop camera controlls //also helps to check the distance, if so far then use the minimap //also if distance of position is so close (ie distance=4) skip to next position public void walkRandom(Position... pos, int minX, int maxX, int minY, int maxY){ Position tmpPos = null; for(Position p : pos) { int xrand = p.getX() + random(minX, maxX); //min,max are offsets of the position int yrand = p.getY() + random(minY, maxY); //Can use negative integer tmpPos = new Position(xrand, yrand, p.getZ()); //if canReach tmpPos //walk to tmpPos } }
  16. Polymorphism replied to Token's topic in Others
  17. That's the only hard part of it. The rest is essentially store encrypted phone numbers in a db, have the script query based on OSB name with the text to be sent. (that's how i'd do it for a multi-script api)
  18. 72h nothing, ran perfect fighter ( i think that was the name) for 21 days straight. Was too OP
  19. this is why this isn't a priority for me. I have to gather the different carrier addresses for as many countries as possible.
  20. That's what I thought. Yeah I kinda have that being worked on, but I'm full on projects between irl duties atm. Should be finished with one of a big private scripts in a few days, so that will become a priority.
  21. You've got quite the vocabulary! To myself and many of other users, it will further customize antiban options. Even though it may not work (breaking to delay bans) if Jagex does have "bot detection" software or if they just analyze playing patterns
  22. Did they allow the user to tell the script what to do at all? If not, I'm working on something similar. However, mine isn't particularly a priority since I feel it won't gather a lot of attention.
  23. Essentially, yes. However I tend to write scripts where the client cant/wont do it such as being in a heavy combat zone. I want it internally done with my script so that it'll go to a safe zone or whatever.
  24. I will be adding built in break manager to some of my scripts and I'd like ya'lls input on the best method. Currently I am planning to use a Timer class which basically counts down and break when it stops, restarting timer while it is breaking, then stop breaking and resume when the timer stops and reset for next break period. Kinda confusing but the time ranges will come from user input and just utilised the same timer over and over

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.