Please note that this is not the actual paid version, it is just a much faster version of the original, which is, in theory, the exact same thing..
Disclaimer to all *Smart* Moderators who think I am stealing this;
• I do not claim that I own this script
• Original script can be found on forums
• The original maker of this script clearly stated that ANY modification or customization of this script is authorized and does not require his permission as long as it clearly states that this is not the official script, nor do I own it.
• All Moderators that say otherwise and want to give me my fifth refraction this week, please discuss the matter with me first..
Save as AutoVialsPro.java
import java.awt.*;
import java.awt.image.*;
import java.awt.event.*;
import java.io.*;
import java.net.*;
import java.text.NumberFormat;
import java.util.*;
import javax.imageio.ImageIO;
import org.rsbot.script.Script;
import org.rsbot.script.ScriptManifest;
import org.rsbot.script.wrappers.*;
import org.rsbot.script.wrappers.RSObject;
import org.rsbot.client.Client;
import org.rsbot.client.RSInterface;
import org.rsbot.script.internal.InputManager;
import org.rsbot.script.util.Timer;
import org.rsbot.event.listeners.PaintListener;
import org.rsbot.script.wrappers.RSTile;
import org.rsbot.util.ScreenshotUtil;
import java.awt.Graphics;
import java.util.ArrayList;
import org.rsbot.script.methods.Game;
import org.rsbot.script.methods.Camera;
@ScriptManifest(authors = { "Vials" }, keywords = "Other", name = "AutoVialsPro", version = 1.0, description = "AutoVialsPro v.1.00 beta by Vials @ Powerbot.org")
public class AutoVialsPro extends Script implements PaintListener {
private int Vial, Fountainx;
** *BufferedImage normal = null;
** *BufferedImage clicked = null;
** * * * * * * *static RSTile[] PathF = {new RSTile(3247, 3429), new RSTile(3239, 3433)};
** * * * * * * *static RSTile[] PathF1 = {new RSTile(3246, 3429), new RSTile(3240, 3435)};
** * * * * * * *static RSTile[] PathF2 = {new RSTile(3246, 3429), new RSTile(3238, 3433)};
** * * * * * * *static RSTile[] PathF3 = {new RSTile(3247, 3430), new RSTile(3237, 3435)};
** * * * * * * *static RSTile[] PathF4 = {new RSTile(3240, 3435)};
** * * * * * * *static RSTile[] PathB = {new RSTile(3246, 3430), new RSTile(3252, 3421)};
** * * * * * * *static RSTile[] PathB1 = {new RSTile(3247, 3429), new RSTile(3253, 3422)};
** * * * * * * *static RSTile[] PathB2 = {new RSTile(3250, 3429), new RSTile(3253, 3421)};
** *int EmptyVial = 229;
** *int FullVial = 227;
** *URLConnection url = null;*
** *BufferedReader in = null;*
** * * * * * * *BufferedWriter out = null;*
** *public Image paintImage;
** *public int Revision = 1001;
** * * * * * * *public static RSTile Fountain = new RSTile(3240, 3433);
** *public static RSTile BANK = new RSTile(3253, 3420);
** *int booth = 11402; * *
** *int fountainID = 24214;
** *public boolean onStart() {
** * * *try {
** * * *camera.setCompass('s');
** * * *camera.setPitch(true);
** * * * *mouse.setSpeed(1,1);
** * * * * *final URL cursorURL = new URL("http://chargraph.com/josh/images/windows_cursor.png");
** * * * * *final URL cursor80URL = new URL("http://chargraph.com/josh/images/windows_cursor.png");
** * * * * *normal = ImageIO.read(cursorURL);
** * * * * *clicked = ImageIO.read(cursor80URL);
** * * * * *paintImage = ImageIO.read(new URL("http://rs1910.webs.com/AutoVialsPro.gif"));
** * * *} catch (final java.io.IOException e) {
** * * * * *e.printStackTrace();
** * * *}
return true;
}
** *@Override
** *public int loop() {
** * * * * * * if(players.getMyPlayer().getAnimation() == 832) {
** * * * * * * if(!getMyPlayer().isMoving()) {
** * * * * * * *if (calc.distanceTo(Fountain) < 6) {
** * * * * * * *if (inventory.getCount(FullVial) <= 28) {
** * * * * * * *sleep(random(100, 120));
}
}
}
}
** * * * * * * if(players.getMyPlayer().getAnimation() == -1) {
** * * * * * * if(!getMyPlayer().isMoving()) {
** * * * * * * if (calc.distanceTo(Fountain) < 6) {
** * * * * * * if (inventory.getCount(FullVial) <= 28) {
** * * * * * * sleep(random(100, 324));
}
}
}
}
** * * *CheckVersion(); //Always will check for updates while running
** * * * * * * * * *if(getMyPlayer().isMoving()) {
** * * *if (walking.getEnergy() == 100) {
** * * * * * * * * *log("Toggle energy on");
** * * * * * * * * *walking.setRun(true);
** * * * * * * *}
** * * * * * * *}
if(getMyPlayer().isMoving()) {
sleep(random(482, 1052));
if(random(0, 20) == 1) {
log("Calling antiban");
AntiBanX();
}
}
if(!getMyPlayer().isMoving()) {
if(random(0, 20) == 1) {
log("CALLING ANTIBAN");
AntiBanX();
}
}
** * * *RSObject BB = objects.getNearest(fountainID);
** * * *RSItem AA = inventory.getItem(EmptyVial);
** * * *Vial = inventory.getItemAt(27).getID();
if(game.isLoggedIn()) {
** * * *if(inventory.getCount(EmptyVial) == 28) { //Wish I had a better method
** * * * * * * *if (calc.distanceTo(Fountain) < 6) {
** * * * * * * *if(AA != null && players.getMyPlayer().getAnimation() == -1) {
** * * * * * * *AA.doClick(true);
** * * * * * * *sleep(random(204, 527));
** * * * * * * *BB.doClick(true);
** * * * * * * *sleep(random(4000, 7000));
}
}
}
}
if(bank.isOpen()){
if(inventory.getCount(FullVial) == 28) {
Antiban();
*bank.depositAll();
sleep(random(50, 142));
}
}
if (!bank.isOpen()) {
if (inventory.getCount(FullVial) == 28) {
chooseBank();
}
}
if (inventory.getCount(EmptyVial) == 28) {
choose();
sleep(random(300, 300));
}
** *if(inventory.getCount() == 0) {
** *log("Withdrawing vials");
** *ShouldWeBreak();
** *bank.withdraw(EmptyVial, 28);
** *ShouldWeBreak();
** *sleep(random(200, 321));
}
if(!getMyPlayer().isMoving()) { //Yes, This is used while banking, @ fountain, etc.
sleep(random(50, 258));
}
RSObject bbooth = objects.getNearest(booth);
if (inventory.getCount(FullVial) == 28) {
if (bbooth != null) {
if (!bank.isOpen()) {
if (calc.distanceTo(bbooth) < 6) {
camera.turnToObject(bbooth);
log("Time to open the bank");
sleep(random(200, 200));
Antiban();
bank.open();
}
}
return 1;
}
}
return 1;
}
public boolean choose() {
int Path= random(0, 5);
** * *switch (Path){ * * *
** * * *case 0:
log("Walking path 1");
WalkToFountain();
Antiban();
break;
** * * *case 1:
log("Walking path 2");
WalkToFountain1();
Antiban();
break;
** * * *case 2:
log("Walking path 3");
WalkToFountain2();
Antiban();
break;
** * * *case 3:
log("Walking path 4");
WalkToFountain3();
Antiban();
break;
** * * *case 4:
log("Walking path 5");
WalkToFountain4();
Antiban();
break;
}
return true;
}
public boolean chooseBank() {
int Path= random(0, 3);
** * *switch (Path){ * * *
** * * *case 0:
log("Bank Path 1");
WalkToBank();
Antiban();
break;
** * * *case 1:
log("Bank Path 2");
WalkToBank1();
Antiban();
break;
** * * *case 2:
log("Bank Path 3");
WalkToBank2();
Antiban();
break;
}
return true;
}
public boolean Antiban() { //For doing stuff before, not main antiban.
int Antiban= random(0, 4);
** * *switch (Antiban){ *
case 1:
if(random(0, 75) == 1) {
log("Random movement x135");
mouse.moveRandomly(135);
sleep(random(100, 450));
}
case 2:
if(random(0, 325) == 1) {
log("Random sleep");
sleep(random(0, 7500));
log("Sleep off");
}
case 3:
if(random(0, 55) == 1) {
log("Random movement x55");
mouse.moveRandomly(55);
sleep(random(100, 450));
}
case 4:
if(random(0, 125) == 1) {
log("Random movement x835");
mouse.moveRandomly(835);
sleep(random(100, 450));
}
}
return true;
} * *
public boolean ShouldWeBreak() { //Should we break?
** * * * * * * * * * * * * * * * //Typical antiban..
int Chance= random(0, 4);
** * *switch (Chance){ *
case 1:
if(random(0, 600) == 1) {
log("Time to take a break! #1 LONG BREAK");
sleep(random(10000, 120000));
log("Break finished.");
}
case 2:
if(random(0, 1000) == 1) {
log("Time to take a break! #2 SHORT BREAK");
sleep(random(200, 5500));
log("Break finished.");
}
case 3:
if(random(0, 300) == 1) {
log("Time to take a break! #3 SHORTER BREAK");
sleep(random(1200, 3445));
log("Break finished.");
}
}
return true;
} * * * *
public boolean CheckVersion() {
try {
**url = new URL("http://autovialspro.webs.com/update.txt").openConnection();*
**in = new BufferedReader(new InputStreamReader(url.getInputStream()));*
**double version = Double.parseDouble(in.readLine());
**final int Revision = 2;
**if(version > Revision) {*
**log("Http://AutoVialsPro.webs.com/AutoVialsPro.class ~ You MUST update the script.");
**stopScript();
}
** * * * *} catch (IOException e){*
** * * * * *log("Unable to check for updates make sure your firewall is off.");*
** * * * * *return false;
** * * *}
return true;
}
**public boolean AntiBanX() {
int a= random(1, 9);
** * *switch (a){ * * *
** * * *case 1:
** * * * * log("Antiban #1 Mouse Movement");
** * * * * sleep(random(0, 4125));
** * * * * mouse.move(random(50, 1150), random(50, 1150));
** * * * * sleep(random(0, 4125));
** * * * * mouse.move(random(50, 550), random(50, 550));
** * * * * break;
** * * *case 2:
** * * * *log("Changing mouse speeds..");
** * * * *mouse.setSpeed(random(3,8));
** * * * *break;
** * * *case 3:
** * * * *log("Random Mouse movement");
** * * * * mouse.move(random(0, 950), random(0, 950));
** * * * *break;
** * * *case 4:
** * * * * log("Slight movement");
** * * * *mouse.moveRandomly(135);
** * * * *break;
** * * *case 5:
** * * * *log("Setting angle south");
** * * * *camera.setAngle(179);
** * * * *break;
** * * *case 6:
** * * * *log("Wait 1 to 8 seconds");
** * * * *sleep(random(1000, 8342));
** * * * *log("Done waiting.");
** * * * *break;
** * * *case 7:
** * * * *log("Wait 0 - 30 seconds");
** * * * *sleep(random(0, 31324));
** * * * *log("Done waiting. Slightly moving mouse");
** * * * *mouse.moveRandomly(135);
** * * * *break;
** * * *case 8:
** * * * *log("Wait 0 - 30 seconds");
** * * * *sleep(random(0, 31324));
** * * * *log("Back.");
** * * * *break;
** * * *case 9:
** * * * *log("Antiban #2 slightly move mouse, left click.");
** * * * *mouse.move(random(0, 566), random(0, 566));
** * * * *sleep(random(0, 582));
** * * * *mouse.click(false);
** * * * *break;
** * * * case 10:
** * * * *log("Opening random tab");
** * * * *game.openTab(random(0, 10));
** * * * *sleep(random(50, 1242));
** * * * *game.openTab(4);
** * * * *break;
** * * * case 11:
** * * * *log("Opening random tab");
** * * * *game.openTab(random(0, 10));
** * * * *sleep(random(20, 142));
** * * * *log("Moving randomly");
** * * * *mouse.moveRandomly(77);
** * * * *game.openTab(4);
** * * * *break;
** * * *default:
** * * * *log("Ignoring");
** * *}
return true;
}
public void drawMouse(final Graphics g) {
** * * *if (normal != null) {
** * * * * *final double mouseX = mouse.getLocation().getX() - 8,
** * * * * *mouseY = mouse.getLocation().getY() - 8;
** * * * * *final double mousePressX = mouse.getPressLocation().getX() - 8,
** * * * * *mousePressY = mouse.getPressLocation().getY() - 8;
** * * * * *if (System.currentTimeMillis() - mouse.getPressTime() < 400) {
** * * * * * * *g.drawImage(clicked, (int) mousePressX, (int) mousePressY, null);
** * * * * *}
** * * * * *g.drawImage(normal, (int) mouseX, (int) mouseY, null);
** * * *}
** *}
** *@Override
** *public void onRepaint(final Graphics g) {
** * * *drawMouse(g);
** * * *g.drawImage(paintImage, 65, 360, null);
** * * *g.setFont(new Font("Tahoma", Font.PLAIN, 10));
** * * *g.setColor(Color.RED);
** * * *g.setColor(Color.RED);
** * * *} * *
** * * * * * * *public void WalkToFountain() {
** * * * * * * *if (calc.distanceTo(Fountain) > 4) {
** * * * * * * *RSTile[] Fountain = walking.randomizePath(PathF, random(0,2), random(0,2));
** * * * * * * * walking.walkPathMM(Fountain);
** * * * * * * * sleep(random(450, 1250));
}
}
** * * * * * * *public void WalkToFountain1() {
** * * * * * * *if (calc.distanceTo(Fountain) > 4) {
** * * * * * * *RSTile[] Fountain = walking.randomizePath(PathF1, random(0,2), random(0,2));
** * * * * * * *walking.walkPathMM(Fountain);
** * * * * * * * sleep(random(450, 1250));
}
}
** * * * * * * *public void WalkToFountain2() {
** * * * * * * *if (calc.distanceTo(Fountain) > 6) {
** * * * * * * *RSTile[] Fountain = walking.randomizePath(PathF2, random(0, 2), random(0, 2));
** * * * * * * *walking.walkPathMM(Fountain);
** * * * * * * * sleep(random(450, 1250));
}
}
** * * * * * * *public void WalkToFountain3() {
** * * * * * * *if (calc.distanceTo(Fountain) > 6) {
** * * * * * * *RSTile[] Fountain = walking.randomizePath(PathF3, random(0, 2), random(0, 2));
** * * * * * * *walking.walkPathMM(Fountain);
** * * * * * * * sleep(random(450, 1250));
}
}
** * * * * * * *public void WalkToFountain4() {
** * * * * * * *if (calc.distanceTo(Fountain) > 6) {
** * * * * * * *RSTile[] Fountain = walking.randomizePath(PathF4, random(0, 2), random(0, 2));
** * * * * * * *walking.walkPathMM(Fountain);
** * * * * * * * sleep(random(2250, 3250));
}
}
** * * * * * * *public void WalkToBank() {
** * * * * * * *RSTile[] Bank = walking.randomizePath(PathB, random(0, 2), random(0, 2));
** * * * * * * * if (calc.distanceTo(new RSTile(3253, 3420)) > 6) {
** * * * * * * *walking.walkPathMM(Bank);
** * * * * * * * sleep(random(450, 1250));
}
}
** * * * * * * *public void WalkToBank1() {
** * * * * * * *RSTile[] Bank1 = walking.randomizePath(PathB1, random(0, 4), random(0, 4));
** * * * * * * * if (calc.distanceTo(new RSTile(3253, 3420)) > 6) {
** * * * * * * *walking.walkPathMM(Bank1);
** * * * * * * * sleep(random(450, 1250));
}
}
** * * * * * * *public void WalkToBank2() {
** * * * * * * *RSTile[] Bank2 = walking.randomizePath(PathB2, random(0, 4), random(0, 4));
** * * * * * * * if (calc.distanceTo(new RSTile(3253, 3420)) > 6) {
** * * * * * * *walking.walkPathMM(Bank2);
** * * * * * * * sleep(random(450, 1250));
}
}
}










Back to top


