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.

Working OCR - Thoughts?

Featured Replies

I've always wanted a way to collect data visually and although this approach is impractical for many applications, there are a few advantages in having optical character recognition. Below is a short demonstration video in scanning the screen for the character 'E'.

 

https://www.youtube.com/watch?v=itYcXz5603w

 

This is my first time ever trying to make an OCR type of system and I am pretty clueless to what algorithms already exist. Searching a canvas for a single character alone consumes a ton of resources and ensuring that my search is optimized is very important. 

 

When developing the OCR search, I initially came up with something I called the ink blot. The ink blot would search pixel by pixel and try to create a shape based on the color of pixels which surround it. This shape would then be compared against the character which I was searching for and determined if they had identical points. The problem was clear, after about 500 pixels (I was searching over 250k pixels), creating shapes for each pixel point was too resource intensive.

 

The second search method which I created is something I'll refer to as the typewriter. The character which I'm looking for is essentially stamped at each position and checked to see if the colors at that stamp match the points of my character. This means the character 'E' was checked quickly over a few thousands times at varying positions on the screen. 

 

        ocr.setBot(getBot());
        if (ocr.getBot() != null) {
            OC character = ocr.findChar('E');
            if (character != null) {
                System.out.println("Found character at: " + character.getX() + "," + character.getY());
            } else {
                System.out.println("The character was not found!");
            }
        } else {
            System.out.println("The OCR bot is null");
        }

This was a fun project which took me a little under 3 hours to complete, so searching for full words and other features from a fully developed OCR system is not apparent.

 

With this said, would any script developers or botters find use from something like this? 

Use: to tell when trying to use the auto account login if 1. you've been banned, 2. game updates, stop spamming login

  • Author

Use: to tell when trying to use the auto account login if 1. you've been banned, 2. game updates, stop spamming login

 

Funny that you mention this because Maxi wanted me to work on OSRS update handling found here. There are a few codes which already exist that should be able to tell this.

Use: to tell when trying to use the auto account login if 1. you've been banned, 2. game updates, stop spamming login

 

Just get 5 pixel and check if they are the same color = Finish.

I've always wanted a way to collect data visually and although this approach is impractical for many applications, there are a few advantages in having optical character recognition. Below is a short demonstration video in scanning the screen for the character 'E'.

 

https://www.youtube.com/watch?v=itYcXz5603w

 

This is my first time ever trying to make an OCR type of system and I am pretty clueless to what algorithms already exist. Searching a canvas for a single character alone consumes a ton of resources and ensuring that my search is optimized is very important. 

 

When developing the OCR search, I initially came up with something I called the ink blot. The ink blot would search pixel by pixel and try to create a shape based on the color of pixels which surround it. This shape would then be compared against the character which I was searching for and determined if they had identical points. The problem was clear, after about 500 pixels (I was searching over 250k pixels), creating shapes for each pixel point was too resource intensive.

 

The second search method which I created is something I'll refer to as the typewriter. The character which I'm looking for is essentially stamped at each position and checked to see if the colors at that stamp match the points of my character. This means the character 'E' was checked quickly over a few thousands times at varying positions on the screen. 

 

        ocr.setBot(getBot());
        if (ocr.getBot() != null) {
            OC character = ocr.findChar('E');
            if (character != null) {
                System.out.println("Found character at: " + character.getX() + "," + character.getY());
            } else {
                System.out.println("The character was not found!");
            }
        } else {
            System.out.println("The OCR bot is null");
        }

This was a fun project which took me a little under 3 hours to complete, so searching for full words and other features from a fully developed OCR system is not apparent.

 

With this said, would any script developers or botters find use from something like this? 

 

 

In what way did you ultimately decide to compare the pixles? I am somewhat familiar with letter recognition using linear algebra. You can compare two vectors and finding the difference determine what character you are currently examining, or not examining. I have never really thought to do this with a bot client, but you kind of sparked an interest, maybe I will do it for fun once I have some time. :p

Just get 5 pixel and check if they are the same color = Finish.

 

 

This would be the worst character recognition system to date.

But for checking if you are banned it works perfect.

but there's already a method that tells us if the player has been banned or if there's an update

and more. Not exactly sure what method it is.

It's a method within either the bot or client class it returns an int and depending on the int is what is happening

Edited by josedpay

I have no idea how to sccript but it looks so cool good job!!!

I suppose this is neat, but almost entirely useless. Instead, lets add industry standards to this bot like web walking.

I suppose this is neat, but almost entirely useless. Instead, lets add industry standards to this bot like web walking.

 

 

^ this

Yeah, sometimes simple OCR is very good, if bot have'nt some API for example, and need identify text or object on screen. But, algorithm chosen depends on task needed to solve. In botting, usually can do pixel-based search of specific color key pixel(s), then test possible candidate areas more precisely. It gives high performance.

Guest
This topic is now closed to further replies.

Recently Browsing 0

  • No registered users viewing this page.

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.