634 lines
		
	
	
		
			15 KiB
		
	
	
	
		
			Java
		
	
	
	
	
	
			
		
		
	
	
			634 lines
		
	
	
		
			15 KiB
		
	
	
	
		
			Java
		
	
	
	
	
	
| /*
 | |
|  * Copyright (C) 2004-2015 L2J DataPack
 | |
|  * 
 | |
|  * This file is part of L2J DataPack.
 | |
|  * 
 | |
|  * L2J DataPack is free software: you can redistribute it and/or modify
 | |
|  * it under the terms of the GNU General Public License as published by
 | |
|  * the Free Software Foundation, either version 3 of the License, or
 | |
|  * (at your option) any later version.
 | |
|  * 
 | |
|  * L2J DataPack is distributed in the hope that it will be useful,
 | |
|  * but WITHOUT ANY WARRANTY; without even the implied warranty of
 | |
|  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
 | |
|  * General Public License for more details.
 | |
|  * 
 | |
|  * You should have received a copy of the GNU General Public License
 | |
|  * along with this program. If not, see <http://www.gnu.org/licenses/>.
 | |
|  */
 | |
| package handlers.admincommandhandlers;
 | |
| 
 | |
| import com.l2jserver.gameserver.data.xml.impl.NpcData;
 | |
| import com.l2jserver.gameserver.handler.IAdminCommandHandler;
 | |
| import com.l2jserver.gameserver.model.L2World;
 | |
| import com.l2jserver.gameserver.model.MobGroup;
 | |
| import com.l2jserver.gameserver.model.MobGroupTable;
 | |
| import com.l2jserver.gameserver.model.actor.L2Character;
 | |
| import com.l2jserver.gameserver.model.actor.instance.L2PcInstance;
 | |
| import com.l2jserver.gameserver.model.actor.templates.L2NpcTemplate;
 | |
| import com.l2jserver.gameserver.network.SystemMessageId;
 | |
| import com.l2jserver.gameserver.network.serverpackets.MagicSkillUse;
 | |
| import com.l2jserver.gameserver.network.serverpackets.SetupGauge;
 | |
| import com.l2jserver.gameserver.util.Broadcast;
 | |
| 
 | |
| /**
 | |
|  * @author littlecrow Admin commands handler for controllable mobs
 | |
|  */
 | |
| public class AdminMobGroup implements IAdminCommandHandler
 | |
