Package com.l2jfrozen.gameserver.handler.admincommandhandlers

Source Code of com.l2jfrozen.gameserver.handler.admincommandhandlers.AdminMassRecall

package com.l2jfrozen.gameserver.handler.admincommandhandlers;

import com.l2jfrozen.Config;
import com.l2jfrozen.gameserver.ai.CtrlIntention;
import com.l2jfrozen.gameserver.datatables.sql.ClanTable;
import com.l2jfrozen.gameserver.handler.IAdminCommandHandler;
import com.l2jfrozen.gameserver.model.L2Clan;
import com.l2jfrozen.gameserver.model.L2Party;
import com.l2jfrozen.gameserver.model.L2World;
import com.l2jfrozen.gameserver.model.actor.instance.L2PcInstance;

/**
* This class handles following admin commands: - recallparty - recallclan - recallally
*
* @author Yamaneko
*/
public class AdminMassRecall implements IAdminCommandHandler
{
  private static String[] _adminCommands =
  {
      "admin_recallclan", "admin_recallparty", "admin_recallally"
  };

  @Override
  public boolean useAdminCommand(String command, L2PcInstance activeChar)
  {
    /*
    if(!AdminCommandAccessRights.getInstance().hasAccess(command, activeChar.getAccessLevel())){
      return false;
    }
   
    if(Config.GMAUDIT)
    {
      Logger _logAudit = Logger.getLogger("gmaudit");
      LogRecord record = new LogRecord(Level.INFO, command);
      record.setParameters(new Object[]
      {
          "GM: " + activeChar.getName(), " to target [" + activeChar.getTarget() + "] "
      });
      _logAudit.log(record);
    }
    */

    if(command.startsWith("admin_recallclan"))
    {
      try
      {
        String val = command.substring(17).trim();

        L2Clan clan = ClanTable.getInstance().getClanByName(val);

        if(clan == null)
        {
          activeChar.sendMessage("This clan doesn't exists.");
          return true;
        }

        val = null;
        L2PcInstance[] m = clan.getOnlineMembers("");

        for(L2PcInstance element : m)
        {
          Teleport(element, activeChar.getX(), activeChar.getY(), activeChar.getZ(), "Admin is teleporting you");
        }

        clan = null;
        m = null;
      }
      catch(Exception e)
      {
        if(Config.ENABLE_ALL_EXCEPTIONS)
          e.printStackTrace();
       
        activeChar.sendMessage("Error in recallclan command.");
      }
    }
    else if(command.startsWith("admin_recallally"))
    {
      try
      {
        String val = command.substring(17).trim();
        L2Clan clan = ClanTable.getInstance().getClanByName(val);

        if(clan == null)
        {
          activeChar.sendMessage("This clan doesn't exists.");
          return true;
        }

        int ally = clan.getAllyId();

        if(ally == 0)
        {

          L2PcInstance[] m = clan.getOnlineMembers("");

          for(L2PcInstance element : m)
          {
            Teleport(element, activeChar.getX(), activeChar.getY(), activeChar.getZ(), "Admin is teleporting you");
          }

          m = null;
        }
        else
        {
          for(L2Clan aclan : ClanTable.getInstance().getClans())
          {
            if(aclan.getAllyId() == ally)
            {
              L2PcInstance[] m = aclan.getOnlineMembers("");

              for(L2PcInstance element : m)
              {
                Teleport(element, activeChar.getX(), activeChar.getY(), activeChar.getZ(), "Admin is teleporting you");
              }

              m = null;
            }
          }
        }

        clan = null;
        val = null;
      }
      catch(Exception e)
      {
        if(Config.ENABLE_ALL_EXCEPTIONS)
          e.printStackTrace();
       
        activeChar.sendMessage("Error in recallally command.");
      }
    }
    else if(command.startsWith("admin_recallparty"))
    {
      try
      {
        String val = command.substring(18).trim();
        L2PcInstance player = L2World.getInstance().getPlayer(val);

        if(player == null)
        {
          activeChar.sendMessage("Target error.");
          return true;
        }

        if(!player.isInParty())
        {
          activeChar.sendMessage("Player is not in party.");
          return true;
        }

        L2Party p = player.getParty();

        for(L2PcInstance ppl : p.getPartyMembers())
        {
          Teleport(ppl, activeChar.getX(), activeChar.getY(), activeChar.getZ(), "Admin is teleporting you");
        }

        p = null;
        val = null;
        player = null;

      }
      catch(Exception e)
      {
        if(Config.ENABLE_ALL_EXCEPTIONS)
          e.printStackTrace();
       
        activeChar.sendMessage("Error in recallparty command.");
      }
    }
    return true;
  }

  private void Teleport(L2PcInstance player, int X, int Y, int Z, String Message)
  {
    player.sendMessage(Message);
    player.getAI().setIntention(CtrlIntention.AI_INTENTION_IDLE);
    player.teleToLocation(X, Y, Z, true);
  }

  @Override
  public String[] getAdminCommandList()
  {
    return _adminCommands;
  }
}
TOP

Related Classes of com.l2jfrozen.gameserver.handler.admincommandhandlers.AdminMassRecall

TOP
Copyright © 2018 www.massapi.com. 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.