Package l2p.gameserver.model

Examples of l2p.gameserver.model.L2CommandChannel


    if(player.getParty() == null || !player.getParty().isInCommandChannel())
    {
      player.sendPacket(Msg.YOU_CANNOT_ENTER_BECAUSE_YOU_ARE_NOT_IN_A_CURRENT_COMMAND_CHANNEL);
      return;
    }
    L2CommandChannel cc = player.getParty().getCommandChannel();
    if(cc.getChannelLeader() != player)
    {
      player.sendMessage("You must be leader of the command channel.");
      return;
    }
    InstancedZoneManager izm = InstancedZoneManager.getInstance();
    FastMap<Integer, InstancedZone> izs = InstancedZoneManager.getInstance().getById(instancedZoneId);
    if(izs == null)
    {
      player.sendPacket(Msg.SYSTEM_ERROR);
      return;
    }
    InstancedZone iz = izs.get(0);
    assert iz != null;
    String name = iz.getName();
    int timelimit = iz.getTimelimit();
    int minMembers = iz.getMinParty();
    int maxMembers = iz.getMaxParty();
    if(cc.getMemberCount() < minMembers)
    {
      player.sendMessage("The command channel must contains at least " + minMembers + " members.");
      return;
    }
    if(cc.getMemberCount() > maxMembers)
    {
      player.sendMessage("The command channel must contains not more than " + maxMembers + " members.");
      return;
    }
    for(L2Player member : cc.getMembers())
    {
      if(member.getLevel() < iz.getMinLevel() || member.getLevel() > iz.getMaxLevel())
      {
        cc.broadcastToChannelMembers(new SystemMessage(SystemMessage.C1S_LEVEL_REQUIREMENT_IS_NOT_SUFFICIENT_AND_CANNOT_BE_ENTERED).addName(member));
        return;
      }
      if(member.isCursedWeaponEquipped() || member.isInFlyingTransform() || member.isDead())
      {
        player.sendPacket(new SystemMessage(SystemMessage.C1S_QUEST_REQUIREMENT_IS_NOT_SUFFICIENT_AND_CANNOT_BE_ENTERED).addName(member));
        return;
      }
      if(!player.isInRange(member, 500))
      {
        member.sendPacket(Msg.ITS_TOO_FAR_FROM_THE_NPC_TO_WORK);
        player.sendPacket(Msg.ITS_TOO_FAR_FROM_THE_NPC_TO_WORK);
        return;
      }
      if(izm.getTimeToNextEnterInstance(name, member) > 0)
      {
        cc.broadcastToChannelMembers(new SystemMessage(SystemMessage.C1_MAY_NOT_RE_ENTER_YET).addName(member));
        return;
      }
    }
    Reflection r = new Reflection(name);
    r.setInstancedZoneId(instancedZoneId);
    for(InstancedZone i : izs.values())
    {
      if(r.getTeleportLoc() == null)
      {
        r.setTeleportLoc(i.getTeleportCoords());
      }
      r.FillSpawns(i.getSpawnsInfo());
      r.FillDoors(i.getDoors());
    }
    r.setCoreLoc(r.getReturnLoc());
    r.setReturnLoc(player.getLoc());
    for(L2Player member : cc.getMembers())
    {
      member.setVar(name, String.valueOf(System.currentTimeMillis()));
      member.setVar("backCoords", r.getReturnLoc().toXYZString());
      member.teleToLocation(iz.getTeleportCoords(), r.getId());
    }
    cc.setReflection(r);
    r.setCommandChannel(cc);
    if(timelimit > 0)
    {
      r.startCollapseTimer(timelimit * 60 * 1000L);
    }
 
