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.

[Safest CMB lvls] Updated NMZ Script. [Profitable

Featured Replies

Released solely because my main account finally received a two-day ban from god knows what. Might of been due to my new method for 1m/hr but anyway heres the release due me no longer interested in botting since both my main and pure are two-day banned.

 

What it does;

- Flicks prayer

- Drinks Overloads

- Drinks Absorptions

 

What you need to do;

- Rockcake yourself to 51hp

- Manually drink the overload and absorption pots and also flick your hp regen

- Activate script and go AFK for a few hours

 

What you can do;

- Download script

- add a safecheck for when your outside NMZ to logout

- make your own trading system for full automation (Not giving you guys that part ;p)

 

What you can expect;

I've successfully botted the following stats using this script 12-16hr/s a day.

99 & 90 Range

99 Strength x2

99 & 60 Attack

99 Defence

import org.osbot.rs07.api.Quests;
import org.osbot.rs07.api.Quests.Quest;
import org.osbot.rs07.api.Widgets;
import org.osbot.rs07.api.model.Entity;
import org.osbot.rs07.api.model.Player;
import org.osbot.rs07.api.ui.PrayerButton;
import org.osbot.rs07.api.ui.RS2Widget;
import org.osbot.rs07.api.ui.Skill;
import org.osbot.rs07.api.ui.Tab;
import org.osbot.rs07.script.Script;
import org.osbot.rs07.script.ScriptManifest;

import java.awt.*;
import java.text.NumberFormat;
import java.util.Locale;

@ScriptManifest(
		author = "7331337", 
		info = "OVERLOADS, DRINKS AND FLICKS", 
		name = "NMZone", 
		version = 0.36, 
		logo = "")
public class main extends Script {
	long scriptStartTime = System.currentTimeMillis();
	long beginTime = System.currentTimeMillis();
	long endTime = System.currentTimeMillis();
	int startExp = 0;
	int currentExp = 0;
	int randomTime = random(14142, 48476);
	int drinkAt = random(260, 654);
	String[] myPotions = {"Absorption (1)","Absorption (2)","Absorption (3)", "Absorption (4)"};
	String[] myPotions2 ={"Overload (1)","Overload (2)","Overload (3)", "Overload (4)"};
	
	@Override
	public void onStart() {
		startExp = skills.getExperience(Skill.HITPOINTS);
		log("----------------------");
		log("- Started heres info -");
		log("- Timer set to; " + randomTime);
		log("- drinkAt set to; " + drinkAt);
		log("----------------------");
	}

	@Override
	public int onLoop() throws InterruptedException {
		beginTime = System.currentTimeMillis();
		long timeDifference = beginTime - endTime;
		currentExp = skills.getExperience(Skill.HITPOINTS);
		
		if (timeDifference > randomTime){
			while (prayer.open() != true){
				prayer.open();
				sleep(random(176,471));
			}
			while (prayer.isActivated(PrayerButton.RAPID_HEAL) != true){
				sleep(random(897,1474));
				prayer.set(PrayerButton.RAPID_HEAL, true);
			}
			while (prayer.isActivated(PrayerButton.RAPID_HEAL) != false){
				sleep(random(987,1642));
				prayer.set(PrayerButton.RAPID_HEAL, false);
			}
			
			randomTime = random(12142, 51476);
			endTime = System.currentTimeMillis();
			//log("Updating timer new time diff;" + randomTime);
		}
		
		if (myPlayer().getHealth() > 51 && inventory.contains(myPotions2)){
			while (getTabs().getOpen() != Tab.INVENTORY){
				getTabs().open(Tab.INVENTORY);
				sleep(random(147,412));
			}
			while (myPlayer().getHealth() > 51){
				inventory.interact("Drink", myPotions2);
				sleep(random(457,1024));
			}
		}
		
		if (widgets.get(202, 2, 9).getMessage() != null){
			int currentAbsorption = 999;
			if (widgets.get(202, 2, 9).getMessage() == "1,000"){
				currentAbsorption = 1000;
			} else {
				currentAbsorption = Integer.parseInt(widgets.get(202, 2, 9).getMessage());
			}
			
			 
			if (currentAbsorption < drinkAt && inventory.contains(myPotions)){
				drinkAt = random(260, 654);
				if (getTabs().getOpen() != Tab.INVENTORY){
    				getTabs().open(Tab.INVENTORY);
    				sleep(random(200,550));
    			}
				while (currentAbsorption < 910){
					currentAbsorption = Integer.parseInt(widgets.get(202, 2, 9).getMessage());
    				inventory.interact("Drink", myPotions);
    				sleep(random(651,1271));
    				// check our time just incase we go past it and stop drinking
    				beginTime = System.currentTimeMillis();
    				timeDifference = beginTime - endTime;
    				if (!inventory.contains(myPotions)){
    					break;
    				}
    				if (timeDifference > randomTime){
    					break;
    				}
				}
				
			}
		}
		return random(40, 100);
	}

	@Override
	public void onExit() {
		log("");
	}

	
    private final Color color1 = new Color(204, 255, 51, 56);
    private final Color color2 = new Color(0, 0, 0);
    private final Color color3 = new Color(102, 255, 102);
    private final Color color4 = new Color(255, 204, 51);

    private final BasicStroke stroke1 = new BasicStroke(1);

    private final Font font1 = new Font("Arial", 0, 20);
    private final Font font2 = new Font("Arial", 0, 18);



	@Override
	public void onPaint(Graphics2D g) {
		// -- Get runtime
        long totalRunTime = System.currentTimeMillis() - scriptStartTime;
        long secondsRunTime = totalRunTime / 1000;
        long minutesRunTime = 0;
        if(secondsRunTime >= 60) {
            minutesRunTime = secondsRunTime / 60;
            secondsRunTime = secondsRunTime - (minutesRunTime * 60);
        }
        String strRunTime = "";
        if(minutesRunTime > 0)
            strRunTime += minutesRunTime + "mins ";
        strRunTime += secondsRunTime + "s";
        // -- get 
        double totalExp = (currentExp - startExp);
        totalExp = totalExp + (totalExp * 1.33);
        String strTotalExp = NumberFormat.getNumberInstance(Locale.ENGLISH).format(totalExp);
        String strTime = NumberFormat.getNumberInstance(Locale.ENGLISH).format(randomTime);
		String strDrinkAt = NumberFormat.getNumberInstance(Locale.ENGLISH).format(drinkAt);
        // -- draw stuff
        
        g.setColor(color1);
        g.fillRoundRect(143, 6, 211, 88, 16, 16);
        g.setColor(color2);
        g.setStroke(stroke1);
        g.drawRoundRect(143, 6, 211, 88, 16, 16);
        g.setFont(font1);
        g.setColor(color3);
        g.drawString("New Timer:", 147, 28);
        g.drawString("Drink At:", 147, 48);
        g.drawString("EXP Gained:", 147, 68);
        g.drawString("Run Time:", 147, 88);
        g.setFont(font2);
        g.setColor(color4);
        g.drawString(strTime, 265, 28);
        g.drawString(strDrinkAt, 265, 48);
        g.drawString(strTotalExp, 265, 68);
        g.drawString(strRunTime, 265, 88);
       
	}

} 

Jar Download; http://multiupload.biz/csam18bjkj5p/NMZone_MultiUpload.biz.jar.html

Edited by 7331337

  • 2 weeks later...
  • 3 weeks later...

please dont use while loops :o

		if (myPlayer().getHealth() > 51 && inventory.contains(myPotions2)){
			while (getTabs().getOpen() != Tab.INVENTORY){
				getTabs().open(Tab.INVENTORY);
				sleep(random(147,412));
			}
			while (myPlayer().getHealth() > 51){
				inventory.interact("Drink", myPotions2);
				sleep(random(457,1024));
			}
		}
  • 3 weeks later...
  • 1 month later...

Anybody used it yet?

Also wondering! I'm about to buy V.I.P and i really want a NMZ script. 

  • 2 weeks later...

I havn't used this for botting , but thank you for the source. I'll use this to learn how it works.

  • 9 months later...

This is cool - i have similar script but done using a mouse recorder - my one has gained me over 140m exp banfree :D on accs with 2day bans lmao

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.