From 7414483959cf7ec113dd2f66a15422395bded1de Mon Sep 17 00:00:00 2001 From: MobiusDev <8391001+MobiusDevelopment@users.noreply.github.com> Date: Tue, 5 Dec 2017 22:10:02 +0000 Subject: [PATCH] Extra check for instance re-enter time. --- .../game/data/scripts/instances/AbstractInstance.java | 11 +++++++++++ .../game/data/scripts/instances/AbstractInstance.java | 11 +++++++++++ .../game/data/scripts/instances/AbstractInstance.java | 11 +++++++++++ .../game/data/scripts/instances/AbstractInstance.java | 11 +++++++++++ .../game/data/scripts/instances/AbstractInstance.java | 11 +++++++++++ 5 files changed, 55 insertions(+) diff --git a/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/instances/AbstractInstance.java b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/instances/AbstractInstance.java index f65779aa09..22d5b8a736 100644 --- a/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/instances/AbstractInstance.java +++ b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/instances/AbstractInstance.java @@ -30,6 +30,7 @@ import com.l2jmobius.gameserver.model.instancezone.InstanceTemplate; import com.l2jmobius.gameserver.network.NpcStringId; import com.l2jmobius.gameserver.network.SystemMessageId; import com.l2jmobius.gameserver.network.serverpackets.ExShowScreenMessage; +import com.l2jmobius.gameserver.network.serverpackets.SystemMessage; import ai.AbstractNpcAI; @@ -159,6 +160,16 @@ public abstract class AbstractInstance extends AbstractNpcAI } } + // Check if any player from the group has already finished the instance + for (L2PcInstance member : enterGroup) + { + if (InstanceManager.getInstance().getInstanceTime(member, templateId) > 0) + { + enterGroup.forEach(p -> p.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.C1_MAY_NOT_RE_ENTER_YET).addString(member.getName()))); + return; + } + } + // Create new instance for enter player group instance = manager.createInstance(template, player); diff --git a/L2J_Mobius_2.5_Underground/dist/game/data/scripts/instances/AbstractInstance.java b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/instances/AbstractInstance.java index f65779aa09..22d5b8a736 100644 --- a/L2J_Mobius_2.5_Underground/dist/game/data/scripts/instances/AbstractInstance.java +++ b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/instances/AbstractInstance.java @@ -30,6 +30,7 @@ import com.l2jmobius.gameserver.model.instancezone.InstanceTemplate; import com.l2jmobius.gameserver.network.NpcStringId; import com.l2jmobius.gameserver.network.SystemMessageId; import com.l2jmobius.gameserver.network.serverpackets.ExShowScreenMessage; +import com.l2jmobius.gameserver.network.serverpackets.SystemMessage; import ai.AbstractNpcAI; @@ -159,6 +160,16 @@ public abstract class AbstractInstance extends AbstractNpcAI } } + // Check if any player from the group has already finished the instance + for (L2PcInstance member : enterGroup) + { + if (InstanceManager.getInstance().getInstanceTime(member, templateId) > 0) + { + enterGroup.forEach(p -> p.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.C1_MAY_NOT_RE_ENTER_YET).addString(member.getName()))); + return; + } + } + // Create new instance for enter player group instance = manager.createInstance(template, player); diff --git a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/instances/AbstractInstance.java b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/instances/AbstractInstance.java index f65779aa09..22d5b8a736 100644 --- a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/instances/AbstractInstance.java +++ b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/instances/AbstractInstance.java @@ -30,6 +30,7 @@ import com.l2jmobius.gameserver.model.instancezone.InstanceTemplate; import com.l2jmobius.gameserver.network.NpcStringId; import com.l2jmobius.gameserver.network.SystemMessageId; import com.l2jmobius.gameserver.network.serverpackets.ExShowScreenMessage; +import com.l2jmobius.gameserver.network.serverpackets.SystemMessage; import ai.AbstractNpcAI; @@ -159,6 +160,16 @@ public abstract class AbstractInstance extends AbstractNpcAI } } + // Check if any player from the group has already finished the instance + for (L2PcInstance member : enterGroup) + { + if (InstanceManager.getInstance().getInstanceTime(member, templateId) > 0) + { + enterGroup.forEach(p -> p.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.C1_MAY_NOT_RE_ENTER_YET).addString(member.getName()))); + return; + } + } + // Create new instance for enter player group instance = manager.createInstance(template, player); diff --git a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/instances/AbstractInstance.java b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/instances/AbstractInstance.java index f65779aa09..22d5b8a736 100644 --- a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/instances/AbstractInstance.java +++ b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/instances/AbstractInstance.java @@ -30,6 +30,7 @@ import com.l2jmobius.gameserver.model.instancezone.InstanceTemplate; import com.l2jmobius.gameserver.network.NpcStringId; import com.l2jmobius.gameserver.network.SystemMessageId; import com.l2jmobius.gameserver.network.serverpackets.ExShowScreenMessage; +import com.l2jmobius.gameserver.network.serverpackets.SystemMessage; import ai.AbstractNpcAI; @@ -159,6 +160,16 @@ public abstract class AbstractInstance extends AbstractNpcAI } } + // Check if any player from the group has already finished the instance + for (L2PcInstance member : enterGroup) + { + if (InstanceManager.getInstance().getInstanceTime(member, templateId) > 0) + { + enterGroup.forEach(p -> p.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.C1_MAY_NOT_RE_ENTER_YET).addString(member.getName()))); + return; + } + } + // Create new instance for enter player group instance = manager.createInstance(template, player); diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/instances/AbstractInstance.java b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/instances/AbstractInstance.java index f65779aa09..22d5b8a736 100644 --- a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/instances/AbstractInstance.java +++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/instances/AbstractInstance.java @@ -30,6 +30,7 @@ import com.l2jmobius.gameserver.model.instancezone.InstanceTemplate; import com.l2jmobius.gameserver.network.NpcStringId; import com.l2jmobius.gameserver.network.SystemMessageId; import com.l2jmobius.gameserver.network.serverpackets.ExShowScreenMessage; +import com.l2jmobius.gameserver.network.serverpackets.SystemMessage; import ai.AbstractNpcAI; @@ -159,6 +160,16 @@ public abstract class AbstractInstance extends AbstractNpcAI } } + // Check if any player from the group has already finished the instance + for (L2PcInstance member : enterGroup) + { + if (InstanceManager.getInstance().getInstanceTime(member, templateId) > 0) + { + enterGroup.forEach(p -> p.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.C1_MAY_NOT_RE_ENTER_YET).addString(member.getName()))); + return; + } + } + // Create new instance for enter player group instance = manager.createInstance(template, player);