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);