forked from 2009Scape/Server
Small Tutorial Island Fixes (#57)
* Added Music Tab stage load for advancing Tutorial Island * Commented out starter pack applying on new player login - read comments in file
This commit is contained in:
parent
139a12b1b7
commit
fd0ca73bf1
2 changed files with 138 additions and 123 deletions
|
|
@ -20,7 +20,7 @@ import org.crandor.plugin.Plugin;
|
|||
/**
|
||||
* Represents the component plugin used for the game interface.
|
||||
* @author Vexia
|
||||
*
|
||||
*
|
||||
*/
|
||||
@InitializablePlugin
|
||||
public final class GameInterface extends ComponentPlugin {
|
||||
|
|
@ -38,134 +38,145 @@ public final class GameInterface extends ComponentPlugin {
|
|||
@Override
|
||||
public boolean handle(final Player player, Component component, int opcode, int button, int slot, int itemId) {
|
||||
switch (component.getId()) {
|
||||
case 740:
|
||||
switch (button){
|
||||
case 3:
|
||||
player.getInterfaceManager().closeChatbox();
|
||||
break;
|
||||
}
|
||||
return true;
|
||||
case 746:
|
||||
switch (button){
|
||||
case 110:
|
||||
configureWorldMap(player);
|
||||
break;
|
||||
}
|
||||
return true;
|
||||
case 548:
|
||||
int tut_stage = TutorialSession.getExtension(player).getStage();
|
||||
if (button >= 38 && button<= 44 || button >= 20 && button <= 26) {
|
||||
player.getInterfaceManager().setCurrentTabIndex(getTabIndex(button));
|
||||
}
|
||||
switch (button) {
|
||||
case 21://friends tab
|
||||
if (tut_stage == 63) {
|
||||
player.getConfigManager().set(1021, 0);
|
||||
TutorialStage.load(player, 64, false);
|
||||
case 740:
|
||||
switch (button){
|
||||
case 3:
|
||||
player.getInterfaceManager().closeChatbox();
|
||||
break;
|
||||
}
|
||||
|
||||
break;
|
||||
case 22://ignore tab
|
||||
if (tut_stage == 64) {
|
||||
player.getConfigManager().set(1021, 0);
|
||||
TutorialStage.load(player, 65, false);
|
||||
return true;
|
||||
case 746:
|
||||
switch (button){
|
||||
case 110:
|
||||
configureWorldMap(player);
|
||||
break;
|
||||
}
|
||||
break;
|
||||
case 24://settings tab
|
||||
if (tut_stage == 1) {
|
||||
TutorialStage.load(player, 2, false);
|
||||
return true;
|
||||
case 548:
|
||||
int tut_stage = TutorialSession.getExtension(player).getStage();
|
||||
if (button >= 38 && button<= 44 || button >= 20 && button <= 26) {
|
||||
player.getInterfaceManager().setCurrentTabIndex(getTabIndex(button));
|
||||
}
|
||||
break;
|
||||
case 38://attack tab
|
||||
if (tut_stage == 49) {
|
||||
player.getConfigManager().set(1021, 0);
|
||||
TutorialStage.load(player, 50, false);
|
||||
} else {
|
||||
if (TutorialSession.getExtension(player).getStage() > TutorialSession.MAX_STAGE) {
|
||||
if (player.getExtension(WeaponInterface.class) == WeaponInterfaces.STAFF) {
|
||||
final Component c = new Component(WeaponInterfaces.STAFF.getInterfaceId());
|
||||
player.getInterfaceManager().openTab(0, c);
|
||||
final WeaponInterface inter = player.getExtension(WeaponInterface.class);
|
||||
inter.updateInterface();
|
||||
//Interface buttons that advance the Tutorial Island stages
|
||||
switch (button) {
|
||||
case 21://Friends Tab
|
||||
if (tut_stage == 63) {
|
||||
player.getConfigManager().set(1021, 0);
|
||||
TutorialStage.load(player, 64, false);
|
||||
}
|
||||
|
||||
break;
|
||||
case 22://Ignore Tab
|
||||
if (tut_stage == 64) {
|
||||
player.getConfigManager().set(1021, 0);
|
||||
TutorialStage.load(player, 65, false);
|
||||
}
|
||||
break;
|
||||
case 24://Settings Tab
|
||||
if (tut_stage == 1) {
|
||||
TutorialStage.load(player, 2, false);
|
||||
}
|
||||
break;
|
||||
case 25://Emotes Tab
|
||||
if (tut_stage == 23) {
|
||||
TutorialStage.load(player, 24, false);
|
||||
}
|
||||
break;
|
||||
case 26://Music Tab
|
||||
if (tut_stage == 21) {
|
||||
TutorialStage.load(player, 22, false);
|
||||
}
|
||||
break;
|
||||
case 38://Attack Tab
|
||||
if (tut_stage == 49) {
|
||||
player.getConfigManager().set(1021, 0);
|
||||
TutorialStage.load(player, 50, false);
|
||||
} else {
|
||||
if (TutorialSession.getExtension(player).getStage() > TutorialSession.MAX_STAGE) {
|
||||
if (player.getExtension(WeaponInterface.class) == WeaponInterfaces.STAFF) {
|
||||
final Component c = new Component(WeaponInterfaces.STAFF.getInterfaceId());
|
||||
player.getInterfaceManager().openTab(0, c);
|
||||
final WeaponInterface inter = player.getExtension(WeaponInterface.class);
|
||||
inter.updateInterface();
|
||||
}
|
||||
}
|
||||
}
|
||||
break;
|
||||
case 39://Skill Tab
|
||||
if (tut_stage == 10) {
|
||||
player.getConfigManager().set(1021, 0);
|
||||
TutorialStage.load(player, 11, false);
|
||||
}
|
||||
break;
|
||||
case 40://Quest Tab
|
||||
if (tut_stage == 27) {
|
||||
TutorialStage.load(player, 28, false);
|
||||
}
|
||||
}
|
||||
}
|
||||
break;
|
||||
case 39://skill tab
|
||||
if (tut_stage == 10) {
|
||||
player.getConfigManager().set(1021, 0);
|
||||
TutorialStage.load(player, 11, false);
|
||||
}
|
||||
break;
|
||||
case 40://quest tab
|
||||
if (tut_stage == 27) {
|
||||
TutorialStage.load(player, 28, false);
|
||||
}
|
||||
/*if (GameWorld.isEconomyWorld()) {
|
||||
player.getQuestRepository().syncronizeTab(player);
|
||||
} else {
|
||||
player.getSavedData().getSpawnData().drawStatsTab(player);
|
||||
}*/
|
||||
|
||||
player.getQuestRepository().syncronizeTab(player);
|
||||
break;
|
||||
case 41://invy tab
|
||||
if (tut_stage == 5) {
|
||||
player.getConfigManager().set(1021, 0);
|
||||
TutorialStage.load(player, 6, false);
|
||||
player.getQuestRepository().syncronizeTab(player);
|
||||
break;
|
||||
case 41://Inventory Tab
|
||||
if (tut_stage == 5) {
|
||||
player.getConfigManager().set(1021, 0);
|
||||
TutorialStage.load(player, 6, false);
|
||||
}
|
||||
player.getInventory().refresh();
|
||||
break;
|
||||
case 42://Worn Equipment Tab
|
||||
if (tut_stage == 45) {
|
||||
player.getConfigManager().set(1021, 0);
|
||||
TutorialStage.load(player, 46, false);
|
||||
}
|
||||
break;
|
||||
case 43://Prayer Tab
|
||||
if (tut_stage == 61) {
|
||||
player.getConfigManager().set(1021, 0);
|
||||
TutorialStage.load(player, 62, false);
|
||||
}
|
||||
break;
|
||||
case 44://Magic Tab
|
||||
if (tut_stage == 68) {
|
||||
player.getConfigManager().set(1021, 0);
|
||||
TutorialStage.load(player, 69, false);
|
||||
player.getDialogueInterpreter().open(946, RegionManager.getNpc(player, 946));
|
||||
}
|
||||
break;
|
||||
case 66://World map
|
||||
case 110:
|
||||
configureWorldMap(player);
|
||||
break;
|
||||
case 69://Logout
|
||||
player.getPacketDispatch().sendString("When you have finished playing " + GameWorld.getName() + ", always use the button below to logout safely. ", 182, 0);
|
||||
break;
|
||||
}
|
||||
player.getInventory().refresh();
|
||||
break;
|
||||
case 42://equipment tab
|
||||
if (tut_stage == 45) {
|
||||
player.getConfigManager().set(1021, 0);
|
||||
TutorialStage.load(player, 46, false);
|
||||
return true;
|
||||
case 750:
|
||||
switch (opcode) {
|
||||
case 155:
|
||||
switch (button) {
|
||||
case 1:
|
||||
player.getSettings().toggleRun();
|
||||
break;
|
||||
}
|
||||
break;
|
||||
}
|
||||
break;
|
||||
case 43://prayer tab
|
||||
if (tut_stage == 61) {
|
||||
player.getConfigManager().set(1021, 0);
|
||||
TutorialStage.load(player, 62, false);
|
||||
}
|
||||
break;
|
||||
case 44://magic tab
|
||||
if (tut_stage == 68) {
|
||||
player.getConfigManager().set(1021, 0);
|
||||
TutorialStage.load(player, 69, false);
|
||||
player.getDialogueInterpreter().open(946, RegionManager.getNpc(player, 946));
|
||||
return true;
|
||||
case 751:
|
||||
switch (opcode) {
|
||||
case 155:
|
||||
switch (button) {
|
||||
case 27:
|
||||
openReport(player);
|
||||
break;
|
||||
}
|
||||
break;
|
||||
}
|
||||
break;
|
||||
case 66: // World map
|
||||
case 110:
|
||||
configureWorldMap(player);
|
||||
break;
|
||||
case 69://Logout
|
||||
player.getPacketDispatch().sendString("When you have finished playing " + GameWorld.getName() + ", always use the button below to logout safely. ", 182, 0);
|
||||
break;
|
||||
}
|
||||
return true;
|
||||
case 750:
|
||||
switch (opcode) {
|
||||
case 155:
|
||||
switch (button) {
|
||||
case 1:
|
||||
player.getSettings().toggleRun();
|
||||
break;
|
||||
}
|
||||
break;
|
||||
}
|
||||
return true;
|
||||
case 751:
|
||||
switch (opcode) {
|
||||
case 155:
|
||||
switch (button) {
|
||||
case 27:
|
||||
openReport(player);
|
||||
break;
|
||||
}
|
||||
break;
|
||||
}
|
||||
return true;
|
||||
return true;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
|
@ -176,10 +187,10 @@ public final class GameInterface extends ComponentPlugin {
|
|||
*/
|
||||
public static void openReport(final Player player) {
|
||||
player.getInterfaceManager().open(new Component(553)).setCloseEvent((player1, c) -> {
|
||||
player1.getPacketDispatch().sendRunScript(80, "");
|
||||
player1.getPacketDispatch().sendRunScript(137, "");
|
||||
return true;
|
||||
});
|
||||
player1.getPacketDispatch().sendRunScript(80, "");
|
||||
player1.getPacketDispatch().sendRunScript(137, "");
|
||||
return true;
|
||||
});
|
||||
player.getPacketDispatch().sendRunScript(508, "");
|
||||
if (player.getDetails().getRights() != Rights.REGULAR_PLAYER) {
|
||||
for (int i = 0; i < 18; i++) {
|
||||
|
|
@ -200,7 +211,7 @@ public final class GameInterface extends ComponentPlugin {
|
|||
}
|
||||
return tabIndex;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Configures the world map for a player.
|
||||
* @param player The player.
|
||||
|
|
|
|||
|
|
@ -27,9 +27,13 @@ public class BasicStarter implements Plugin<Player> {
|
|||
@Override
|
||||
public Plugin<Player> newInstance(Player player) throws Throwable {
|
||||
if (player.getDetails().getLastLogin() == 0) {
|
||||
for (int[] item : STARTER_ITEMS) {
|
||||
//Redundant if the Tutorial Completion Dialogue is going to clear the bank, inventory and equipment after teleporting to Lumbridge.
|
||||
//Causes a full inventory on tutorial island when the instructors are giving the player more items.
|
||||
//The Starter pack array exists in the TutorialCompletionDialogue file... So could this file be deleted?
|
||||
|
||||
/*for (int[] item : STARTER_ITEMS) {
|
||||
player.getInventory().add(new Item(item[0], item[1]));
|
||||
}
|
||||
}*/
|
||||
}
|
||||
return this;
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue