From 9f5d2d0c76ad18a95a434e55dcce73f84b2897e7 Mon Sep 17 00:00:00 2001
From: MobiusDev <8391001+MobiusDevelopment@users.noreply.github.com>
Date: Sun, 30 Jul 2017 11:58:32 +0000
Subject: [PATCH] New admin spawnat command.
---
.../dist/game/config/AdminCommands.xml | 1 +
.../admincommandhandlers/AdminSpawn.java | 66 +++++++++++++++++++
.../dist/game/config/AdminCommands.xml | 1 +
.../admincommandhandlers/AdminSpawn.java | 66 +++++++++++++++++++
.../dist/game/config/AdminCommands.xml | 1 +
.../admincommandhandlers/AdminSpawn.java | 66 +++++++++++++++++++
6 files changed, 201 insertions(+)
diff --git a/L2J_Mobius_Classic/dist/game/config/AdminCommands.xml b/L2J_Mobius_Classic/dist/game/config/AdminCommands.xml
index 5f663048fb..79e0d9499c 100644
--- a/L2J_Mobius_Classic/dist/game/config/AdminCommands.xml
+++ b/L2J_Mobius_Classic/dist/game/config/AdminCommands.xml
@@ -521,6 +521,7 @@
+
diff --git a/L2J_Mobius_Classic/dist/game/data/scripts/handlers/admincommandhandlers/AdminSpawn.java b/L2J_Mobius_Classic/dist/game/data/scripts/handlers/admincommandhandlers/AdminSpawn.java
index dc9686475c..79bdea4c23 100644
--- a/L2J_Mobius_Classic/dist/game/data/scripts/handlers/admincommandhandlers/AdminSpawn.java
+++ b/L2J_Mobius_Classic/dist/game/data/scripts/handlers/admincommandhandlers/AdminSpawn.java
@@ -53,6 +53,7 @@ public class AdminSpawn implements IAdminCommandHandler
private static final String[] ADMIN_COMMANDS =
{
"admin_show_spawns",
+ "admin_spawnat",
"admin_spawn",
"admin_spawn_monster",
"admin_spawn_index",
@@ -224,6 +225,29 @@ public class AdminSpawn implements IAdminCommandHandler
QuestManager.getInstance().reloadAllScripts();
AdminData.getInstance().broadcastMessageToGMs("NPC Respawn completed!");
}
+ else if (command.startsWith("admin_spawnat"))
+ {
+ final StringTokenizer st = new StringTokenizer(command, " ");
+ try
+ {
+ @SuppressWarnings("unused")
+ final String cmd = st.nextToken();
+ final String id = st.nextToken();
+ final String x = st.nextToken();
+ final String y = st.nextToken();
+ final String z = st.nextToken();
+ int h = activeChar.getHeading();
+ if (st.hasMoreTokens())
+ {
+ h = Integer.parseInt(st.nextToken());
+ }
+ spawnMonster(activeChar, Integer.parseInt(id), Integer.parseInt(x), Integer.parseInt(y), Integer.parseInt(z), h);
+ }
+ catch (Exception e)
+ { // Case of wrong or missing monster data
+ AdminHtml.showAdminHtml(activeChar, "spawns.htm");
+ }
+ }
else if (command.startsWith("admin_spawn_monster") || command.startsWith("admin_spawn"))
{
final StringTokenizer st = new StringTokenizer(command, " ");
@@ -406,6 +430,48 @@ public class AdminSpawn implements IAdminCommandHandler
{
spawn.stopRespawn();
}
+
+ spawn.getLastSpawn().broadcastInfo();
+ activeChar.sendMessage("Created " + template1.getName() + " on " + target.getObjectId());
+ }
+ catch (Exception e)
+ {
+ activeChar.sendPacket(SystemMessageId.YOUR_TARGET_CANNOT_BE_FOUND);
+ }
+ }
+
+ private void spawnMonster(L2PcInstance activeChar, int id, int x, int y, int z, int h)
+ {
+ L2Object target = activeChar.getTarget();
+ if (target == null)
+ {
+ target = activeChar;
+ }
+
+ final L2NpcTemplate template1 = NpcData.getInstance().getTemplate(id);
+
+ try
+ {
+ final L2Spawn spawn = new L2Spawn(template1);
+ spawn.setX(x);
+ spawn.setY(y);
+ spawn.setZ(z);
+ spawn.setAmount(1);
+ spawn.setHeading(h);
+ spawn.setRespawnDelay(60);
+ if (activeChar.isInInstance())
+ {
+ spawn.setInstanceId(activeChar.getInstanceId());
+ }
+
+ SpawnTable.getInstance().addNewSpawn(spawn, activeChar.isInInstance());
+ spawn.init();
+
+ if (activeChar.isInInstance())
+ {
+ spawn.stopRespawn();
+ }
+ spawn.getLastSpawn().broadcastInfo();
activeChar.sendMessage("Created " + template1.getName() + " on " + target.getObjectId());
}
catch (Exception e)
diff --git a/L2J_Mobius_Helios/dist/game/config/AdminCommands.xml b/L2J_Mobius_Helios/dist/game/config/AdminCommands.xml
index 5f663048fb..79e0d9499c 100644
--- a/L2J_Mobius_Helios/dist/game/config/AdminCommands.xml
+++ b/L2J_Mobius_Helios/dist/game/config/AdminCommands.xml
@@ -521,6 +521,7 @@
+
diff --git a/L2J_Mobius_Helios/dist/game/data/scripts/handlers/admincommandhandlers/AdminSpawn.java b/L2J_Mobius_Helios/dist/game/data/scripts/handlers/admincommandhandlers/AdminSpawn.java
index dc9686475c..79bdea4c23 100644
--- a/L2J_Mobius_Helios/dist/game/data/scripts/handlers/admincommandhandlers/AdminSpawn.java
+++ b/L2J_Mobius_Helios/dist/game/data/scripts/handlers/admincommandhandlers/AdminSpawn.java
@@ -53,6 +53,7 @@ public class AdminSpawn implements IAdminCommandHandler
private static final String[] ADMIN_COMMANDS =
{
"admin_show_spawns",
+ "admin_spawnat",
"admin_spawn",
"admin_spawn_monster",
"admin_spawn_index",
@@ -224,6 +225,29 @@ public class AdminSpawn implements IAdminCommandHandler
QuestManager.getInstance().reloadAllScripts();
AdminData.getInstance().broadcastMessageToGMs("NPC Respawn completed!");
}
+ else if (command.startsWith("admin_spawnat"))
+ {
+ final StringTokenizer st = new StringTokenizer(command, " ");
+ try
+ {
+ @SuppressWarnings("unused")
+ final String cmd = st.nextToken();
+ final String id = st.nextToken();
+ final String x = st.nextToken();
+ final String y = st.nextToken();
+ final String z = st.nextToken();
+ int h = activeChar.getHeading();
+ if (st.hasMoreTokens())
+ {
+ h = Integer.parseInt(st.nextToken());
+ }
+ spawnMonster(activeChar, Integer.parseInt(id), Integer.parseInt(x), Integer.parseInt(y), Integer.parseInt(z), h);
+ }
+ catch (Exception e)
+ { // Case of wrong or missing monster data
+ AdminHtml.showAdminHtml(activeChar, "spawns.htm");
+ }
+ }
else if (command.startsWith("admin_spawn_monster") || command.startsWith("admin_spawn"))
{
final StringTokenizer st = new StringTokenizer(command, " ");
@@ -406,6 +430,48 @@ public class AdminSpawn implements IAdminCommandHandler
{
spawn.stopRespawn();
}
+
+ spawn.getLastSpawn().broadcastInfo();
+ activeChar.sendMessage("Created " + template1.getName() + " on " + target.getObjectId());
+ }
+ catch (Exception e)
+ {
+ activeChar.sendPacket(SystemMessageId.YOUR_TARGET_CANNOT_BE_FOUND);
+ }
+ }
+
+ private void spawnMonster(L2PcInstance activeChar, int id, int x, int y, int z, int h)
+ {
+ L2Object target = activeChar.getTarget();
+ if (target == null)
+ {
+ target = activeChar;
+ }
+
+ final L2NpcTemplate template1 = NpcData.getInstance().getTemplate(id);
+
+ try
+ {
+ final L2Spawn spawn = new L2Spawn(template1);
+ spawn.setX(x);
+ spawn.setY(y);
+ spawn.setZ(z);
+ spawn.setAmount(1);
+ spawn.setHeading(h);
+ spawn.setRespawnDelay(60);
+ if (activeChar.isInInstance())
+ {
+ spawn.setInstanceId(activeChar.getInstanceId());
+ }
+
+ SpawnTable.getInstance().addNewSpawn(spawn, activeChar.isInInstance());
+ spawn.init();
+
+ if (activeChar.isInInstance())
+ {
+ spawn.stopRespawn();
+ }
+ spawn.getLastSpawn().broadcastInfo();
activeChar.sendMessage("Created " + template1.getName() + " on " + target.getObjectId());
}
catch (Exception e)
diff --git a/L2J_Mobius_Underground/dist/game/config/AdminCommands.xml b/L2J_Mobius_Underground/dist/game/config/AdminCommands.xml
index 5f663048fb..79e0d9499c 100644
--- a/L2J_Mobius_Underground/dist/game/config/AdminCommands.xml
+++ b/L2J_Mobius_Underground/dist/game/config/AdminCommands.xml
@@ -521,6 +521,7 @@
+
diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/handlers/admincommandhandlers/AdminSpawn.java b/L2J_Mobius_Underground/dist/game/data/scripts/handlers/admincommandhandlers/AdminSpawn.java
index dc9686475c..79bdea4c23 100644
--- a/L2J_Mobius_Underground/dist/game/data/scripts/handlers/admincommandhandlers/AdminSpawn.java
+++ b/L2J_Mobius_Underground/dist/game/data/scripts/handlers/admincommandhandlers/AdminSpawn.java
@@ -53,6 +53,7 @@ public class AdminSpawn implements IAdminCommandHandler
private static final String[] ADMIN_COMMANDS =
{
"admin_show_spawns",
+ "admin_spawnat",
"admin_spawn",
"admin_spawn_monster",
"admin_spawn_index",
@@ -224,6 +225,29 @@ public class AdminSpawn implements IAdminCommandHandler
QuestManager.getInstance().reloadAllScripts();
AdminData.getInstance().broadcastMessageToGMs("NPC Respawn completed!");
}
+ else if (command.startsWith("admin_spawnat"))
+ {
+ final StringTokenizer st = new StringTokenizer(command, " ");
+ try
+ {
+ @SuppressWarnings("unused")
+ final String cmd = st.nextToken();
+ final String id = st.nextToken();
+ final String x = st.nextToken();
+ final String y = st.nextToken();
+ final String z = st.nextToken();
+ int h = activeChar.getHeading();
+ if (st.hasMoreTokens())
+ {
+ h = Integer.parseInt(st.nextToken());
+ }
+ spawnMonster(activeChar, Integer.parseInt(id), Integer.parseInt(x), Integer.parseInt(y), Integer.parseInt(z), h);
+ }
+ catch (Exception e)
+ { // Case of wrong or missing monster data
+ AdminHtml.showAdminHtml(activeChar, "spawns.htm");
+ }
+ }
else if (command.startsWith("admin_spawn_monster") || command.startsWith("admin_spawn"))
{
final StringTokenizer st = new StringTokenizer(command, " ");
@@ -406,6 +430,48 @@ public class AdminSpawn implements IAdminCommandHandler
{
spawn.stopRespawn();
}
+
+ spawn.getLastSpawn().broadcastInfo();
+ activeChar.sendMessage("Created " + template1.getName() + " on " + target.getObjectId());
+ }
+ catch (Exception e)
+ {
+ activeChar.sendPacket(SystemMessageId.YOUR_TARGET_CANNOT_BE_FOUND);
+ }
+ }
+
+ private void spawnMonster(L2PcInstance activeChar, int id, int x, int y, int z, int h)
+ {
+ L2Object target = activeChar.getTarget();
+ if (target == null)
+ {
+ target = activeChar;
+ }
+
+ final L2NpcTemplate template1 = NpcData.getInstance().getTemplate(id);
+
+ try
+ {
+ final L2Spawn spawn = new L2Spawn(template1);
+ spawn.setX(x);
+ spawn.setY(y);
+ spawn.setZ(z);
+ spawn.setAmount(1);
+ spawn.setHeading(h);
+ spawn.setRespawnDelay(60);
+ if (activeChar.isInInstance())
+ {
+ spawn.setInstanceId(activeChar.getInstanceId());
+ }
+
+ SpawnTable.getInstance().addNewSpawn(spawn, activeChar.isInInstance());
+ spawn.init();
+
+ if (activeChar.isInInstance())
+ {
+ spawn.stopRespawn();
+ }
+ spawn.getLastSpawn().broadcastInfo();
activeChar.sendMessage("Created " + template1.getName() + " on " + target.getObjectId());
}
catch (Exception e)