MindTricks
Newcomer
- Joined
- Mar 29, 2013
- Sythe Gold
- 0
- Messages
- 2
I know the website is down, but I still have my bot open. Does anyone have this script for me?
package scripts;
import java.awt.Color;
import java.awt.Graphics;
import org.tribot.api.DynamicClicking;
import org.tribot.api.General;
import org.tribot.api.Timing;
import org.tribot.api.input.Keyboard;
import org.tribot.api.input.Mouse;
import org.tribot.api.types.colour.Tolerance;
import org.tribot.api2007.Banking;
import org.tribot.api2007.Interfaces;
import org.tribot.api2007.Inventory;
import org.tribot.api2007.Objects;
import org.tribot.api2007.Player;
import org.tribot.api2007.Screen;
import org.tribot.api2007.Skills;
import org.tribot.api2007.Walking;
import org.tribot.api2007.types.RSInterfaceChild;
import org.tribot.api2007.types.RSItem;
import org.tribot.api2007.types.RSObject;
import org.tribot.api2007.types.RSTile;
import org.tribot.script.Script;
import org.tribot.script.ScriptManifest;
import org.tribot.script.interfaces.Painting;
@ScriptManifest(authors = { "J J" }, category = "Money making", name = "JJ's Flax 07")
public class JJsFlax07 extends Script implements Painting {
private final RSTile BANK_TILE = new RSTile(3208, 3220, 2),
STAIRS_BANK_TILE = new RSTile(3205, 3209, 2),
STAIRS_SPIN_WHEEL_TILE = new RSTile(3205, 3209, 1),
SPIN_TILE = new RSTile(3209, 3213, 1),
DOOR_TILE = new RSTile(3207, 3214, 1);
private final int FLAX_ID = 1779,
CLOSED_DOOR_ID = 1536,
SPINNING_WHEEL_ID = 2644,
STAIRS_COOK_ID = 1738,
STAIRS_WHEEL_ID = 1739,
STAIRS_BANK_ID = 1740,
CRAFTING_ANIMATION_ID = 894,
BOW_STRING_ID = 1777,
START_XP = Skills.getXP("Crafting");
private final int[] STAIRS_IDS = {STAIRS_COOK_ID, STAIRS_WHEEL_ID};
private final long START_TIME = System.currentTimeMillis();
private State SCRIPT_STATE = getState();
private int CURRENT_XP = START_XP;
@Override
public void onPaint(Graphics g) {
long timeRan = System.currentTimeMillis()-START_TIME;
int xpGained = CURRENT_XP-START_XP;
double multiplier = timeRan / 3600000D;
int xpPerHour = (int) (xpGained / multiplier);
int bsMade = xpGained / 15;
int bsPerHour = (int) (bsMade / multiplier);
g.setColor(new Color(60, 60, 60));
g.fillRect(5, 55, 190, 185);
g.setColor(Color.WHITE);
g.drawString("JJ's Flax 2007", 10, 70);
g.drawString("Running for: " + Timing.msToString(timeRan), 10, 90);
g.drawString("State: " + SCRIPT_STATE, 10, 110);
g.drawString("Xp gained: " + xpGained + " (" + xpPerHour + "/h)", 10, 140);
g.drawString("Bowstring made: " + bsMade + " (" + bsPerHour + "/h)", 10, 160);
g.drawString("Flax interface: " + haveFlaxInterface(), 10, 190);
g.drawString("Type interface: " + haveAmountInterface(), 10, 210);
g.drawString("Is door closed? " + isDoorClosed(), 10, 230);
}
public enum State {
SELECT_FLAX, TYPE_AMOUNT, CRAFTING, WHEEL_TO_STAIRS,
CLIMB_STAIRS, STAIRS_TO_BANK, OPEN_BANK,
DEPOSIT_BOW_STRING, WITHDRAW_FLAX, BANK_TO_STAIRS,
STAIRS_TO_WHEEL, OPEN_DOOR, USE_SPIN_WHEEL,
WALK_TO_DOOR, DEPOSIT_JUNK;
}
private State getState(){
if(haveFlax()){
if(atBank()){
return State.BANK_TO_STAIRS;
}else{
if(atSpinWheel()){
if(haveFlaxInterface()){
return State.SELECT_FLAX;
}else{
if(haveAmountInterface()){
return State.TYPE_AMOUNT;
}else{
if(areCrafting()){
return State.CRAFTING;
}else{
return State.USE_SPIN_WHEEL;
}
}
}
}else{
if(Player.getPosition().getPlane() != 1){
if(atStairs()){
return State.CLIMB_STAIRS;
}else{
return State.BANK_TO_STAIRS;
}
}else{
if(isDoorClosed()){
if(atDoor()){
return State.OPEN_DOOR;
}else{
return State.WALK_TO_DOOR;
}
}else{
return State.STAIRS_TO_WHEEL;
}
}
}
}
}else{
if(Player.getPosition().getPlane() != 2){
if(atStairs()){
return State.CLIMB_STAIRS;
}else{
if(isDoorClosed()){
if(atDoor()){
return State.OPEN_DOOR;
}else{
return State.WALK_TO_DOOR;
}
}else{
return State.WHEEL_TO_STAIRS;
}
}
}else{
if(Banking.isBankScreenOpen()){
if(haveBowstring()){
return State.DEPOSIT_BOW_STRING;
}else{
if(Inventory.getAll().length == 0){
return State.WITHDRAW_FLAX;
}else{
return State.DEPOSIT_JUNK;
}
}
}else{
if(atBank()){
return State.OPEN_BANK;
}else{
return State.STAIRS_TO_BANK;
}
}
}
}
}
private boolean withdrawFlax(){
if(Banking.isBankScreenOpen()){
RSItem[] flax = Banking.find(FLAX_ID);
if(flax != null && flax.length > 0 && flax[0].click("Withdraw All")){
sleep(400, 800);
long t = System.currentTimeMillis();
while(Timing.timeFromMark(t) < General.random(2000, 3000)){
if(haveFlax()){
return true;
}
sleep(50, 150);
}
}
}
return false;
}
private boolean depositBowstring(){
if(Banking.isBankScreenOpen()){
RSItem[] string = Inventory.find(BOW_STRING_ID);
if(string != null && string.length > 0 && string[0].click("Store All")){
sleep(400, 800);
long t = System.currentTimeMillis();
while(Timing.timeFromMark(t) < General.random(2000, 3000)){
if(!haveBowstring()){
return true;
}
sleep(50, 150);
}
}
}
return false;
}
private boolean depositJunk(){
if(Banking.isBankScreenOpen()){
RSItem[] all = Inventory.getAll();
if(all != null && all.length > 0 && all[0].click("Store All")){
long t = System.currentTimeMillis();
while(Timing.timeFromMark(t) < General.random(2000, 3000)){
if(Inventory.getAll().length < all.length){
return true;
}
sleep(50, 150);
}
}
}
return false;
}
private void waitUntilIdle(RSTile tile){
long t = System.currentTimeMillis();
while(Timing.timeFromMark(t) < General.random(400, 800)){
sleep(40, 80);
if(Player.isMoving() || Player.getAnimation() != -1){
t = System.currentTimeMillis();
continue;
}
sleep(40, 80);
if(Player.getPosition().distanceTo(tile) == 0){
break;
}
}
}
private boolean atStairs(){
RSTile myPos = Player.getPosition();
return myPos.distanceTo(STAIRS_BANK_TILE) < 3;
}
private boolean walkToTile(RSTile tile){
if(Walking.walkTo(tile)){
waitUntilIdle(tile);
return true;
}
return false;
}
private boolean walkToStairs(){
int plane = Player.getPosition().getPlane();
if(plane == 1){
// At spinning wheel
return walkToTile(STAIRS_SPIN_WHEEL_TILE);
}else if(plane == 2){
// At bank
return walkToTile(STAIRS_BANK_TILE);
}
return false;
}
private boolean walkToBank(){
return walkToTile(BANK_TILE);
}
private boolean walkToDoor(){
return walkToTile(DOOR_TILE);
}
private boolean walkToWheel(){
return walkToTile(SPIN_TILE);
}
private boolean climbStairs(){
int plane = Player.getPosition().getPlane();
if(plane == 2){
// Down
RSObject[] stairs = Objects.findNearest(10, STAIRS_BANK_ID);
if(stairs != null && stairs.length > 0 && DynamicClicking.clickRSObject(stairs[0], "down")){
waitUntilIdle(stairs[0].getPosition());
return true;
}
}else{
// Up
RSObject[] stairs = Objects.findNearest(10, STAIRS_IDS);
if(stairs != null && stairs.length > 0 && DynamicClicking.clickRSObject(stairs[0], "up")){
waitUntilIdle(stairs[0].getPosition());
return true;
}
}
return false;
}
private boolean atDoor(){
RSTile myPos = Player.getPosition();
return myPos.distanceTo(DOOR_TILE) < 3;
}
private boolean openDoor(){
RSObject[] door = Objects.findNearest(15, CLOSED_DOOR_ID);
if(door != null && door.length > 0){
if(DynamicClicking.clickRSObject(door[0], "Open")){
waitUntilIdle(door[0].getPosition());
return true;
}
}
return false;
}
private boolean spinWheel(){
RSObject[] wheel = Objects.findNearest(10, SPINNING_WHEEL_ID);
if(wheel != null && wheel.length > 0){
if(DynamicClicking.clickRSObject(wheel[0], "Spin")){
waitUntilIdle(wheel[0].getPosition());
return true;
}
}
return false;
}
private boolean spinFlax(){
RSInterfaceChild flax = Interfaces.get(459, 91);
if(flax != null && !flax.isHidden() && flax.click("X")){
println("Selected X");
long t = System.currentTimeMillis();
while(Timing.timeFromMark(t) < General.random(1500, 2000)){
if(haveAmountInterface()){
return true;
}
sleep(50, 150);
}
}
return false;
}
private boolean haveFlaxInterface(){
RSInterfaceChild flax = Interfaces.get(459, 91);
return flax != null && !flax.isHidden();
}
private boolean haveAmountInterface(){
RSInterfaceChild amount = Interfaces.get(548, 94);
if(amount != null && !amount.isHidden()){
String txt = amount.getText();
if(txt != null && txt.equals("*")){
Color c = Screen.getColorAt(259, 428);
Color b = new Color(0, 0, 128);
return org.tribot.api.Screen.coloursMatch(b, c, new Tolerance(10));
}
}
return false;
}
private boolean typeAmount(){
if(haveAmountInterface()){
Keyboard.typeSend("33");
return true;
}
return false;
}
private boolean areCrafting(){
long t = System.currentTimeMillis();
while(Timing.timeFromMark(t) < General.random(1200, 1800)){
if(Player.getAnimation() == CRAFTING_ANIMATION_ID){
return true;
}
sleep(50, 100);
}
return false;
}
private boolean isDoorClosed(){
RSObject[] doors = Objects.findNearest(15, CLOSED_DOOR_ID);
if(doors != null && doors.length > 0)
for(RSObject door : doors)
if(door.getPosition().getY() < 3220)
return true;
return false;
}
private boolean haveFlax(){
RSItem[] flax = Inventory.find(FLAX_ID);
return flax != null && flax.length > 0;
}
private boolean haveBowstring(){
RSItem[] string = Inventory.find(BOW_STRING_ID);
return string != null && string.length > 0;
}
private boolean atBank(){
RSTile myPos = Player.getPosition();
return myPos.distanceTo(BANK_TILE) < 2;
}
private boolean atSpinWheel(){
RSTile myPos = Player.getPosition();
return myPos.distanceTo(SPIN_TILE) < 2;
}
@Override
public void run() {
println("Script has been started");
Mouse.setSpeed(General.random(130, 150));
while(true){
SCRIPT_STATE = getState();
CURRENT_XP = Skills.getXP("Crafting");
switch(SCRIPT_STATE){
case BANK_TO_STAIRS:
walkToStairs();
break;
case CLIMB_STAIRS:
climbStairs();
break;
case CRAFTING:
sleep(200, 400);
break;
case DEPOSIT_BOW_STRING:
depositBowstring();
break;
case OPEN_BANK:
Banking.openBankBanker();
break;
case OPEN_DOOR:
openDoor();
break;
case SELECT_FLAX:
spinFlax();
break;
case STAIRS_TO_BANK:
walkToBank();
break;
case STAIRS_TO_WHEEL:
walkToWheel();
break;
case TYPE_AMOUNT:
typeAmount();
break;
case USE_SPIN_WHEEL:
spinWheel();
break;
case WHEEL_TO_STAIRS:
walkToStairs();
break;
case WITHDRAW_FLAX:
withdrawFlax();
break;
case WALK_TO_DOOR:
walkToDoor();
break;
case DEPOSIT_JUNK:
depositJunk();
break;
}
sleep(40, 80);
}
}
}