View Full Code Here


        {
          return true;
        }
        if(activeChar.getParty().getCommandChannel().getChannelLeader() == activeChar)
        {
          L2CommandChannel channel = activeChar.getParty().getCommandChannel();
          channel.disbandChannel();
        }
        else
        {
          activeChar.sendPacket(Msg.ONLY_THE_CREATOR_OF_A_CHANNEL_CAN_USE_THE_CHANNEL_DISMISS_COMMAND);
        }
        break;
      case 96: //channelleave
        //FIXME создатель канала вылетел, надо автоматом передать кому-то права
        if(!activeChar.isInParty() || !activeChar.getParty().isInCommandChannel())
        {
          return true;
        }
        if(!activeChar.getParty().isLeader(activeChar))
        {
          activeChar.sendPacket(Msg.ONLY_A_PARTY_LEADER_CAN_CHOOSE_THE_OPTION_TO_LEAVE_A_CHANNEL);
          return true;
        }
        L2CommandChannel channel = activeChar.getParty().getCommandChannel();
        //Лидер СС не может покинуть СС, можно только распустить СС
        //FIXME по идее может, права автоматом должны передаться другой партии
        if(channel.getChannelLeader() == activeChar)
        {
          if(channel.getParties().size() > 1)
          {
            return false;
          }
          // Закрываем СС, если в СС 1 партия и лидер нажал Quit
          channel.disbandChannel();
          return true;
        }
        L2Party party = activeChar.getParty();
        channel.removeParty(party);
        party.broadcastToPartyMembers(Msg.YOU_HAVE_QUIT_THE_COMMAND_CHANNEL);
        channel.broadcastToChannelMembers(new SystemMessage(SystemMessage.S1_PARTY_HAS_LEFT_THE_COMMAND_CHANNEL).addString(activeChar.getName()));
        break;
      case 97: //channelinfo
        if(!activeChar.isInParty() || !activeChar.getParty().isInCommandChannel())
        {
          return false;
View Full Code Here

    if(player.getParty() == null || !player.getParty().isInCommandChannel())
    {
      player.sendPacket(Msg.YOU_CANNOT_ENTER_BECAUSE_YOU_ARE_NOT_IN_A_CURRENT_COMMAND_CHANNEL);
      return;
    }
    L2CommandChannel cc = player.getParty().getCommandChannel();
    for(L2Player member : cc.getMembers())
    {
      if(member != null && !player.isInRange(member, 500))
      {
        member.sendPacket(Msg.ITS_TOO_FAR_FROM_THE_NPC_TO_WORK);
        player.sendPacket(Msg.ITS_TOO_FAR_FROM_THE_NPC_TO_WORK);
        return;
      }
    }
    if(cc.getChannelLeader() != player)
    {
      player.sendMessage("You must be leader of the command channel.");
      return;
    }
    if(cc.getParties().size() < LIT_MIN_PARTY_CNT)
    {
      player.sendMessage("The command channel must contains at least " + LIT_MIN_PARTY_CNT + " parties.");
      return;
    }
    if(cc.getParties().size() > LIT_MAX_PARTY_CNT)
    {
      player.sendMessage("The command channel must contains not more than " + LIT_MAX_PARTY_CNT + " parties.");
      return;
    }
    if(player.getInventory().getCountOf(SCROLL) < 1)
View Full Code Here

    if(party == null)
    {
      _commander = null;
      return;
    }
    L2CommandChannel channel = party.getCommandChannel();
    if(channel == null)
    {
      _commander = null;
      return;
    }
    GArray<L2Party> parties = channel.getParties();
    if(parties == null || parties.size() < LIT_MIN_PARTY_CNT || parties.size() > LIT_MAX_PARTY_CNT)
    {
      _commander = null;
      return;
    }
View Full Code Here

        if(!haveSkill && haveItem)
        {
          requestor.getInventory().destroyItemByItemId(L2CommandChannel.STRATEGY_GUIDE_ID, 1, false);
          requestor.sendPacket(SystemMessage.removeItems(L2CommandChannel.STRATEGY_GUIDE_ID, 1));
        }
        L2CommandChannel channel = new L2CommandChannel(requestor); // Создаём Command Channel
        requestor.sendPacket(Msg.THE_COMMAND_CHANNEL_HAS_BEEN_FORMED);
        channel.addParty(activeChar.getParty()); // Добавляем приглашенную партию
      }
    }
    else
    {
      requestor.sendPacket(new SystemMessage(SystemMessage.S1_HAS_DECLINED_THE_CHANNEL_INVITATION).addString(activeChar.getName()));
View Full Code Here

TOP

Related Classes of l2p.gameserver.model.L2CommandChannel

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.