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.

Reveance

Members
  • Joined

  • Last visited

Everything posted by Reveance

  1. Alright, thanks! Too bad... ;p
  2. Hey ! Is there a way to influence the mouse speed because imo some actions are way too fast. I can barely even see the menu when programming an interaction with a glory. Same thing with dropping items etc.
  3. Reveance replied to Token's topic in Others
    A weird, thought I started the new client. Thanks, fixed it!
  4. Reveance replied to Token's topic in Others
    Thanks man! I just started it, and after buying everything (f2p quests) from GE and teleporting to falador, I get this error and the script stops: EDIT: active quest was pirate's treasure
  5. Reveance replied to Token's topic in Others
    Could you give me a trial please?
  6. Yes, I based a lot of the hierarchy on Swing, however this has alot less features and doesn't work with LayoutManagers but with absolute positions. The text components that are currently in this (PLabel and PTextPane) do calculate their size based on the font / size / weight and padding etc. and you can also choose to align left, center or right for both of those components. The PTextPane also breaks up the lines (by word) if it is too long to fit into the width. Other than that there isn't calculated much atm except the clipping of parents (PContainers). The current version is also more focussed on managing the hierarchy (drawing on top of another etc, handling events etc). If I notice any interest in this project I could possibly add better ways to style besides only the absolute positioning (maybe by percentages or by being able to center elements in a container or whethever?) and possibly ScrollPanes or something
  7. What do you mean? If you're wondering about whether it's safe or not, you can view and use the source on github.
  8. Hey everyone, I'm developing an opensource library that allows you to create user interfaces with components in a graphics2d context. That basically means you can create paints in an object oriented way. Source & download: https://github.com/reveance/jgtk I started the base of this 2 years ago and didn't finish it but only recently came back to the runescape/botting scene, after which I rewrote my original base as it had many flaws. It is currently far from complete as it only supports absolute positions (where the absolute positions of elements are relative to their parent) but nevertheless I think it's a nice starting point to create interactive paints quite easily. At the moment it only has a few components (PContainer, PImage, PLabel and PTextPane), which you can give various properties such as a border, backgroundcolor, backgroundimage. I hope to upgrade this list with some other components in the future such as a PScrollPane. A cool feature that come with using this is that you can create dynamic paints very easily, because you can for example add a HoverListener to a component in which you set another backgroundimage or another property and the rest is done automatically. All elements support dragging and you can also set a dragtarget (the element that is going to move when you drag the element you enabled dragging on). Another nice thing is that you can preview your paints easily when developing, but I'll explain more about that below. You can find an example on github aswell, but to make things complete I'll post it here too. An example of how to create a user interface: import java.awt.Color; import java.awt.Component; import java.awt.Cursor; import java.awt.Dimension; import java.awt.Font; import java.awt.event.MouseEvent; import java.awt.event.MouseListener; import java.io.IOException; import java.net.MalformedURLException; import java.net.URL; import javax.imageio.ImageIO; import nl.reveance.jgtk.paint.UICanvas; import nl.reveance.jgtk.paint.components.PContainer; import nl.reveance.jgtk.paint.components.PImage; import nl.reveance.jgtk.paint.components.PLabel; import nl.reveance.jgtk.paint.components.PLabel.Alignment; import nl.reveance.jgtk.paint.components.PTextPane; import nl.reveance.jgtk.paint.events.MouseHoverListener; public class CustomPaint extends UICanvas { public CustomPaint(final Component reference) { super(); setSize(1024, 768); try { // Create a container for a part of the paint PContainer container = new PContainer(500, 200); // Set the location to (50, 50) container.setLocation(50, 50); // Put a background image on the container, however note that if you // are doing this in an actionlistener, make sure you load the // images somewhere in the class before you use them, to avoid // blocking the ui. container .setBackgroundImage(ImageIO .read(new URL( "http://www.walkontile.com/wp-content/uploads/2011/02/metal-tiles-th.jpg"))); // Create a border with 1 width and assign it a dark gray color container.setBorder(1); container.setBorderColor(Color.DARK_GRAY); // Create an image component PImage pimage = new PImage(); // Make the image listen to drag events. pimage.setDraggable(true); // Set the drag target to the container. This means that the drag // events are going to influence the container (and thus all // components inside it) instead of only this element itself. pimage.setDragTarget(container); // Set the location to 5, 5. This is relative to the parent, which // is going to be the container pimage.setLocation(5, 5); // Load the image. If you are going to dynamically do this in // listeners, make sure you have loaded this beforehand. pimage.setImage(ImageIO .read(new URL( "http://findicons.com/files/icons/2338/reflection/128/cursor_move.png"))); // The image is originally 128x128, but resize it to 32x32 pimage.setImageSize(new Dimension(32, 32)); // Add the image to the container container.add(pimage); // Create a text pane with some text on location (80, 30) with size // (300, 0). If height is set to 0 for a textpane, it will resize // itself based on the amount of text PTextPane textpane = new PTextPane("Strength xp: 10000\n" + "Time ran: 4:30:36\n" + "Strength xp / h: 3000\n" + "Blabla: 100k\n" + "Something else: 14914", 80, 30, 300, 0); // I guess the rest here speaks for itself textpane.setBorder(1); textpane.setAlignment(Alignment.CENTER); textpane.setBackgroundColor(Color.LIGHT_GRAY); textpane.setTextColor(Color.DARK_GRAY); textpane.setPadding(20, 20, 20, 20); // Add the textpane to the container aswell container.add(textpane); // Finally, add the container to the paint this.add(container); } catch (MalformedURLException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } // This shows how you can make a button using a label, but the same // principle would apply when using a PImage to do so. When labels are // given any size 0, it will automatically size itselves based on the // content. final PLabel btn = new PLabel("Fancy button", 50, 300, 0, 0); // Give a new font btn.setFont(new Font("Verdana", Font.BOLD, 18)); // Speaks for itself... btn.setBorder(1); btn.setPadding(10); btn.setAlignment(Alignment.CENTER); btn.setBackgroundColor(Color.LIGHT_GRAY); btn.setTextColor(Color.DARK_GRAY); // We add a HoverListener which is called when you hover in or out of // the element, to create some cool looking things. Maybe support for // this will be implemented in a better way soon, so that you don't have // to large listener classes just to change a color on hover btn.addHoverListener(new MouseHoverListener() { @Override public void onHoverIn(MouseEvent e) { btn.setBackgroundColor(Color.GRAY); btn.setTextColor(Color.WHITE); // Set cursor to HAND_CURSOR when hovering in. This is why we // needed the reference to a component in the constructor. If // you don't want any of such functionality you can leave the // constructor empty. reference.setCursor(Cursor .getPredefinedCursor(Cursor.HAND_CURSOR)); } @Override public void onHoverOut(MouseEvent e) { btn.setBackgroundColor(Color.LIGHT_GRAY); btn.setTextColor(Color.DARK_GRAY); // Set the cursor to default when hovering out. reference.setCursor(Cursor .getPredefinedCursor(Cursor.DEFAULT_CURSOR)); } }); // We add a mouse listener to create an effect on mousePressed, and we // reset everything in mouseReleased btn.addMouseListener(new MouseListener() { @Override public void mouseReleased(MouseEvent arg0) { // Check if the mouse is released inside or outside the absolute // bounds of the button. Note that you MUST use absolute bounds // to check this, as the normal bounds are relative to the // parent, where the MouseEvent is relative to the container // everything is painted in. if (btn.getAbsoluteBounds().contains(arg0.getPoint())) { btn.setBackgroundColor(Color.GRAY); btn.setTextColor(Color.WHITE); // Set cursor to HAND_CURSOR reference.setCursor(Cursor .getPredefinedCursor(Cursor.HAND_CURSOR)); } else { btn.setBackgroundColor(Color.LIGHT_GRAY); btn.setTextColor(Color.DARK_GRAY); // Set cursor to DEFAULT reference.setCursor(Cursor .getPredefinedCursor(Cursor.DEFAULT_CURSOR)); } } @Override public void mousePressed(MouseEvent arg0) { btn.setBackgroundColor(Color.BLACK); } @Override public void mouseExited(MouseEvent arg0) {} @Override public void mouseEntered(MouseEvent arg0) {} @Override public void mouseClicked(MouseEvent arg0) {} }); // Add the button to the ui add(btn); } } You can preview your paint by placing this main method in some class: public static void main(String[] args) { final JPaintFrame paintFrame = new JPaintFrame(); // Create an instance of our CustomPaint CustomPaint canvas = new CustomPaint(paintFrame); // Add it to the JPaintFrame pf.setUICanvas(canvas); } If you want to use this to create paints for OSBot you have to place this inside your script, preferably in the onStart method. Also note that supplying the canvas to the CustomPaint is entirely optional. I did this so it was possible to change the cursor when hovering over the button: CustomPaint customPaint = new CustomPaint(this.getBot().getCanvas()); new OSBotPaint(customPaint, this); This is the outcome of the above CustomPaint inside the preview window, where the move icon controls the entire container its in when dragged, and the 'Fancy button' has a hover, hoverout and click effect. I hope any of you can find any use for this. If you have any questions let me know
  9. It took me a lot more time than I originally expected but I've finished the base of this thing. There's still lots to improve but I think it would already be nicer to work with compared to doing everything in the onPaint method. Anways, I'd like to create a seperate thread to post it but I'm not sure under which forum to do that, as it also looks like they've been changed today? Any suggestions? EDIT Nevermind, I've posted the release here: http://osbot.org/forum/topic/60807-java-jgtk-graphics2d-toolkit/?p=674407!
  10. I guess that's an option indeed Thank you for pointing that out, I've just done a quick search in the snippet subforum but couldn't find what you meant. I did come across some tools to create paints (like a visual editor that generates the onPaint code) and I remember seeing someone who actually used swing to create a display for info :P but that's not what I'm working on now :p. It's coming along fine I think...I'm using many things from the hierachy of swing but everything is going to be absolute positions though (where the absolute positions of elements in containers are relative to their parent) which makes it ALOT easier for me to make. The cool thing about a library like this is that you can for example easily implement drag support by adding a MouseMotionListener to the element that controls the dragging, in which you update the location of the Container that contains all elements you want to drag, and all the children in this container will move with the container aswell. Same thing with letting a button shine on hover, just implement a MouseHoverListener and change the backgroundcolor or image in there :P
  11. Hey! Thanks for the response, however I already started working on this a few years back so I already had a little something to start with but it wouldn't hurt to collaborate on this though! How can I contact you?
  12. Well they ain't gonna ban everyone at the same time I guess, os would only have like 3k players online if they'd do that, and like I said, I wasn't botting half of the time and when I was...I was usually monitoring. Besides...I knew lots of legit players...even me a long time ago...who played alot longer, often and even more botlike then the current osbot but w/e. You can ignore it if you want...but all the recent instant bans I've been seeing around the forums, combined with the removal of randoms tells me that something is wrong
  13. I just got my account banned aswell, which is an account I've had for 9 years, after botting for about 2 days, 10h a day with breaks of ~15min every ~hour... seen alot of other reports on this too lately...maybe jagex came up with a method to detect (this?) bot, while banning them slowly so they don't instantly lose all os players...it would at least give a good explanation to removing randoms.. Edit Those 10 hours were not even full botting hours as I was usually monitoring the account and half the time I was doing something else myself on it
  14. Hey everyone, I'm not sure if this is the right forum but it was the closest I could find to what I'm about to ask, I was about to get into creating scripts for osbot this time, and I remembered the last time I worked on something like this for another bot (which is more then 2 years ago) I was creating a small library to handle the creation of paints in an OOP way, with Swing in mind, although quite different. I did this because I really hated the default way to create those Paints/UIs in an onPaint method and this way you can create a panel, assign a background, add buttons with custom backgrounds etc. It will also be very organized as, for example, you can create separated classes for panels, you can add a click handler on a button instead of checking if it is in the bounds of a rectangle as I'm sure a lot of people are doing through the onPaint button atm. I'm probably going to create something small like this for myself anyways, but if there's interest I may find some time to do this proper and release it. So please let me know what you think about this!
  15. I just bought this script and am trying it out using latest version of osbot (2.2.28) and it fails to walk to the east rock crabs... not only does it click the minimap to slow (standing still for a few seconds sometimes) but when it is at the portal (near Rellekka) it clicks on the ground...then it sometimes attempt to walk 1 point further on the minimap and when you almost arrive there, it clicks back on the spot before the portal. I'd really appreciate it if that gets fixed. It would also be awesome if you can add combat potions to the dropdown as I bought a bunch of them only to find out that most scripts don't support it. The rock crabs are being attacked perfectly though and except the points i just named it seems like a good script so far! EDIT I took some time to make a little video/gif to show you what I meant:

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.