package net.sf.l2j.gameserver.handler.admincommandhandlers;
import java.util.Collection;
import net.sf.l2j.gameserver.handler.IAdminCommandHandler;
import net.sf.l2j.gameserver.model.L2Object;
import net.sf.l2j.gameserver.model.actor.L2Character;
import net.sf.l2j.gameserver.model.actor.instance.L2PcInstance;
import net.sf.l2j.gameserver.model.actor.instance.L2NpcInstance;
import net.sf.l2j.gameserver.model.actor.instance.L2MonsterInstance;
import net.sf.l2j.gameserver.model.actor.instance.L2SummonInstance;
/**
* @author Ventic
*
*/
public class AdminSit implements IAdminCommandHandler
{
private static final String[] ADMIN_COMMANDS = { "admin_sit" , "admin_stand", "admin_rangesit", "admin_rangestand" };
@Override
public boolean useAdminCommand(String command, L2PcInstance activeChar)
{
if (command.startsWith("admin_sit"))
{
L2Object target = activeChar.getTarget();
if (target instanceof L2NpcInstance)
{
activeChar.sendMessage("You can not use it on NPCs!");
return false;
}
L2Object targetm = activeChar.getTarget();
if (targetm instanceof L2MonsterInstance)
{
activeChar.sendMessage("You can not use it on Monsters/RaidBosses!");
return false;
}
L2Object targets = activeChar.getTarget();
if (targets instanceof L2SummonInstance)
{
activeChar.sendMessage("You can not use it on Summons!");
return false;
}
else if (target == null)
{
activeChar.sendMessage("You have no target!");
return false;
}
else
{
((L2PcInstance) target).sitDown();
}
}
if (command.startsWith("admin_stand"))
{
L2Object target = activeChar.getTarget();
if (target instanceof L2NpcInstance)
{
activeChar.sendMessage("You can not use it on NPCs!");
return false;
}
L2Object targetm = activeChar.getTarget();
if (targetm instanceof L2MonsterInstance)
{
activeChar.sendMessage("You can not use it on Monsters/RaidBosses!");
return false;
}
L2Object targets = activeChar.getTarget();
if (targets instanceof L2SummonInstance)
{
activeChar.sendMessage("You can not use it on Summons!");
return false;
}
else if (target == null)
{
activeChar.sendMessage("You have no target!");
return false;
}
else
{
((L2PcInstance) target).standUp();
}
}
if (command.startsWith("admin_rangesit"))
{
Collection<L2Character> players = activeChar.getKnownList().getKnownTypeInRadius(L2Character.class, 480);
for (L2Character p : players)
{
if (p instanceof L2PcInstance)
{
((L2PcInstance) p).sitDown();
}
}
}
if (command.startsWith("admin_rangestand"))
{
Collection <L2Character> players = activeChar.getKnownList().getKnownTypeInRadius(L2Character.class, 480);
for (L2Character p : players)
{
if (p instanceof L2PcInstance)
{
((L2PcInstance) p).standUp();
}
}
}
return true;
}
@Override
public String[] getAdminCommandList()
{
return ADMIN_COMMANDS;
}
}
I just fixed a bit for acis and added some check for summons and monsters now.