| {
 | |
| 	private static final String[] ADMIN_COMMANDS =
 | |
| 	{
 | |
| 		"admin_mobmenu",
 | |
| 		"admin_mobgroup_list",
 | |
| 		"admin_mobgroup_create",
 | |
| 		"admin_mobgroup_remove",
 | |
| 		"admin_mobgroup_delete",
 | |
| 		"admin_mobgroup_spawn",
 | |
| 		"admin_mobgroup_unspawn",
 | |
| 		"admin_mobgroup_kill",
 | |
| 		"admin_mobgroup_idle",
 | |
| 		"admin_mobgroup_attack",
 | |
| 		"admin_mobgroup_rnd",
 | |
| 		"admin_mobgroup_return",
 | |
| 		"admin_mobgroup_follow",
 | |
| 		"admin_mobgroup_casting",
 | |
| 		"admin_mobgroup_nomove",
 | |
| 		"admin_mobgroup_attackgrp",
 | |
| 		"admin_mobgroup_invul"
 | |
| 	};
 | |
| 	
 | |
| 	@Override
 | |
| 	public boolean useAdminCommand(String command, L2PcInstance activeChar)
 | |
| 	{
 | |
| 		if (command.equals("admin_mobmenu"))
 | |
| 		{
 | |
| 			showMainPage(activeChar, command);
 | |
| 			return true;
 | |
| 		}
 | |
| 		else if (command.equals("admin_mobgroup_list"))
 | |
| 		{
 | |
| 			showGroupList(activeChar);
 | |
| 		}
 | |
| 		else if (command.startsWith("admin_mobgroup_create"))
 | |
| 		{
 | |
| 			createGroup(command, activeChar);
 | |
| 		}
 | |
| 		else if (command.startsWith("admin_mobgroup_delete") || command.startsWith("admin_mobgroup_remove"))
 | |
| 		{
 | |
| 			removeGroup(command, activeChar);
 | |
| 		}
 | |
| 		else if (command.startsWith("admin_mobgroup_spawn"))
 | |
| 		{
 | |
| 			spawnGroup(command, activeChar);
 | |
| 		}
 | |
| 		else if (command.startsWith("admin_mobgroup_unspawn"))
 | |
| 		{
 | |
| 			unspawnGroup(command, activeChar);
 | |
| 		}
 | |
| 		else if (command.startsWith("admin_mobgroup_kill"))
 | |
| 		{
 | |
| 			killGroup(command, activeChar);
 | |
| 		}
 | |
| 		else if (command.startsWith("admin_mobgroup_attackgrp"))
 | |
| 		{
 | |
| 			attackGrp(command, activeChar);
 | |
| 		}
 | |
| 		else if (command.startsWith("admin_mobgroup_attack"))
 | |
| 		{
 | |
| 			if (activeChar.getTarget() instanceof L2Character)
 | |
| 			{
 | |
| 				L2Character target = (L2Character) activeChar.getTarget();
 | |
| 				attack(command, activeChar, target);
 | |
| 			}
 | |
| 		}
 | |
| 		else if (command.startsWith("admin_mobgroup_rnd"))
 | |
| 		{
 | |
| 			setNormal(command, activeChar);
 | |
| 		}
 | |
| 		else if (command.startsWith("admin_mobgroup_idle"))
 | |
| 		{
 | |
| 			idle(command, activeChar);
 | |
| 		}
 | |
| 		else if (command.startsWith("admin_mobgroup_return"))
 | |
| 		{
 | |
| 			returnToChar(command, activeChar);
 | |
| 		}
 | |
| 		else if (command.startsWith("admin_mobgroup_follow"))
 | |
| 		{
 | |
| 			follow(command, activeChar, activeChar);
 | |
| 		}
 | |
| 		else if (command.startsWith("admin_mobgroup_casting"))
 | |
| 		{
 | |
| 			setCasting(command, activeChar);
 | |
| 		}
 | |
| 		else if (command.startsWith("admin_mobgroup_nomove"))
 | |
| 		{
 | |
| 			noMove(command, activeChar);
 | |
| 		}
 | |
| 		else if (command.startsWith("admin_mobgroup_invul"))
 | |
| 		{
 | |
| 			invul(command, activeChar);
 | |
| 		}
 | |
| 		else if (command.startsWith("admin_mobgroup_teleport"))
 | |
| 		{
 | |
| 			teleportGroup(command, activeChar);
 | |
| 		}
 | |
| 		showMainPage(activeChar, command);
 | |
| 		return true;
 | |
| 	}
 | |
| 	
 | |
| 	/**
 | |
| 	 * @param activeChar
 | |
| 	 * @param command
 | |
| 	 */
 | |
| 	private void showMainPage(L2PcInstance activeChar, String command)
 | |
| 	{
 | |
| 		String filename = "mobgroup.htm";
 | |
| 		AdminHtml.showAdminHtml(activeChar, filename);
 | |
| 	}
 | |
| 	
 | |
| 	private void returnToChar(String command, L2PcInstance activeChar)
 | |
| 	{
 | |
| 		int groupId;
 | |
| 		try
 | |
| 		{
 | |
| 			groupId = Integer.parseInt(command.split(" ")[1]);
 | |
| 		}
 | |
| 		catch (Exception e)
 | |
| 		{
 | |
| 			activeChar.sendMessage("Incorrect command arguments.");
 | |
| 			return;
 | |
| 		}
 | |
| 		MobGroup group = MobGroupTable.getInstance().getGroup(groupId);
 | |
| 		if (group == null)
 | |
| 		{
 | |
| 			activeChar.sendMessage("Invalid group specified.");
 | |
| 			return;
 | |
| 		}
 | |
| 		group.returnGroup(activeChar);
 | |
| 	}
 | |
| 	
 | |
| 	private void idle(String command, L2PcInstance activeChar)
 | |
| 	{
 | |
| 		int groupId;
 | |
| 		
 | |
| 		try
 | |
| 		{
 | |
| 			groupId = Integer.parseInt(command.split(" ")[1]);
 | |
| 		}
 | |
| 		catch (Exception e)
 | |
| 		{
 | |
| 			activeChar.sendMessage("Incorrect command arguments.");
 | |
| 			return;
 | |
| 		}
 | |
| 		MobGroup group = MobGroupTable.getInstance().getGroup(groupId);
 | |
| 		if (group == null)
 | |
| 		{
 | |
| 			activeChar.sendMessage("Invalid group specified.");
 | |
| 			return;
 | |
| 		}
 | |
| 		group.setIdleMode();
 | |
| 	}
 | |
| 	
 | |
| 	private void setNormal(String command, L2PcInstance activeChar)
 | |
| 	{
 | |
| 		int groupId;
 | |
| 		try
 | |
| 		{
 | |
| 			groupId = Integer.parseInt(command.split(" ")[1]);
 | |
| 		}
 | |
| 		catch (Exception e)
 | |
| 		{
 | |
| 			activeChar.sendMessage("Incorrect command arguments.");
 | |
| 			return;
 | |
| 		}
 | |
| 		MobGroup group = MobGroupTable.getInstance().getGroup(groupId);
 | |
| 		if (group == null)
 | |
| 		{
 | |
| 			activeChar.sendMessage("Invalid group specified.");
 | |
| 			return;
 | |
| 		}
 | |
| 		group.setAttackRandom();
 | |
| 	}
 | |
| 	
 | |
| 	private void attack(String command, L2PcInstance activeChar, L2Character target)
 | |
| 	{
 | |
| 		int groupId;
 | |
| 		try
 | |
| 		{
 | |
| 			groupId = Integer.parseInt(command.split(" ")[1]);
 | |
| 		}
 | |
| 		catch (Exception e)
 | |
| 		{
 | |
| 			activeChar.sendMessage("Incorrect command arguments.");
 | |
| 			return;
 | |
| 		}
 | |
| 		MobGroup group = MobGroupTable.getInstance().getGroup(groupId);
 | |
| 		if (group == null)
 | |
| 		{
 | |
| 			activeChar.sendMessage("Invalid group specified.");
 | |
| 			return;
 | |
| 		}
 | |
| 		group.setAttackTarget(target);
 | |
| 	}
 | |
| 	
 | |
| 	private void follow(String command, L2PcInstance activeChar, L2Character target)
 | |
| 	{
 | |
| 		int groupId;
 | |
| 		try
 | |
| 		{
 | |
| 			groupId = Integer.parseInt(command.split(" ")[1]);
 | |
| 		}
 | |
| 		catch (Exception e)
 | |
| 		{
 | |
| 			activeChar.sendMessage("Incorrect command arguments.");
 | |
| 			return;
 | |
| 		}
 | |
| 		MobGroup group = MobGroupTable.getInstance().getGroup(groupId);
 | |
| 		if (group == null)
 | |
| 		{
 | |
| 			activeChar.sendMessage("Invalid group specified.");
 | |
| 			return;
 | |
| 		}
 | |
| 		group.setFollowMode(target);
 | |
| 	}
 | |
| 	
 | |
| 	private void createGroup(String command, L2PcInstance activeChar)
 | |
| 	{
 | |
| 		int groupId;
 | |
| 		int templateId;
 | |
| 		int mobCount;
 | |
| 		
 | |
| 		try
 | |
| 		{
 | |
| 			String[] cmdParams = command.split(" ");
 | |
| 			
 | |
| 			groupId = Integer.parseInt(cmdParams[1]);
 | |
| 			templateId = Integer.parseInt(cmdParams[2]);
 | |
| 			mobCount = Integer.parseInt(cmdParams[3]);
 | |
| 		}
 | |
| 		catch (Exception e)
 | |
| 		{
 | |
| 			activeChar.sendMessage("Usage: //mobgroup_create <group> <npcid> <count>");
 | |
| 			return;
 | |
| 		}
 | |
| 		
 | |
| 		if (MobGroupTable.getInstance().getGroup(groupId) != null)
 | |
| 		{
 | |
| 			activeChar.sendMessage("Mob group " + groupId + " already exists.");
 | |
| 			return;
 | |
| 		}
 | |
| 		
 | |
| 		L2NpcTemplate template = NpcData.getInstance().getTemplate(templateId);
 | |
| 		
 | |
| 		if (template == null)
 | |
| 		{
 | |
| 			activeChar.sendMessage("Invalid NPC ID specified.");
 | |
| 			return;
 | |
| 		}
 | |
| 		
 | |
| 		MobGroup group = new MobGroup(groupId, template, mobCount);
 | |
| 		MobGroupTable.getInstance().addGroup(groupId, group);
 | |
| 		
 | |
| 		activeChar.sendMessage("Mob group " + groupId + " created.");
 | |
| 	}
 | |
| 	
 | |
| 	private void removeGroup(String command, L2PcInstance activeChar)
 | |
| 	{
 | |
| 		int groupId;
 | |
| 		
 | |
| 		try
 | |
| 		{
 | |
| 			groupId = Integer.parseInt(command.split(" ")[1]);
 | |
| 		}
 | |
| 		catch (Exception e)
 | |
| 		{
 | |
| 			activeChar.sendMessage("Usage: //mobgroup_remove <groupId>");
 | |
| 			return;
 | |
| 		}
 | |
| 		
 | |
| 		MobGroup group = MobGroupTable.getInstance().getGroup(groupId);
 | |
| 		
 | |
| 		if (group == null)
 | |
| 		{
 | |
| 			activeChar.sendMessage("Invalid group specified.");
 | |
| 			return;
 | |
| 		}
 | |
| 		
 | |
| 		doAnimation(activeChar);
 | |
| 		group.unspawnGroup();
 | |
| 		
 | |
| 		if (MobGroupTable.getInstance().removeGroup(groupId))
 | |
| 		{
 | |
| 			activeChar.sendMessage("Mob group " + groupId + " unspawned and removed.");
 | |
| 		}
 | |
| 	}
 | |
| 	
 | |
| 	private void spawnGroup(String command, L2PcInstance activeChar)
 | |
| 	{
 | |
| 		int groupId;
 | |
| 		boolean topos = false;
 | |
| 		int posx = 0;
 | |
| 		int posy = 0;
 | |
| 		int posz = 0;
 | |
| 		
 | |
| 		try
 | |
| 		{
 | |
| 			String[] cmdParams = command.split(" ");
 | |
| 			groupId = Integer.parseInt(cmdParams[1]);
 | |
| 			
 | |
| 			try
 | |
| 			{ // we try to get a position
 | |
| 				posx = Integer.parseInt(cmdParams[2]);
 | |
| 				posy = Integer.parseInt(cmdParams[3]);
 | |
| 				posz = Integer.parseInt(cmdParams[4]);
 | |
| 				topos = true;
 | |
| 			}
 | |
| 			catch (Exception e)
 | |
| 			{
 | |
| 				// no position given
 | |
| 			}
 | |
| 		}
 | |
| 		catch (Exception e)
 | |
| 		{
 | |
| 			activeChar.sendMessage("Usage: //mobgroup_spawn <group> [ x y z ]");
 | |
| 			return;
 | |
| 		}
 | |
| 		
 | |
| 		MobGroup group = MobGroupTable.getInstance().getGroup(groupId);
 | |
| 		
 | |
| 		if (group == null)
 | |
| 		{
 | |
| 			activeChar.sendMessage("Invalid group specified.");
 | |
| 			return;
 | |
| 		}
 | |
| 		
 | |
| 		doAnimation(activeChar);
 | |
| 		
 | |
| 		if (topos)
 | |
| 		{
 | |
| 			group.spawnGroup(posx, posy, posz);
 | |
| 		}
 | |
| 		else
 | |
| 		{
 | |
| 			group.spawnGroup(activeChar);
 | |
| 		}
 | |
| 		
 | |
| 		activeChar.sendMessage("Mob group " + groupId + " spawned.");
 | |
| 	}
 | |
| 	
 | |
| 	private void unspawnGroup(String command, L2PcInstance activeChar)
 | |
| 	{
 | |
| 		int groupId;
 | |
| 		
 | |
| 		try
 | |
| 		{
 | |
| 			groupId = Integer.parseInt(command.split(" ")[1]);
 | |
| 		}
 | |
| 		catch (Exception e)
 | |
| 		{
 | |
| 			activeChar.sendMessage("Usage: //mobgroup_unspawn <groupId>");
 | |
| 			return;
 | |
| 		}
 | |
| 		
 | |
| 		MobGroup group = MobGroupTable.getInstance().getGroup(groupId);
 | |
| 		
 | |
| 		if (group == null)
 | |
| 		{
 | |
| 			activeChar.sendMessage("Invalid group specified.");
 | |
| 			return;
 | |
| 		}
 | |
| 		
 | |
| 		doAnimation(activeChar);
 | |
| 		group.unspawnGroup();
 | |
| 		
 | |
| 		activeChar.sendMessage("Mob group " + groupId + " unspawned.");
 | |
| 	}
 | |
| 	
 | |
| 	private void killGroup(String command, L2PcInstance activeChar)
 | |
| 	{
 | |
| 		int groupId;
 | |
| 		
 | |
| 		try
 | |
| 		{
 | |
| 			groupId = Integer.parseInt(command.split(" ")[1]);
 | |
| 		}
 | |
| 		catch (Exception e)
 | |
| 		{
 | |
| 			activeChar.sendMessage("Usage: //mobgroup_kill <groupId>");
 | |
| 			return;
 | |
| 		}
 | |
| 		
 | |
| 		MobGroup group = MobGroupTable.getInstance().getGroup(groupId);
 | |
| 		
 | |
| 		if (group == null)
 | |
| 		{
 | |
| 			activeChar.sendMessage("Invalid group specified.");
 | |
| 			return;
 | |
| 		}
 | |
| 		
 | |
| 		doAnimation(activeChar);
 | |
| 		group.killGroup(activeChar);
 | |
| 	}
 | |
| 	
 | |
| 	private void setCasting(String command, L2PcInstance activeChar)
 | |
| 	{
 | |
| 		int groupId;
 | |
| 		
 | |
| 		try
 | |
| 		{
 | |
| 			groupId = Integer.parseInt(command.split(" ")[1]);
 | |
| 		}
 | |
| 		catch (Exception e)
 | |
| 		{
 | |
| 			activeChar.sendMessage("Usage: //mobgroup_casting <groupId>");
 | |
| 			return;
 | |
| 		}
 | |
| 		
 | |
| 		MobGroup group = MobGroupTable.getInstance().getGroup(groupId);
 | |
| 		
 | |
| 		if (group == null)
 | |
| 		{
 | |
| 			activeChar.sendMessage("Invalid group specified.");
 | |
| 			return;
 | |
| 		}
 | |
| 		
 | |
| 		group.setCastMode();
 | |
| 	}
 | |
| 	
 | |
| 	private void noMove(String command, L2PcInstance activeChar)
 | |
| 	{
 | |
| 		int groupId;
 | |
| 		String enabled;
 | |
| 		
 | |
| 		try
 | |
| 		{
 | |
| 			groupId = Integer.parseInt(command.split(" ")[1]);
 | |
| 			enabled = command.split(" ")[2];
 | |
| 		}
 | |
| 		catch (Exception e)
 | |
| 		{
 | |
| 			activeChar.sendMessage("Usage: //mobgroup_nomove <groupId> <on|off>");
 | |
| 			return;
 | |
| 		}
 | |
| 		
 | |
| 		MobGroup group = MobGroupTable.getInstance().getGroup(groupId);
 | |
| 		
 | |
| 		if (group == null)
 | |
| 		{
 | |
| 			activeChar.sendMessage("Invalid group specified.");
 | |
| 			return;
 | |
| 		}
 | |
| 		
 | |
| 		if (enabled.equalsIgnoreCase("on") || enabled.equalsIgnoreCase("true"))
 | |
| 		{
 | |
| 			group.setNoMoveMode(true);
 | |
| 		}
 | |
| 		else if (enabled.equalsIgnoreCase("off") || enabled.equalsIgnoreCase("false"))
 | |
| 		{
 | |
| 			group.setNoMoveMode(false);
 | |
| 		}
 | |
| 		else
 | |
| 		{
 | |
| 			activeChar.sendMessage("Incorrect command arguments.");
 | |
| 		}
 | |
| 	}
 | |
| 	
 | |
| 	private void doAnimation(L2PcInstance activeChar)
 | |
| 	{
 | |
| 		Broadcast.toSelfAndKnownPlayersInRadius(activeChar, new MagicSkillUse(activeChar, 1008, 1, 4000, 0), 1500);
 | |
| 		activeChar.sendPacket(new SetupGauge(0, 4000));
 | |
| 	}
 | |
| 	
 | |
| 	private void attackGrp(String command, L2PcInstance activeChar)
 | |
| 	{
 | |
| 		int groupId;
 | |
| 		int othGroupId;
 | |
| 		
 | |
| 		try
 | |
| 		{
 | |
| 			groupId = Integer.parseInt(command.split(" ")[1]);
 | |
| 			othGroupId = Integer.parseInt(command.split(" ")[2]);
 | |
| 		}
 | |
| 		catch (Exception e)
 | |
| 		{
 | |
| 			activeChar.sendMessage("Usage: //mobgroup_attackgrp <groupId> <TargetGroupId>");
 | |
| 			return;
 | |
| 		}
 | |
| 		
 | |
| 		MobGroup group = MobGroupTable.getInstance().getGroup(groupId);
 | |
| 		
 | |
| 		if (group == null)
 | |
| 		{
 | |
| 			activeChar.sendMessage("Invalid group specified.");
 | |
| 			return;
 | |
| 		}
 | |
| 		
 | |
| 		MobGroup othGroup = MobGroupTable.getInstance().getGroup(othGroupId);
 | |
| 		
 | |
| 		if (othGroup == null)
 | |
| 		{
 | |
| 			activeChar.sendMessage("Incorrect target group.");
 | |
| 			return;
 | |
| 		}
 | |
| 		
 | |
| 		group.setAttackGroup(othGroup);
 | |
| 	}
 | |
| 	
 | |
| 	private void invul(String command, L2PcInstance activeChar)
 | |
| 	{
 | |
| 		int groupId;
 | |
| 		String enabled;
 | |
| 		
 | |
| 		try
 | |
| 		{
 | |
| 			groupId = Integer.parseInt(command.split(" ")[1]);
 | |
| 			enabled = command.split(" ")[2];
 | |
| 		}
 | |
| 		catch (Exception e)
 | |
| 		{
 | |
| 			activeChar.sendMessage("Usage: //mobgroup_invul <groupId> <on|off>");
 | |
| 			return;
 | |
| 		}
 | |
| 		
 | |
| 		MobGroup group = MobGroupTable.getInstance().getGroup(groupId);
 | |
| 		
 | |
| 		if (group == null)
 | |
| 		{
 | |
| 			activeChar.sendMessage("Invalid group specified.");
 | |
| 			return;
 | |
| 		}
 | |
| 		
 | |
| 		if (enabled.equalsIgnoreCase("on") || enabled.equalsIgnoreCase("true"))
 | |
| 		{
 | |
| 			group.setInvul(true);
 | |
| 		}
 | |
| 		else if (enabled.equalsIgnoreCase("off") || enabled.equalsIgnoreCase("false"))
 | |
| 		{
 | |
| 			group.setInvul(false);
 | |
| 		}
 | |
| 		else
 | |
| 		{
 | |
| 			activeChar.sendMessage("Incorrect command arguments.");
 | |
| 		}
 | |
| 	}
 | |
| 	
 | |
| 	private void teleportGroup(String command, L2PcInstance activeChar)
 | |
| 	{
 | |
| 		int groupId;
 | |
| 		String targetPlayerStr = null;
 | |
| 		L2PcInstance targetPlayer = null;
 | |
| 		
 | |
| 		try
 | |
| 		{
 | |
| 			groupId = Integer.parseInt(command.split(" ")[1]);
 | |
| 			targetPlayerStr = command.split(" ")[2];
 | |
| 			
 | |
| 			if (targetPlayerStr != null)
 | |
| 			{
 | |
| 				targetPlayer = L2World.getInstance().getPlayer(targetPlayerStr);
 | |
| 			}
 | |
| 			
 | |
| 			if (targetPlayer == null)
 | |
| 			{
 | |
| 				targetPlayer = activeChar;
 | |
| 			}
 | |
| 		}
 | |
| 		catch (Exception e)
 | |
| 		{
 | |
| 			activeChar.sendMessage("Usage: //mobgroup_teleport <groupId> [playerName]");
 | |
| 			return;
 | |
| 		}
 | |
| 		
 | |
| 		MobGroup group = MobGroupTable.getInstance().getGroup(groupId);
 | |
| 		
 | |
| 		if (group == null)
 | |
| 		{
 | |
| 			activeChar.sendMessage("Invalid group specified.");
 | |
| 			return;
 | |
| 		}
 | |
| 		
 | |
| 		group.teleportGroup(activeChar);
 | |
| 	}
 | |
| 	
 | |
| 	private void showGroupList(L2PcInstance activeChar)
 | |
| 	{
 | |
| 		MobGroup[] mobGroupList = MobGroupTable.getInstance().getGroups();
 | |
| 		
 | |
| 		activeChar.sendMessage("======= <Mob Groups> =======");
 | |
| 		
 | |
| 		for (MobGroup mobGroup : mobGroupList)
 | |
| 		{
 | |
| 			activeChar.sendMessage(mobGroup.getGroupId() + ": " + mobGroup.getActiveMobCount() + " alive out of " + mobGroup.getMaxMobCount() + " of NPC ID " + mobGroup.getTemplate().getId() + " (" + mobGroup.getStatus() + ")");
 | |
| 		}
 | |
| 		
 | |
| 		activeChar.sendPacket(SystemMessageId.EMPTY3);
 | |
| 	}
 | |
| 	
 | |
| 	@Override
 | |
| 	public String[] getAdminCommandList()
 | |
| 	{
 | |
| 		return ADMIN_COMMANDS;
 | |
| 	}
 | |
| }
 | 
