Add last bank check, activities and improve idle check
This commit is contained in:
parent
5948f13f06
commit
c0ee06e38a
@ -12,7 +12,9 @@ import net.runelite.api.Skill;
|
|||||||
import net.runelite.api.events.*;
|
import net.runelite.api.events.*;
|
||||||
import net.runelite.client.eventbus.Subscribe;
|
import net.runelite.client.eventbus.Subscribe;
|
||||||
import net.runelite.client.plugins.iutils.game.iPlayer;
|
import net.runelite.client.plugins.iutils.game.iPlayer;
|
||||||
|
import net.runelite.client.plugins.iutils.scene.GameObjectStream;
|
||||||
import net.runelite.client.plugins.iutils.scripts.iScript;
|
import net.runelite.client.plugins.iutils.scripts.iScript;
|
||||||
|
import net.runelite.client.plugins.iutils.ui.InventoryItemStream;
|
||||||
|
|
||||||
import javax.inject.Inject;
|
import javax.inject.Inject;
|
||||||
import java.time.Duration;
|
import java.time.Duration;
|
||||||
@ -157,8 +159,10 @@ public abstract class CScript extends iScript {
|
|||||||
|
|
||||||
if (Duration.between(lastInventoryChange, Instant.now()).compareTo(lastActionTimeout) < 0) return;
|
if (Duration.between(lastInventoryChange, Instant.now()).compareTo(lastActionTimeout) < 0) return;
|
||||||
|
|
||||||
int animId = game.localPlayer().animation();
|
if (!game.localPlayer().isIdle() || lastActionTime == null) {
|
||||||
if (animId != IDLE || lastActionTime == null) return;
|
lastActionTime = Instant.now();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
Duration sinceAction = Duration.between(lastActionTime, Instant.now());
|
Duration sinceAction = Duration.between(lastActionTime, Instant.now());
|
||||||
|
|
||||||
|
@ -15,5 +15,9 @@ public enum Activity {
|
|||||||
CLEANING_HERBS(),
|
CLEANING_HERBS(),
|
||||||
CREATING_UNFINISHED_POTIONS(),
|
CREATING_UNFINISHED_POTIONS(),
|
||||||
CREATING_POTIONS(),
|
CREATING_POTIONS(),
|
||||||
SMITHING();
|
SMITHING(),
|
||||||
|
FIGHTING(),
|
||||||
|
DEPOSITING(),
|
||||||
|
REPAIRING(),
|
||||||
|
WITHDRAWING();
|
||||||
}
|
}
|
||||||
|
@ -4,7 +4,12 @@ import io.reisub.openosrs.util.Task;
|
|||||||
import net.runelite.client.plugins.iutils.game.iNPC;
|
import net.runelite.client.plugins.iutils.game.iNPC;
|
||||||
import net.runelite.client.plugins.iutils.game.iObject;
|
import net.runelite.client.plugins.iutils.game.iObject;
|
||||||
|
|
||||||
|
import java.time.Duration;
|
||||||
|
import java.time.Instant;
|
||||||
|
|
||||||
public abstract class BankTask extends Task {
|
public abstract class BankTask extends Task {
|
||||||
|
protected Instant last = Instant.EPOCH;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String getStatus() {
|
public String getStatus() {
|
||||||
return "Banking";
|
return "Banking";
|
||||||
@ -43,6 +48,10 @@ public abstract class BankTask extends Task {
|
|||||||
return bank.isOpen();
|
return bank.isOpen();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
protected boolean isLastBankDurationAgo(Duration duration) {
|
||||||
|
return Duration.between(last, Instant.now()).compareTo(duration) >= 0;
|
||||||
|
}
|
||||||
|
|
||||||
protected iObject getBankObject() {
|
protected iObject getBankObject() {
|
||||||
return game.objects()
|
return game.objects()
|
||||||
.withName("Bank chest", "Bank booth", "Bank Chest-wreck", "Bank chest")
|
.withName("Bank chest", "Bank booth", "Bank Chest-wreck", "Bank chest")
|
||||||
@ -54,5 +63,4 @@ public abstract class BankTask extends Task {
|
|||||||
.withAction("Bank")
|
.withAction("Bank")
|
||||||
.nearest();
|
.nearest();
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user