Files
APOS/Scripts/Abyte0_RuniteMiner.java
T

580 lines
12 KiB
Java

//Version 5 Updated to OpenRSC
//5.1 Move to avoid log out
public class Abyte0_RuniteMiner extends Abyte0_Script {
int oreRunite = 409; // Rune ore
int RockRunite = 210; // Rune rock
int gem1 = 160; // sapph
int gem2 = 159; // emerald
int gem3 = 158; // ruby
int gem4 = 157; // diamond
int fmode = 3;
int foodId = 367;
int nbFood = 6;
int cptRuneBanked;
int cptInventaireToBank = 2;
boolean died = false;
boolean readyToSleep = false;
int cptReturns = 0;
public Abyte0_RuniteMiner(Extension e) {
super(e);
}
public void init(String params) {
cptRuneBanked = 0;
print("Abyte0 : Runite Miner...");
print("Version 5.1 Updated to OpenRSC");
print("Bank Ruby, Diamond, Runite ores + WALK BACK FROM LUMB");
print(".");
print(".");
String[] str = params.split(",");
if (str.length >= 3) {
fmode = Integer.parseInt(str[0]);
foodId = Integer.parseInt(str[1]);
nbFood = Integer.parseInt(str[2]);
if (str.length == 4) {
cptRuneBanked = Integer.parseInt(str[3]);
}
} else {
print("You should use: Abyte0_RuniteMiner Fmode,FoodId,nbFood (Optional: ,cptRunesBankedYet");
print("You are Using Default: Defence Mode, 6 Tunas");
print(".");
print(".");
}
print("Fmode = " + fmode);
print("foodId = " + foodId);
print("nbFood = " + nbFood);
}
public int main() {
return Mine();
}
public int Mine() {
if (getFightMode() != fmode) {
setFightMode(fmode);
}
if (inCombat()) {
RunFromCombat();
return random(100, 600);
}
if (getHpPercent() < 60) {
//print("Low HP");
if (IsStillHavingFood(foodId)) {
EatFood(foodId);
return random(500, 1500);
}
}
if (readyToSleep) {
if (getInventoryCount(1263) > 0) {
//print("Im ready to sleep!");
useSleepingBag();
//print("Sleep");
}
readyToSleep = false;
return 1000;
}
if (isBanking()) {
//print("BANKING!");
if (getFatigue() > 5) {
withdraw(1263, 1);
closeBank();
readyToSleep = true;
//print("wait 1 minute after withdraw");
return 1000 + 60000;
}
if (getInventoryCount(1263) > 0) {
deposit(1263, getInventoryCount(1263));
//print("wait 1 minute after deposite");
return 1000 + 60000;
}
// Deposit gems and ores
if (getInventoryCount(gem4) > 0) {
deposit(gem4, 1);
return 1000;
}
if (getInventoryCount(gem3) > 0) {
deposit(gem3, 1);
return 1000;
}
if (getInventoryCount(gem2) > 0) {
deposit(gem2, 1);
return 1000;
}
if (getInventoryCount(gem1) > 0) {
deposit(gem1, 1);
return 1000;
}
if (getInventoryCount(oreRunite) > 0) {
cptRuneBanked += getInventoryCount(oreRunite);
deposit(oreRunite, getInventoryCount(oreRunite));
print("Banked " + cptRuneBanked + " rune ore so far");
return 1000 + 60000;
}
if (getInventoryCount(foodId) < nbFood) {
withdraw(foodId, 1);
return 1000;
}
closeBank();
return 1000;
}
if (isQuestMenu()) {
answer(0);
return random(900, 1600);
}
if (getX() >= 280 && getX() <= 286 && getY() >= 564 && getY() <= 573 && (getInventoryCount(oreRunite) > 0 || !IsStillHavingFood(foodId))) {
//Si dans la banque
//print("Talking to Banker");
if (!isBanking()) {
int[] banker = getNpcByIdNotTalk(95);
if (banker[0] != -1 && !isBanking()) {
talkToNpc(banker[0]);
return random(2000, 3000);
}
}
return random(231, 1500);
}
if (getX() == 287 && getY() == 571 && (getInventoryCount(oreRunite) > 0 || !IsStillHavingFood(foodId))) {
//Si a coter de la porte a exterieur
//print("Step Inside Bank");
atObject(287, 571);
walkTo(286, 571);
return random(100, 1500);
}
// Open door
//if(distanceTo(getX(),getY(),287,571) < 5)
// if(getObjectById(64).length > 0)
// atObject(getObjectById(64)[1],getObjectById(64)[2]);
// Talk to banker
//if(distanceTo(286,571) < 6 && getInventoryCount() > 2)
//{
// talkToNpc(getNpcById(banker)[0]);
// return 2002 + random(100, 100);
//}
if (distanceTo(120, 648) < 12) {
died = true;
print("Just Died...");
}
if (died) {
print("Dead Action Method");
if (getX() < 120) {
//Walk Spawn
walkTo(120, 648);
return random(789, 1800);
}
if (getX() < 128) {
//Walk shop lumb
walkTo(128, 636);
return random(789, 1800);
}
if (getX() < 136) {
//Walk route apres sheep a voir
walkTo(136, 616);
return random(789, 1800);
}
if (getX() < 158) {
//Walk Chickens Lumb
walkTo(158, 613);
return random(789, 1800);
}
if (getX() < 176) {
//Walk Foin 1
walkTo(176, 607);
return random(789, 1800);
}
if (getX() < 196) {
//Walk Foin 2
walkTo(196, 605);
return random(789, 1800);
}
if (getX() < 216) {
//Walk
walkTo(216, 605);
return random(789, 1800);
}
if (getX() < 236) {
//Walk
walkTo(236, 608);
return random(789, 1800);
}
if (getX() < 258) {
//Walk
walkTo(258, 609);
return random(789, 1800);
}
if (getX() < 275) {
//Walk Chiekens
walkTo(275, 609);
return random(789, 1800);
}
if (getX() < 282) {
//Walk Road
walkTo(282, 592);
return random(789, 1800);
}
if (getX() < 290) {
//Walk Guards
walkTo(290, 571);
died = false;
print("not died anymore1");
return random(789, 1800);
}
if (getX() == 290 && getY() == 571) {
//Walk Guards
died = false;
print("not died anymore2");
return random(789, 1800);
}
walkTo(290, 571);
}
if (getInventoryCount(oreRunite) >= cptInventaireToBank || !IsStillHavingFood(foodId)) {
//print("We Should Bank!");
if (getInventoryCount(gem1) > 0)//Drop Saphire
{
dropItem(getInventoryIndex(gem1));
return random(1500, 3000);
}
if (getInventoryCount(gem2) > 0)//Drop Emeral
{
dropItem(getInventoryIndex(gem2));
return random(1500, 3000);
}
//if(getX() >= 288 && getX() <= 291 && getY() >= 525 && getY() <= 528 && getFatigue() > 20)
//{
// //Si dans la house et fatiguer de plsu de 20 on dors
// atObject(288,525);//rendu ici
// return random(231, 1500);
//}
//if(getX() >= 288 && getX() <= 291 && getY() >= 525 && getY() <= 528 && getFatigue() <= 20)
//{
// //Si dans la house et pu fatiguer on sort esti
// atObject(287,571);
// walkTo(286,571);
// return random(100, 1500);
//}
if (getY() < 166) {
//Walk sud rocks
walkTo(269, 166);
return random(789, 1800);
}
if (getY() < 177) {
//Walk nort lesser
walkTo(280, 177);
return random(789, 1800);
}
if (getY() < 187) {
//Walk west lesser
walkTo(292, 187);
return random(789, 1800);
}
if (getY() < 199) {
//Walk ne altar
walkTo(300, 199);
return random(789, 1800);
}
if (getY() < 211) {
//Walk east altar
walkTo(307, 211);
return random(789, 1800);
}
if (getY() < 222) {
//Walk sud altar
walkTo(321, 222);
return random(789, 1800);
}
if (getY() < 239) {
//Walk sud alta(32)
walkTo(333, 239);
return random(789, 1800);
}
if (getY() < 256) {
//Walk 29
walkTo(334, 256);
return random(789, 1800);
}
if (getY() < 275) {
//Walk ghost 26
walkTo(335, 275);
return random(789, 1800);
}
if (getY() < 297) {
//Walk 22
walkTo(335, 297);
return random(789, 1800);
}
if (getY() < 319) {
//Walk 19
walkTo(334, 319);
return random(789, 1800);
}
if (getY() < 333) {
//Walk mush 16
walkTo(333, 333);
return random(789, 1800);
}
if (getY() < 352) {
//Walk 13
walkTo(335, 352);
return random(789, 1800);
}
if (getY() < 371) {
//Walk 10
walkTo(335, 371);
return random(789, 1800);
}
if (getY() < 389) {
//Walk 7
walkTo(335, 389);
return random(789, 1800);
}
if (getY() < 408) {
//Walk 4
walkTo(334, 408);
return random(789, 1800);
}
if (getY() < 419) {
//Walk 2
walkTo(320, 419);
return random(789, 1800);
}
if (getY() < 436) {
//Walk out wildy
walkTo(306, 436);
return random(789, 1800);
}
if (getY() < 460) {
//Walk east goblin
walkTo(305, 460);
return random(789, 1800) + 60000;
}
if (getY() < 479) {
//Walk
walkTo(311, 479);
return random(789, 1800);
}
if (getY() < 496) {
//Walk FIXED
walkTo(305, 496);
return random(789, 1800);
}
if (getY() < 511) {
//Walk cross road
walkTo(312, 511);
return random(789, 1800);
}
if (getY() < 526) {
//Walk Devant maison OUT
walkTo(292, 526);
return random(789, 1800);
}
if (getY() < 541) {
//Walk jardin
walkTo(296, 541);
return random(789, 1800);
}
if (getY() < 561) {
//Walk sud jardin
walkTo(291, 561);
return random(789, 1800);
}
if (getY() < 571) {
//Walk devant bank
walkTo(287, 571);
return random(789, 1800);
}
walkTo(287, 571);
return random(1100, 1733);
} else {
//print("No Need to bank....");
if (getX() == 286 && getY() == 571) {
//Si a coter de la porte a linterieur
//print("Step Outside Bank");
atObject(287, 571);
walkTo(287, 571);
return random(121, 3500);
}
if (getX() >= 280 && getX() <= 286 && getY() >= 564 && getY() <= 573) {
//Si dans la banque
//print("Walking to Door");
walkTo(286, 571);
return random(240, 2500);
}
if (getY() > 561) {
//Walk sud jardin
walkTo(291, 561);
return random(789, 1800);
}
if (getY() > 541) {
//Walk jardin
walkTo(296, 541);
return random(789, 1800);
}
if (getY() > 526) {
//Walk Devant maison OUT
walkTo(292, 526);
return random(789, 1800);
}
if (getY() > 511) {
//Walk cross road
walkTo(312, 511);
return random(789, 1800);
}
if (getY() > 497) {
//Walk
walkTo(310, 497);
return random(789, 1800);
}
if (getY() > 479) {
//Walk
walkTo(311, 479);
return random(789, 1800);
}
if (getY() > 460) {
//Walk east goblin
walkTo(305, 460);
return random(789, 1800);
}
if (getY() > 436) {
//Walk out wildy
walkTo(306, 436);
return random(789, 1800);
}
if (getY() > 419) {
//Walk 2
walkTo(320, 419);
return random(789, 1800);
}
if (getY() > 408) {
//Walk 4
walkTo(334, 408);
return random(789, 1800);
}
if (getY() > 389) {
//Walk 7
walkTo(335, 389);
return random(789, 1800);
}
if (getY() > 371) {
//Walk 10
walkTo(335, 371);
return random(789, 1800);
}
if (getY() > 352) {
//Walk 13
walkTo(335, 352);
return random(789, 1800);
}
if (getY() > 333) {
//Walk mush 16
walkTo(333, 333);
return random(789, 1800);
}
if (getY() > 319) {
//Walk 19
walkTo(334, 319);
return random(789, 1800);
}
if (getY() > 297) {
//Walk 22
walkTo(335, 297);
return random(789, 1800);
}
if (getY() > 275) {
//Walk ghost 26
walkTo(335, 275);
return random(789, 1800);
}
if (getY() > 256) {
//Walk 29
walkTo(334, 256);
return random(789, 1800);
}
if (getY() > 239) {
//Walk sud alta(32)
walkTo(333, 239);
return random(789, 1800);
}
if (getY() > 222) {
//Walk sud altar
walkTo(321, 222);
return random(789, 1800);
}
if (getY() > 211) {
//Walk east altar
walkTo(307, 211);
return random(789, 1800);
}
if (getY() > 199) {
//Walk ne altar
walkTo(300, 199);
return random(789, 1800);
}
if (getY() > 187) {
//Walk west lesser
walkTo(292, 187);
return random(789, 1800);
}
if (getY() > 177) {
//Walk nort lesser
walkTo(280, 177);
return random(789, 1800);
}
if (getY() > 166) {
//Walk sud rocks
walkTo(269, 166);
return random(789, 1800);
}
if (distanceTo(257, 157) < 25) {
cptReturns++;
int nombreRunite = mineOre(RockRunite);
if (nombreRunite > 0)
return random(1500, 3601);
if (cptReturns > 50) {
cptReturns = 0;
walkTo(257, random(156, 158));
return random(1000, 10000);
}
}
//print("ELSE walkTo RockRunite");
if (getX() != 257 || getY() != 157)
walkTo(257, 157);
return random(400, 1103);
}
}
public final void print(String gameText) {
System.out.println(gameText);
}
public void RunFromCombat() {
int x = getX();
int y = getY();
walkTo(x, y);
}
public final int mineOre(int id) {
int[] rock = getObjectById(id);
if (rock[0] != -1) {
//Si on est a la swamp mine
atObject(rock[1], rock[2]);
//print("Mining " + getObjectIdFromCoords(rock[1], rock[2]));
return 1;
}
return 0;
}
}