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.

RWS

Members
  • Joined

  • Last visited

Everything posted by RWS

  1. RWS posted a topic in Introductions
    Hi all Just returned from a big hiatus from RS/OSRS. Returning for good, and going to stay at OSBot longer this time (last eyar I joined, and didn't stay long). To prove my commitment to the community I made a $150 sponsor. I hope this helps the devs with their expenses whilst developing OSBot 2. I hope to have fun and in the near future I will be selling OSGP. Let me know who you are and if you want to chat just hit me up!
  2. Thanks a bunch.. took 2 mins max to buy 25M via BACS! Will return!
  3. RWS replied to mathkid76's topic in Archive
    To be honest whether doing "research" teaches you that the majority of the scripts are broken on here, every user shouldn't need to take it upon themselves to look elsewhere (other than the official SDN buy page) to find out whether it is or is not working. If the script is not working, it should be fixed. If the script is not working for weeks and months, it should be temporarily removed. That being said, Divine has expressed intention to fix the scripts.. but how much longer are we going to have to wait? I paid a week or two ago now and I do not wish to wait further,
  4. RWS replied to RWS's topic in Archive
    Maples are right there.
  5. Thanks. This works great now. Brilliant help, thanks.
  6. RWS replied to RWS's topic in Snippets
    Well that's true. Maybe I'll work on a more flexible one when I get time!
  7. RWS replied to RWS's topic in Snippets
    That'd make a more diverse system, but most paints are background + text, hence why it was made how it was. A script shouldn't focus on much more than one background and some text for a paint, given that it's just for information delivering. But that's just my opinion.. your way would work great if you wanted more complex paints.
  8. RWS posted a topic in Snippets
    This will provide a class for you to easily implement a Paint (optional that you can allow dragging of it over the applet). DraggablePaint.java: import java.awt.Color; import java.awt.Font; import java.awt.Graphics2D; import java.awt.Image; import java.awt.Point; import java.awt.event.MouseEvent; import java.io.IOException; import java.net.URL; import java.util.HashMap; import java.util.Map; import javax.imageio.ImageIO; /** * * @author Yah Mie @ OSBot * */ public class DraggablePaint { private Point location; private int width; private int height; private Image background = null; private Map<Point, Map<String, Object>> texts; private boolean beingDragged = false; private Point draggedFrom; /** * Constructors */ public DraggablePaint(Point location, int width, int height) { this.location = location; this.width = width; this.height = height; flushText(); } public DraggablePaint(int x, int y, int width, int height) { this.location = new Point(x, y); this.width = width; this.height = height; flushText(); } /** * Set background image * Renders at 0,0 * @param URL */ public void setBackgroundImage(String URL) { try { background = ImageIO.read(new URL(URL)); } catch (IOException e) { background = null; } } /** * Move location of paint * @param location */ public void moveTo(Point location) { this.location = location; } /** * Write text at position * Relative to paint * * @param text * @param at */ public void writeText(String text, Point at) { Map<String, Object> textConfig = new HashMap<String, Object>(); textConfig.put("text", text); textConfig.put("font", new Font("Arial", 1, 12)); textConfig.put("color", Color.black); texts.put(at, textConfig); } /** * Write text at position * Specified color & font * Relative to paint * * @param text * @param at */ public void writeText(String text, Point at, Color colour, Font font) { Map<String, Object> textConfig = new HashMap<String, Object>(); textConfig.put("text", text); textConfig.put("font", font); textConfig.put("color", colour); texts.put(at, textConfig); } /** * Flushes all texts ready to be written to again */ public void flushText() { texts = new HashMap<Point, Map<String, Object>>(); } /** * Handle Mouse Events * * @param eventType * @param e * * Called upon MouseEvent: mousePressed * Called upon MouseEvent: mouseReleased * Called upon MouseEvent: mouseDragged */ public void draggable(String eventType, MouseEvent e) { if (eventType.equalsIgnoreCase("mousePressed")) { Point point = e.getPoint(); if (point.x >= location.x && point.x <= location.x + width && point.y >= location.y && point.y <= location.y + height) { beingDragged = true; draggedFrom = new Point(point.x, point.y); } } else if (eventType.equalsIgnoreCase("mouseReleased")) { Point point = e.getPoint(); if (point.x >= location.x && point.x <= location.x + width && point.y >= location.y && point.y <= location.y + height) { beingDragged = false; } } else if (eventType.equalsIgnoreCase("mouseDragged")) { if (beingDragged) { location.x = e.getX() - (draggedFrom.x - location.x); location.y = e.getY() - (draggedFrom.y - location.y); draggedFrom = new Point(e.getX(), e.getY()); /* Off-screen fixes */ if (location.x < 0) { location.x = 0; } if (location.x + width > 763) { location.x = 245; } if (location.y < 0) { location.y = 0; } if (location.y + height > 502) { location.y = 428; } } } } /** * Called upon onPaint */ public void draw(Graphics2D g) { if (background != null) { // Draw background g.drawImage(background, location.x, location.y, null); } if (texts.size() > 0) { for (Map.Entry<Point, Map<String, Object>> text : texts.entrySet()) { Map<String, Object> textConfig = text.getValue(); // Set Font and Color g.setColor((Color)textConfig.get("color")); g.setFont((Font)textConfig.get("font")); // Draw text at location g.drawString((String)textConfig.get("text"), location.x + text.getKey().x, location.y + text.getKey().y); } } } } Usage: import java.awt.*; import java.awt.event.MouseEvent; import org.osbot.script.Script; import org.osbot.script.ScriptManifest; @ScriptManifest(author="Yah Mie", version=1, info="", name="Yah Mie's Draggable Paint Demo") public class ScriptWithDraggablePaint extends Script { private DraggablePaint paint; public ScriptWithDraggablePaint() { paint = new DraggablePaint(0, 268, 519, 76); // X, Y, WIDTH, HEIGHT paint.setBackgroundImage("http://oi41.tinypic.com/2gvrbc1.jpg"); } @Override public void mousePressed(MouseEvent e) { paint.draggable("mousePressed", e); } @Override public void mouseReleased(MouseEvent e) { paint.draggable("mouseReleased", e); } @Override public void mouseDragged(MouseEvent e) { paint.draggable("mouseDragged", e); } @Override public void onPaint(Graphics g) { Graphics2D gr = (Graphics2D) g; paint.flushText(); paint.writeText("Running for: 00:30:00", new Point(20, 24)); paint.writeText("XP Gained: 500,000", new Point(20, 44)); paint.writeText("XP Per Hour: 1,000,000", new Point(20, 59)); paint.writeText("Logs Burned: 1,500", new Point(210, 44)); paint.writeText("XP Per Hour: 3,000", new Point(210, 59)); paint.draw(gr); } } If you don't want to implement dragging then do not implement the mouse events (draggable() method). All methods provided by DraggablePaint.java: DraggablePaint(Point location, int width, int height) DraggablePaint(int x, int y, int width, int height) setBackgroundImage(String URL) - Sets background image from URL (drawn at 0, 0) moveTo(Point location) - Moves paint to specified location of applet writeText(String text, Point at) Write text at specified location (relative to paint) with Arial 12pt Black writeText(String text, Point at, Color colour, Font font) - Write text at specified location (relative to paint) with custom font and colour flushText() - Clears all text form paint draggable(String eventType, MouseEvent e) - Handles mouse events for dragging. All three pressed, released and dragged must be implemented for dragging to work. draw(Graphics2D g) - Draws paint onto graphics Finally some tests: I'm welcome to questions or comments. All written by I, have fun!
  9. RWS replied to RWS's topic in Archive
    Usually I'd be more efficient, as I'm a programmer by job, but I threw together this script pretty quickly as it's purpose really was to just get my own firemaking level up. But thanks anyway.
  10. RWS replied to RWS's topic in Archive
    Thanks for feedback I've added duel arena to the todo list Updated DL link to dropbox
  11. RWS posted a topic in Archive
    YM's FireStarter V0.5 Features - Logs supported: Regular, Oak, Willow, Teak, Yew, Magic - Locations supported: Varrock east and west, Falador east, Draynor, Al Kharid, Seers Village - Supports multiple log types (burns higher level logs first) - Fairly descriptive, draggable (moveable) paint To Do - Add detection for objects on floor - Test locations more thoroughly - Add duel arena - Add support for picking up logs if it failed to burn Downloads Download YM FireStarter 0.5 History - v0.5: released More Information Most locations aren't tested very well as I have not ran it long at any locations except Varrock and Falador. However, Varrock (both East abnd West) and Falador work exceptionally well and are probably your best bet. Draynor Village and Seers Village are slower as they do not have as much space. I ran this script at Falador for 4-5 hours and was burning around 800-1000 logs an hour (about 170k xp/ph with Yew Logs) I will try to submit a real proggy later on (please post yours if you run it and i'll publish them here) but for now here's a visual look on the paint: Here's also an image of the configuration setup GUI:
  12. RWS replied to mathkid76's topic in Archive
    Ok so I just bought this script yesterday, assuming things were fixed or being fixed as no official warning or notification has been given by OSBot, and it is still being sold as if it works as intended. Divine Firelighter does not work properly. It keeps breaking. Are there going to be any updates and fixes on this or should I file for a refund? I've seen a few messages on the subject of "no refunds" now, and honestly that is all bullshit. If OSBot sells me a script (regardless of whether OSBot didn't program it, they're selling it) that doesn't work, and they know it doesn't, then I (and anyone else who bought it recently) is entitled to a refund. Anyway, can we get an answer on this so I can decide what I need to do about this?
  13. RWS replied to Kati2's topic in Archive
    Just one of my proggies. Got 55-99 with this. NEVER failed, not once. I always just straight up left all nats and all alch items in inventory (usually 50k+ at a time). Thanks for this!

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.