From 51eeb39e7ceea1f68de7b4407cad950a24674aae Mon Sep 17 00:00:00 2001 From: MobiusDevelopment <8391001+MobiusDevelopment@users.noreply.github.com> Date: Sat, 6 Nov 2021 00:48:03 +0000 Subject: [PATCH] Einhasad's Store additions. Contributed by Index. --- .../dist/game/data/multisell/34487001.xml | 62 +++++++++ .../dist/game/data/multisell/34487002.xml | 42 ++++++ .../dist/game/data/multisell/34487003.xml | 34 +++++ .../dist/game/data/multisell/34487004.xml | 54 ++++++++ .../dist/game/data/multisell/34487005.xml | 70 ++++++++++ .../dist/game/data/multisell/34487006.xml | 54 ++++++++ .../ai/others/EinhasadStore/34487.html | 48 +++++++ .../others/EinhasadStore/EinhasadStore.java | 125 ++++++++++++++++++ .../network/clientpackets/ExOpenHtml.java | 41 +++++- .../dist/game/data/multisell/34487001.xml | 62 +++++++++ .../dist/game/data/multisell/34487002.xml | 42 ++++++ .../dist/game/data/multisell/34487003.xml | 34 +++++ .../dist/game/data/multisell/34487004.xml | 54 ++++++++ .../dist/game/data/multisell/34487005.xml | 70 ++++++++++ .../dist/game/data/multisell/34487006.xml | 54 ++++++++ .../ai/others/EinhasadStore/34487.html | 48 +++++++ .../others/EinhasadStore/EinhasadStore.java | 125 ++++++++++++++++++ .../network/clientpackets/ExOpenHtml.java | 41 +++++- .../network/clientpackets/ExOpenHtml.java | 35 ++++- .../network/clientpackets/ExOpenHtml.java | 35 ++++- 20 files changed, 1116 insertions(+), 14 deletions(-) create mode 100644 L2J_Mobius_09.2_ReturnOfTheQueenAnt/dist/game/data/multisell/34487001.xml create mode 100644 L2J_Mobius_09.2_ReturnOfTheQueenAnt/dist/game/data/multisell/34487002.xml create mode 100644 L2J_Mobius_09.2_ReturnOfTheQueenAnt/dist/game/data/multisell/34487003.xml create mode 100644 L2J_Mobius_09.2_ReturnOfTheQueenAnt/dist/game/data/multisell/34487004.xml create mode 100644 L2J_Mobius_09.2_ReturnOfTheQueenAnt/dist/game/data/multisell/34487005.xml create mode 100644 L2J_Mobius_09.2_ReturnOfTheQueenAnt/dist/game/data/multisell/34487006.xml create mode 100644 L2J_Mobius_09.2_ReturnOfTheQueenAnt/dist/game/data/scripts/ai/others/EinhasadStore/34487.html create mode 100644 L2J_Mobius_09.2_ReturnOfTheQueenAnt/dist/game/data/scripts/ai/others/EinhasadStore/EinhasadStore.java create mode 100644 L2J_Mobius_10.0_MasterClass/dist/game/data/multisell/34487001.xml create mode 100644 L2J_Mobius_10.0_MasterClass/dist/game/data/multisell/34487002.xml create mode 100644 L2J_Mobius_10.0_MasterClass/dist/game/data/multisell/34487003.xml create mode 100644 L2J_Mobius_10.0_MasterClass/dist/game/data/multisell/34487004.xml create mode 100644 L2J_Mobius_10.0_MasterClass/dist/game/data/multisell/34487005.xml create mode 100644 L2J_Mobius_10.0_MasterClass/dist/game/data/multisell/34487006.xml create mode 100644 L2J_Mobius_10.0_MasterClass/dist/game/data/scripts/ai/others/EinhasadStore/34487.html create mode 100644 L2J_Mobius_10.0_MasterClass/dist/game/data/scripts/ai/others/EinhasadStore/EinhasadStore.java diff --git a/L2J_Mobius_09.2_ReturnOfTheQueenAnt/dist/game/data/multisell/34487001.xml b/L2J_Mobius_09.2_ReturnOfTheQueenAnt/dist/game/data/multisell/34487001.xml new file mode 100644 index 0000000000..6b8719c8e3 --- /dev/null +++ b/L2J_Mobius_09.2_ReturnOfTheQueenAnt/dist/game/data/multisell/34487001.xml @@ -0,0 +1,62 @@ + + + + -1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/L2J_Mobius_09.2_ReturnOfTheQueenAnt/dist/game/data/multisell/34487002.xml b/L2J_Mobius_09.2_ReturnOfTheQueenAnt/dist/game/data/multisell/34487002.xml new file mode 100644 index 0000000000..82ef31b460 --- /dev/null +++ b/L2J_Mobius_09.2_ReturnOfTheQueenAnt/dist/game/data/multisell/34487002.xml @@ -0,0 +1,42 @@ + + + + -1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/L2J_Mobius_09.2_ReturnOfTheQueenAnt/dist/game/data/multisell/34487003.xml b/L2J_Mobius_09.2_ReturnOfTheQueenAnt/dist/game/data/multisell/34487003.xml new file mode 100644 index 0000000000..fc29c4b6b4 --- /dev/null +++ b/L2J_Mobius_09.2_ReturnOfTheQueenAnt/dist/game/data/multisell/34487003.xml @@ -0,0 +1,34 @@ + + + + -1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/L2J_Mobius_09.2_ReturnOfTheQueenAnt/dist/game/data/multisell/34487004.xml b/L2J_Mobius_09.2_ReturnOfTheQueenAnt/dist/game/data/multisell/34487004.xml new file mode 100644 index 0000000000..8b5bbd3a44 --- /dev/null +++ b/L2J_Mobius_09.2_ReturnOfTheQueenAnt/dist/game/data/multisell/34487004.xml @@ -0,0 +1,54 @@ + + + + -1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/L2J_Mobius_09.2_ReturnOfTheQueenAnt/dist/game/data/multisell/34487005.xml b/L2J_Mobius_09.2_ReturnOfTheQueenAnt/dist/game/data/multisell/34487005.xml new file mode 100644 index 0000000000..fd373c2676 --- /dev/null +++ b/L2J_Mobius_09.2_ReturnOfTheQueenAnt/dist/game/data/multisell/34487005.xml @@ -0,0 +1,70 @@ + + + + -1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/L2J_Mobius_09.2_ReturnOfTheQueenAnt/dist/game/data/multisell/34487006.xml b/L2J_Mobius_09.2_ReturnOfTheQueenAnt/dist/game/data/multisell/34487006.xml new file mode 100644 index 0000000000..c849a8deab --- /dev/null +++ b/L2J_Mobius_09.2_ReturnOfTheQueenAnt/dist/game/data/multisell/34487006.xml @@ -0,0 +1,54 @@ + + + + -1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/L2J_Mobius_09.2_ReturnOfTheQueenAnt/dist/game/data/scripts/ai/others/EinhasadStore/34487.html b/L2J_Mobius_09.2_ReturnOfTheQueenAnt/dist/game/data/scripts/ai/others/EinhasadStore/34487.html new file mode 100644 index 0000000000..0c2b7f8f33 --- /dev/null +++ b/L2J_Mobius_09.2_ReturnOfTheQueenAnt/dist/game/data/scripts/ai/others/EinhasadStore/34487.html @@ -0,0 +1,48 @@ +Einhasad Store + + + + +
+ + + + +
+ + + + +
May the Power of Light guide your way!
+ + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+
+
+ \ No newline at end of file diff --git a/L2J_Mobius_09.2_ReturnOfTheQueenAnt/dist/game/data/scripts/ai/others/EinhasadStore/EinhasadStore.java b/L2J_Mobius_09.2_ReturnOfTheQueenAnt/dist/game/data/scripts/ai/others/EinhasadStore/EinhasadStore.java new file mode 100644 index 0000000000..418dfdf596 --- /dev/null +++ b/L2J_Mobius_09.2_ReturnOfTheQueenAnt/dist/game/data/scripts/ai/others/EinhasadStore/EinhasadStore.java @@ -0,0 +1,125 @@ +/* + * This file is part of the L2J Mobius project. + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +package ai.others.EinhasadStore; + +import org.l2jmobius.gameserver.cache.HtmCache; +import org.l2jmobius.gameserver.data.xml.MultisellData; +import org.l2jmobius.gameserver.model.actor.Npc; +import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; +import org.l2jmobius.gameserver.model.events.EventType; +import org.l2jmobius.gameserver.model.events.ListenerRegisterType; +import org.l2jmobius.gameserver.model.events.annotations.RegisterEvent; +import org.l2jmobius.gameserver.model.events.annotations.RegisterType; +import org.l2jmobius.gameserver.model.events.impl.creature.player.OnPlayerBypass; +import org.l2jmobius.gameserver.network.serverpackets.ExPremiumManagerShowHtml; + +import ai.AbstractNpcAI; + +/** + * @author Index + */ +public class EinhasadStore extends AbstractNpcAI +{ + // NPC + private static final int MERCHANT = 34487; + // Multisells + private static final int JEWELS_STONE = 34487001; + private static final int ACCESSORIES = 34487002; + private static final int SCROLLS = 34487003; + private static final int ENHANCEMENT = 34487004; + private static final int OTHER = 34487005; + private static final int CLOAK = 34487006; + // Others + private static final String COMMAND_BYPASS = "Quest EinhasadStore "; + + private EinhasadStore() + { + addStartNpc(MERCHANT); + addFirstTalkId(MERCHANT); + addTalkId(MERCHANT); + } + + @Override + public String onAdvEvent(String event, Npc npc, PlayerInstance player) + { + final String htmltext = null; + switch (event) + { + + case "back": + { + player.sendPacket(new ExPremiumManagerShowHtml(HtmCache.getInstance().getHtm(player, "data/scripts/ai/others/EinhasadStore/34487.html"))); + break; + } + // Bypass + case "Chat_Jewell_Stones": + { + MultisellData.getInstance().separateAndSend(JEWELS_STONE, player, null, false); + break; + } + case "Chat_Accessories": + { + MultisellData.getInstance().separateAndSend(ACCESSORIES, player, null, false); + break; + } + case "Chat_Scrolls": + { + MultisellData.getInstance().separateAndSend(SCROLLS, player, null, false); + break; + } + case "Chat_Enhancement": + { + MultisellData.getInstance().separateAndSend(ENHANCEMENT, player, null, false); + break; + } + case "Chat_Others": + { + MultisellData.getInstance().separateAndSend(OTHER, player, null, false); + break; + } + case "Chat_Cloak": + { + MultisellData.getInstance().separateAndSend(CLOAK, player, null, false); + break; + } + } + return htmltext; + } + + @Override + public String onFirstTalk(Npc npc, PlayerInstance player) + { + player.sendPacket(new ExPremiumManagerShowHtml(HtmCache.getInstance().getHtm(player, "data/scripts/ai/others/EinhasadStore/34487.html"))); + return null; + } + + @RegisterEvent(EventType.ON_PLAYER_BYPASS) + @RegisterType(ListenerRegisterType.GLOBAL_PLAYERS) + public void onPlayerBypass(OnPlayerBypass event) + { + final PlayerInstance player = event.getPlayer(); + if (event.getCommand().startsWith(COMMAND_BYPASS)) + { + notifyEvent(event.getCommand().replace(COMMAND_BYPASS, ""), null, player); + } + } + + public static void main(String[] args) + { + new EinhasadStore(); + } +} \ No newline at end of file diff --git a/L2J_Mobius_09.2_ReturnOfTheQueenAnt/java/org/l2jmobius/gameserver/network/clientpackets/ExOpenHtml.java b/L2J_Mobius_09.2_ReturnOfTheQueenAnt/java/org/l2jmobius/gameserver/network/clientpackets/ExOpenHtml.java index c287dece27..23656df92e 100644 --- a/L2J_Mobius_09.2_ReturnOfTheQueenAnt/java/org/l2jmobius/gameserver/network/clientpackets/ExOpenHtml.java +++ b/L2J_Mobius_09.2_ReturnOfTheQueenAnt/java/org/l2jmobius/gameserver/network/clientpackets/ExOpenHtml.java @@ -18,8 +18,10 @@ package org.l2jmobius.gameserver.network.clientpackets; import org.l2jmobius.Config; import org.l2jmobius.commons.network.PacketReader; +import org.l2jmobius.gameserver.cache.HtmCache; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; import org.l2jmobius.gameserver.network.GameClient; +import org.l2jmobius.gameserver.network.serverpackets.ExPremiumManagerShowHtml; import org.l2jmobius.gameserver.network.serverpackets.NpcHtmlMessage; /** @@ -27,10 +29,12 @@ import org.l2jmobius.gameserver.network.serverpackets.NpcHtmlMessage; */ public class ExOpenHtml implements IClientIncomingPacket { + private int _type; + @Override public boolean read(GameClient client, PacketReader packet) { - packet.readC(); // html scope? + _type = packet.readC(); return true; } @@ -38,11 +42,38 @@ public class ExOpenHtml implements IClientIncomingPacket public void run(GameClient client) { final PlayerInstance player = client.getPlayer(); - if ((player != null) && Config.PC_CAFE_ENABLED) + if (player == null) { - final NpcHtmlMessage html = new NpcHtmlMessage(); - html.setFile(player, "data/html/pccafe.htm"); - player.sendPacket(html); + return; + } + + switch (_type) + { + case 1: + { + if (Config.PC_CAFE_ENABLED) + { + final NpcHtmlMessage html = new NpcHtmlMessage(); + html.setFile(player, "data/html/pccafe.htm"); + player.sendPacket(html); + } + break; + } + case 5: + { + client.sendPacket(new ExPremiumManagerShowHtml(HtmCache.getInstance().getHtm(player, "data/scripts/ai/others/GameAssistant/32478.html"))); + break; + } + case 7: + { + client.sendPacket(new ExPremiumManagerShowHtml(HtmCache.getInstance().getHtm(player, "data/scripts/ai/others/EinhasadStore/32477.html"))); + break; + } + default: + { + LOGGER.warning("Unknown ExOpenHtml type (" + _type + ")"); + break; + } } } } diff --git a/L2J_Mobius_10.0_MasterClass/dist/game/data/multisell/34487001.xml b/L2J_Mobius_10.0_MasterClass/dist/game/data/multisell/34487001.xml new file mode 100644 index 0000000000..6b8719c8e3 --- /dev/null +++ b/L2J_Mobius_10.0_MasterClass/dist/game/data/multisell/34487001.xml @@ -0,0 +1,62 @@ + + + + -1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/L2J_Mobius_10.0_MasterClass/dist/game/data/multisell/34487002.xml b/L2J_Mobius_10.0_MasterClass/dist/game/data/multisell/34487002.xml new file mode 100644 index 0000000000..82ef31b460 --- /dev/null +++ b/L2J_Mobius_10.0_MasterClass/dist/game/data/multisell/34487002.xml @@ -0,0 +1,42 @@ + + + + -1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/L2J_Mobius_10.0_MasterClass/dist/game/data/multisell/34487003.xml b/L2J_Mobius_10.0_MasterClass/dist/game/data/multisell/34487003.xml new file mode 100644 index 0000000000..fc29c4b6b4 --- /dev/null +++ b/L2J_Mobius_10.0_MasterClass/dist/game/data/multisell/34487003.xml @@ -0,0 +1,34 @@ + + + + -1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/L2J_Mobius_10.0_MasterClass/dist/game/data/multisell/34487004.xml b/L2J_Mobius_10.0_MasterClass/dist/game/data/multisell/34487004.xml new file mode 100644 index 0000000000..8b5bbd3a44 --- /dev/null +++ b/L2J_Mobius_10.0_MasterClass/dist/game/data/multisell/34487004.xml @@ -0,0 +1,54 @@ + + + + -1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/L2J_Mobius_10.0_MasterClass/dist/game/data/multisell/34487005.xml b/L2J_Mobius_10.0_MasterClass/dist/game/data/multisell/34487005.xml new file mode 100644 index 0000000000..fd373c2676 --- /dev/null +++ b/L2J_Mobius_10.0_MasterClass/dist/game/data/multisell/34487005.xml @@ -0,0 +1,70 @@ + + + + -1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/L2J_Mobius_10.0_MasterClass/dist/game/data/multisell/34487006.xml b/L2J_Mobius_10.0_MasterClass/dist/game/data/multisell/34487006.xml new file mode 100644 index 0000000000..c849a8deab --- /dev/null +++ b/L2J_Mobius_10.0_MasterClass/dist/game/data/multisell/34487006.xml @@ -0,0 +1,54 @@ + + + + -1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/L2J_Mobius_10.0_MasterClass/dist/game/data/scripts/ai/others/EinhasadStore/34487.html b/L2J_Mobius_10.0_MasterClass/dist/game/data/scripts/ai/others/EinhasadStore/34487.html new file mode 100644 index 0000000000..0c2b7f8f33 --- /dev/null +++ b/L2J_Mobius_10.0_MasterClass/dist/game/data/scripts/ai/others/EinhasadStore/34487.html @@ -0,0 +1,48 @@ +Einhasad Store + + + + +
+ + + + +
+ + + + +
May the Power of Light guide your way!
+ + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+
+
+ \ No newline at end of file diff --git a/L2J_Mobius_10.0_MasterClass/dist/game/data/scripts/ai/others/EinhasadStore/EinhasadStore.java b/L2J_Mobius_10.0_MasterClass/dist/game/data/scripts/ai/others/EinhasadStore/EinhasadStore.java new file mode 100644 index 0000000000..418dfdf596 --- /dev/null +++ b/L2J_Mobius_10.0_MasterClass/dist/game/data/scripts/ai/others/EinhasadStore/EinhasadStore.java @@ -0,0 +1,125 @@ +/* + * This file is part of the L2J Mobius project. + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +package ai.others.EinhasadStore; + +import org.l2jmobius.gameserver.cache.HtmCache; +import org.l2jmobius.gameserver.data.xml.MultisellData; +import org.l2jmobius.gameserver.model.actor.Npc; +import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; +import org.l2jmobius.gameserver.model.events.EventType; +import org.l2jmobius.gameserver.model.events.ListenerRegisterType; +import org.l2jmobius.gameserver.model.events.annotations.RegisterEvent; +import org.l2jmobius.gameserver.model.events.annotations.RegisterType; +import org.l2jmobius.gameserver.model.events.impl.creature.player.OnPlayerBypass; +import org.l2jmobius.gameserver.network.serverpackets.ExPremiumManagerShowHtml; + +import ai.AbstractNpcAI; + +/** + * @author Index + */ +public class EinhasadStore extends AbstractNpcAI +{ + // NPC + private static final int MERCHANT = 34487; + // Multisells + private static final int JEWELS_STONE = 34487001; + private static final int ACCESSORIES = 34487002; + private static final int SCROLLS = 34487003; + private static final int ENHANCEMENT = 34487004; + private static final int OTHER = 34487005; + private static final int CLOAK = 34487006; + // Others + private static final String COMMAND_BYPASS = "Quest EinhasadStore "; + + private EinhasadStore() + { + addStartNpc(MERCHANT); + addFirstTalkId(MERCHANT); + addTalkId(MERCHANT); + } + + @Override + public String onAdvEvent(String event, Npc npc, PlayerInstance player) + { + final String htmltext = null; + switch (event) + { + + case "back": + { + player.sendPacket(new ExPremiumManagerShowHtml(HtmCache.getInstance().getHtm(player, "data/scripts/ai/others/EinhasadStore/34487.html"))); + break; + } + // Bypass + case "Chat_Jewell_Stones": + { + MultisellData.getInstance().separateAndSend(JEWELS_STONE, player, null, false); + break; + } + case "Chat_Accessories": + { + MultisellData.getInstance().separateAndSend(ACCESSORIES, player, null, false); + break; + } + case "Chat_Scrolls": + { + MultisellData.getInstance().separateAndSend(SCROLLS, player, null, false); + break; + } + case "Chat_Enhancement": + { + MultisellData.getInstance().separateAndSend(ENHANCEMENT, player, null, false); + break; + } + case "Chat_Others": + { + MultisellData.getInstance().separateAndSend(OTHER, player, null, false); + break; + } + case "Chat_Cloak": + { + MultisellData.getInstance().separateAndSend(CLOAK, player, null, false); + break; + } + } + return htmltext; + } + + @Override + public String onFirstTalk(Npc npc, PlayerInstance player) + { + player.sendPacket(new ExPremiumManagerShowHtml(HtmCache.getInstance().getHtm(player, "data/scripts/ai/others/EinhasadStore/34487.html"))); + return null; + } + + @RegisterEvent(EventType.ON_PLAYER_BYPASS) + @RegisterType(ListenerRegisterType.GLOBAL_PLAYERS) + public void onPlayerBypass(OnPlayerBypass event) + { + final PlayerInstance player = event.getPlayer(); + if (event.getCommand().startsWith(COMMAND_BYPASS)) + { + notifyEvent(event.getCommand().replace(COMMAND_BYPASS, ""), null, player); + } + } + + public static void main(String[] args) + { + new EinhasadStore(); + } +} \ No newline at end of file diff --git a/L2J_Mobius_10.0_MasterClass/java/org/l2jmobius/gameserver/network/clientpackets/ExOpenHtml.java b/L2J_Mobius_10.0_MasterClass/java/org/l2jmobius/gameserver/network/clientpackets/ExOpenHtml.java index c287dece27..23656df92e 100644 --- a/L2J_Mobius_10.0_MasterClass/java/org/l2jmobius/gameserver/network/clientpackets/ExOpenHtml.java +++ b/L2J_Mobius_10.0_MasterClass/java/org/l2jmobius/gameserver/network/clientpackets/ExOpenHtml.java @@ -18,8 +18,10 @@ package org.l2jmobius.gameserver.network.clientpackets; import org.l2jmobius.Config; import org.l2jmobius.commons.network.PacketReader; +import org.l2jmobius.gameserver.cache.HtmCache; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; import org.l2jmobius.gameserver.network.GameClient; +import org.l2jmobius.gameserver.network.serverpackets.ExPremiumManagerShowHtml; import org.l2jmobius.gameserver.network.serverpackets.NpcHtmlMessage; /** @@ -27,10 +29,12 @@ import org.l2jmobius.gameserver.network.serverpackets.NpcHtmlMessage; */ public class ExOpenHtml implements IClientIncomingPacket { + private int _type; + @Override public boolean read(GameClient client, PacketReader packet) { - packet.readC(); // html scope? + _type = packet.readC(); return true; } @@ -38,11 +42,38 @@ public class ExOpenHtml implements IClientIncomingPacket public void run(GameClient client) { final PlayerInstance player = client.getPlayer(); - if ((player != null) && Config.PC_CAFE_ENABLED) + if (player == null) { - final NpcHtmlMessage html = new NpcHtmlMessage(); - html.setFile(player, "data/html/pccafe.htm"); - player.sendPacket(html); + return; + } + + switch (_type) + { + case 1: + { + if (Config.PC_CAFE_ENABLED) + { + final NpcHtmlMessage html = new NpcHtmlMessage(); + html.setFile(player, "data/html/pccafe.htm"); + player.sendPacket(html); + } + break; + } + case 5: + { + client.sendPacket(new ExPremiumManagerShowHtml(HtmCache.getInstance().getHtm(player, "data/scripts/ai/others/GameAssistant/32478.html"))); + break; + } + case 7: + { + client.sendPacket(new ExPremiumManagerShowHtml(HtmCache.getInstance().getHtm(player, "data/scripts/ai/others/EinhasadStore/32477.html"))); + break; + } + default: + { + LOGGER.warning("Unknown ExOpenHtml type (" + _type + ")"); + break; + } } } } diff --git a/L2J_Mobius_Essence_5.2_FrostLord/java/org/l2jmobius/gameserver/network/clientpackets/ExOpenHtml.java b/L2J_Mobius_Essence_5.2_FrostLord/java/org/l2jmobius/gameserver/network/clientpackets/ExOpenHtml.java index 09863516ec..2bd1cafe25 100644 --- a/L2J_Mobius_Essence_5.2_FrostLord/java/org/l2jmobius/gameserver/network/clientpackets/ExOpenHtml.java +++ b/L2J_Mobius_Essence_5.2_FrostLord/java/org/l2jmobius/gameserver/network/clientpackets/ExOpenHtml.java @@ -16,21 +16,25 @@ */ package org.l2jmobius.gameserver.network.clientpackets; +import org.l2jmobius.Config; import org.l2jmobius.commons.network.PacketReader; import org.l2jmobius.gameserver.cache.HtmCache; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; import org.l2jmobius.gameserver.network.GameClient; import org.l2jmobius.gameserver.network.serverpackets.ExPremiumManagerShowHtml; +import org.l2jmobius.gameserver.network.serverpackets.NpcHtmlMessage; /** * @author Mobius */ public class ExOpenHtml implements IClientIncomingPacket { + private int _type; + @Override public boolean read(GameClient client, PacketReader packet) { - packet.readC(); // html scope? + _type = packet.readC(); return true; } @@ -43,6 +47,33 @@ public class ExOpenHtml implements IClientIncomingPacket return; } - client.sendPacket(new ExPremiumManagerShowHtml(HtmCache.getInstance().getHtm(player, "data/scripts/ai/others/GameAssistant/32478.html"))); + switch (_type) + { + case 1: + { + if (Config.PC_CAFE_ENABLED) + { + final NpcHtmlMessage html = new NpcHtmlMessage(); + html.setFile(player, "data/html/pccafe.htm"); + player.sendPacket(html); + } + break; + } + case 5: + { + client.sendPacket(new ExPremiumManagerShowHtml(HtmCache.getInstance().getHtm(player, "data/scripts/ai/others/GameAssistant/32478.html"))); + break; + } + // case 7: + // { + // client.sendPacket(new ExPremiumManagerShowHtml(HtmCache.getInstance().getHtm(player, "data/scripts/ai/others/EinhasadStore/32477.html"))); + // break; + // } + default: + { + LOGGER.warning("Unknown ExOpenHtml type (" + _type + ")"); + break; + } + } } } diff --git a/L2J_Mobius_Essence_6.0_BattleChronicle/java/org/l2jmobius/gameserver/network/clientpackets/ExOpenHtml.java b/L2J_Mobius_Essence_6.0_BattleChronicle/java/org/l2jmobius/gameserver/network/clientpackets/ExOpenHtml.java index 09863516ec..2bd1cafe25 100644 --- a/L2J_Mobius_Essence_6.0_BattleChronicle/java/org/l2jmobius/gameserver/network/clientpackets/ExOpenHtml.java +++ b/L2J_Mobius_Essence_6.0_BattleChronicle/java/org/l2jmobius/gameserver/network/clientpackets/ExOpenHtml.java @@ -16,21 +16,25 @@ */ package org.l2jmobius.gameserver.network.clientpackets; +import org.l2jmobius.Config; import org.l2jmobius.commons.network.PacketReader; import org.l2jmobius.gameserver.cache.HtmCache; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; import org.l2jmobius.gameserver.network.GameClient; import org.l2jmobius.gameserver.network.serverpackets.ExPremiumManagerShowHtml; +import org.l2jmobius.gameserver.network.serverpackets.NpcHtmlMessage; /** * @author Mobius */ public class ExOpenHtml implements IClientIncomingPacket { + private int _type; + @Override public boolean read(GameClient client, PacketReader packet) { - packet.readC(); // html scope? + _type = packet.readC(); return true; } @@ -43,6 +47,33 @@ public class ExOpenHtml implements IClientIncomingPacket return; } - client.sendPacket(new ExPremiumManagerShowHtml(HtmCache.getInstance().getHtm(player, "data/scripts/ai/others/GameAssistant/32478.html"))); + switch (_type) + { + case 1: + { + if (Config.PC_CAFE_ENABLED) + { + final NpcHtmlMessage html = new NpcHtmlMessage(); + html.setFile(player, "data/html/pccafe.htm"); + player.sendPacket(html); + } + break; + } + case 5: + { + client.sendPacket(new ExPremiumManagerShowHtml(HtmCache.getInstance().getHtm(player, "data/scripts/ai/others/GameAssistant/32478.html"))); + break; + } + // case 7: + // { + // client.sendPacket(new ExPremiumManagerShowHtml(HtmCache.getInstance().getHtm(player, "data/scripts/ai/others/EinhasadStore/32477.html"))); + // break; + // } + default: + { + LOGGER.warning("Unknown ExOpenHtml type (" + _type + ")"); + break; + } + } } }