Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- MasterHandler.java
- AdminCommandHandler.getInstance().registerAdminCommandHandler(new AdminZone());
- AdminCommandHandler.getInstance().registerAdminCommandHandler(new AdminTownWar());
- + AdminCommandHandler.getInstance().registerAdminCommandHandler(new AdminNpcChat());
- _log.config("Loaded " + AdminCommandHandler.getInstance().size() + " AdminCommandHandlers");
- }
- admin_command_access_rights.sql
- ('admin_townwar_end','1'),
- +
- +-- Npchat
- +('admin_npchat_menu','1'),
- +('admin_npchat','1');
- AdminNpcChat.java
- /*
- * 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 <http://www.gnu.org/licenses/>.
- *
- * @author Flash
- */
- package handlers.admincommandhandlers;
- import com.l2jserver.gameserver.handler.IAdminCommandHandler;
- import com.l2jserver.gameserver.model.L2Object;
- import com.l2jserver.gameserver.model.actor.instance.L2PcInstance;
- import com.l2jserver.gameserver.network.SystemMessageId;
- import com.l2jserver.gameserver.network.serverpackets.SystemMessage;
- import com.l2jserver.gameserver.model.actor.L2Npc;
- import com.l2jserver.gameserver.network.serverpackets.NpcSay;
- public class AdminNpcChat implements IAdminCommandHandler
- {
- private static final String[] ADMIN_COMMANDS =
- {
- "admin_npchat",
- "admin_npchat_menu"
- };
- public boolean useAdminCommand(String command, L2PcInstance activeChar)
- {
- if (command.startsWith("admin_npchat"))
- handleNPChat(command, activeChar);
- if (command.startsWith("admin_npchat_menu"))
- AdminHelpPage.showHelpPage(activeChar, "Npchat_menu.htm");
- return true;
- }
- public String[] getAdminCommandList()
- {
- return ADMIN_COMMANDS;
- }
- /**
- * @param command
- * @param activeChar
- */
- private void handleNPChat(String command, L2PcInstance activeChar)
- {
- try
- {
- L2Object target = activeChar.getTarget();
- L2Npc npc = null;
- if (target instanceof L2Npc)
- {
- int offset = 0;
- npc = (L2Npc) target;
- int npcId = npc.getNpcId();
- int npcObjId = npc.getObjectId();
- String text;
- if (command.startsWith("admin_npchat_menu"))
- offset = 18;
- else
- offset = 13;
- text = command.substring(offset);
- npc.broadcastPacket(new NpcSay(npcObjId, 0, npcId, text));
- }
- else
- {
- activeChar.sendPacket(new SystemMessage(SystemMessageId.INCORRECT_TARGET));
- return;
- }
- }
- catch (StringIndexOutOfBoundsException e)
- {
- // empty message.. ignore
- }
- }
- }
- Npchat_menu.htm
- <html>
- <title>NPC Says</title><body>
- Instructions:<br>
- Target the NPC and write whatever you want to make the NPC say.
- <br>
- <center>Text:<multiedit var="texto" width=250 height=50></center>
- <table width="160">
- <tr>
- <td><center><button value="Say" action="bypass -h admin_npchat_menu $texto" width=80 height=21 back="L2UI_ct1.button_df" fore="L2UI_ct1.button_df"></center></td>
- </tr></table><br><br><br>
- </body>
- </html>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement