From 4d1cbe3b05483d6342a22572cca4d1bc8c41d73b Mon Sep 17 00:00:00 2001 From: MobiusDev <8391001+MobiusDevelopment@users.noreply.github.com> Date: Tue, 31 Oct 2017 14:14:34 +0000 Subject: [PATCH] Addition of telnet SendMail handler. --- .../data/scripts/handlers/MasterHandler.java | 2 + .../telnethandlers/player/SendMail.java | 87 +++++++++++++++++++ .../data/scripts/handlers/MasterHandler.java | 2 + .../telnethandlers/player/SendMail.java | 87 +++++++++++++++++++ .../data/scripts/handlers/MasterHandler.java | 2 + .../telnethandlers/player/SendMail.java | 87 +++++++++++++++++++ .../data/scripts/handlers/MasterHandler.java | 2 + .../telnethandlers/player/SendMail.java | 87 +++++++++++++++++++ 8 files changed, 356 insertions(+) create mode 100644 L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/handlers/telnethandlers/player/SendMail.java create mode 100644 L2J_Mobius_2.5_Underground/dist/game/data/scripts/handlers/telnethandlers/player/SendMail.java create mode 100644 L2J_Mobius_3.0_Helios/dist/game/data/scripts/handlers/telnethandlers/player/SendMail.java create mode 100644 L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/handlers/telnethandlers/player/SendMail.java diff --git a/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/handlers/MasterHandler.java b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/handlers/MasterHandler.java index 7734a190bf..666585bcab 100644 --- a/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/handlers/MasterHandler.java +++ b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/handlers/MasterHandler.java @@ -296,6 +296,7 @@ import handlers.telnethandlers.player.GMList; import handlers.telnethandlers.player.Give; import handlers.telnethandlers.player.Jail; import handlers.telnethandlers.player.Kick; +import handlers.telnethandlers.player.SendMail; import handlers.telnethandlers.player.Unban; import handlers.telnethandlers.player.UnbanChat; import handlers.telnethandlers.player.Unjail; @@ -744,6 +745,7 @@ public class MasterHandler TelnetServer.getInstance().addHandler(new Performance()); TelnetServer.getInstance().addHandler(new Purge()); TelnetServer.getInstance().addHandler(new Reload()); + TelnetServer.getInstance().addHandler(new SendMail()); TelnetServer.getInstance().addHandler(new ServerAbort()); TelnetServer.getInstance().addHandler(new ServerRestart()); TelnetServer.getInstance().addHandler(new ServerShutdown()); diff --git a/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/handlers/telnethandlers/player/SendMail.java b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/handlers/telnethandlers/player/SendMail.java new file mode 100644 index 0000000000..3b9fa77dec --- /dev/null +++ b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/handlers/telnethandlers/player/SendMail.java @@ -0,0 +1,87 @@ +/* + * This file is part of the L2J Mobius project. + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +package handlers.telnethandlers.player; + +import java.util.ArrayList; +import java.util.List; + +import com.l2jmobius.gameserver.data.sql.impl.CharNameTable; +import com.l2jmobius.gameserver.enums.MailType; +import com.l2jmobius.gameserver.instancemanager.MailManager; +import com.l2jmobius.gameserver.model.entity.Message; +import com.l2jmobius.gameserver.model.itemcontainer.Mail; +import com.l2jmobius.gameserver.network.telnet.ITelnetCommand; +import com.l2jmobius.gameserver.util.Util; + +import io.netty.channel.ChannelHandlerContext; + +/** + * @author Mobius + */ +public class SendMail implements ITelnetCommand +{ + @Override + public String getCommand() + { + return "sendmail"; + } + + @Override + public String getUsage() + { + return "sendmail "; + } + + @Override + public String handle(ChannelHandlerContext ctx, String[] args) + { + if ((args.length < 3) || args[0].isEmpty()) + { + return null; + } + final int objectId = CharNameTable.getInstance().getIdByName(args[0]); + if (objectId > 0) + { + final Message msg = new Message(objectId, args[1].replace("_", " "), args[2].replace("_", " "), args.length > 3 ? MailType.PRIME_SHOP_GIFT : MailType.REGULAR); + final List itemIds = new ArrayList<>(); + int counter = -1; + for (String str : args) + { + counter++; + if (counter < 3) + { + continue; + } + if (Util.isDigit(str)) + { + itemIds.add(Integer.valueOf(str)); + } + } + if (!itemIds.isEmpty()) + { + final Mail attachments = msg.createAttachments(); + for (int itemId : itemIds) + { + attachments.addItem("Telnet", itemId, 1, null, null); + } + } + MailManager.getInstance().sendMessage(msg); + return "An ingame mail has been sent to " + args[0] + "."; + } + return "Couldn't find player with such name."; + } +} diff --git a/L2J_Mobius_2.5_Underground/dist/game/data/scripts/handlers/MasterHandler.java b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/handlers/MasterHandler.java index fb88adefe6..01015c4d55 100644 --- a/L2J_Mobius_2.5_Underground/dist/game/data/scripts/handlers/MasterHandler.java +++ b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/handlers/MasterHandler.java @@ -297,6 +297,7 @@ import handlers.telnethandlers.player.GMList; import handlers.telnethandlers.player.Give; import handlers.telnethandlers.player.Jail; import handlers.telnethandlers.player.Kick; +import handlers.telnethandlers.player.SendMail; import handlers.telnethandlers.player.Unban; import handlers.telnethandlers.player.UnbanChat; import handlers.telnethandlers.player.Unjail; @@ -746,6 +747,7 @@ public class MasterHandler TelnetServer.getInstance().addHandler(new Performance()); TelnetServer.getInstance().addHandler(new Purge()); TelnetServer.getInstance().addHandler(new Reload()); + TelnetServer.getInstance().addHandler(new SendMail()); TelnetServer.getInstance().addHandler(new ServerAbort()); TelnetServer.getInstance().addHandler(new ServerRestart()); TelnetServer.getInstance().addHandler(new ServerShutdown()); diff --git a/L2J_Mobius_2.5_Underground/dist/game/data/scripts/handlers/telnethandlers/player/SendMail.java b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/handlers/telnethandlers/player/SendMail.java new file mode 100644 index 0000000000..3b9fa77dec --- /dev/null +++ b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/handlers/telnethandlers/player/SendMail.java @@ -0,0 +1,87 @@ +/* + * This file is part of the L2J Mobius project. + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +package handlers.telnethandlers.player; + +import java.util.ArrayList; +import java.util.List; + +import com.l2jmobius.gameserver.data.sql.impl.CharNameTable; +import com.l2jmobius.gameserver.enums.MailType; +import com.l2jmobius.gameserver.instancemanager.MailManager; +import com.l2jmobius.gameserver.model.entity.Message; +import com.l2jmobius.gameserver.model.itemcontainer.Mail; +import com.l2jmobius.gameserver.network.telnet.ITelnetCommand; +import com.l2jmobius.gameserver.util.Util; + +import io.netty.channel.ChannelHandlerContext; + +/** + * @author Mobius + */ +public class SendMail implements ITelnetCommand +{ + @Override + public String getCommand() + { + return "sendmail"; + } + + @Override + public String getUsage() + { + return "sendmail "; + } + + @Override + public String handle(ChannelHandlerContext ctx, String[] args) + { + if ((args.length < 3) || args[0].isEmpty()) + { + return null; + } + final int objectId = CharNameTable.getInstance().getIdByName(args[0]); + if (objectId > 0) + { + final Message msg = new Message(objectId, args[1].replace("_", " "), args[2].replace("_", " "), args.length > 3 ? MailType.PRIME_SHOP_GIFT : MailType.REGULAR); + final List itemIds = new ArrayList<>(); + int counter = -1; + for (String str : args) + { + counter++; + if (counter < 3) + { + continue; + } + if (Util.isDigit(str)) + { + itemIds.add(Integer.valueOf(str)); + } + } + if (!itemIds.isEmpty()) + { + final Mail attachments = msg.createAttachments(); + for (int itemId : itemIds) + { + attachments.addItem("Telnet", itemId, 1, null, null); + } + } + MailManager.getInstance().sendMessage(msg); + return "An ingame mail has been sent to " + args[0] + "."; + } + return "Couldn't find player with such name."; + } +} diff --git a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/handlers/MasterHandler.java b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/handlers/MasterHandler.java index edb2d9847f..3c72228c33 100644 --- a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/handlers/MasterHandler.java +++ b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/handlers/MasterHandler.java @@ -298,6 +298,7 @@ import handlers.telnethandlers.player.GMList; import handlers.telnethandlers.player.Give; import handlers.telnethandlers.player.Jail; import handlers.telnethandlers.player.Kick; +import handlers.telnethandlers.player.SendMail; import handlers.telnethandlers.player.Unban; import handlers.telnethandlers.player.UnbanChat; import handlers.telnethandlers.player.Unjail; @@ -748,6 +749,7 @@ public class MasterHandler TelnetServer.getInstance().addHandler(new Performance()); TelnetServer.getInstance().addHandler(new Purge()); TelnetServer.getInstance().addHandler(new Reload()); + TelnetServer.getInstance().addHandler(new SendMail()); TelnetServer.getInstance().addHandler(new ServerAbort()); TelnetServer.getInstance().addHandler(new ServerRestart()); TelnetServer.getInstance().addHandler(new ServerShutdown()); diff --git a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/handlers/telnethandlers/player/SendMail.java b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/handlers/telnethandlers/player/SendMail.java new file mode 100644 index 0000000000..3b9fa77dec --- /dev/null +++ b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/handlers/telnethandlers/player/SendMail.java @@ -0,0 +1,87 @@ +/* + * This file is part of the L2J Mobius project. + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +package handlers.telnethandlers.player; + +import java.util.ArrayList; +import java.util.List; + +import com.l2jmobius.gameserver.data.sql.impl.CharNameTable; +import com.l2jmobius.gameserver.enums.MailType; +import com.l2jmobius.gameserver.instancemanager.MailManager; +import com.l2jmobius.gameserver.model.entity.Message; +import com.l2jmobius.gameserver.model.itemcontainer.Mail; +import com.l2jmobius.gameserver.network.telnet.ITelnetCommand; +import com.l2jmobius.gameserver.util.Util; + +import io.netty.channel.ChannelHandlerContext; + +/** + * @author Mobius + */ +public class SendMail implements ITelnetCommand +{ + @Override + public String getCommand() + { + return "sendmail"; + } + + @Override + public String getUsage() + { + return "sendmail "; + } + + @Override + public String handle(ChannelHandlerContext ctx, String[] args) + { + if ((args.length < 3) || args[0].isEmpty()) + { + return null; + } + final int objectId = CharNameTable.getInstance().getIdByName(args[0]); + if (objectId > 0) + { + final Message msg = new Message(objectId, args[1].replace("_", " "), args[2].replace("_", " "), args.length > 3 ? MailType.PRIME_SHOP_GIFT : MailType.REGULAR); + final List itemIds = new ArrayList<>(); + int counter = -1; + for (String str : args) + { + counter++; + if (counter < 3) + { + continue; + } + if (Util.isDigit(str)) + { + itemIds.add(Integer.valueOf(str)); + } + } + if (!itemIds.isEmpty()) + { + final Mail attachments = msg.createAttachments(); + for (int itemId : itemIds) + { + attachments.addItem("Telnet", itemId, 1, null, null); + } + } + MailManager.getInstance().sendMessage(msg); + return "An ingame mail has been sent to " + args[0] + "."; + } + return "Couldn't find player with such name."; + } +} diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/handlers/MasterHandler.java b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/handlers/MasterHandler.java index 3b96578693..67e0f164e4 100644 --- a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/handlers/MasterHandler.java +++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/handlers/MasterHandler.java @@ -298,6 +298,7 @@ import handlers.telnethandlers.player.GMList; import handlers.telnethandlers.player.Give; import handlers.telnethandlers.player.Jail; import handlers.telnethandlers.player.Kick; +import handlers.telnethandlers.player.SendMail; import handlers.telnethandlers.player.Unban; import handlers.telnethandlers.player.UnbanChat; import handlers.telnethandlers.player.Unjail; @@ -748,6 +749,7 @@ public class MasterHandler TelnetServer.getInstance().addHandler(new Performance()); TelnetServer.getInstance().addHandler(new Purge()); TelnetServer.getInstance().addHandler(new Reload()); + TelnetServer.getInstance().addHandler(new SendMail()); TelnetServer.getInstance().addHandler(new ServerAbort()); TelnetServer.getInstance().addHandler(new ServerRestart()); TelnetServer.getInstance().addHandler(new ServerShutdown()); diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/handlers/telnethandlers/player/SendMail.java b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/handlers/telnethandlers/player/SendMail.java new file mode 100644 index 0000000000..3b9fa77dec --- /dev/null +++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/handlers/telnethandlers/player/SendMail.java @@ -0,0 +1,87 @@ +/* + * This file is part of the L2J Mobius project. + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +package handlers.telnethandlers.player; + +import java.util.ArrayList; +import java.util.List; + +import com.l2jmobius.gameserver.data.sql.impl.CharNameTable; +import com.l2jmobius.gameserver.enums.MailType; +import com.l2jmobius.gameserver.instancemanager.MailManager; +import com.l2jmobius.gameserver.model.entity.Message; +import com.l2jmobius.gameserver.model.itemcontainer.Mail; +import com.l2jmobius.gameserver.network.telnet.ITelnetCommand; +import com.l2jmobius.gameserver.util.Util; + +import io.netty.channel.ChannelHandlerContext; + +/** + * @author Mobius + */ +public class SendMail implements ITelnetCommand +{ + @Override + public String getCommand() + { + return "sendmail"; + } + + @Override + public String getUsage() + { + return "sendmail "; + } + + @Override + public String handle(ChannelHandlerContext ctx, String[] args) + { + if ((args.length < 3) || args[0].isEmpty()) + { + return null; + } + final int objectId = CharNameTable.getInstance().getIdByName(args[0]); + if (objectId > 0) + { + final Message msg = new Message(objectId, args[1].replace("_", " "), args[2].replace("_", " "), args.length > 3 ? MailType.PRIME_SHOP_GIFT : MailType.REGULAR); + final List itemIds = new ArrayList<>(); + int counter = -1; + for (String str : args) + { + counter++; + if (counter < 3) + { + continue; + } + if (Util.isDigit(str)) + { + itemIds.add(Integer.valueOf(str)); + } + } + if (!itemIds.isEmpty()) + { + final Mail attachments = msg.createAttachments(); + for (int itemId : itemIds) + { + attachments.addItem("Telnet", itemId, 1, null, null); + } + } + MailManager.getInstance().sendMessage(msg); + return "An ingame mail has been sent to " + args[0] + "."; + } + return "Couldn't find player with such name."; + } +}