Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package scripts.moneymaking.iplankfarmer.sawmill;
- import org.tribot.api.General;
- import org.tribot.api.Timing;
- import org.tribot.api2007.Interfaces;
- import org.tribot.api2007.Inventory;
- import org.tribot.api2007.Player;
- import org.tribot.api2007.WebWalking;
- import org.tribot.api2007.types.RSInterface;
- import org.tribot.api2007.types.RSNPC;
- import scripts.methods.Methods;
- import scripts.moneymaking.iplankfarmer.Script;
- import scripts.moneymaking.iplankfarmer.types.Plank;
- import scripts.moneymaking.iplankfarmer.types.ScriptTask;
- import scripts.moneymaking.iplankfarmer.types.State;
- import scripts.moneymaking.iplankfarmer.utils.Constants;
- import scripts.moneymaking.iplankfarmer.utils.Locations;
- public class Sawmill {
- private Script script;
- public Sawmill(Script script) {
- setScript(script);
- }
- public void setScript(Script main) {
- this.script = main;
- }
- public Script getScript() {
- return script;
- }
- public boolean walkToOperator() {
- if(getScript().getAxe().isAxeBroken()) {
- getScript().setState(State.WALKING_TO_BOB);
- return false;
- }
- final ScriptTask TASK = getScript().getTask();
- final Plank PLANK = getScript().getPlank();
- if(TASK.equals(ScriptTask.MAKE_PLANKS) || PLANK.equals(Plank.TEAK)) {
- if(getScript().getData().getCurrentTripTime() == 0) {
- getScript().getData().setCurrentTripTime(System.currentTimeMillis());
- }
- }
- Methods.performAntiBan(getScript());
- getScript().getData().checkPlayerRun();
- WebWalking.walkTo(Locations.SAWMILL_TILE);
- if(isInSawmill(3000)) {
- getScript().setState(State.MAKING_PLANKS);
- return true;
- }
- return false;
- }
- private boolean isInSawmill(int i) {
- long t = System.currentTimeMillis();
- while (Timing.timeFromMark(t) < i + General.random(100, 200)) {
- if (Player.getPosition().equals(Locations.SAWMILL_TILE)) {
- return true;
- }
- if (!Player.isMoving()) {
- return false;
- }
- getScript().sleep(50, 150);
- }
- return false;
- }
- public void performSawmillTask() {
- RSNPC operator = Methods.findNPCByModelPoints(new int[]{Constants.SAWMILL_OPERATOR});
- if(operator != null) {
- operator.click("Buy-plank");
- if(isInterfaceOpen(1000)) {
- RSInterface button = Interfaces.get(Constants.PLANK_INTERFACE, getScript().getPlank().getChildId());
- if(button != null) {
- button.click("Buy All");
- if(isFinished(2500)) {
- int plankAmount = Inventory.getCount(getScript().getPlank().getId());
- int planksMade = getScript().getData().getPlanksMade();
- double moneySpent = getScript().getData().getMoneySpent();
- double moneyMade = getScript().getData().getMoneyMade();
- final ScriptTask TASK = getScript().getTask();
- double logCost = TASK.equals(ScriptTask.MAKE_PLANKS) ? getScript().getLogPrice() : 0;
- logCost = logCost * plankAmount;
- getScript().getData().setMoneySpent(moneySpent + (plankAmount * getScript().getPlank().getPricePerPlank()) + logCost);
- getScript().getData().setPlanksMade(planksMade + plankAmount);
- getScript().getData().setMoneyMade(moneyMade + (plankAmount * getScript().getPlankPrice()));
- }
- }
- }
- }
- }
- private boolean isFinished(int i) {
- long t = System.currentTimeMillis();
- while (Timing.timeFromMark(t) < i + General.random(100, 200)) {
- if (isFinished()) {
- return true;
- }
- getScript().sleep(50, 150);
- }
- return false;
- }
- private boolean isInterfaceOpen(int i) {
- long t = System.currentTimeMillis();
- while (Timing.timeFromMark(t) < i + General.random(100, 200)) {
- RSInterface plankInterface = Interfaces.get(Constants.PLANK_INTERFACE);
- if (plankInterface != null) {
- return true;
- }
- getScript().sleep(50, 150);
- }
- return false;
- }
- public boolean isFinished() {
- if(Inventory.getCount(Constants.GOLD) < getScript().getPlank().getPricePerPlank()) {
- return true;
- }
- if(Inventory.getCount(getScript().getPlank().getLogId()) <= 0) {
- return true;
- }
- return false;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement