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.

Hard Body Maker

Featured Replies

Tired of crafting? Angry that there is no free crafting bot for the bs early levels? This shitty, but functional, script made in 7 minutes is the perfect solution.

 

 

 

 

Directions:

Make a tab with needles, threads, and hard leathers.

Stand in front of a bank chest (I use castle wars bank chest)

Start the script

Level up

 

 

Source: 

import org.osbot.rs07.api.model.Entity;
import org.osbot.rs07.api.ui.RS2Widget;
import org.osbot.rs07.script.Script;
import java.util.concurrent.TimeUnit;
import org.osbot.rs07.script.ScriptManifest;

import java.awt.*;

@ScriptManifest(author = "Christ1665", info = "Hard Body Maker (use near a bank chest)", name = "Hard Bodies", version = 0, logo = "")
public class main extends Script {
	


	@Override
	public void onStart() {
		
		
	}

	private enum State {
		BANK, SETTING_UP, WORKING
	}

	private State getState() {
		
	
		if (bank.isOpen())
		{
			return State.BANK;
		}
		
		if (!players.inventory.contains("Hard Leather") || !players.inventory.contains("Needle") || !players.inventory.contains("Thread"))
		{
			return State.SETTING_UP;
		}
		
		if (players.inventory.contains("Hard Leather") || players.inventory.contains("Needle") || players.inventory.contains("Thread"))
		{
			return State.WORKING;
		}
		
		
		
		return null;
		


	}

	@Override
	public int onLoop() throws InterruptedException 
	{
		
		switch(getState()) {
		case BANK:
			if (!players.getInventory().isEmpty()){
				bank.depositAll();
			}
			bank.withdraw("Hard leather", 26);
			bank.withdraw("Needle", 1);
			bank.withdraw("Thread", 12);
			bank.close();
			
			break;
			
		case SETTING_UP:
			Entity bank = objects.closest("Bank Chest");
			bank.interact("Use");
			break;
			
		case WORKING:
			getInventory().getItem("Hard leather").interact("Use");
			getInventory().getItem("Needle").interact("Use");
			sleep(random(700, 950));
			RS2Widget w = widgets.get(309, 2);
			if (w != null)
			w.interact("Make ALL");
			sleep(random(20000, 28000));
			

		
		}

		return random(500, 800);
	}

	@Override
	public void onExit() {
		
	}

	@Override
	public void onPaint(Graphics2D g) {
	   
	}

} 

Jar:

 

http://www.mediafire.com/download/ko4uao5prg1w18d/Christ1665.jar

 

 

Pic:

25633be38071ec842413f80565095114.png

Edited by Chris1665

right on man keep up the good work and I feel you them first levels are rough XD

right on man keep up the good work and I feel you them first levels are rough XD

  • 2 weeks later...
  • Author

I don't feel safe with your script tbh

 

 

How do I make it more safe? I can make shit do the things I want it to but other than that idk what to do, like adding antiban and shit like that. Are there any tutorials on stuff like that because it seems everything out there just tells you how to make your character do basic things like interact with objects, etc? Also, It's really only meant to be run for like an hour to get the early levels but I do know what you mean, its very basic.

Edited by Chris1665

How do I make it more safe? I can make shit do the things I want it to but other than that idk what to do, like adding antiban and shit like that. Are there any tutorials on stuff like that because it seems everything out there just tells you how to make your character do basic things like interact with objects, etc? Also, It's really only meant to be run for like an hour to get the early levels but I do know what you mean, its very basic.

First thing first, in your logic I see some flaws. Like the 3 if statement should not have or options (||) but more of and options (&&).

Second it is pron to failing more easier than if I was to write that script. For example your banking method. You have no safty checks like what if someone using the script lags for some reason and It skips the part of closing the bank. Because of your logic, it will stay on bank and redo the whole process.

I'm not saying that the script is bad because it basic. But I'm saying it's not as safe to run for longer of periods and it must be in supervision at most of the time. Like you said it meant to run for like and hour that's all. Which btw is pretty good for the first script.

Just because it does not have antiban doesn't mean it's bad. But I prefer adding variables and giving everybody on the start of the script a certain variable so that the players have an anti pattern profile. <- idk if you follow what I'm saying

  • Author

First thing first, in your logic I see some flaws. Like the 3 if statement should not have or options (||) but more of and options (&&).

Second it is pron to failing more easier than if I was to write that script. For example your banking method. You have no safty checks like what if someone using the script lags for some reason and It skips the part of closing the bank. Because of your logic, it will stay on bank and redo the whole process.

I'm not saying that the script is bad because it basic. But I'm saying it's not as safe to run for longer of periods and it must be in supervision at most of the time. Like you said it meant to run for like and hour that's all. Which btw is pretty good for the first script.

Just because it does not have antiban doesn't mean it's bad. But I prefer adding variables and giving everybody on the start of the script a certain variable so that the players have an anti pattern profile. <- idk if you follow what I'm saying

 

Yes I get what your saying. In the future Ill add more checks. I wasn't really thinking about it like that at the time. Thanks for the help

  • 1 month later...
  • 3 months later...

and here a simple mod tongue.png

won't call it a mod, i needed this, so i only changed few line biggrin.png

 

this will make unfinished marrentill pots..

 

 
Directions:
Make a tab with vials of water and marrentill herbs (clean)
Stand in front of a bank chest (I use castle wars bank chest)
Start the script
make em all biggrin.png
 
import org.osbot.rs07.api.model.Entity;
import org.osbot.rs07.api.ui.RS2Widget;
import org.osbot.rs07.script.Script;
import java.util.concurrent.TimeUnit;
import org.osbot.rs07.script.ScriptManifest;

import java.awt.*;

@ScriptManifest(author = "Christ1665-> simple transform by iz0n", info = "unfinished potion maker (use near a bank chest)", name = "unf pots", version = 0, logo = "")
public class main extends Script {
	


	@Override
	public void onStart() {
		
		
	}

	private enum State {
		BANK, SETTING_UP, WORKING
	}

	private State getState() {
		
	
		if (bank.isOpen())
		{
			return State.BANK;
		}
		
		if (!players.inventory.contains("Marrentill") || !players.inventory.contains("Vial of water"))
		{
			return State.SETTING_UP;
		}
		
		if (players.inventory.contains("Marrentill") || players.inventory.contains("Vial of water"))
		{
			return State.WORKING;
		}
		
		
		
		return null;
		


	}

	@Override
	public int onLoop() throws InterruptedException 
	{
		
		switch(getState()) {
		case BANK:
			if (!players.getInventory().isEmpty()){
				bank.depositAll();
			}
			bank.withdraw("Vial of water", 14);
			bank.withdraw("Marrentill", 14);
			bank.close();
			
			break;
			
		case SETTING_UP:
			Entity bank = objects.closest("Bank Chest");
			bank.interact("Use");
			break;
			
		case WORKING:
			getInventory().getItem("Marrentill").interact("Use");
			getInventory().getItem("Vial of water").interact("Use");
			sleep(random(700, 950));
			RS2Widget w = widgets.get(309, 2);
			if (w != null)
			w.interact("Make ALL");
			sleep(random(10000, 13000));
			

		
		}

		return random(500, 800);
	}

	@Override
	public void onExit() {
		
	}

	@Override
	public void onPaint(Graphics2D g) {
	   
	}

}

if you wish for another type of herb, just look at the source and replace "Marrentill" with the herb you want. ""Case sensitive""

Edited by iz0n

  • 2 weeks later...

Banking is weird, and sometimes it tries to use a hard body on the needle. Could be sped up also. But a good script for those who need it.

Create an account or sign in to comment

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.