Skip to content

Instantly share code, notes, and snippets.

@lordgmage
Created January 19, 2015 08:43
Show Gist options
  • Save lordgmage/560317f19811eff71a9d to your computer and use it in GitHub Desktop.
Save lordgmage/560317f19811eff71a9d to your computer and use it in GitHub Desktop.
package lordbminer;
import org.parabot.environment.api.utils.Time;
import org.parabot.environment.scripts.framework.Strategy;
import org.rev317.min.api.methods.Bank;
import org.rev317.min.api.methods.Inventory;
import org.rev317.min.api.methods.SceneObjects;
import org.rev317.min.api.wrappers.SceneObject;
import org.rev317.min.api.wrappers.Tile;
import org.rev317.min.api.wrappers.TilePath;
/**
* Created by George on 13/01/2015.
*/
public class BacktoMine implements Strategy{
int[] rocksIds = {2096, 2096};
public static Tile[] tileArray = { new Tile(2389,4709,0), new Tile(2384,4712), new Tile(2386,4722,0)};
@Override
public boolean activate() {
SceneObject[] rocks = SceneObjects.getNearest(rocksIds);
return !Bank.isOpen() && Inventory.isEmpty() && (rocks == null || (rocks != null && rocks.length > 0 && rocks[0].distanceTo() > 5));
}
@Override
public void execute() {
TilePath ToMine = new TilePath(tileArray);
if (ToMine != null && !ToMine.hasReached()) {
ToMine.traverse();
Time.sleep(4500);
}
System.out.print("I'm walking to the mine hold on!");
}
}
package lordbminer;
import org.parabot.environment.scripts.framework.Strategy;
import org.rev317.min.api.methods.Bank;
import org.rev317.min.api.methods.Inventory;
/**
* Created by George on 13/01/2015.
*/
public class CloseBank implements Strategy{
@Override
public boolean activate() {
return Bank.isOpen() && Inventory.isEmpty();
}
@Override
public void execute() {
Bank.close();
}
}
package lordbminer;
import org.parabot.environment.api.utils.Time;
import org.parabot.environment.input.Mouse;
import org.parabot.environment.scripts.Script;
import org.parabot.environment.scripts.framework.Strategy;
import org.rev317.min.api.methods.Bank;
import org.rev317.min.api.methods.Game;
import org.rev317.min.api.methods.Inventory;
import org.rev317.min.api.methods.Menu;
import javax.swing.*;
import java.awt.event.MouseEvent;
import static org.rev317.min.api.methods.Bank.*;
import static org.rev317.min.api.methods.Inventory.*;
/**
* Created by George on 13/01/2015.
*/
public class Deposit implements Strategy{
@Override
public boolean activate() {
return Bank.isOpen() && Inventory.isFull() ;
}
@Override
public void execute() {
Mouse.getInstance().click(400,300, true);
System.out.print("Deposited");
Time.sleep(3000);
}
}
package lordbminer;
import org.parabot.environment.scripts.Category;
import org.parabot.environment.scripts.Script;
import org.parabot.environment.scripts.ScriptManifest;
import org.parabot.environment.scripts.framework.Strategy;
import org.rev317.min.Loader;
import org.rev317.min.api.methods.Game;
import java.util.ArrayList;
/**
* Created by George on 13/01/2015.
*/
@ScriptManifest(
servers = "Ultimatescape",
description = "Mines then banks",
author = "Lordgmage",
category = Category.MINING,
name = "Lordbminer",
version = 1.1
)
public class Lordbminer extends Script{
private ArrayList<Strategy> strategies = new ArrayList<Strategy>();
@Override
public boolean onExecute() {
strategies.add(new OpenBank());
strategies.add(new Deposit());
strategies.add(new CloseBank());
strategies.add(new BacktoMine());
strategies.add(new Mining());
strategies.add(new ToBank());
provide(strategies);
return true;
}
@Override
public void onFinish() {
}
}
package lordbminer;
import org.parabot.environment.api.utils.Time;
import org.parabot.environment.scripts.framework.Strategy;
import org.rev317.min.api.methods.Inventory;
import org.rev317.min.api.methods.Players;
import org.rev317.min.api.methods.SceneObjects;
import org.rev317.min.api.wrappers.SceneObject;
/**
* Created by George on 14/01/2015.
*/
public class Mining implements Strategy{
int[] rocksIds = {2096, 2096};
SceneObject[] rocks;
@Override
public boolean activate() {
rocks = SceneObjects.getNearest(rocksIds);
return !Inventory.isFull() && Players.getMyPlayer().getAnimation() == -1 && rocks != null && rocks.length > 0 && rocks[0].distanceTo() < 10;
}
@Override
public void execute() {
rocks[0].interact(0);
Time.sleep(3000);
System.out.print("Mining");
}
}
package lordbminer;
import org.parabot.environment.api.utils.Time;
import org.parabot.environment.scripts.Script;
import org.parabot.environment.scripts.framework.Strategy;
import org.rev317.min.api.methods.Bank;
import org.rev317.min.api.methods.Inventory;
import org.rev317.min.api.methods.Npcs;
import org.rev317.min.api.wrappers.Npc;
/**
* Created by George on 13/01/2015.
*/
public class OpenBank implements Strategy{
Npc[] bankers = null;
@Override
public boolean activate() {
bankers = Npcs.getNearest(953);
return !Bank.isOpen() && Inventory.isFull() && bankers != null && bankers.length > 0 && bankers[0].distanceTo() < 5;
}
@Override
public void execute() {
bankers[0].interact(0);
Time.sleep(3000);
System.out.print("Banking");
}
}
package lordbminer;
import org.parabot.environment.api.utils.Time;
import org.parabot.environment.scripts.Script;
import org.parabot.environment.scripts.framework.Strategy;
import org.rev317.min.api.methods.Bank;
import org.rev317.min.api.methods.Inventory;
import org.rev317.min.api.wrappers.Tile;
import org.rev317.min.api.wrappers.TilePath;
/**
* Created by George on 14/01/2015.
*/
public class ToBank implements Strategy{
public static Tile[] tileArray = { new Tile(2383,4714,0), new Tile(2388,4709), new Tile(2395,4713,0)};
@Override
public boolean activate() {
return Inventory.isFull();
}
@Override
public void execute() {
TilePath ToBank = new TilePath(tileArray);
if (ToBank != null && !ToBank.hasReached()) {
ToBank.traverse();
Time.sleep(4500);
}
System.out.print("ToBank");
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment