diff --git a/trunk/dist/game/config/adminCommands.xml b/trunk/dist/game/config/adminCommands.xml
index 07f0ac5b39..786c2348e2 100644
--- a/trunk/dist/game/config/adminCommands.xml
+++ b/trunk/dist/game/config/adminCommands.xml
@@ -102,6 +102,7 @@
+
diff --git a/trunk/dist/game/data/scripts/handlers/admincommandhandlers/AdminDoorControl.java b/trunk/dist/game/data/scripts/handlers/admincommandhandlers/AdminDoorControl.java
index 36883b7c95..68b08779f3 100644
--- a/trunk/dist/game/data/scripts/handlers/admincommandhandlers/AdminDoorControl.java
+++ b/trunk/dist/game/data/scripts/handlers/admincommandhandlers/AdminDoorControl.java
@@ -16,13 +16,17 @@
*/
package handlers.admincommandhandlers;
+import java.awt.Color;
+
import com.l2jmobius.gameserver.data.xml.impl.DoorData;
import com.l2jmobius.gameserver.handler.IAdminCommandHandler;
import com.l2jmobius.gameserver.instancemanager.CastleManager;
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.L2PcInstance;
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
@@ -37,7 +41,8 @@ public class AdminDoorControl implements IAdminCommandHandler
"admin_open",
"admin_close",
"admin_openall",
- "admin_closeall"
+ "admin_closeall",
+ "admin_showdoors"
};
@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())
{
@@ -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())
{
@@ -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();
if (target instanceof L2DoorInstance)
@@ -121,8 +126,7 @@ public class AdminDoorControl implements IAdminCommandHandler
activeChar.sendMessage("Incorrect target.");
}
}
-
- if (command.equals("admin_close"))
+ else if (command.equals("admin_close"))
{
final L2Object target = activeChar.getTarget();
if (target instanceof L2DoorInstance)
@@ -134,6 +138,34 @@ public class AdminDoorControl implements IAdminCommandHandler
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)
{