From af17d00ad765f89f1d020756f0388a97a2a67d07 Mon Sep 17 00:00:00 2001
From: GodKratos <GodKratos@5288da4f-0efc-0310-bd40-8d490a2659fa>
Date: Sat, 18 Feb 2012 11:47:57 +0000
Subject: [PATCH] Add telnet command to send packet data to players (equivalent
 to using packet forge from telnet)

---
 .../handlers/telnethandlers/DebugHandler.java | 28 +++++++++++++++++++
 1 file changed, 28 insertions(+)

diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/telnethandlers/DebugHandler.java b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/telnethandlers/DebugHandler.java
index 729c81e296..76fbba865a 100644
--- a/L2J_DataPack_BETA/dist/game/data/scripts/handlers/telnethandlers/DebugHandler.java
+++ b/L2J_DataPack_BETA/dist/game/data/scripts/handlers/telnethandlers/DebugHandler.java
@@ -46,6 +46,7 @@ import com.l2jserver.gameserver.model.actor.instance.L2DoorInstance;
 import com.l2jserver.gameserver.model.actor.instance.L2MonsterInstance;
 import com.l2jserver.gameserver.model.actor.instance.L2PcInstance;
 import com.l2jserver.gameserver.model.items.instance.L2ItemInstance;
+import com.l2jserver.gameserver.network.serverpackets.AdminForgePacket;
 import com.l2jserver.gameserver.taskmanager.DecayTaskManager;
 
 /**
@@ -76,6 +77,33 @@ public class DebugHandler implements ITelnetHandler
 				{
 					_print.print(DecayTaskManager.getInstance().toString());
 				}
+				else if (dbg.equals("packetsend"))
+				{
+					if (st.countTokens() < 2)
+					{
+						_print.println("Usage: debug packetsend <charName> <packetData>");
+						return false;
+					}
+					String charName = st.nextToken();
+					L2PcInstance targetPlayer = L2World.getInstance().getPlayer(charName);
+					
+					if (targetPlayer == null)
+					{
+						_print.println("Player " + charName + " cannot be found online");
+						return false;
+					}
+					
+					AdminForgePacket sp = new AdminForgePacket();
+					while (st.hasMoreTokens())
+					{
+						String b = st.nextToken();
+						if (!b.isEmpty())
+							sp.addPart("C".getBytes()[0], "0x" + b);
+					}
+					
+					targetPlayer.sendPacket(sp);
+					_print.println("Packet sent to player " + charName);
+				}
 				else if (dbg.equals("PacketTP"))
 				{
 					String str = ThreadPoolManager.getInstance().getPacketStats();
-- 
GitLab