Noticias:

Debes de estar registrado para poder ver el contenido indicado. Registrate o Conectate

Menú Principal

Invitar al clan a un player registrado en olympiadas

Iniciado por Swarlog, Ago 12, 2022, 01:27 AM

Tema anterior - Siguiente tema

Swarlog

Bueno esto es una restricción y lo que hace es que no se pueda invitar a un player al clan cuando este apuntado en olympiadas.
Esto sirve para aquellos servidores que tengan desactivado el penalty por salir del clan ya que existe un bug bastante común y que mucha gente pone en practica para tener mas ventaja dentro de olympiadas.

El bug consiste en que se salen del clan, se apuntan en olys y cuando faltan 5 segundos para entrar finalmente dentro del estadio de olympiadas entonces un amigo lo invita al clan, pasan los 5 segundos y cuando están dentro de olympiadas aceptan la invitación, la pueden aceptar también cuando falte 1 segundo para entrar a olys, luego en las olympiadas se quedan con las skills de clan y se les hace mas fácil ganar el combate.

Funciona en H5 y Freya:

Index: java/com/l2jserver/gameserver/model/L2Clan.java
    ===================================================================
    --- java/com/l2jserver/gameserver/model/L2Clan.java   
    +++ java/com/l2jserver/gameserver/model/L2Clan.java   
    @@ -50,6 +50,7 @@
  import com.l2jserver.gameserver.model.actor.instance.L2PcInstance;
  import com.l2jserver.gameserver.model.itemcontainer.ClanWarehouse;
  import com.l2jserver.gameserver.model.itemcontainer.ItemContainer;
  +import com.l2jserver.gameserver.model.olympiad.OlympiadManager;
  import com.l2jserver.gameserver.model.skills.L2Skill;
  import com.l2jserver.gameserver.model.zone.ZoneId;
  import com.l2jserver.gameserver.network.SystemMessageId;
    @@ -2331,6 +2347,7 @@
          if (target == null)
{
activeChar.sendPacket(SystemMessageId.YOU_HAVE_INVITED_THE_WRONG_TARGET);
return false;
}
+ if (OlympiadManager.getInstance().isRegistered(target))
+ {
        + activeChar.sendMessage("You can not invite the clan to this player.");
        + ExShowScreenMessage message1 = new ExShowScreenMessage("Can not invite this player by that registered in olympiad!", 9000);
        + activeChar.sendPacket(message1);
        + return false;
+ }
if (activeChar.getObjectId() == target.getObjectId())
{
activeChar.sendPacket(SystemMessageId.CANNOT_INVITE_YOURSELF);
return false;
}