Skip 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.

Leaderboard

Popular Content

Showing content with the highest reputation on 08/06/25 in Posts

  1. 2 points
    Hey, This version brings support for the latest game revision. Mirror is still being updated. API CHANGES: - Added support for the new Quests WEB WALKER: - Fixed a couple broken links MISC: - Minor bug fixes. - The OSBot Team
  2. 2 points
    Appreciate the update Czar, ps your scripts are really good! Main ones I use. @Czar
  3. ๐Ÿ‘‘CzarScripts #1 Bots ๐Ÿ‘‘ ๐Ÿ‘‘ LATEST BOTS ๐Ÿ‘‘ If you want a trial - just post below with the script name, you can choose multiple too. ๐Ÿ‘‘ Requirements ๐Ÿ‘‘ Hit 'like' ๐Ÿ‘ on this thread
  4. 1 point
    1.00, must be the issue. i'll wait.
  5. Hey! Does this handle oak doors? Larders are working nicely but just wondering if doors have been added/tested too
  6. 1 point
    Oh if the client will be up in 30 min, don't worry about it lol. I just wasn't sure how long it'll be down.
  7. 1 point
    Thank you, any chance I might be able to move it to start tmrw since the client is down? or do you think it'll be patched pretty quickly?
  8. May I have a trial please?
  9. 1 point
    current version is down right now due to update?
  10. Sheesh, looks crazy. The script works great, Czar King is back
  11. He is back, with an other banger. Best of luck with this one!
  12. 1 point
    I would love a trial if possible!
  13. 1 point
    boom fast forward years later used this bot again and got 99 on my main and alt left bot running 16-26 hours no breaks at a time.. easy .. ty for free script.
  14. 1 point
    I run the majority of your scripts and I love them, keep up the good work. Absolutely amazing, appreciate all the work you have done.
  15. With the release of OSBot Native, which focuses on native code, getting started with scripting may seem a bit daunting at first. However, once you get the hang of it, scripting is just as easy as it ever was! OSBot Native is built on the Rust language, which means we mainly support scripting in Rust natively. Other FFI-compatibles languages will be added later on, but there is no ETA for this yet. Getting Started To set up a new script project, use the following command: cargo new sample_script --libThis command will create a new project, including a `lib.rs` and `Cargo.toml` file. The `lib.rs` file will serve as your entry point for the script. You can add other files if needed, but make sure to keep `lib.rs` as the main file. Next, youโ€™ll want to add the OSBot API dependency and set up your crate as a `cdylib` (this tells Rust that we want to build a shared library). Open the `Cargo.toml` file and ensure it looks something like this: [package] name = "sample_script" version = "0.1.0" edition = "2021" [lib] crate-type = ["cdylib"] [dependencies] osbot_api = { git = "https://github.com/OSBotNative/stub_api", features = ["script"] } Depending on your IDE, it should automatically start syncing and downloading the dependencies. If this doesn't happen, you can manually run the following command: cargo update Now, open the `lib.rs` file, delete any existing content, and paste in the script template. use osbot_api::api::script::script::Script; use osbot_api::api::script::script_metadata::{ScriptCategory, ScriptMetadata}; #[no_mangle] pub extern "C" fn metadata() -> ScriptMetadata { ScriptMetadata { name: "Sample Script".to_string(), author: "Patrick".to_string(), version: 1.0, info: "Getting started with native scripting".to_string(), logo: "https://i.gyazo.com/cff84f44847c548c9024b5a06384a73d.png".to_string(), category: ScriptCategory::Other,}} #[osbot_api::script_exports] pub struct SampleScript; impl Script for SampleScript { fn new() -> Self { Self { }} fn on_start(&mut self, params: Option<String>) {} fn on_loop(&mut self) -> i32 { 250}}Much of this code should be familiar to you, though in a new style. Weโ€™ve done our best to make the entire API feel as close to the Java API as possible, making the transition to Rust as easy as it can be! As in Java, a script will include the standard functions like `on_start`, `on_loop`, `on_pause`, `on_stop`, `on_resume`, and `on_render`. You can Ctrl+Click on `Script` (between `impl` and `for`) to open the `Script` trait file and see all the available functions. Letโ€™s start by creating a simple powerfisher script. The pseudocode for this would look something like: if inventory is full { drop all fish } else { if not fishing { start fishing } } All API functions are prefixed with the object you want to interact with, followed by the action: `inventory_something`, `bank_something`, `quests_something`, `npcs_something`, etc. So to check if the inventory is full, you can use: if inventory_is_full() { }If the inventory is full, we want to drop the fish. This is just as easy: inventory_drop_all_by_id(317); OR inventory_drop_all_by_name("Shrimp");These API functions automatically handle opening the inventory if it isnโ€™t already open. And just like that, half of our script is complete! Interacting with the fishing spot is a bit more complex, but still quite easy. First, we need to get the local player and check if it exists. If it does, we check whether the player is moving or animating. If neither is true, we can start looking for a fishing spot. If one is found, we can interact with it. In Java, we'd use `!= null` to check if something exists. Rust doesnโ€™t have this, so we use the `Option` type. An `Option` can be either `Some` or `None`, similar to checking for `null` in Java. For scripting, I prefer the following syntax: if let Some(local_player) = players_get_local_player() { }This attempts to get the local player, and if successful (`Some`), it returns the value. In Java, this would be written like: Player localPlayer = getPlayers().myPlayer();if (localPlayer != null) { } To check if the local player is idle (not moving or animating), we can do the following: if !local_player.is_moving() && !local_player.is_animating() { } Once the player is idle, we can find and interact with the fishing spot and wait until we're fishing. For this example, we'll wait up till 7500 milliseconds and checking if we're fishing every 250 milliseconds. This is done as follows: if let Some(fishing_spot) = npcs_find_closest_by_name("Fishing spot") { if fishing_spot.interact("Net") { utils_sleep_conditional(7500, 250, || { local_player.is_animating() });}}Just like item dropping handles the required conditions to drop the items, interact will ensure you can interact with the fishing spot by either walking to it or moving the camera. If you want to tweak these settings, check out the function `interact_args`. And now you have your first script completed! On to building and running it. Building The Script Read Section 14: https://osbot.org/forum/topic/203264-getting-started-rust-project-setup-rustrover-ide/ I hope this post gives enough information to start scripting using the Native API. If there are any questions; ask away! - The OSBot Team

Account

Navigation

Search

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.