Jump to content

Bobbey

Members
  • Posts

    80
  • Joined

  • Last visited

  • Feedback

    100%

Everything posted by Bobbey

  1. The mouse is not visible by default. You can either render it or enable the mouse position option in the debug options. You can create a mouse move profile and set it like so: MouseMoveProfile profile = new MouseMoveProfile(); profile.setNoise(); profile.setDeviation(); profile.setSpeedBaseTime(); profile.setFlowSpeedModifier(); profile.setMinOvershootTime(); getBot().setMouseMoveProfile(profile); You can move the mouse without using the mouse handler of osbot as described here: https://osbot.org/api/org/osbot/rs07/input/mouse/ClientMouseEventHandler.html#generateBotMouseEvent-int-long-int-int-int-int-boolean-int-int-int-boolean-
  2. Non-SDN scripts are troublesome with resources. You have to download the resources externally. That's why I made some code which can be used to download any image from the oldschool runescape wiki or any other website for that matter. public static CompletableFuture<BufferedImage> getImage(File imageFolder, String fileName, String url) { File imageFile = new File(imageFolder, fileName); //AccessController.doPrivileged gives the new thread permission to read the image from the data directory return CompletableFuture.supplyAsync(() -> AccessController.doPrivileged((PrivilegedAction<BufferedImage>) () -> { try { if (!imageFile.exists()) { downloadImage(url, imageFile); } return ImageIO.read(imageFile); } catch (IOException e) { throw new RuntimeException(e); } })); } private static boolean downloadImage(String urlString, File destination) throws IOException { URL url = new URL(urlString); InputStream in = url.openStream(); FileOutputStream fos = new FileOutputStream(destination); ReadableByteChannel rbc = Channels.newChannel(in); fos.getChannel().transferFrom(rbc, 0, Long.MAX_VALUE); fos.close(); in.close(); return true; } Example usage: //Somwhere in your class private BufferedImage coinIcon; //In your paint method if(coinIcon != null) { g.drawImage(coinsIcon, x, y, null);//Use original dimensions g.drawImage(coinsIcon, x, y, width, height, null); } File imageFolder = new File(getDirectoryData() + File.seperator + "scriptname", "images"); String fileName = "coinstack.png"; String url = "https://oldschool.runescape.wiki/images/Coins_10000.png"; Function<Throwable, Void> errorHandler = e -> { script.log(e); return null; }; ResourceManager.getImage(imageFolder, fileName, url).thenAccept(image -> { coinIcon = image; //Note: this is off the main thread, if youre inserting into lists or maps from multiple of these calls, use synchronized or concurrent collentions and maps. }).exceptionally(errorHandler); The fileName is the name for how it is saved in the data folder. This code spawns a new thread that reads or downloads the image. Then the thenAccept function is called with the buffered image.
  3. I was getting annoyed by osbot installing updates to the home directory and me having to give it executable permissions over and over and looking for the correct file to launch. Therefore I've written a script that creates an application entry so you can just search with the SUPER key on your keyboard and then typing "osbot". The installed script will find the latest jar in your home folder and launch that. Tested on Ubuntu. May work on Fedora, Debian and their derivatives. Note: before installing, make sure there is any osbot jar present in the home directory /home/username/osbot x.x.x.jar Installer Note: the installer requires "osbot_icon.png" in the working directory. This icon needs to be 48x48 or 64x64 or 128x128 etc. You can use this image for example. Don't forget to rename it after downloading. $ sh install.sh Creates a script at /usr/local/bin/osbot which finds and launches the latest osbot.jar in the home directory. Makes the script executable Copies osbot_icon.png to /usr/share/icons/osbot_icons/osbot_icon.png and gives it the correct permissions Creates the desktop entry ~/.local/share/applications/osbot.desktop and gives it the correct permissions Reloads the application database Logs can be found at /tmp/osbot_launcher.log Uninstaller $ sh uninstall.sh Noob guide: Read the comments of this post to see if it's not malicious code. Create a folder somewhere and download the image on this post into it and rename it to osbot_icon.png Right click in the folder -> Open in terminal Type "nano installer.sh" and copy the installer code from this post and right click in the terminal. CTRL + O and CTRL + X to save the script. Type "sh installer.sh" This image is uploaded to osbot and is converted to webp. It's here in case imgur removes the other image:
  4. I appreciate the last 2 updates. 4 things were fixed that were reported by me
  5. It's important to note that it does work sometimes if I am more zoomed out.
  6. I pizza promise I will! I am at the development stage.
  7. This is archived and not guaranteed to work unfortunately.
  8. <15 mins is pretty short. Does that mean youll only break for like 2 mins? Do you log out?
  9. Ban waves are supposed to be pretty random I think. The main reason many accounts are banned on Wednesday is because things change and bots break. They can easily identify if 10000 accounts all of a sudden make the same mistake repeatedly at the same thing. Prime sales will flood the game with a lot of bots so if anything, their hands are fuller. They will probably work hard to compensate for that.
  10. https://www.youtube.com/watch?v=TMC1t2OTi6Q The door probably has nothing to do with it. I have 10k in my inventory If you mean the walker that is in beta, that would most likely have the same issue as it uses webwalking.
  11. I was considering making these. How much do they go for?
  12. But i dont nees to go through that house. And even if it fails to take the door and then still continues onto the dock. Then with barnaby on screen it just fails oit of nowhere PS i notice this is in the wrong section. It's not a mirror issue
  13. Getting from ardougne square to brimhaven using webwalking fails at least twice before success. Camera zoom: 465 WebWalkingEvent; Terminated! Exceeded attempt threshold. last: [Pay-fare] => Captain Barnaby; pos = [x=2676, y=3275, z=0]; Captain is on screen, webwalking decides its a failure anyway. Might it have to do with the fact that the path sortof passes through a door but then does not? (The house with one door and half open)
  14. [INFO][Bot #1][08/14 03:29:19 PM]: WebWalkingEvent; Terminated because of break condition! [INFO][Bot #1][08/14 03:30:21 PM]: WebWalkingEvent; Terminated because of high priority break condition! [ERROR][08/14 03:30:24 PM]: Uncaught exception! java.util.ConcurrentModificationException at java.base/java.util.LinkedList$ListItr.checkForComodification(LinkedList.java:970) at java.base/java.util.LinkedList$ListItr.next(LinkedList.java:892) at e.e.e.e.cOn.paintComponent(aa:721) at java.desktop/javax.swing.JComponent.paint(JComponent.java:1119) at java.desktop/javax.swing.JComponent.paintToOffscreen(JComponent.java:5311) at java.desktop/javax.swing.BufferStrategyPaintManager.paint(BufferStrategyPaintManager.java:246) at java.desktop/javax.swing.RepaintManager.paint(RepaintManager.java:1337) at java.desktop/javax.swing.JComponent._paintImmediately(JComponent.java:5259) at java.desktop/javax.swing.JComponent.paintImmediately(JComponent.java:5069) at java.desktop/javax.swing.RepaintManager$4.run(RepaintManager.java:879) at java.desktop/javax.swing.RepaintManager$4.run(RepaintManager.java:862) at java.base/java.security.AccessController.doPrivileged(AccessController.java:399) at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:86) at java.desktop/javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:862) at java.desktop/javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:835) at java.desktop/javax.swing.RepaintManager.prePaintDirtyRegions(RepaintManager.java:784) at java.desktop/javax.swing.RepaintManager$ProcessingRunnable.run(RepaintManager.java:1898) at java.desktop/java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:318) at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:773) at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:720) at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:714) at java.base/java.security.AccessController.doPrivileged(AccessController.java:399) at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:86) at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:742) at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:203) at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124) at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:113) at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:109) at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101) at java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:90) [ERROR][08/14 03:30:40 PM]: Uncaught exception! java.util.ConcurrentModificationException at java.base/java.util.LinkedList$ListItr.checkForComodification(LinkedList.java:970) at java.base/java.util.LinkedList$ListItr.next(LinkedList.java:892) at e.e.e.e.cOn.paintComponent(aa:721) at java.desktop/javax.swing.JComponent.paint(JComponent.java:1119) at java.desktop/javax.swing.JComponent.paintToOffscreen(JComponent.java:5311) at java.desktop/javax.swing.BufferStrategyPaintManager.paint(BufferStrategyPaintManager.java:246) at java.desktop/javax.swing.RepaintManager.paint(RepaintManager.java:1337) at java.desktop/javax.swing.JComponent._paintImmediately(JComponent.java:5259) at java.desktop/javax.swing.JComponent.paintImmediately(JComponent.java:5069) at java.desktop/javax.swing.RepaintManager$4.run(RepaintManager.java:879) at java.desktop/javax.swing.RepaintManager$4.run(RepaintManager.java:862) at java.base/java.security.AccessController.doPrivileged(AccessController.java:399) at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:86) at java.desktop/javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:862) at java.desktop/javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:835) at java.desktop/javax.swing.RepaintManager.prePaintDirtyRegions(RepaintManager.java:784) at java.desktop/javax.swing.RepaintManager$ProcessingRunnable.run(RepaintManager.java:1898) at java.desktop/java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:318) at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:773) at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:720) at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:714) at java.base/java.security.AccessController.doPrivileged(AccessController.java:399) at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:86) at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:742) at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:203) at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124) at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:113) at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:109) at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101) at java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:90) My character was walking the previous path reversed when I already cleared that path to make a new one. Perhaps it has to do with the trace as this might mess up the order of pathing or the path might not have been cleared properly. [Edit] this error seems to occur when I start a walk, stop it, then drag the map
  15. Yeah thanks. But I am mostly reporting it so that the underlying problem can be fixed
  16. Bug report. If I start the script at the top floor of the lumbridge castle the script crashes.
  17. Though the performance was temporarily choppy for a minute the other day, that is not really the issue for me. The issue with the website is that it is hard to make areas tile exact and you cannot see them ingame to confirm exactness. Also I cannot put in existing areas in the textarea of the page. Something I can do in the script. The latter would be an improvement for me personally.
  18. Dear god. The quality is insane like always with @Explv I notice the culling etc. You build good software. Been using the website for years for using with scripting. It would be nice if you could add location assistance in this. Just like the location assistant script. I don't like the location assistant and website combo so much and I think if you add area selection to this, that I would really use this! The problem with the website is that it is slow and funky to use. The problem with the location assistant is that it's only usable on the canvas. If I could select areas on the map in this script and see them in game that would be awesome! I dreamed about a script like this a couple times. Now it's real.
  19. The following code always returns false even if you are able to use the spell. https://oldschool.runescape.wiki/w/Arceuus_Home_Teleport getMagic().castSpell(Spells.ArceuusSpells.ARCEUUS_HOME_TELEPORT)
×
×
  • Create New...