This script will craft any gold item (rings, bracelets, amulets, necklaces) at Edgeville, with any Gem.
Recommended starting position: Anywhere near the Edgeville bank or furnace, although it should work out where it is at and work just fine.
Future updates will include;
- Support for Silver items
- Better Camera handling
- Support for Cannon Balls
Please post any bug reports with the following template:
Making item:
Script status when issue occurred:
Description of the problem:
Client size (Fixed/Resizable):
Can you replicate the issue on demand?
If the above is yes, please provide steps to replicate it:
Feedback, good or bad welcome!
Alclueholic
"It's like an alcoholic, but for clue scrolls"
Description
A simple beginner clue scroll solver. Completes scrolls in 2 to 10 minutes, depending on complexity.
Setup
Have a clue scroll either in your inventory or bank
Meet all item and level requirements
Click start
Features
Quick-start support - Requires no interaction to start the script, can even be executed from within another script.
Optional quick-start parameters
o, open: boolean; toggles the option to open your casket at the end of the script
c, check: boolean; toggles the option to check your bank for a clue scroll if there isn't one in your inventory (ideal for running in tandem with other scripts)
p, plugin: boolean; set to true if run in tandem with another script to move the paint's location on screen as to not overlap the other script's paint.
Teleportation - If you meet the level & item requirements for a teleport the script will cast it when appropriate. Uses home teleport only when possible.
Gathers missing items - See below for full list
Custom mouse movement algorithm - A combination of the two algorithms I posted which builds a "profile" for each account to create a unique play-style for each bot
Anti-ban - Randomized movements, actions and sleeps to add onto the unique play-style of each bot.
Start anywhere - Custom walking utility lets you start the script anywhere you'd like, even places that don't have walk nodes!
Skill requirements
15 Smithing: To smith an iron dagger for Charlie
15 Mining: To mine some a iron ore for Charlie
18 Crafting: To craft a leather body/chaps for Charlie
20 Cooking: To cook a trout/pike for Charlie
Will catch the required fish if not found in the bank (Note: level 25 fishing required to catch a pike)
20 Fishing: To catch a raw trout/herring for Charlie
Will also be potentially required to cook Charlie a trout if you don't have any in the bank
Item requirements - must be in bank or inventory
Optional items - these items will be grabbed by the script if they aren't in your bank and the rest will be purchased
Spade
Strange device
Bronze axe
Bronze pickaxe
Mining iron for Charlie, but first getting a pickaxe from a spawn, then fishing for a herring for Charlie, then withdrawing a Chef's hat and cheering at Iffie
yeah. this is cool. I'd like to see all the weird obscure methods documented that i have no idea what they are talking about.
I'm too lazy to get on discord though. If ur willing to send me instructions in text. I'll be willing to help as well. Cheers.
Glad to hear it! Yeah I realize I changed some things at the last moment which created a bug so you'll need to just change the lines of g2.setColor(cursorColor) to g2.setColor(nextCursorColor()) in the drawMouseX methods.
I originally didn't have separate colour options for mouse and trail functions but decided to add them for the public release and in doing so messed that bit up hah.
Hello everyone,
As we push towards making DreamBot easier to use, we've started a new guides section for user and scripter guides. We think it's a good idea to have up to date guides all centralized in one place, instead of making people search the forums and hope the content is still relevant.
You can find the start of the docs here: https://dreambot.org/guides.
What I'd like to know from you guys is what kind of guides or information you'd like to see added here. We don't want to overflow it with too much stuff, but still would like to have all of the essentials covered. Stuff where people can learn best botting practices, troubleshoot script issues without needing to make (yet another) post on the forums, etc.
Interested in Contributing?
We have a private Github repo for the docs, if you'd be interested in contributing please PM me directly with your Github name or email and I can invite you ASAP
There is a ton of great content on our forums already, if you think it'd be fitting please let us know by posting below. These docs are built using Markdown, so if that's something you're familiar with, and would like to help us expand these docs, feel free to let us know which posts you'd like to help convert. If we agree that it'd be a nice addition, you could then convert it and send it to me directly. Once we've done whatever editing is necessary I'll have it added to the docs with you credited as the author / convertor. We may add a forum rank for regular contributors, or offer store credit per page, I'm not really sure yet.
---
Thanks!
The Dream Team
I made a nifty little mouse utility for drawing custom cursors and trails that I thought I would pass onto the community. Some of the trails are meh but I think the final product is still great and it's very straightforward to use.
Credits:
DarkMagican for the original mouse trails & rainbow source
ENFILADE for MousePathPoint
Setup functions
void setCursorColor(Color cursorColor)
Manually set the cursor's colour, default white
void setCursorStroke(BasicStroke cursorStroke)
Manually set the cursor's stroke thickness, default 2
void setTrailColor(Color trailColor)
Manually set the trail's colour, default white
void setRainbow(boolean RAINBOW)
Set the mouse cursor & trail colour to be rainbow
void setRandomColor()
Set the mouse cursor & trail colour to be random, possibly rainbow
Mouse functions
void drawRandomMouse(Graphics g)
Draws the randomly selected mouse graphic.
void drawPlusMouse(Graphics g)
Draws a "+" for the mouse, with shadow.
void drawCrossMouse(Graphics g)
Draws a "x" for the mouse, with shadow.
void drawCircleMouse(Graphics g)
Draws a circle for the mouse, with shadow.
void drawDotMouse(Graphics g)
Draws a dot for the mouse, with shadow.
void drawRotatingCrossMouse(Graphics g)
Draws an "x" for the mouse that rotates, with shadow.
void drawRotatingCircleMouse(Graphics g)
Draws a circle with rotating pie slices, with shadow.
Trail functions
void drawTrail(Graphics g)
Draws a typical line-based mouse trail, varying size line width
void drawZoomTrail(Graphics g)
Draws a "ZOOM" for a trail, varying case and size
void drawTextTrail(Graphics g, String trail)
Draws your specified text for a trail, could work for script status?
void drawDotTrail(Graphics g)
Draws a series of dots as a trail, varying sizes
void drawCircleTrail(Graphics g)
Draws a series of circles as a trail, varying sizes
void drawPlusTrail(Graphics g)
Draws a series of "+" as a trail, varying sizes
void drawRotatingSlashTrail(Graphics g)
Draws a series of "/" as a trail that rotate, varying sizes
void drawRotatingCrossTrail(Graphics g)
Draws a series of "x" as a trail that rotate, varying sizes
Usage example
First, add DrawMouseUtil to your project by copying and pasting it into a file name DrawMouseUtil.java and importing it into your project
Second, create a variable for DrawMouseUtil so you have consistency in your setup and calls.
private DrawMouseUtil drawMouseUtil = new DrawMouseUtil();
Third, set your desired settings and add it to onStart. For this example we will be setting up the mouse randomly:
@Override
public void onStart() {
drawMouseUtil.setRandomColor(); //Set a random colour and leave the stroke setting at default
.....
}
Fourth, call your desired mouse cursor and trail in onPaint. For this example we will be using random settings:
@Override
public void onPaint(Graphics g) {
drawMouseUtil.drawRandomMouse(g);
drawMouseUtil.drawRandomMouseTrail(g);
}
My favourite combination currently is either
drawMouseUtil.drawRotatingCrossMouse(g)
drawMouseUtil.drawRotatingCrossTrail(g)
or
drawMouseUtil.drawRotatingCircleMouse(g);
drawMouseUtil.drawDotTrail(g);
DrawMouseUtil.java:
/** DrawMouseUtil by holic **/
import org.dreambot.api.Client;
import org.dreambot.api.methods.Calculations;
import java.awt.*;
import java.awt.geom.AffineTransform;
import java.awt.geom.Arc2D;
import java.awt.geom.Line2D;
import java.util.LinkedList;
import static org.dreambot.api.methods.MethodProvider.log;
public class DrawMouseUtil {
LinkedList<MousePathPoint> mousePath = new LinkedList<MousePathPoint>();
private boolean RAINBOW = false;
private int STROKE = 2;
private int mX, mY;
private long angle;
private BasicStroke cursorStroke = new BasicStroke(STROKE);
private int randomMouse = Calculations.random(5);
private int randomMouseTrail = Calculations.random(7);
private Color cursorColor = Color.WHITE;
private Color trailColor = cursorColor;
private Color[] cursorColors = {new Color(78, 216, 255), new Color(90, 222, 98), new Color(215, 182, 77), new Color(232, 134, 124), new Color(215, 120, 124), new Color(183, 138, 215), Color.WHITE};
private AffineTransform oldTransform;
private int r = 0, g = 0, b = 0, duration = 650;
public DrawMouseUtil() {
Client.getInstance().setDrawMouse(false);
}
public void setRainbow(boolean RAINBOW) {
if (RAINBOW) {
g = 255;
} else {
g = 0;
}
this.RAINBOW = RAINBOW;
}
public void setRandomColor() {
if (Calculations.random(2) != 1) {
log("Rainbow mouse!");
setRainbow(true);
} else {
setRainbow(false);
cursorColor = getRandomColour();
trailColor = cursorColor;
}
}
private Color getRandomColour() {
return cursorColors[Calculations.random(cursorColors.length - 1)];
}
public void setCursorStroke(BasicStroke cursorStroke) {
this.cursorStroke = cursorStroke;
}
public void setCursorColor(Color cursorColor) {
this.cursorColor = cursorColor;
}
public void setTrailColor(Color trailColor) {
this.trailColor = trailColor;
}
public void drawRandomMouse(Graphics g) {
switch (randomMouse) {
case 0:
drawPlusMouse(g);
break;
case 1:
drawCrossMouse(g);
break;
case 2:
drawCircleMouse(g);
break;
case 3:
drawDotMouse(g);
break;
case 4:
drawRotatingCrossMouse(g);
break;
case 5:
drawRotatingCircleMouse(g);
break;
}
}
public void drawRandomMouseTrail(Graphics g) {
switch (randomMouseTrail) {
case 0:
drawTrail(g);
break;
case 1:
drawZoomTrail(g);
break;
case 2:
drawPlusTrail(g);
break;
case 3:
drawCircleTrail(g);
break;
case 4:
drawDotTrail(g);
break;
case 5:
drawRotatingSlashTrail(g);
break;
case 6:
drawRotatingCrossTrail(g);
break;
case 7:
drawTextTrail(g, "your text here");
break;
}
}
/**
* * ** ** ** **
* Mouse cursor
* * ** ** ** **
**/
public void drawPlusMouse(Graphics g) {
Graphics2D g2 = (Graphics2D) g;
int s = 4;
Point cP = Client.getMousePosition();
int cX = (int) cP.getX();
int cY = (int) cP.getY();
g2.setColor(Color.BLACK);
g2.setStroke(cursorStroke);
/* + Cursor */
g2.drawLine(cX - s + 1, cY + 1, cX + s + 1, cY + 1);
g2.drawLine(cX + 1, cY - s + 1, cX + 1, cY + s + 1);
g2.setColor(cursorColor);
g2.drawLine(cX - s, cY, cX + s, cY);
g2.drawLine(cX, cY - s, cX, cY + s);
g2.setStroke(new BasicStroke(1));
}
public void drawCrossMouse(Graphics g) {
Graphics2D g2 = (Graphics2D) g;
int s = 3;
Point cP = Client.getMousePosition();
int cX = (int) cP.getX();
int cY = (int) cP.getY();
g2.setStroke(cursorStroke);
g2.setColor(Color.BLACK);
/* X Cursor */
g2.drawLine(cX - s + 1, cY - s + 1, cX + s + 1, cY + s + 1);
g2.drawLine(cX - s + 1, cY + s + 1, cX + s + 1, cY - s + 1);
g2.setColor(cursorColor);
g2.drawLine(cX - s, cY - s, cX + s, cY + s);
g2.drawLine(cX - s, cY + s, cX + s, cY - s);
g2.setStroke(new BasicStroke(1));
}
public void drawCircleMouse(Graphics g) {
Graphics2D g2 = (Graphics2D) g;
oldTransform = g2.getTransform();
int mX = Client.getMousePosition().x;
mY = Client.getMousePosition().y;
g2.setRenderingHints(new RenderingHints(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON));
if (mX != -1) {
g2.setStroke(cursorStroke);
g2.setColor(Color.BLACK);
g2.drawOval(mX - 1, mY - 1, 4, 4);
g2.setColor(cursorColor);
g2.drawOval(mX - 2, mY - 2, 4, 4);
g2.setStroke(new BasicStroke(1));
}
}
public void drawDotMouse(Graphics g) {
Graphics2D g2 = (Graphics2D) g;
oldTransform = g2.getTransform();
int mX = Client.getMousePosition().x;
mY = Client.getMousePosition().y;
g2.setRenderingHints(new RenderingHints(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON));
if (mX != -1) {
g2.setStroke(cursorStroke);
g2.setColor(Color.BLACK);
g2.drawOval(mX - 1, mY - 1, 4, 4);
g2.setColor(cursorColor);
g2.drawOval(mX - 2, mY - 2, 4, 4);
g2.setStroke(new BasicStroke(1));
}
}
public void drawRotatingCircleMouse(Graphics g) {
Graphics2D g2 = (Graphics2D) g;
oldTransform = g2.getTransform();
int mX = Client.getMousePosition().x;
mY = Client.getMousePosition().y;
g2.setRenderingHints(new RenderingHints(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON));
if (mX != -1) {
g2.setStroke(cursorStroke);
g2.drawOval(mX - 2, mY - 2, 4, 4);
g2.setColor(cursorColor);
g2.rotate(Math.toRadians(angle += 6), mX, mY);
g2.draw(new Arc2D.Double(mX - 6, mY - 6, 12, 12, 330, 60, Arc2D.OPEN));
g2.draw(new Arc2D.Double(mX - 6, mY - 6, 12, 12, 151, 60, Arc2D.OPEN));
g2.setTransform(oldTransform);
g2.setStroke(new BasicStroke(1));
}
}
public void drawRotatingCrossMouse(Graphics g) {
Graphics2D g2 = (Graphics2D) g;
oldTransform = g2.getTransform();
Point cP = Client.getMousePosition();
int cX = (int) cP.getX();
int cY = (int) cP.getY();
int s = 4;
g2.setRenderingHints(new RenderingHints(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON));
if (mX != -1) {
g2.setStroke(cursorStroke);
g2.setColor(Color.BLACK);
//g.rotate(Math.toRadians(angle+=1), mX, mY);
Line2D lineShadow = new Line2D.Double(cX - s + 1, cY + 1, cX + s + 1, cY + 1);
Line2D lineShadow2 = new Line2D.Double(cX + 1, cY - s + 1, cX + 1, cY + s + 1);
AffineTransform atS =
AffineTransform.getRotateInstance(
Math.toRadians(angle += 4), cX + 1, cY + 1);
AffineTransform atS2 =
AffineTransform.getRotateInstance(
Math.toRadians(angle), cX + 1, cY + 1);
g2.draw(atS.createTransformedShape(lineShadow));
g2.draw(atS2.createTransformedShape(lineShadow2));
g2.setColor(nextCursorColor());
Line2D line = new Line2D.Double(cX - s, cY, cX + s, cY);
Line2D line2 = new Line2D.Double(cX, cY - s, cX, cY + s);
AffineTransform at =
AffineTransform.getRotateInstance(
Math.toRadians(angle += 4), cX, cY);
AffineTransform at2 =
AffineTransform.getRotateInstance(
Math.toRadians(angle), cX, cY);
// Draw the rotated line
g2.draw(at.createTransformedShape(line));
g2.draw(at2.createTransformedShape(line2));
g2.setStroke(new BasicStroke(1));
}
}
/**
* * ** ** ** **
* Mouse trails
* * ** ** ** **
**/
public void drawTrail(Graphics g) {
Graphics2D g2 = (Graphics2D) g;
oldTransform = g2.getTransform();
int mX = Client.getMousePosition().x;
mY = Client.getMousePosition().y;
g2.setRenderingHints(new RenderingHints(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON));
while (!mousePath.isEmpty() && mousePath.peek().isUp())
mousePath.remove();
Point clientCursor = Client.getMousePosition();
MousePathPoint mpp = new MousePathPoint(clientCursor.x, clientCursor.y, duration);
if (mousePath.isEmpty() || !mousePath.getLast().equals(mpp))
mousePath.add(mpp);
MousePathPoint lastPoint = null;
for (MousePathPoint a : mousePath) {
if (lastPoint != null) {
Color c = nextTrailColor();
int tmpcursorStroke = STROKE;
if (STROKE > 1)
tmpcursorStroke = (a.getAlpha() > 175 ? STROKE : STROKE - 1);
g2.setStroke(new BasicStroke(tmpcursorStroke));
g2.setColor(new Color(c.getRed(), c.getGreen(), c.getBlue(), a.getAlpha())); //trail color
g2.drawLine(a.x, a.y, lastPoint.x, lastPoint.y);
g2.setStroke(new BasicStroke(1));
}
lastPoint = a;
}
}
public void drawZoomTrail(Graphics g) {
String zoom = "zoom zoom ";
int zoomIndex = 0, zoomIndexStart = -1;
Graphics2D g2 = (Graphics2D) g;
oldTransform = g2.getTransform();
g2.setFont(new Font("default", Font.BOLD, 12));
g2.setRenderingHints(new RenderingHints(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON));
while (!mousePath.isEmpty() && mousePath.peek().isUp())
mousePath.remove();
Point clientCursor = Client.getMousePosition();
MousePathPoint mpp = new MousePathPoint(clientCursor.x, clientCursor.y, duration * 2);
if (mousePath.isEmpty() || !mousePath.getLast().equals(mpp))
mousePath.add(mpp);
MousePathPoint lastPoint = null;
for (MousePathPoint a : mousePath) {
if (zoomIndex >= zoom.length())
zoomIndex = 0;
String toDraw = String.valueOf(zoom.toCharArray()[zoomIndex]);
if (lastPoint != null) {
Color c = nextTrailColor();
toDraw = a.getAlpha() > 175 ? toDraw.toUpperCase() : toDraw;
g2.setColor(new Color(c.getRed(), c.getGreen(), c.getBlue(), a.getAlpha())); //trail color
g2.drawString(toDraw, a.x, a.y + 5);
}
lastPoint = a;
zoomIndex++;
}
g2.setFont(new Font("default", Font.PLAIN, 12));
}
public void drawTextTrail(Graphics g, String trail) {
int zoomIndex = 0, zoomIndexStart = -1;
Graphics2D g2 = (Graphics2D) g;
oldTransform = g2.getTransform();
g2.setFont(new Font("default", Font.BOLD, 12));
g2.setRenderingHints(new RenderingHints(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON));
while (!mousePath.isEmpty() && mousePath.peek().isUp())
mousePath.remove();
Point clientCursor = Client.getMousePosition();
MousePathPoint mpp = new MousePathPoint(clientCursor.x, clientCursor.y, duration * 2);
if (mousePath.isEmpty() || !mousePath.getLast().equals(mpp))
mousePath.add(mpp);
MousePathPoint lastPoint = null;
for (MousePathPoint a : mousePath) {
if (lastPoint != null) {
Color c = nextTrailColor();
g2.setColor(new Color(c.getRed(), c.getGreen(), c.getBlue(), a.getAlpha())); //trail color
g2.drawString(trail, a.x, a.y);
}
lastPoint = a;
zoomIndex++;
}
g2.setFont(new Font("default", Font.PLAIN, 12));
}
public void drawDotTrail(Graphics g) {
Graphics2D g2 = (Graphics2D) g;
oldTransform = g2.getTransform();
g2.setRenderingHints(new RenderingHints(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON));
while (!mousePath.isEmpty() && mousePath.peek().isUp())
mousePath.remove();
Point clientCursor = Client.getMousePosition();
MousePathPoint mpp = new MousePathPoint(clientCursor.x, clientCursor.y, duration * 2);
if (mousePath.isEmpty() || !mousePath.getLast().equals(mpp))
mousePath.add(mpp);
MousePathPoint lastPoint = null;
for (MousePathPoint a : mousePath) {
if (lastPoint != null) {
Color c = nextTrailColor();
int size = a.getAlpha() > 200 ? 6 : a.getAlpha() > 150 ? 5 : a.getAlpha() > 100 ? 4 : a.getAlpha() > 50 ? 3 : 2;
g2.setStroke(cursorStroke);
g2.setColor(new Color(c.getRed(), c.getGreen(), c.getBlue(), a.getAlpha())); //trail color
g2.fillOval(a.x, a.y, size, size);
g2.setStroke(new BasicStroke(1));
}
lastPoint = a;
}
}
public void drawCircleTrail(Graphics g) {
Graphics2D g2 = (Graphics2D) g;
oldTransform = g2.getTransform();
g2.setRenderingHints(new RenderingHints(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON));
while (!mousePath.isEmpty() && mousePath.peek().isUp())
mousePath.remove();
Point clientCursor = Client.getMousePosition();
MousePathPoint mpp = new MousePathPoint(clientCursor.x, clientCursor.y, duration * 2);
if (mousePath.isEmpty() || !mousePath.getLast().equals(mpp))
mousePath.add(mpp);
MousePathPoint lastPoint = null;
for (MousePathPoint a : mousePath) {
if (lastPoint != null) {
Color c = nextTrailColor();
int size = a.getAlpha() > 200 ? 6 : a.getAlpha() > 150 ? 5 : a.getAlpha() > 100 ? 4 : a.getAlpha() > 50 ? 3 : 2;
g2.setStroke(cursorStroke);
g2.setColor(new Color(c.getRed(), c.getGreen(), c.getBlue(), a.getAlpha())); //trail color
g2.drawOval(a.x, a.y, size, size);
g2.setStroke(new BasicStroke(1));
}
lastPoint = a;
}
}
public void drawPlusTrail(Graphics g) {
Graphics2D g2 = (Graphics2D) g;
oldTransform = g2.getTransform();
g2.setRenderingHints(new RenderingHints(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON));
while (!mousePath.isEmpty() && mousePath.peek().isUp())
mousePath.remove();
Point clientCursor = Client.getMousePosition();
MousePathPoint mpp = new MousePathPoint(clientCursor.x, clientCursor.y, duration * 2);
if (mousePath.isEmpty() || !mousePath.getLast().equals(mpp))
mousePath.add(mpp);
MousePathPoint lastPoint = null;
for (MousePathPoint a : mousePath) {
if (lastPoint != null) {
Color c = nextTrailColor();
int size = a.getAlpha() > 200 ? 5 : a.getAlpha() > 150 ? 4 : a.getAlpha() > 100 ? 3 : a.getAlpha() > 50 ? 2 : 1;
g2.setStroke(cursorStroke);
g2.setColor(new Color(c.getRed(), c.getGreen(), c.getBlue(), a.getAlpha())); //trail color
g2.drawLine(a.x - size + 1, a.y + 1, a.x + size + 1, a.y + 1);
g2.drawLine(a.x + 1, a.y - size + 1, a.x + 1, a.y + size + 1);
g2.setStroke(new BasicStroke(1));
}
lastPoint = a;
}
}
public void drawRotatingSlashTrail(Graphics g) {
Graphics2D g2 = (Graphics2D) g;
oldTransform = g2.getTransform();
g2.setRenderingHints(new RenderingHints(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON));
while (!mousePath.isEmpty() && mousePath.peek().isUp())
mousePath.remove();
Point clientCursor = Client.getMousePosition();
MousePathPoint mpp = new MousePathPoint(clientCursor.x, clientCursor.y, duration * 2);
if (mousePath.isEmpty() || !mousePath.getLast().equals(mpp))
mousePath.add(mpp);
MousePathPoint lastPoint = null;
for (MousePathPoint a : mousePath) {
if (lastPoint != null) {
Color c = nextTrailColor();
int size = a.getAlpha() > 200 ? 5 : a.getAlpha() > 150 ? 4 : a.getAlpha() > 100 ? 3 : a.getAlpha() > 50 ? 2 : 1;
g2.setStroke(cursorStroke);
g2.setColor(new Color(c.getRed(), c.getGreen(), c.getBlue(), a.getAlpha())); //trail color
Line2D line = new Line2D.Double(a.x - size, a.y, a.x + size, a.y);
Line2D line2 = new Line2D.Double(a.x, a.y - size, a.x, a.y + size);
AffineTransform at =
AffineTransform.getRotateInstance(
Math.toRadians(angle += 4), a.x, a.y);
g2.draw(at.createTransformedShape(line));
g2.setStroke(new BasicStroke(1));
}
lastPoint = a;
}
}
public void drawRotatingCrossTrail(Graphics g) {
Graphics2D g2 = (Graphics2D) g;
oldTransform = g2.getTransform();
g2.setRenderingHints(new RenderingHints(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON));
while (!mousePath.isEmpty() && mousePath.peek().isUp())
mousePath.remove();
Point clientCursor = Client.getMousePosition();
MousePathPoint mpp = new MousePathPoint(clientCursor.x, clientCursor.y, duration * 2);
if (mousePath.isEmpty() || !mousePath.getLast().equals(mpp))
mousePath.add(mpp);
MousePathPoint lastPoint = null;
for (MousePathPoint a : mousePath) {
if (lastPoint != null) {
Color c = nextTrailColor();
int size = a.getAlpha() > 200 ? 5 : a.getAlpha() > 150 ? 4 : a.getAlpha() > 100 ? 3 : a.getAlpha() > 50 ? 2 : 1;
g2.setStroke(cursorStroke);
g2.setColor(new Color(c.getRed(), c.getGreen(), c.getBlue(), a.getAlpha())); //trail color
Line2D line = new Line2D.Double(a.x - size, a.y, a.x + size, a.y);
Line2D line2 = new Line2D.Double(a.x, a.y - size, a.x, a.y + size);
AffineTransform at =
AffineTransform.getRotateInstance(
Math.toRadians(angle += 4), a.x, a.y);
g2.draw(at.createTransformedShape(line));
g2.draw(at.createTransformedShape(line2));
g2.setStroke(new BasicStroke(1));
}
lastPoint = a;
}
}
public void nextRGB() {
if (r == 255 && g < 255 & b == 0) {
g++;
}
if (g == 255 && r > 0 && b == 0) {
r--;
}
if (g == 255 && b < 255 && r == 0) {
b++;
}
if (b == 255 && g > 0 && r == 0) {
g--;
}
if (b == 255 && r < 255 && g == 0) {
r++;
}
if (r == 255 && b > 0 && g == 0) {
b--;
}
}
public Color currentCursorColor() {
if (!RAINBOW) {
return cursorColor;
} else {
return new Color(r, g, b);
}
}
public Color currentTrailColor() {
if (!RAINBOW) {
return trailColor;
} else {
return new Color(r, g, b);
}
}
public Color nextCursorColor() {
nextRGB();
return currentCursorColor();
}
public Color nextTrailColor() {
if (!RAINBOW) //Don't call this if it is set to rainbow so we're not double calling nextRGB()
nextRGB();
return currentTrailColor();
}
public class MousePathPoint extends Point {
private long finishTime;
private double lastingTime;
private int alpha = 255;
public MousePathPoint(int x, int y, int lastingTime) {
super(x, y);
this.lastingTime = lastingTime;
finishTime = System.currentTimeMillis() + lastingTime;
}
public int getAlpha() {
int newAlpha = ((int) ((finishTime - System.currentTimeMillis()) / (lastingTime / alpha)));
if (newAlpha > 255)
newAlpha = 255;
if (newAlpha < 0)
newAlpha = 0;
return newAlpha;
}
public boolean isUp() {
return System.currentTimeMillis() >= finishTime;
}
}
}
Enjoy falsely tricking people into thinking your script is better than it is!
❅ Why Choose this script:
- Low bans
- Fast Exp
- Easy pet
❅ What does this script do:
- Gets you 50-99 Firemaking
- Does the Wintertodt minigame
❅ Requirements:
- 50
- A axe
- Some food
- If using Clan Wars:
❅ Recommended:
- 31, 30
❅ How to start:
- Start the script near Clan wars or Wintertodt
- Have the correct axe, food, & if using clan wars: games necklace's & dueling rings in the bank
Just a simple script that i've been using for a while, and since there isn't a script that just walks to GE i'm releasing mine, and also the few lines of code.
I don't think this script is good enough. Got 2 accounts banned under 5 hours with this. And even on a weekend right now. Its too quick and there's no way to adjust the speed. It withdraws from the bank so fast that sometimes it has to reopen it. I do not recommend this script. I have never seen script on the SDN that can get me banned so fast. twice in a row under 5 hours is almost unbelievable lol. Shame though there's not many rc scripts on dreambot at all i noticed. Even though wrath runes are like top money maker in the game.
I'll agree that this is a working script and just like your other #1 scripts. But man most of your #1 scripts go so fast. Need a way to slow down between actions with sleeps. so i can avoid triggering the auto detection system from the england overlords.
I mean i know as a player i couldn't play as fast as your runecrafting and fletching scripts hit buttons.
I bought all the other fishing scripts on the SDN. And this was the only one able to surpass 70 fishing on a f2p account. The rest got banned quickly. This is the only script that also has a built in option muling system. Truly. This script is the BEST fishing script on the sdn for f2p. Cheers will be buying when I sell some gold again.
- Built For DB3
The script has been designed from the ground up for DB3 to provide better performance, reliability and all the latest functionality DB3 brings with it.
- Blazing Fast
Completes Tutorial Island in the fastest possible time. Outperforms all current script on the market
- MultiBrain Technology
Cloakd Scripts utilize its unique Multi-Brain technology to provide the most fluid and efficient actions
- Human-Like in every way
The script has been built based off human data and analysis, everything from idles, to name creation has been modelled of existing human data, here is just a few!
- Email Address & Password
- Account Username
- Apperance
- Idles / istractions
- Walking, Camera & Zoom
- 30+ Datapoints From Caffine Levels to Attention Span and much more!
Post Completion Muiling
When used in combination with Cloakd Mule will allow the bot to stock up on any items or gold needed prior to stopping the script
Feature Breakdown
- Configurable Final Area
Upon completion walk to a specified area - All F2P Banks supported
- Ironman Selection
Will select the specified ironman mode along with collecting the armour prior to banking
- Bank Items
Bank all items and clear Banking tutorial upon completion
- Human Like Names, Emails & Apperance
Its been proven bald heads increase your report rate, This script will create a human like profile from its email all the way through to its apperance.
Names have been generated from over 20,000 usernames to ensure authentic realistic looking names
Apperance data has been moddeled off real user data
- Turing Complete
By utilizing logic validation and MultiBrain technology, the script will never stop or idle
- QuickStart
Run the script directly from the CLI!
- Bulk Account Rotation
Utilize the CloakdTutorialLauncher for mass creation of tutorial island accounts.
Simply provide it with a list of proxies and accounts and let it control the management of launching DreamBot
- Intuative GUI
Adjust the paramaters and quests all in an easy to use GUI
Antiban/AntiPattern
Randomized positioning
Randomized pathing
Human Like Idling & Afk
Randomized collection & banking
Human based profiling
Zoom Support
Resizable Mode
Real-Time Pattern Heuristics
Advanced Fatigue System modelled from Human data - Over 30 datapoints of variation
Terms & Conditions
CloakdTutorialLauncher
Cloakd Tutorial Launcher can be used to mass create accounts across multiple proxies. This is a stand alone application that can be run on any OS which handles the rotation of proxies and the launching/stopping of the DreamBot client itself.
Benefits
- MultiThreaded - Run as many DreamBot clients as you want
- Advanced Error Recovery - Handle Script/Client/Proxy issues flawlessly
- File Output - Outputs all completed tutorial accounts to file
How To Use
Requirements
Fresh Account to run through tutorial island
CLI Options
Script Trials
Trials are not being issued for this script.
Bug Reports
Provide as much info on the bug as possible
Provide a print screen of the client + the debug console
Dreambot has a great web, too bad not everything is mapped (dungeon/caves). The problem is that if we want to walk around in these places we have to add the web nodes ourselves manually. This is why I created a web tool so scripters can web dungeons really fast!
Features
Generates code created from the web nodes *
Smart node connection, connects to closest node
On screen paint (mainscreen & minimap)
Instructions
Get the script here
Start the script logged in
Nearest node will be drawn green, other nodes will be blue
Press spacebar to add a node.
Press shift + spacebar to add a node to connect them to the next to closest node
After finishing adding all your nodes simply stop the script, the generated code will be copied to your clipboard
Paste the code into your script
Media
​
Generated code example
AbstractWebNode webNode0 = new BasicWebNode(2443, 9825);
AbstractWebNode webNode1 = new BasicWebNode(2440, 9821);
AbstractWebNode webNode2 = new BasicWebNode(2441, 9816);
AbstractWebNode webNode3 = new BasicWebNode(2442, 9813);
AbstractWebNode webNode4 = new BasicWebNode(2447, 9811);
AbstractWebNode webNode5 = new BasicWebNode(2451, 9813);
AbstractWebNode webNode6 = new BasicWebNode(2455, 9813);
AbstractWebNode webNode7 = new BasicWebNode(2440, 9808);
AbstractWebNode webNode8 = new BasicWebNode(2441, 9803);
webNode0.addConnections(webNode1);
webNode1.addConnections(webNode0);
webNode1.addConnections(webNode2);
webNode2.addConnections(webNode1);
webNode2.addConnections(webNode3);
webNode3.addConnections(webNode2);
webNode3.addConnections(webNode4);
webNode3.addConnections(webNode7);
webNode4.addConnections(webNode3);
webNode4.addConnections(webNode5);
webNode5.addConnections(webNode4);
webNode5.addConnections(webNode6);
webNode6.addConnections(webNode5);
webNode7.addConnections(webNode3);
webNode7.addConnections(webNode8);
webNode8.addConnections(webNode7);
WebFinder webFinder = script.getWalking().getWebPathFinder();
AbstractWebNode[] webNodes = {webNode4, webNode3, webNode5, webNode7, webNode2, webNode6, webNode8, webNode1, webNode0};
for (AbstractWebNode webNode : webNodes) {
webFinder.addWebNode(webNode);
}
Thanks for the feedback! I will definitely add an option for more time between actions. I'll add it to the update I'm working on and release it this weekend. Let me know if you think of any other additions you would like to see 😊.
Nice i really like this. My only thing I want more out of it is the ability to slow it down if need be to avoid bans. For me it right click/left clicks too fast. I know they'll find it. If you can add an option for an input delay (delay all actions in script by 1s/5s/) or etc. Would be a great addition. Cheers mate. Used this on stalls already! Great script.
Requirements:
- Tinderbox.
- Logs.
- Player located at the Grand Exchange.
Instructions:
- Start script.
- Select desired log type or toggle on progressive mode.
- Select a level goal to stop at or leave it at 99.
- Start script.
- Profit.
Settings:
Progressive mode:
Always uses the best available logs from your bank based on firemaking level.
If you don't have the best possible logs in your bank, it will use the next best type.
Possible logs:
Regular
Oak
Willow
Maple
Yew
Magic
Screenshots:
GUI:
Change log:
Bug Reporting:
If you run into an issue when using this script, please post here or message me directly with this format:
1. Short description of the problem:
2. How do you reproduce it:
3. Any other relevant information:
The client login handler should log you in, it does for me. I think the issue you're talking about it requiring it to be logged in on start, which I agree isn't the best requirement.
I plan on optimizing it (and my other script) for DB3 after we publicly release DB3
We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.