From fd0ca73bf1e607bba9a7ab5d9223abd435dcfdfa Mon Sep 17 00:00:00 2001 From: Qweqker <59003576+Qweqker@users.noreply.github.com> Date: Sun, 19 Jan 2020 10:08:41 -0500 Subject: [PATCH] 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 --- .../interaction/inter/GameInterface.java | 253 +++++++++--------- Server/src/plugin/tutorial/BasicStarter.java | 8 +- 2 files changed, 138 insertions(+), 123 deletions(-) diff --git a/Server/src/plugin/interaction/inter/GameInterface.java b/Server/src/plugin/interaction/inter/GameInterface.java index f5d1f2006..2442fdcfc 100644 --- a/Server/src/plugin/interaction/inter/GameInterface.java +++ b/Server/src/plugin/interaction/inter/GameInterface.java @@ -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. diff --git a/Server/src/plugin/tutorial/BasicStarter.java b/Server/src/plugin/tutorial/BasicStarter.java index 277ef2197..799090114 100644 --- a/Server/src/plugin/tutorial/BasicStarter.java +++ b/Server/src/plugin/tutorial/BasicStarter.java @@ -27,9 +27,13 @@ public class BasicStarter implements Plugin { @Override public Plugin 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; }