Addition of showdoors command.

This commit is contained in:
MobiusDev
2016-02-15 13:30:55 +00:00
parent 5d1e8973b1
commit 6df805ebe1
2 changed files with 39 additions and 6 deletions

View File

@@ -102,6 +102,7 @@
<admin command="admin_close" accessLevel="100" /> <admin command="admin_close" accessLevel="100" />
<admin command="admin_openall" accessLevel="100" /> <admin command="admin_openall" accessLevel="100" />
<admin command="admin_closeall" accessLevel="100" /> <admin command="admin_closeall" accessLevel="100" />
<admin command="admin_showdoors" accessLevel="100" />
<!-- ADMIN EDIT CHAR --> <!-- ADMIN EDIT CHAR -->
<admin command="admin_edit_character" accessLevel="100" /> <admin command="admin_edit_character" accessLevel="100" />

View File

@@ -16,13 +16,17 @@
*/ */
package handlers.admincommandhandlers; package handlers.admincommandhandlers;
import java.awt.Color;
import com.l2jmobius.gameserver.data.xml.impl.DoorData; import com.l2jmobius.gameserver.data.xml.impl.DoorData;
import com.l2jmobius.gameserver.handler.IAdminCommandHandler; import com.l2jmobius.gameserver.handler.IAdminCommandHandler;
import com.l2jmobius.gameserver.instancemanager.CastleManager; import com.l2jmobius.gameserver.instancemanager.CastleManager;
import com.l2jmobius.gameserver.model.L2Object; import com.l2jmobius.gameserver.model.L2Object;
import com.l2jmobius.gameserver.model.actor.L2Character;
import com.l2jmobius.gameserver.model.actor.instance.L2DoorInstance; import com.l2jmobius.gameserver.model.actor.instance.L2DoorInstance;
import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance; import com.l2jmobius.gameserver.model.actor.instance.L2PcInstance;
import com.l2jmobius.gameserver.model.entity.Castle; import com.l2jmobius.gameserver.model.entity.Castle;
import com.l2jmobius.gameserver.network.serverpackets.ExServerPrimitive;
/** /**
* This class handles following admin commands: - open1 = open coloseum door 24190001 - open2 = open coloseum door 24190002 - open3 = open coloseum door 24190003 - open4 = open coloseum door 24190004 - openall = open all coloseum door - close1 = close coloseum door 24190001 - close2 = close coloseum * This class handles following admin commands: - open1 = open coloseum door 24190001 - open2 = open coloseum door 24190002 - open3 = open coloseum door 24190003 - open4 = open coloseum door 24190004 - openall = open all coloseum door - close1 = close coloseum door 24190001 - close2 = close coloseum
@@ -37,7 +41,8 @@ public class AdminDoorControl implements IAdminCommandHandler
"admin_open", "admin_open",
"admin_close", "admin_close",
"admin_openall", "admin_openall",
"admin_closeall" "admin_closeall",
"admin_showdoors"
}; };
@Override @Override
@@ -81,7 +86,7 @@ public class AdminDoorControl implements IAdminCommandHandler
} }
} }
} }
if (command.equals("admin_closeall")) else if (command.equals("admin_closeall"))
{ {
for (L2DoorInstance door : _doorTable.getDoors()) for (L2DoorInstance door : _doorTable.getDoors())
{ {
@@ -95,7 +100,7 @@ public class AdminDoorControl implements IAdminCommandHandler
} }
} }
} }
if (command.equals("admin_openall")) else if (command.equals("admin_openall"))
{ {
for (L2DoorInstance door : _doorTable.getDoors()) for (L2DoorInstance door : _doorTable.getDoors())
{ {
@@ -109,7 +114,7 @@ public class AdminDoorControl implements IAdminCommandHandler
} }
} }
} }
if (command.equals("admin_open")) else if (command.equals("admin_open"))
{ {
final L2Object target = activeChar.getTarget(); final L2Object target = activeChar.getTarget();
if (target instanceof L2DoorInstance) if (target instanceof L2DoorInstance)
@@ -121,8 +126,7 @@ public class AdminDoorControl implements IAdminCommandHandler
activeChar.sendMessage("Incorrect target."); activeChar.sendMessage("Incorrect target.");
} }
} }
else if (command.equals("admin_close"))
if (command.equals("admin_close"))
{ {
final L2Object target = activeChar.getTarget(); final L2Object target = activeChar.getTarget();
if (target instanceof L2DoorInstance) if (target instanceof L2DoorInstance)
@@ -134,6 +138,34 @@ public class AdminDoorControl implements IAdminCommandHandler
activeChar.sendMessage("Incorrect target."); activeChar.sendMessage("Incorrect target.");
} }
} }
else if (command.equals("admin_showdoors"))
{
for (L2Character ch : activeChar.getKnownList().getKnownCharacters())
{
final ExServerPrimitive packet = new ExServerPrimitive("door" + ch.getId(), activeChar.getX(), activeChar.getY(), -16000);
if (ch.isDoor())
{
final L2DoorInstance door = (L2DoorInstance) ch;
final Color color = door.getOpen() ? Color.GREEN : Color.RED;
// box 1
packet.addLine(color, door.getX(0), door.getY(0), door.getZMin(), door.getX(1), door.getY(1), door.getZMin());
packet.addLine(color, door.getX(1), door.getY(1), door.getZMin(), door.getX(2), door.getY(2), door.getZMax());
packet.addLine(color, door.getX(2), door.getY(2), door.getZMax(), door.getX(3), door.getY(3), door.getZMax());
packet.addLine(color, door.getX(3), door.getY(3), door.getZMax(), door.getX(0), door.getY(0), door.getZMin());
// box 2
packet.addLine(color, door.getX(0), door.getY(0), door.getZMax(), door.getX(1), door.getY(1), door.getZMax());
packet.addLine(color, door.getX(1), door.getY(1), door.getZMax(), door.getX(2), door.getY(2), door.getZMin());
packet.addLine(color, door.getX(2), door.getY(2), door.getZMin(), door.getX(3), door.getY(3), door.getZMin());
packet.addLine(color, door.getX(3), door.getY(3), door.getZMin(), door.getX(0), door.getY(0), door.getZMax());
// diagonals
packet.addLine(color, door.getX(0), door.getY(0), door.getZMin(), door.getX(1), door.getY(1), door.getZMax());
packet.addLine(color, door.getX(2), door.getY(2), door.getZMin(), door.getX(3), door.getY(3), door.getZMax());
packet.addLine(color, door.getX(0), door.getY(0), door.getZMax(), door.getX(1), door.getY(1), door.getZMin());
packet.addLine(color, door.getX(2), door.getY(2), door.getZMax(), door.getX(3), door.getY(3), door.getZMin());
}
activeChar.sendPacket(packet);
}
}
} }
catch (Exception e) catch (Exception e)
{ {