Skip to content
This repository was archived by the owner on Feb 9, 2022. It is now read-only.

Commit 6650056

Browse files
author
Explv
committed
Copy from latest Explv's AIO version.
1 parent 9637aae commit 6650056

24 files changed

+608
-401
lines changed

src/events/EnableFixedModeEvent.java

Lines changed: 0 additions & 38 deletions
This file was deleted.

src/events/ToggleRoofsHiddenEvent.java

Lines changed: 0 additions & 29 deletions
This file was deleted.

src/events/ToggleShiftDropEvent.java

Lines changed: 0 additions & 26 deletions
This file was deleted.

src/script/TutorialIsland.java

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,11 @@
33
import org.osbot.rs07.script.Script;
44
import org.osbot.rs07.script.ScriptManifest;
55
import sections.*;
6+
import util.Sleep;
67

7-
@ScriptManifest(author = "Explv", name = "Explv's Tutorial Island", info = "Completes Tutorial Island", version = 6.1, logo = "")
8+
@ScriptManifest(author = "Explv", name = "Explv's Tutorial Island " + TutorialIsland.VERSION, info = "Completes Tutorial Island", version=0, logo = "")
89
public final class TutorialIsland extends Script {
10+
public static final String VERSION = "v6.2";
911

1012
private final TutorialSection rsGuideSection = new RuneScapeGuideSection();
1113
private final TutorialSection survivalSection = new SurvivalSection();
@@ -18,7 +20,7 @@ public final class TutorialIsland extends Script {
1820
private final TutorialSection wizardSection = new WizardSection();
1921

2022
@Override
21-
public void onStart() throws InterruptedException {
23+
public void onStart() {
2224
rsGuideSection.exchangeContext(getBot());
2325
survivalSection.exchangeContext(getBot());
2426
cookingSection.exchangeContext(getBot());
@@ -28,6 +30,8 @@ public void onStart() throws InterruptedException {
2830
bankSection.exchangeContext(getBot());
2931
priestSection.exchangeContext(getBot());
3032
wizardSection.exchangeContext(getBot());
33+
34+
Sleep.sleepUntil(() -> getClient().isLoggedIn() && myPlayer().isVisible() && myPlayer().isOnScreen(), 6000, 500);
3135
}
3236

3337
@Override

src/sections/BankSection.java

Lines changed: 5 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -3,19 +3,15 @@
33
import org.osbot.rs07.api.map.Area;
44
import org.osbot.rs07.api.map.Position;
55
import org.osbot.rs07.api.model.RS2Object;
6-
import org.osbot.rs07.api.ui.RS2Widget;
7-
import utils.CachedWidget;
8-
import utils.Sleep;
9-
import utils.WidgetActionFilter;
6+
import util.Sleep;
7+
import util.widget.CachedWidget;
8+
import util.widget.filters.WidgetActionFilter;
109

1110
import java.util.Arrays;
1211
import java.util.List;
13-
import java.util.Optional;
1412

1513
public final class BankSection extends TutorialSection {
1614

17-
private final CachedWidget accountManagementWidget = new CachedWidget(new WidgetActionFilter("Account Management"));
18-
1915
private static final Area BANK_AREA = new Area(
2016
new int[][]{
2117
{3125, 3121},
@@ -41,13 +37,13 @@ public final class BankSection extends TutorialSection {
4137
{3125, 3121}
4238
}
4339
);
44-
4540
private static final List<Position> PATH_TO_BANK = Arrays.asList(
4641
new Position(3111, 3123, 0),
4742
new Position(3114, 3119, 0),
4843
new Position(3118, 3116, 0),
4944
new Position(3121, 3118, 0)
5045
);
46+
private final CachedWidget accountManagementWidget = new CachedWidget(new WidgetActionFilter("Account Management"));
5147

5248
public BankSection() {
5349
super("Account Guide");
@@ -109,7 +105,7 @@ private boolean openDoorAtPosition(final Position position) {
109105
}
110106

111107
private void openAccountManagementTab() {
112-
if ( accountManagementWidget.get(getWidgets()).isPresent() && accountManagementWidget.get(getWidgets()).get().interact()) {
108+
if (accountManagementWidget.isVisible(getWidgets()) && accountManagementWidget.interact(getWidgets())) {
113109
Sleep.sleepUntil(() -> getProgress() == 532, 5000, 600);
114110
}
115111
}

src/sections/CookingSection.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
import org.osbot.rs07.api.map.Area;
44
import org.osbot.rs07.api.map.Position;
5-
import utils.Sleep;
5+
import util.Sleep;
66

77
import java.util.Arrays;
88
import java.util.List;

src/sections/FightingSection.java

Lines changed: 66 additions & 71 deletions
Original file line numberDiff line numberDiff line change
@@ -4,16 +4,15 @@
44
import org.osbot.rs07.api.model.NPC;
55
import org.osbot.rs07.api.ui.EquipmentSlot;
66
import org.osbot.rs07.api.ui.Tab;
7-
import utils.CachedWidget;
8-
import utils.Sleep;
9-
import utils.WidgetActionFilter;
7+
import util.Sleep;
8+
import util.widget.CachedWidget;
9+
import util.widget.filters.WidgetActionFilter;
1010

1111
public final class FightingSection extends TutorialSection {
1212

1313
private static final Area LADDER_AREA = new Area(3108, 9523, 3114, 9529);
1414
private static final Area INSIDE_RAT_CAGE_GATE_AREA = new Area(3107, 9517, 3110, 9520);
1515
private static final Area OUTSIDE_RAT_CAGE_GATE_AREA = new Area(3111, 9516, 3113, 9521);
16-
private static final Area WRONG_DOOR = new Area(3090, 9508, 3097, 9496);
1716

1817
private final CachedWidget VIEW_EQUIPMENT_STATS_WIDGET = new CachedWidget(new WidgetActionFilter("View equipment stats"));
1918

@@ -29,71 +28,69 @@ public final void onLoop() throws InterruptedException {
2928
}
3029

3130
switch (getProgress()) {
32-
case 370:
33-
talkToInstructor();
34-
break;
35-
case 390:
36-
getTabs().open(Tab.EQUIPMENT);
37-
break;
38-
case 400:
39-
VIEW_EQUIPMENT_STATS_WIDGET.get(getWidgets()).ifPresent(widget -> {
40-
if (widget.interact()) {
41-
Sleep.sleepUntil(() -> getProgress() != 400, 3000, 600);
42-
}
43-
});
44-
break;
45-
case 405:
46-
wieldItem("Bronze dagger");
47-
break;
48-
case 410:
49-
talkToInstructor();
50-
break;
51-
case 420:
52-
if (!getEquipment().isWearingItem(EquipmentSlot.WEAPON, "Bronze sword")) {
53-
wieldItem("Bronze sword");
54-
} else if (!getEquipment().isWearingItem(EquipmentSlot.SHIELD, "Wooden shield")) {
55-
wieldItem("Wooden shield");
56-
}
57-
break;
58-
case 430:
59-
getTabs().open(Tab.ATTACK);
60-
break;
61-
case 440:
31+
case 370:
32+
talkToInstructor();
33+
break;
34+
case 390:
35+
getTabs().open(Tab.EQUIPMENT);
36+
break;
37+
case 400:
38+
if (VIEW_EQUIPMENT_STATS_WIDGET.interact(getWidgets())) {
39+
Sleep.sleepUntil(() -> getProgress() != 400, 3000, 600);
40+
}
41+
break;
42+
case 405:
43+
wieldItem("Bronze dagger");
44+
break;
45+
case 410:
46+
talkToInstructor();
47+
break;
48+
case 420:
49+
if (!getEquipment().isWearingItem(EquipmentSlot.WEAPON, "Bronze sword")) {
50+
wieldItem("Bronze sword");
51+
} else if (!getEquipment().isWearingItem(EquipmentSlot.SHIELD, "Wooden shield")) {
52+
wieldItem("Wooden shield");
53+
}
54+
break;
55+
case 430:
56+
getTabs().open(Tab.ATTACK);
57+
break;
58+
case 440:
59+
enterRatCage();
60+
break;
61+
case 450:
62+
case 460:
63+
if (!inRatCage()) {
6264
enterRatCage();
63-
break;
64-
case 450:
65-
case 460:
66-
if (!inRatCage()) {
67-
enterRatCage();
68-
} else if (!isAttackingRat()) {
69-
attackRat();
70-
}
71-
break;
72-
case 470:
73-
if (inRatCage()) {
74-
leaveRatCage();
75-
} else {
76-
talkToInstructor();
77-
}
78-
break;
79-
case 480:
80-
case 490:
81-
if (!getEquipment().isWearingItem(EquipmentSlot.WEAPON, "Shortbow")) {
82-
wieldItem("Shortbow");
83-
} else if (!getEquipment().isWearingItem(EquipmentSlot.ARROWS, "Bronze arrow")) {
84-
wieldItem("Bronze arrow");
85-
} else if (!isAttackingRat()) {
86-
attackRat();
87-
}
88-
break;
89-
case 500:
90-
if (!LADDER_AREA.contains(myPosition())) {
91-
getWalking().walk(LADDER_AREA);
92-
} else if (getObjects().closest("Ladder").interact("Climb-up")) {
93-
Sleep.sleepUntil(() -> !LADDER_AREA.contains(myPosition()), 5000, 600);
94-
}
95-
break;
96-
}
65+
} else if (!isAttackingRat()) {
66+
attackRat();
67+
}
68+
break;
69+
case 470:
70+
if (inRatCage()) {
71+
leaveRatCage();
72+
} else {
73+
talkToInstructor();
74+
}
75+
break;
76+
case 480:
77+
case 490:
78+
if (!getEquipment().isWearingItem(EquipmentSlot.WEAPON, "Shortbow")) {
79+
wieldItem("Shortbow");
80+
} else if (!getEquipment().isWearingItem(EquipmentSlot.ARROWS, "Bronze arrow")) {
81+
wieldItem("Bronze arrow");
82+
} else if (!isAttackingRat()) {
83+
attackRat();
84+
}
85+
break;
86+
case 500:
87+
if (!LADDER_AREA.contains(myPosition())) {
88+
getWalking().walk(LADDER_AREA);
89+
} else if (getObjects().closest("Ladder").interact("Climb-up")) {
90+
Sleep.sleepUntil(() -> !LADDER_AREA.contains(myPosition()), 5000, 600);
91+
}
92+
break;
93+
}
9794
}
9895

9996
private boolean inRatCage() {
@@ -103,9 +100,7 @@ private boolean inRatCage() {
103100
private void enterRatCage() {
104101
if (!OUTSIDE_RAT_CAGE_GATE_AREA.contains(myPosition())) {
105102
getWalking().walk(OUTSIDE_RAT_CAGE_GATE_AREA);
106-
} else if (getObjects()
107-
.closest(ob -> ob.getName() != null && ob.getName().equals("Gate") && !WRONG_DOOR.contains(ob))
108-
.interact("Open")) {
103+
} else if (getObjects().closest("Gate").interact("Open")) {
109104
Sleep.sleepUntil(this::inRatCage, 5000, 600);
110105
}
111106
}

0 commit comments

Comments
 (0)