kokkinidisjim's request, ready.
/*
* 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 2, 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, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
* 02111-1307, USA.
*
* http://www.gnu.org/copyleft/gpl.html
*/
package com.l2jfrozen.gameserver.handler.voicedcommandhandlers;
import java.util.StringTokenizer;
import javolution.text.TextBuilder;
import com.l2jfrozen.gameserver.handler.IVoicedCommandHandler;
import com.l2jfrozen.gameserver.managers.CastleManager;
import com.l2jfrozen.gameserver.model.actor.instance.L2PcInstance;
import com.l2jfrozen.gameserver.model.entity.ClanHall;
import com.l2jfrozen.gameserver.model.entity.siege.Castle;
import com.l2jfrozen.gameserver.network.serverpackets.NpcHtmlMessage;
/**
*
* @author Crystalia
*/
public class Siege implements IVoicedCommandHandler
{
private static String[] _voicedCommands =
{
"siege"
};
@SuppressWarnings("null")
@Override
public boolean useVoicedCommand(String command, L2PcInstance activeChar, String target)
{
StringTokenizer st = new StringTokenizer(command, " ");
command = st.nextToken(); // Get actual command
// Get castle
Castle castle = null;
ClanHall clanhall = null;
// Get castle
@SuppressWarnings("unused")
String val = "";
if(st.hasMoreTokens())
{
val = st.nextToken();
}
if((castle == null || castle.getCastleId() < 0) && clanhall == null)
{
// No castle specified
showCastleSelectPage(activeChar);
}
else
{
@SuppressWarnings("unused")
L2PcInstance player = null;
if(command.equalsIgnoreCase("admin_list_siege_clans"))
{
castle.getSiege().listRegisterClan(activeChar);
return true;
}
player = null;
target = null;
}
val = null;
clanhall = null;
castle = null;
st = null;
return true;
}
private void showCastleSelectPage(L2PcInstance activeChar)
{
int i = 0;
NpcHtmlMessage adminReply = new NpcHtmlMessage(5);
adminReply.setFile("data/html/admin/castles.htm");
TextBuilder cList = new TextBuilder();
for(Castle castle : CastleManager.getInstance().getCastles())
{
if(castle != null)
{
String name = castle.getName();
cList.append("<td fixwidth=90><a action=\"bypass -h admin_siege " + name + "\">" + name + "</a></td>");
i++;
name = null;
}
if(i > 2)
{
cList.append("</tr><tr>");
i = 0;
}
}
adminReply.replace("%castles%", cList.toString());
cList.clear();
i = 0;
}
@Override
public String[] getVoicedCommandList()
{
return _voicedCommands;
}
}
Δεν δουλεύει σίγουρα, αλλά δοκίμασε.